skysight-inc/HackerNews huggingface dataset:
"Haters" probably do realise that.

Personally, I just don't see anything interesting that .NET offers. In fact, I consider languages which target virtual machines to be a failed experiment of a bygone age.

The two exemplars, Java and .NET have been thrust upon developer communities by multi-million dollar marketing efforts. And those marketing efforts have not been tailored towards my specific demographic. So they've been pretty easy to ignore.

So it's not a matter of being anti-.NET or Java or whatever. It's just that they're about as relevant to me as Barbie-themed toilet paper - superfluous and not marketed towards my demographic.
I don't think you've looked very closely (if at all?). There is tons of stuff happening in the OCaml ecosystem. Compiler improvements, large scale projects, more industrial uses and also new books. Try looking at http://OCaml.org for some links (and the planet newsfeed), as well as the websites of OCaml Labs (see the article) or OCamlPro.
What is Java's startup and JIT overhead? Go seems to be a good replacement for when you need a faster Python. For large, long running programs the JIT probably has better optimizations than the current Go compiler.
Social Media Engagement Is Imperative: Start Talking
PG doesn't hang around HN at present. I'd recommend reading some of his essays, including: http://www.paulgraham.com/siliconvalley.html
we have a php-fpm equivalent. It's not open source though.
How do you expect the problem to be fixed without you reporting it?
They do milk spiders, but antivenom is generally created by injecting small amounts into animals like horses until they build up antibodies that are used to create antivenom.
Completely anectodal, but I've been a big time binge drinker in my teens in two different EU countries, and I never really felt the urge to drink starting in my 20s. I've gotten that out of my system, no longer as cool as you'd think. I don't even drink when I go out to a bar and club (you won't know that though, it looks like I am) and I go wilder than most drunkards.
The difference is, in those days you'd install Linux and maybe you don't get a working sound card or network or modem (since that was a thing). So you have to seek out replacement cards that have drivers. The worst is if your IDE controller doesn't work and it can't find the disk, but that was rare. I guess I also had a motherboard here and there that would cause panics on boot. But, the important point in all of this, is in those days it was never the case that the installation disk was actively trying to prevent you from booting. You usually got somewhere, and the stuff wasn't actively working against you, it was mostly just missing drivers.

And of course, today a stock distro kernel has more drivers in it than Windows or OS X, so it is a long time ago that you're talking about.
RFC7238 is still marked as experimental.
I'd like to see performance vs. PayPal.

I launched a project a month ago (a desktop Windows app) and only had the Stripe checkout. Guess what? No one outside SV and HN has any idea what the heck Stripe is and half of them "don't feel like giving you my credit card info" even though it says right there that it goes directly to Stripe. So after 2 weeks I grudgingly added PayPal and added itsy-bitsy hard to find link to it on the checkout page... Drumroll... nearly 50% increase in sales!
The comparison is completely fair; I don't think he's making the general statement that Go is faster than Java. He can legitimately make the claim that the overhead of a slice of ints is far smaller than an array of ints in Java.

You can add methods to an int in Go without any overhead by simply defining your own type that is backed by an int and then adding functions to that type. It still costs same.

Java performance for real-world, long-running, well written applications is greatly enhanced by an excellent JIT that improved performance over time. Go can be faster for looping over a list of integers while Java can win at branch prediction in complex code paths.
I don't think most people have a solid sense of what is acceptable safety for dynamic SQL. The goal is to avoid injections, so you have to ensure that can't happen. If you have a reliable way to quote/escape literals (values and identifiers might have different syntax for this) you're good. It is risky, like all programming, to take matters into your own hands, but so is using a library you can't understand. Good luck.
Reminds me of the almost identical https://www.kickstarter.com/projects/beerinthesun/beer-in-th... which was around last year. Looks like their homepage (beerinthesun.com) is now something completely different.
I recommend to anyone who thinks they want to use an ORM to start out by writing one, so they'll understand the product space and use cases better. It's my own little subversion of a crappy paradigm.
Not only that. Usually these comparisons cleverly leave out AOT compilers for the said languages to make theirs look better.

In Java's case there are quite a few JVMs, many of those with AOT compilation to choose from, even implemented in Java itself.
What's the future of instant messaging?
What about productivity? A professional programmer, blogger, etc. needs to create huge amounts of content.

Trouch-screen devices are good for content consumption but absolutely unfit compared to computer for content creation.

People are creating high quality keyboards[1] because there is an actual market :-)

