skysight-inc/HackerNews huggingface dataset:
> The take-away invariably being that people who are older and have more things to do have fallen out with technology, whereas the young are still with it, whatever it is.

But it's still true, in general.

Sure, I work with plenty of early 20s people who have (frustratingly) no interest in their domain outside of what is necessary to get them through the work day. These young people exist.

But there are also the young people who are actually interested, and, in general, they have a comparatively infinite amount of free time to dig into languages and libraries.

If you have a spouse/partner, some of the time you used to spend working on your interests is now spent nurturing your relationship (and if you don't do that, I guess you'll have more free time for yourself again later on). If you have a child, then you must take another chunk of time spent on personal interests, or work. For most people it ends up being their own interests, since they still have bills to pay.
Actually there are a couple of rules that I managed to pick up from the frontend community about CSS rules.

1) Don't use tag names in css

div.something should be .something

2) Don't use id's

3) Isolate elements into logical components and name part of those components in the css.

<button class='button button-primary'><span class='button--icon-search'></span></button>
Don't freak out too much. Make a list of the minimum list of skills you need to do a non-trivial project solo, and learn those. Once you've got that base you can expand out, and if you've got a few different things to build on it should make that easier.

When I started, it was PHP/JS, but after a while quickly changed that to Ruby/Rails, Python, JS/CSS/HTML and design (can't do a solo project without knowing some colour theory, typography basics etc). With only six things to tick off, it was less of a daunting task and I felt like I was making progress.

I've added to that list both at work and around work since, but as somebody above noted, you can get burned out from coding all the time - sometimes you need to recharge and wait for the fire to come back.

The one thing I do know, is that if you have a passion for the craft and nurture it, you will be able to find a balance :)
I am scared as well.
Most jobs seem like dead end, I bet this will get worse as I get older
TSA now requires your electronic devices to be full charged before you fly
I use Evernote for this purpose. You can save just the URL or clip the whole page. I use it for saving links that are then available across all my devices.
I don't care. Will still use it and educate.
I am aware that it might mean höna for some, but I am expecting curiosity to get the better of 'em and hope they look into it.
This has already been said by others, but let me take this opportunity to talk to you as if I were talking to 17-year-old me.

Focus on what you're making. Let the process sort itself as you go. Step back from the computer and think about what you can do by yourself, with simple tools. Get a pencil and a sheet of paper. With this simple sheet of paper and this simple pencil, you can draw many things. You can paint a whole landscape (in gray tones, but still), you can make a dumb doodle or you can design a machine. You don't have to know how to draw, you can start today and eventually get good at it. First the circle, then the rest of the owl. [0]

All that with just a simple pencil and a sheet of paper. Both have a lot of engineering behind them, so making paper and pencils isn't easy from scratch, but as objects, they're simple and you can use them for many things.

I spent so much time worrying about tools, worrying about browser compatibility, worrying about doing things the right way, increasing performance... that I didn't do what I really wanted to do: make good stuff, for me and for other people.

There's no simple way to avoid the trap of keeping up with everything, but I've found that focusing on the intended result (what you want to create, be it a product, an experiment or a tool), picking a toolset early and sticking to this toolset/stack is what worked best for me.

* * *

Here's good news from present me: as you gain more experience, (which can correlate to the older you get, especially when you start early), you get better at knowing when something will really improve your work (making it faster, better looking, more enjoyable, better performing, more efficient, etc.) and when it won't. Perhaps the article's author is actually on to something. He intuitively knows New Tool X won't improve his work much, and he's wiser than his younger self, who would waste time chasing non-essential niceties.

[0]: https://imgur.com/RadSf
I think that (at least for bodybuilding), it's gotta be 100% everything: 100% training and 100% diet. There's not really any slack room.

