skysight-inc/HackerNews huggingface dataset:
Well, if Microsoft could, and did, port IE and Office to UNIX, why would the free and open software people have a problem in allowing more user choice? Why would they need to hard depend on software designed to be non-replaceable? With most free software organizations set up as nonprofit, we must hold them to a higher standard to ensure their continuity under the legal framework.

> No, actually you can't. You're not entitled to unless you specifically sought a license that permits it

Please take a look at 17 U.S. Code § 117.
Thanks very much for reporting this! It’s now fixed.
No, not really. It reminds me of a shirt I saw once:

"Caffeine: do stupid things faster and with more energy!"

Likewise, these new tools enable us to make entire new categories of mistakes based on false correlations etc., and to make them more often. Before, it would have taken a lot of work to cancel thousands of people's health insurance. Just the sheer amount of time and number of eyeballs involved would have increased the chance that someone might have noticed a problem. Now it's just >click< and there's no chance for introspection before the results of bad data or bad analysis are made manifest in the real world. Some gears are meant to grind slowly.
Curious, do you have some anecdotes about that? I've generally heard from coworkers who were at Netflix that they have pretty high attrition at the lower levels, with the "fire the bottom 10% every X months" rules.
Why are these arguments in favor of Node.js over their current Java based stack? Java is both considerably more speedy for this sort of workload and there's a significantly larger pool of high end Java server developers compared to high end JavaScript server developers. Budget and brand recognition are not necessarily in favor of node.js over other stacks. That simply helps with getting the better engineers in general.
Sure. And I'm saying that's wrong.
> I can generate the regexp ((^\/foo\/bar$)|(^\/foo\/bar\/\d+$))

And how would you know which one got matched? The regex match isn't going to tell you that. Also, it needs to recognize if multiple were matched, which is definitely not going to be done by the built-in regex matcher.

