skysight-inc/HackerNews huggingface dataset:
In in my early 30's & on a knife edge, balancing between management and development (from a development background) - I'm now in a quite senior role for a product at a medium sized software company.

I'm finding it incredibly fun - being be effective on both sides - I really do feel it is a false dichotomy.
Fasting Update: Three Months In
Anyone who thinks it's difficult to program in Erlang, please have a look at Elixir(https://elixir-lang.org). It's quite nice to work with.
Even if statistical analysis checks out, the premise seems to be all wrong. Speaking generally now. I rarely read HN comments as having predictive intentions, but rather constructive (or not) criticism on things as they stand. Listening to criticism (i.e. negative feedback) about your product can be the difference between an amazing product and a mediocre products with a slow, drawn out fading into mediocre land.
Brawny Bones Reveal Medieval Hungarian Warriors Were Accomplished Archers
"The Memo cannot confirm the allegations"

Yes, god forbid anything like journalistic integrity or research should prevent printing a bunch of unsourced, wishy washy statements and vague anecdotes.
Statistics have little bearing on one's dedication, perspiration and determination. Talent is only about 10% of any equation. Sure - there are a thousand kids in a village all have dreams of making it to the NFL, NBA, MLB, Premier League, Bundesleague or wherever else their favourite sporting stars live... and probably 1% of them make it. Statistics say it's a fool's errand.

Something that 25 years of my professional career in software has taught me... those at the top of the game got there because of grit determination and little to do with talent. The talent pool at your level shrinks every time you up your game to the next level until you see the same faces showing up time and again at every new gig.

Statistically, what's the chance you'll become one of the very best programmers in the world? It's about the same as becoming a professional footballer.

Becoming the very best at something just means you have to put that bit more in than those that didn't make it. The harder you work and the more effort you put in, the more the statistics skew in your favour.

If making money is something you want to do until you make it to the premier league, then you've gotta be willing to go where the money is until you make it. Go live in a country where you are perhaps not the best, but among the good enough to get paid for what you currently have to offer while you continue to improve your skills. Work harder than those around you, learn from those around you, when you become the best in the pack, move on to another pack where you can learn more, improve your skills and get paid more. Lather, rinse, repeat.
That's not an archaic usage at all. Suffer as in tolerate is a somewhat uncommon but still modern usage.
> 2. the callee side must be able to express on-stack by-value structs, many (most?) managed languages don't

I think the FFI could well express this. Just generate
a C thunk that converts the value from the stack to
a suitable representation.

> 3. and finally the layout (and size) of the struct must be deterministic

The layout and padding of structs is deterministic in all C
environments I know of since they end up as part of ABIs.

> Depending on the callee's implementation that may be too late already, there is absolutely no guarantee the data will even go through the FFI without being released

So you make a C FFI call from a safe language to libfoo.so function void foo(char *jsondata) and before the callee returns your safe runtime yanks the data from under it in another thread?

Yeah, you would also need the caller's FFI to guarantee against this to get safety. In absence of such guarantees you should stick to only passing pass-by-value structures!
eager for those improvements ! you should totally have a newsletter to keep up with changes
The relentless cynicism of the Hackernews community is a large part of the fun. There is usually a lot more thought put into the comments here than other cough Reddit cough places on the ol' internets. A lot of the comments which are criticised here for being later proven wrong are valid concerns.

The degree of 'magic' in Meteor, for instance, is something still discussed a lot, despite it's obvious benefits and success.
I'd suggest that there's the possibility that computer programming and computer networking technologies will be just as different from now in the future as they are now from the past. That is to say: although things are smaller, and there's more room for code and data, only the appearance and presentation (e.g. Vocabulary) has really changed.
If I read it correctly, it stores a bcrypt hash of passphrase in the file for verification, but then goes ahead and uses a salted SHA256 of the passphrase as the encryption key, compromising the whole idea of having computationally hard password hashing. If I'm right, it can easily win the WTF Crypto Award of the month.
I cannot help but think that companies dislike older people because they don't put up with that much bullshit.

