skysight-inc/HackerNews huggingface dataset:
KSP is excellent. Sure, there's no time lag or relativistic effects, but it is hard, insofar as you have to understand staging (tsiolkovsky!), thrust vectoring, and orbital mechanics. So, so satisfying executing a perfect Hohmann transfer, off the cuff, as precipitation is for suckers.

If you enjoy the idea of space travel even slightly, and like the idea of having a semi-earnest crack at it - I can't recommend KSP enough.

You get the full joy and frustration of sending a multi-probe mothership to Jupiter, using angular momentum to fling your subassemblies off, only to find that you fitted your landing struts upside down, and having to improv a "landing" using the fuel you'd planned to get home with to touch down. Then explode.
Even if you aren't using Channels or HTML views, you still get the nice features like Router pipelines, JSON Views, code reloading in development for "Refresh Driven Dev", and our Controllers, which provides a number of nice features on to of Plug, like content negotiation. Phoenix Views are really nice for JSON composition and if you ever need to start serving other content like HTML, you'll be all set. Plug is a fine choice, but you'll have to roll a lot more code yourself.
If are planning WS related features in the future, Phoenix will make that a first-class experience, where Plug you'll have to dip directly into the underlying webserver adapter.
React JS is a front end framework that understands how to render stuff (html) in real time reactively to changes in state. React does magic with the shadow DOM, the actual DOM, and diffs in order to minimize reflows and boilerplate. Probably the biggest downside to this approach is interacting with legacy JS animations because:

1. ReactJS owns the DOM it renders. The nodes in the DOM are subject to change or even disappear at any time. React allows for hooks, but will throw exceptions if a third party fucks with the DOM under its control too much.

2. ReactJS owns the data (state) that controls rendering. Moreover, the state tends to be buried inside some nested React Element. Ordinarily, we would move the state outside of react and just update the components when the state changes (per Flux guidelines), but this is quite awkward when the state is for something like pixel offsets of a DOM node or some intermediate step in an animation- the component that does the rendering should own this information conceptually.

CSS animations tend to suck in practice- they aren't very flexible and they can't be controlled from JS (they go until completion). Existing JS frameworks for animations (eg JQueryUI) cause as much trouble as they provide solutions. The new library provides the correct solution- control animations from within React Elements themselves via a React Mixin.
This is also what I think. Start adding in database latency and other functions that execute alongside your string comparison, and this seems incredibly unreliable. It's not like most calls to a page only execute a single string comparison. Good to know, but seems low on the attack vector priority list.
Yeah it's true that restrict is well supported, mostly because all C++ compilers are also C compilers.

Maybe the biggest reason why C++ is slower in practice is because the programmers tend to feel that using features unique to C++ almost mandatory. Even though technically the pure C program also compiles fine in C++.
Are you sure?

I perform HTTPS interception on all out-bound traffic on my network and I don't recall making an exception for AMO, and I have a number of add-ons installed. Though, it wouldn't be the first time I've forgotten about something like that.
This report reminds me of a passage in "Thinking Fast and Slow" by Daniel Kahneman. Prestigious foundations such as the Gates Foundation pumped millions (billions?) of dollars into smaller scale education because a report identified that the worst performing schools had large classrooms in poor, rural counties. Much later, a second review of the data revealed that the best primary schools had large classrooms in poor, rural counties. The results were merely statistical outliers caused by small sample data.

It would not surprise me if the easiest places to live have identical demographics and characteristics as the hardest places to live. The correlation might be dual, but the causation is near impossible to identify.

Edit: long term memory fail.
and ranching combined with a low population

I'm from North Dakota, and I've never felt so alone in the world as driving through Wyoming on my way to Denver.
Having a global flat address space has its tradeoffs. We use a GC because we don't want to have to specify the lifetime of memory ourselves. Rust also has no false sharing between threads, much like Erlang, a thread always owns the memory it operates on.

