skysight-inc/HackerNews huggingface dataset:
I made this to learn about web scraping and twitter bots. I think scrapy was a bit overboard for my needs but it's been good to learn, and twython is surprisingly extremely easy to get running properly.

The reason why I went with comments over points is because I found myself skimming the front page by looking at comments because I'm interested in posts that generate discussion instead of posts that may be upvoted for interesting titles.

Source code here: https://github.com/bradleyoesch/ScraperNews
> (Have to double space due to lack of formatting capabilities here.)

Indent by four spaces to get a <pre> tag:

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
}

> This seems to be a forgotten technology.

Given what I know about Rust, I strongly suspect that there is a way in Rust to iterate over a vector with only a single hoisted bounds-check. Hopefully other Rust people can chime in on what this is.
By that logic the app I work on would have a DFA with ~200,000 nodes. That sounds fairly large to me.

I suspect this is a slight overestimate, but the point stands - non-trivial apps could quickly build very large state graphs.
How to Keep Your SSH Sessions Alive
> "I dunno, I think what we do is every bit as professional as dentistry."

Except that you're not dealing directly with a human being's health and anatomy? You must be trolling right?
Beats Music to Be Bundled into iOS Early Next Year
I think main driver of why people deny climate change is that the market mechanism cannot deal with that situation. So if someone is a firm believer in market solutions to everything, the climate change reality is a tough attack on that personal belief.
If we take your code and modify it so that the compiler can't just get rid of the array acces, we get:

extern crate test;

fn main() {
let mut v = vec![1i32, 2, 3, 4, 5];
let vlen = v.len();
for i in range(0, vlen) {
let x = &mut v[i];
test::black_box(x); // do some work with x
}
}

Compiling this file with rustc -O, the compiler not only gets rid of the bounds checking, it gets rid of the loop altogether by unrolling it completely.

LLVM IR: https://gist.github.com/veddan/1535a8718cf2c85006ea
I am inspired and will immediately switch to Fraktur for all my Fortran and COBOL code!
Why does nobody include the particle name in the heading? Supersymmetry?!? Click. Nope, some pseudo particle or a bunch of quarks.
India, China, and all the emerging economies in South America and Africa are going to take the same economic route (coal & gas) unless we give them a cheaper alternative.

Your right, environmentalists don't seem to understand economics or human nature. People will not sacrifice so we really need to tech our way out of this.
Got it. Well, while I can't see why you'd want C++ of all languages for this (Haskell seems like what you are really looking for), apache might actually be your friend here. At an old $WORK we had a number of web applications written in C++ and C (yup!), as apache modules. This way apache does most of the boring stuff such as header parsing, routing requests, config files, etc. and you do just the functional parts of your site/app. Then again, this was one of the slowest and most error-prone ways to code this up, and the guys working on this were full time C/C++ devs.
Very funny!

Yes, there is a professional pathway to follow to be allowed to meddle with someone's teeth.

Once you've got that far, however, you're free to carry on much as you want.

Dentistry has its own religious wars, the acronym TMJ springs to mind.
[Subjective] Not to criticize the Express.js code base, but have you tried reading it? It is very complicated and there are a bunch of clever things going on. I think it could have been written simpler and easier to understand. A problem with frameworks is that they are written by people who want to show off how clever they are.
One easy way round that is to just nationalize the oil companies.
First off, you don't need to handle the 'multiple' case, since the "|" has precedence rules applied to it. The leftmost match is the match. Second, you know which one matched based on the index of the capture groups, which is deterministic. See this example: http://rubular.com/r/HiW6gjnURe

You could write a simple router based on this in < 50 lines of JS. I'd do it now, but I have work to do.
Copy paste is disabled remember...

As for the rest, that is up to the developer with more resources than his opponents.
For more concrete syntax, consider the following Python:

>>> import re
>>> route = re.compile(r'(?P<fb>^/foo/bar$)|(?P<fbd>^/foo/bar/\d+$)')
>>> route.match('/foo/bar').groupdict()
{'fb': '/foo/bar', 'fbd': None}
>>> route.match('/foo/bar/1').groupdict()
{'fb': None, 'fbd': '/foo/bar/1'}