[1] http://codekeyboards.com/
An interesting article and I am guilty of copy and paste errors myself. But the bias towards the last line may be because those mistakes are tested less then other parts i.e. in an if statement early conditions mean the final condition is never tested.
Not only that but it's an easier to find out what is going on inside a JVM versus a static Go binary. It's not all about performance.
You can read about the Mirage work at http://openmirage.org It's also a core piece of a toolstack we're putting together for building distributed systems/applications (http://nymote.org).
Hints are useless, but arranging for cold code to be on a forward branch can be beneficial.
Git Fap
I'm no Javascript advocate, but I just found out that you can use Chrome like that for JS, where I can edit a function, press Ctrl+S, the Chrome REPL will say something like "functions recompiled in 80ms," and then your running app will use that function. I have to say that developing like that is pretty great.
Agreed.

We working hard to be as close to Zend as possible, though we are not there yet. You can try "translate" and run HippyVM against php-src suite.

"Basic" PHP compatibility was achieved which means that most of the syntax and stdlib from recent PHP is there. What we are doing right now is implementing modules (phar, fcgi, ...)
What the large scale structure of networks can tell us about complex systems
How does Swift store arrays of structs?
SciRate – track and comment arXiv preprints
If the only point of comparison is PHP, everything looks like the best thing ever compared to it.
Alas, this is a fool's errand.

The keyboard is a broken interface, but this isn't an improvement.

Suppose I am the user identified in the video. I have a tablet—maybe not a Microsoft Surface, but a tablet nonetheless—and I currently use a slimline keyboard to type.

You hand me these. First thoughts: what are they? What do I do with them? Great products are those that someone can be presented with for the first time, and in a matter of seconds figure out what it does, how to use it, etc. Think kids reacting to technology [1]

So for argument's sake I read the manual, or you give me a walkthrough. Great, how do I start using them? Oh, they have to 'learn' my writing style? Is my first impression going to be a string of largely inaccurate input?

How am I going to 'teach' this system? Through some proprietary software, which I may have problems downloading, and which may not even work on my device? How are people going to demonstrate these in stores; how am I going to proselytize to my coworkers? "Just try these out; wait, no. Yeah, don't worry about that, they have to learn your typing style. Yep, they'll do that for a while... no, but they're really great. Honestly... honestly."

This is already sounding like a lot of effort, but you've assured me there's gold at the end of this rainbow. Surely the cost-benefit analysis will check out.

So I've got them working. Are they accurate enough? Let's assume they are. This isn't too bad actually. I'm going to hop on Twitter and tell people all about this. Hashtag AirTypeRocks! Hashtag... hashtag... where's my hash key again? I can't seem to find it on this wooden bench.

Okay, that's a downstream problem. For now, I'm going to pack these up and head home. But where do I put them? They're an awkward shape. They look pretty easy to break.

What happens when I lose one of them? Is the entire system rendered useless? They look expensive to replace.

Are these yet more devices I'm going to have to charge? I'm already fed up of charging my laptop, phone, tablet, etc.

Are they going to protect the screen of my tablet device in transit? Looks like the opposite. I think I'll hang on to the keyboard-cum-screen protector for now...

[1] http://www.youtube.com/watch?v=PF7EpEnglgk
It's understandable that being up-to-date with the latest academic results doesn't guarantee success. There are many, many other factors that determine the eventual success of a startup, and therefore it's investment appeal.

