skysight-inc/HackerNews huggingface dataset:
This article and discussion does show, in a pretty stark way, the options and demands of very different career paths for a software developer.

One option is to become a programmer for hire. You keep your skills up, and those skills are as much about getting a job as doing the job. You re-study data structures and algorithms. You can permute sets, find matching subtrees in binary search trees, and answer questions about how addresses in web browsers are resolve to web sites. You learn java, then GWT, then EJB, then spring, then struts, then you add a 2 to the end of struts, then Rails or Django, then you give it all up and do it again in Javascript, React, Vue, Ember. You also play the agile "estimate roulette" as you write down tasks and expected completion times in JIRA, and are asked about deadlines every morning in an almost inevitable corruption of the original methodology[1].

You would never do this for your own project. If you had an exciting new idea, the last thing you would do is go off and learn to find all subsets of a larger set that, when concatenated, form a member or the larger set, at the whiteboard, in 45 minutes. It's also fairly unlikely that you'd set out to write an SPA for many business ideas. But you'd definitely be doing this if you were applying for the next job, which you sort of always are doing, if you're a programmer for money. Even if you aren't looking to change jobs, you still do this, by and large.

Or, you can become the kind of programmer who creates a product, chooses the right tool for the task, and makes it work. The reason that this is difficult is that these jobs are rare. To really have this option, you often need to make the leap into doing your own thing.

That sort of entrepreneurial skill and mind-set seems to be orthogonal to most programmers. I couldn't tell you if it's innate or learned, but I do know that it's a big leap, involves risk, requires a period of economic uncertainty that is tough for people with dependents (or people just trying to pay rent and make it through the next few months in an expensive city). But it may be the best way out of the programmer-for-money quagmire.

The thing is, if you have that kind of entrepreneurial spirit... well I'm not sure you really need to be a programmer at all, there are all kinds of great opportunities out there.

[1] Yes, this is a bad case. Not a worst case, but a pretty bad one. I'd say all programmers for money have gone through some version of this more than once, but I'm putting them all together into something that is more grim than most have to put up with.
That, imho is the biggest reason to use the newer types. It annoys me to no end when I have a numeric PIN or 2FA entry that brings up the regular keyboard where numeric input is obscured.
FAP Torrents: The Hottest XXX Site on the Web
> …examples aren't all using the latest features…

You know you can contribute what you consider to be better examples — https://salsa.debian.org/benchmarksgame-team/benchmarksgame/...

> …or even best algorithms…

Wouldn't that make the algorithm the difference ;-)
The issue with doing it that way is package managers like NuGet can "hide" pre-releases--they treat them as different fundamental types of packages. In my case, I don't want that designation. I realize I could use pre-release identifiers but I'd rather have the artifact versioned "first-class," so to speak.
> There is also plenty of cause for concern about human extinction- between the insect die off and the marine die off it is unclear how we will be able to produce food going forward.

Has there been a noticeable reduction in human food supply with the reported 50% reduction of insect and plankton populations?
Forge – Work with Git forges from the comfort of Magit
> SPAs are attractive even for websites

> having the website be like any other client that consumes your server's API.

Did you fall hybernated sometime in the AJAX era? Now it's state synchronization over GraphQL run on dockerized autoscaling cluster. Satan only knows perhaps how to make that retarded bastard to work in a web browser. I have yet to encounter a backend/system developer who doesn't consider designing and implementing a complete and functional REST API a grunt task.
Presumably it also ensures that competitors will have an incredibly hard time raising money.
this article seems rather emotionally driven, still will consider a micro-service for my next projects architecture as it still seems less mental overhead
Will the next crypto hype start in 2019?
The vast majority of people don't get to make those sort of decisions. It's a matter of "where can I live?", not "where do I _want_ to live?"

So, the ivory tower remark seems appropriate.
> How can the same people be worried about human extinction as a result of environmental collapse, also think we might be able to develop a sustainable colony on Mars.