If the fb group is set, act on the first route. If the fbd group is set, act on the second.
part 1 : https://www.airpair.com/nginx/posts/ultimate-guide-migrating... mostly Apache+php-fpm for Drupal
The metaphysics of Intertellar
The match object will be of the form [undefined, ..., input_string, undefined, ...], so you can use something like m.indexOf(input_string) to find out the index. Unfortunately that's O(n) again, unless the engine uses a sparse array implementation...
Upstart's event-based model was semi-broken and AFAIR the original author admitted as much. (I believe he posted a message stating this to a maining list, but I cannot find it ATM.)

Exposing the event model directly to the jobs also made reasoning about the current system state (which is what actually matters, not how we got there) tended to make upstart jobs a lot more complicated than necessary. (This is from memory, it's been ages since I actually looked at upstart jobs.)
I believe that most people who believe as you do haven't spent a lot of time in deep interaction with people who are significantly less intelligent than they are. If you frequent Hacker news, i'd hazard a guess that you almost never have an intellectual conversation with anyone whose IQ is below 115. If you ever have the opportunity to try to extract information from or explain something to a person with an IQ of, say, 90, you may change your mind.
iCloud hack iOS 8.1.1 and iOS 8.2 doulci downloadpangu8
New Updates on Melonpix
You don't have to turn off subscript checking for simple loop iteration. As the article says, you're supposed to use .iter_mut() for this purpose where the unsafe code is isolated to library code.

The passage you quoted is about splitting a slice in two, not loop iteration. Bounds-check elimination can't solve this problem, and once again it's about unsafe code encapsulated in libraries. The function split_at_mut is perfectly safe to use in safe code.
Dismantling Tech’s Sexist Culture Isn’t Easy, but Deleting Uber Is
I assume this is some kind of continuous delivery-style thing, where they can push up and amend endpoints without bringing down the entire system.
Your analogies are great, transmiting a clear picture of systemd, like this: http://upload.wikimedia.org/wikipedia/commons/a/a6/Professor...
November 2014 Web Server Survey
How to Start a Startup: Advice from Paul Graham
It buys you a higher level of abstraction. Now, abstractions have costs and benefits, so it's up to you whether it makes sense in any particular case. But that's what this tool buys you.

In this case, its benefits are that the logic is stated in natural language, in domain terms, so it could be written and/or reviewed by domain experts or business analysts. It's basically a very simple business rule engine. It's similar in this way to Cucumber, except that this is specifying production logic instead of test cases.

It's also just text so the logic could also be updated by users at run-time, making the system scriptable, if you need that kind of reconfigurability.
Sure the market can deal with it: someone creates a cheaper, easy to transport, clean fuel ecosystem. Problem is people keep denying they need a market solution and instead look with glee on instituting new regulations.
I still fail to see the influential connection between the taxpayer's opinion and the service his tax pays for. A rich guy who pays tax and doesn't avail of the state's education is in a minority, regardless of how much tax he pays.

As far as I can see, the only way the argument works is if money is what's doing the electing, rather than individual voters (as in, we don't have "one man one vote" but rather we have "mo' money mo' votes" like in private companies). If that's the case, then that's a way bigger story than "rich guy doesn't care that his tax dollars make good public education".
Could be cheap as chips but without storage, forget it as a solution for most of the world. Nuclear is an exception of course.
Mono and .net integration
"That's why it's so frustrating to see developers making superficial forays into Docker and then declare it to be too complex. "

That goes both ways. It's equally frustrating to see developers making superficial forays into it and declaring it to be the magic bullet that makes everything simple.

The basic fact is that building and deploying complex software, managing dependencies, handling discovery - these are all complex things. There is no solution that makes it simple because it is inherently not a simple process.

