Is it ok to use warez software at a startup? - <AUTHOR> http://blog.fairsoftware.net/2010/12/08/is-it-ok-for-a-startup-to-use-warez-software-ethics-vs-reality/

<comment><USER2> It is not OK. You are not entitled to anything because you can't pay for it. If you can't afford it, you do what you can to afford it or look for alternatives that are more affordable. Don't steal - especially don't steal the tools of your trade.

<comment><USER3> I agree with you, but don't use the word "steal" here. It means something completely different and is incorrect in this usage. The proper term here is more "intellectual property rights infringement" or something like that. Since pirating Photoshop does not _remove the original copy_ , it is not theft or "stealing".

The crime may be just as bad, or worse perhaps, but it's not "stealing".

<comment><USER4> <http://lesswrong.com/lw/np/disputing_definitions>

<comment><USER5> While I agree 100% with the premise (arguing over definitions is dumb), that article gave me a headache. Get to the damn point already.

</comment></comment></comment></comment><comment><USER4> I think of it as more of a predictor of future behavior.

Pirating software doesn't necessarily mean you'll lie to your customers (or to me) but from my standpoint - If I see you being dishonest in one fashion, it makes it more likely you'll be dishonest in another.

The more ways I see you being dishonest, the less I will assume you are being honest (about anything).

If you're pirating software, you're sowing seeds of distrust at your company with those that don't approve.

One of the last things you want are your employees or co-founders not trusting you.

</comment><comment><USER6> What particular piece of software would you want or need but can't afford? Nowadays there are complete F/OSS development stacks and tools available.

<comment><AUTHOR> The original HN thread was referring to how expensive Photoshop is.

But surely you can buy one license for $1,000. Setup one workspace that is for Photoshop only.

If your business relies on continuous access to Photoshop by all your employees, then you must plan for it.

<comment><USER7> If you can afford an employee, I have a hard time picturing how you couldn't afford, say, 10 grand for proper and properly-licensed tools.

<comment><USER8> You're right, of course, but I suspect a lot of us here have had to plead (sometimes unsuccessfully) with "management" to buy a license for software a _lot_ cheaper than Photoshop.

<comment><USER7> And while that's an unfortunate waste of most people's time, and self- defeating attempt at 'optimization', "justify it" is a very different policy than "pirate it".

</comment></comment></comment></comment></comment><comment><USER9> I don't really buy the slippery slope argument. People have to draw an ethical line somewhere, and I'd say there's a _huge_ gap between using a pirated copy of Photoshop when you have no revenue and lying to customers and investors about product capabilities and financials. It sounds like the OA had an experience with a crooked founder, and now feels like pirating software is an early sign of serious ethical flaws. Well, it's a firm moral stance and I respect him for it, but the fact that most junkies have smoked weed before doesn't mean that anyone who smokes a joint is destined to become a junky.

<comment><USER10> There's a quote that I can't source at the moment to the effect that "In any reasonable sized group of people there are 10% that are incorruptibly good and 10% that are irredeemably bad and the other 80% will do what the leaders do." If you've got an organization where the leaders think it's okay to pirate software then you've also got an organization where it's okay to not pay suppliers on time or be honest about how much runway is left or any number of other things. It means you can't _trust_ those people. Now there are plenty of monetarily successful organization that run on fear and paranoia and some people can excel in that world. But if you're expecting a bonus or a promotion because someone looked you in the eye and promised it, well, get used to disappointment. The article isn't making a slippery slope argument, it's saying that you're already there, you just might not know it yet.

<comment><USER9> _The article isn't making a slippery slope argument, it's saying that you're already there, you just might not know it yet._

I'm sorry but you think that anyone who pirates software regardless of the circumstances is also a person who routinely looks people in the eye and makes false promises? This is a ridiculous premise that should require no refutation.

</comment></comment></comment><comment><USER11> You'll be giving out paid versions of your startup's product to those who can't/won't be paying for it, right?