It's definitely challenging, but fun =)
I just ignore everything dripfeed myself new tech that looks good until I find something I like. Don't everything shown off on HN too seriously, but pay attention.
BDD is very much not in the spirit of Go programming.
Did you look at Nethack? Certain monsters have set loot. Dwarves have a high chance of carrying a pickaxe, noble variants have a high chance of having dwarven mithril, shield, iron shoes. Same with Elves. Soldiers carry K- and C-rations. Paper golems leave piles of blank scrolls!

Monsters will pick up items. If you are in the dwarves mines and there's a mining dwarf about, gnomes and other creatures will pick up the piles of rocks they leave behind.

Additionally monsters with the right flag set will often use items. This can reveal their blessed/uncursed/cursed status ("The dagger welds itself to the goblin's hand!") or identify the item - which is sometimes a real pain, when a consumable you needed is used. ("The gnome zaps a wand of lightning! You die...")
It's completely orthogonal to that. It's not about what language you are using but about how you write the code in that language. The "premature optimization" thing can easily be intepreted as "it's OK to be lazy" and I think that's a misinterpretation.

Just making up an example, often I need to return multiple values from a function in languages that don't directly support that. The pure & efficient way might be to make a new data structure and return that. The "lazy" way is to just stuff them in a map / dictionary / hashtable and return it instead. The cost of those key-value lookups is enormous compared to a direct field lookup, but I can rationalize it as avoiding "premature optimziation". But if you end up with a whole code base that is doing this, eventually the whole thing is operating an order of magnitude slower than it should be. (it's also going to be a nightmare to maintain and refactor, but that's another story ...).
> Where will I be in 10 years? I don’t know. I hope I still will have some in-demand skills to pay the bills. But it feels like all I see are DevOps and JavaScript, and I know less and less every day about those things.

In 10 years you'll be The Gray Beard, the mythical wizard who interfaces with Earth and Heaven, bringing otherworldly knowledge to our ultimately trivial concerns. You'll guide the younger and unwise in the creation of more ultimately trivial concerns, but with a heightened sense of what the Heavens want us to do.

You'll also support legacy systems, because penitence is one of the keys to sapience and the aforementioned otherworldly knowledge and ability to interface with Earth and Heaven.
I'm 40-something now, and my fear is always not being allowed to bring in another technology (new or otherwise) that could help us, because my team mates aren't familiar with it.

At the same time, a lot of new technology is just "Oh, that's nice, but actually not much different or better than what I'm using now." Which is fine. I can skim through a couple of articles linked from Hacker News and get an idea of whether I should care or not.

I'm also more realistic about picking my battles. The Swift keynote demo was really cool! But realistically, it's just going into the queue of all the other "that would be fun to learn some day" technologies.

Overall, though, I am always thankful to be able to work in an industry where there are always new things to learn. I imagine I am in a very rare position relative to most of the human beings who ever lived, being able to earn a good living while learning new things every day. The thought of just solving the same problems in the same ways every day until I retire scares me.
You must keep in mind Google's perspective. They have a firehose of great candidates to choose from, requiring an assembly line of recruiters and interviewers to filter them. They could use any filtering method, no matter how inaccurate or impersonal, and still get a large group of great people.
>bullet-time would, and should, be red-shifted //

How so? As I understood it bullet-time, eg in The Matrix, is an internal perception of time slowing; they're not changing the flow of time in the Matrix just choosing to perceive the computer generated scenes at a modified rate. The external "physics" is identical: Just as in a video player the images are fixed by the physics whether their presentation time corresponds to normal time (standard playback) or their presentation time is slowed (slow motion).

Perhaps we better not get in to a deep discussion of made-up physics?!?
In case anyone else is wondering, System 1 = autopilot thinking and System 2 = deliberate thinking.

From Thinking, Fast and Slow by Daniel Kahneman
So if they compete in the entertainment budget of households, who's winning? Seems to me like Hollywood is losing.

Is that a valid comparison?
How to Read Proofs Faster: A Summary of Useful Advice
Yes, its very nice. I use this iOS app as well.