We would control the size and direction of growth on a colony. As it stands the tradoffs we make with regard to earth's climate affect 7.5+Bn people. A colony can be planned/optimized before we get there. We don't need to terraform the entirety of mars to get a small colony. If you want to have mars rival earth, then we can start talking about the scales of comparison you're making.
> Folks whom are dead set against using them are rarely convinced until they get bitten hard by a 2 hour hunt for an obscure bug.

Honestly -- then they'll never be convinced. I haven't hit an ASI bug in the last decade.
It comes down to cuture and how people you work with think and perform when building software.

Experienced developers will know that spending time not writing code is where you really solve the challenges at hand.

It's not about patterns or arc' style, that is merely a tool to reach the goal.

It's about experience and knowing when step back and iterate, and take the time needed to solve something.

I often spent months breaking a problem down, and in that period of time I often realize that I was on the wrong foot from the beginning. So I iterate once again, slowly building confidence in a better solution. And in those months of tinkering I don't write production code that problem.

Quality work takes time to do, it's a oneway street that thing.
Purely from a business perspective you are correct.

Can not put a price on accessibility though (screenreader, forced IE use, etc.).

Especially for content websites I don't think there is a non-economic reason to justify non-accessible content.
Parrots can live even longer, even outlive most humans, so the title confused me too, until I noticed "wild."
Building an SPA for every single project is like using a semi-trailer to commute everywhere you go. Sure, it will always get you where you need and sometimes turns have to be taken pretty wide, but what's the downside?

Well, if you're destination is just 2 blocks down the road then why not walk? If you just need a simple page and the content doesn't need to be updated often, why not some flat HTML/CSS/JS?

Many times SPA frameworks are used because it's flashy and more exciting than writing basic html and css, but more often than not that's all you need.
I am certainly not going to defend a situation I am unfamiliar with.

My thought was simply that through the years of online shopping I have never seen a return label in a package that I can recall, but getting an RMA has rarely been an issue. (we are careful where we shop though)

If these guys are making RMA's hard that is totally different.

Edit: I may be confusing RMA (a request) with an actual "shipping label".
>If at any point in ones life you’ve made over $300k, I doubt $40k a year would feel like anything other than relative poverty

Neither here nor there. The GP was responding to "$1M is not enough for most people to retire on."
This article is pretty poorly written and fails to look at the problem holistically.
Just a small token of appreciation for explicitly qualifying this as 'known' superlative. One of my pet peeves anytime there's a headline discussing the -est of anything.
I very much care that they know the tools and are not just a good developer. I need someone who can hit the ground running using our choice of language. Learning a language is easy. Learning to use the tooling efficiently and learning the ecosystem takes time. I'm not hiring developers to write algorithms. I'm hiring developers who know whatever language we are working in. I'm not going to hire a PHP developer no matter how good they are if I'm running a C# shop. Why would I? I can easily find C# developers.

If they struggle writing code and don't know the syntax when given an IDE, why would I hire them?
From the estimates I have seen WoW subscriber count was higher at the end of vanilla than it is today. Various forms of micro transactions make up for much of the revenue difference, but I don’t think the current version has wider appeal.

It’s hard to say when peak appeal occurred as WOTLK had peak subscriptions, but slow growth. If anything Vanilla, BC, or WOTLK was the peak appeal and it’s just been down hill after that. Though their are plenty of ways to slice and dice the numbers.
Well I'm not convinced you ask yourself about the L in SOLID when you are doing all that extending.
Why is that? I thought they drive on roads?
This paper on our original ideas of "Abstract Rendering" talks about the kinds of accuracy problems that plague the visualization of large datasets: https://www.semanticscholar.org/paper/Abstract-rendering%3A-...

We renamed from Abstract Rendering to Datashader for affordances of human cognition.