<comment><USER12> I actually would not be totally against this (although of course having a paid user would be better). Would you rather have someone use/pirate your product and later possibly buy it (when they can't live without it/have more money/etc), or use a competitors product (or an open source product) and never look back?

</comment></comment><comment><USER13> It doesn't solve the photoshop problem, but microsoft has a program that more or less is to assuage small company guilt about needing to pirate their tools.

[http://technet.microsoft.com/en- us/subscriptions/default.asp...](http://technet.microsoft.com/en- us/subscriptions/default.aspx)

As low as $200-$300 a year buys you 10 "evaluation only" licenses of most microsoft desktop and server software including office, windows, server, visual studio, exchange etc. The air quotes are more or less microsoft's there - they would rather have your company use cheap microsoft tools than go to open source equivalents. I've heard microsoft sales reps recommend technet plus subscriptions to startups for just that very purpose several times.

</comment><comment><USER14> What about startups that lean strongly on open-source software, but don't acknowledge it or contribute back to the community in any meaningful way?

Then, it's not even a legal issue, but more a social contract. (implied or explicit, depending somewhat on the licenses involved)

<comment><USER15> If the goal of creating open-source software is for people to use it, it seems pretty righteous to then get upset when they do use it - regardless of what its used for.

If you require that someone contributes back to the community in a "meaningful" way, then you should expressly define it in the license agreement.

(Edit: You changed your post after I posted my response.)

</comment></comment><comment><USER12> I'm going to go against the grain here because I'd like a discussion, although I'll fully admit I'm not nearly as experienced in start-ups as many of you are. I also know this post and the HN post refers to a fairly large startup doing this, but from the comments here it seems like many of you believe it is /never/ justifiable to use warez software in a startup.

Lets say you are an early start-up,less than 5 people, that has no revenue and is still building a product, with money being little or non-existent. Couldn't it be partially justifiable to use warez software to give you the best advantage to achieve success?

For example, lets say you only bought Office for your PC (since you did most of the marketing, but not all) and installed Open Office on the other computers. Then after one of your co-founders sends you a document he created in OO(a sales document, I don't know), you find out that it doesn't render at ALL in Office as it did in OO. Now you have to spend time redesigning the document (for however long it takes), and you end up wasting time that you didn't have (and you certainly don't have the money). This is not to mean that this exact problem cannot be solved [Bizspark/MSDN, etc], only that this is one hypothetical out of many that could cause problems. When these start adding up, however, suddenly you are running behind the competition because you wanted to do the ethical thing.

I'm not saying you should continue this behavior once you get off the ground and running (and ESPECIALLY after you have broken even/generated profit), nor am I trying to imply that anything is justifiable if you need to catch up to the competition, but I feel like most people here are saying it should never be ok to use warez software in a startup, while I can see scenarios that would make sense to me (That are a lot less morally black than, say, lying to your customers or investors).

<comment><USER16> If I don't pay my employees the bonuses I promise, don't pay suppliers and lie to customers, it gives me the "Best advantage" to achieve success (for a certain narrow scope). Is that OK?

If I don't follow compliance rules because there's little chance of being found out, is that OK? After all, it helps me achieve success!

<comment><USER12> Like I said in my last sentence, there is a difference between not paying suppliers and lying to customers, and using warez in a start-up. It's like saying that since I think downloading music is ok (I don't), I must also think killing people is ok (I also don't), because both of them are bad, and I justified doing one bad thing.

There are probably a whole bunch of morally ambiguous situations that aren't patently illegal to the extent your talking about. Would using warez software be illegal? Yes. But would it do any tangible harm to anyone else, as, for example, not paying suppliers for their services and products after you signed the sales contract, or not following compliance rules [which could cause a host of issues]? You might argue for the software companies that distribute the product and their lost profits, but if the choice is either 1)Pirate their software and use it or 2)use an alternative, there is not a hidden option that appears that says "3) Find money that doesn't exist and pay for the software right now!", so the loss of the sale of the products is, in a sense, never materialized to begin with.

Again, I am not advocating that "anything is justifiable if you need to catch up to the competition" (as I also said in my last lines of my last post), nor that using warez software is at all 100% permissible, especially in a start-up past the initial stages. I am saying, however, that I see scenarios where the situation could be at least partially justified, and I don't think every start-up that did it should be vilified as it seems like the comments in this whole thread implied. Perhaps not entirely condoned, but not vilified.

</comment></comment></comment><comment><USER17> If anyone isn't aware of Microsoft's BizSpark program, you should definitely check it out. Basically all of MS's software free for 2 years for startups. This has helped my start up a lot, and makes good sense for them, I think.

<comment><USER18> Here is the link for BizSpark: <http://www.microsoft.com/bizspark/>

From the FAQ: Who is eligible for BizSpark? Eligibile Startups must be: Actively engaged in development of a software-based product or service that will form a core piece of its current or intended business. Startups cannot be in the business of providing services to others such as hosting, Website development, system integration, IT support services or outsourced development. For a full description of the terms of the BizSpark Program click here to view the program guide. Privately held In business for fewer than 3 years. Startups that are actively engaged in software development but have not yet completed the formalities of establishing a business are also eligible for entry into BizSpark. Bringing in less than US $1 million in annual revenue. This requirement has been adjusted to add local variances calibrated to local economic conditions in the Startup's place of business. If a Startup's place of business is not listed below, then the revenue limit is US$1 million.

</comment></comment><comment><USER19> If a company is willing to do something unethical in the beginning, why would they stop later when much more money is involved?

I'm going with no, it's never ok.

</comment><comment><USER20> Does your startup rely on creating copyrighted works as part of its business model? Congratulations, using pirated software makes you hypocrites.

(If it doesn't, you've still got the ethical and legal issues discussed here to deal with.)

</comment><comment><USER21> This article in response to <http://news.ycombinator.com/item?id=1981789>

</comment><comment><USER22> You can do quite a bit of photoshop in 1 month (aka the trial period). Bunch all that up and you should be able to afford it.

All that said, it feels like i'm at a competitive disadvantage cause EVERYONE else I seem to ask pirates this very expensive suite.

</comment><comment><USER23> I read the original post and the discussion with interest. The conclusion seems to be that there are lots of alternatives to pirating, and most, if not all, of the posters agree that it is at least unethical to use pirated software.

However, there is an idea that still makes me feel uncomfortable. Competitive advantage was mentioned as a factor in the choice, but do you really think that the rest of the world shares your mindset with you?

As an example, take the eLance, vWorker, etc coders for hire . Giving the amount of labor that is being sourced there. Piracy is rampant on developing countries, and you're really competing not only in quality or hourly rates, but also on the amount of investment required to have the necessary tools.

Ironically, all this work is outsourced from companies that likely respect licensing conditions religiously.

The problem has no easy solution. Either pirate in the same level as them or make them pay as you do. The second solution seems to me unrealistic in a short to medium time frame.

This is not an argument in favour of piracy, just an observation on how piracy unbalances the competition.

Personally, I always use free tools. If there is no free tool available for the job, either I pay for it or don't accept the work.

In the past, I accepted a junior student installing an unlicensed copy at home just to learn as something that was not hurting anyone, and even likely to benefit MS/Adobe/Autodesk in the long term. Nowadays, there are "Express" or "Lite" versions of almost everything, including SQL Server and Oracle, and there is little room for such arguments.

Hey, and if you're not sure if your MS Office using customer is going to be able to open your LibreOffice sales proposal, just save it as a PDF.

</comment><comment><USER24> In most cases, I think one will find "unaffordable" to mean a lack of will. Except in unusual cases, shouldn't an essential piece of software effectively be affordable at any cost for a viable business? It might require a deeper initial investment, but one must spend money to make money, right? I'm inclined to view a company's promise to pay upon success as an indication of lack of confidence. If one feels strongly about the model, make the debt visible. Furthermore, if the software really is too expensive, doesn't that seem like a business opportunity in itself?

</comment><comment><USER25> I find it ironic (somewhat in the vein of Alanis) that a company built to derive their income from the sales of software actively combats the idea that other companies deserve to do exactly that.

<comment><USER16> This. This This This This This This This.

This just lost all semantic meaning for me, but it's worth it.

YOU'RE SELLING SOFTWARE! How is it hard to understand that you need to honor your own business model in order to be ethical? If you expect people to pay for your software, why not do others the same favour?

To be totally honest, if you think it's OK for you to pirate software because you "deserve" or "need" it, why won't you think it's OK to pay your staff less then they might deserve? What about your customers who "need" your software but can't pay for it?

Don't shit on your own business model and expect to come off clean.

</comment></comment><comment><USER26> I'm going to say.. absolutely not. Success takes sacrifice. If that means things are lean for a bit while you save for Creative Suite/Visual Studio/other expensive software, then so be it. Make your software and/or service pay for that software tenfold.

And of course there is the whole point-the-gun-in-your-own-direction argument. But others in this thread have already covered that sufficiently.

</comment><comment><USER27> Some definitions of "steal":

From <http://www.lectlaw.com/def2/s074.htm>: "the wrongful or willful taking of money or property belonging to someone else with intent to deprive the owner of its use or benefit either temporarily or permanently. No particular type of movement or carrying away is required."

From Merriam-Webster: intransitive verb: "to take the property of another wrongfully and especially as a habitual or regular practice"

transitive verb: "to take or appropriate without right or leave and with intent to keep or make use of wrongfully <stole a car>"

</comment><comment><USER28> Why would I lie to my customers? <http://en.wikipedia.org/wiki/Slippery_slope>

(I understand it was his personal experience, but one swallow doesn't make a summer.)

</comment><comment><USER29> I can't believe this is even a question.

Is it legal? No? Then NO it's not okay.

This doesn't even enter the realm of 'Is it ethical?' since there are LAWS against it.

</comment><comment><USER30> Of course not! You're trying to sell software right?

If you had some customers at your startup coming to you and saying "Well, we want to use your software, but we don't like your pricing, so we're just going to pirate it instead, is that OK?"

Would you say "Sure, go ahead, we just charge a price for the fun of it"? If not, then you know that it's not OK. If yes, WTF?!?!

</comment><comment><USER31> No, just use open source equivalents where possible.

</comment><comment><USER32> Is it ok to steal your startup's funding?

</comment><comment><USER33> Use FOSS or properly licensed commercial software.

It's as simple as that.

</comment><comment><USER34> I'd be worried about malware.

</comment><comment><USER35> Let's keep this simple - No.

</comment><comment><USER36> seriously, if you cant afford it right now... copy it. download the torrent and dont worry. every single company and former startup i know have now drawers filled with windows, adobe and whatnot license papers... thats just how it is. thats part of the online culture. if you cant afford 4 licenses each 1200 dollar im sure when you have the money youre proud about the fact that you can buy it now and you will buy it...</comment>


Getting the Most Out of Sqlite3 with Python - <AUTHOR> https://remusao.github.io/posts/2017-10-21-few-tips-sqlite-perf.html <comment><USER2> For a project a few years ago I chose to use apsw:

[https://github.com/rogerbinns/apsw](https://github.com/rogerbinns/apsw)

It is a different wrapper for sqlite than the one in the Python standard library. As far as I remember, the stdlib one had some brain-dead choices with regard to concurrency and transactions.

There may have been some other reasons I chose it too, but I don't recall at the minute. The issue is that Python has this spec called "DB-ABI" which is supposed to make all databases look alike. But I don't want that -- I just want to use sqlite!

So 'apsw' is a thin layer on top of sqlite. I'm able to read the sqlite documentation in C, and be reasonably confident in what it's doing. But as far as I remember the Python stdlib version had a bunch of magic in the wrappers that was annoying. I might be mistaken but I think it parsed its own SQL? I think it had some sort of silly cache of parsed queries, rather than letting you simple store/control that in the application.

I think it also inserted SQL statements for transactions between your own calls!!! I just want the raw SQL to go to sqlite as I intended.

I definitely ran into issues where non-obvious flags to the API increased insert performance by 10x, and it had nothing to do with sqlite itself! So I abandoned it for a thinner wrapper.

<comment><USER3> Thanks for this pointer. It appears to have python bindings for the sqlite VFS layer and virtual tables too. That would be fun to experiment with.

<comment><USER4> You might also like this library, which allows you to create virtual tables using a very simple API (2 functions).

[https://github.com/coleifer/sqlite- vtfunc](https://github.com/coleifer/sqlite-vtfunc)

</comment></comment></comment><comment><USER5> > 1\. Use Bulk Operations

> If you need to insert a lot of rows at once in your database, you really > should not use execute. The sqlite3 module provides a way to bulk > insertions: executemany.

Note that this is actually part of DBAPI 2.0[0], so pretty much every Python database driver should have an executemany(). Worst case scenario, it's implemented on top of execute() and you get little to no benefits (that's the case for psycopg2 currently[1]), best case scenario it can use much more efficient methods (seems to be the case for sqlite3).

> 3\. Cursors Can Be Iterated Upon

That is an optional extension but part of the DBAPI 2.0 spec as well[2], and most drivers should implement it

> for row in connection.execute('SELECT * FROM events'):

The return value of execute() is spec-undefined, so beware that specific method, it is absolutely not portable, neither is execute/executemany on the connection object.

> 7\. Use Placeholders to Interpolate Python Values

Warning: the actual placeholder is driver-dependent and not portable, you can query the driver for the preferred param style[3], you can also ask it for its thread-safety guarantees (the sqlite3 module advertises module-level thread- safety but not connection-level let alone cursor-level)

[0] [https://www.python.org/dev/peps/pep-0249/#executemany](https://www.python.org/dev/peps/pep-0249/#executemany)

[1] [http://initd.org/psycopg/docs/cursor.html#cursor.executemany](http://initd.org/psycopg/docs/cursor.html#cursor.executemany)

[2] [https://www.python.org/dev/peps/pep-0249/#next](https://www.python.org/dev/peps/pep-0249/#next)

[3] [https://www.python.org/dev/peps/pep-0249/#paramstyle](https://www.python.org/dev/peps/pep-0249/#paramstyle)

<comment><USER6> In the past when I've had to insert many rows (for example), I wrapped it inside a transaction. Why and when would someone use executemany() instead? Or does executemany() do a transaction behind the scenes?

<comment><USER7> _Why and when would someone use executemany() instead?_

What kills you in this use case is roundtrips - send one row, wait for an acknowledgement (even if you are not committing it yet) then sent one more, and so on and so on. There is a lot of dead time spent in protocol overheads or just idle. A well implemented executemany() sends as many rows at a time as will fit in a network packet and keeps streaming them as fast as it can.

</comment></comment></comment><comment><USER8> Been meaning to try this, good write up.

An alternative between keeping all data in-memory and going full relational database that's worked well for me is Python + H5PY. Write a simple class where your data getters / setters interact directly with the H5 file and don't keep it in memory.

Super fast (data handling and setup), easy on memory, and doesn't lock you into the schema of a relational database.

</comment><comment><USER9> I often use the Dataset library (from Mozilla, I believe). It provides a lot of convenience for incorporating SQLite (and other databases) into Python projects and it's very easy to use it to fall back to straight SQL queries and other statements.

[https://dataset.readthedocs.io/en/latest/](https://dataset.readthedocs.io/en/latest/)

<comment><USER10> Dataset is neat, but it relies on the monster that is sqlalchemy. I have recently been using Pony ORM for new experiments with sqlite, and then if the project sticks data transfer to MySQL, et is trivial.

Pony is not a light as Dataset, but way less heavy/confusing than sqlalchemy.

<comment><USER11> I agree, but Pony is also less flexible than SQLAlchemy :/ For anything other than trivial queries, you'll end up writing some horrible code.

Having used Pony for a month or so, it feels like someone saw generators, thought SELECTs would be cool using them, and then implemented all other query types as well instead of shelving the whole thing like they should have.

</comment></comment></comment><comment><USER12> Some really nice tips. I have worked quite a few times with Python + SQLite3 combination and I always enjoyed the API, that's why I chose Python for my toy document store that I created on top of SQLite3 (shameless plug [http://blog.creapptives.com/post/47494540287/a-document- stor...](http://blog.creapptives.com/post/47494540287/a-document-store-with- sqlite3-and-python) ).

</comment><comment><USER4> The docs cover all this and much more. Do _yourself_ a favor and read them. Sqlite is a very capable library and this post is just the tip of the iceberg.

[https://docs.python.org/2/library/sqlite3.html](https://docs.python.org/2/library/sqlite3.html)

<comment><USER13> [https://docs.python.org/3/library/sqlite3.html](https://docs.python.org/3/library/sqlite3.html)

</comment></comment><comment><USER3> > 7\. Use Placeholders to Interpolate Python Values

Well, where you can. You can't use placeholders for table names, for example.

When you can't, just don't derive them from unsafe input.

</comment><comment><USER14> One thing I was hoping to see; building sqlite3 for Python with json1 extension support. I've tried a few times and gave up, confused. How hard is it?

</comment><comment><USER15> Entirely disabling synchronous is incredibly dangerous. Use "pragma journal_mode=wal" for a safe performance boost.

<comment><USER16> Disabling synchronous is dangerous and I don't know where it could be used practically (if you care about your data [https://www.sqlite.org/howtocorrupt.html#_failure_to_sync](https://www.sqlite.org/howtocorrupt.html#_failure_to_sync)).

That being said 'journal_mode=wal' is a bit faster than normal async but nowhere even close to the speed of disabling async completely.

<comment><USER17> > ... don't know where it could be used practically.

Maybe with read only databases?

<comment><USER16> Would you get a speed increase in reads? I thought async and wal speedup would just be for writes (no good for read only database). Maybe I'm misinformed. Have to play with it and see.

<comment><USER17> Hmmm, I'm not sure either. If you got around to testing it, it'd be interesting to hear about. :)

</comment></comment></comment></comment></comment><comment><USER18> sqlite3 is the most underrated database ever, especially with python. You can get a ton done with it. Who needs HBase and MongoDB...

</comment><comment><USER19> Nice writeup. I'll keep this in mind for when PostgreSQL + SQLAlchemy would be overkill.

</comment><comment><USER20> I used autohotkey for this kind of in memory mostly read string lookups and nosql type queries without sqlite. Autohotkey is way faster than Python. Maybe it's the immutable strings slowing down python, but there was like a >10x performance difference. I even had a linux port of autohotkey at one time, but I think you can also just use wine if you are on linux.

<comment><USER20> Python is slow, you can downvote me all you want. Case in point: [https://news.ycombinator.com/item?id=15548904](https://news.ycombinator.com/item?id=15548904)</comment></comment>


Love Letter to Clojure - <AUTHOR> https://itrevolution.com/love-letter-to-clojure-part-1/ <comment><USER2> > I will discuss the following:

> * What the Second Ideal of Focus, Flow and Joy Means to Me Relearning > Coding: How Coding Mostly Left My Daily Life in 2008, But Came Back in 2016 > (or If I Can Learn Clojure, Anyone Can)

> * Why I Love LISPs Now

> * Functional Programming and Immutability (and John Carmack)

> * A Mistake I've Been Making Since Grad School, and How I Fixed It: > Composability

> * The Epiphany I Had Reading "An Introduction to React in 2019 (For People > Who Know Just Enough jQuery To Get By)"

> * What Rich Hickey Says About Simplicity: Where The First Ideal Of Locality > and Simplicity Comes From

> * Solving Business Problems, Not Solving Puzzles—Why I Detest Doing > Infrastructure Work These Days

> * Lastly, the REPL…the Ultimate in Fast and Fun Feedback Loops!

> * The Amazing Clojure Community, Parting Thoughts, and What I'd Like To > Write About in the Future

</comment><comment><USER3> I feel similarly to Gene Kim about Racket. Here's a comparison ...

Gene Kim's Clojure example:

      ; input is JSON string: "{foo: 2}"

      (defn xform [s]
        (-> (js/JSON.parse s)
            js->clj
            (update "foo" + 2)
            clj->js
            js/JSON.stringify))

Racket equivalent:

      #lang racket

      (require threading json)

      ; input is (xform "{\"foo\" : 2 }")

      (define (xform s)
        (~> s
            string->jsexpr
            (hash-update 'foo (λ (x) (+ 2 x)))
            jsexpr->string))

<comment><USER4> This is a strange comparison. ClojureScript looks bad here because it's using the native platform interop rather than a wrapped library, but the ability to easily drop down and interact with the host is one of the best parts of Clojure.

<comment> another-one-off What looks bad about the ClojureScript example? I'm obviously a bit slow, but I can't see any practical difference between the two.

I do prefer the ClojureScript because I don't know how to type "λ" and that seems like a usability handicap. Minor complaint I know.

<comment><USER3> The ClojureScript example is great.

Clojure and by extension ClojureScript has a lot of tasteful and pragmatic design decisions, e.g. the use of the threading form and implicit lambda illustrated with the "\+ 2").

By contrast Racket has been extended to include a Clojure-inspired threading as a library, showing off just a little of its awesome linguistic extensibility, leading in this case to ergonomically similar code.

Clojure/Script is a wonderful opinionated modern Lisp; Racket is a more linguistically extensible modern Lisp. There's considerable cross- fertilisation going on.

If you love Clojure, it's worth keeping an eye on Racket.

* * *

You can spell λ out as lambda in Racket (and Scheme).

</comment></comment></comment></comment><comment><USER5> As someone fairly new to Clojure I agree entirely. There's a freshness about the language that has brought a new sense of joy and curiosity back into the programming world. The language forces you to rethink, relearn, and reevaluate the way you fundamentally understand programming. I think for the better.

</comment><comment><USER6> I use Racket to create programming languages, however I am considering getting into Clojure for web development. Racket's web development ecosystem is actually pretty great, I'm just curious about Clojure's.

Might someone who's played with both give me some pro's and con's of Racket vs Clojure?

<comment><USER7> I've heard this a few times - that racket (or any lisp, closure(script) aside) plays well with the web - but have never seen much to back it up.

Could you point me in the direction of any good resources, libraries, or communities to dig in further?

<comment><USER8> Server side web development is probably the area where Clojure is used most, perhaps in combination with clojurescript on the front end.

A small google will take you to plenty of resources and libraries.

</comment></comment></comment><comment><USER9> > Contrast LISP to the complicated order of precedence operations you find in > almost every other programming language, as well as their huge grammars and > syntax. That takes a lot of brain space.

I disagree. I rarely find myself slowed down by the grammar or operator precedence in Java and C#. In C++, only when I have to do something rather esoteric (pointer-to-member, member function template specializations, etc.).

On the other hand, I critically rely on types. The IDE is able to narrow down suggestions about applicable methods to a handful. But since `js->clj` is a function `string -> map` (a very generic signature), there must be hundreds of them with the same signature. Context-sensitive discoverability with the help of IDE becomes nearly useless.

Yes, that's how I learn APIs these days. Types, intellisense + reading the documentation to learn about possible edge cases. I cannot imagine being productive in something like Clojure.

I also find Java 11 + VAVR rather pleasant to work with.

<comment><USER10> > I cannot imagine being productive in something like Clojure.

Of many languages I used (dynamically and statically typed) Clojure turned out to be the most productive one for me personally.

Nowadays if I have a problem to solve and not allowed to use Clojure, I would still first prototype it in Clojure and then rewrite it in whatever language. I am still faster that way.

Some people would argue that Lisps are optimized for writing, but are difficult to read and maintain. Although I've experienced that to certain degree with other Lisps, somehow I don't feel that is the case with Clojure.</comment></comment>


Google is banning Flash from its display ads - <AUTHOR> http://www.theverge.com/2016/2/10/10957570/google-bans-flash-display-ads-january-2017 <comment><USER2> I've blocked Google ads for so long I didn't realize they had been allowing Flash ads.

<comment><USER3> Which ad blocker do you use on mobile?

<comment><USER4> For Google ads specifically? [https://contributor.google.com/](https://contributor.google.com/)

<comment><USER5> Wow. Their highest tier is $10/month to see 25-50% fewer ads? That seems a bit steep for the minimal reduction you're seeing.

<comment><USER4> My understanding is that the system literally works by buying out your own ads, as if you were an advertiser targeting specifically yourself with ads that have no content. The effect is thus that you pay what advertisers would otherwise have paid. But if some advertiser bids $100 for one ad (this actually happens!), then Google is going to show that ad.

As such, the pricing structure, while maybe overcomplicated, is perfectly fair. Theoretically, in an ad-free world, this is the price you would need to pay to consume the same content. If you feel it is too high, then what you're saying is that, for you, ads are worth the annoyance. (Or, alternately, you're saying that you'd rather pay less and get lower-quality content.)

Personally, I think $10/month is an extremely reasonable price to pay for the web content I consume, and I'd certainly rather pay it than see the ads.

EDIT: That said, as a matter of product design, I think this pricing structure sucks. They really ought to offer a flat price that removes all ads. However, I suspect that would require strong-arming all AdSense sites to agree to new terms (since it would affect how much those sites are getting paid), and as we've seen when YouTube did this in order to create YouTube Red, it tends to create a huge PR backlash.

<comment><USER6> And they still got to track you. And you pay for that. Great deal.

</comment></comment></comment></comment></comment></comment><comment><USER7> I suppose this means dropping it altogether (like from Chrome) can't be too far away.

My only regret with that would be that we use flash as a way to allow one- button copy to the clipboard (using this [http://zeroclipboard.org/](http://zeroclipboard.org/)).

We had tried non-flash solutions, but none of them worked.

This sounds like it might work [https://clipboardjs.com/](https://clipboardjs.com/), so I guess I'll be adding a backlog item to look at it.

<comment><USER8> re: dropping [flash] from Chrome -

NOOOOO this is what Chrome is _for!_ The only flash I have is the built in to chrome flash.

<comment><USER9> I also do this. Firefox is my primary browser but I have Chrome installed solely to view flash-based video sites.

<comment><USER10> I think I'm missing something. Why not just install the Flash player from Adobe?

<comment><USER11> I'm not the person you asked, but here's my reasons.

I'm on Linux and there no longer is a supported version of Flash by Adobe. (Apparently there is some NPAPI to Pepper bridge though, to get Chrome's Flash working in other browsers.)

I already uninstalled before that, because I wanted to force HTML5 for sites that dynamically switch between Flash and HTML5 and because I wanted to nudge more sites to support HTML5 by boosting the stats of people who don't have Flash installed.

<comment><USER12> > I'm on Linux and there no longer is a supported version of Flash by Adobe

I'm using Firefox on Ubuntu with Flash (flashplugin-installer) and it's still receiving updates. It's an older version, but it has been working fine with every Flash site I've visited so far.

<comment><USER11> Yes, looks like I was misinformed there. While there are no more feature updates, security issues will continue to be released for about another year. (If I'm piecing the information here together correctly [https://www.adobe.com/devnet/flashplatform/whitepapers/roadm...](https://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html) [https://helpx.adobe.com/flash-player/release-note/release- no...](https://helpx.adobe.com/flash-player/release-note/release-notes- developer-flash-player.html))

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> One thing HTML5 lacks is the ability to combine all assets into one file. This makes Flash particularly handy for advertisements. Safari almost got there with its .Webarchive format, and Mozilla experimented with a file format but it didn't get anywhere.

<comment><USER14> Couldn't you use inline scripts and styles with images specified as data uris?

<comment><USER15> Data URLs for large images are horribly space-inefficient.

<comment><USER16> Data URLs should be ~1.37x the size [0] of the original file (and generally, kept in the same format). Obviously, there are issues of caching, keeping the image loaded in memory, etc, but it shouldn't be all that bad. Esp. when you consider that ads are inefficient for a variety of other reasons.

[0] [https://en.wikipedia.org/wiki/Base64#MIME](https://en.wikipedia.org/wiki/Base64#MIME)

<comment><USER15> Right, I miscalculated, Base64 isn't as bad as I thought.

</comment></comment></comment></comment></comment><comment><USER17> Silly question: Do people not use Click-to-play? I thought it was enabled in browsers by default now, or at least Firefox.

<comment><USER18> I do (even as a sometime Flash developer), but unfortunately it's not always practical. There are plenty of sites, including Vimeo embeds and Vine, which cover the SWF with an HTML element - making it impossible to right-click to play the SWF. So you end up disabling click-to-play just to see the video you wanted.

<comment><USER19> Firefox has had a top-of-the-page notification for click-to-play for a long time, making this a non-issue.

<comment><USER20> Chrome has an icon for this in the address bar. The only problem with this solution is you lose control of which elements you want to allow.

<comment><AUTHOR> I think Firefox's top-of-page notification is just for Flash content that is not large enough for the inline "click to play" UI. It's pretty annoying, though, because it causes the whole page to shift down. Chrome's address bar icon sounds like a good alternative.

</comment></comment></comment></comment></comment><comment><USER21> How can they continue to allow "video ads built in flash"? Isn't a video flash just like any other .swf, that happens to use the NetConnection, NetStream and Video classes? Or will they supply the .swf part and the advertisers just the .flv/.mp4 part?

Also, what's to stop a "html5 ad" from inlining swfobject.js? They've fallen for malvertising before, so how could they not fall for an obfuscated swfobject.js? :)

<comment><USER22> This is because video ads use an obnoxious ad API called VPAID [1] that is mostly used to track viewability of video ads (which in turn conditions the billing event for advertisers). This is most effectively done with Flash and so 90% of video ads use Flash if given the opportunity.

[1] [http://www.iab.net/guidelines/508676/digitalvideo/vsuite/vpa...](http://www.iab.net/guidelines/508676/digitalvideo/vsuite/vpaid)

<comment><AUTHOR> The NY Times' recent post about their transition from Flash to HTML5 video highlighted VPAID as one of their big challenges. It sounds like they had to pull the ad vendors, kicking and screaming, into the HTML5 world.

[http://open.blogs.nytimes.com/2016/02/08/flash-free-video- in...](http://open.blogs.nytimes.com/2016/02/08/flash-free-video-in-2016/)

</comment></comment></comment><comment><USER23> This is great progress. Google being the biggest ad network and going with a complete ban is probably the only way to move things forward but glad to see it finally being done.

<comment><USER24> It sounds like great progress.......until you realize that Google uses Flash everywhere in their own APIs

<comment><USER23> Progress = forward movement towards something. This is still great progress, regardless of how much there is left to do. Chrome was even the first browser to stop playing lots of flash ads months ago.

</comment></comment></comment><comment><USER25> I've never installed Flash since it was an ad on (or maybe I just disable it, I can't remember). It's ONLY used for ads these days. I avoid the few video sites that use it.

<comment><USER26> Nope. The Superbowl was streamed with Flash Player on CBS own website. Hulu still streams with Flash Player. Zynga and King use Flash player in all their multi-million dollar earning Flash games. It's not going anywhere.

<comment><USER27> > ... It's not going anywhere.

Yet.

</comment></comment></comment><comment><USER28> I haven't had the Flash plugin since 2012 and only a few couple of times I've encountered something I wanted to use which required Flash since when I stopped having Flash. In every case where Flash was required I simply Googled the relevant keywords and found what I was looking for provided by other non- Flash sites.

<comment><USER29> Twitch is the only thing keeping Flash on my system, and as soon as they make the switch to HTML5 video I'll be uninstalling it completely.

<comment><USER30> Twitch has run over HTML5 for the better part of a year (maybe longer).

<comment><USER31> The controls and chat were upgraded to HTML5 last year but the video will not be converted from Flash to HTML5 until Q2 this year.

This was one of the major announcements made during CEO's keynote at TwitchCon. [http://blog.twitch.tv/2015/09/twitchcon-2015-keynote- product...](http://blog.twitch.tv/2015/09/twitchcon-2015-keynote-product- round-up/)

<comment><USER32> OS X and iOS streams use HLS (append /hls to url) and you can get the html5 video in various ways (append &html5 or [1]).

[1] [https://www.reddit.com/r/Kappa/comments/3l01q4/complete_twit...](https://www.reddit.com/r/Kappa/comments/3l01q4/complete_twitch_html5_player_userscript/)

</comment></comment></comment></comment></comment><comment><USER33> Surprised to see this in the news now. As an advertiser, we received notice from Google around July of 2015 that our flash ads will soon be disabled. Something like a month or two later the change went into effect.

</comment><comment><USER34> I wonder if people may begin to go back to older browsers for surfing once ads have completely transitioned to HTML5 :-)

<comment><USER35> With people shifting their layouts over to Flexbox, relying on "box-sizing: border-box", "display: table-xxx" and friends, older browsers will mess up the layout beyond belief. IIRC some older browsers even failed to apply an entire CSS file if they couldn't parse a single rule - good luck with ::before, ::after, ::nth-child and friends.

CSS, unfortunately, isn't really backwards compatible unless you invest a LOT of effort into testing and development.

<comment><USER36> Good riddance. Those older browsers are also going to be full of unpatched security holes, and if websites don't work people will eventually quit using them.

</comment></comment></comment><comment><USER37> I don't look at ads...that's remiss of me, as some ads probably contribute to my salary...

When I see a three column layout on a client's page, with the right column "blinking" I think, usually, that they're probably barely holding on...just from experience...

</comment><comment><USER5> I beat them to this a loong time ago.

</comment><comment><USER38> Good, and good riddance. The less Flash on the Internet, the better.

</comment><comment> k-mcgrady Anyone else see this and think "Why the hell didn't they do this years ago?". I was really surprised it was still allowed.

</comment><comment><USER39> They should also bad video ads (including their own).

</comment><comment><USER40> Ironically, one of the very few places I find Flash still used, that I miss it, is in Google Finance pages.

They're desperately wanting a rewrite.

</comment><comment><USER41> Flash ads were a good way to target desktop office day time users for some conversion needs. Anyway had to go ..

</comment><comment><USER42> I use firefox at the moment and do not have flash installed. In the rare occasion that I cannot view a video because I need flash I will fire up chrome to watch it.

Also, I use adblockers.. so I haven't seen a flash ad in ages.

</comment><comment><USER43> Google does ads?

Honestly, it has been a very long while since I've seen ads. Adblock aside, my phone is so old that any significant ads effectively causes a crash, total non-responsive phone. So I still don't see them.

<comment><USER44> How do you think Google makes money if not ads?

<comment><USER43> How do you not get sarcasm?

<comment><USER45> Normally there's an element of humour

</comment></comment></comment></comment><comment><USER46> Just in time for the launch of AMP.

</comment><comment><USER47> ( What took you so long? James. )

The sentence that came across my head when i read the title.

* Quote from the 007 movie Spectre

</comment><comment><USER48> Google main focus is ADS

</comment><comment><USER49> ive been blocking flash since 2012. no biggie.

</comment><comment><USER50> woohoo!

</comment><comment><USER51> Flash is like DLLs. Enough said.</comment>


IBM's Reinvention Should Inspire Flat Pharma Businesses - <AUTHOR> http://www.forbes.com/sites/davechase/2012/03/25/ibms-reinvention-should-inspire-flat-pharma-businesses/

<comment><USER2> Speaking of IBM and pharma industry; in 2007 AstraZeneca selected IBM's services unit to provide internal IT support, with a 7 year, $1.4 billion deal. In 2011 AZ decided to kick them out, because of years of dissatisfaction.

Was this dissatisfaction due to 'IBM['s successful] shift from a product- centric culture to a customer and service centered company'? Was it due to AZ's inability to think of themselves as being in the 'disease management' or even 'disease prevention' business?

Or was it due to upper management reading too many articles in Forbes and deciding they needed to get rid of internal IT staff to focus on core competencies? I'm leaning towards the latter.

(The ever increasing difficulty of developing new drugs plays a larger role than any of these.)</comment>


Esmerelda's imagination - <AUTHOR> http://commandcenter.blogspot.com/2011/12/esmereldas-imagination.html

<comment><USER2> I can't help feeling that he's barking up the wrong tree: If people criticize your new language for imaginary shortcomings, then maybe the available documentation isn't communicating its purpose/idioms/concepts clearly enough.

Not saying that a new language needs to launch with impeccable documentation and a crystal-clear understanding of what problem it tries to solve at all, but those "I can't imagine ..." criticisms can also be a (not-so-greatly worded) way of saying "I don't understand" - an opportunity to learn how to talk about the language better.

I'm sure a lot of people here have already learned this lesson the hard way, but: If you're blaming your product's users for not reading the docs (or for not trying it out), you're missing out on a great opportunity to improve it.

</comment><comment><USER3> Somehow, I both don't quite understand what he's trying to say and strongly agree.

<comment><USER4> Something like, "Don't knock it 'til you try it.. But _do_ try it!"</comment></comment>


Ask HN: How important is it that MariaDB says "Bye"? - <AUTHOR>

  MariaDB [(none)]> quit;
  Bye
 It's not necessary.
It's not helpful.
It's hilariously anthropomorphic because I am the programmer editing the code on the machine.
I barely notice it.
But it's there.
And I am curious what the HN community thinks of it's worth. <comment><USER2> I guess It could be useful to automate scripts. Instead of having expect waiting for a prompt, just wait for 'Bye' and start the next step.</comment>


Show HN: Call Screening app that ends robocalls forever – CallHero - <AUTHOR> https://www.getcallhero.com/ <comment><USER2> Well, I'm not gonna fight about Google VS Apple, but I think I will comment on this robocall topic. I have read an article about someone who filed a lawsuit against a company which called him using robocalls multiple times, and he won. I think people might want to try this way as a revenge. Make them pay because of those unwanted calls.

</comment><comment><USER3> Google already does this for Pixel phones, probably much better than you (no offense), because they're Google.

If they roll that feature out in stock Android, how do you not instantly die?

<comment><AUTHOR> Great question :) 1\. We have iOS, which is a pretty big market (1.3B active devices worldwide) 2\. Google's product is based on an ML chip physically located on the Pixel device. We live on the Cloud, compatible backward with all android smarphones. 3\. Google's product focuses on plain call screening. We have a couple new features in our roadmap for future versions that will take the product to different paths and hopefully will not compete directly with Google.

</comment></comment><comment><USER4> You have a missing capital letter in your opening paragraph.

> Not sure about a call? decline to forward it to Callhero.

<comment><AUTHOR> Thanks for letting us know :) already fixed</comment></comment>


Ask HN: We redesigned our teaser page, what do you think about it now? - <AUTHOR>

The link is: http://teaser.waevio.com/<p>Please post your opinion and let me know what do you think about it - don't hold back with the criticism too! <comment><USER2> I don't know what it's trying to tell me. It feels rather slow and the color of the image doesn't match the background of the body/page.

</comment><comment><USER3> Too much tease - the page provides me with zero idea of what this is or why I should be interested in it at all.

</comment><comment><AUTHOR> Clickable link: [http://teaser.waevio.com/](http://teaser.waevio.com/)</comment>


Santa Hat on your photo - <AUTHOR> http://santahat.me/

<comment><USER2> I was officially entertained. [http://i.imgur.com/sJUuWdc.png](http://i.imgur.com/sJUuWdc.png)

</comment><comment><USER3> Firefox just shows broken images, because of

        <img src="data:image/png;base64data:image/png;base64...

<comment><AUTHOR> Thanks for figuring this out, fixed!

</comment></comment><comment><USER4> This is so close to working on ios. Needs way to rotate image after it is uploaded.

</comment><comment><USER5> Aw, I was hoping it would autodetect faces and apply the hats accordingly.

<comment><USER6> I literally just hacked something together that does this a couple of hours ago using opencv/python: [http://yusufsimonson.com:8000](http://yusufsimonson.com:8000).

Edit: and here's the source: [https://github.com/ysimonson/instant- santa](https://github.com/ysimonson/instant-santa)</comment></comment>


Why Greece and the EU aren't playing games - <AUTHOR> http://www.bbc.com/news/magazine-33863913 <comment><USER2> Its amazingly simple how entire countries can be taken over like this...

Step 1. Bring foreign banks into country and proceed to make loans that are known obviously to be non-repayable. No one says "no" to free money.

Step 2. Keep doing this until a debt crisis is reached.

Step 3. Have the bank-and-currency related foreign country and/or entity create a "bailout" package that fixes the foreigner bank ledgers. It does nothing else, there is no relief except to the foreign banks.

Step 4. You now own that country, its resources, and all the people in it. You just bought it.

<comment><USER3> I don't see what is simple about this plan. It takes a highly irresponsible government to borrow "obviously non-repayable" amounts of money for decades. Greece behaved like a heroin user and you're putting the blame on rehab clinic.

I also don't see what exactly you mean by "You now own that country, its resources, and all the people in it".

Minus hyperbole, who owns what exactly?

If you read the terms of the bailout, it consists of prosaic reforms like allowing shops to be opened on Sundays, eliminate rampant tax avoidance, rise retirement age to merely match other Euro countries, stop hiring government employees if you don't have the money to pay them.

And at the end of the day, the only way to enforce that Greece does those reforms is to stop giving Greece even more money. Greece promised and failed to deliver before.

Those are things that Greek government should have done long time ago except they didn't, got in huge debt and now some people think that it's the lender's fault.

<comment><USER4> Greece should have been allowed to default.

That's why lenders make money. Because there is a risk of default.

Bailing out an irresponsible lender to turn the problem from simple finance to geopolitics is not how you solve insolvency. That is how you use insolvency as an excuse to undermine sovereignty.

> Those are things that Greek government should have done long time ago except > they didn't, got in huge debt and now some people think that it's the > lender's fault.

It's not the Greek people's fault either. Also, again, when a debtor cannot pay, they default. They do not suffer arbitrarily at the whims of nations and supranational institutions because it's been literally centuries since anyone thought that bankruptcy meant that your autonomy and ability to go on with life was forfeit.

Greece's economy collapsed by 25%. The people who structured the deal predicted it would shrink less than 5%. Greece 'fails to deliver'; the people who keep trying to collect on worthless debt fail to be reasonable or realistic. The people who suffer are people who did not make the deals. People have died because of austerity in Greece. For what? Your insipidly vindictive morality?

> Minus hyperbole, who owns what exactly? > Greece behaved like a heroin user > and you're putting the blame on rehab clinic.

Presented without comment.

<comment><USER5> > That's why lenders make money. Because there is a risk of default.

Nope! Interest paid also covers more things, like inflation, opportunity cost, and other risks. You could make money as a lender with zero default risk.

<comment><USER4> Mildly interesting detail to elaborate on, but the essential point stands, don't you think?

<comment><USER5> Well I'm on mobile, so I can't really elaborate a lot, but I do think it's a little bit more central to the case than you imply. This was a european country's sovereign debt, so default risk was expected to be very low, and there has been financial information manipulation, and in those cases people do not just default, but might be also prosecuted.

This is a complicated scenario, so simplifying definitions to make a point can end up biasing the result a lot. If it's your chain of reasoning, great; but if you publish it, it's best if you strive to be as complete and transparent as possible: [https://news.ycombinator.com/item?id=9996843](https://news.ycombinator.com/item?id=9996843)

</comment></comment></comment></comment></comment></comment><comment><USER6> This says we can't use game theory to analyze this situation, but the only argument given in support is that humans aren't rational. "Irrational" (or otherwise emotional) strategies are by no means outside of the analysis of game theory. It's well known that by "irrationally" eliminating one of your choices, you can push your opponent into different options.

For example, take this infamous episode of split or steal: [https://www.youtube.com/watch?v=S0qjK3TWZE8](https://www.youtube.com/watch?v=S0qjK3TWZE8)

One side makes a choice to go with perhaps the most "irrational" choice. But if you think about it for a bit, it's obvious that they end up guaranteeing the better choice for both parties by being less greedy than they might be.

Anyone interested in the topic of rationality as it pertains to game theory might also like reading this: [http://www.dklevine.com/archive/refs4375.pdf](http://www.dklevine.com/archive/refs4375.pdf)

<comment><USER7> Well said - the point the article missed is that the politicians in the E.U. are still behaving rationally, even if the countries are not.

If the politicians agree to an austere fiscal policy with the Euro, it will mean setting their economy back in a very visible manner and jeopardize their re-election chances. The countries in the E.U. are still very nationalized, and competing political incumbents will be able to spin the policies as sacrificing their own country for someone else's mistakes.

The politicians are still acting within their best interests to keep their jobs, even if that means sinking the Euro.

</comment></comment><comment><USER8> The amount of money here seems so laughable.

The EU is crippling Greece, removing their ability to ever restructure or become a healthy economy, over what is piddling amounts of money.

Maybe I am just terrible at reading charts, but it seems to me that based on [https://en.wikipedia.org/wiki/Federal_taxation_and_spending_...](https://en.wikipedia.org/wiki/Federal_taxation_and_spending_by_state) the US spends hundreds of billions of dollars _per year_ supporting those states that aren't "profitable".

The US would fall apart very quickly if the federal government insisted on handing out loans and forcing the cancellation of aid and welfare programs in states that needed help the most.

<comment><USER9> What's at stake is not just the debt of Greece, but also Italy, Spain, and possibly others. Forgiving Greece part of its debts sets a precedent for those countries, raising the stakes greatly.

<comment><USER8> It is a hard problem. Forgiving the debt once is likely the right thing to do, but if you keep doing it, what is to prevent countries from just never paying at all?

The sorts of restructuring plans that are put into place are designed to solve this problem, but I think whoever designed them is a sadist.

It is said you cannot spend your way out of a recession (and I'd agree that one off projects that don't kick start a continued source of income don't work), but you also cannot make so many budget cuts that no one in the country has a job, or a house, or a support network of any kind. Zero tax revenue does not make for a stable government.

(It does make for a really corrupt one though, and a much worse type of corruption than what Greece had before)

<comment><USER10> If debt is forgiven or defaulted upon, then it becomes harder to borrow in the future (i.e. they must do so at higher interest rates to account for the risk). If countries never paid their debt then no one would loan to them or would loan only at astronomical interest rates.

</comment></comment></comment></comment><comment><USER11> _The euro is one such project. It was known in advance that it couldn 't work._

Isn't it a bit extreme and possibly false to claim this? Was there a study that the euro could not work, followed by a conscious decision to pursue it nonetheless?

<comment><USER12> That's hardly the only sentence of that type in the article. In fact, I disagree with quite a number of his starting premisses in the article. For a philosopher he fails pretty hard at argument construction. One may ask oneself why such failure. Sloppiness? Carelessness? Being agenda-driven? Ignorance? Hmm, none very pleasant.

The whole article is far too simplistic, lacking in nuance, far too reductive. It would benefit from attention to detail. But then it couldn't be quite as dramatic, excitable and voluble.

Some, such as the UK, doubted the € was workable -- but as the project is still in progress, as can be attested by the denominations of the accounts and coin of many a person, we still have to wait and see. Whereas some said that the conditions for entry mitigated the risks of failure. As things stand, the UK is right, the project will not succeed -- given the current conditions and economic trajectories. But, and it's a big but (hmm, never thought I'd write that clichéd phrase), maybe the conditions for the project to work shall be put in place. I, for one, certainly hope so.

</comment></comment><comment><USER13> A Greek exit was the right solution in 2005, in 2010, and again in 2015. It won't happen so presumably we'll be talking about this again in 2020.

It's amazing how correct the UK "No" campaign was.

<comment><USER7> It was impossible for Greece to exit, because the politicians elected at the time were campaigning on using the lower interest rates of the Euro to fuel government funded jobs and projects.

The more conservative politicians, who would have maybe had the foresight to leave, were elected out of office by the people.

</comment></comment><comment><USER14> > Game theory can't explain the Greek crisis - the entire euro project is now > in the hands of fate

The euro(the money) isn't born out of any necessity, it's purely an ideological project. So it's no surprise it is destined to fail. The only question now is, will it fail peacefully or not?

<comment><USER7> The euro _is necessary_ for the E.U. to remain economically competitive internationally. The problem lay in the implementation, and not mandating a fiscal policy for membership (e.g. something similar the austerity measures).

"Game Theory" in the context of this article is assuming that all countries on the Euro will rationally avoid mutual destruction. To do that, they all need to agree to the fiscal policies that would have prevented Greece and others from getting to the point that they're at now.

But that's not happening - there doesn't appear to be a universal fiscal policy for the Euro in sight and they're heading for mutual destruction (i.e. the countries are not behaving rationally and game theory doesn't apply).

<comment><USER14> > The euro is necessary for the E.U. to remain economically competitive > internationally

That's bull. Norway, UK and others are doing pretty fine and they do not have the euro. France,Spain,Italy,and Greece are a complete disaster,only Germany is doing really well and it's clear it has nothing to do with the euro.

> The problem lay in the implementation, and not mandating a fiscal policy for > membership (e.g. something similar the austerity measures).

Oh yeah, Euro is broken , so what do when need? more Europe, more power in the hands of a few ... no we need to get rid of that stuff asap and less concentrated powers.

There was no need for a monetary union. At all. It didn't bring back all the industries, it didn't create jobs (10% unemployment in my country,...) , it served no purpose at all.

<comment><USER15> >>> Germany is doing really well and it's clear it has nothing to do with the euro.

Germany is doing fine particularly because of the euro. They can have very cheap exports because of it. When a single currency represents vastly different economies, it's obvious the rich get richer and the poor stay poorer.

Of course, the euro was only meant for countries with comparable economies. Too bad Greece basically lied to adopt it. And now Germany has every reason possible to keep weaker economies in the fold for its own benefit.</comment></comment></comment></comment>


This Open Source Coder Wants to be a Congressman - <AUTHOR> http://www.wired.com/wiredenterprise/2014/03/coder-congress/ <comment><USER2> _> The patent system. Online privacy law. Bitcoin regulations. Net neutrality rules._

I applaud anyone who's willing to roll up their sleeves and get involved with the democratic process. It's the only way we're ever going to get this country moving again.

That being said, however, it's generally not a great idea to build a campaign around issues that 99% of the electorate has never heard of and/or cares nothing about. NJ-2 is pushing 9% unemployment -- all those jobless people are going to be worried about things other than Bitcoin or patent reform. Not to mention their friends and families, and all the people who aren't unemployed but are teetering on the brink.

Cole's campaign site ([http://coleforcongress.com/](http://coleforcongress.com/)) is long on bio and short on issue positions, so it's possible that _Wired_ is misrepresenting his platform, of course. (I hope they are! I'm a Democrat, I would _love_ to see the Dems pick this district up.) But it's also possible that they are not; not articulating issue positions cuts both ways.

This is a classic mistake that techies keep making when throwing their hat into the ring -- assuming that the issues that techies are buzzing about are the same ones that _everyone_ is buzzing about. (For an example, look back to the 2002 campaign of Tara Sue Grubb in North Carolina: [http://www.wired.com/politics/law/news/2002/08/54693](http://www.wired.com/politics/law/news/2002/08/54693), [http://books.google.com/books?id=5DMSVPEv86gC&pg=PA92&lpg=PA...](http://books.google.com/books?id=5DMSVPEv86gC&pg=PA92&lpg=PA92&dq=tara+sue+grubb&source=bl&ots=zzrOzsbJZS&sig=y5r48oHGgioV0DOFKoAXC2az6Zo&hl=en&sa=X&ei=gDgjU_eNLKLF0QH7ioGIBg&ved=0CC8Q6AEwATgK#v=onepage&q=tara%20sue%20grubb&f=false)) Maybe that's true in a few tech-heavy districts, but in the vast majority it's very, very far from the mark. And being out of touch with what your would-be constituents are buzzing about is not how you win elections.

<comment><USER3> He's not running on those issues though, his main running points were job creation, student debt, climate change, and education. From the article:

"Cole is quick to downplay his alligence to the tech industry, which is increasingly under fire for being out of touch with the rest of the country. "Software developers aren't the only ones under represented in congress," he says. "Teachers, people in business other than CEOs, service workers, lots of people don't have a voice in government because it's really expensive to run a campaign."

<comment><USER4> I wouldn't call teachers or non-CEO businesspersons underrepresented. The NEA and the US Chamber of Commerce are consistently among the top political donors. Depending on your definition of service workers, several unions are also among the top donors.

[http://www.opensecrets.org/orgs/](http://www.opensecrets.org/orgs/)

<comment><USER5> I simply mean that they aren't running and winning at the rate lawyers and those with long political careers are. I'd rather have them elected than only represented through lobbying groups!

<comment><USER4> I can understand that, but they're still in a different league than technologists, who don't benefit from lobbying unless it aligns with certain business interests.

</comment></comment></comment></comment></comment><comment><USER6> But he believes that the U.S. House — rather than state or local government — is the perfect place to start. "I'm running to tackle the issues that most affect families in South Jersey, like too few jobs, too high student debt, the need to act on climate change and the opportunity to make vital investments in education and infrastructure," he says. "On those and many other issues, the leadership of the House of Representatives have obstructed any attempts at moving our country forward."

\---

Thinking like this is why we have a gigantic, anti-Constitutional federal government. Why can't he work on infrastructure in NJ at the state or local level? Why can't he work on jobs programs and economic incentives for businesses in NJ?

Climate change is the only thing listed that needs action above a state level.

<comment><USER7> > Thinking like this is why we have a gigantic, anti-Constitutional federal > government. Why can't he work on infrastructure in NJ at the state or local > level? Why can't he work on jobs programs and economic incentives for > businesses in NJ?

Because nobody else does. If your state's legislators aren't bringing federal money into your state while all the other states' legislators are passing federal programs funded by your state's taxpayers, you are going to alienate your constituents and lose your seat. Nobody is interested in less federal funding unless it also means lower federal taxes.

The problem is fundamentally that some states aren't pulling their weight, paying substantially less in federal taxes than they receive in federal funding, and those states' legislators (who incidentally are largely Republicans) have absolutely no interest in turning off the federal spigot. So if you're from the North East or the West Coast, you can't really do much to keep Uncle Sam's hand out of your pocket, at which point it becomes extremely attractive to put in for your own boondoggles to try and claw some of it back.

It's not ideology, it's political arithmetic. If you don't like it, figure out how to prevent the South from diverting such a massive quantity of federal dollars into their defense contractors.

<comment><USER8> >Nobody is interested in less federal funding unless it also means lower federal taxes.

Except for the crazy Republicans (governors mostly) who voted not to accept federal dollars for public transit funding or who voted not to expand Medicare coverage "Because its part of Obamacare and thats bad!" The Federal government would have paid for it?!?!

<comment><USER7> But they don't want the federal government to pay for things like that. Money for those kinds of programs ends up concentrated in the high population states.

Moreover, if they implement the program then it's permanent. Their own federal legislators could no longer go to Washington and argue for repeal because they'll have the constituents in their own districts up in arms if they try to cancel a program their constituents are already receiving benefits under. Whereas if the governors refuse the money then the state's federal legislators will have every incentive to fight to have the money stripped from the budget in future years.

The response from Blue State governors should be to refuse federal "Homeland Security" money. Give their own legislators cover to repeal that. I mean really, how many police departments legitimately need _more_ SWAT teams?

</comment></comment></comment></comment><comment><USER9> Geez hacker news, talk about a can't win! The top comment is complaining that he needs to have a broad appeal instead of focus on tech issues and the second highest is complaining he sounds too generic and should talk more about niche online issues.

I know Dave personally and will say that if the healthcare.gov debacle bothered you, there is probably not another person in the world with as clear a view into that dysfunction and with the passion to end it.

<comment><USER10> Sorry but he is clearly playing down his involvement with tech in the article - oddly to Wired - for exactly the top comment's reasons. I hope it is not a barrier to being a politician. His website is upfront about being an "engineer" and even "entrepreneur" but still mostly generic.

I would love to hear about his experience with the healthcare.gov mess and his thoughts on how to avoid these problems in the future. There are dozens of similar extremely important federal governmant IT project experiencing similar problems.

</comment></comment><comment><USER10> If this guy is really something different, why does he sound like every other politician?

"I'm running to tackle the issues that most affect families in South Jersey, like too few jobs, too high student debt, the need to act on climate change and the opportunity to make vital investments in education and infrastructure," he says. "On those and many other issues, the leadership of the House of Representatives have obstructed any attempts at moving our country forward."

And why does he repeatedly belittle coding?

"I'd been involved with computers since I was a little kid," he says, "but what I learned in college is that there were a lot opportunities to apply problem solving at a larger level."

"Software developers aren't the only ones under represented in congress."

You would think in an interview with Wired you could be a little less the generic politician. It would be interesting to hear his thoughts on healthcare.gov or, as he wants to represent Atlantic City, online gambling. Hopefully that would elicit responses other than cliches.

<comment><USER6> >And why does he repeatedly belittle coding?

The same reason other articles on HN in recent days/months/years have: People spend their efforts on sexting apps and Candy Crush ripoffs instead of tackling "real change".

It's hard, complex, and I don't really blame young talent for going after the big money... but it can look pretty frivolous at times.

<comment><USER4> When was the last time you dropped off a check for your travel agent and picked up a paper map on your way out?

Software changes things a lot. Efficiencies let people spend their time, money, and energy on bettering their lives in other ways.

<comment><USER11> Or it allows the market to get more out of each person while still paying them the same.

Or it just offloads a function that we used to do without perceptible effort (remembering phone numbers, land navigation)

Or it does give us time, which we then spend on software's other products (social media, sexting apps, Candy Crush, etc..), which are compelling to our brain, but whose betterment of our lives is arguable. (Says hypocrite posting on HN)

The issue for a lot of folks is that there are a bunch of solvable, real world problems, that a traditional meatspace hacker might have tackled, but much like the financial industry, the easy money of software app. startup culture is perceived to be sucking the air out of other forms of hacking.

</comment></comment></comment></comment><comment><USER12> We already have one coder/entrepreneur in congress, Jared Polis, member of the US House from Colorado's 2nd congressional district. We could, of course, use more elected representatives like Mr. Polis. [http://en.wikipedia.org/wiki/Jared_Polis](http://en.wikipedia.org/wiki/Jared_Polis)

<comment><USER8> Seriously! How is Boulder Colorado the only district that has been able to elect a coder? I'm looking at you California.

</comment></comment><comment><USER13> I read the headline and thought that it's about Stallman becoming a Congressman. I'm slightly disappointed.

</comment><comment><USER5> I'd love to jump into this discussion. If you've got specific questions about what I stand for, fire away. Generally, though, my campaign focuses on the issues of job creation and education, because those are the most pressing issues I see here where I grew up in South Jersey. Every family has a story about someone who lost a job, spent too long unemployed, maybe lost healthcare in the process, and had to settle for a less stable job without benefits, less pay, or an hourly schedule. And everyone knows someone saddled with $30k in student loan debt settling for a minimum wage job after a degree, because the entry level jobs are gone or filled by those with more experience.

My district as a whole has not weathered the recession as well as many employed in our profession have. That's my top focus. I'm happy to engage a debate on how we do that or hear your thoughts.

I am not diminishing the work developers do in any way. I think the article's mention of "downplaying" just serves to put that in context of the issues I'm focusing on. Being a developer, having had the chance to work with an incredible team and contribute to growing a new company, give me important experience and a novel perspective compared to those who usually run for office at this level. I've tried to capture that here: [https://medium.com/p/ce7c0dc63aaa](https://medium.com/p/ce7c0dc63aaa)

As for something unique, I have actually worked on government IT systems, as well as private sector ones. Go watch a Congressional hearing on a tech issue. Tell me you think more of us shouldn't be sitting in that room setting the record straight. Congress should represent all people, and include all professions like engineers and developers, not to mention people under 40.

Also, we're just a few weeks into the campaign, but next week I'll be posting a more detailed policy platform on [http://coleforcongress.com](http://coleforcongress.com), so I hope you'll sign up and stay engaged.

To the cynics, as I said in the comments of the article:

> Yes, the influence of money in elections is corrupting, but I refuse to give > up on the idea of representative democracy. I'm willing to fight for it, > even if the deck seems stacked. I see no shame in giving it my all.

> And it's a simple formula for how we win: less money from more people vs > more money from less people. If people like you and me who recognize the > system is broken put our necks on the line, work together, and contribute > what we can, we will win. There are more of us who want to fix the system > than those who benefit from it.

> So why not join me? [http://coleforcongress.com](http://coleforcongress.com)

<comment><USER14> The intersection of jobs and software development is interesting to me.

With both politicians and business leaders lobbying for the expansion of H1B and related work visas, the nature of how those visas are currently used, and the repeated findings that there isn't a STEM shortage I wonder where you stand on such things.

To provide some topics you can reply to:

* H1B visas should be a last resort. They should either be more expensive or more restrictive.

* H1B visas should not have citizenship tied to the employer, if they are that badly needed their citizenship should be fast tracked

* Employers should be more incentivized to provide training programs for US citizens before hiring foreign workers

* Similar to Obamas focus on creating a university rating, a school should also need to report foreign student graduation rates and if they stay to work on a foreign worker visa. There are graduate programs that merely exist to allow foreign students a way into this country which ultimately drives up the cost of education, displaces citizens from the classroom, and then once they graduate they get the job that the citizen isn't qualified for (because she was priced out and displaced)

<comment><USER15> I would suggest taking a global perspective and thinking what should be good for the _world_ and not only US. Think trade, cultural exchange, international collaboration in research (think of recent publications that often have hundreds of names on them, from many countries).

When you start thinking globally, term like 'foreign worker' would start sounding ridiculous to you. And protectionist policies probably would stop making any sense as well.

On the other hand, naturalization should take some time. Fast track citizenship doesn't make much sense, as it does take some time to get the culture of the place [e.g to serve public duties, like jury duty, etc].

</comment></comment></comment><comment><USER16> I love the fact that this guy is bold enough to believe he can run for Congress. Americans have such a powerful open minded attitude... He will probably fail but will give more visibility to the issues that matter most to him. He will also learn a few things about politics and press along the way and who knows what he can do next with this knowledge. I say go for it!

</comment><comment><USER17> Here's the link to his GitHub page: [https://github.com/dhcole](https://github.com/dhcole)

<comment><USER18> yeah, you should dig into that.

</comment></comment><comment><USER19> If/when he gets in office he should put the bills he sponsors, cosponsors etc up on github as diffs to the main corpus of US law.

</comment><comment><USER20> lol he made the whitehouse website...not exactly an "open source coder"

<comment><USER18> but WH.gov is Drupal ;)</comment></comment>


TempleOS: – God, the Random Number Generator - <AUTHOR> https://christine.website/blog/templeos-2-god-the-rng-2019-05-30 <comment><USER2> Look through the comments when this is more or less done. Decide if the quality of coments warrants having temple os on the front page yet again. (How many times now?) Everything sensible has been said, repeating that signal just gets lost in the noise. Noise at best...

<comment><USER3> This is certainly a well-known phenomenon, both on here and other similar websites. However, the subject matter is genuinely interesting (there's a lot to be learned from the design of TempleOS and HolyC) and the linked blog post adds new content to the discussion instead of simply rehashing the argument. She does a great job of avoiding most of the controversy in both of the posts in the series, which can't always be said for many of the other articles on this topic. The first couple of paragraphs probably weren't necessary, but they did provide context for people who were unaware.

I find it deeply unfortunate that we can't have a good discussion on the interesting technical aspects of Terry's project as opposed to the man himself, especially since the post is about one particular technical feature.

</comment></comment><comment><USER4> I'm not sure why or if it's just me but the run button in the example given in the article here: [https://christine.website/static/blog/tos_2/wasm_exec.html](https://christine.website/static/blog/tos_2/wasm_exec.html) Seems to be greyed out and unclickable on mobile. I tried chrome and another browser based on gecko and the same thing occurred both times.

<comment><USER5> Works fine for me on iOS Safari / Chrome.

<comment><USER4> I'm on android. In chrome the button's just unclickable in the other browser it automatically selects the text box and opens the keyboard instead. Even zoomed in directly onto the button.

</comment></comment></comment><comment><USER6> Here is a great video on TempleOS and Terry Davis himself. It talks about the development of the OS, it's history and his life in a chronological order.

[https://www.youtube.com/watch?v=UCgoxQCf5Jg](https://www.youtube.com/watch?v=UCgoxQCf5Jg)

</comment><comment><USER7> Is bolting on a TCP/IP stack really annoying?

<comment><USER8> It's more unwise than annoying.

</comment></comment><comment><USER9> There's some more discussion about this on lobsters

[https://lobste.rs/s/ztfqvk/templeos_2_god_random_number_gene...](https://lobste.rs/s/ztfqvk/templeos_2_god_random_number_generator)

<comment><USER10> >I think Terry was more right than most of us would dare to admit. Playing with the thought of setting up a fund to build a statue in his honor!!

Not the kind of comment I was expecting to find there. I was told lobsters was "a more serious alternative to HN".

</comment></comment><comment><USER10> The early paragraphs of this article are a huge distraction from the rest of the article. So the article is supposed to be about someone porting a random number generator to webassembly, but inexplicably pontificates (without sources or references) that Terry Davis believed in some 4-sided Trinity of God, and that Evangelical Christians are like Terry, and how Evangelical Christians think insanity is normal (all without sources). Making a bunch of unfounded hot-button religious statements is a sure fire way to distract people from what could be interesting about a random number generator written in web assembly.

<comment><USER11> It's part of an ongoing series about TempleOS. TempleOS is the point of the article, not "porting a random number generator."

I don't think that starting with the King James Bible is a particularly useful approach for random number generation in WASM.</comment></comment>