skysight-inc/HackerNews huggingface dataset:
(Sorry for late response.)

No, for this to work, you'd really need to timestamp either the git tree hash or (preferably) the hash of the GPG signature (or the signature itself).

Most timestamp service hashes are necessarily public (for trust reasons), so an attacker could grab one and go back and include it in his signed commit message.

But if you timestamp your commit hash (which is a cryptographic hash after all -- albeit an increasingly weak one) or timestamp the signed commit, then it can't be forged (since the attacker can't go back in time and use a cryptographically-verifiable timestamp, like the ones indelibly embedded in the blockchain).
> if there were a real shortage, wages would be expected to grow. This is because employers would compete over a small number of workers, and they would need to raise wages to attract those workers.

This is the crux of the article's argument, and I disagree. In a shortage, employers would need to raise compensation, not necessarily wages, to attract workers.

(a) You're missing my point. The study cites hourly wage data for years 2009 through 2014. How large, or even how common, were sign-on bonuses (not perf bonuses) in 2009, and what are they at now? Sign-on bonuses are trivial to value. Any fair study would make an attempt to include that data - this one doesn't.

(b) How common were were shuttles, day care, onsite yoga/fitness lessons, gender reassignment surgery, egg freezing, and whatever else in 2009? These things do have some value - to me at least, it's the amount of post-tax money I would have spent for these amenities elsewhere. People are unlikely to use all of the benefits of course, but the basket has grown.

Health insurance as a benefit can't be considered to be a "basic requirement" and ignored, since plans vary a lot in coverage.

(c) While the stock of "most companies" might be worth nothing, those companies tend to be small and short-lived. Regardless, the majority of engineers work at larger established companies, and most of those working at a startup that might fail in a month are doing it out of choice.

TL;DR I am making an argument against the merits of the study. Rise in total compensation, and not rise in wages, is what matters.
Business models aren't changing. The technology to serve ads will.

This a short-term reset though that the industry would do well to capitalize on and change some of the thinking that got us into this mess now.
Ad industry is definitely not getting "phased out".
It may well be accurate to say that employers are reluctant to raise wages for developers, and that in the absence of that reluctance, salaries would be much higher.

But to claim that devs are basically the same as exploited migrant agricultural labor is absurd to the point of offensiveness.
If you have this problem, the library you're using is incorrectly using the Builder pattern. All required parameters should be in the constructor of the builder. Then the other methods on the builder should be optional configuration. For instance on Android you often see a builder that takes a `Context` in the constructor because that's almost always required.
The author is being a bit prejudiced by saying her severe examples are somehow not acceptable while more high functioning ones are. Most people are unable to care for themselves. We depend on others to help provide food and water for us, accommodation, etc. Most of us won't stay alive if we're isolated from the support of other people we depend on. Some autistic people with more extreme cases not only can't provide their own food, but also can't put on their own clothes. That's just a tighter dependency but not distinctly bad.

I've heard similar arguments about Downs syndrome. Some people want to prevent it, but others say let's embrace it and recognize that the patients are still people who still get to experience life just like the rest of us. They might not be capable of some things we are, but hey, we're not capable of some things a superhuman AGI robot would be either. We wouldn't want to sterilize all humans just because intelligent robots appear and we feel our life has become relatively worthless.
Just so I understand: You are holding up China as a refuge from totalitarian tendencies?
The benefits of streams isn't performance improvements for the CPU, but performance improvements for the developer.
> They give talks at conferences[1] and write blog posts saying there's no such thing as programmer talent and that programming is easy and anyone can do it (could you imagine a doctor or lawyer publicly asserting likewise about their professions?)

I think it's more akin to someone saying "anyone can paint" or "anyone can make music". Sure, on a very superficial level that's true. Anyone can make crude sketches or learn how to play Chopsticks. But a true aptitude for programming is the same as a true aptitude for art or music: not everyone can do it at that level.
The article is click bait. These days if you've sold your company and have a small amount of money to invest you might as well start your own fund, but do it as an AngelList Syndicate.

https://angel.co/syndicates/start

If you're going to become an angel investor then why not let other people invest alongside you? So instead of putting just $25,000 into a deal you can put $250,000 - 500,000 into a startup. Course if you're a flop you will lose your investors but then again that is how it works in the real VC world ;<).
I mostly agree with this list but some things I have issues with.

The biggest is DI. Having witnessed what a tangled mess large Guice codebases can become where you really have no idea what is providing what I have to say that Spring here gets a bad rap from the all-XML days and (IMHO) it is actually the cleanest and easiest to work with.

The author mischaracterizes Spring too:

> It has a either code-based wiring or XML configuration-based wiring.

Actually Spring can use a mix of XML code configuration and auto-wiring.