This is a great paper from Gordon Kindlmann and Carlos Scheidegger talk about how to gauge the accuracy of a visualization, as part of an effort to come up with an algebraic process for visual design: https://vis.cs.ucdavis.edu/vis2014papers/TVCG/papers/2181_20...

Using their metrics around "confusers" and "hallucinators", Datashader came out as one of the few things that doesn't suffer from such intrinsic limitations.
I like what I read, but the writing is so bad that the message is kind of lost. Like.. hole instead of whole ... really?
Good article, nice to read. In my work, in all my projects I always calculate a part “unforeseen event” We must not underestimate this.

https://faptorrents.com/
Sales Tips
Exactly.

In my case, I'm using Azure Pipelines' "build ID" concept as a globally-unique integer. Given any fourth version component (e.g., the 125 in 1.5.4.125) I can identify the exact unique build that generated that artifact. No two builds across all artifacts will ever share the same build ID. It's a great way of finding the build of any artifact even if all I have is a version number.
I've been looking for a sophisticated way to automatically generate documents for a while (formulas, data tables) with the addition of one crucial feature that I haven't been able to find just yet: the ability to generate a document in addition to allow human editing. For example, this is my desired workflow, Step 1, create a document automatically, Step 2, allow humans to begin editing with tracked changes, and Step 3, potentially update the automatically generated content while keeping the edits. That workflow is what I'm looking for? Any recommendations?
My own reason for not doing it myself lately... the built in browser behavior is, or should be the expected behavior for what the user is using... I'm not going to "fix" that for them. As much as I don't like the various inconsistencies between browsers on Date input controls let alone time.

It's something I don't think anyone gets right.. I think MS Ajax Toolkit came closest imho, but that didn't include a prescriptive time input and too small for tablet/phone input.
You don't use the right add blockers. I was able to read it with uBlock Origin and uMatrix
Manufacturing things is a commodity, creating things is where the value is.
Want to know what the true sign of wisdom is for programmers? Realizing that no matter what you're bitching about: marketing, sales, tools, the furniture police, what have you? It's us. At the end of the day we are our own worst enemies.

Folks talk a lot about managing complexity, but it feels a bit too tech-weenie and direct enough for the problem we have. The phrase I've been using is managing cognitive load, because it covers more than making decisions around microservices or null pointers. Our failure -- and hatred -- around managing cognitive load is what keeps taking great organizations and destroying them.

What happens if you have 1-5 really smart devs and give them freedom and a problem? You get a solved problem What happens if you keep adding really smart, capable people? You get a mess. Continue this process, you'll have burdensome process, a couple of new frameworks, an architecture team, and more. You'll get a huge amount of really super smart people -- all making a mess and pointing the finger at somebody else for being responsible.

After some consideration, I have come to a sad conclusion: most of us in tech do not want to do our jobs. Our jobs are to solve problems for people. After that, it's brutally keeping the cognitive load down for everybody that touches what we do. To put others first in this way and realize we're prone to making things far, far too complicated is humbling. It involves creating simple things that a first-year programmer might make. In short, it's boring. And who wants to be bored?

We have met the enemy and it is us.
Show HN: Slack slash command integration demo with visual builder
If you need to clot a wound and have only common household products, ground black pepper and coffee grounds make for excellent temporary scab substrates.
Yet to see an Ubuntu Security Notice released, I'm presuming an update to the docker.io package will be released?
Reinventing the wheel keeps the circus going forever. As long as python 2 is supported I don't have to touch any of the scripts I have to "maintain". The moment I am forced to migrate everything to Python 4 (they broke everything already, why not again) I will have to deal with a huge amount of pointless busywork just trying to restore functionality.
I recently looked at a couple places and couldn't find it...

https://faptorrents.com/
Are SE positions available for non-US citizens?
The attractors at http://datashader.org/topics/strange_attractors.html are probably closer to art than science...
> in the UK there are exactly zero B&M stores that sell zeros

