The Art of the Interpreter (1978) [pdf] - <AUTHOR> https://dspace.mit.edu/bitstream/handle/1721.1/6094/AIM-453.pdf <comment> vincent-manis I'm commenting primarily because I agree with fao_ that it's sad nobody's commenting on this post. Bottom line: the Lambda Papers (of which this is one) are a true achievement in programming languages. Before these papers, there was a belief that lambda calculus was of theoretical interest only. Various interpreting automata (of which the SECD machine is probably the best known) were seen as too inefficient to be of practical use. Steele and Sussman demonstrated in the papers that procedure application subsumes many features of sequential programming languages, including assignment, GOTO, and object- oriented programming (the original plan was to build an actor language, until they realized that procedure application gives objects), and that you can build an efficient interpreter or compiler for the full lambda calculus. Anybody interested in programming languages can benefit from reading them.

<comment><USER2> Because the lambda papers were multiple submissions for a thesis (each one rejected(!)), sometimes comments slip in about certain things, and it's just generally fascinating to read.

<comment><USER3> p57 {LABELS} is interesting because historically it took a long time to get from LABEL to LABELS. One doesn't have to change much to add LABELS to a LISP 1.5, but because almost all the time LABEL suffices, I don't think anyone really felt the need.

p63 {QUOTE shafts the compiler} is still a religious war to this day.

p68 {WEBER} shows Steele & Sussman were writing pre-Moggi, but faced similar problems.

(incidentally, the overruns in the box on p55 make me think that despite the right-justified text, the boxes were added after printing, via pen & ruler.)

</comment></comment></comment><comment><USER2> It's interesting how nobody's responded or engaged with this, the post is 3 hours old with 0 comments, there's another post currently on the frontpage that's 1 hour old with 38 comments.

When PG set this place up he didn't want it filled up with political material, or things you could find elsewhere in other tech-specific news sites.

But at the end of the day, those are the things most users on here can understand, after the five years of reading this site, the average person on here comes off as trying to sound superior, but the only topics they consistently engage with are the ones that are accessible to anyone, without needing to know the subject matter. You can have an opinion on abortion without reading any political theory on it, and indeed most people won't, just like you can have an opinion on style notation (which is what the other article is about, incidentally).

Things like "Understanding and writing a JPEG decoder in Python" (5 hours ago, 13 comments) or "The Floppy Disk of Floating Point" (10 hours ago, 75 comments), will naturally see less interaction than articles like "TikTok Agreed to Buy More Than $800M in Cloud Services from Google" (6 hours ago, 147 comments) or "German court bans Tesla ad statements related to autonomous driving" (11 hours ago, 474 comments). Simply because they're technically- driven articles, not something you would see on a regular tabloid. And as the userbase of this site has shot up, the interests of the people here has grown more homogenised and mainstream.

It's difficult to have an opinion on this PDF, or interpreters in general, if you haven't actually read the content, so most people will not engage with it. Even though it's more informative than the political things that show up on this site. Even though it's more unique.

Don't misunderstand me, most of it is just time cost. But a fair amount of it is just lack of willingness, lack of willingness to engage with material that takes more than a second to process, that you can't memoize a viewpoint on, something you have to read properly to understand the content.

It's sad, but it's human.

<comment><USER4> The paper is dense with ideas and 70 pages long, had I found it the minute it was posted, I still would not have been done reading through it and understanding its contents by the time you posted your comment. And I just don't have that kind of time to spend when I'm browsing hacker news.

Considering this is also a "news" site, I would guess a lot of people (I know I do) simply browse it quickly to keep an eye on the technical landscape as well as for ideas for future technical exploration.

I think if you want engagement on "non-scannable" pieces like this one, you would be better served by a sort of "book club" system, where people can submit long-form content and vote on it to pick one for discussion a week later. This seems like a cool idea actually. Might have to play with it.

<comment><USER2> You're missing my point completely. And I already covered the reasons you just stated, in my comment above yours. That's what the second to last paragraph was about :/

> Considering this is also a "news" site, I would guess a lot of people (I > know I do) simply browse it quickly to keep an eye on the technical > landscape as well as for ideas for future technical exploration.

Hacker News was not supposed, originally, to host the same content as Bloomberg or The Wall Street Times, or The New York Post, and yet it often does, and those are the articles people engage with the most.

Not only are those usually articles where the the commenters have zero new insight on the things in question -- i.e. where they are _utterly uneducated_ , and bringing up problems as if they are new, when they are covered in a 101 undergraduate class on the subject(!) -- but it is articles where it's 'acceptable' for people to be uneducated, and still have an opinion, even if they (as is often the case with high-paid WEIRD[0] tech workers) live an extremely sheltered life and have no life experience with the realities of the situation and the people involved (As is usually the case with 'free speech' articles, etc.). It's almost guaranteed I can click on a political article about something like race, gender, or class, and have people who have never picked up _literally any type of writing_ about racism in their lives, denying that it exists because they live in an all-white suburban area and have never had to deal with the realities of the world in which they live. The realities that other people face every single day.

I'm not asking for this place to be _purely_ technical manuals, I'm asking for this place to be what it was _originally supposed to be_ , and _what it used to be_ , which incidentally, is not replicating the content of major news outlets, but bringing interesting articles about science and technology to the front page. Interestingly enough lobste.rs is much better both because I see marginalised people posting there more often, and getting upvoted, and also because the content feed is more technically-focused.

I don't agree with why PG ditched this place, but I do agree with the act. These days there's generally less than or equal to a single item on the front page that I could not have found by just opening any other major news outlet dedicated to tech, like Wired, or Techcruch. Or just some shitty subreddit reposting from those sites.