A modern Spring application will have precisely an application context XML file with one line per "bean" eg:

<bean class="com.foo.SomeClass" />

and that's it. Note: there's no classpath scanning. Auto-wiring takes care of the rest. This has two big advantages (over Guice in particular):

1. Everything is in one place. If it's not instantiated here it doesn't exist. Guice can be many levels deep and tends to descend into ModuleBuilders and conditional logic in modules (which the docs recommend against but tends to be used extensively anyway); and

2. Testing. Testing is incredibly easy. I'm talking functional testing here, even integration testing. You simply include another XML file that overrides any definitions from the first. Everything else remains the same.

Testing with Guice can be horrendous and once you start making extensive use of Modules.override() you should abandon all hope.

I'm glad to see this post recommend Maven. It's fun to bash Maven but most detractors ignore the huge benefit that applies to any shop with lots of devs: Maven is opinionated. That's a plus not a minus. Seen one Maven Web application and you've seen them all. There's no really weird directory layout because someone decided they just had to be different.

Lastly Play. I really tried to like Play. I really did. But as of Play 2.0+ it became a Scala not a Java framework. It may still work with Java but some things just require you to know something about Scala. That's a huge negative IMHO. I'm not interested in Scala. Nobody is.

Plus the auto-compile feature of Play tended to randomly break with indecipherable error messages for no readily apparent reasons such that you couldn't tell if it was a bug or not. I get enough of that with C++ template programming thank you.

I also agree that the two books the author recommends are probably the two most important Java books in existence.
Valve hits a Linux landmark – 1,500 games on Steam
That's a shame. Java is my favorite language because it has the right balance of strictness (although Go is starting to take over for me). When written correctly, Java can be amazingly productive because you learn so much at compile time but the tools (IDEs) make it so that you can autocomplete away most of the verbosity.
Loud Harleys frustrate and annoy me. Most owners seem to remove the factory pipes and fit the loudest ones possible.

It's not true this helps on the highway. In my car, which has double glazed glass, you can't hear a bit until it's right outside the window.

When I'm walking along with the dog and kids, an open pipe Harley riding past is particularly not safe, because it scares the crap out of them.

One idling Harley is louder than a thousand idling Volkswagen diesels.
Exactly - in my car with people talking and radio on, you won't hear a bike until it is so close it doesn't make any difference.
Reminds me of this https://en.wikipedia.org/wiki/Cauzin_Softstrip.

Magazines would print out their source code and you could scan it in. Of course I had no money to buy such an expensive machine so was relegated to mind numbing typing and the inevitable typos that came with it.
Yea, are we just living in an enormous three dimensional grid or are there true vacuums in space?
Have to agree here. The article's use of Optional is well intentioned, but shows use of the construct in a way that it was not intended. It should be used minimally, and only as a return value to signify the absence of a value. When you notice that Optional is not serializable, this starts to sink in.

Here are some more thorough treatments:
http://stackoverflow.com/a/23464794
http://blog.jhades.org/java-8-how-to-use-optional/
Ben Evans: Platforms, distribution and audience
Well, that's just wrong, motorbikes are an important part of any transportation mix.

When the answer is 'ban it' there is something wrong.
When this kind of device is being used outside, does it actually have a noticeable impact on the air quality? Purifying enough air to fill Madison Square Garden sounds impressive, but it's nothing compared to the volume of air that cycles through the atmosphere.
Ask HN: Do you have stories about Luddite authority overreaction?
I write for my University newspaper and i am doing a piece on Ahmed Mohamed and Zero Tolerance culture. I'd like to have some stories from people who dealt with the same flavor of silliness and went on to work in tech OR had their growth stymied.

I write for The Observer @ Rutgers Newark.
Name one anarchist civilization that has created sophisticated road networks, even in antiquity?

Road construction is the archetypal government activity. You go back to 3000 BC and look at ancient Egypt's sophisticated infrastructure. How did they do it? Government. And compare that to what contemporary societies without government have left us. Pottery fragments.
Very much so, yes.
I think there can be lots of efficiency improvements that can be done at a hospital through IT innovations. Basically better interconnection and automation of system and services.
Has anyone actually used this? I'm intrigued by the idea and wonder if this is a viable backup option; and if so, are there more modern, maintained, and cross-platform open source solutions that do this?
So would it be reasonable to recommend kill $pid as a first step and kill -9 $pid if that doesn't work? Bear in mind that this is a tutorial for beginners, so things like kill -15 $pid || kill -2 $pid || kill -1 $pid || kill -9 $pid (as another commenter suggested) aren't appropriate, but I feel like kill is too important a command to leave out completely.
Love the 1996-era website design. Loads instantly, no ads, no non-sense.
What has the world come to where the command line is something foreign to a software developer?