Now there's one!
The Age of the Essay (2004)
The typescript fever smells like most of the other herd stampedes over the past several years. Check out this talk from a few years ago by Eric Elliot "Static Types are Overrated". He goes over how types don't mean fewer bugs, and if you're getting a lot of type-related problems it's probably got more to do with your testing hygiene. He also just wrote a summary of 2+ years using TypeScript and why it turned out to be more of a liability than a benefit.
This came up every few months when I was at Twilio (2012-2014) - primarily regarding supporting faxes. From what I remember from the folks who knew SIP really well, the issue was mainly that there's too much variability in terms of latency and the modulation/demodulation of the analog signals that modems use.
Date input is a mixed bag... it sucks all browsers/platforms do it weird and in incompatible ways... on the flip side, I don't like interrupting the "expected" platform behavior in terms of accessibility users.
And that architecture is written down nowhere, it is implicit in the different individual services.

It's also an architecture that is now much more prone to failures, because while procedure calls essentially never fail, RPCs do. Or if they don't fail outright, have unpredictable latencies etc.

(I turned a microservices/SOA code-base into monolith back in 2003/2004. It worked wonders.)
And this author's been a "dev" for decades on top of that! Junior developers are a fact of life for any growing company with a career path (unless you're netflix), and so is management and coders of all levels. To fix that you need other processes, code reviewers, mentorship, maybe even a google "readability" policy.
> I would absolutely expect people to give that up, as well as any senior economist student would tell you, the labor preference curve is backward-bending after you start making a certain amount of money.

Are you sure this is a good student? The bend in the curve demonstrates the preference for incremental wealth. So you might forego $500k to $600k. Going down to $0 takes you through the steepest part of the curve.

(I guess with interest on savings, the person is going down to something like $25k-$40k.)

> There are multiple studies saying that happiness plateaus after a certain amount of income. It's his life and he probably found his own plateau.

I am not sure what you mean by "probably found his own plateau".

Do you mean he found he didn't need as much money to live?
Before trade dress and other IP nonsense became the law 'knock-off' simply meant culture transfer.
Datashader itself renders networks: http://datashader.org/user_guide/7_Networks.html
It's not the tech, it's not the devs, it's not the project managers, it's not sales, it's not the customers, it's not the pattern/model.

It's all of them. They all contribute to a system, and the system is what produces the output. You cannot lay the blame on any single part of the system without understanding the interrelationship between each part.

A developer produces some quick and dirty prototype and it ships but is a bitch to maintain. Blame the dev? Maybe. Blame the PM? Maybe. Blame sales? Maybe. There was a deadline and the dev hit it, you can't blame them for shipping when the deadline wasn't relaxed (by the PM or sales). But maybe you can blame them for giving bad estimates.

Why are the estimates bad? Do they know how to estimate? Have they collected metrics on how long problems of various size take to be completed? Has the PM? Has the head of the software division set that as a goal to understand? If not, then some teams will estimate better than others because they took the initiative. But they probably weren't given the money or time to do it, they stole that time from their customers (which isn't wrong, but it's hardly scaleable).

Is the team junior? Have you trained them? Do you have a training program in your company? Mentorship? Do you send them to conferences? Don't blame the junior devs for the failure of the business to understand and convey the importance of training to PMs and devs.

A dev who feels they have no authority to say no will always say yes, even if it's outrageous. They saw a peer get fired or demoted for saying no too many times and don't want to risk it themselves. It's the system that creates this. So create an environment where the devs can say no to requirements. Help them to understand how to present their case when saying no. Or, better, teach them to say, "Yes, but...". "Yes we can deliver that feature, but you will have to delay delivery by a month." "Yes we can deliver that feature, but you will have to pay for database training or a DBA because we don't have that competency in our group." "Yes we can deliver that feature, and hit that deadline, but only if you descope these other features." Don't make it optional, make it clear what the tradeoffs are. Sure, devs can do this now. But many feel disempowered to do so. Create the culture within the business that empowers them to make these meaningful contributions.