iOS: https://itunes.apple.com/us/app/hacker-news-yc/id713733435

Google Play: https://play.google.com/store/apps/details?id=com.premii.hn

And its open source too! https://github.com/premii/hn
One punishment BOP uses is Con-air for weeks at a time or "diesel therapy". https://en.wikipedia.org/wiki/Diesel_therapy

CIA Whistleblower John Kiriakou was threatened with permanent con-air for complaining to the press about prison conditions. https://www.documentcloud.org/documents/1018653-john-kiriako...

Living shackled on a plane or bus transferred from prison to prison for years sounds like a nightmare
This piece is a textbook example of snark [1] and I invite anyone to convince me its usefulness.

[1] http://thatjohnbarnes.blogspot.com/2011/12/i-hate-snark.html
I recommend having a listen through some of the http://www.roguelikeradio.com/ podcasts. They focus heavily on roguelike design and development topics. I don't believe they have featured a podcast specifically on loot but it has featured as a topic in several of them.
Could you tell us what field you work in, some details about the specifics of your job, your age, and maybe why you want to dedicate all your waking hours to working rather than something else?

Do you understand that what you're describing is anomalous behaviour and ability. In Europe we have legislation to protect people against being forced to work for more than 12 hours at a time because this has been seen to be detrimental to health. I see no reason why your reported lack of external coercion makes it healthier.

With 3 hours of sport (what sport would that be?) you're describing a day of 17+ hours. 2 hours for meals seems pretty reasonable. Commuting, eg to the location where you do your sport would be extremely unlikely to be less than 30 mins. That leaves you < (!) 4½hrs for sleep, toilet, washing, keeping house, family/friends (except sport and eating with them), entertainment ... you don't tell us how many days a week but "keep that up indefinitely" sounds like you don't bother with weekends?
Anyone who uses floating point numbers in a bitcoin project is doing it wrong. Bitcoins have a fixed (for now) level of precision. 1 satoshi is currently the smallest discrete amount of bitcoin that can exist.

The miner's fee is separate from the amount sent, this is easy to distinguish.
already got a insider - http://www.theguardian.com/technology/2014/jun/23/yo-founder...
There is really no need to be a jerk.

I'd like to grab a cup of coffee, sit down on the sofa, and scroll through pages, comics, songs, videos, or whatever I may have saved, and then choose the content that I would like to read, watch, or listen too. All of which have pictures so I can see the cover of what I am about to open up. Part of something that makes an experience are visuals. A page with just text seems kind of blah from the jump, in regards to this situation.

Why do people like coffee shops? The environment, for the most part.

OR..

Isn't the way Steve Jobs became successful was realizing that people didn't want to just look at text?

I could really go and on with examples.
They have it on the App Store and Google Play, but you can just use it on any browser. I use it on my desktop regularly!
Yes, but that is not up to the consumer of the service (or not under the direct control of the consumer, in any case; assuming for the sake of argument that the consumer of the service is distinct from the producer)
Mobile developers are ironically stable, being forced to use the language of their platform and maybe whatever their companies cross platform layer is made out of. I've been doing ios dev for 4 to 5 years and it's only whatever is new for the new OS version in objective-c. I was paid to learn all the newness of ios 7 as I transitioned the app towards it. Swift is mostly objective-C in a new skin with welcome improvements, so learning it is easy.
It is troublesome that I am afraid to comment on this article in fear of my NSA_SUSPICION_INT rising.
I've found enduring value in these things:

* Understanding binary vs decimal math, deeply. Implementing decimal math out of integers nothing else is available.

* Understanding locking strategies and the need for shared data protection. Build and break and rebuild things until you can intuit then prove deadlock, lock failure or long waits when you suspect their effects.

* Getting good at debugging. Don't point the finger of suspicion at anyone or anything (unless it's at you or your work), /prove/ what's wrong. Toward that end, don't "kill the (error) messenger"; it's just the first to speak up about a problem that might be layers deeper in your software stack.