You can underpay a young (naive) person, make them work 12+ hours a day, if they get disgruntled pacify them with a nerf gun fight or catered lunch. Older people might not go for gimmicks and ask for appropriate working hours and reasonable vacation time etc. That puts off the corporate types.
Is it telling that I come to the comments first on a story about comments?
While most of us are pointing fingers at the fast-changing nature of and innovation-craziness in the tech industry, I think the core reason may be quite the opposite.

It seems plausible that the tech industry, innovation-wise, is actually in a rut where companies are forced to cut costs and survive by hiring young people whom they have to pay less. The changes happening in the industry today are of a fickle and shallow kind, not fundamental and lasting. And in an evolution-like process the older amongst us, who are the only ones with enough experience to really innovate, are being driven out of the ecosystem and forced to disrupt an industry going stale.
Swiss Anti-Immigration Party Wins Big in Elections
Is "what would be useful is an editor that supports design" an echo chamber? Mightbe pretty hard to do right, but not an ordinary idea.

About rich text editors, since there are so many editors (even native) that lag on input I have just assumed that is something that only I care about.
Don't know if this is the case in the US. But generally, mid-60s people are shied away from being hired because they will retire shortly. Investing in an employee that will be gone very soon is a thing few companies would do, and not unique to IT by any measure. The exception being when they have a need for her exact talent.
Introducing a NotebookBar in LibreOffice
Looking at industries, I'm starting to feel that at the age of 50+ you can't really expect to pop up out of a blue with a nice CV and get hired. You have to keep in the flow - change projects, jump companies, build a network of people who know your skills and can recommend you when there are people needed for a new endeavour. It's probably not good, but it seems to me it works this way everywhere.
>But Hacker News was wrong about Airbnb

Well, about these concerns about security, they weren't totally wrong.[1]

[1]: http://www.thelocal.es/20150821/airbnb-to-beef-up-security-a...
It seems like ageism in tech is subject to a different dynamics compared to sexual or racial diversity.

With age comes more work experience and most SV companies (even the unicorns) usually don't need it. Most of them is driven by pretty trivial tech anyways. As soon as you start looking into technically challenging fields, you see more and more older people: Sebastian Thrun is in his late 40s, Guido van Rossum is almost 60. People like Doug Lea, Lars Bak, Martin Odersky, Fabrice Bellard, Matthew Dilon, Simon Peyton-Jones etc are all well beyond their 20s.

It makes perfect business sense. It's an overkill (and a recipe for disaster) to hire someone of that stature to build you a website. There's also nothing special about tech in this regard: if 90% of all legal work in the world could've been done by a paralegal, law firms would all be full of cheerful 20 somethings.
200kb for css+js

have fun with that on mobile where like all browsers, javascript is single threaded

the reason why we use contenteditable is that it can be done in 15kb and the browser can do it natively, then you just clean up the resulting code on the backend
This is exactly my point. One of the major reasons that malware and malicious actors have been able to do as much as they have is because of the large number of misconfigured devices on the internet.

The internet has evolved beyond a network cobbled together by a bunch of academics and engineers -- its a critical piece of infrastructure.
Right, but being unwillingly unemployed is the shittiest deal of all.

If old people have a great deal from their current employer, they'll stay employed and the number of old people in the industry will remain constant. If old people find themselves unemployed due to a reorg or startup failure or whatever, they'll take the best deal on offer - and the number of old people in the industry will remain constant.