A company that lets sales to scope all features and decide deadlines is setting itself up for failure (failure to deliver stable, reliable products on time and in budget). A company with a too conservative dev group that says no to everything will fail in the market place (failure to deliver what customers want). It continues from there. Don't look to one group and play the blame game unless that group is overly strong/weak within the organization. At which point you need to distribute authority/responsibility better and empower people to make meaningful contributions and decisions.

Examine the system and culture, then shift it towards one that can achieve the desired goal, or change the goal if you're unwilling to change the system, or fail.
Figuring out how to make a computer decide that one API is compatible with another would be bloody hard. I hesitate to say 'impossible' because today, I can subscribe to much of what I deemed impossible two decades ago.

If you can figure this out, it would be an absolutely amazing feat. Best of luck!
Why does the animated image sequence show specks resembling stars that are flying by at the same speed as Ultima Thule?
Doesn't google essentially have a monolith that's distributed across a network?
Wide scale refactoring is a rare occurrence and a somewhat constrained problem. The whole point of micro services is most changes are limited and constrained. In monoliths you have none of that so everything require mass communication and not just wide scale refactoring.
This is an important issue, but this article seems almost entirely devoid of content with some links to other articles. It's like a lazy 16-year-old was asked to write an essay. You could sum it up by saying "I tried not to let my unborn child's existence known to advertising networks, but it was hard, particularly without alienating my friends and family." I wonder how many ad impressions it will generate for Wired.
> > Feynman concluded: “for my money Fermat’s theorem is true”.

> > "the main job of theoretical physics is to prove yourself wrong as soon as possible."

> Great example of the main difference between mathematicians and theoretical physicists.

Actually, I'm not sure I agree: even before Wiles's proof, almost every mathematician would have been willing to wager, at least conversationally, on the truth of FLT; and mathematicians also are in the business of proving themselves wrong as soon as possible. The only catch is that we don't count an inability to prove yourself wrong as a proof that you're right ….
I've also written a smallish blogpost about this CVE. I'm a LX{C,D} maintainer and I've worked with Aleksa the runC maintainer together on a fix for this CVE:
https://brauner.github.io/2019/02/12/privileged-containers.h...
ECC RAM not being in consumer PCs is largely a market segmentation pushed by Intel[1]. It is in fact quite ridiculous if you consider that essentially every other bus, interconnect and storage in your computer has error correction except _main_ memory (and the main memory bus). If it weren't so normalized we'd go like "Dude, do you even realize how lol it is to have no parity on all of the most important data the computer is working with?!".

Also the lost productivity due to main memory errors not being detected probably easily goes into the billions. Thanks, Intel.

[1] There was a time when consumer systems genuinely didn't support ECC for lack of hardware support. This hasn't been the case for many, many years.
With efficient tunneling you can have efficient wiring. The last mile problem becomes a last chain problem.
This is great to hear. I work in an org that uses metabase a lot, and have made a few contributions. Their Clojure code is a delight to work with!
> Note: You will have a lot of trouble using a softmodem/winmodem! You are much better off using a hardware-based modem.

Some things never change
You are speaking to the outrage crowd. Really hard to reason with them.

They reverse the burden of proof.

If they find an issue, they point it out and imply that there is a solution that people don't want to take.

They don't consider any nuances: magnitude, scale, proportions, cost/benefit, margins of error, the concept of diminishing returns, game theory, etc. Hell, half the time they will comment without even reading an article. They just read title and then pull out a speech based on the topic of the title.

Instead of them having to advocate for their position with pros and cons and facts, they put you on the defensive with innuendo, distorted comparisons and other sophist techniques.
Of course; if you ignore the possibility of optimization, then the claim becomes almost a taoutology. In practice however, I notice this a lot less often than I notice the reverse.