Technology always forces architecture.
Similarly, Nebraska's outlier is Thurston County, home of the Omaha and Winnebago reservations.
That's Northern VA where tons of tech companies are and was the veritable center of the internet before Silicon Valley. (AOL is or was headquartered in Dulles which is in Loudoun County). It still houses a massive amount of technology companies, data centers, etc.
I have no rails experience, but have written a lot of python stuff in django and flask, and some node stuff in express.

I guess compared to django (and rails..), it's absolutely a smaller framework, so it's easier to reason about what's going on, and when you don't understand the source is much easier to follow. Diving into the django source to figure out a problem was a nightmare.

In terms of actually using it, the biggest strength is the concurrency model.

It handles blocking much better than rails or django where you typically have a fixed number of workers, and if you block and fill up those workers then you're SOL. Yea there are workarounds here, but they're pretty ugly. python and ruby don't really have nice solutions for this, which brings us to node. In node, you always need to be actively thinking about handling async IO with callbacks or promises or whatever, and you can quickly end up in callback hell if you aren't careful.

In elixir (and erlang), BEAM handles all that hard stuff. The result is your code is easier to write and read. Every phoenix http request is in its own elixir process. There's no weird request context like you get in flask, no way to abuse request state, and no callbacks to deal with. You can block a process all you want and throughput will be the same. The code looks like it executes sequentially, even though it doesn't.

For a small app like the one I wrote, it also has the advantage of being able to start a bunch of little services in the background to handle longer running tasks (which would typically be handled by a message queue with django/rails) and they're super easy to deal with since it's just standard elixir process messaging. These services handle things like performance logging, emailing, as well as (in the case of my app) looking for vulnerability disclosures and resolving them to package specs.

Anyway, sorry for the rambling response, but I hope it gives a general overview of why elixir and phoenix made building something way more pleasant than what I'm used to.

Why do you ask about the test suite? Did you find a bug? :)
Oil prices keep plummeting as OPEC starts a price war with the US
PCDuino3 Nano: http://store.linksprite.com/pcduino3-nano/
Ask HN: I've learned a programming language – how do I solve problems with code?
I've spent a lot of time learning JavaScript (done the Codecademy JS course, finished CodeSchool's Real Time Web with Node.js, and read and implemented most of Node.js in Action), and I thought all I would need to do after I learned it was to start writing code.

Well, I can write code, sure. But I don't know how to _solve problems_ with it. I know how to create a webserver in Node that echos "Hello, World!" because I've done it a thousand times. But I don't know how to make a site with logic and structure behind it that will lend itself to solid functionality that users can benefit from.

How do I learn that?
Good question --I don't know. I think mostly it's people in government, and to some extent, residents, who desire 'local' control over their locales. If we look at NYC, as they grew, they incorporated different areas into the city and eventually grew into the five boroughs there are today. I think something like that might allow better government coordination, better planning for the region.
Create your first connected light in 15 minutes with your Arduino Ethernet
That book is by Kahneman, not Pinker
Is there any way create a Phoenix add-ons for my Rails app? It would be great to use Phoenix to handle the real-time parts of the app without having to walk away from all of our working Rails code.
> Left or right, white collar workers that aren't giving a significant portion of their income to charity (as in, measured by percentage points) are not living ethically and sustainably.

By this logic I don't see how anyone not giving away everything they don't need to live can be considered "ethical".

This is not to say I don't feel I should be contributing to these things - I would just prefer that it be dealt with via taxes. People have a very hard time being generous to people outside of their communities, and as you said neighborhoods are no longer communities.
If you follow the link in the post you'll find a pretty convincing explanation why it's not possible to prevent leaking the length in the general case. I'm not certain that this applies to PHP code as well, since the problem is pretty low level.