If the number of old people in the industry is falling, I'd be interested in some statistics about where they're going.
Xvisor [ http://xhypervisor.org/ ] does that (plus many other things) -- I do like the virtio driver layer a lot; however in the case of Xvisor, you also get CPU virtualisation as well as IO drivers -- it's also portable across quite a few platforms.
NotSupportedError: Operation is not supported trix.js:20:0
Is there any data file to show what comment has been marked as positive or negative?

For example, if you look at the Quora thread ( https://news.ycombinator.com/item?id=1197146 ), a comment could say something good about the site and also provide some feedback (e.g. https://news.ycombinator.com/item?id=1197230).

Is this comment marked positive or negative? If feedback is somehow clubbed with negative comments, I would doubt the accuracy of the analysis.
Funnily enough, working 80 hour weeks for stock isn't really much of a winner if you have a mortgage to pay and or mouths to feed. The ping pong table doesn't make up for it either.
Take up meditation. The best techniques were developed historically by Buddhists, but you don't need to be Buddhist to benefit from them. [Mindfulness In Plain English][mpe] is a good introduction.

[mpe]: http://www.urbandharma.org/udharma4/mpe.html
haha that is a perfect example

I think articles like op's are good in conditioning the HN crowd to be more aware of their own biases.

Update your model of the world and continue on.
Not Ninjas, Just Programmers
Well, they started out by picking successes. A more valid approach would be to list all startup ideas mentioned on HN and see how they turned out. That includes every acquishutdown mentioned.

But that's vulnerable in the other direction. If 90% of startups fail, it's very easy to predict failure.

An interesting non-statistical inquiry would be to look at the problems people are complaining about and seeing whether they're still present in the successful projects (e.g. dropbox privacy).
It's all fine until you accidentally hire people whose age doesn't correlate with their experience and maturity. 2 years of getting by as a fine-tongued know-it-all impostor with mediocre technical skills is fixable with some effort, 25 years are not.

That said, there are some extremely valuable older devs out there. It's a pity that most employers cannot afford paying them an appropriate salary.
My "criticism" isn't really a criticism of the growth hackers, it's not even a criticism of anything. Sorry if it came off as that.

Just observing that a lot of talk both here on HN and in the media is about finding ways to get your product into an overcrowded market, in front of an audience trying to explain why our product is better than the competitors and often without any way to monetize that. It has it's own merits of course.

I was simply positivity surprised that there are still some people who find what I consider real problems and try to solve them. Without all the bells and whistles because the problem they solve is fundamental enough.
On average, no. If you adjust for PPP (as my source did), Hong Kong and Singapore are wealthier than the US.

https://www.google.com/publicdata/explore?ds=d5bncppjof8f9_&...

However, due to exceedingly powerful transit unions, labor costs are higher in the specific case of infrastructure. As I said, waste.
> One of the reason for the lack of diversity is that people born before 1975 haven't really experienced the internet revolution like those of us born in the 80s and 90s have.

What does that even mean? We lived through the Internet revolution. And even we can't claim to have invented it, because that was the generation before us (Tim Berners-Lee, Vint Cerf, Bob Kahn, etc).

It's exactly because of this kind of mindset that it's becoming increasingly hard for 40-somethings to find decent employment in development, and (along with corporate culture) a strong factor in the trend toward becoming managers once we hit mid-30s.

You're going to find the next 20 years enlightening, that's for sure.
You missed out cheaper.
Not sure if I agree with the conclusion:

> Such a specialized community is a great place to get feedback on the technical details of your product, but not to validate your ideas. The responses from people in these communities tend towards scepticism to negativity, even for products they use.

Or with the methodology. Take for example the Dropbox thread [1] which the OP's sentiment algorithm classifies as having a "negative top comment".

This is what the purportedly negative comment says:

> The only problem is that you have to install something. See, it's not the same as USB drive. Most corporate laptops are locked and you can't install anything on them. That's gonna be the problem. Also, another point where your USB comparison fails is that USB works in places where you don't have internet access.

> My suggestion is to drop the "Throw away your USB drive" tag line and use something else... it will just muddy your vision.

> Kudos for launching it!!! Launching/shipping is extremely hard and you pulled it off! Super!

In what universe, besides the one of a sentiment-analysis-algorithm, would that be considered a "negative" comment? Moreover, even if that last, congratulatory line didn't exist, the rest of that comment is very well-worth listening to. It might have been wrong (has Dropbox penetrated corporate IT as well as USB keys? USB keys have definitely taken a beating in reputation and in convenience...but has Dropbox been an easy transition in corporate IT? At Stanford, we have Box)...but it definitely wasn't non-constructive criticism.

If a submission gets a lot of upvotes, to me that's a positive-enough sign of validation. Is it really helpful to the submitter to see a dozen/hundred comments that are merely, "Awesome! I like it!"? I often like reading the comments before I check out the submission, because I don't want to have to parse Press-Releasese to understand what the product does, or who it may compete against, or what its flaws might be...Even if the comments were completely devoid of constructive and insightful criticism -- I'm sure after a big launch, it's helpful, yet annoying when people immediately nitpick grammar and typos -- if you're a founder of a great product, the hemming and hawing of HN is probably the least of your obstacles on the way to success.

[1] https://news.ycombinator.com/item?id=8863
Call me cynical by your example is bad, from experience a lot of us know that excessive magic like meteor is a recipe for great pain later on.

(Boom, boom)
This, in a strange way, echo's some of what I said on the thread about Amazon's product review star system: In a crowd the people with the most motivation to participate are those with negative views. This is a problem with voting/rating/forum systems going back decades, HN is no exception.
> I think the FFI could well express this. Just generate a C thunk that converts the value from the stack to a suitable representation.

Oh definitely, I'm just saying not all of them do (if you follow the link, the Ruby/MRI, CPython and Node FFIs all provide for that at least on the caller side)

> So you make a C FFI call from a safe language to libfoo.so function void foo(char *jsondata) and before the callee returns your safe runtime yanks the data from under it in another thread?

Yup, could happen with a concurrent GC kicking it at an inconvenient time, or with a refcounting GC.

> Yeah, you would also need the FFI to guarantee against this to get safety.

I'm not sure it could (without caller cooperation), best I can see is offer side-channels to "leak" memory (allocate non-managed memory and copy stuff into it) or recommend that you keep an internal strong reference of some sort (e.g. a global list/set).
Young devs have, in my experience, have always been pretty opinionated.
The nice thing about C has always been how close you can get to the hardware, while still having some sensible flow control. The bad thing about C is how close you need to get to the hardware.

I really think that everyone serious about programming should learn C, to the level where they can read parts of the Linux kernel or something, but never actually deploy C code to a production environment. It's not a "must" -- not a requirement to be a good programmer or developer at all -- but you'll understand something much closer to the hardware than you will in a more modern language. Just don't expose that program to an adversary if you can avoid it, because that proximity to the hardware makes a single mistake catastrophic.

Plus, if you ever need to do embedded work, you often don't have a choice other than C.
I even did it on this thread, then realised the irony immediately
Like?
An attacker that can read your pipes/sockets can also sniff all your keystrokes, read your clipboard and read from other processes memory. A timer to erase the clipboard is only good to prevent accidents; a malicious program targeting your password manager will simply read the clipboard once a second and watch for changes. Local security is hard.

For a more-secure solution, consider running Qubes OS with a seperate vault VM running a password manager. That way you can induvidually copy passwords to the VM where you want to enter it, without others getting any access to it. Of course, that's too hard for most people, so we end up running everything in the same context and then call it "secure" because we erase the clipboard after 5 seconds.
Although I've never had to start from scratch, the Qt projects I've maintained have been prone to crashing.

Maybe the Qt apps have legitimate bugs but the fact is that native environments like Objective-C, and most likely this JavaScript environment, would both handle those issues very cleanly compared to Qt.
I think we are getting into deep rant, though I want to say, that even I know this rule of JS (always use 3 equals, unless you know why you need 2) why not make double equal work as triple one?
Interactive debugging is not "relatively easy to hack into the language". In fact, it's impossible since Clojure lacks the Common Lisp condition system.

When an exception is thrown in Java, the stack unwinds meaning all state in stack frames from the point of the throw to the handler gets thrown out.

In Common Lisp, the stack does not unwind and high level logic can simply restart the computation (after fixing the error or trying different strategies) without losing any intermediate state. This killer feature is what makes interactive debugging possible.

Hacks like the one you linked to are a sorry state of affairs compared to what I described.
Completely agree. The infantilisation of the workplace is more of the more tiresome trends to come out of the startup scene.
> The old guy hasn't kept up with the times, and is stuck in ancient (and outdated) ways of doing things - manual management of memory

Garbage collectors have been around since the 60s with LISP.

I find it amusing to see that the first language I was taught in an academic setting in 1996, Caml Light (ancestor of OCaml), is still very relevant today!
As a hearing aid wearer, I can probably think of a couple of ways hearing aids could be used to improve hearing of non-impaired[1] but you definitely don't want just "broad spectrum amplification" (hearing every small click, clack & whir gets old fast). Think more along the lines of decrease of external noise in a cafe so you can focus on a conversation, a tunable amplification of quiet sounds, as replacements for blue tooth headphones etc (sound quality is not great currently) stuff along that lines.

> Hearing aids are so uncool 80 year olds don't want to be seen with one. They are all about being small, flesh colored and "invisible."

This might be true for older populations but kids can get brightly coloured hearing aids and moulds[2]! When I was first being fitted for HA's (at age 32) my audiologist assumed I would want the least visible model possible but I opted for larger more visible behind the ear models...I want people who I interact with to be able to see that I have hearing loss. People tend to get annoyed if you ask them over and over to repeat themselves but are generally much more patient if they know you are hard of hearing.

[1] Just FYI The term hearing-impaired is somewhat offensive to some people (not me) who prefer hard-of-hearing or deaf, or Deaf

[2] https://www.google.ca/search?q=kids+hearing+aids&num=30&sour...
Full-stack Ruby: build a realtime web app with React.rb and Opal
Interesting article. I've thought a lot about the slashdot/HN mispredictions of future successes and my random thoughts:

1) A flawed Theory of Mind applied to the general public: I think it's fairly safe to say that the technical crowd (which includes commentators of slashdot/HN) will lean towards the Asperger/autism spectrum. It's easy for geeks/nerds/experts (especially vocal ones) to misjudge how products could be accepted by the masses (who are not geeks/nerds/experts). The famous examples being the slashdot dismissal of the iPod in 2001 and the iPad in 2009. (And Sara McGuire's article that this thread is about has more examples from HN.)

2) Skepticism/negativity is easier to itemize and write, and as a strange bonus, it is perceived as smarter and more insightful analysis. Looking at all the things that are "wrong" with a product might be described as a type of "closed-ended" thinking. On the other hand, imagining the different ways a product could succeed involves more "open-ended" analysis. The problem of writing open-ended thoughts is that it looks like naive futurism, or unsophisticated cheerleading. (E.g. haha, Back to the Future's Bob Gale thought we'd have hoverboards in 2015! Dean Kamen thought Segways would sell millions of units and would revolutionize the world! etc).

Because of the combinations caused by faulty Theory of Mind and biases towards the shortcomings of products, the commentary on new business ideas will almost always end up being negative.
All of which would be true of alcohol if it was primarily consumed at 200 proof.

I didn't hear the parent claim that GHB was completely safe. There is plenty of evidence, however, that it is safer and less toxic than ethanol.
Given that on desktops there's (usually) more horizontal than vertical screen space why don't they put their ribbon ... sorry, notebook bar, horizontally ?

Their illustration is a perfect example : lot of free space on the sides of the document, but they're taking more spaces at the top.

And if MS Office is any indication, they'd better make the old interface the default or 20 years from now people will still complain that it was better before ;-)
At work we went from Office 2003 to 2010 about 3 years ago, and my colleagues are still complaining about it (but we're French, it's kind of a way of life here).