It's certainly possible, but pretending it's trivial isn't helping, either.
I would have written my apis in golang and not nodejs. Go is way faster in my experience and it feels leaner to create something because creating a web service can be productively doneout of box. Node apps tend to depend on thousands of 3rd party dependencies which makes the whole thing feel fragile to me.
Below is part of my own comment on another thread (https://news.ycombinator.com/item?id=8379613):

Now, actualy answering the qustion to where find it. I don't believe in startup events or regular networking for this. You hire the more outspken and available developer, not the right one. A good tip that worked for me is to keep an eye for this guys that show up at HN front page with a technical post or a Show HN. Rule out the very experient and famous developers who are regulars to HN front page. Search for the new, unknown guy who did something bright (HN upvotes are a great filter from tech guys for this). At the Show HN rule out the full formed startups, look, again, for the new, unknown guy who built something great as a side project.

If you have experience in the field, a good idea and money to fund (and a willingness to go to SV), i think you are in good position to attract the top talent that appear here.

Also, look for someone in "Who is hiring" Hn thread (definitely not at "Needs a freelancer?" thread).

The prologue of that comment is much in line with dylanhassinger's comment. I wholeheartedly agree with: Hire a good lead developer and slowly expand their responsibilities.
A surprising amount of path recognizers are O(n). Paths/routes are a great fit for radix trees, since there's typically repetitions, like /projects, /projects/1, and /projects/1/todos. The performance is O(log n).

I built one for Java: https://github.com/augustl/path-travel-agent
1366x768 overtook 1024x768 as the most popular in 2012.

But most tech startups here are targetting early adopters initially so that doesn't include all of those people in China or India running XP in cybercafes.
Chrome 40 beta arrives with revamped bookmarks manager, removes SSL 3.0
I've worked as the main developer and designer at an online publication using Drupal, then WordPress, among many other duties including communications and social media. I learned enough PHP and HTML/CSS/jQuery to write custom themes and a couple custom plugins. Recently I started working a side project as a technical cofounder (called SpareChair) and have been working with a design/dev shop to build the site with Rails. The TeaLeaf Academy has nailed the tough problem of learning to code with Ruby and Rails online. It's a Goldilocks combo of written and video tutorials and exercises, weekly live sessions and nearly instant responses to questions from students, the founders and TAs in their project forums. It's focused on producing a coder ready to sit in that dev bullpen and hang with everyone from day one of the job and accomplishes that goal. And it's very affordable, the ROI is amazing. Anyone looking to get into Ruby and Rails should check it out.
FYI you can actually achieve this same thing for free using IFTTT and email digests
I was doing some googling about this earlier, IIRC one of the big ones was "Good when your bottleneck is I/O, not good when your bottleneck is CPU."
Same here on windows, mac and debian with firefox.
The point is it gives you all the same powers with the added convenience of being able to passively approve payments. Active direct debit agreements can be viewed through banks' online banking services and you can cancel them with one click. I don't really see how your system is better for consumers.
I can see this being pretty useful for utility type apps on the desktop. If you already have a lot invested in PHP then it seems like it would be really comfortable. Since it's basically just running a local server, it's going to be just like writing a web app except (I assume) with access to the local file system and system calls.

There's a few comments here about using native GUI widgets and such but I think that's a tricky approach. Dealing with long-running state of a native app seems very un-PHP. I consider myself fairly experienced with PHP but I'm not familiar with creating background threads with PHP which you'd need for a responsive GUI.

My greatest fear with all of these various wrapper frameworks is that they become abandoned. With a node.js/Javascript one at least there are several out there and the code is likely to be portable from one to the next. With this PHP one, you'd be committed to Nighttrain.
Maybe take a look at pandoc (markdown -> latex or html with equations/tables).
A full chapter is dedicated to dynamic type checking.

If that isn't acceptable for your project, don't use it. Successful languages that don't have compile time checks, show that this problem is irrelevant.
>I'm not disputing that there certainly are problems in systemd, but as a package I still think that systemd does more things "better" than sysvinit than it does things worse.

The community seems pretty evenly split on this point, with folks like myself taking the opposite view: systemd is a regression in so many fundamental areas that its improvements in things like boot times and init script syntax just are not worth the tradeoffs that it imposes. I don't care if the frogurt is free when it's full of potassium benzoate.
The New Fast Food – The Rise of the Delivery-Only, Mobile-First Restaurant Chain
Well done, are these yours?
This. I learned programming the "bang your head against the wall" way, and I think I'm much better for it. I'm much more familiar with the innards of my tools, operating systems and programming languages as a result, and I'm much better at debugging things and understanding what's going on when I write a certain piece of code. I also have a pretty diverse set of skills. I find that any information you pick up somewhere eventually ends up being useful elsewhere.

But I'm privileged in that I wasn't ever pressured to learn, it wasn't a point where my livelihood depended on it, so that's a factor.
Operating Apache Samza at Scale
So the lesson is to actually know the code you deploy to prod? Is that not obvious?
Surgeons at War
Fantastic insights, thanks for taking the time to answer. I love it.
What to Expect Next from BitTorrent Sync
The summary was worse than that: We need to switch over in 40 years AND remove large amounts of carbon from the air as well.
I did not know this before, very interesting.

Despite the easy access as a global variable, using document.getElementById() turns out to still be faster - http://jsperf.com/id-vs-class-vs-tag-selectors/328
Top French most innovative startups
Arduino Comes to iOS: Program the LightBlue Bean from Your iPhone/iPad
Given that combined regex, how do you determine which of the routes that went in to it was the one that matched?
I think the best (or at least my favorite) thing about Learn C The Hard Way was an extra credit assignment of going through the K&R book and finding a way to break every piece of sample code. Talk about a learning exercise.
From the article:

> Let’s face it, businesses won’t make sacrifices and pay more for clean energy based on altruism alone. Instead, we need solutions that appeal to their profit motives.

This is what I keep trying to explain to my environmentalist friends, but there's a strong motivation in that circle to pretend the economic factor doesn't exist and it's as simple as saying "screw you" to oil companies. It doesn't get a good reaction.
Google's Image Recognition Software Can Now Describe Entire Scenes
I don't think most people believe in climate change so you'd probably need to convince more people that it's actually a problem.

If you read the WSJ, Facebook, etc, you'll frequently see comments like the following which had nothing to do with climate change and was about the Rosetta probe.

http://online.wsj.com/articles/rosetta-probe-directly-discov...

"Lets hope that with our last election that the US can get back to real science instead of voodoo climate change superstitions whose purpose is to enrich Democrats and ecowhaacos and to make poor people's energy costs go up."

The comment was upvoted a dozen times. I took the couple questions that I answered and started my own FAQ: http://thespanishsite.com/faq/climate
It sounds to me like some kind of configuration/IT-infrastructure-control issue. I wouldn't be surprised if it relates to some sort of "we want a way to toggle this live without an actual code-push" narrative.
A Rape on Campus: A Brutal Assault and Struggle for Justice at UVA
After 24 months, we just made our first hire
Anyone knows how this could be done in practice? I mean, in programming you'd solve a problem like this by defining a proper set of interfaces and making sure each implementation adheres to it. Form what I read in this thread, part of the problem seems to be there is no such interface and hence developpers depeninding on an init system have to choose A or B or do twice the work.
Announcing the CloudAcademy Community
Does anyone have any good books or resources to help someone determine a match between possible niches and their skillset?
Exciting to see this standard being built and also very useful to see the performance comparisons with HTTP/1 communication.

I wonder if HTTP/2 will change the way we develop websites now that it's cheaper to load resources?
Program the Cloud in any Language
It has always been possible to get stuck in bureaucratic hell by some mistake at some level, and often difficult to extricate oneself.

Before, each of those cases probably needed a human directly involved. Humans make mistakes, but they tend to make them one at a time, and we have a cultural understanding that humans can make mistakes, and systems to recover from them. Now that we have algorithms involved, we can screw people over wholesale, and we haven't yet developed the cultural knowledge that algorithms can make mistakes as well (astonishing, considering how often computers do not do what we expect them to do).
Travel with Ostomy – Making Ostomies Badass
Your inferring something does not mean I implied it. Also, I didn't insult you, I mocked your eminently mockable argument. You're going to have to work on your reading comprehension if you want to be taken seriously.

I'm not backtracking at all. I said that gender was clearly in play, and that it seemed reasonable to see his behaviors as misogynistic given the context. I stand by those statements.
I live in the 10th most populated state and our school districts are at the county level. I know the 24th most populated state also has districts at the county level.

I tried to find statistics based on state, but could not find any data. (A quick google seems to imply that CA, NY, and WA do not do it based on county, but it's hard to say that most states do with only 5 measurements.)

I'm not really sure why your posts are so angry about this topic, but your original assertion was that schools were segregated by wealth, which is obviously not how are schools districts are devised. I understand that your jaded worldview may keep you from accepting this fact.
Python Retry Patterns for HTTP APIs
Honest Snaps
Do you integrate with Beer Advocate or Untappd for your ratings?

Great idea, good luck!
My first reaction on reading this was, "What about the Unsolicited Goods and Services Act and similar legislation?" However, a few minutes of Googling and reading up on contract law on Wikipedia suggests to me that there's a very real problem here. It turns out that unsolicited goods and services legislation only applies to consumers: for B2B it's somewhat more complicated.

For a contract to be valid, four things are necessary: an offer, an acceptance, a consideration, and an intention to create a legally binding relationship.

You can't accept a contract just by reading it: you have to take some action indicating your acceptance. Normally this would be by communicating it, but in the case of unilateral contracts (e.g. software licence agreements), it can be by some other action such as clicking an "I agree" button.

I'd guess that what is going on here is that the recruiter is trying to argue that you've indicated acceptance of their contract by hiring the guy. I'd guess that a paper trail to another agency would give your case some weight, but I'd guess that YMMV on that one.

This is why non-trivial companies have HR departments. The way they get round this one is by having clear disclaimers on their jobs/contact pages repudiating any liability for unsolicited CVs. Here are a couple of examples that I've come across - KPMG: http://www.kpmgcareers.co.uk/experienced-professionals/agenc... Cargill: http://www.cargill.com/careers/notice-staffing-agencies-plac...
Pretty cool idea. I don't have a beer menu here to test with, but the search is very fast.

One critique: your website doesn't explain the difference between Free and Pro. I had to go to the App Store to find that info, which took a lot longer.

One suggestion: add other dimensions for sorting besides bitterness. There are a lot of things other than bitterness that distinguish different styles.

One feature request: Let me track my own ratings and view them later. This is the first beer app that feels fast enough to use for tracking my own beer ratings. I love tracking books I've read in Goodreads because it makes it easy to find them again. I want to do the same thing for beer, but the apps I've tried (Pintly and BeerAdvocate) have been painfully slow and hard to use.
But, with a little sprinkle of unsafe inside this method, we can make it happen.

Uh oh. If you have to turn off subscript checking in Rust for "performance" for simple loop iteration, something is very wrong.

The way this ought to work is by the compiler hoisting checks out of the loop. Consider

let mut v = vec![1i32, 2, 3, 4, 5];

let vlen = v.len()

for i in range(0, vlen) {

let x = &mut v[i];

// do some work with x

}

(Have to double space due to lack of formatting capabilities here.)

Subscript checking requires something comparable to

"assert(i >= 0 && i < v.len())" at the subscript check v[i]

The compiler, knowing how "for" works, can hoist that check out of the
loop, so it becomes

"assert(0 >= 0 && vlen-1 < v.len())"

at the the top of the loop, before the FOR statement is entered. Now the check only has to be executed once. This optimization is valid for all iterative FOR loops where the iteration variable and the array are not modified within the loop, and the compiler has to check that.

Then, after hoisting, some algebraic simplification can be applied to the expression in the assert. This requires a small theorem prover, or more cheaply, some rewrite rules for the common cases.

"assert(true && vlen <= v.len())"
"assert(vlen <= v.len())"

Now, flow analysis shows that, at the point of the assert, vlen = v.len(). So we get

"assert(v.len() <= v.len())"

and finally

"assert(true)"

which is eliminated as dead code. Zero overhead for subscript checking, yet proved correct.

Now that's how it ought to work. One of the Go compilers does this for simple loops like this. Sprinkling "unsafe" around, and making people use funny library constructs for simple loops, is doing it wrong.

This seems to be a forgotten technology. There were Pascal compilers in the 1980s which did this. In practice, about 95% of subscript checks could be optimized out for Pascal. You can almost always get checks out of iterative inner loops, which is where they really matter.
It could be "popularity" or "trending factor" instead. Basically the same way stories are ranked on HN (http://amix.dk/blog/post/19574), but instead of upvotes it uses our popularity score system.
As the founder of a "game engine startup", I found this post extremely useful. I'll be purchasing your book if only to support your marketing research.
A Cautionary Tale of Learning to Fix Teeth. My own.

How a reasonably balanced individual nearly went insane

I was just a guy in a suit in an office with a vague healthcare idea. Then I decided to learn to fix teeth.

I overheard some guy at a happy hour bragging about how easily he was able to automate his overbite by using a technique called "4 Handed Dentristry". I thought, "huh, 4 Handed Dentistry." I went home, googled it, and within 15 seconds, I was working through a random 4 Handed Dentistry tutorial.

A week later, I went to my first dentalspace meeting. Everyone was talking about techniques like orthodontics, endodontics, and maxillofacial surgery. There was so much to learn. I borrowed three O'reilly books and got about 50 pages into each of them.

Most dentistry books start off nice and easy before making big assumptions about your prior knowledge.

A friend told me I should get good at drilling, and gave me his drill bits. I spent a few hours learning basic foot controls so I could further configure it.

Then some guy walked by and saw me drilling. "Why are you drilling?" he asked me. "Don't you know lasers are better?" "Hm. Lasers." So I started memorizing dozens of laser shortcuts.

Most arguments about restoration techniques are what dentists call "religious wars" - rooted more in historical differences than practical merit.

At the time, it seemed reasonable to think that the faster I could drill, the faster I could fix teeth. I switched to a hydraulic drillset because, hey, it was objectively the most efficient method a dentist could use.

Can you count how many letters, numbers and teeth are in their original oral positions? I'll give you a hint - it's in the low single digits.

On the days I could actually get my netbook to successfully boot DentalCAD - and that I was able to drill more than 10 teeth per minute - I studied oral surgery by working through books and Udacity courses.

After 7 months of grueling self-study and going to dental events, I landed my first Dental HMO job...

You kinda get the idea by now? I dunno, I think what we do is every bit as professional as dentistry. So why don't posts like OP's seem as absurd as mine?

[UPDATE: For those of you who have suggested that programmers don't have others' well-being in their hands, actually quite a few of us have, just not as directly as dentists. We are a profession and we do do important work. A few examples in an old post: https://news.ycombinator.com/item?id=2882620]
Huh, that seems like an odd rule-of-thumb. That would guide you to put more money into deals with lower absolute returns, which would lead you to really low ROIs. eg, if you were willing to put down 66% on that property (£100k down, £50k mortgaged), then a £500 rent would be ok. Or am I reading that wrong?

I am completely ignorant about UK real estate, so I might be missing something obvious.
Focus is hard, but it's great that you learned this in under a year. I still have issues with focus now and then. Like when I decided that I was gonna spend 2 hours after work for a week on new tech and decided to try and pick up clojure... except that I'd never used a lisp, and after a myriad of compiler errors that I was plowing through, I eventually gave up and I know no more clojure today than I did then. In the meantime, I passively continue to improve on those things that I do know (PHP/Python/JS).

I had the same issue with emacs/vim and while I use vim now, I don't consider myself a vim power user

Lastly, the OS... I started with Ubuntu, wasted a week trying to get CentOS minimal up and running (I couldn't), ran with Kubuntu and have used it for about a year. Fedora is growing on me right now since I just spent the past week downloading/destroying/upgrading VMs, but I think that was more trying to find the right flavor of Linux for what I need than anything else (and with Faience theme, GNOME 3 is pretty good, although slow in a VirtualBox VM since you can't have more than 256VRAM)
This translation of the Manual isn't very good, in my opinion. I've only heard of it as being called the handbook of Epictetus and not the manual, also. The word handbook has a lot different connotations than Manual, so I have to say I really don't agree with the decision to translate it that way. I'll refer to it as the Manual for the sake of consistency with the title, though.

My favored translation of the first line is: Some things are up to us, and some things are not up to us.

The Manual is a great introduction (and perhaps largest contribution) of the Stoic school of ancient philosophy. It's also by by far the most practical of any philosophical document that I've ever read, though it's a bit light on pragmatic responses and, perhaps, realism.

After reading the Manual, it's hard not to live by its suggestions. In particular, my favorite suggestion is to relish good moments by pausing and remarking to yourself explicitly what makes the moment good. I believe the example Epictetus picks to illustrate this concept is a child, but perhaps it's a bowl or woman in actuality; when Epictetus notices the positive emotions that looking at his child/bowl/woman gives him, he stops and professes something along the lines of, "my child/bowl/woman is wonderful, and I am happy to have experienced my time with him/it/her. I love this child/bowl/woman."

It's a good way to appreciate what you have, and to reject negativity when it's not something you can control.

The primary hazard of Stoicism is passivity, of course. A trend of declaring some things as up to you and other things as not up to you can feed onto itself, leading you to write off responsibility when it isn't directly and unmissably yours. Conversely, a control-freak would endlessly fret about the things that are "up to him" when in reality they might be only tangentially or abstractly so.

I definitely recommend everyone read the Manual. At a minimum, it's a new and orderly perspective on how to experience life and deal with the good and bad. There's some conceptual overlap with Buddhism from what I understand.