However, leaking the length is much less of a problem than allowing the attacker to guess characters one by one.
Maybe even the ole Freenet? All this talk of onion's could have one crying ;)
What’s Holding You Back from Taking the Leap into Entrepreneurship?
reattach without gdb http://unix.stackexchange.com/questions/4034/how-can-i-disow...
There are no plans to provide authentication, but since the Phoenix Router and Controllers are just Plugs, we should se e the community produce a handful of first-class auth solutions as things mature. I don't think a generic auth solution that works for everyone is easily done and would prefer third-party packages. The nice thing about Plug is these solutions should be relatively easy to add to yours stack.
As someone who happens to be 16 years old, I am incredibly jealous, and can't help but feeling that my experiences with technology and programming in particular are either spoon-fed or diminished in some other manner, and that won't change in the future.
Or perhaps it's just differences in perspective and point of view. :)
> By Ksplice Post Importer on Jan 24, 2011

Heh. When interning at Ksplice/Oracle in 2011, I was tasked to import all of the blog posts from the old Ksplice Wordpress blog into Oracle's system. By hand, because they didn't want to turn on the Apache Roller API, or something.

I couldn't set a custom author for each post, so instead I changed my name to "Importer, Ksplice Post".
This doesn't answer your question, but you may find it interesting - an easy way to process Sidekiq jobs made in Ruby using Elixir: http://www.neo.com/2014/08/11/ruby-elixir-polyglottin-ftw
Each or else
This blog post was written 6 months before Ksplice had anything to do with Oracle.
Here is a demo of shuffling using a combination of Hindu & Riffle shuffle http://karmadude.github.io/CardShuffler/