But I didn't see the article as a complaint that "investors are wrong", but rather "before you spend months inventing and building a new UX flow, take a few days to read about the latest research".

If a developer needs a balanced binary tree, they will first look for an existing implementation in the language they are using. If one doesn't exist, a good developer will check Knuth/CLRS/Wikipedia for the suitable algorithms and build it based on these recommendations, instead of jumping in and hacking something together on the spot.

I think the article argues that UX and product design could use a similar approach. If you are deliberately testing a new approach, sure, go build whatever comes to mind. But if you just need an "incentive mechanism" in your app, then it makes sense to read up about the existing research on what kinds and how large incentives work, instead of making a guess on the spot. And even if you are innovating on some aspect, it's useful to use the existing best practices as the starting point and improve & measure from there.
Well, the JDK's ArrayList, for example, will box ints into Integers, but there are primitive int lists that won't. With Go, AFAIK, the problem is exactly the same. Can you write, say, a heap or a read-black tree that can store wither ints and strings, that will embed the ints? Also, value types are making it into the JVM in Java 9. I don't think that will solve the packed representation in a generic data structure problem, but neither does Go. OTOH, Java does optimizations that Go never can. For example, Java can inline interface calls, which Go can't (and due to the way Go defines interfaces, method calls are slower than Java even when not inlined in either).

Having said that, there are things about Go that I like better than Java: 1) no implicit primitive promotions (widening conversions), 2) a small standalone executable, 3) excellent start up time. The latter two make Go suitable for quick, small programs, like command line tools etc.

However, there are more things I like about Java the Go doesn't have: 1) dynamic linking, 2) final variables, 3) concurrent data structures, 4) awesome monitoring and profiling tools, 5) generics, 6) state-of-the-art GC, 7) a polyglot VM (I also prefer Java's exceptions and explicit interface implementation, but these are minor considerations). So whenever I need serious, long-running, server-side software, I'd stick with Java over Go. Particularly now that Java has fibers (goroutines)[1] (I'm the main author).

[1]: https://github.com/puniverse/quasar
As you mention. We have ongoing branch for a implementation of HippyVM-Python bridge. We are hoping to achieve the goal that you described, though we are not sure if this will the last of first step on this path.
Absolutely, but it also has better performance than Go.
That not, but most Java native code compilers (both JIT and AOT) do a relative good job of escape analysis and transform those new into stack allocations if possible.

Additionally, value types are already available as extensions in some JVMs like IBM's J9.

http://www.websphereusergroup.org.uk/wug/files/presentations...

Oracle is also pursuing their metacircular VM project Graal[1], formerly Maxime, which has an improved escape analysis algorithm.

https://wiki.openjdk.java.net/display/Graal/Graal+Partial+Es...

A big mistake many people do when talking about Java, is equating Java with the OpenJDK, when there are lots other implementations to choose from.

[1]Graal is planned to eventually replace Hotspot and is being used for GPGPU support in Java 9
Definitely a good point. At that point, when we start generalizing across industries, it becomes a fight against the dominant economic system. (Nowadays capitalism, like one would in the past fight Soviet communism, feudalism, slavery, etc... towards more sensible societies.)

I believe those who don't are left with conspiracy theories: of bankers and captains-of-industry who connive to ruin a world otherwise populated by benevolent bosses and their happy subordinates.
> What is Java's startup and JIT overhead?

Quite fast if you use an AOT compiler.

On the server side, it is usually doesn't matter that much. And when it does, there are JVMs that cache JITed code.
You're right in principle but couldn't be more wrong in practice. I certainly don't have time to educate all 7 billion people in the world about password managers and you're clearly doing very little in that area either (aside kicking off condescending rants at your peers....) so deliberately implementing a scheme that's shit for 99% of the worlds internet users just so it's better for last 1% who are technically minded is just elitist and wrong.

Which ever solution is implemented needs to work for all groups of internet users - not just yourself ;)
It is a joy when you get used to it, but it's not as immediately accessible as Python. As I recall, my first hour or so with OCaml was full of frustrating syntax errors. Keep going though, it's worth it!

