Less annoying Hacker News - <AUTHOR> http://hn.elijames.org/ <comment><USER2> I appreciate the idea, but I question the merit. Importantly, I think what it is really optimizing for are posts without experts on Hacker News.

As the author of [https://hnprofile.com](https://hnprofile.com) \- I've spent a long time analyzing this...

For example, you post something about PostgreSQL on HN it'll have a ton of discussion. That's not just because there is squabbling, it's because people are interested. Often it is a disagreement, but it could be providing additional context. Take this comment thread on PostgeSQL 11:

[https://news.ycombinator.com/item?id=17962821](https://news.ycombinator.com/item?id=17962821)

The comments are significantly more interesting and helpful than the article (not that the article is bad, just the collective knowledge of HN provides more value). I often upvote items because I think they are interesting, but I comment asking questions, adding context, or providing feedback. That's the value of hacker news, IMO.

If you filter that out, I might as well just go to my feedly.

Edit: Prior discussion about hnprofile: [https://news.ycombinator.com/item?id=17942981](https://news.ycombinator.com/item?id=17942981)

<comment><AUTHOR> > Take this comment thread on PostgeSQL 11:

That example doesn't seem to support your point.

211 upvote with only 54 comments seems like a thread with a very high votes- to-comments ratio as well as a high absolute number of upvotes, so I would expect the algorithm to rate it highly.

Perhaps, enough readers looking at the thread and enjoying the article _or_ the discussion would leave an upvote, even if they don't leave a comment. However, in the "squabbly" threads, commenters seem to overrun upvoters, and quickly at that.

I've seen some where someone was creating new HN accounts to circumvent HN's comment rate-limiting, due to wanting to respond on so many sub-threads. It's difficult to imagine that kind of fervor resulting in thoughtful discourse or even conforming to HN's guideline regarding being more substantive when more divisive. As such, a high comment-count velocity would be a good "negative" measure, but, absent that, just comment count is a good enough heuristic.

> If you filter that out, I might as well just go to my feedly.

Personally, I don't think I'd use it as an exclusive filter, but, perhaps, as a next step after the HN front page (but before the HN page 2).

<comment><USER2> I think this post itself is a great example. At the moment, there's a post about vaccines above this post. It has had very little discussions, isn't really about "hacking".

Literally the first comment is complaining how it's lacking:

[https://news.ycombinator.com/item?id=17997400](https://news.ycombinator.com/item?id=17997400)

In the OP's link, the vaccine article appears above this post by a wide margin. It shouldn't.

<comment><AUTHOR> > It has had very little discussions,

That can be viewed as a very good thing, considering the word "vaccine" can be a lightning-rod fod flamewars, even on HN.

> isn't really about "hacking"

It's about science and how it's funded, which is routinely a topic of interest here, and is well within the guidelines: "That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity."

> In the OP's link, the vaccine article appears above this post by a wide > margin. It shouldn't.

Ah, but I disagree. The discussion in this thread is very "meta" and could easily be characterized as annoying, even though I don't (yet) personally find it to be.

<comment><USER3> I'm the author of hnconf and I personally find this meta thread rather annoying. It gratifies me to see that it's ranked really lowly on my site! ;)

</comment></comment></comment></comment></comment><comment><USER3> Author here. There's a longer description in the Github readme: [https://github.com/ejamesc/go-hn-confidence](https://github.com/ejamesc/go- hn-confidence)

I should note that while this site is how I weaned myself off Hacker News, it's no longer as useful as it was in the past (hnconf has existed for 6 years). I've a feeling dang has taken this observation into account (that upvote to comment ratio is a signal of quality) and they've adjusted HN's ranking algo accordingly.

I still use the site, but for a different reason: a site that updates once every 30 minutes is far less addictive than a site that updates all the time.

Shameless plug: if you're interested in little career optimisations like these, you might want to check out my writing at [https://commoncog.com/blog](https://commoncog.com/blog)

</comment><comment><USER4> Imho it's the other way around. Threads with a lot of discussion is interesting because... there is a lot of discussion meaning there are multiple views and rational arguments. I think I like HN's algorithm better than this one, but it's a very interesting idea, so it's definitely good that we have both (for algorithmic variety).

<comment><USER5> That's exactly what I built a while ago:

[https://github.com/paradite/hn-ratio](https://github.com/paradite/hn-ratio)

It has both sorting orders and also past archives, with the other way round sorting as default.

</comment></comment><comment><USER6> Here's the real 'less annoying' hackernews:

[https://github.com/damng/hackernews-rss-with-inlined- content](https://github.com/damng/hackernews-rss-with-inlined-content)

This generates an RSS feed with the contents of the articles inlined and available at [https://damng.github.io/hackernews-rss-with-inlined- content/...](https://damng.github.io/hackernews-rss-with-inlined- content/output.rss)

By-passes most soft paywalls. No Javascript. No Tracking. No 'social' media buttons. No modal dialogs. Just text you can read in a terminal based rss reader like canto.

</comment><comment><USER7> HN itself already pushes down articles that get more comments than votes. Maybe not as aggressively as this site does it, but threads definitely drop down the rankings very quickly if the number of comments starts outpacing the score much.

</comment><comment><USER5> I made a similar web app a while ago.

However, in my web app, I sort by reverse order by default to show the most heated submissions first, with the option to reverse the order.

As a bonus, it also has past archives. Feel free to check it out:

[https://github.com/paradite/hn-ratio](https://github.com/paradite/hn-ratio)

</comment><comment><USER8> Cool site. Like a lot of folks here, I always appreciate things that are minimal and quick.

However, I'd like to ask:

1) what, to you, makes HN annoying? In my experience it is already a very minimal, light, and quick site. What problem did you aim to solve?

2) does this offer any advantage of the many minimal HN sites? E.g. hckrnews?

<comment><USER9> It favors hn links that have a low squabble index.

> This site scrapes Hacker News once every 30 minutes, then sorts according to > this formula, with upvotes as positive signals and comments as negative > ones. In my experience, the best articles to read on HN are the ones with a > high upvote-to-discussion ratio. Mostly because controversial pieces tend to > produce a disproportionate number of comments compared to upvotes.

<comment><USER8> Ah I see, perhaps I was too quick to the draw.

I haven't heard the term "squabble index" before, and google returned zilch, but I like it. That being said, I tend to use the comments on HN as a filter for whether or not the article itself will be worth my time. Perhaps this is a flawed heuristic.

</comment></comment></comment><comment><USER10> In an effort to provide a higher signal-to-noise ratio I've created a "Tech News Only" website at:

[https://techstacks.io](https://techstacks.io)

As I'm more interested in reading about Technology News and announcements instead of the more political and non-technology content that's frequently appearing on HN.

It's a mix of HN/Reddit where anyone can create and become an "owner of a Technology" where they can moderate content posted to their own section and enlist other Moderators to help.

It's optimized for fast navigation and posting with a number of keyboard shortcuts to access most pages of the site. The benefit over HN / Reddit is richer metadata so you can drill into just the news you're interested in. You can "Subscribe" to different technology content and you can post full markdown so content is richer and more visually appealing (if that's what you prefer). In a way I like to think of it as a "hosted RSS" as you can customize your own news feed (in addition to the global feed) in just the content you're interested in.

The sites other primary purpose is to learn about the different "Technology Stacks" that popular Startups and Apps use, which is primarily where all the external contributions are going towards.

It's an OSS/BSD project which you can read more about its features and how it was built at:

[https://github.com/NetCoreApps/TechStacks](https://github.com/NetCoreApps/TechStacks)

Previously I was posting all the interesting Tech News/Posts I've found on HN/Reddit but haven't been able to keep up in the last 3 months due to work time constraints, I'll pick it back up when everything settles back down again, but would obviously love if others could contribute Tech News/Announcements they find interesting.

Ultimately I'd really like to frequent a better "Tech Only News" feed of HN's expert comment quality as I feel that a lot of good Tech Content is being lost and hidden by clickbaity and political news.

</comment><comment><USER11> From the site:

> the best articles to read on HN are the ones with a high upvote-to- > discussion ratio. Mostly because controversial pieces tend to produce a > disproportionate number of comments compared to upvotes

I don't know if this is a perfect way to capture interesting things. Many times I read the headline on HN and then go straight to the discussion.

What HN really needs is an algo that matches interesting articles to your profile. I use hckrnews.com to filter out the most upvoted and commented top posts. But I often find that things that interest me the most may not be the most voted or commented on items.

</comment><comment><USER12> I find this page a little hard to scan. I see that you're going for a minimal look by keeping all post info on a single line, but the varying line length means that the number of upvotes, for example, is in a very different place each time. On the HN homepage, I can glance down in a few seconds and see which posts have the most upvotes, but here I need to concentrate quite hard to do the same since my eye has to do a bit of searching.

</comment><comment><USER13> We should comment a lot on this post, thus ensuring it's high on HN, but low on itself, right?

<comment><USER14> Exactly

<comment><USER15> very meta

<comment><USER16> Squabble squabble

</comment></comment></comment></comment><comment><USER17> _This site scrapes Hacker News once every 30 minutes, then sorts according to this formula, with upvotes as positive signals and comments as negative ones. In my experience, the best articles to read on HN are the ones with a high upvote-to-discussion ratio. Mostly because controversial pieces tend to produce a disproportionate number of comments compared to upvotes._

Interesting thesis. The current listing didn't convince me there's any merit to it.

I might check this site out more often if it included the HN front page ranking and a green/red up/down arrow showing the relative diff.

<comment><USER18> I've wondered about making the opposite, that is, a view that sorts by controversy.

There are quite a few things that get posted here that quickly get votes, quite a few comments, but are soon killed/massively down-ranked by flags. Sometimes it would be interesting to be able to see what these are if you don't see them in the hour or two that they're visible. I know they're often controversial social or political topics and that HN doesn't really want them, but they can still be interesting to look at.

<comment><USER19> You might want to have a look at [https://hckrnews.com](https://hckrnews.com) \- it shows all stories that ever were on the frontpage, ordered by time of first appearance on the frontpage.

<comment><USER18> Thanks, I'd seen that before, but completely forgotten about it.

</comment></comment></comment></comment><comment><USER20> >> This site scrapes Hacker News once every 30 minutes, then sorts according to this formula, with upvotes as positive signals and comments as negative ones. In my experience, the best articles to read on HN are the ones with a high upvote-to-discussion ratio. Mostly because controversial pieces tend to produce a disproportionate number of comments compared to upvotes.

I seem to remember HN itself also penalises posts with a lot of comments, on the same grounds (that they're likely to be controversial) no?

</comment><comment><USER21> To be honest I follow HN via feed (Rss2Email), have tried hackernews Emacs interface but it's simply too limited. WebUI is horrible and IMVHO can't be really improved with web-tech.

For me the best thing is resurrect usenet and create an hn group, eventually prox-ed to the site. It's not a matter of coding but means, websites are great if they are hypertext, if they are applications (like support comment etc) they are bad. newsgroups or mailing-lists work pretty for discussion.

</comment><comment><USER22> I prefer the chronological order of hckrnews. Also this is more annoying to me because I cannot access it without a proxy (from Russia, probably because it's hosted on AWS).

</comment><comment><USER23> For those that are interested, I took a slightly different approach by making a "Hacker News Cleanser service that will periodically hide articles based on title keywords, site, and user.

[https://github.com/barrowclift/hacker-news- cleanser](https://github.com/barrowclift/hacker-news-cleanser)

</comment><comment><USER24> My approach is just filtering out the submissions that distract or annoy me: [https://gist.github.com/ivmirx/66a0015884d44297ea05a8c54d935...](https://gist.github.com/ivmirx/66a0015884d44297ea05a8c54d93566d)

</comment><comment><USER25> It's kind of ironic that if there is a lot of interest (comments) in this project that it will fall off the front page. But not on Hacker News itself. Only on the project page itself.

</comment><comment><USER26> It's also less annoying because the layout makes better use of the screen space and the hotspots are larger which makes it even better for mobile and touchscreen devices.

</comment><comment><USER27> The ironic thing is that Hacker News' sorting algorithm puts your site on the front page, while your own does not. I like it though :)

</comment><comment><USER28> Great!

More political and "bikeshed-dy" an article is, the more comments it has. This seems great to eliminate that type of fluff.

</comment><comment><USER29> i find the most annoying thing it's not mobile friendly, good luck tapping on comments on front page

</comment><comment><USER30> But you need people to use vanilla HN in order to feed this ranking. Should they use both?

</comment><comment><USER31> This will mark me as uncool or whatever but why is HN annoying. I like it

<comment><USER32> It's constantly bombarding me with ads and spam emails.

</comment></comment><comment><USER33> Are there APIs to scrape hackernews?

<comment><USER34> Yes. Some sites as well as apps use it (so scraping the web pages is not required).

See here:

[https://github.com/HackerNews/API](https://github.com/HackerNews/API)

</comment></comment><comment><USER35> Using number of comments as a negative sorting factor sounds wrong. That's a very crude way of marking controversial topics.

</comment><comment><USER36>  [http://hackurls.com](http://hackurls.com)</comment>


Authorities Investigating 4chan Post on Epstein's Death - <AUTHOR> https://www.buzzfeednews.com/janelytvynenko/fdny-investigating-jeffrey-epstein-4chan-post <comment><USER2> "The 4chan thread was first found by Konrad Iturbe, a developer based in Barcelona who was researching conspiracies surrounding Epstein online." First found? Its not like 4chan is an AI or Bots.. what do they mean by first found..

<comment><USER3> Right? It was technically 'first found' by the first 4chan user to read it.

</comment></comment><comment><USER4> This information was in the public interest - that 4chan user was doing a public service by releasing information relevant to the public: a.k.a journalism.

Further, with all of the oddities around this case, if there was in fact a conspiracy to kill Epstein, the release of this information at that time may have prevented authorities from altering the narrative around this incident.

<comment><USER5> If there was any reason to believe that the authorities were "altering the narrative" or trying to hide information then I would agree with you that there's a case for this being a pretty valid case of whistleblowing.

Given that the death apparently occurred an hour before the post and a news outlet reported it less than an hour after it that seems like more of a stretch.

No real way of knowing, but it seems likely that OP was just trying to achieve notoriety through their access to privileged medical information. I'm not really ready to cheerlead that, especially if it muddies the water with any ongoing investigation regarding (unlikely) suspicious circumstances.

<comment><USER6> > If there was any reason to believe that the authorities were "altering the > narrative" or trying to hide information then I would agree with you

Most of the US disagrees with you on that one. They have since the polls predicted Hilary would win in a landslide. The authorities and the press constantly lie about even the little things now. Why should we trust anything they have to say?

<comment><USER7> Most of the US didn't even vote for Trump, so I doubt most of the US believes the Trump camp line that the press fabricated poll and vote data in order to "rig the election." An inability to predict the future is not evidence of fraud.

And believing the press and authorities constantly lie about everything, even small details - things which they would have no practical reason to lie about - is going well past practical skepticism. You're not even accusing the media of getting details wrong here, or failing to properly research, but constant, pathological, willful malice.

That level of extremist paranoia might be fine for T_D or 4chan, and it's uncomfortably common here, but most of the US actually doesn't agree with you in this case.

<comment><USER6> You can try to make this about partisan politics all you want. It doesn't apply here. The polls are either right or they're wrong. And they were wrong. So massively wrong that Hillary supporters were blindsided on election day. That sort of thing shakes even the most steadfast authoritarian.

edit: This cracks me up. [https://news.ycombinator.com/item?id=20688904](https://news.ycombinator.com/item?id=20688904)

<comment><USER7> You made it partisan here:

>Most of the US disagrees with you on that one. They have since the polls predicted Hilary would win in a landslide.

The implication, given the context of the rest of your comment and the subthread (that the media always lies and is covering up the truth about the Epstein incident,) is that the media falsified the election poll results.

After all, it wouldn't be the first time election polls were wrong. That's been a thing since at least "Dewey Defeats Truman." You could have picked any number of incidents to illustrate media bias or the media getting something wrong, but you fixated on something directly out of the Trump playbook.

>That sort of thing shakes even the most steadfast authoritarian.

Who's an authoritarian? Do I hear a dog-whistle?

<comment><USER6> > You made it partisan here:

No, I didn't, nor did I implicate anything near what you're suggesting. I'll thank you to stop putting words in my mouth.

> Do I hear a dog-whistle?

Thank you for reminding me why I stopped posting here.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> This surely won't fuel the theories that powerful politicians killed Epstein.

<comment><USER6> That was happening all on it's own. This is an attempt by the authorities to paint 4chan (and by extension, 8chan and the rest of the internet) as unreliable, not worth paying any attention to and even dangerous (gasp!). It won't work, but I'll give them a B for effort.

</comment></comment><comment><USER9> The title is wrong according to their erratum footnote:

> The FDNY conducted a review of the the 4chan post. A previous version of > this post said FDNY conducted an investigation.

</comment><comment><USER10> I too would investigate an extremist site such as 4chan.

</comment><comment><USER11> > "There's serious consequences for those violations. Discipline. Suspensions. > Civil penalties"

Too bad there will be no consequences to folks who took the guy who _attempted suicide_ once already off the suicide watch, turned off the cameras, and left him alone for an hour.

Nor for the mainstream press who will memory hole this story by Friday.

<comment><USER12> Sometimes I wish America could be more like Hong Kong.

<comment><USER11> Sometimes I wish America could be more like America, the idealized version. HK has plenty of corruption of its own. Chances of survival for someone like Epstein are markedly lower there.

<comment><USER12> I meant just in terms of protesting.

<comment><USER11> I can't recall a recent (within my lifetime, actually) case when protesting (here or anywhere else) has accomplished much.

<comment><USER13> The HK protests quickly succeeded to stop the proposed law.

<comment><USER11> It's too early to say if they "succeeded to stop" anything. Could be that they just postponed it.</comment></comment></comment></comment></comment></comment></comment>


Show HN: Area301.com – Intelligent Leads Aggregator for Web Developers - <AUTHOR>

Link: http://www.area301.com/ <comment><AUTHOR> About the project (From the Author)

History:

\</comment><comment></comment><comment>-----

I am a web developer finding new clients on job listing websites (CL, Elance, Guru, Smashing Magazine just to name a few) and I find it time consuming to go from one site to another looking for leads. Most of those sites do not have good search functionality, and reading new postings via RSS does not fix the situation.

There are also many spammy posts on all of those sites and over the years I learned how to easily spot time wasters and fake postings.

Execution:

\</comment><comment></comment><comment>-----

I decided to create a site which will:

get data from job listing websites ==> analyze this data and try to eliminate suspicious posts, detect quality of leads etc. ==> store this filtered data in a database ==> display it in a user friendly format

I created this tool and called it AREA301 and I use it myself when searching for new web design clients. I have opened it up to the public and let other web developers use it. It is free to use.

I already have more than 100 active users and I address any issues they find as fast as I can.

I am looking for feedback about the idea, landing page design and the functionality of the tool itself.

</comment><comment><USER2> You're going to get a cease and desist from Craigslist, eventually.

They do not take kindly to scraping.

<comment><AUTHOR> Yes, I consider that, but CL has low quality leads anyway, and I am not so aggressive with scraping them anyway. Thx!

</comment></comment><comment><USER3> Very nice tool indeed, but I would need some more time for testing it to tell you my opinion.</comment>


Ask HN: What is your photo backup strategy (on Mac)? - <AUTHOR>

<comment><USER2> My photos are very important to me, so i do several backups: 1) The iPhoto Library is rsync'd to an external HDD 2) The iPhoto Library is rsync'd to a local FreeNAS box 3) Arq backup to S3 [http://www.haystacksoftware.com/arq/](http://www.haystacksoftware.com/arq/) 4) Crashplan backup to 3 locations: an external drive, a local server (not the FreeNAS box), as well as Crashplan central.

Terabytes are cheap, memories are not.

</comment><comment><USER3> I use duplicity ([http://duplicity.nongnu.org](http://duplicity.nongnu.org)) to locally encrypt (GPG) and backup to a LAN machine running ZFS and to one or more cloud services (Google, AWS) depending on the data. This is automated using cron.

Whatever backup option you decide on, do not forget to test the recovery/restore process at least once a year. You can tweak your strategy anytime based on current cloud storage prices.

</comment><comment><USER4> AWS Bucket w/revisions enabled connected to PictureLife.com. Amazon raises invoices directly to me for storage usage and if PictureLife shuts down (hopefully not) then there's no need to export data because I own/control the data. ie. AWS provides the hosting and PictureLife provides the product on-top of my hosting.

</comment><comment><USER5> Manual backup to external HDD + automatic backup to google drive with this app [https://support.google.com/picasa/answer/4392268](https://support.google.com/picasa/answer/4392268) I also like the opportunity to view these photos through Google+ Photos interface.

</comment><comment> Brian-Puccio Time Machine to a Linux file server (large RAIDZ2 ZFS array) for both my MBP and the GF's iMac.

CrashPlan family edition (unlimited backups for up to ten computers) for both of us, the Linux file server and my parents laptops as well.

</comment><comment><USER6> Use Aperture vault, and hope Apple doesn't decide to discontinue the product ..... Doh!

</comment><comment><USER7> I upload my favourite shots to Flickr full res. This is about 1% of my photo collection.

I then pray my HDD doesn't fail!

One day I'll get organised and backup everything up to one of those 1TB NAS with auto-cloud sync :S

</comment><comment><USER8> Google Drive - syncs automatically full res photo's from my phone which shortly end up sync'd to my macbook.

Drive is the authoritive store for my photo's - any thing on my PC can be lost with no problems

</comment><comment><USER9> Unison via SSH to a Raspberry-Pi-attached USB HDD. Upload to Flickr via cron- triggered python script from RasPi. Arq to S3. Hoping that "only to camlistore" will be the answer in 3-5 years.

</comment><comment><USER10> Same as the rest of my data backup strategy. Backblaze.

<comment><USER11> How have you found it? I tried it out and found it was something like 45 days to run a full backup on my 1TB machine, and discontinued it fairly immediately.

Let's just say that was more than 45 days ago....

<comment><USER10> Can't remember how long it took but it finished uploading before I needed an emergency restore ;-)

</comment></comment></comment><comment><USER12> I have all photos in dropbox with packrat feature. Furthermore I backup to my local Synology NAS via their software and to AWS S3 via arq.

</comment><comment><USER13> Onsite backup via time machine to a NAS Offsite backup to Backblaze

</comment><comment><USER14> Time machine once every day to a 2 TB external harddrive (WD Elements). It just works.

<comment><USER10> My big data-loss fear is a household robbery - so offsite is essential. Have you considered a scenario that involves losing your Mac and your backup drives?

</comment></comment><comment><USER15> 3 levels. 1) time machine. 2) BitTorrent sync to share photo folders. 3) Mozy

</comment><comment><USER16> \+ rsync to External HDD at home \+ another at work \+ backblaze

</comment><comment><USER17> BitTorrent Sync from Android to an Ubuntu server in LAN.</comment>


Flight pioneer Santos-Dumont circa 1900 in Paris - <AUTHOR> http://www.pbs.org/wgbh/nova/santos/

<comment><USER2> I am Brazilian and I get annoyed when people insist the wright brothers invented the airplane.

Santos Dumont was not only a pioneer who flew his 14 bis in front of all Paris. He was a true humanist that believed that science and progress were forces for the good of mankind.

He was not into flying for profit or patents, heck, he even shared the plans for the demoiselle on popular magazines.

If you never read about this man and his life, I insist that you check out this program and the books quoted by nwatson. Its a great untold history. I remember crying when visiting Paris for the first time and seeing the little plaque about him for I remembered not only his achievements but his tragic life. There is a colorful story when he gets stuck with his balloon on top of a tree near the house of Princess Isabel who was the Princess of Brazil and lived in Paris. She sent her servants to the tree with food and champagne, Alberto said that he was not going down because he didn't wanted to share that marvelous champagne with other people =) from that day onwards they became very good friends, the flyer and the princess.

</comment><comment><AUTHOR> In reading a recent Hacker News post "The year 2000 illustrated in 1900" (links to [http://publicdomainreview.org/2012/06/30/france-in-the- year-...](http://publicdomainreview.org/2012/06/30/france-in-the- year-2000-1899-1910/)) I was reminded of the Brazilian Alberto Santos-Dumont, a flight pioneer who lived in Paris around 1900.

He was the only person to ever have lived the dream of personal unrestricted urban flight -- he'd fly his personal dirigible balloon all around Paris to visit friends, stop at restaurants and cafes. He was the real-life inspiration for much of what you see illustrated at [http://publicdomainreview.org/2012/06/30/france-in-the- year-...](http://publicdomainreview.org/2012/06/30/france-in-the- year-2000-1899-1910/).

Here's a book I've been meaning to read about him: [http://www.amazon.com/Wings-Madness-Alberto-Santos-Dumont- In...](http://www.amazon.com/Wings-Madness-Alberto-Santos-Dumont- Invention/dp/1422394115).</comment>


March for Life Welcomes Secular, Liberal Pro-Lifers - <AUTHOR> https://www.theatlantic.com/family/archive/2019/01/march-life-secular-liberal-pro-lifers-feel-welcome/580837/ <comment><USER2> Some peoples' ethical imperative to be good to humans derives from the idea that humans are somehow special -- for instance, that consciousness makes humans able to experience pain in a more meaningful way. If you really believe that cows or chickens don't feel it the way we do, then that's at least a consistent stance. But in that case the presence of, say, a functioning brain would seem to bear on the question.

Other peoples' ethical imperative to be good to humans derives from the mere fact that they are human. It doesn't matter whether the human in question has a brain, or even neurons -- the fact that they belong to our tribe is reason enough to treat them specially, differently from all other animals.

That's just tribalism. I hesitate even to call it ethics.

</comment><comment><USER3> Pass.</comment>


Does any bank itself offer a mint.com like service? - <AUTHOR> Do any bank lets people list their assets, liabilities, investments and networth etc? <comment><USER2> USAA does</comment>


HTML5 RPG - <AUTHOR> http://mo.ee

<comment><USER2> I dont understand how to register. I try and make an account and it says I have the wrong details?

Maybe (definitely) the login and register should be should be separate?</comment>


BlackBerry Shares Sink Day After BB10 Launch - <AUTHOR> http://www.techvibes.com/blog/blackberry-day-after-launch-2013-01-31

<comment><USER2> There is a clear reason. Blackberry failed to inspire or identify the market and how they will sell the new device. They had a weak product launch. Lots of coverage but nothing that would really compel people to buy the product.

I would have loved to have seen them come out with something compelling, and the product may be, but if so, I don't think they were able to verbalize it.

</comment><comment><AUTHOR> I'd buy one... if only it were actually available here in the US.</comment>


Ask HN: How would you pass on all of your digital files when you pass? - <AUTHOR> Serious. We all have a lot of digital files that I'm sure would liked to be passed on to children, someone else. How would you do this? Keeping everything under your control, encrypted - until the end? <comment><USER2> There's Google's Inactive Account Manager: [https://support.google.com/accounts/answer/3036546?hl=en](https://support.google.com/accounts/answer/3036546?hl=en)

If you use Google Drive frequently, it might be a good option

</comment><comment><USER3> Multiple copies, encrypted on USB, in a safety deposit box. Probate lawyers will provide the decryption passphrase and death certificate, which is required for the bank.</comment>


DICE – Discrete Integrated Circuit Emulator - <AUTHOR> https://sourceforge.net/projects/dice/ <comment><USER2> For those those who don't like to visit SF, here is the short comments from a year+ ago: [https://news.ycombinator.com/item?id=7817567](https://news.ycombinator.com/item?id=7817567)

> jweather 507 days ago

> Interesting... rather than being an interactive circuit simulator as I > expected, this is an engine for emulating circuits composed of 7400-series > logic chips, 555 timers, etc., defined at compile time. It includes > definitions for several games built this way, such as Pong. Cool project, > but not very well described.

It sounds like an interesting project.

<comment><USER3> MAME does this as well, I believe they emulate all systems DICE does and more.

<comment><USER4> MAME emulates CPUs. DICE emulates games without CPUs.

MAME has a rudimentary version of Pong, but doesn't support Breakout or other games of its generation.

</comment></comment></comment><comment><USER5> Why do people still use Sourceforge?</comment>


Ask HN: Startups what tools do you use to pitch investors or anyone else? - <AUTHOR>

Any tools you use or a tool you'd like to discover/have created? <comment><USER2> A few tips that worked for us. We used Keynote to prepare our pitch deck.

When sharing this in email: \-- always export to PDF (highest quality) and never send the keynote deck. You don't want associates to be tempted to edit your deck / add their own content. \-- always include "Prepared for Name/VC firm/date" on the front page. The doc will be less likely to be forwarded around if their name is on it.

When presenting in person: \-- if you can, present on an ipad. It's more personal, good for face to face conversation with 2 or 3 people, and much easier to use in a coffee shop. \-- export to pngs, and put these images in a folder on the iPad. Use the default iPad photo app to walk through the deck. We got compliments on how slick our setup was, but it was really just the default photo app, which makes it super easy to get around between slides, and pinch back to see an overview of the folder. Much much better experience than the keynote app, which we tried. It was a PITA to get the images in the right order, but was worth it.

When presenting on projector: \-- bring your own dongles for your laptop, one for HDMI, one for VGA. Consider writing your name on them, so there's no confusion when you take them back with you. \-- make sure your presentation is designed for non-wide format. Most conference room projectors aren't wide screen.

<comment><AUTHOR> Thanks for the reply. How was your experience with Keynote? I've never used it - is it user friendly or a hassle to get up and going?

</comment></comment><comment><USER3> I think this question could be split up and/or more detailed.

Example: What tools do you use to pitch investors? (keynote, powerpoint)

What tools do you use to help you pitch to investors and mangage feedback?

What tools do you use to connect with investors to pitch to?

What tools do you use to create a profile so investors can see your pitch?

<comment><AUTHOR> Thanks for the reply. I think this is a good way to break up the question to get more detail.

Also - I like your site pitchto.co - do you have a personal email I can drop you a line at?

</comment></comment><comment><USER4> for investor pitching I'm using inismo.com

<comment><AUTHOR> Thanks for the tip. Never heard of them. How do you like it? Pros / cons?</comment></comment>


Show HN: Index funds are better than Managed funds? - <AUTHOR> Kind of a mix between show / ask:
If actively managed funds give higher returns than index funds, why don't fund groups offer a product that guarantees index return plus a spread (say 0.5%). Charge a fee to get in. Invest the money in a way that beats the market. Their profit would be fees + spread over market.
This seems like easy money if you know you can consistently beat the market. Does this not exist because fund groups can't beat the market? <comment><USER2> Who says actively managed funds give higher returns? I understand they don't (on average), particularly if you consider their higher cost.

<comment><AUTHOR> Sellers of actively managed funds.</comment></comment>


The Costs of Programming Language Fragmentation - <AUTHOR> https://robert.ocallahan.org/2018/10/the-costs-of-programming-language.html <comment><USER2> I also disagree with the premise of this article, and I do not think the argument presented here is compelling at all. The motivations that spur people to do work are complex and diverse, and this article seems to pretend otherwise. For example:

> but it's common for new languages to trigger reimplementation of, e.g., > container data structures, HTTP clients, and random number generators. If > the new language did not exist, that effort could have been spent on > improving existing libraries or some other useful endeavour.

Yes, it _could_ have, but would it? Speaking as someone who has done some of this reimplementation work in a newer language, I can unequivocally say that it would not in my case. I'm just one data point, but I don't think I'm unusual. There is an aspect of greenfield development that is appealing to me. It is a somewhat unique opportunity to execute a vision with a lot of freedom. There is also the benefit of new forms of expression that new tools give you. I'm painting with broad strokes here, but I'm generally a believer in the idea that tools themselves can both limit and empower the expression of ideas.

If it weren't for the new language, I surely would have done something else with my time. I don't know what it would be, but I know it would not be trying to expend the social capital required to make small incremental improvements to existing software using tools that I find too limited. As another commenter mentioned, I might have just watched more Netflix.

<comment><USER3> There are a couple of problems with your perspective:

1\. Even if re-implementation of libraries in new languages were free due to an excitement factor, real software is not built this way. New languages become old, and software needs maintenance. So what you get for free (supposing you're right) is not worth very much and not what counts, anyway. Most of the cost and value is in prolonged maintenance, which has to be done for multiple implementations in parallel.

2\. It's reasonable to assume that work is never really free. But if we're hypothesizing about alternate realities, you may as well imagine that instead of new languages something _else_ is invented to motivate you to do free work.

<comment><USER2> I don't really appreciate the debate tactic of pretending that I made a stronger claim that I actually did. In particular, I didn't claim or imply that re-implementation of things was "free." It is much much easier to demonstrate that claim as ridiculous as opposed to the more measured perspective that I actually expressed.

> real software is not built this way

This is a bullshit say-nothing phrase. You're using "real software" to presumably denote some dichotomy of software that doesn't exist. If you asked 10 people to define what "real software" actually meant, you'd get 10 different definitions. They might agree on the extremes; but there's a whole mess of crap in the middle that we could endlessly debate about.

> New languages become old, and software needs maintenance. So what you get > for free (supposing you're right) is not worth very much and not what > counts, anyway. Most of the cost and value is in prolonged maintenance, > which has to be done for multiple implementations in parallel.

This isn't clearly true at all.

I mean, if you're going to talk about maintenance, then you also need to consider the impact of improved tools on the costs of maintenance. If a tool makes maintenance easier or less costly, then it's pretty hard to say anything definitive about long term costs. New tools can and do impact the usage of old tools, which in turn can have a direct impact on long term maintenance costs.

> It's reasonable to assume that work is never really free. But if we're > hypothesizing about alternate realities, you may as well imagine that > instead of new languages something else is invented to motivate you to do > free work.

Absolutely! But that's not the argument I'm countering. I'm specifically countering the notion that new language development can be "irresponsible" because it "could" divert work away from other projects. What I'm saying is that it is not necessarily true at all.

There is a more measured argument to be made here, but the OP did not make it.

New ideas should be born and die in accordance with the resources of folks willing to keep them alive. We don't need some grand notion of "responsibility" to control the ebb and flow of ideas.

<comment><USER3> > You're using "real software" to presumably denote some dichotomy of software > that doesn't exist.

I think that what I meant was clear from context: software that has a long- term, significant impact.

> then you also need to consider the impact of improved tools on the costs of > maintenance

Sure, but however much maintenance costs, it still needs to be done. It cannot be carried long by a novelty factor.

> New ideas should be born and die in accordance with the resources of folks > willing to keep them alive. We don't need some grand notion of > "responsibility" to control the ebb and flow of ideas.

I agree. Anyone should work on whatever they find interesting, and that (normally) doesn't make the choice irresponsible. But I still think that empirically new languages, on average, increasingly cost more and contribute less.

<comment><USER4> Most new things suck. But every now & then something new AND cool comes along, making all of the old stuff less relevant.

For me, Elixir was yet another language to learn, and was just a reimplementation of another language. But when I used it, I was like "whoa, this is sweet!"

You gotta build something new when you can't find something old that does what you wanna do.

<comment><USER3> My point has nothing at all to do with what sucks and what's cool, but with the fact that transitioning to new languages does have a non-trivial cost, for individual organizations as well as to the industry as a whole. Moreover, productivity gains from new languages seem to have plateaued a couple of decades ago (except from some niches, such as system programming, that have seen little change in the past 20-30 years). I.e., we no longer see the same productivity boosts as we did going from Assembly -> FORTRAN, from FORTRAN -> C, or from C -> Java (and even then, the gains were smaller with each jump). Fred Brooks predicted in the '80s this would happen, and reality has shown even smaller gains than he had predicted. Part of the reason for the growing fragmentation is precisely because no language has stood out as a clear leader.

<comment><USER2> > but with the fact that transitioning to new languages does have a non- > trivial cost

But this is completely uninteresting. Nobody has claimed that transitioning to a new programming languages doesn't have a non-trivial cost.

You're countering a non-existent argument. I mentioned this in my initial reply to you: you're debating a point that is easy to refute. I don't know why, or where the source of confusion is, but you are.

> Moreover, productivity gains from new languages seem to have plateaued a > couple of decades ago (except from some niches, such as system programming, > that have seen little change in the past 20-30 years). I.e., we no longer > see the same productivity boosts as we did going from Assembly -> FORTRAN, > from FORTRAN -> C, or from C -> Java (and even then, the gains were smaller > with each jump). Fred Brooks predicted in the '80s this would happen, and > reality has shown even smaller gains than he had predicted.

This just sounds like a lot of opinion expressed as if it were a fact.

<comment><USER5> > This just sounds like a lot of opinion expressed as if it were a fact

It's arguably overstated, but I'm curious if you would argue that there are languages created in the past 15 years that create as big of a productivity boost as Assembly -> C or C -> something with a GC?

<comment><USER2> I would not argue that, no. I could relate my own personal experiences over the last 15 years, but they wouldn't generalize and might not even be coherent themselves (because I am human and therefore haven't remained immutable).

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> How about the reverse problem?

The cost of mindshare. Everyone grouping up on a major programming language or framework. It's a bit irritating when people often choose their language or framework because of the size of the community rather than actually evaluating alternative languages or frameworks first.

Take React for example. There are some great alternatives to it, especially inspired by react but simpler & cleaner DSLs. But people just keep with React anyways because everyone is already there.

<comment><USER7> I used react for 4 years. I don't see the point in using something that is 10% different.

Then you need to hire engineers, most of them know more react than an obscure library.

React has lower chance to be discontinued.

React works well. I rather focus on building new products than changing tech. Of course during the jQuery time I hated it all the time and I was looking for alternatives, but react is exactly how I think about UI: components (html, CSS, js all in one file) and not templates.

I'm pretty efficient at react and I can't justify using something else.

</comment></comment><comment><USER8> How much of the new languages are supported by a new fresh wave of engineers that want to learn things?

To become a good engineer I had to go through implementing my own container types, play with my own little databases and network libraries, implement a build system, ... I published a few of those experiments in Ruby, the new/hip language at the time. Picking a fresh language seems the obvious playground to do this, it's where you can leave your mark.

My impression was that nodejs developers' age distribution was quite young as well when it started.

My point is that it's necessary to introduce new languages once it a while to get good engineers :)

<comment><USER9> That was my first thought when I read the post: He's discounting the fact that by doing this, many programmers are gaining in expertise. It's not a given that those programmers would grow their skill set as much otherwise. Advancing the state of the art in a well established language requires a lot more skills than implementing simple libraries for a new language.

<comment><USER10> Yeah, but they could write potentially useful apps or features, instead of badly re-writing libraries that already exist.

</comment></comment></comment><comment><USER11> IMHO, the author is completely wrong and the sentence "C is the desert island language" is closer to reality (see [http://www-cs- students.stanford.edu/~blynn/c/intro.html](http://www-cs- students.stanford.edu/~blynn/c/intro.html)). The fact that such a poor language remains the single sane choice to build the kernel of Linux is a proof of the lack of languages. C++ was already a mess in 98. Python started as simple but has added more and more complex syntaxes. Java is in the hands of Satan, Ada is too verbose, nobody takes the effort to learn it, Haskell and SCALA are niche languages not so easy to learn...

IMHO, there is a need for a polyvalent language that would enable development of Linux kernel (low level and performance), that would be easy to learn and that would enable quick development (dynamic typing, syntactic sugar, ...).

<comment><USER12> I'm not sure how old that article is, but parts of gcc suite have been rewritten in a subset of C++ for several years now ([https://lwn.net/Articles/542457/](https://lwn.net/Articles/542457/)), starting from over 10 years ago.

<comment><USER11> Yes, I know that. C++ is also very much used for game development. C++ allows to build very impressive abstractions that are very handy. The main drawback is that this flexibility has a huge impact on the language. When you switch between two projects writen in C++, it is almost as if they were using a different language. I have understood that this language was a mess in 98 when I have bought the standard and read it completely. In professional projects, I always try to avoid it in favor of java despite all the years I have spent learning and using C++.

<comment><USER13> > When you switch between two projects writen in C++, it is almost as if they > were using a different language.

I strongly disagree. This may have been the case 20 years ago, but most current projects use C++, not some weird -fno-rtti -no-stdinc -fno-whatever sub-language. Maybe they don't use all the features of the standard library, but which project in Java or Python would ?

<comment><USER14> Well, to me it's like the way Shakespeare, e e cummings, and Kool Keith all write in the same language.

Context switching between working on work codebase, Chromium code base, and various third party C++ codebases is a headache as much for their basic differences in coding style (use of whitespace, capitalization, naming, etc.) as for their wildly varying build/metabuild processes.

And of course, each implements and then extensively uses their own library features like reference-counted pointers, managed GC pointers, collection data structures, iterator-like abstractions, etc.

<comment><USER15> > their wildly varying build/metabuild processes.

Boost? I'm sure there's good reason for the -- sui generis -- build system. Always been too underwater to spend much time wondering about why that's a yak I'm shaving.

</comment></comment></comment></comment></comment></comment><comment><USER16> I really believe that it is better to have many small 'throw-away' programming languages that can interoperate with each other, than having a few huge languages that are isolated in their own ecosystem.

A language shouldn't be complex nor should it take more than a few days to learn, and it should be easy to abandon when another language is better suited for a problem.

What actually makes many languages useful is their standard libraries and library ecosystem, and the two always get mixed up. When people talk about how great language X is, in most cases they mean how feature-rich or easy to use the standard library of that language is.

With few exceptions, those libraries shouldn't be tied to a specific language. Let me access your library written in language X from my language Y.

Let me easily create projects that are made of different languages, for each part of the project the language that fits this part best.

<comment><USER17> Function calls between languages are typically expensive and difficult to implement. Each language generally has its own expectations about the layout of data in memory, which means that for language A to call a function written in language B, it needs to set up a block of memory in the layout expected by language B. This normally involves a lot of copying, which adds overhead to the function call.

There also needs to be some code that does this copying, and this code needs to be implemented for every pair of languages. Alternatively, all the languages can agree on a common interface level (C, JVM, .NET, etc.), but in this case most languages won't get a function interface that feels native to the language.

<comment><USER16> Agreed, but I think those problems should be solved, the same way LLVM solved the N:M frontend:backend problem :)

It's very likely that interacting with such a generic library interface doesn't feel native to the language, but I think it doesn't have to be a monstrosity like DOM or CORBA.

<comment><USER18> IMHO these problems are fundamentally unsolvable, often because the data models are incompatible (the fundamental behavior and benefits of language A relies on their data structures having trait X; and the fundamental behavior and benefits of language B relies on their data structures not having trait X), so a library written in one language can't just accept nontrivial data from the other, it can't be allowed to operate directly on the other language's data in memory without at least copying it and often requires a performance-killing transformation of the whole data.

You see that in all kinds of interfaces across language boundaries. Memory layouts, thread safety, (im)mutability, structure ownership or reference counting, handles to external/OS resources, etc, etc.

Every language is an abstraction that relies on certain assumptions, and those particular assumptions are what makes the language good for it's niche. Different languages rely on different, often incompatible assumptions. It's possible to build a wrappers that ensure that the assumptions of the other language are met and interaction with native data structures is possible and convenient (e.g. like Numpy does for Python), but that wrapper needs to be different for different languages and assumptions, it can't be the _same_ library, it needs to behave differently in other languages to meet their expectations.

<comment><USER10> Truffle solves these problems. Accessing foreign data layouts results in the access patterns of the foreign language being inlined and compiled into the accessing language. In other words data adaptation is done just-in-time and at the read site, rather than by copying entire data structures ahead of time.

<comment><USER19> Well, for an interesting definition of "solves". As far as I can tell, it effectively introduce a new (implementation-)language, the Truffle language and then adds implementations of language front-ends that compile to this Truffle language.

Which can be functionally adequate for some, maybe many use-cases, but is not the same as actual interoperability.

<comment><USER10> I wouldn't describe it like that. There's no super-language. That's not how Truffle works at all. Rather, Truffle is a way to express language semantics through writing interpreters, such that interpreted ASTs are then compiled into native code blocks.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> I disagree. They can do whatever they want because it's passion driven.

If people finds the new language wonderful they'll choose to spend their time there and to create their own community around it.

It's their free time and they have every right to choose how to spend it.

Also with RPC, the apache project arrow, etc... there'll always be people out there will bridge community.

Also is this really a problem? Programming language fragmentation? I've seen front end javascript frameworks fragmentation everywhere and they're fine with it. And the solution on the horizon are standardization such as web component (via w3c). These frameworks converge toward web component and now it's getting standardize. I'd argued that because of the fragmentation we actually know what we want to standardize and it also pushed for it.

If there weren't any fragmentation I'm not entirely sure if web component would ever be standardize.

<comment><USER13> > I've seen front end javascript frameworks fragmentation everywhere and > they're fine with it

just because they're fine with it does not mean that everyone is fine with it

<comment><USER21> And that's fine too, it's perfectly ok to disagree with the choices others make. But that's as far as it goes, you wouldn't like someone else telling you how to spend your time without getting anything in return either.

I'd bet most developers would be fine with supporting and incrementally improving if they made enough money from that to do what they really want to do on the side.

I would take a minute or two to reflect on all the time and energy that hundreds of thousands of individuals give away for free. It's easy to forget how far we've come by standing on their shoulders.

</comment></comment></comment><comment><USER22> I think this could be mitigated in some cases with better tooling. Many programming languages just make it needlessly difficult to interact with anything that's not part of their ecosystem.

Check out parcel [0], a web application bundler. It has built-in support for lots of different assets [1], with two notable inclusions being ReasonML and Rust! In this blog post [2] they highlight how easy it is to import Rust code from JavaScript.

Another neat example is Objective-C bridging on macOS [3]. The code usually doesn't end up looking very pretty, and it can be brittle at times, but with JavaScriptObjC you can interact directly with all the native APIs using JavaScript. Here's a blog post [4] showing how to write a native app on macOS using JavaScriptObjC.

[0] [https://github.com/parcel-bundler/parcel](https://github.com/parcel- bundler/parcel)

[1] [https://parceljs.org/assets.html](https://parceljs.org/assets.html)

[2] [https://medium.com/@devongovett/parcel-v1-5-0-released- sourc...](https://medium.com/@devongovett/parcel-v1-5-0-released-source-maps- webassembly-rust-and-more-3a6385e43b95)

[3] [https://developer.apple.com/library/archive/documentation/La...](https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/HowMacScriptingWorks.html#//apple_ref/doc/uid/TP40016239-CH73-SW4)

[4] [https://tylergaw.com/articles/building-osx-apps-with- js/](https://tylergaw.com/articles/building-osx-apps-with-js/)

</comment><comment><USER23> That reflects rather well how I feel about the recent DSL craze, specially in the ruby community. It's also how I feel about libraries and frameworks.

Programming languages probably suffer the least from this phenomenon due to how difficult it is to create a complete language, with compilers and all.

In contrast, languages that just extend others often _do_ benefit from existing communities. Take moonscript¹ for example, it's just a new syntax for Lua, so you can use all the existing libraries at no cost. Or take Terra², which can make use of all the C libraries out there _and_ the Lua libraries at the same time.

¹ [http://moonscript.org/](http://moonscript.org/)

² [http://terralang.org/](http://terralang.org/)

<comment><USER24> An example that comes up often for me are EDSLs for database queries. I do see the value of them, but on the other hand it causes you to move away from a "lingua Franca" of database querying to a programming environment specific one. What probably makes sense is 1) evolving SQL or SQL tooling to support more features that people think they need (an example that comes to mind is type safe queries) and 2) better support for binding these queries to different languages.

<comment><USER25> External DSLs (even with "cross-language bindings") are much worse to work with than than internal ones and SQL is no exception. IMO what's really needed is a willingness for databases to step away from SQL and expose an API that's more friendly to modern programming languages (or better yet, make the database embeddable as a library rather than a framework you have to build your application into). The eDSLs help a little, but as long as they're obliged to compile into SQL strings there's a limit to how effective they can be.

</comment></comment></comment><comment><USER26> Isn't this a pretty trivial case of exploration vs exploitation? Clearly we need both.

The more interesting question for me is why we still don't have a widely adopted approach to sharing libraries across languages.

The most promising approach I have seen in recent decades was Microsoft's COM. But it has declined along with Microsoft's clout.

Unfortunately, current industry leaders don't seem to be interested in this problem at all.

<comment><USER27> > why we still don't have a widely adopted approach to sharing libraries > across languages

We have C, lots of languages use C libraries. Pick a random language and it probably has OpenSSL bindings.

<comment><USER26> That's great for sharing libraries written in C. It doesn't generally solve the problem of reusing libraries across languages though.

</comment></comment></comment><comment><USER28> I understand the concern but it assumes that open-source contributions are a zero-sum game, which I don't think they are. New languages often encourage users to become contributors where they might have remained users in the old language [citation needed]

</comment><comment><USER29> "If the new language did not exist, that effort could have been spent on improving existing libraries or some other useful endeavour."

This ignores the value and usefulness of learning for the sake of learning, and to allow other people to hone their skills.

<comment><USER30> Not to mention legacy inertia - things get harder to change in existing libraries when they have loads of users. Even if the change make sense in a vacuum.

</comment></comment><comment><USER31> Thankfully most of the comments here on HN argue:

a) Your advice on how I spend my free time is not welcome,

b) Same ideas that apply to science apply to FLOSS code. You can do and share you research.

And completely disagree with the idea that if I publish some code I do a commitment to maintain that code. That's written in most (all?) FLOSS license: this software comes with no warranty.

</comment><comment><USER32> "However, I hope people consider carefully the social costs of creating a new programming language especially if it becomes popular, and understand that in some cases creating a popular new language could actually be irresponsible."

Passion isn't fungible and there is zero gauruntee that the person who creates an interesting new language wouldn't have chosen to binge watch Netflix instead.

Furthermore without a crystal ball it's difficult to separate ahead of time which efforts will move us forward in some small or large ways.

The entire premise of this post is flawed.

<comment><USER33> > it's difficult to separate ahead of time which efforts will move us forward > in some small or large ways.

That's the point: most efforts do not move us forward but instead move us backwards because fewer people are working on the things that matter.

It's a solid argument and it applies to far more of the open source community than just to programming languages, in fact programming languages are the smaller part of the issue, but the argument _still_ applies.

> The entire premise of this post is flawed.

I don't think so. I would not dismiss an article without at least trying to make a genuine effort to understand the point an article makes. The fact is that it takes effort to launch a new programming language beyond just writing some code and the long term commitment should be there if you are going to let other people run their production systems on what you throw into the world.

This doesn't mean you don't get to scratch your itch, it means that once your programming language gains adoption beyond some people playing around with it you can't just walk off and say that it isn't your problem.

Oh, and it is 'guarantee'.

<comment><USER34> _The fact is that it takes effort to launch a new programming language beyond just writing some code and the long term commitment should be there if you are going to let other people run their production systems on what you throw into the world._

From my admittedly limited knowledge JavaScript seems to contradict this claim.

I don't agree with the article either, one could make the same argument for every piece of new code written.

<comment><USER33> JavaScript is a pretty good example of a language that overshot its goal and that would have benefited from evaluating the cost of its release. It was put together in a hurry, without much in terms of forethought and we're paying the price every day.

> I don't agree with the article either, one could make the same argument for > every piece of new code written.

So you _do_ agree. Yes, you could make the same argument for every piece of code, and that's precisely the point, the author chose to use programming languages where the problem is the the least visible. But that does not invalidate the point, it strengthens it.

</comment></comment></comment></comment><comment><USER35> So, if we follow the authors logic we should abandon all science because we don't know what they might cause.

Innovation is pure by nature. Judgment is done empirical evidence after innovation. You can't change the order.

<comment><USER36> No. Languages are also, of course, _languages_ , i.e., notation.

If every chemist changed notation every 3 years, there's an off chance that one might develop something better than Hill notation, but it would also make it unbearable to try to read the literature. I don't think it's controversial to suggest that this would be a net loss for the field.

Computer science is young enough that we don't have any universal notation yet, but I've learned a couple dozen programming languages and my conclusion is that _maybe_ 1 new language per decade is worth using. We're churning notation way faster than is productive.

</comment></comment><comment><USER27> Programming languages and libraries are not universally expressive or useful and are not of universally good quality. New independent languages and reimplementations are necessary to better express problems and therefore reduce defects and maintenance costs. They are also necessary for anything of quality to emerge, for all the right people to make all the right choices. Incidentally this is one of the reasons that prevents large projects from achieving good quality and large organizations from producing quality software.

<comment><USER37> Im not sure where javascript falls along this.

A painful language that I can use everywhere exists.

</comment></comment><comment><USER38> When exactly have diversity and choice become problems?

It's a blessing that so many new languages are popping up. Those that have a reason to exist, will succeed, and the time spent on them will be an investment; those that will fail will do so for a reason. And that's ok. Some people will have wasted their time. But not the community as a whole.

Failures are part of evolution. Thanks to failures we have Rust and Julia and Nim and who knows how many other new interesting languages.

</comment><comment><USER39> I don't agree.

With times languages become obsolete, so from one side they try to "upgrade" their syntax, semantic and internal, from the other side they keep backward compatibility.

Keep adding features on top of something that was not designed for those features will simply create a huge mess to work with.

And arguably the oldest languages are the one where you need to follow "best practise", where there are thousands of way to achieve the same goal, etc...

It is not bad, but we really need newer languages to move forward the field. Most of them will fail, some of them will fail while having used a great amount of resources, but some will eventually succeed and moving the field forward.

<comment><USER27> I don't think languages progress evolutionary like species. None will probably succeed, but we will have a lot more variety of languages for anything we can think of.

</comment></comment><comment><USER40> Thank god nobody listened to his advice, otherwise we all be doing Basic and Java ( such rebel's)

</comment><comment><USER41> It is not just creating a new language. In a company environment you see a huge cost when people want to start using a new language or/and framework.

It comes down to values and what push people forward.

I am not saying one language should be enough. I am saying that for example that even for a company that already has a library of more than a few components built in React a a medium codebase using it, starting using Vue will add a quite large cost. Even if a framework is 20% better in some metrics, having to rewrite some reusable components (assuming they were written well) in another framework is going to sunk a bunch of time. There is a learning curve that people need to go through. Hardly the first time you use a framework, you end up writing the most awesome code in that framework. There are bugs, there may not be a lot of documentation or open source libraries. From an engineering prospective is going to be fun and you are going to learn something new but from a business prospective it is rarely a good decision.

Same thing is probably true when teams in company with a large Java codebase want to switch to Scala.

On the other end when you have a 10x better framework or technology you are better paying attention and make sure you plan a transition sooner than later. For example, I think GraphQl is a order of magnitude better than REST when you consider a whole end-to-end system.

Engineers, especially the smart ones, get bored quickly. Inventing a new largely adopted language or framework is an irresistible calling from inside. Exploring new territories is also another source of growth. It is all about values and the way we go about satisfying them.

</comment><comment><USER42> My "side" take on this is that as long as reimplementation is considered an urgent activity with each new language, we may be privileging languages that are actually _better_ for rebuilding things that are already well understood over languages that are better for "feeling our way through problems".

I'm not 100% sure of this point, but it feels at least possible that features that make a language good for reimplementing a problem with the structure known in advance might be awkward for exploratory work. I've built a bunch of stuff recently where I had NFI what I was doing as I went along and had to tear up vast tracts of the data structures as I went; it was good to have the fairly loosey-goosey typing of a mix of C/C++ and (effectively) asm to do it (while still being able to see performance levels of aggressive optimization, which was also part of the goal).

</comment><comment><USER43> Developing TXR is one of the best things I've done. From the perspective of a user, I'm grateful for its existence.

<comment><USER44> I'm grateful too.

</comment></comment><comment><USER45> Vendorization. For every language out there there is a consulting firm or corporation selling tooling and support. This allows business strategies aimed at market capture and monopolization.

To business, you're not a general purpose plumber, you're just a specially trained installer of a particular brand of water boiler.

<comment> GuB-42 This is a consequence, not a cause. With a few exceptions (ex: Java), successful languages are designed with a use case. C is for writing UNIX, Rust for Firefox, PHP for generating personal home pages and JS was Netscape's solution for dynamic webpages, Go is well suited to what Google is doing.

Authors of these languages want them to be successful because the more popular a language is, the more people will help them on their project. They may even give out free tooling and support for that reason. Consulting firms usually come later, when the language is already popular.

</comment></comment><comment><USER46> It's hard to do, but I would like to see more overhauls of existing languages. I wrote a relevant comment about the approach of Checked C vs. Rust here:

[https://news.ycombinator.com/item?id=17944310](https://news.ycombinator.com/item?id=17944310) (tl;dr Software gets rewritten much less frequently than you think. Rust is going to add to the existing ecosystem in C++ and C, not replace it.)

Facebook's Hack is another example of this approach -- an overhaul of PHP. Although I guess it led to 2 languages and not one -- it's not replacing PHP! Like I said, it's hard :)

</comment><comment><USER47> Most new languages come with an improvement, usually of the non-trivial sort and grow communities and survive on their own merit. Usually, the benefit of a new language exceeds the cost... or it simply gets no traction.

</comment><comment><USER48> It's annoying how new languages sometimes become popular in spite of not adding any value to the development process. I think part of the problem is that new languages open up a new market which incentivises developers to create open source libraries that will become the foundation of the new ecosystem; it's a sure way to become a 'rockstar developer'; if the language succeeds, you succeed with it; the odds of success are much higher than having to compete with other libraries and frameworks within a well established ecosystem.

</comment><comment><USER49> He's right about the cost, but it's surely smaller than the cost of bloated protocols, specifications, reference implementations. Nobody except large corporations is able to implement a competitive web browser, for example, regardless of the language. New languages would be much less of an issue with clean API designs and specifications.

</comment><comment><USER50> It's like asking authors to not write books unless they know they have a New York Times bestseller on their hands...

</comment><comment><USER51> The opinions expressed in this blog post are one of those uninteresting, infinitely parroted idioms that people like to assert to seem smart and pragmatic, but are completely idiotic upon further reflection.

It's similar to "If you rent you are throwing your money away" completely ignoring the realities of how DUMB that statement is. Paying for a house which you must mortgage, pay taxes on, and maintain, but cannot rent out or sell is much more expensive than renting someone else's house, and historically the stock market gives greater yields for many investors.

First of all, we have not yet written the perfect programming language, and every single language written has pros and cons for various different tasks.

Choosing the right language can lead to writing abstractions that make you ABSURDLY more productive than alternative choices. Write RabbitMQ in Javascript instead of Erlang and tell me we only need one language to rule them all.

Off the top of my head, I can think of 5 languages that have MASSIVELY improved the software ecosystem over the last 10 years: Golang, Rust, Elixir, Typescript, Elm.

> However, I hope people consider carefully the social costs of creating a new > programming language especially if it becomes popular, and understand that > in some cases creating a popular new language could actually be > irresponsible.

Unsurprising a self-proclaimed christian programmer takes the moral high ground, and asserts writing a new programming language out of passion, love, or an actual need for a new language to allow for cleaner abstractions for your particular use case can POSSIBLY be unethical.

I have a different suggestion: Consider the social costs of parroting idiotic drivel you heard one time and trying to pass it off as actually interesting insight.

</comment><comment><USER52> In ecology, what the author cites as a problem would be seen as a sign of a healthy robust ecosystem.

</comment><comment><USER53> I think this is one of the best things about Clojure and similar "hosted" languages...leveraging preexisting huge ecosystems. You really do (as much as one could reasonably expect) get to have your cake and eat it too.

</comment><comment><USER54> It's a very good question. However, thinking about it, the conclusion should probably be that the cost of continuing to use the same language while there exists another language more suitable to attack your problem is higher.

</comment><comment><USER55> Fragmentation yields a distribution of effort which yields theoretically inferior products, compared to the theoretical output of all the individual parts working towards the same goal. (Debatable, but we'll assume it.)

Centralization yields a lack of competition yields a lack of a drive to improve inferior products yields stagnation and disenfranchisement. (Also debatable, but probably safe to assume here as well.)

Startup costs in this area (basic compiler stuff, usually handled by llvm and other varied metacompiler frameworks nowadays) become vanishingly small with time, while the long tail becomes ever larger (libraries, tooling, ecosystem goodness, all are expected now).

Given these two observations, when a language becomes popular despite starting in a fragmented ecosystem, it slowly grows, starts to take advantage of network effects, and gains the benefits of growing centralization as it becomes "the defacto choice" in some area (usually at the cost of other players in the space, be they large or small). Eventually, it stagnates, parts of the community become disenfranchised and go and spawn their own languages and variants (taking ideas from their origin, along with their grievances and ideas from other areas with them), and the process begins anew. However because of the growing long tail, each time this cycle takes place, the time between expansion and explosion takes longer and longer.

At least, that's how I've been led to believe systems like these tend to work.

It seems like the call to be _mindful_ of what you're doing when you make a language is sensible; if you contribute to the cycle, you're contributing to what will eventually be 2 years of long-tail work for what will be the de- facto norm for developer tooling 40 years from now; but that's a terrible way to look at it. Wouldn't you rather get in closer to the ground floor and be part of the first iterations that set the standards for the iterations which come after? Isn't thinking of it any other way just being defeatist? (Since it amounts to concluding that future generations of developers must be better at this than you, and so are worth more early-cycle-iteration time?) So what if it's indulging the ego some; if that's the cost of improvement, then so be it. The languages we have today wouldn't have been made without their predecessors, and the languages of tomorrow won't exist without the ones we have today. Is it also equally possible that deciding _not_ to make some new language potentially delaying the progress of the programming language field as a whole? Is making that value judgement in the purview of anything other than hindsight? I can't begin to imagine in what ways future languages may improve life as a developer, but if they're anything like the stark contrasts we've seen recently in certain PL areas (ie, systems languages), it's sure to be exciting.

</comment><comment><USER56> Points to the author, just because one can create doesn't mean one should. Should there not be more intentional thought in creating and creations ramifications? "Now I am become Death, the destroyer of worlds."

<comment><USER57> You can't seriously be comparing rebuilding arbitrary software to building an atomic weapon.</comment></comment>


GitHub Archive - <AUTHOR> https://www.githubarchive.org/ <comment><USER2> This archive we'll be a treasure for digital archeologist in the distant future. By distand future I mean a couple of months. There obviously isn't room for archiving all changes to all the content on the web, but it's actually possible to archive github.

<comment><USER3> > obviously isn't room for archiving all changes to all the content on the web

archive.org has been working on that that since 1996, and have about 9 petabytes of data so far.

</comment></comment><comment><USER4> Uses SSLv3...can't even access it at my place of employment (we block the bad protocols)

<comment><USER5> That's very odd, as its being served by Cloudflare, which has SSLv3 disabled by default:

[https://blog.cloudflare.com/sslv3-support-disabled-by- defaul...](https://blog.cloudflare.com/sslv3-support-disabled-by-default-due- to-vulnerability/)

➜ ~ host githubarchive.org githubarchive.org has address 184.108.40.206 githubarchive.org has address 184.108.40.206 githubarchive.org has IPv6 address 2400:cb00:2048:1::681c:1b08 githubarchive.org has IPv6 address 2400:cb00:2048:1::681c:1a08

NetRange: 188.8.131.52 - 22.214.171.124 CIDR: 22.214.171.124/12 NetName: CLOUDFLARENET NetHandle: NET-104-16-0-0-1 Parent: NET104 (NET-104-0-0-0-0) NetType: Direct Assignment OriginAS: AS13335 Organization: CloudFlare, Inc. (CLOUD14) RegDate: 2014-03-28 Updated: 2014-03-28 Comment: [https://www.cloudflare.com](https://www.cloudflare.com) Ref: [http://whois.arin.net/rest/net/NET-104-16-0-0-1](http://whois.arin.net/rest/net/NET-104-16-0-0-1)</comment></comment>


Show HN: Elevator – get paid for access to your professional profile - <AUTHOR> https://tryelevator.com/personal <comment><AUTHOR> Hi all,

Paul (Elevator) here. I'm posting this Show HN in response to (and support of) "Finally, I closed my LinkedIn" [1] posted here on HN yesterday.

To echo PC Maffey's sentiment, LinkedIn has always been an annoyance (but necessary evil) for me as a software person. It's never gotten me a job, even indirectly through the many (many) recruiter connection requests that flow through each month.

I was annoyed that my profile was being monetised by LinkedIn and the recruiters who pay to use it. As a software eng who would be looking for a (say) 100k salary, recruiters would pop 10-25% on top, meaning smaller shops who _can_ pay 100k, now possibly can't afford the (say) 115k price tag, so there's a chance I wouldn't be put forward for the role as my salary request would now be out of their price range. I lose out, and the company loses out.

Why don't companies pay to obtain our details, and connect directly? The connection would be more "real" as there's a price tag attached to it. Connection requests would be from people who were willing to part with a fee in order to get in touch, and it's not a social network: it wouldn't be just about growing audiences with mindless "how to business" updates.

I teamed up with some colleagues to build Elevator over the past year. We workshopped a couple of early prototypes where people monetised their CV, but there was relevance issues when companies searched; they got unrelated results from historical role info.

So, we reverted to a "hard skills and experience" search model where companies can search for what they need (and only what they need). we found that it helped remove early-stage bias in that gender, orientation, and race are removed from the connection process.

We're at around the 500 user mark now in MVP mode, and only operating in Australia right now, but feel free to give it a rattle and tell us what you think.

Thanks - Paul G.

[1] [https://news.ycombinator.com/item?id=23486938](https://news.ycombinator.com/item?id=23486938)</comment>


Ask HN: What a/b testing framework do you use? - <AUTHOR> I am currently looking into using an ab testing framework for our company. We want something that is framework agnostic, preferably with a REST API but also with good language integrations already. It would be great to have tools to target tests at specific user demographics based on our user data.
We don't really want to build something from scratch.
I have been checking out Optimizely so far and it seems like it will tick most of the boxes. What other alternatives should I be looking into? What do you love and or hate about what you are currently using?
Interested in both paid subscription services and OSS <comment><USER2> Hey dpix, so full disclosure I work there but we (Kameleoon) tick your boxes too ;)

And we do have an awesome customer success team that can do either classic support or handle your testing for you.

But I'm obviously biaised so you'll have to check it out yourself :)

Usual suspects are: VWO, Optimizely, Adobe target, Oracle Maxymiser.

</comment><comment><USER3> Hello!

I work at Optimizely so happy to answer any questions about our tools. We have a solution for the Web, as well as developer SDKs to A/B test in code.

You could also look into open source tools like Facebook's Planout: [https://github.com/facebook/planout](https://github.com/facebook/planout).

<comment><AUTHOR> Thanks! One thing that is unclear is that you seem to have to create a project based on a language/toolset. Can you use that same project using different client sdks?

If I want to use the same project across both front-end and back-end, should I be choosing javascript or C#? Does it matter?

<comment><USER3> Good question -- If you create a single SDK project, you can use any of the SDKs. Use the C# SDK on the backend and JS SDK to track client-side events. Feel free to reach out with more questions.</comment></comment></comment>


100 Useful Eclipse Shortcuts - <AUTHOR> http://www.javaexperience.com/100-useful-eclipse-shortcuts/

<comment><USER2> In my last company, Eclipse was mandatory. Thank God, i don't have to use this piece-of-shit application ever again.

Just looking at

88\. Alt+Shift+M: Extract to method 89\. Alt+Shift+L: Extract local variables

should give you the creeps.

</comment><comment> V-2 I especially like

       52.	Ctrl+X: Cut
       53.	Ctrl+C: Copy
       54.	Ctrl+V: Paste

Got it memorized, sir. I'm also very glad someone shed light on the mystery of Shift+Up, Ctrl+A, Ctrl+Left or, Lord help us, Insert ("switch between overwrite and insert mode") ;)

</comment><comment><USER3> My favourite is ALT+F4...

</comment><comment><USER4> This is a joke, right?

<comment><USER5> Given the username and the domain, I'm thinking not.

</comment></comment><comment><USER6> Is there a shortcut to install IntelliJ? ;)

</comment><comment><USER7> These look pretty useful, but I can't find the uninstall shortcut in that list. :(

<comment><USER8> For Kepler SP1 on Windows it's:

alt+h, a, i, right, right, right, shift+tab, right, tab, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, down, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, right, shift+end, ctrl+c, alt+f4, win+r, c, m, d, enter, r, m, d, i, r, space, alt+space, e, p, /, s, /, q, enter

</comment></comment><comment><USER9> great list</comment>


Show HN: Eul – a lightweight native desktop client for Skype, Slack, Gmail - <AUTHOR> https://eul.im/home <comment><AUTHOR> Hi, eul is a very lightweight and fast native desktop client for Skype, Slack, Gmail, HipChat, VK, FB, Jabber, Telegram, and Signal. Right now only the first four are supported, and the rest should be done by the end of September.

Why did I create this? To solve two big problems I see with the current IM solutions: there are too many of them, and the clients are ridiculously bloated for what they are built to do. For example, everyone knows what a huge resource hog the Skype client is. Even the Telegram client, which is supposed to be lightweight, is using 1.3 GB of RAM on my desktop right now.

I'm obsessed with performance. The entire application is about 4 MB, and it's never going to be more than 10 MB. In fact there are still many things to optimize. It's native, so you don't need to download a 100 MB browser just to use your IM client.

eul can display thousands of messages in one conversation without the constant page fetching. The scrolling is instant and smooth. You can jump to any message without waiting. I've tested it with 50 000 messages in one chat. No lags, instant scrolling to any point, instant search. That should be enough for most :)

This is a beta release. Some essential features are still missing (for example, images and other attachments are not supported yet). Automatic updates will be released every day. There's a built in contact form, please use it to submit bugs and suggestions.

Looking forward to hearing your feedback.

Thanks

<comment><USER2> How does this communicate with Skype, they don't have an open API that I'm aware of?</comment></comment>


Wow Google Chrome Is Fast - <AUTHOR> http://jtame05.wordpress.com/2008/09/02/wow-google-chrome-is-fast/

<comment><USER2> reminds me of the time when utorrent was released when all the other clients were memory hogs and slow....</comment>