I heard someone say once that we have to shuffle a deck of cards 7 times to get a good shuffle. This demo was setup to try to simulate how we shuffle cards, and turns out shuffling around 5 times gives a pretty good shuffle.
libc `strlen()` is O(n), but PHP strings are binary safe (i.e. http://3v4l.org/47iaP ) so it must be storing a length as part of the string zval. So PHP strlen should be constant time.

+1 for recommending checking the PHP source code to be sure, though
It was noted in this interview that most of the highest income ZIP codes in the country surround areas with large federal infrastructure:

http://www.npr.org/2011/09/06/140056904/the-top-secret-ameri...
It is not necessary, that it is the same guy. When graememcc adds a new license to his own work, than he can do it and an other person can use this license with agreement of the first author.

UPDATE: As much I see now, it seems that graememcc did not consent in using his work with altered license. So it is a violation.
The documentation would benefit from some clear examples of how the new architecture provides benefits over the existing ones. The given examples are opaque and its superiority is merely asserted, with references to concepts such as "cells" which are not defined.
Locating Books in the Medieval Library
Say that again after you have to learn a rails app with 1500 line models built "the rails way." Controller -> model breaks down when you reach a certain size.

Or worse, giant controllers and models with no clear distinction.
"Before the tech explosion, let's say 1989, San Jose, and in particular, San Francisco, were dumps. The sort of looked like Fresno does today."

Oh, come on. At least in SF, that's obvious exaggeration: San Francisco had been the west-coast center of the financial industry since before the 1980s, and most of what you see on Market street was built decades (if not a century) earlier. It looked nothing like Fresno.

If you're referring to the economic status of the people living at mid-Market, it's equally wrong to use it as an example where "tech" is making things better: The Tenderloin was a blue-collar neighborhood before the war. It gradually descended into property as the rest of the city gentrified around it, leaving few places for working-class people to go. Gentrification absolutely made things worse in the Tenderloin.

Mid-Market's decline came as part of the larger Tenderloin decline, but also as the result of BART construction, which killed business on the road in the 60s. SOMA was light industrial in the 1960s and 1970s, but by the late 1980s, this area was beginning to gentrify as well. For example, entire blocks of SRO housing were eliminated during the 1980s to build Moscone Center.

About the only thing you can say regarding the "tech industry" is that it's the latest gentrifying wave of many, all of which have undoubtedly made things nicer for rich people, and worse for poor people. It's therefore completely unsurprising that someone in the tech industry would believe that gentrification makes things "better", but it doesn't reflect a lot of empathy.
Thanks, that's useful, I'll take a look at moving across.
I would have thought that the case too, but it really is my number one request from people. I guess Dropbox and co. put a lot of effort, money and people into security making them the better of the two options.
Sounds interesting.
But the link received "HN hug of death".
There are three pieces of software. Each software was written by one person.

Micropolis is gpl'd.

MicropolisJS is a version of that, and is also correctly licensed.

3DCity - the submission here - is written by someone else. This person stripped the gpl headers and re-used some code without correctly licensing that code.
very neat. it's bothered me just how many GWh we've collectively poured into bitcoins.

is this of any practical use (cryptography?), or is it for pure mathematical interest?

(not saying the latter is inferior ...)
> It may be tempting to dismiss the problems plaguing this region as being self-inflicted, a mere product of backward ways and a collective refusal to catch up.

Neoliberalism and individualism are too popular(ly convenient) in this country, so much so that even if you had

> a precise [and uniquely substantiated] thesis for [your] comment

, we would have found a clipart way to dismiss it using the very perspectives you said are uninformed.
todo: institute escalating deterents on the concentration of wealth.

if you're worth $5mm, that's great. you're rich. enjoy. if you're worth $10mm+, you've started to become a real liability to the social order.

politicians and economists can debate how best to implement such controls, but some often talked about ideas are

* raising the capital gains tax rate
* more progressive income tax with a higher maximum marginal rate
* closing various inheritance tax loopholes
* closing offshore tax loopholes
* allowing the failure of investment banks

these may not be the best ideas, since they don't all intrinsically internalize the social and economic costs to the rest of society, but they provide a starting point for discussion. and my point is not to vilify the wealthy but to accurately account for the social and economic externalities they create by their concentration of capital.
Inside some of those prisons looks extraordinarily harsh. The ones where there is no law and brutal crimes go unpunished every day.
Benchmarking Phoenix vs. Rails vs. Sinatra vs. Express vs. Martini
I use kerl - https://github.com/yrashk/kerl and kiex - https://github.com/taylor/kiex. They also work very well.
Um. From your docs:

C. RESTORE FROM ANOTHER SERVER'S BACKUP

This feature is currently in development.

So... My server goes up in a puff of smoke and I can't access the backup?
> If you use a SaaS that can't deal with demand growth, you use another SaaS or build your own system.

Obviously that's not similar. You can't "switch" cities like you switch your phone company. You can't build your own city. You aren't arguing that it would be bad for the SaaS for it to be used too much so everyone should try to stop using it to stop hurting it. You are not a city's "client".

Are you saying it would be in their best interest to move away and they're behaving irrationally against their own best interest for not doing so, or that it's a moral thing and they should all choose to uproot themselves according to moral imperatives?

> If you use a city that can't deal with demand growth for whatever reason... you try to grow demand further?

It would be ridiculous to say they are "trying" to grow real estate demand, as if that's something they collectively would or could try to do. Note almost all of these companies started out tiny and slowly grew locally over time and never decided to move in en masse.

> Anyway - what's income inequality like in those other cities? Similar?

I don't know, what would that indicate?
strlen() in PHP is constant-time O(1), we don't use C strings. (Well, we do, but we store length information and reference count them)

See: http://lxr.php.net/xref/PHP_TRUNK/Zend/zend_builtin_function...
I think the reality is that this style of attack is difficult enough that it would be something of a last resort, and probably only tried on high value targets. It'd take a long time (you'd probably need 100s of millions of requests) and could be easily noticed.

That said, while it's not instant game over, you don't really want this vulnerability if you can avoid it. Especially in things like authentication libraries.
That technique doesn't seem to work for this thread...
South Dakota has the I90 corridor (Sioux Falls in the west going to Rapid City in the easy) and the national parks in the west.

South Dakota has the "low" spots of Corson, Dewey, and Zieback counties in the central north which corresponds to Standing Rock (crossing the ND border as Siouxland county) and Cheyenne River. Not much in the way of resources and a long history of poor infrastructure.