What in the world are you talking about? The whole point of this tutorial is to teach command-line basics as a first step toward becoming a software developer. From the tutorial:

Many programming tutorials either gloss over the command line or assume you already know it. But understanding the basics of the command line is absolutely essential to becoming a skilled developer. Indeed, if you look at the desktop of an experienced computer programmer, even on a system with a polished graphical user interface like Macintosh OS X, you are likely to find a large number of “terminal windows”, each containing a series of commands at a command line (Figure 1). Proficiency at the command line is also useful for anyone who needs to work with developers, such as product managers, project managers, and designers. Making this valuable skill accessible to as broad an audience as possible is the goal of Learn Enough™ Command Line to Be Dangerous.
Not only that, but will the net effect be positive if this device is powered by, say, a coal-burning electrical plant?
We should not kid ourselves.
The STEM shortage is a cynical fabrication.
It is essentially war conducted with political, economic, and propaganda weapons. Against us.
Keep that in mind when you decide to do something about it.
https://github.com/ludamad/boarders was a start on trying to implement off of the Zillions of Games format
I prefer my own garden from the ground up, but I still eat McDonalds!
Yeah, Optionals came from other languages, not originally Java.

IMO the problem with Optionals is that they'll never suffice unless they are part of the language itself, like in Swift. As this article pointed out, Optionals aren't supported in any existing APIs, so you still have to do a ton of null-checking everywhere. And there is nothing that guarantees an Optional reference itself can't be null, which is why you really want language-level support.
I second this, also for teaching yourself there is a solutions manual available which is great for doing the exercises with.
Actually, the constitution is written so that things are legal by default. All rights not explicitly granted to the national government go to the states or to the people. Edit: in the United States.
In California chaparral, both area and rate of burning far exceed the natural levels. I suspect that the plan for the entire Los Padres ecosystem would be full suppression of wildfire, except perhaps in the most remote areas. Alamo Mountain has off-road vehicle trails, so I suspect it already has increased fire risk.

"Although chaparral is adapted to periodic wildfire,
there is substantial evidence that fires are burning at
unprecedented frequencies, and this repeated burning
(at intervals closer than 15–20 years apart) exceeds
many species’ resilience"

ftp://www.geology.sdsu.edu/pub/IEMM/CSS/Other%20papers/SyphardEtAl2007.pdf
Drawing anything with a clockwise motion I got a caret.
It's quite shortsighted to refuse to work with the developers.

Take their money and use it to build more for the public.
Wow, I didn't even think of this usecase before seeing it mentioned here. I hope they make some kind of reproducible-pbuilder which pulls the right version of the toolchains - pbulder/sbuild/cowbuild can be really difficult to set up.
Commandline.fu is a good source too
Same here. It seems like it's very picky.
Helping startups and investors to get connected and close the deal is very valuable by itself. Though it should be real help to matter to both. And it's not highlighted well in the article.
The most decorated soldier in american history is Smedley Butler. Two medals of honor. He wrote a book, "war is a racket" where he comes to the conclusion that his entire career was to further the interests of big money and elites.

We peons don't get to really choose who governs us, never mind to have government. But if belief in "the consent of the governed" comforts you, go ahead and down vote me.
They say you don't know what you have until it's gone.
How to determine if four points will make a square
The arrow has to be made by starting the head on the left side, drawing back to the center, and ending on the right
These networks ought to be robust to minor changes in W. It's the topology that maters and frankly most of the W_ij != 0 are spurious connections -- meaning perturbation analysis will show that they play no causal role in the computation. I wrote a paper on this which has >100 citation (Survival of The Sparsest: Robust Gene Networks are Parsimonious). I used gene networks, but this is just a special case of neural networks. In fact there been a bunch of papers published on gene regulatory networks that show that topology is the main driver of function -- not surprising, if you show the circuit diagram of an 8-bit adder to an EE, they'll know exactly the function. Logically it has to be so. In fact you can model the gene network of the drosophila segmentation pattern with Boolean (1-bit) networks. The problem with ANN research is that no few take the time to understand why things function as they do. We should be reverse engineering these from biology. Every time a major advancement is made in ANNs neurobiologist say "yes, we could have told you that ten years ago" deep learning is just the latest example. It will hit its asymptote soon, then people will say that AI failed to live up to its expectation, then someone will make a new discovery. It's very frustrating to sit on the sidelines and watch this happen again and again.
Show HN: Meme Generating Slackbot from Photos of You
We've been actively working on stabilizing #![no_std], as well as making cross-compilation easier. In the future, ideally, you'll just need

$ cargo build --target thumbv7em-none-eabi

instead of

$ rustc -C opt-level=2 -Z no-landing-pads --target thumbv7em-none-eabi -g --emit obj -L libcore-thumbv7m -o runtime.o runtime.rs