* Learn data; it outlives code. SQL may bore you but it pays the bills. You didn't like Linear Algebra in school? Well, I didn't much either, but I sure am glad now I took it back then.

* Be the person who can say, "Yeah, I can fix that," and just do that.

* Learn business areas like General Ledger and Accounts Receivable. Be the person who can say "Yeah, I can keep a balance on that for you" and do it.

* As far as application areas go, remember that money, unlike computer languages, never goes out of style.
The explanations inspired me to find out more how to make a good espresso. And I found this site, which has some nice articles. http://www.home-barista.com/
Where does the power differential come from? I alluded to that in one of my other comments.

It's tragic that the author of that article thinks that the only alternative to "femininity is about looking pretty so men can objectify you" is "femininity is an illusion of the patriarchal society". Not even an attempt to bring the conversation away from physical appearance, with an unnecessarily cynical interpretation of the no-makeup thing to boot; I always assumed that was about discovering, "hey we're beautiful without makeup after all", which you'd think the author would be in favor of. I'm not going to watch the video (because I find videos annoying), but if it's more of the same I'm not going to regret it at all.
How do you deal with bad coding practices? Such as over complicated & verbose code and copy paste everywhere leading to an unmaintainable mess?
>I'm 24, and 'cloud' to me is 'a vps somewhere'

It is a VPS somewhere, ultimately. It's a VPS somewhere but it may be two of them or more. It may not be exactly where you think "somewhere" is, but it is somewhere. You don't know exactly what is running the VPS (or the bunch of them, somewhere), and what it runs, but it's running, it's a VPS, and it's somewhere.

We'll charge you 50% more to enjoy this uncertainty and to be able to use the word "cloud" alongside "synergy", "blue-sky thinking", "out of the box" and a few others when you describe your stack.

(On a less cynical note: with the "cloud" you're essentially paying to replace the known, common possible points of failure with unknown, usually rare points of failure, and some redundancy. Uncertainty can be a feature.)
This post really resonated with me. The fact is, there used to be less to know to be a "full stack" engineer, and the expectations for what "good front end design" means were much lower 7+ years ago. I sense a widening gap between the realms of front end and back end engineering/design. It used to be you could write a small PHP app and put it on a shared hosting account to serve your small user base and people (stakeholders/users/peers) were mostly happy with that. Now, if you're not "infinitely scalable" plus doing TDD/BDD plus Continuous Integration or even Continuous Delivery right away, that's considered lacking. This does create opportunities for those of us who've been able to grow with the field and truly understand "how computers work", but I imagine it's frustrating for those who are trying to get into the field now or even just trying to broaden their skillset such as from front-end engineering to devops and system engineering/architecture.
That's why I trust golang.
The significance of SIMD, SSE and AVX [pdf]
You've got plenty of time. Other commenters are right, focus on theory, and bolster that by building things. Constantly. If there's one lesson I could hope to impart to any budding developer, it's to never stop building. Learn a bit about genetic algorithms - then implement a simple one. Learn a little Ruby, then build something with it. This will teach you a lot of what you need to know - fill in the gaps with Google. Focus on building good abstractions, and you'll be fine wherever you go.
Something like passport.js in go.
A) I actually thought they ARE the german sibling of craftcoffee, but thanks for the clarification. They indeed look like a copy, but I don't mind that as long it doesn't lack in the execution and quality.

B) Since you seem to be a coffee expert: What sort of coffee has a very low acidic profile, whilst having being strong and aromatic?

C) To use the service you need to own a EUR 1000+ coffee machine, which only rich people have, or am I wrong?
You remind me of myself at 17. Your post tells me you have both the capacity and the appetite to learn, which is the foundation of success in this field. Keep chaining one body of knowledge to the next.
Why does 1/(1-a)^2 = L(a)L(a)
?
40-ish developer here and I think the author is being at risk of being left behind.