One thing I don't think the tutorial mentions, but which helps a lot, is turning on all warnings ("-w A"). The tutorial also fails to mention ocamlbuild, so you start by compiling things manually, which makes everything harder than it should be.
Smartphones are significantly more limited than options for clothing.
Swifty News: A Hacker News app built in Swift
It's too slow. Everywhere I go - St. Regis, Fusionopolis, Fraser Place - Lucky to get more than 3 Mbits/second. I have to rely on wireless for performance. Singtel + LTE gives me about 30 Mbits.
Seems the same with http://xip.io
I'm not really following the analysis too well (I'd like to just see the raw data) but when they did their differences in differences seattleTRUE:uberTRUE had a p-value of over 0.05
https://gonative.io/examples looks descent
just built an android app for bbus.in & pypnrstatus.in
There's nothing I can say about this that Bret Victor hasn't already said better:

http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesi...

TL;DR: Give me some tangibility in my interfaces! (You really should read that rant though)
Great writeup. One issue...

It's now suggested to use the about:blank uri in the
Referer header when no referer exists, to distinguish
between "there was no referrer" and "I don't want to
send a referrer".

For the sake of privacy would it not be better if there was no such distinction. Basically now any privacy conscious services need to add 'about:blank' as the referrer when users do not want to have their behaviour categorised and fingerprinted?
So you are implying that there are no honest people out there, and on top of that everyone that finds a vulnerability has the guts and resources to make money off a 0day bug?
Nitpick: goroutine context switch can also happen at function calls (when the stack is being enlarged).
Working at a startup is a bit like angel investing... in a single company. Potentially large upside, but lots of risk, and zero diversification (unless you hop between startups year after year, but that's unsustainable)

I wonder if it would be better (from a financial perspective) to work at a job with a higher salary and no stock options, then invest the additional salary in a number of early stage startups?
I have to ensure that project under development, 490 commits, not impressive but we are working, here ;)

Though our current problem is which we are trying to fix is ,we have two repos: public and private. We are hopping to solve this soon, and move development to github. Sorry for the confusion.
Cars all have four wheels; yet they are very different.
Same goes for programming languages, perhaps even more so. Ecosystem matters. Syntax matters. Available programmers matters.

It's not "all the same shit".
If a user doesn't want to send the referrer when there is no referrer, no referrer should be sent. This then allows sites to distinguish between direct traffic from users that don't block referrers and traffic with blocked referrers. I wouldn't expect this to be a significant concern, because the volume of actual direct traffic is not very large.
Aren't message bodies on GET supposed not to impact the returned result at all?
A new way to make laser-like beams
Yeah, probably off-topic here. But I wish folks like Marc Andreesen (pretty much the poster child here) would not embrace this type of situation so heartily.
If they are charging more for the tickets than you think the band is worth - just don't buy them. By definition, the people who will be going to that concert think that they are worth that much.

What's pissing you off, is that prior to ticket brokers, you were able to buy tickets at a lower price than you thought the concert was worth - and now the brokers are making at market at the accurate price, depriving you of the discount.

Event Promoters are pissed off, because they aren't getting their cut of the $$$. You are pissed off because you are paying more $$$ than you would have.

I understand why both of you are pissed off - but don't making global statements like, "Ticket brokers are making the world a worse place" without recognizing that they are also making it a better place at the same time.
> I would have thought nature would stop optimizing once a sting is a good enough deterrent.

I believe you are probably right about this: but the spider venom was probably developed in an arms race with some {predator/prey} species. In your 'tarantula hawk' example, the venom must work on the tarantula, and the tarantula must do its evolutionary best to protect itself from the venom. This combination allows the venom to become extremely effective.

Or, given that it's the black "widow", maybe the venom is a result of sexual selection[0], which tends to have crazily extreme results. A spider fetish, if you like.