Buffalo County is the Crow Creek Indian Reservation. You can see the difference between Crow Creek and Lower Brule Reservation (amazing what a difference the other side of the river is and being an exit away from I90).

Shannon and Todd county are Pine Ridge and Rosebud reservations. These are probably the two poorest reservations in the area. The alcohol problem has been the overriding factor as well and not developing any businesses of note.

Bennett and Jackson are mostly National Parks and National Wildlife Refuges.

South Dakota also took a hit on the early storm last year that killed tens of thousands of cattle (early storm, started with rain, freezing winds, cattle didn't have winter coats, and were still in the summer pastures).
Recurring Payments and One Time Payments Online
Great, here come the Yao guai :(
The QtCreator debugger is actually pretty decent, and I prefer it to gdb -tui and cgdb. The debugger in the early-access version of CLion looks promising, but it lacks essential features like a disassembly view and a memory view, and sadly they aren't mentioned on the current 1.0 roadmap.

Emacs's gdb-mi mode has the potential to be the best out there. Unfortunately it has some critical weaknesses in its current form. The biggest is that it uses the awful speedbar extension for its watch window. And gdb-mode's local variables window is useless as it won't allow you to inspect any aggregate types like structs and arrays, so you're forced to use the aforementioned awful speedbar-based watch window just to inspect local variables. I'm hoping to fix this or rewrite it entirely when I have time.
It lets you paste some code and hit auto-format.

I'm actually kinda serious. Moving pieces of Python code around is unnecessarily error-prone. I don't consider this to be a good tradeoff.
You'll note that many of the Native American reservations are doing quite well. Native American is not the overriding factor, but poorly run reservation in out of the way place seems to be.
Sense-checking the viability of a hardware or wearables startup
Top 5 Social Marketing Posts This Quarter – Black Friday Special
Thanks for the answer. Have you tried paxedit? If so, how does that compare to smartparens?
You can go a long way with using simple Ruby objects to break up logic and separate out logic from models. If developers are writing 1500 line models and the lead developer isn't doing anything about it a adding new abstract concepts isn't going to help.
> It would not surprise me if the easiest places to live have identical demographics and characteristics as the hardest places to live.

I gather you haven't travelled much. The difference between poor scoring places (pick a town in Kentucky) and high scoring ones (Seattle for example) is absolutely huge. Almost to the point of feeling like being in a different country.
Ah, makes sense! Thanks
It was vandalised, new page here: http://berzniz.com/blackfriday2014
How to start making sense of your data
What did you expect in a forum where a lot of people think they are a hero of an Ayn Rand novel?
> How viable is this in the real world?

Not really viable against a native code memcmp. Potentially viable against a comparison implemented in PHP or Java.

Here's a video looking at actually implementing such attacks over LAN and internet: http://rdist.root.org/2010/11/09/blackhat-2010-video-on-remo...

> Would a good hosting company block an attack like this at the hardware level?
No, there's no generic way to defeat this. The only real limit is how granular your attacker can measure. If you're on shared hosting, you're probably the most vulnerable you can get to this (but also the most screwed already, so you probably don't cate).
It's a DC suburb. The usual DC set plus the Dulles tech corridor set. Also, northern VA suburbs are really aggressive about keeping out lower-income people (poor social services, poor transportation), which keeps the average high. The suburbs here don't have really rich people the way you see around other major cities, just very homogenous upper middle class ones.
"From the pics it seems to me that they're something like 90% male in their 20s-30s"

That's not a problem of a hackathon, its the basic demographic of contributions to open source.
The World Needs Books
Give them jobs, not housing, handouts or charity.
Start small then build up. Give yourself lots of small nonsense throw-away challenges, or maybe take one small part of somebody else's website and see if you can duplicate it.

You have to keep challenging your boundaries. Don't do stuff you know, try to to do things you don't know. But keep each step upwards simple - don't try to build a skyscraper before you can build a house.
Easier said than done. Very few employers permit remote work, particularly top ones. And several are openly hostile to it.