or other shenanigans. You can run that Cargo command right now, but you still need to do a little bit of work first.
I acknowledge that absence of government hasn't worked well during history. However, what I'm saying (perhaps in fact the whole point) is that we are leaving the period called history and entering a very different space, as evidenced by the rapidity of the internet.

In other words, I assert that the time for peace without government is ahead, not behind.
And the Browsers back button works flawlessly, wow.
The only problem with this is that ad blocking is kind of indiscriminate. There are obviously obnoxious ads out there, those that use popups, use audio, video, or dialog boxes that block out the main content.

But on the other hand, there are non-intrusive ads that are text or simple image based ones. Those ads get hit in the cross-fire of ad-blocking.

Most of the sites that are producing content charge nothing from the user except for in the form of advertising. That's not a big ask most of the time.

It's like Google providing this amazing service, of cataloging and indexing THE ENTIRE INTERNET and providing relevant and fast search results to everyone, and all they ask is that users are displayed simple text ads. It's not a big ask for the service they provide.

I realize you can whitelist sites with ad-block. BUT, if you are going to a webpage to read and ingest content, I would argue that morally the transaction is to disable ad-block to view the content.
Any solution that does not involve Epic or Cerner would be a good start.
Also available a 169 MB scanned PDF: http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/1997000...

This is a history of Saturn rockets commissioned by NASA (and thereby in the public domain)
Reproducible Builds (2014) [video]
Very cool. It's interesting that, depending on how I draw it, I get a much higher match for "D" when I draw a box than when I draw a D.

It seems like it might be tricky to train it on what not to recognise. Or maybe you just need a lot of template gestures.
> It is valid ISO C, if it isn't running in a hosted environment.

Well, if you don't have an OS, a lot of things change.

My question comes from all of the C-like Algol-like languages which look like C but... aren't C. You know, like how Java/C# isn't technically one language, but two, for legal reasons.
I'm a big fan of two books:

* The Elements of Statistical Learning, by Hastie, Tibshirani and Friedman (https://web.stanford.edu/~hastie/local.ftp/Springer/OLD/ESLI...).
* Probability Theory: The Logic of Science, by ET Jaynes (http://bayes.wustl.edu/etj/prob/book.pdf)

Best of luck. I can see from your post that you're thinking about performance tuning, I'm assuming you mean of software. That's a nice area - the nice part is that compared to fields like medical genetics, data on performance of software is relatively cheap to get, so a lot of issues about small sample sizes are surmountable.
Fixed-precision is fine. Until your quantum isn't good enough.

We only store to hundredths ... oops ... new regulations require us to decimal round to thousandths. Cue full reload of the database with all your numbers in them.

Or, even better, try dealing with mm and mils in the same CAD database simultaneously. (conversion factor of 25.4--a clean number in decimal but very much not in binary)

In addition, you forget that simply adding decimals doesn't work in binary floating point. Adding 0.10 10 times doesn't equal 1.00 in binary floating point no matter how much precision you use.
I think this just recognizes your gestures (i.e. it does not recognize shapes you draw). I added an example of a clockwise triangle (using the site's "Add as example of existing type") and it was then able to recognize clockwise triangles.
This comment is slightly grayed, meaning it has some number of downvotes to it. But it doesn't violate any of the HN rules.

It feels like this was down-voted by those who disagree with the content. Such a sad state for hacker news.
> The best defense is a good foreign policy that avoids conflict in the first place.

Like some kind of hypothetical agreement with Iran?
...which leads to higher prices charged to consumers. Credit cards and their benefits exact a roughly 3% surcharge on ecommerce in the aggregate.
Back in the day I got quite decent at using that to take notes in class. Was an interesting tool.
Java as a language is totally fine! It has everything one might need. The culture totally sucks. Oracle leads the march toward what is the "standard". Jersey is a great leap out of this.
CrowdChat on 9/22-DevOps: Code,Culture,Community with IBMInterConnect
I've played around with this some, and the recognition isn't perfect, but I'm very impressed with how well it can pick up a new pattern from even just one example.
Merchants in the US are now legally allowed to charge a surcharge for credit card transactions, regardless of their merchant agreement.
You have won at the internet. I'm sure you're a joy to be around. I haven't seen the meaningful response that you've added. You really do seem like a troll. If that's not your intention, that's cool. If it is, well, hey, happy trolling dude!

Edit* Yep, just checked your comment history, you're a troll. God why do people like you exist.....
Bootstrapping deserves to be much better known. The fact that it works is miraculous.
Complexity of tech is growing, and complexity level difference gap in stem skills is growing as well. Thus its always a race between the need and skills availability, rather than total number of workers. But yeah,The real story is that employers want to pay workers less.
The animated GIFs are an especially nice touch.