But, the sting/venom is not designed for humans (it just happens to work on them), and humans as a species have no reason to develop better protection. Humans typically aren't a target of the bites and almost always recover with no long-term effect. It isn't really designed to work on humans. But, it still hurts (and maybe that's a nice side benefit for a reclusive spider).

[0] https://en.wikipedia.org/wiki/Sexual_selection
Also liquid ammonia is cryogenic. Cars would constantly be venting ammonia gas as it boiled off, assuming you didn't want the tanks to explode.
link to vodafone's data:

http://www.vodafone.com/content/sustainabilityreport/2014/in...
We are currently building the export functionality, what would you like? :-)
This post makes me sad, but reminds me just how big of a technical gap there is between the valley, the early adopters across the country, the rest of the population in the middle, and then the older/lagging adopter generations at the tail. (I'm picturing a normal bell distribution here).

A lot of companies are creating solutions to problems the majority of people don't have yet, and I think the gap is widening.

Bear in mind it wasn't long ago that nobody had any idea who Paypal was...
CIA launches Twitter and Facebook accounts
why not then fight iPhones and all those phones manufactured in China

Plenty of people do. Are you not aware of that?

http://stopchildlabor.org/?cat=573
http://bloodinthemobile.org/
https://www.fairphone.com/
http://www.hrw.org/news/2013/11/25/dispatches-smartphones-wi...
http://www.slate.com/articles/news_and_politics/jurisprudenc...
Not sure about "super fast", just not "super slow" like it was before.
Well so is Lua (see LuaJIT) and its much smaller, simpler and faster as was the language to start with...
If I'm following their logic correctly: Touchscreen keyboards are inferior to real keyboards, so some tablet users buy add-on keyboards for their tablets. These are also inferior to real keyboards. Therefore, AirType is better, because it's different.

Seriously though, I don't see this catching on. Keyboard enthusiasts obsess over the tactical feel of their mechanical keyboards for a reason.
I don't see the comparison to Twitter at all.
Probably you are. When the university pays you to develop something, and then only takes a minor cut of the profits, why would you want to avoid the university?
That is an argument that has been made again and again. Foxconn is actually a very sought after employer, as the others are often much worse.
Standards vary, unfortunately. But if you have read Das Kapital and its descriptions of the horrors of Manchester capitalism, you have to conclude that it was actually worse in Europe not so long ago. And like Europe, China will rise to better living conditions. It just takes a while.

Of course, protesting against the worst outliers is still a worthwhile and noble cause!
> knocking over a dictatorship and trying to build a democracy friendly to us

If I remember well, Afghanistan, Irak and Iran are the last places where US overthrew a Shah or a dictator. I don't remember them being a working democracy recently.

By the way, why was there a dictatorship in the first place? Most often because of a colonial past (we're all guilty here, I am French myself). I just want to remind that I see nothing good in a country just overthrowing a dictatorship: What we need is to build economic growth, like the Plan Marshall.
That talk is why I switched to a standing desk and changed my keyboards.
> Can you write, say, a heap or a read-black tree that can store wither ints and strings, that will embed the ints?

I'm not sure I understand this sentence. Do you mean a union type? Or a generic datastructure? We all know Go doesn't have generics - that topic has been beaten to death, so let's not derail the discussion and just say this can be a valid reason for Go not fitting your use-case. But just for comparison, here's an implementation of a "generic" LLRB Tree in Go using interfaces and runtime reflection:

https://github.com/petar/GoLLRB

I suppose you could hand-write it to fit the value type of choice? Does that answer your question?
For pure processing speed, Go is pretty comparable to Java for code that does not heavily rely on generics.

http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...

What Dave's presentation mentions is the memory... note the huge difference in memory footprints of the programs. That's where java loses heavily, and that can affect speed as well, which was his point.
They fixed it. You are welcome.
Another example: Searching for images similar to a specified one.
We assume microbes evolved to attack humans; they are just coincidental killers
Do any caches operate like that?