[0]: [https://en.wikipedia.org/wiki/Psychology#WEIRD_bias](https://en.wikipedia.org/wiki/Psychology#WEIRD_bias)

</comment></comment></comment><comment><USER5> What a timely post. I actually just finished implementing an S-expression lexer and parser written in Python; I'm going through the LISP 1.5 Programmer's Manual and my next step is to implement that manual's legendary Page 13 that describes a basic LISP 1.5 interpreter written in itself. All of this is in preparation for teaching an undergraduate-level course on programming language paradigms beginning next month, where I plan to teach my students the foundations of programming languages as well as introducing them to functional programming, logic programming, and Smalltalk-style message- passing object oriented programming (my students will be mainly third-year undergraduates with years of experience in Java but with likely no previous experience in languages like Lisp, Scheme, Haskell, Prolog, and Smalltalk).

Alan Kay said that "point of view is worth 80 IQ points." I want to show my students the value of thinking of problems in ways that are different from the dominant programming paradigm used by languages like Java and Python. I've been meaning to read some of the early Scheme papers; it looks like "The Art of the Interpreter" is exactly what I'm looking for.

<comment><USER6> Nice! A while back I went as far as implementing '(+ 1 1)' in Python [1], then went as far as implementing lambda in C [2].

1: [https://gist.github.com/cellularmitosis/a46efbf32544cde3a1d1...](https://gist.github.com/cellularmitosis/a46efbf32544cde3a1d156e4903e051f)

2: [https://gist.github.com/cellularmitosis/d8d4034c82b0ef817913...](https://gist.github.com/cellularmitosis/d8d4034c82b0ef817913a01138b115bf)</comment></comment>


OAuth2 in Python [pdf] - <AUTHOR> http://goodcode.io/wp-content/uploads/2012/06/OAuth-edited.pdf

<comment><USER2> Fun fact: python-oauth2 does not support oauth2. Despite its name (similar names like httplib2, urllib3)

[https://github.com/simplegeo/python- oauth2/issues/92](https://github.com/simplegeo/python-oauth2/issues/92)

<comment><USER3> This is true, the article does _not_ use python-oauth2 though. It shows how to do the flow manually...well using requests. :)

</comment></comment><comment><USER4> Yeah this is the future! Literally!

Look the last change date in the pdf: [http://goodcode.io/wp- content/uploads/2012/06/OAuth-edited.p...](http://goodcode.io/wp- content/uploads/2012/06/OAuth-edited.pdf)

<comment><USER5> Ooops. There goes our time machine secret...

Fixed, thanks for pointing it out.

</comment></comment><comment><USER6> This isn't a guide for Python programmers. It's a guide for Django programmers.

<comment><USER5> Django is there only to implement the views. You can just as easily use Flask or Pyramid or other framework, but if you want to give a complete example (or indeed, to implement OAuth), you do need to use _something_ (even if that's BaseHTTPServer, if that rocks your boat).

Edited to add: Django-only guide would be: "use django-allouth. done."

</comment></comment><comment><USER7> This 'guide' doesn't address refresh tokens at all.

<comment><AUTHOR> GitHub and Facebook don't use refresh tokens. Token lifetime is covered and guide explicitly states in intro that it uses GitHub and Facebook services.</comment></comment>


Richard Dawkins should revisit the letter to his 10 year old daughter - <AUTHOR> http://tirania.org/blog/archive/2013/Aug-09.html

<comment><USER2> I might be mistaken, however I think that Dr. Dawkins was trying to stipulate was the content of the talk by Dr. Tyson at the Beyond Belief conference (2006).

Here is the link to that talk [video]: [http://www.youtube.com/watch?v=N7rR8stuQfk](http://www.youtube.com/watch?v=N7rR8stuQfk)

(It is quite long, but in my opinion worth the watch)

TLDW: He presents evidence of the rise of religion being a major if not _the_ major contributing factor to the downfall of critical thinking, most significantly saying that people invoke a religious philosophy of ignorance at the end of their knowledge, and this is quite dangerous to scientific thinking.

<comment><USER3> RTFA. He says the Jews (religious) do well, but Muslims (religious) don't- so what is his point?

The author speculates that it might be linked to socio-economic status more than religion.

For the record I am an atheist, but I disrespect poor arguments from anyone, theist, agnostic or atheist.

<comment><USER2> His (Degrasse's) point was that when there was a spirit of critical thinking that was permitted, there were great advances in science, whereas when that was stifled (I do believe that the jews did not have such a rigid religiosity enforced upon them) they lost their ability to do good science.

That I think was also the point that Dawkins was trying to make.

It is very likely and probable that socio-economic status is a causal factor, however the point being made is not that that is untrue, it is that there is another one of (likely) equal importance.

</comment></comment></comment><comment><USER4> Presumptuous. We may as well tell the author of this slam that his mother, daughter, wife, sister, best friend, butcher, and dentist are all embarrassed for him.</comment>


Marketing for a social/answers site - <AUTHOR>

how would you market/advertise a startup site that is community driven and social.  say hypothetically it's a site like wiki answers.  google adwords doesn't make any sense.  what about ads on reddit?  what else? <comment><USER2> got useful content in yr site yet? if it is a community /social driven site, u probably dun need to promote too much if u got useful content.

<comment><AUTHOR> i am sort of seeding the site with some content... from wikipedia... etc. the original content is very little (primarily from my personal entries testing the site.) that is a good point though.... good content, even in a small niche might be helpful.

<comment><USER2> to get more traffic & users to yr site, one thing you can do is to dominate a small niche that represent yr site. i.e. if it is a sewing community, write tons of articles on just how to make the perfect sweater and nothing more.. this could take months. work out an articles plan, get writers from fiverr, ezines, etc.. to help you out. and if yr social community site is any useful, it will start to take off a little. work on those users slower... roman isn't built in a day too.</comment></comment></comment>


Ask HN: Will machines ever feel emotion? - <AUTHOR> <comment><USER2> Ever is a long time. It's likely they will have differing opinions, points of view, preferences, they might even experience boredom to a degree. They will certainly be able to recognise and display emotions but feel themselves? Not for a long time I don't think unless they have an organic component or a highly detailed simulated equivalent.

</comment><comment><USER3> there is no reason to think that we won't be able to add an emotional layer in their neural networks. it already works in the brain</comment>


Show HN: Unpepefy – Making Twitter Great Again - <AUTHOR> https://chrome.google.com/webstore/detail/unpepefy-making-twitter-g/ldjnhcjpldbplikakcfkcmeblikfadpe <comment><USER2> Also for FF [https://addons.mozilla.org/en-US/firefox/addon/unpepefy- maki...](https://addons.mozilla.org/en-US/firefox/addon/unpepefy-making- twitter-great/)</comment>


3D Mapping of Beating Heart - <AUTHOR> http://www.fastcompany.com/3002305/rhythmia-medical-maps-better-3-d-picture-beating-heart-inside

<comment><USER2> N64 Emulator The N64 premiered throughout mid-1996 seeing that Nintendo's front side-blue runner while in the first next-age bracket gaming console wars. Is usually was obviously a better run unit when compared with Sony's Ps3 or perhaps Sega's Saturn, the N64 usually lagged driving around profits. Nintendo made a decision to advertise the equipment about the merits of its rapid-launching container program plus the small idea that the idea highlighted your 64-tiny bit architectural mastery – regrettably for Manufacturers, individuals were extra astounded by high-volume Mp3 mass media, with-video game dvd sequences and also before-documented soundtracks than rapid running and the sized your machine's line.

<http://emulatorzone.bcz.com/></comment>


GitHub stars won't pay your rent - <AUTHOR> https://medium.com/@kitze/github-stars-wont-pay-your-rent-8b348e12baed <comment><USER2> I'm closing in on 100 public, nontrivial, nonforked repos on github. Since github's inception, I've received a total of $200 in donations for my OSS stuff, 1 job from a company that uses a product of mine as the foundation of their business, and many job offers from people who are familiar with my work. I don't make money off OSS, and never have (at least not directly).

But I just. can't. stop.

I can't. I've tried suppressing the urge to create, but I just can't do it. Ideas, challenges, problems, unmet potential, are everywhere, and I can't unsee them. On many days I despair that I won't live long enough to build even a tiny fraction of the things I see in my mind. It's infuriating!

And so I do my best to keep my focus small. I have a full time job, so I try to keep my extracurricular coding down to at the very most 3 hours a day if I can, but my idea list just keeps on growing faster than I can keep up.

I keep thinking that maybe I'll calm down as I get older, but I started at 8, and I'm 44 now. If I had no financial pressure at all, I'd be doing this stuff all day. The only difference would be that I'd burn through my list faster.

But long story short, don't write OSS for money. Have a full time job and do OSS on the side.

<comment><USER3> > don't write OSS for money

Why not? I'd prefer working with OSS for money over proprietary products.

<comment><USER4> Because you won't get money from OSS contribution for most part. If your priority is money, then OSS is not the best option unless you have a clear strategy of monetizing it.

<comment><USER5> I will tell you a secret: There are corporate and non-profit organizations out there which want to you to write open source software and they pay you for it (I know it's shocking).

<comment><USER6> Dozens of open jobs at VMware for professional / career Open Source positions: [https://careers.vmware.com/search- jobs/Open%20Source%20Engin...](https://careers.vmware.com/search- jobs/Open%20Source%20Engineer/1567/1)

Big companies have an Open Source Program Office (OSPO) where community / OSS skills and licensing knowledge mean you can help the company both consume OSS and contribute back to it.

</comment></comment></comment></comment></comment><comment><USER7> Been there. Done that. Pretty much every open source developer hits a point where they realize that even very popular open source projects don't keep food on the table.

However, what gives open source value is that a project with 10,000 Github stars looks very good on a resume. That doesn't matter now, where pretty much any programmer can get a good job, but it will matter after the current economic expansion stops and we are in the next recession.

I got not one, but two job offers in the middle of 2010, during a very tough recession, because of my somewhat notable open source project. My open source project allowed me to keep my skills current while I was living in Mexico as an English teacher and professional translator.

To this day, in job interviews, it allows me to demonstrate I was still working on computers and with technology after the dot-com bubble crashed.

The important thing to keep in mind is that users are not customers until they pay for the code. If they don't like the fact you won't implement their favorite pet feature request, you can give them a full refund, which won't cost you anything. Never let your users cause you stress.

<comment><USER8> > _To this day, in job interviews, it allows me to demonstrate I was still > working on computers and with technology after the dot-com bubble crashed._

You mean 2001? The dot-com bubble happened then, yet you write about 2010 which could be a recession year in some countries from 2008?

I do think you mean 2001, not entirely sure though.

<comment><USER7> The dot-com bubble crashed in 2001, which left the entire tech sector in a recession throughout the first 2000s decade. The foreclosure crisis started a recession in 2008 which really didn't end until 2015 or 2016.

</comment></comment></comment><comment><USER9> > Honestly, it felt kind of shitty to delete the repository and unpin the > project from my profile.

It is kind of shitty to do that. Why not just archive the repo and add a note to the README that you've turned it into non-free software? At least that way you don't break the main link to the project or remove all the content from the issue tracker. This is a project that other people have contributed work to, so it's rude to just destroy that.

The most recent fork I can find is here: [https://github.com/kuldeepkeshwar/sizzy](https://github.com/kuldeepkeshwar/sizzy)

<comment><USER10> The author here. If you look at the contributions, the only ones were a change to the readme, adding prettier and git hooks for linting, fixing typos, and few CSS one-liners. If the project had major contributions it would definitely be a shitty move.

</comment></comment><comment><USER11> Lots of developers have an expectation of "Build it, they will come" as a route to market, and they end up disappointed. Selling a piece of software, regardless of whether or not you also give away the source, is really hard. Moving people from "I want this handy tool" to "I will pay for this handy tool" is the hardest part of sales no matter how amazing your app is.

People who have relatively limited amounts of money (eg anyone who isn't a millionaire) will always want to keep their money if they don't _have_ to spend it so you need to give them a truly compelling reason to spend if you want to make money. Just writing an app, even a useful one, isn't enough.

<comment><USER12> It depends on the sales model. If people instantly see the value of the product, like in this case, people will come. But if they do not see the value, you have to manually sell it to them, which is a lot of work. For example if you invent a new programming language, even if it's revolutionary, it will still be a lot of grunt work teaching people how to use it, pitching it, explaining how it's better then current languages, etc. It's no coincidence that for example the most popular web frameworks are from Google and Facebook. And that TypeScript, #C is developed by Microsoft. All multi billion companies spending million of dollars marketing and selling said technologies.

<comment><USER13> > the most popular web frameworks are from Google and Facebook

Curiously, that's mostly not the case on the backend - Django, RoR, Express, were all created by individuals or small companies.

</comment></comment></comment><comment><USER14> Code != Project Project != Business

Folks keep conflating these things. Sometimes we wanna code, no problem, code! if you feel like sharing, share! Expect nothing! If you feel your code deserves more and wish to turn it into a project, cool! Projects require much more time and effort to maintain. With a project, figure out what you want. Recognition? High usage? Job offers? Whatever it is, it can't be money. If you wish to get money, then you must turn it into a Business. Don't expect millions!

It's a business after all, not a startup. but that's another discussion.

</comment><comment><USER15> _Here's the catch: when you give away something completely for free, people aren't that motivated to pay for it._

It's worse than that, people don't value it very highly if it's free.

<comment><USER16> I was just thinking the other day, _" If Wikipedia became a paid product, would I pay for it?"_

Really, what would happen if it became a for profit product? Would I pay for access to the greatest single repository of information the world has ever seen? Or would I shrug my shoulder and let Google tell me that I actually meant to query something else, and trust that the top placed link is really the best?

<comment><USER17> How would monetizing Wikipedia even work? That raise a lot of questions about fair compensation for the people creating content.

<comment><USER16> Its a different line of discussion, but one which is being wrestled with all over the internet. How do you compensate content creators who are not your direct employees for producing content on your platform.

See YouTube.

</comment></comment></comment></comment><comment><USER18> Just a note — open source doesn't mean free of charge. I think you can make a business from open source, even as a one person operation.

Off the top of my head: Newsblur, Bitwarden and Standard Notes, services I pay for, for one because I like to support open source, but also because I'm not in the mood of hosting them myself. I'm also evaluating Wallabag.

These examples are of web apps that require hosting, self hosting is a pain, so I prefer to just pay for it. And I did give up on 1Password for Bitwarden, because I'd rather support open source stuff, in spite of the former being superior.

\---

The author's article is however correct in saying that donations don't work. I too have thousands of stars collected on GitHub and I barely got donations for hosting the documentation websites.

In order to _make money_ :

1\. you have to ask for it

2\. people need to get some value out of that payment and this means creating scarcity

With the online services I mentioned, what I'm paying for is the hosting and I'm happy to do it.

</comment><comment><USER19> Really good writing on many of the challenges of launching your own application.

Went through the same cycle, of first releasing an open source software that had donation support. Gathered an user base over many years, at max I was receiving maybe 500 - 800 USD in donations over a year, after working on the software like 3 years.

Was really reluctant to make the software a commercial version, because I was limited in my thinking that software should be available for anyone to use. You can't make a living out of that, except in some very rare cases.

Once we launched a commercial version of our software ([https://OmniGeometry.com](https://OmniGeometry.com)), got a lot of backslash from users complaining about the price not being free anymore, and actually we priced the software lot higher than people usually do, but we are implementing something that fills a very specific niche, where we have almost no competition.

As a result of that, we are now actually making money that can support the continuing development of the software and can support our two man team as creators. To be honest I am surprised that we managed to do that, but are very happy about it of course.

I agree with what is written in the article:

"Don't let anyone tell you how much you should charge for your work"

Writing software can be very difficult and complex, and usually takes many years to reach anything usable and even then it is a risk if it will become anything that people will use.

Almost certainly you will receive hateful or resentful messages from people if you are charging for your work, as on some levels they would like to use your software, but would like it to be free also, so they just lash out at you for not making it free.

Something just have to get used to when selling software these days it seems. If people had any idea how much skills and dedication it requires to even be able to write usable software, maybe they would agree that paying for example 200 usd for a software package that will give you possibly hundreds of hours of entertainment is a good investment.

<comment><USER20> > "Don't let anyone tell you how much you should charge for your work"

Feel free to ignore the choosingbeggars who are after freebies, but pricing is a dark art, and IMO when making the leap to charging money for things you've built, it seems way more common to undercharge, especially for apps like Sizzy made by perfectionists.

Patio11's article on SaaS app pricing: [https://training.kalzumeus.com/newsletters/archive/saas_pric...](https://training.kalzumeus.com/newsletters/archive/saas_pricing)

</comment></comment><comment><USER21> I have been in an interesting similar situation with my Trianglify [1] library, and have made money off of it a few different ways:

\- Commercial licensing (the library is GPL) occasionally gets me a few bucks, but isn't a reliable source of income.

\- Consulting on custom integrations/tweaks has been slightly better, but in general it's a simple library that's well documented and easy to use, so there isn't much need for this.

It became pretty obvious after I launched the project that my primary audience wasn't developers who could consume a JS library, it was designers. I wound up building a productized UI [2], and I've been experimenting with

\- making money via donations (abysmal)

\- ethical non-tracking advertising (low conversion rate, people hit the tool to accomplish a task, not click ads)

\- and lately, paid functionality (so far, this has been the most successful approach)

I think that the skillset for developing a good and useful piece of OSS and the skillset for monetizing it are almost completely orthogonal - it would be really great if there was a way to make decent income off an open-source project without building a flashy website, learning basic marketing, getting in bed with advertising companies, etc etc. Unfortunately, the above seems to be what the market cares about.

[1] [https://github.com/qrohlf/trianglify](https://github.com/qrohlf/trianglify) [2] [https://trianglify.io](https://trianglify.io)

<comment><USER22> > _\- Consulting on custom integrations /tweaks has been slightly better,_

Interesting, can you share a bit more detail? Not asking for customer names or anything, but curious what kind of customer is interested in stuff like this enough to buy consulting for it)

</comment></comment><comment><USER23> Firstly, this post is really excellent and quite profound - I read it end to end and would recommend you do so too if you've just come directly to the comments - it goes a lot broader than the title might suggest and contains quite a few quotes I'll be referring back to.

That said, on the surface point about making money directly from open source, I'd just like to chip in with my own perspective that wasn't really covered in the article (it's a different type of thing).

In the article the author is talking about building a complete, functional _product_ and open sourcing it, and how that means users are very unlikely to pay (donate) cash to the author. This is 100% accurate, and the point is very well made (again, seriously, read this article, it's great).

I've put out a few libraries and tools on my github (i.e. not full products, but smaller component parts others can build products from), mostly to solve my own problems, and have the source easily available and properly licensed to reuse between projects. And hey, if someone else finds them useful, great. This is pretty important - I did this for my own benefit, and I get this benefit regardless of if anyone else stars or uses the repos.

Most of these repos, that's exactly what happened, 1 or 2 stars at best, only I use them. But one of them, react-frontload [0], actually took off because it turned out to be useful for quite a lot of people. Now, the reason for writing and open sourcing that library was the same as all the others. I don't expect, need or frankly even particularly want people to donate money for me to work on that. Any time I invest in improving it pays off anyway, because I use it.

But what _has_ happened because of my work on that library is I've had people contacting me for contracting work integrating it into their product, general job offers, meetup talks, etc etc. So in a way, it has actually led to opportunities for making money, more or less directly. As in, had I not open sourced that, none of these things would have happened.

Just to add that point to the discussion here: whilst you definitely shouldn't expect to make direct money from open source, especially via donations, you absolutely can find it opening doors to opportunities and making money in other ways. But even then, that shouldn't be your motivation going in. I suspect if it were, you might have a lot lower chance of it happening as a result, ironically.

[0] [https://github.com/davnicwil/react- frontload](https://github.com/davnicwil/react-frontload)

<comment><USER24> It's a lot like writing books in technical fields. Should you do so with the expectation that you'll get rich or even that it will pay for a really nice vacation? Probably not. Some people probably make 5 figures (USD) but it's not common.

However, being a _published author_ builds credibility in a lot of respects whether it's within many large companies or doing consulting/etc. work.

ADDED: I've written a few books. I've made no money off them (to a first approximation relative to everything else). But they've been immensely valuable in other respects.

</comment></comment><comment><USER25> So going from free to subscription based.

How long do people think this subscription thing will last? "It's cheaper per month than one Starbucks coffee" stops working when you have to pay for 100+ Starbucks coffees per month... and then the subscription bubble will crash.

<comment><USER26> It's not a bubble, it's a model for paying for things you value. People used to pay a lot for their TV, satellite dish, VHS tapes, all the space to store them, newspaper subscriptions, 3+ magazine subscriptions, phones (which were actually just phones), long distance calls, etc. We came in and replaced so much of that with software, which is still overall cheaper and much better if you pay for it.

<comment><USER25> Yeah but all the things you're listing are ongoing services.

Maybe the app in TFA is one too, it does need constant updating because the browser is a moving target right now.

However that doesn't go for the other 3 million productivity apps that want a subscription.

</comment></comment></comment><comment><USER27> Altruistic FOSS works best when there are many more users than issues, ideally technical users capable of fixing them, so a fraction of the users can donate just a small amount of their time and get the project going. Alternatively, when some business players decide to collaborate on a project and fund its development.

Otherwise, when there are many more issues than users, particularly users who aren't capable or willing to fix them, then it's just a few developers working their skin off to pull the project, and that requires a more direct form of compensation.

<comment><USER26> Truth. It's especially stressful, because too many will value your time as much as they pay for it. If you work on a team doing some big $10M deploy for an enterprise client, that client will be buying you dinners and setting you up in a nice hotel. You get on the hotel wifi and check into your foss projects and find a dozen messages saying how angry they are because some feature wasn't implemented, or see a comment on a post about it saying how much your work sucks and that they have written something better (that will be released some day "soon").

</comment></comment><comment><USER28> Wondering what percentage of the donations the author forwarded to the library maintainers and authors that his product relies on..

<comment><USER26> 10% sound fair? Split it 20 ways for each lib. I'm sure they'd all enjoy their 47 cents.

<comment><USER28> 10% Sounds low. I can't judge for the product in question but for my programs, they are usually tiny blips standing on the shoulder of giants (libraries). So far i have never ask for money, if i'd do so i maybe would need to pass on 80% to not feel bad about it..

Not sure if you are cynical of sincere, either way, if the library devs get 47 cent from every donation driven program that relies on them, this could add up to some nice sum.

<comment><USER26> You're telling someone who saw years of work amount to only $96 that they only deserve 20% of that?

<comment><USER28> No i am not saying this. I am saying that: "I can't judge for the product in question "..

</comment></comment></comment></comment></comment><comment><USER29> I have a consulting business centered around my OS project. Project itself does not make much, but related things (support, consulting, opportunities, contacts) are good. It was a good way to leave cubicle and get remote job, once my daughter was born.

</comment><comment><USER30> would be great if GitHub had some kind of patreon system built in, to make it very easy to do recurring donations. Especially for companies that use open source software for commercial activity, it would be great to have an automated way of paying each month and a culture for that, so that it's almost the default option.

I know there are ways of doing this today, but if it's not super frictionless and integrated into the platform, it's less likely to happen

<comment><USER31> Yes! I really hope that this is what Github Sponsors will end up being. They should make it trivial for businesses to spend each month X USD to split between open source projects that they rely on.

<comment><USER32> _They should make it trivial for businesses to spend_

Donating money is always incredibly tricky if you work at a larger company, especially if you get nothing in return. I can a buy a license or support contract easily, with a bit more effort I could probably sponsor a local FOSS meetup/event. But just giving someone $50 as a thanks for writing that software we rely on, is basically impossible unless I just pay it out of pocket.

</comment></comment></comment><comment><USER33> A lot of people/companies don't like paying for software. You would be surprised by the amount of straight up pirated software some companies use before they get caught.

It's no surprise that offering your product for free won't make you much money.

</comment><comment><USER34> Sometimes you don't even really want your side projects or GitHub repos to become popular.

When you're the only user of your app it's fun, you can deploy easily, maybe prod is also your staging env ... You can afford to screw up your database etc. If you have users you now have to be careful, if your deployment fails the downtime becomes a mental burden, you have to manage backups etc.

Maintaining an open source project is also a lot of work. Issues piling on, Pull requests to review, which are not that more fun at home than at work. If you ignore them you start to feel guilty. If you lose interest or have no need for the project anymore you'll feel guilty as well.

Anecdotal evidence, my father have made an open ESP*-based webradio. Somehow it got popular (especially in Eastern Europe for some reason). It's fun, people sending you photos of their finished projects etc but then requests for features you don't care for start piling on, you have more bug to fix.

He has a donation button and he could monetize more but he's retired and doesn't really care about money, he just wants to have fun making something and the success is a double-edged sword in that regard.

</comment><comment><USER35> Open source for me personally and my company was more of a marketing advantage. We work in fintech and the culture there is that the code will always be closed source (like there's no way it can be remotely open!). When we (the engineers) suggested that we should open source our whole system (make the whole development open source), the marketing team were so pissed and they just couldn't imagine what benefits an open source will offer.

A few months later, our project is well known by major banks here and it became clear that my startup excels in software. The first thing we say when discussing with a client our offer is that the whole system is free and open source and they can copy-paste it without our help. And that turned out to be very great as many of our customers had vendor-locks before.

The thing I'm actively developing our core business in Github and quite happy with its evolution. It received a small amount of stars (like 9 or something), but I really didn't expect any stars nor direct users contribution anyway. And it helped us a lot in building our reputation as a FOSS startup and it will also contribute to my teams resume.

</comment><comment><USER36> > when you give away something completely for free, people aren't that > motivated to pay for it.

I created gitingore.io about 8 years ago and it's almost at 5000 stars. I had nearly 100k MAU's and that was still not enough to survive. My customers included developers form top tech startups and major companies in the world but the product was free. I ended up selling it so I can re-focus on something more valuable.

<comment><USER37> I think this is a good example of not all projects are equal. I have donated to projects that have an especially large impact on my project, or that solve an especially hard problem. I don't think your project is either. Lots of people might use it, but relative impact to productivity will probably always be low. I think that's ok, and it's a neat project though.

<comment><USER36> Yeah I totally agree with you — It definitely took me a few years to learn that but you're obviously sharper than I am :).

</comment></comment></comment><comment><USER38> Two gold quotes from the article:

#1

 _I started working on the landing page, but ended up working on a React library for making landing pages (maybe I'll release it one sunny day)_

#2

 _Or imagine entering a supermarket and starting to yell at the cashier "WHAT?! THIS MILK IS 3$? DO YOU KNOW THAT ON THE OTHER END OF TOWN I CAN GET THIS FOR 2.5$? I CAN EVEN BUY MY OWN COW, RAISE IT, MILK IT EVERY DAY, AND DRINK MILK FOR FREE!11!"._

I died. :D

</comment><comment><USER39> GitHub stars will pay your rent if you sell out the hype to a VC instead of building a real company. I can definitely name a few startups that have almost no product, certainly not technically challenging or particularly well built ones, but they've made many millions in VC funding solely from GH star hype.This industry is a bit of a joke that way, but it works.

<comment><USER40> Do you mind naming these startups?

</comment></comment><comment><USER41> Well for this problem I have since a long time an idea I am sure will works, I just need to kick-start it in the right way.

It is the "fair publishing edition", a system of publishing a work in a way that is fair both for the author and for the users. The author get paid an amount that is proportionate to the amount and value of its work and the users gets a fair value in return from their money.

The principle is simple, the author publish a work and decide a fixed amount of money that he judge correct as a fair total reward for his work. In turn the people that begin to buy the product pay only a small quota of this amount and the more people buy the product the smaller gets the amount. If the product becomes successful eventually the entire amount of money will be paid and the product will become free for everyone.

A detail, the first people will pay a larger amount of the latest people and this is a little bit unfair. Yet this is a minor problem that can be fixed by not making the payment immediate and when other people buy the product the payment of the first people will be reduced. In this way the problem will not disappear but it can be smoothed so that it will become more acceptable.

The faire publishing edition can be applied to any product that is trivially copiable, so for things like books, software, games, movies etc.

Each product launch will be caraterized by the amount requested and by a paying time which is roughly the time the author estimate to complete the payment of the product.

Note how this is much better than the current situation: free software authors doesn't get any reward for their work. It is unfair for the authors! At the other side traditional editor get indefinitely paid for a work, doesn't matter how much money they have already collected. It is unfair for the users!

If some people want to help me to kick-start this project, hey, just make me a message! :-)

</comment><comment><USER42> [Unrelated]

> But the factory lector didn't have Medium and Hacker News to tell him every > single day that the radio is coming to take his job.

My thoughts: Who reads Medium everyday?

> Sizzy got 2352 upvotes on Product Hunt. It was the product of the day, the > product of the week, and third product of the month.

My thoughts: Who uses Product Hunt? Who cares about Product Hunt upvotes?

Also, the other day, Korean Github users started complaining about some company "cheating" to get Github stars. My thought: who the hell cares about Github stars?

Am I the odd one here? This cult of the platform is kinda weird. I admit that I use Hacker News everyday, but in the end I don't care about it. If I lost my account tomorrow, I wouldn't care, If my comment gets downvoted to oblivion, I don't care.

(Congratulations to the post author on shipping a valuable product.)

<comment><USER43> Just as you read HN, others get their news from Medium, Reddit, and so on, and they do care that the news source is sustained so that they can get future news. I do the same for HN, it would annoy me if it disappeared tomorrow, so perhaps you are the odd one out. Nothing wrong with that, just an observation.

</comment></comment><comment><USER44> I wonder how many open source projects the author uses and donates to? If the answer is zero, then I wonder why he thought people would donate to him? Open source software is not a good way to make money. It never has been.

</comment><comment><USER17> I would really like to see OSS funding continue to move in the direction that other content creation has gone in the past decade or so: pay for the _creator_ , not the _product_ \- like the Patreon model.

</comment><comment><USER45> I've written about how donations are the wrong approach and things like GitHub sponsors are giving people a false promise of sustainability: [https://www.aniszczyk.org/2019/03/25/troubles-with-the- open-...](https://www.aniszczyk.org/2019/03/25/troubles-with-the-open-source- gig-economy-and-sustainability-tip-jar/)

The author is on point that you need to build a business or product that someone is willing to buy :)

</comment><comment><USER46> A lot of people bemoan that companies make hiring based on people's repos (and how it may be unfair for some demographics, types of character, focus, etc).

But (having a few non-forked repos with >200 stars, one >1k stars) it seems that it does not matter much. Basically, works as any volunteering work.

For bigger companies, it seemed that there was zero care if I have any GitHub project. (Typically there was not a single question relevant to these project.)

</comment><comment><USER47> You're doing it wrong.

My top repo has ~5,000 stars and some contributors. It was fun, it lets you broadcast AM on a stock MacBook or iPhone. That's how I found Hacker News, it found me. Zero dollars. Virtual tip jar, zero tips. I got everything I wanted out of that project and more.

Next, I open sourced my research on vowel pronunciation / language learning. The same exact program sells on the App Store. For $10. Yes really. And the app links to the free repo, in case they want to check it out. This pays rent.

Next, I'm an expert on some blockchain topics. And specifically related to enterprise. If you're in that scene you might recognize me, I'm all over that (=all over GitHub). I put my phone number in a few choice places and qualified people call. This lands large contracts, no interview. This pays rent.

Google and Facebook regularly interview/hire directly from GitHub. No resume, direct interview request from GitHub. I don't work for Google any more, but these are opportunities to pay rent.

</comment><comment><USER48> How much does he pay for Electron and React? Imagine the sw world with no OSS, not just your app but no OSS at all. Then you can compare the for pay and OSS models. Not everything you need is OSS and the one thing you sell is proprietary. That is the best, for you, of course.

</comment><comment><USER49> It won't pay rent directly, but there is one caveat. I have 5000 stars for all of my open source projects, and I have a salary way above average. I'd easily find a job with a better pay if I want to. So on average every star makes me at least $10/year when it comes to salary only.

<comment><USER50> With that logic, if I have only 1 star, then I make $my_whole_salary per star! I should aim to get 2 stars, that'd be a real life changer.

</comment></comment><comment><USER51> This is why all my projects are published under a non-commercial-use-only license. Hobbyists are free to use it, but companies need to contact me to license and pay for using my code. Makes me very good money, and my code is still out there for free for hobbyists to use.

</comment><comment><USER52> Am I the only one who is confused by all the recent uproar in open source? I think open source software should be created purely based on joy with no monetization expectation from the creators.

On the other hand, people using the software should have no expectations either, they should be grateful for the gift they have received. I believe the spirit of OSS should be contribute if you want to, if not, that's also ok.

If you demand compensation for your OSS work or you demand the OSS maintainer to implement features yesterday, you're doing it wrong.

I feel like the spirit of people creating software for the sake of software is fading away.

<comment><USER53> Have you ever maintained a large open source project? It is so, so far removed from the pure "just creating for the sake of software" idea. It is a job. It can exhausting, frustrating, boring, tedious, etc... you trade your nights and weekends for... the creative spirit? The joy of creating?

People talk about OSS like /r/choosingbeggers. "Why would I pay you for art? You should do it because it's your passion"

To be honest, I still love open source, but I have to take long breaks from maintenance because the "work" side of it -- the tedious zero effort issues opened, just gets to be demoralizing. The next large project will be closed source. I'm getting too old and grumpy to do project maintenance for free.

<comment><USER52> I've never maintained a large OSS project, it's mind boggling to me that the community have somehow managed to push the maintainers towards burnout instead of being grateful for the free gift they are receiving.

Expecting the maintainer to keep pushing updates forever is insanity imo. It also rubs me the wrong way when maintainers demand monetary compensation I feel like this muddies the water. But maybe this is the reality we are living in now.

<comment><USER54> Don't blame the community for pushing maintainers towards burnout. Blame the folks who make maintenance needlessly necessary, by doing things like pushing for systemic tooling reforms that only serve big company use-cases, or the ones who create license drama. If it weren't for them, then works contributed to the open source commons wouldn't need maintenance any more than the Super Mario Bros. ROM needs to be maintained.

</comment></comment></comment></comment><comment><USER3> Donation in open source works only for BIG projects. Small project get pennies in 99% cases. The hard truth or/and dark side of FOSS.

People should just learn the all details of any kind of business their doing or planning to do.

</comment><comment><USER55> > Last summer I tried using the app again and my first reaction was "omfg why > do people even use this thing, it can be so much better". But people didn't > see it that way.

This part resonated with me quite a bit. However, I've often found that a certain percentage of these people are sometimes willing to pay for support or having specific features added. Especially when using your software can save the organization a tangible dollar amount.

I've personally been on both sides of this equation.

</comment><comment><USER56> I'd love to see more people donating to charity. With my software, it's MIT open source, but pre-packaged it's pay what you want ($3.50 minimum) and $3.50 of every purchase goes to my favorite charity: Against Malaria Foundation.

[https://github.com/whyboris/Video-Hub-App](https://github.com/whyboris/Video- Hub-App)

<comment><USER40> I'm curious of the effectiveness of this model. Do you have any metrics on how many users have paid?

<comment><USER56> Close to 800 paying customers since the launch about 1.5 years ago.

I've been documenting the donations as well on the blog: [https://videohubapp.com/blog.html](https://videohubapp.com/blog.html)

</comment></comment></comment><comment><USER57> This person has very strange and misguided idea of what open source software is intended to be.

</comment><comment> m-p-3 I don't really develop any project or repos (I raised issues, submitted fix through forks), and I use stars mostly as an on-site bookmark to remember project I might have a use for. I guess this is the intended purpose of these?

</comment><comment><USER58> > _The title in my bio doesn't mean shit. I'm making an app, who cares, it > doesn't matter what you call it._

Amen. Those more obsessed with what they're doing, than with telling other's what they're doing, are the most sincere.

</comment><comment><USER59> I see creating/contributing to OSS projects almost as a form of payment, i.e. you are paying your dues for being able to access a large array of free open source software by contributing back to the movement.

</comment><comment><USER60> How is this different than Adobe Shadow? I guess it makes sense to be a product for one-man show, but hard to productize ( read: doesn't move the needle ) for a big company.

</comment><comment><USER12> Anyone know the editor/(IDE theme) used in the product video and twitter post ?

<comment><USER10> Hey, author here. I'm using WebStorm with Material theme.

</comment></comment><comment><USER61> Same way as going to acting school doesn't guarantee you become successful Hollywood actor.

But what about those who went ahead, uploaded their code for free and launched new companies, thanks to the support/popularity received from users of their free code.

Such people minted millions or even billions which they could have never been able to achieve in their lifetime charging normal rates for programming.

You want to be part of a lottery promising big bucks but not happy because not everyone gets suitable payout. Congrats! you discovered how lottery works.

And now you want a payout which helps you pay rent? Such jobs exist, but you might have to write boring code.

</comment><comment><USER62> That guy wasted not only his time in writing a non-FOSS application, but also the time of other people who will need to redo that work later on.

It is illegitimate for the use, distribution and modification of software to be restricted. Due to inopportune social arrangements (e.g. Capitalism) people, like the author, are kept in an artificial state of material want, which forces them to play the corrupting game of intellectual property and close-source software.

I try to avoid that (even if it isn't easy sometime.)</comment>


Show HN: Purl – Command Line URL Parser - <AUTHOR> https://github.com/jordan-wright/purl <comment><USER2> For a moment I thought it was a CLI parser for PURLs ⌘ [https://purl.org/](https://purl.org/)</comment>


In Defense of the Best - <AUTHOR> http://karrisaarinen.com/in-defense-of-the-best

<comment><USER3> Just to summarize, you're comparing against a point in the past where people consumed "deeper" information and view the world as being full of fluff and headlines, instead of deep content.

I would counter that people in the past had no choice but to read long form articles, because it was all the content that was available to them. It's not because they were more adept at digging deep into subjects.

All decisions humans make aren't rational, people are often running on autopilot and their interests are fleeting.

Frequently when people browse the web, they are looking to escape reality and relax. Comprehension and learning isn't the always the goal.

I believe people will always have deep interests in certain things and will seek out a greater understanding of it. It's a million times easier to do exactly that today as a result of technology - just as it has become easier to skim media for headlines, sound bites and tweets.

People have greater options of both.

I don't think the fact that people choose the easy option more often - <USER2> that its available - is surprising to any of us. Especially given the context of online consumption.

Improving the content doesn't necessarily mean it will change behavior.

<comment><USER4> We're Adaptation-Executers, not Fitness-Maximizers:

[http://lesswrong.com/lw/l0/adaptationexecuters_not_fitnessma...](http://lesswrong.com/lw/l0/adaptationexecuters_not_fitnessmaximizers/)

<comment><USER3> Well said.

</comment></comment></comment><comment><USER5> The article concludes with: "I don't think you can build sustaining business on top of addiction."

The big tobacco companies and drug cartels would probably disagree with this statement. I'm not saying it's ethical to make money off of people's addictions, but cigarettes and narcotics sure seem to have been very profitable over the long term, and have even survived massive government action against them.

<comment><USER6> Yes but with drug cartels and tobacco companies society will be against you. Look at the long term trend for tobacco. Has usage gone up or down over time?

You'll always get short term success with it but it's not sustainable in the long term.

<comment><USER7> what about caffeine (coffee, soft drinks, etc)?

<comment><USER6> What about them?

</comment></comment></comment></comment><comment><USER8> Is it possible that Facebook is indeed The Best way to feel somewhat in touch with a lot of people you may otherwise have lost touch with, and Pinterest is The Best way to discover recipes, craft ideas, and other things that add real value and happiness to your life?

I think the author is being very subjective about The Best and using it to come to an odd conclusion. The more obvious and less controversial conclusion is that The Best apps are widely used and doing well.

</comment><comment><USER9> I find quora to be the worst of the mentioned sites. It seems like an endless rehash of things that have already been said elsewhere. Which is probably why we focus on the new; fresh insights usually only come as a result of fresh data.</comment>


The CoreOS Update Philosophy - <AUTHOR> http://coreos.com/using-coreos/updates/ <comment><USER2> We used Omaha at Rockmelt for both Mac and Windows, but of course we had to write our own backend since Google doesn't open source that part. I assume you guys had to do the same?

Which repo contains the update server? I found [https://github.com/coreos/go- omaha](https://github.com/coreos/go-omaha) but it's just the protocol.

<comment><USER3> Very interested to hear about your usage of Omaha...

How was your overall experience? What's your process for promoting a release? Do you ship in channels per platform? What steps does your updater take when it installs a package?

<comment><USER2> We used channels but only to separate our internal builds.

All our externally released versions were on a single channel (well, one channel for Mac, another for Windows as I recall). We released a new version by rolling it out to 1% of our users and watching the crash rate, then 5%, etc, till we were at 100%.

Our 1.0 product was based on Chromium, so we mostly re-used Chromium code on the client-side (Mac, Windows) as far as how the updater worked.

<comment><USER3> Sounds like a similar situation on our side. We use a minimally modified updater from ChromeOS and have built some tools into the Omaha server to do rate-limited updates to the population of machines and track error rates in the same fashion.

</comment></comment></comment></comment><comment><USER4> FreeBSD offers an embedded version called nanobsd that seems to use the same update "philosophy".

It's actually nanobsd.sh, a shell script by Poul-Henning Kamp. So, that IS open source, although I doubt it's GPL ;)

[http://www.freebsd.org/cgi/man.cgi?query=nanobsd](http://www.freebsd.org/cgi/man.cgi?query=nanobsd)

</comment><comment><USER5> Here I was hoping to actually read about the update philosophies, but the linked page contains almost no content other than to say that Docker has been updated.

If you're actually looking to read about them, they can be found here: [http://coreos.com/using-coreos/updates/](http://coreos.com/using- coreos/updates/)

<comment><USER6> Yes. We changed the url to that from [https://coreos.com/blog/the-coreos- update-philosophy/](https://coreos.com/blog/the-coreos-update-philosophy/).</comment></comment>


FDA approves painkiller 1,000 times more powerful than morphine - <AUTHOR> https://www.wivb.com/news/national/fda-approves-painkiller-1-000-times-more-powerful-than-morphine/1572647103 <comment><USER2> [https://news.ycombinator.com/item?id=18366321](https://news.ycombinator.com/item?id=18366321)

</comment><comment><USER3> Seems like this was primarily designed for military applications. To quote the article:

> The pill from AcelRx Pharmaceuticals contains the same decades-old > painkiller often given in IV form or injection to surgical patients and > women in labor. [..] The pills contain sufentanil, a chemical cousin of the > opioid fentanyl.

So this drug is already highly available in hospitals via IV, this turns the IV into a pill, and the primary use-cases seem to be on the battlefield (where placing an IV may be dangerous both for sanitary reasons but also for practical reasons, like bullets whizzing by).

> Gottlieb noted the pill was a high priority for the Department of Defense, > which helped fund testing, because it wanted a way to provide fast pain > relief to injured soldiers. The tablet, placed under the tongue with a > dispenser, starts reducing pain in 15 to 30 minutes.

PS - Not trying to imply the pill is bad because it was designed for military usage, more trying to balance out the misleading title "FDA approves painkiller 1,000 times more powerful than morphine." That "1,000 times more powerful" drug is already common as heck and decades old, this is a new DELIVERY SYSTEM.

</comment><comment><USER4> It's more potent but essentially like every other opiod in action. I think it's far more worthwhile to reduce new prescriptions for OxyContin, Percocet, and Vicodin than worry about niche opioids like this.

<comment><USER5> Possibly unpopular opinion: we'd be better off giving out more scrips and having fewer people scoring who-knows-what on the street. So many heroin stories start with: Shen my doctor wouldn't give me a refill.

<comment><USER4> I tried to clarify new prescription vs refill for this reason. Once they are hooked I do believe harm reduction is warranted.

<comment><USER6> Very hard to tell who is hooked. Someone close to me had been using opiods for many years and is still in terrible pain most days. This person's meds keep getting cut due to opiod-fear, which just increases the misery. So please remember there are legitimate long term uses, even if that's not what we see in the papers.

</comment></comment></comment></comment><comment><USER7> Potency doesn't matter if the dosage is decreased 100-1000x on a weight basis.

It does, however, matter in cases of illicit production when a milligram of the drug is enough to kill a horse.</comment>


To Save Wildlife, and Tourism, Kenyans Take Up Arms - <AUTHOR> http://www.nytimes.com/2012/12/30/world/africa/to-save-wildlife-and-tourism-kenyans-take-up-arms.html?pagewanted=all

<comment><USER2> This is noble and all, but remind me why this belongs on HackerNews?</comment>


Ask HN: How a C/C++ dev. can learn Javascript? - <AUTHOR>

I am a experience developer in C, C++, Java, etc. Does any one know a good book to learn Javascript? My concerns are not the language syntax or how to do OO, but more how to properly develop: How to pack your application and deliver, best approach to organize the source code, best editors and debuggers, how to properly create your shared libs (midleware), etc. <comment><USER2> "Secrets of the JavaScript Ninja" is the best book on javascript ive read, also look into require.js, and r.js for compiling, for server side node.js, the best editor for just about any language i could find that was free is komodo edit</comment>


Reasons Developers Hate an API - <AUTHOR> http://www.slideshare.net/jmusser/ten-reasons-developershateyourapi

<comment><USER2> So true. Bad API's can be a programmers greatest nightmare. On a very related note, often installing and setting up SDK's can be a huge pain too. Facebook has an entire longwinded guide to just install their SDK... This whole process could be way simplified, just like in the slides. A good example of this is installing Crashlytics[1]. They have a one click install and great documentation.

[1] [http://try.crashlytics.com/](http://try.crashlytics.com/)</comment>


Ask HN: Erlang and network connections? - <AUTHOR>

I was interested in the latest use of Erlang for Comet by Facebook. However, thinking further about it, I wonder how the HTTP connections are typically being implemented (on Linux, say)? Erlang solves the problem of having lots of threads listening, but I am guessing it does not solve the problem of having lots of connections? Is there one thread listening to a network adapter, distributing the packages to the "virtual" connections? Or does the OS spawn a thread for every Connection it creates (presumably in some arcane C implementation)?<p>Maybe for the comet problem it would make more sense to optimize at that point, ie only spawn threads on incoming data? Erlang might still come in handy, depending on the number of concurrent messages, but perhaps not be the killer app it looks to be? <comment><USER2> Most operating systems have some highly efficient way of handling many open network connections, for example epoll on linux, kqueue on xBSD, event ports on solaris. These are much more efficient than select() with large numbers of open sockets and the Erlang VM will use the appropriate one for the host OS when run with the +Ktrue option.

The SMP Erlang VM (as of Erlang/OTP R11B, R12B highly recommended) runs, by default, one process scheduler per CPU. So on a dual-core machine you can have two sockets being read from/written to simultaneously. Erlang allows you to program to a very simple model of one Erlang process per socket, with the VM using select/epoll/kqueue/etc to determine which processes have incoming data and are thus runnable.

Native processes use a lot of resources on most operating systems, so you can't use a process-per-socket model. So many web servers use a pool of processes/threads and queue up incoming requests that exceed that limit. Others use relatively few processes and use epoll/kqueue/etc directly.

<comment><AUTHOR> Very interesting, thanks - also for the other replies by davidw and wmf.

</comment></comment><comment><USER3> In the normal case, Erlang is only one OS process. It handles everything via select. The only limits are OS limits on open sockets and things like that.

<comment><AUTHOR> What is a select? And if Erlang is only one OS process, how does it benefit from multicore CPUs?

But my real question is, how does the OS (Linux) handle the open connections (a ka open sockets, I guess)?

<comment><USER4> Here are some in-depth resources about asynchronous network IO:

<http://www.unpbook.com/> (I'm glad to see that someone took over from Stevens so that these books don't languish.) <http://www.kegel.com/c10k.html></comment></comment></comment>


Apple To Abandon Headphone Jack? Beats Deal Suddenly Makes Sense - <AUTHOR> http://www.forbes.com/sites/gordonkelly/2014/06/05/apple-to-abandon-headphone-jack-suddenly-beats-deal-makes-sense/ <comment><USER2> Dropping the analog-output port of the headphone jack would allow all digital DRM straight to the speaker. The analog hole still exists, but it's smaller.

Interesting impact on developers that use the ADC/DAC for other things, like Square and sensing apps.

It'd be a surprise to see the jack go away at first, but retain it for a while before a phase-out.

<comment><USER3> ^^^ This is a post that didn't deserve to be downvoted.^^^

It's insightful and polite. Please control your down-voting, people!

</comment></comment><comment><USER4> I find it (extremely) difficult to believe that Apple would remove the headphone jack from iPhones. Lightning headphones? Sure. Premium DACs driven from Lightning? Why not.

Remove the headphone jack? Suicide.

<comment><USER5> You should blog about it. That way your arrogance can be documented. Apple is the one company that would do it. You can join this guy:

[http://www.businessweek.com/stories/2001-05-20/commentary- so...](http://www.businessweek.com/stories/2001-05-20/commentary-sorry-steve- heres-why-apple-stores-wont-work)

Personally, I think HN readers should be a little more open minded. At some point, headphones will need to evolve.

<comment><USER6> Funny how you assume headphones are the only thing anyone ever plugs into a headphone jack.

<comment><USER7> Funny how you assume he assumes that?

The lightning port can do everything you can do with the headphone port, _and more_.

There are three problems with the headphone jack that Apple can see:

1\. It's limited: it can stream analog stereo sound, and get back analog mono microphone. There's a nasty hack some headphones do so you can have a 2-3 buttons on a headphone (say, prev/next track, pause/play), but that's it. Analog sound over a long cable means you add noise. You get no noise cancelation, no surround sound, no other data streams etc. Maybe they have headphones with extra sensors in mind.

2\. It's redundant: it takes space while doing a subset of what Lightning can do: that DAC circuitry takes space and wastes power, and the port itself is an ugly hole for no interesting reason than headphones don't currently support Lightning. If Apple removes the headphone port, it can use the extra power and space for more interesting things (like larger battery, more sensors etc.).

3\. It's uncontrollable: Apple prefers vendors go through their programs to ensure quality and compliance, but we have players like Square, who use the headphone port for credit card swiping. They do it just so they don't have to pay Apple for licensing a Lightning solution.

<comment><USER8> "They do it just so they don't have to pay Apple for licensing a Lightning solution."

Cross-platform support for their hardware would be the killer feature of using the headphone port.

<comment><USER7> Cross-platform support for their hardware is not something the typical user will take advantage of.

If the user has an iPhone they can buy the Lightning version, and if they use an Android phone, they can buy the micro USB version.

But chances are the user won't be switching the card reader from one device to another all the time.

</comment></comment></comment></comment></comment></comment><comment><USER9> This seems like FUD. Being able to stream audio through Lightning is necessary for audio docks and other accessories. It's quite a leap to say they're going to remove the headphone jack.

<comment> Lx1oG-AWb6h_ZG0 Didn't all the accessories that relied on the old 30-pin connector stop working when Apple switched to Lightning a few years back?

<comment><USER10> I think you can use the lightening adapter on older accessories. This is the case for my logitech speakers I bought 3 years or more ago.

<comment><USER11> Same for the quite advanced Alesis IO dock.

</comment></comment></comment></comment><comment><USER12> No one who listens to audio through headphones EVER charges their phone at the same time. What an impossible scenario.

<comment><USER13> Not that impossible. I listen to music on my iPhone while charging it when I'm on my secondary laptop and Internet connection is too slow for streaming music over iTunes Match.

<comment><USER12> I do as well. I also listen to it while driving, and charge at the same time. I was being slightly sarcastic toward Apple, that they would scrap this functionality.

</comment></comment></comment><comment><USER14> Step 1 - Wild speculation on something Apple might be doing. Step 2 - Why we are all doomed! Step 3 - Shame on you Apple!

<comment><USER15> Financial news is clowns all the way down.

</comment></comment><comment><USER16> This to me is by far the best explanation I've seen on the deal. And it's got nothing to do with the headphone jack. [https://medium.com/@mvakulenko/to- understand-beats-you-need-...](https://medium.com/@mvakulenko/to-understand- beats-you-need-to-understand-lady-gaga-e334de3da6d2)

Sample quote around how artists see themselves today: ""It was more about building a platform on top of music—because music, we realized, sells everything but music."

EDIT: And off topic why I don't take anything on Forbes seriously anymore. They've destroyed that brand: [https://medium.com/climate- confidential/content-used-to-be-k...](https://medium.com/climate- confidential/content-used-to-be-king-now-its-the-joker-d40703c18c73)

</comment><comment><USER17> Y'know, Forbes, there's enough somewhat-questionable stuff that Apple gets up to that an utterly unsubstantiated "well, they MIGHT be doing this and it would be BAAAAD" post is really not needed.

</comment><comment><USER18> Wild theory: the bezel has 4 sensors - including the earpiece, FaceTime camera, ambient light sensor, and proximity sensor[1]

They already have a patent to put the proximity/light sensor in the display, now they're removing the earpiece. If they get rid of the camera, they won't need a bezel. Boom?

[1] [http://www.macrumors.com/2014/06/05/solar-cell-ambient- light...](http://www.macrumors.com/2014/06/05/solar-cell-ambient-light-sensor- patent/)

</comment><comment><USER19> I don't see much of an upside doing this. Better audio? Not anything that will be discernible to the regular user. More controls on the headphone wire? This reminds me of the remotes that came paired with a lot of minidisc players; there is no need for a second screen if it's wired. This seems like a step in the wrong direction with the push for wearables that could communicate wirelessly.

<comment><USER20> > I don't see much of an upside doing this.

Well you ditch the huge, thick lightning connector for starters. That's why the MacBook Pro doesn't have ethernet anymore, it's just too thick for the case.

<comment><USER21> Assuming you mean "ditch the huge, thick _coax_ connector", yes. That make's some sense. Looking at the end of an iPhone the audio jack is the largest element by some margin.

One wonders about a "watch". Would you want to plug headphones into it? The thickness would be significant there. (I view the "watch" as a notification and acknowledgement interface as an adjunct to a mobile device. I think it makes more sense to plug the headphone/microphone into the larger device from a battery standpoint. Headphone cables down a long sleeved shirt make some sense though.)

Orthogonally, Apple just sprouted a bunch of ways to interact between devices at the WWDC. Maybe a person that would wear gigantic headphones would not wear a "watch", but would handle their acknowledgment functions through some interface on their head ornaments.

<comment><USER20> > _Assuming you mean "ditch the huge, thick coax connector", yes._

Whoops, lost a bit of meaning when I revised that sentence and didn't look over it.

I'm not really sure what to think of the whole "watch" thing, even if it is a real thing that going to happen I can't see it being anything like people expect it to be. Having headphones plugged in would be a little weird, I just tried it then by taping my headphones plug to my wrist and found it got tangled in almost everything I tried to do.

</comment></comment></comment></comment><comment><USER22> I think the article misses the most obvious point: Apple wants to make phones thinner than having a headphone jack allows.

</comment><comment><USER23> What about all the various credit card dongles (Square, PayPal, etc) that rely on the audio jack for output? Currently, the major players give the dongles away for free because they're fairly cheap to manufacture. What happens when Apple does away with the headphone jack and forces a licensing fee for the new interface?

</comment><comment><USER24> So Apple cares so much about audio quality...that they bought Beats? Does not compute.

<comment><USER25> My thought is that they will probably revamp the entire line of beats products to be up to apple quality for hardware. They bought it for the brand name and the streaming service.

</comment></comment><comment><USER13> Something that I can see happening eventually. Externally, the audio jack is the most constraining part of the iPhone. Removing it would mean slimmer iPhones, and makes sense with this trend of bigger screens and slimmer devices.

</comment><comment><USER26> Wireless headphones. Induction charging. I see where they're going. Completely waterproof closed phone. Solution to their number 1 returns issue.

<comment><USER27> Man, you can tell it's June, because this stuff is coming out again. :)

</comment></comment><comment><USER28> Far more likely is all-bluetooth headphones.

</comment><comment><USER29> I somehow doubt this will happen. What if I want to charge my phone while listening to music?

<comment><USER30> I do this all the time at work.

</comment></comment><comment><USER31> I don't think this will happen, as it would be a DISASTER.</comment>


Ask HN: Does an API-only shopping cart exist? - <AUTHOR>

I'm a developer looking to stand up an ecommerce site, but have become frustrated with the available options, all of which seem geared to marketers who are more than happy to pay $30/month for the privilege of never touching code.
I want the complete opposite. I want to build an ecommerce site where I have complete control over the front-end code, and it just hooks into some RESTful back-end server somewhere else to process payment, grab shipping info, etc.
Are there any solutions for this? Something that would allow me to abstract away a lot of the ecommerce back-end into APIs, without completely giving up front-end control? <comment><USER2> Have a look at [https://spreecommerce.com](https://spreecommerce.com) ([https://github.com/spree/spree](https://github.com/spree/spree)). You'd still have to setup the backend though I think they offer hosting solutions now.

Shopify has an extensive API. You'd be able to create your own frontend with or without their shopping cart, with or without their checkout process and with or without third-party whitelabel shipping.

<comment><USER3> We use Shopify's ([https://www.shopify.com/?ref=lbit](https://www.shopify.com/?ref=lbit)) cart as a backend for this site: [http://buylittlebits.com.au](http://buylittlebits.com.au)

The entire front end is Vanilla JS + Static HTML (compiled by Middleman) on S3. We upload the site to S3 with S3_Sync ([https://github.com/fredjean/middleman-s3_sync](https://github.com/fredjean/middleman-s3_sync)). We've made a local JS cart and then send then checkout at Shopify. It's blindingly fast.

This wouldn't be possible if it weren't for Shopify's cart links. Cart links allow you to craft a URL that contains quantities and product variant IDs. Documentation on cart links is available here: [https://docs.shopify.com/manual/configuration/store- customiz...](https://docs.shopify.com/manual/configuration/store- customization/page-specific/cart-page/cart-permalinks) .

<comment><USER4> Do you ship internationally? You're FAQ has no FAQ's and I have to say this is a really cool product.

</comment></comment></comment><comment><USER5> Theres molitn ([https://moltin.com/](https://moltin.com/)) from the YC15 batch, I haven't tried maybe it's for you.

</comment><comment><USER6> Hrm... A while ago, I worked on a project that is somewhat like what you described in that it's a cart where you have the full ability to use any CMS you want (or none at all) for product listing pages.

There wasn't an API, though—most of the cart-specific functionality was done in JS. It's just a different approach to solve your problem.

I never finished the project, but it's really close to being ready for launch. I'm interested in discussing it with you further! Shoot me an email (it's in my profile).

</comment><comment><USER7> Would you be willing to pay for this if there was a product that suits your needs or are you looking for a completely free solution? I was using [https://en.wikipedia.org/wiki/Spree_Commerce](https://en.wikipedia.org/wiki/Spree_Commerce) when building something similar. The frontend was a custom JS SPA while the backend + API was handled by a rails app that was running spree.</comment>


Famo.us/Angular - <AUTHOR> https://famo.us/angular

<comment><USER2> With these types of integrations plus the seemingly never-ending advances in Javascript engines [1], we might only be a couple years away from history repeating itself: web taking over OS-dependent apps. Same that happened 10 years ago in the desktop, we see now in mobile. This is amazing folks.

[1] [https://www.webkit.org/blog/3362/introducing-the-webkit- ftl-...](https://www.webkit.org/blog/3362/introducing-the-webkit-ftl-jit/)

</comment><comment><USER3> The slider demo is broken, if you slide fast enough the drawing breaks down on the edges and clips wrong. Sadly it's about par for the course of what I've seen of famo.us. On the surface seems nice, but all the edge cases are missing a ton of polish.

<comment><AUTHOR> Creator here--yes, there are certainly edge cases that are lacking polish. This library is not pretending to be anything other than alpha right now (0.0.x,even.) This stuff is young, but those of us working on it believe these approaches (of F/A and Famo.us in general) have a ton of potential, thus we are striving to push them forward.

Incidentally, like the rest of Famo.us/Angular, the docs site is completely open source (github.com/thomasstreet/famous-angular-docs) so that would be a great place to file (or even fix!) bugs like this.

</comment></comment><comment><USER4> Impressive.

<comment><AUTHOR> Thanks Touche! As part of a team that has worked on this integration tirelessly (actually, maybe a little tiredly: some long nights) for a couple months now, I appreciate your compliment. AngularJS and Famo.us are pretty orthogonal in their approaches, so it did take some careful work to effectively compile the former to the latter while maintaining the benefits of both.

The fact that you were down-voted for a simple compliment is less appreciated, but I guess, 'haters gonna hate.'</comment></comment>


The Growing Portrait of Google As A Scary, Expanding Everywhere Copy Monster - <AUTHOR> http://searchengineland.com/portrait-of-google-as-a-big-scary-expanding-everywhere-copy-monster-88652

<comment><USER2> The problem is that credibility is somehow bestowed upon the ramblings of 2nd rate tech pundits, they articulate baseless hypotheses on subjects they know very little about (patents in this case) yet they are taken seriously by many readers.

Experts on the other hand aren't getting the attention they should and negative PR thrives in this environment.

<comment><USER3> Seriously! Brian Hall wrote essentially 5 paragraphs of word vomit that seemed somewhat indistinguishable from a Markov model trained on a bunch of phrases about Google combined with some conspiracy theory websites. I was /shocked/ to see John Gruber posting it as an example of something insightful to read. From then on the tech-press echo-chamber went into full effect.</comment></comment>