Instead, we can only shuffle the complexity to places we're more comfortable in managing. For some use cases that's a dockerfile. For others, it's chef cookbooks [or other CM solution]. For yet others, it's both.
I'm surprised nobody has mentioned that express has a built in mechanism for sublinear matching against the entire list of application routes. All you have to do is nest Routers (http://expressjs.com/4x/api.html#router) based on URL path steps and you will reduce the overall complexity of matching a particular route from O(n) to near O(log n).
Love the format of your presentation. I wish all web based presentations were like that.
Simple C interpreter for iOS
1. Internet comments are a poor way of gauging sentiment; they tend to overrepresent cranky nay-sayers, who disproportionately benefit from venting.

2. If people would like to convince more people that it's actually a problem, consider that people have a tendency to recognize when what is touted as a Worthy Cause is actually being used as an excuse to obtain power or distribute political favors. Consider more public critiques of the efficacy of policy proposals -- this will also help you actually achieve your climate goals -- and have a lot more sympathy to the middle class who would suffer a lot more under an $8/gallon gas regime than a typical employed HNer would. Acknowledge the harm that high energy costs (including gas costs) would do to the economy, and consider ways to mitigate that harm by generally improving the business climate, regulatory regimes and tax regimes -- instead of writing it off or, worse, claiming that green energy is a magical job-creation mechanism (tip: spending more time effort and money to obtain the same amount of energy does not actually help the economy). Hold fewer events like the recent Peoples' Climate March in NYC (transparently a leftist platform using climate change as an excuse to protest capitalism writ large), and whatever you do do NOT use propaganda that features the statue of liberty mostly underwater (an accurate rendition of full 100% ice-melt from 33-degree warming but unrealistic as a near-term possibility and probably not the best image to lead with). Drop the caricatures which insult middle America as uncultured fatsoes driving around in SUVs, accurate or otherwise. Question what other ways in which political-party sentiment infiltrates climate-change talk.
Congratulations! Just to spark some conversation, what was your biggest hurdle getting to this point and how did you guys overcome it?

(Also love to see a company tackling innovation in real estate.)
In other news:

Net Neutrality Emails Reveal a Cozy 'Social Network' Between the FCC and Telecoms

https://news.vice.com/article/net-neutrality-emails-reveal-a...
Bear with me, I've got a hypothetical for you.

If absolutely, rock-solid research came out that concluded that climate change was not anthropogenic, would we still be talking about reversing it? That is, say it's all due to solar cycles or cosmic smog or whatever. And assume that we'd still be under the specter of all the same nasty repercussions - would we be talking about reversing it or coping with it?

And if it turns out that the global conversation would shift towards adjustment strategies - then isn't that what we should be talking about now?

Because as a practical matter - reversing a 200 year old problem in the making is probably about as difficult as reversing a natural phenomenon.

Of course another angle is forget the origin of the problem altogether and focus on costs. If it's going to cost 90 trillion to undo it all or 40 trillion to adjust - what should we do? Keep in mind that at this scale, money roughly translates to human lives (foreign aid, healthcare, education, etc).
Daisy – Household plants have a voice for iPhone
It's interesting that your boogeyman in the NSA and not scammers. I think scammers are 1000X more likely. Escpecially since the NSA can just see the decrypted traffic from behind the firewall. There's no technology solution for voluntarily leaving the backdoor open.
Show HN: Easy n-column Bootstrap 3 grids with Less
I'm a non-frontend dev who uses node.js for server/systems/embedded work.

My preference for node is based primarily on its sane concurrency model. I basically use it as a handy scripting language for doing rapid prototyping of libuv programs. My on-paper plan is to fall back to libuv and C if I find myself really stuck for CPU, but this is something that's never actually happened to me. (I have had to abandon or modify libraries with performance pathologies, though)

There are other libraries with in other languages the same sane model but they tend to be ecosystems within the language community that aren't compatible with the rest of the language. Doing concurrency both correctly and performantly in Java, in particular, is a pain in the ass.
The difference is listed on their homepage, but I agree it's not super obvious. EDIT: maybe it was added just now?
The cost of getting lean [infographic]
Petition Submitted for Creation of a New Private Enterprise Broadband
You can check the 2nd and 3rd groups when using /(^\/foo\/bar$)|(^\/foo\/bar\/\d+$)/:

> /(^\/foo\/bar$)|(^\/foo\/bar\/\d+$)/.exec('/foo/bar')
[ '/foo/bar',
'/foo/bar',
undefined,
index: 0,
input: '/foo/bar' ]

> /(^\/foo\/bar$)|(^\/foo\/bar\/\d+$)/.exec('/foo/bar/3')
[ '/foo/bar/3',
undefined,
'/foo/bar/3',
index: 0,
input: '/foo/bar/3' ]

EDIT: Markdown differences.
It's about the minimum you need in order to cover your costs & start making an ROI. Obviously if you can charge more, you'll start making more.
I don't want to pick nits too much here, but "[...] leading to the whole non-nil value being nil idiocy; it's mindblowing that they got this so wrong." So I paraphrased a bit :)

I understand that some may find the error handling a bit too verbose, but humbly submit that there's a legitimate tradeoff to be made in terms of language complexity vs. verbosity, and the Go team generally tends to fall on the side of simplicity over tersity. This works well for us, but not everyone will find it palatable. YMMV and all that.

The stack frame "problem" doesn't seem all that bad to me. It would be nice to have a built-in solution, but our own code for dealing with this is one tiny file someone banged out in a couple of hours, so I'd hardly call it more than a stumbling block. After watching the Java world deal indefinitely with untold design flaws in core libraries, I support keeping things simple at the outset wherever possible.

But hey, there are lots of choices out there, so I'm not telling anyone they must write their servers in Go. Just that it works well for us.
Get an ultrabook like the X1 carbon (v1) or Macbook air, not a tablet. I use the carbon to code on my commutes (and stream music) and it's perfect.
Oplab: Audio interface for hackers
Funny I come across this today. Only yesterday did I start turning some of my helper functions and extension methods into a little NuGet library. It's amazing how much overlap there is between your library and mine, though I'm probably going to steal some of your tricks. :)

While I do have an Option type with all the relevant LINQ operators defined, I've resorted to using Nullable<T> for all string parsing functions that return primitives as Nullable is a type that's actually supported databases. For any nullable, I can use a nullableVar.DefaultTo(defaultValue) to convert it to a non-nullable primitive type. Personally, I don't find Option types in C# all that compelling because the pattern matching mechanism doesn't compel you to handle all cases like F#.

All in all, it looks like an interesting library.

Thanks for posting!
India and China are chucking research and money at new nuclear technology. It's not unreasonable to predict that in 20 years, the west will probably be buying molten salt reactors from China.

I think, regarding the economics, there are quite a few environmental scientists who are very cognisant of economics and how that interacts, such as Tim Jackson at the University of Surrey, UK. However, where they do know anything about it, they tend to recognise that economics is not helping the environment at all, so perhaps they should work in areas where they are likely to make a difference instead.

There is a fundamental mis-match between the environment and economics. In economics, eternal exponential growth is mandatory. In the environment, eternal exponential growth is impossible.
Gorgeous, or usable?

There's an annoying trend in UI design to make the simple stuff look really good, while making more difficult operations harder. If you think your UI concept is great, try mocking up something like Photoshop or a 3D drawing program. Those have really hard UI problems to solve.
The mania for "clean design" has resulted in such things as invisible close buttons that only appear when you mouse over them. (Facebook ads work like that.)

Bob Lutz, who used to be head of General Motors, ran into this. His designers had built a concept dashboard which looked like something from Bang and Olufsen, with the black-on-black design popular in the 1980s. It looked really great. Nobody could operate the controls reliably without training or a manual.

There was a brief period when creative user interfaces on web pages got completely out of hand. Check out

https://web.archive.org/web/20120207224137/http://www.girbau...

for an over the top example from a French fashion design house. They went bankrupt a year after putting up that page.
>What It Would Really Take to Reverse Climate Change

It really depends which bit you want to reverse. The climate has changed for billions of years in all sorts of ways. The main thing people seem to worry about is temperature and there are artificial ways it could be lowered - SO2 and the like. Though I doubt anyone wants to go there.

I'm quite optimistic on renewables taking over eg.