I just think that when we choose this industry as our career, we have to go in with the knowledge that this isn't something where we can learn a set of skills once and then focus on that for twenty years. Our career is learning. Our value isn't what we've done before, it's what we're able to do.

That isn't to say you always have to learn the newest thing - definitely not. But it's important to stay current with the largest general trends. In the past it meant being facile with a handful of MVC frameworks (however you define MVC). In the more recent past it meant being familiar with some sort of RPC architecture (whether SOA, REST, "API-first", whatever). At present you probably want to be roughly familiar with at least one javascript framework that has MVC on the client side. And looking towards the future, you have to bone up on math concepts and functional programming, so you can move into parallel programming and concurrency concepts.

That's my sense of the rough direction. If in five years you haven't paid attention to that stuff, you'll still be able to find work, but it'll be grunt work that is at greater risk of being outsourced.
Seriously? I've yet to come across a redesign presented on here that wasn't immediately shot down and trampled on.
I saw them in Westlake also. Does anyone know what happened to the 2 that didn't fly back?
Absence of evidence is indeed evidence of absence. It's absence of proof that is not proof of absence. It may or may not be strong evidence, depending on how likely evidence is, but it is evidence.
To me premature optimization goes far beyond just speed: it's a judgment call, and it affects everything we do as programmers.

Should I spend more time here making this variable readable? Should I structure this script to be maintainable, or is it going to be of no use in 2+ weeks?

Sometimes the answer is yes; sometimes the answer is no. The key is not to pre-maturely optimize. You have to use your own good judgment and an iterative problem solving process to figure out what the metaphorical bottle neck is and fix it (I say metaphorical because, again, it's not just about speed).
>Before smashing particles together, physicists use mathematical models to predict exactly what they will see given different assumptions, usually with incredibly high degrees of accuracy.

Not necessarily. In the 1950s and 1960s when we started exploring higher energy levels, we didn't really have a model or theory that predicted all the particles we ended up seeing. That came after.
Relax. Technology is part of a means to create value. Having skilled leaders is more important in value creation at scale than skilled engineers.

Projects fail because obvious risks are ignored - finding the integrity to fix those will maximise your value to anyone far more than learning AngularJS

This is not to say code should be ignored, but that code is software literacy - and soon "everyone" will be literate and the supply/demand curve will balance back out, but with a new higher baseline for entry.
A lot of emergency services (fire, EMS) are 4-on/4-off, but they're generally 4 12 hour shifts...
It's also one of the most effective ways to get the powerless to do what the powerful want.

Outrage has been used by demagogues of all kinds since the start of human history.
Meetings can be incredibly useful (at least until we invent telepathy), but only if they're run well and held sparingly. Otherwise they turn into an easy way to look busy.

As you suggest, efficient meetings aren't really possible when people are overworked. Even one-on-one conversations can fall apart when sleep deprived. I've had work-related conversations at the end of an overly long 8h day where neither one of us could form coherent sentences about the code we were discussing. In an ideal world, we would have left work two hours prior.
> Design flexible solution using common patterns.

Maybe this is part of the problem. I'm relatively young, so I've only seen a few design patterns, but it'd be interesting to have a high-level look at some of the most common patterns and what they're good at and what they aren't. For instance, I've never really used a messaging queue, but it seems like a genius design for a particular type of problem. I wonder how many other designs are out there that I'm not using, instead opting to shoe-horn in my existing ways of thinking.
L - a swirly potion

If you spelled it "grey", you didn't get your wish!
Yes, that is exactly what Apple did with the iPhone. They wrote the interface then tested it over and over again and made optimisations on every iteration.. This was before it was released to the general public.

The article is talking about optimising before you can prove where the problems are... Apple had excellent testing which showed where a lot of issues were. Some issues may well have not been discovered until a wider audience had access though.

Testing can happen before you release a product you know? You new fangled startup MVP types only think good testing happens on paying customers. Fuck you guys.