"Solar has won. Even if coal were free to burn, power stations couldn't compete" - The Guardian
http://www.theguardian.com/commentisfree/2014/jul/07/solar-h...
> "not good when your bottleneck is CPU"

99% of cases, your bottleneck will be I/O.

In the 1% of cases where your webserver's bottleneck is the CPU, you have much bigger problems than using a hipster ;) language: you're doing it wrong (tm) on an architectural level:

(a) Your processor-intensive/long-running tasks need to be in seperate worker processes and

(b) you need more webserver instances.

I usually try to avoid absolute statements, but I think this may be accurate:

The only CPU-intensive thing your web server code should ever do, is hash passwords.
> First off, you don't need to handle the 'multiple' case, since the "|" has precedence rules applied to it.

Read my top-level post again - multiple routes can be called on the same request, so express has to be able to find all of the matches, not just the first one. This is a mistake in the original article, as the author doesn't appear to understand the power of express routers.

> Second, you know which one matched based on the index of the capture groups, which is deterministic.

Deterministic, yes. But now you're also writing your own regex parser, because you have to know how many capture groups each sub-regex contains in order to figure out the indexing.
Stellar looks really interesting. Will be following this.
I'm in Europe, and I don't know anyone who does not believe in climate change. In fact it's not considered a faith issue at all; the scientific case is overwhelming. Maybe the sentiment is completely different in the US, because the media is so pro-business that the facts can be safely ignored.
I love these kinds of investigations into problems in production. I mean, you really have to admire their determination in getting to the root of the problem.

In some ways, these engineers are not that different from academic researchers, in that they are devising experiments, verifying techniques, all in the pursuit of the question: why?
> I had my excuses. I don’t know crap about aesthetics. I majored in engineering– it’s almost a badge of pride to build something that looks awful. “I majored in engineering — it’s almost a badge of
pride to build something that looks awful.”

I guess whoever did the pull-quotes was also an engineering-major...
Environmental scientists do have a habit of flying all round the world to attend conferences on how to stop people flying around the world. Yes, they do tend to see the irony in it all.
Pantelligent: This Smart Frying Pan Cooks a Mean Steak, Salmon Fillet
This is a good project, it opens the desktop platform to PHP developers.

I am no fan of PHP myself and for this kind of requirement I would use node-webkit which provides seamless integration of the webview and host JS (node.js)

But the most important thing here is that it opens the doors to desktop programming to PHP devs and therefore we may see more useful apps for the desktop being developed, previously some PHP devs may have had some interesting concepts for the desktop but they weren't able to make them happen due to their lack of skills or time to learn GUI programming.
94.5% F-score in an ATIS corpus task: slot filling air-travel info from spoken requests, using recurrent nets. Work from microsoft research (ch. 12).
Also, the promo code beanhack10 will give you 10% off any Bean purchases :)
You're right that it's O(n), but it's still faster than express js. It's not iterating through the array that's slow, its evaluating the members of that array. Express must check each route using JS functions that each execute a regexp match per route. Using a single regexp is much faster because 1.) by unioning the regexps you get the correct NFA, which will run much faster 2.) there's less function call overhead.

Iterating through the array looking for the first non-null value, then looking it up in a JS object O(1) matching capture group positions to routes is much faster than having to dispatch a bunch of functions. Additionally, it can be JITed to much faster code I would wager.

So, expressJS = N regexp matches, while this method = 1 regexp match + N null checks in the resulting array + 1 hashmap lookup in an object to return the proper route. The second solution is going to be much faster, even for large routing tables, esp. given how optimizable that array lookup code is.
Stamplay the lego for the web, now on crowdfunding
According to his blog, he didn't resign because of systemd. In fact, he seems to quite like it: https://joeyh.name/blog/entry/a_programmable_alarm_clock_usi...
Continuing that hypothetical:

Most of the effects that climate scientists predict will happen as a result of increased global mean temperature are highly negative; from the extinction of many species to the loss of coastal habitats (for humans).

In a non-political world we would compare the costs of climate engineering practices against the costs of taking the resulting losses from failure to act.