skysight-inc/HackerNews huggingface dataset:
> BOOM: "One simple lesson of our experience is that modern hardware enables real systems to be implemented in very high-level languages. We should use that luxury to implement systems in a manner that is simpler to design, debug, secure and extend — especially for tricky and mission-critical software like distributed services."

Yes, but this is accomplished using declarative high-level languages, precisely the kind of languages that many programmers will claim are "too hard" (i.e. sufficiently unlike traditional imperative languages).

I bet almost everyone agrees that the goal of most modern software development should be "[...] to implement systems in a manner that is simpler to design, debug, secure and extend — especially for tricky and mission-critical software like distributed services."

The disageement here is on whether this can accomplished by making programming languages simplified and easier to learn as the overriding principle. Sometimes you have to use a complex tool in order to make your work better.
From their site - http://www.givedirectly.org/faqs.php

We use a rigorous audit process. 100% of the households we enroll are audited by a second field team that operates completely independently from the team responsible for enrollment. Senior staff audit a smaller proportion of recipients. We also call our recipients after sending them money to learn more about their experiences. To date, 1% of recipients called report paying a bribe to a village official, and less than 1% report paying a bribe to a mobile money agent.
If I remember correctly, our guts have more bacteria surface exposure than our own cells. The interactions betwen what we eat , these bacteria, and our own genome is a big black box at this stage.
CoffeeScript 1.8 released
HN doesn't allow resubmission of the same link that points to the change log [1], so here's the change log:

The --join option of the CLI is now deprecated.
Source maps now use .js.map as file extension, instead of just .map.
The CLI now exits with the exit code 1 when it fails to write a file to disk.
The compiler no longer crashes on unterminated, single-quoted strings.
Fixed location data for string interpolations, which made source maps out of sync.
The error marker in error messages is now correctly positioned if the code is indented with tabs.
Fixed a slight formatting error in CoffeeScript’s source map-patched stack traces.
The %% operator now coerces its right operand only once.
It is now possible to require CoffeeScript files from Cakefiles without having to register the compiler first.
The CoffeeScript REPL is now exported and can be required using require 'coffee-script/repl'.
Fixes for the REPL in Node 0.11.

[1] http://coffeescript.org/#changelog
I think we agree on this one. I've really been enjoying using OCaml exactly because I can make use of mutable state or OO-style polymorphism when I want, but otherwise it feels very natural to write pure functional code.

All I need to do is wrap my head around functors and first-class modules and I'll actually feel like I understand it well enough to use it for real work.
How hard would it be to run this interactively in the browser using Skulpt? Similar to how pygal has: https://trinket.io/charts

That would make a pretty amazing teaching tool.
> I've been using an add-on to pin certificates for a half a year now and it's a hell on some websites.

Do you mean Certificate Patrol? I also tried it and have given up. Way too "noisy". Let's hope that Firefox eventually implements a more refined solution.
HN doesn't allow resubmission of the same link that points to the change log [1], so here's the change log:

The --join option of the CLI is now deprecated.
Source maps now use .js.map as file extension, instead of just .map.
The CLI now exits with the exit code 1 when it fails to write a file to disk.
The compiler no longer crashes on unterminated, single-quoted strings.
Fixed location data for string interpolations, which made source maps out of sync.
The error marker in error messages is now correctly positioned if the code is indented with tabs.
Fixed a slight formatting error in CoffeeScript’s source map-patched stack traces.
The %% operator now coerces its right operand only once.
It is now possible to require CoffeeScript files from Cakefiles without having to register the compiler first.
The CoffeeScript REPL is now exported and can be required using require 'coffee-script/repl'.
Fixes for the REPL in Node 0.11.

[1] http://coffeescript.org/#changelog
My general experience with WebGL demos on HN have been that they only work in Chrome. I prefer Safari as my everyday browser (for no configuration iCloud sync reasons), but even with "Enable WebGL" checked, no WebGL apps seem to work.
Using D3 for simple charts is not necessarily a waste of time -- I have a small collection of code for D3 charts I've made that I keep around and reuse as needed. Although they are simple they are tailored to the way I like simple charts to look like.
I briefly mentioned Ethereum 1.5 at the end of my blog post; I'll soon cover some clever ways of creating quasi-scalable dapps using the ETH blockchain as a usually-inexpensive security backend.

Believe me, consensus and scalability are the two largest problems on my mind. We don't have nice solutions (yet :) ) because the problems are fundamentally hard.
By the way, you will get a free Oculus device if you allow it to handle internet-to-brain communication: "Indirect" advertising (through text, video etc.) is a thing of the past. Long live "direct" advertising -- projected right into the brain.
Yeah, I actually scuttled a deal with them for my laser cutter accessory over this...

Funny enough they were starting to be a lot less interested in the deal when they heard I had a patent on it. I even tried the "look, you've covered your behinds, I'm covering mine" angle.

(I do have a patent on the design, but I'm choosing to not enforce it - http://robots-everywhere.com/re_wiki/index.php?n=Main.LCheap... if you want to either buy one, or download the designs for one)
I think your goal of crowdsourcing funding for the education of aspiring developers is great. But I think you are using the wrong model.

I think asking aspiring coders to run a "kickstarter" style crowd funding campaign for themselves is a mistake for the reasons the jtheory mentions.

I think it would make more sense to allow funders to organize themselves into scholarship groups with shared goals.

Then match aspiring coders to these scholarship groups using a process similar to the "National Resident Matching Program".

Then there is no binary choice of "you are deserving, you are not" about aspiring coders being made by funders. It's more of a "this coder exemplifies our ideals better than this coder"

/edited for clarity
Shadowstats is a private firm that sells its own calculations of economic statistics :

http://www.shadowstats.com/alternate_data/unemployment-chart...

According to them, unemployment is about 23%.
This is how demos are supposed to be done. Seriously. Spare me your video, your soundtrack, and all of your BS. Just show me the thing working and let me play with it.
No, the block count is the only thing that matters. If an attacker has X hashpower, the probability that they will succeed in a 51% attack after N confirmations is (X / (1 - X))^N ; you can derive this formula yourself via generating functions. The block time appears nowhere in that analysis.
The assertion is in the definition of higher-order, it is designed to be more powerful by allowing for variables that can be bound to procedures. It has nothing to do about learning curve, there are actually trivial formal proofs that higher-order X is more complicated than lower-order X (that simply involve the definition of order).

Once you have mastered using HOFs, you have simply become proficient at doing a higher-order analysis in your head, it is still more complicated than a lower-order analysis. Even SPJ's head would probably explode given a function that took a function that took a function that took a function... with HOFs, you really want to keep N (the order) fairly small.

There is actually a whole body of work on point-free programming, where the idea is to make something like f(g) look more like f * g, that you aren't passing g into f (which you actually are, but this is an implementation detail), but you are composing f and g. The semantics of that composition are then more well-defined (and hence restricted) than naked higher order functional programming (which is more an assembly language at that point).
I think he is arguing that higher-order functions are more difficult to learn/use than first-order functions because they require higher-order reasoning. That's not to say that they aren't useful or that beginners can't learn them, but just that they impose an overhead and it's worth exploring alternative methods of reducing complexity that may end up having a lower overhead.

> ...once you master them...

Arguments of this sort tend to assume that a) the learning time can always be written off and b) that once you master a tool there are no more overheads. a) is false in the case where the learning time is too long or simply not available eg Joe Accountant may benefit from learning to program but he doesn't have the time to spend years learning. b) is false in the case where the abstraction is harder to reason about or makes debugging harder.

There is certainly an economic decision to be made here but it must consider opportunity cost, cognitive overhead and maintenance overhead as well. That decision doesn't always favour the slow-to-master tool.

It's like extolling the virtues of investing in an industrial nailgun to someone who is just trying to hang a photo. Sure, the nailgun will make driving in nails faster but the investment won't pay off for them.
http://www.nytimes.com/2013/11/23/education/texas-education-...
Good thing they're all at Burning Man.
With those many points you'll probably need something that makes use of HTML Canvas, and not SVG which slows down if you plot that many elements.
Hi, I'm the developer for GoLucene. For your question, I don't think there would be huge performance gain from a Go version but it depends. As you can see, Lucene Java is already optimized to teeth. FAQ for Lucy also indicates, that different platforms has different focus. For Go's version, its benefits can be:
1) quick start speed; (used as a standalone index tool?)
2) able to be embedded in Go app; (my major interest here for cloud app deploy)
3) goroutine which I think can be faster in certain case;
4) ready-to-use byte, array utilities which I think can reduce the code size, and lead to easy maintenance.

Though it started as a pet project, I'm pretty serious about this.

Thanks for your interest,
Ian
These are the guys that bought Peepcode right? Those are some fantastic teaching tools. Glad to see them pushing forward.
Repository of Beautiful Quotes
The patents were one of the main reasons the Motorola buy/sell was such a net win for Google (and that's without considering the benefit of strengthening the diversity of the Android ecosystem, tho we obviously don't yet know how successful that strategy was). When you factor in the value of the patents, the sale of Motorola Home, the tax benefits they got from Motorola's losses, and one last bullet point that I simply can't remember right now (ugh): what looked like a big loss for Google ended up making them something under a billion dollars (and again, this is before considering the value of the actual strategic intent of the deal).
I'm accusing you of asking before googling.
I think it would become intuitive if there was some way to plug 4th dimension in our senses.

Have you read stories about people who implant magnets? After a while they develop a sense of direction. Brain adapts to new signals and starts to interpret them.

Different example, I remember reading about experiment where people had to wear glasses that flip the picture upside down. After not too long time they adapted and saw things normally. And everything would be upside down when taking the glasses off.

Yet another example is asking blind people what they see. They don't see black or grey, the sense of vision simply isn't there. Like our sense of 4th dimension isn't there.

So, one thing to try would be to give us sense of rotation and acceleration in 4th dimension and see how it goes. Next, maybe, a new "color channel" for our vision, and let the brain figure out how to represent it "internally".
@jamii

> It's not just programming that is hard, it's editing, debugging, compiling, version control, packaging, deploying, upgrading etc. Existing tools give you a huge amount of flexibility and power (that most end-user tasks don't need) at the expense of a brutal learning curve.

Sure, I agree all of those steps are painful, and I think everyone here agrees that anything that can improve them is welcome! At the same time, some of them only exist in specific contexts. For example, is the guy writing an Excel macro not bothered about version control because Excel is an easy-to-learn tool that achieves simplicity, or because he isn't building something collaboratively with a team of 5 other people, all working on the same task?

By the way, I read your article. I fully agree with this:

"Finally, environments can't be black boxes. Beginners need a simple experience but if they are to become experts they need to be able to shed the training wheels and open the hood. Many attempts at end-user programming failed because they assumed the user was stupid and so wrapped everything in cotton wool. Whenever we provide a simplified experience, there should be an easy way to crack it open and see how it works."

I'd add that they also need to be able to reach for the complex tools once they've mastered the simpler ones.
I'll be rubbing my face for the next three days with imaginary itches from bugs that live on my face.
But undefined behaviour isn't disallowed by the standard, and these things aren't not allowed to happen! If they were, the standard wouldn't even bother to mention any of it, and certainly wouldn't bother to suggest that one option is for things to behave "during translation or program execution in some documented manner characteristic of the platform". (See the C11 draft standard, 3.4.3.2; wording is basically the same in C99 I think.)

It seemed obvious to me from the moment I first heard about this stuff that undefined behaviour is there to avoid binding implementations' hands too tightly. It's a way of allowing as wide a range of implementations as practical to be standard-compliant, by not forcing the compiler to patch over every last difference between systems or provide missing functionality. But is it a way to let gcc do whatever it likes, having proven your program invalid on a technicality? Well... I'm less sure about that one.

(Obligatory links: http://blog.metaobject.com/2014/04/cc-osmartass.html, http://robertoconcerto.blogspot.co.uk/2010/10/strict-aliasin...)
Hrm, so it's not available at all? I figured it would just be late in shipping?
Not taking a position on this, and it's been a long while, but I seem to remember that the discussion in X3J11 on the issue of integer promotions, which mostly occurred before I joined, were long and heated.
shrug that's business. You pays your money and takes your chances. Comcast (et al) gambled on some level of oversubscription and that's not working for them in reality. It's hard to argue that Netflix is somehow at fault for any of this and it's only the monopoly power of the last-mile ISPs in the US that's making this even a consideration.
Blog from Pluralsight on "Company culture discussions" http://culture.pluralsight.com/

I find the blog to be worth reading.
...with one option for undefined behaviour being for it to behave "in some documented manner characteristic of the platform" (C11 para 3.4.3.2). Which is not the same thing as being implementation defined, of course, but is at least a step above simply deciding your program is invalid and generating bogus code because of it.

So compilers could do this stuff already. I have no idea why they don't. C isn't really the language for people who want platform independence.
That's part of it -- also that a successful campaign can have serious harmful effects, because unless you have thousands of close friends who each give a dollar, you are putting yourself in serious debt that's much murkier (and thus harder to pay off) than a cleanly-written loan would be.

If your friends and family really dig deep to pay your tuition to hacker bootcamp, even if you take to code like a duck to water and get into some really interesting projects, you still owe them, until you manage to dig deep in a roughly equivalent way for each of them. If you do really get a good start, that's some payoff for them (they bought you a big present, and it noticeably improved your life!), but you still owe them.

And if you find yourself really not taking to coding -- you just don't have the eye for detail, your brain keeps fumbling the logic; there's too much meaningless trivia to navigate... well, now you're discouraged, you've wasted a big chunk of time, the nice present they bought you (at your request) turned out to be a bad one, AND you still owe them.

Agreed on the general point to not let the perfect be the enemy of the good, though, on principal!

There are certainly some cases where this'll work nicely with few risks (e.g., a non-hacker with a large audience already who decides they want to give hacking a try -- or someone who's poor but has a lot of wealthy family & friends); and there are probably other interesting ideas with tweaks to the model -- funding in a pool with awards? I'm not sure, but best of luck in any case.
Without the search engine, Google is nothing. Period.
Shadowstats is a huge scam site. Their methodology is to to take the official government numbers (unemployment, inflation, whatever) and add an arbitrary constant to it to make the numbers more attractive to right-wingers so that they'll fork over the annual fee to get "the real story."

I'm not exaggerating, that's their entire shtick.
Woz on wearables: 'a hard sell'
The official unemployment rate seems too complicated to me. I prefer participation rate, which is very straight forward to measure.

The bad news is that participation rate in the labor force has continued on a downward trend even as the economy rebounds.

http://data.bls.gov/timeseries/LNS11300000

I think a growing economy that does not create jobs should concern us all.
> rickshaw actually has some custom 'sliding window' logic.
> I was unhappy because I had to go to stackoverflow to
> discover that feature

The third example[0] on the Rickshaw "examples" page[1] is called "Interactive Real-Time Data", and shows the RangeSlider extension (and many more extensions) in use.

The rickshaw docs are heavy on usage, light on specification. That's a style I very much appreciate, but I also appreciate that it's not for everyone.

I also appreciate that its API doesn't make you take the range slider with you, if you don't want it. It's all additive, and you can go both directions (keep adding bits and blobs to the interface via plugins, or reach down into the D3 and SVG bits, or your data. Nothing is opaque there.)

What was your obscure bug with a long running Rickshaw? I have long running sliding window time series stuff that I typically run for as long as a Chrome release lasts, and it stays snappy.

0: http://code.shutterstock.com/rickshaw/examples/extensions.ht...

1: http://code.shutterstock.com/rickshaw/examples/
The game is actually completely continuous. The crazy deforming shape at the beginning of the trailer is a 3D slice of an object called a 120-Cell, which is a true 4D shape.
How I Teach Game Design, Lesson 3: Games and Rules
Out of curiosity, why didn't you press charges?
don't bother applying if you aren't white, though...
A while back, someone was on HN asking why trust levels were so low when it came to MS. If that person is still reading HN, the answer is "behaviour like this".
There's definitely something that isn't quite right about the footer. I will have to ponder how to make it fit in more with the rest of the theme. I've just added Github issues for the lists/line height weirdness, I will fix that ASAP.

Thanks for the feedback!
It implies that now we can do detection experiments at higher frequencies (higher energy) which therefore means more precision than before. To probe things with higher precision normally means you need higher energy/frequency, but this experiment implies now we can detect at theoretically infinitely high frequencies? Something is off. There has to still be a dependency with frequency of light in any experiment. However I think Time itself is quantized (no I can't substantiate that), and therefore the Planc Time is the limit of the highest frequency measurable, so that frequency is the limiting factor for both energies and frequencies.
How many people have wood burning stoves or fireplaces (and actually use them)? Most fireplaces I see these days are gas, same with stoves.
I've been trying to come up with a plan of how to teach them how to tapdance.

So, if you see someone out busking with a lab microscope and a boombox, shouting something about face spiders, then chuck us a quid. I promise to remember it when me and the crew are rich and famous.
Hell, I grew up on a farm and never had problems with allergies a day in my life... until I moved to a different state. Now I'm dying all summer.
Peter Watts is right up there with Charles Stross for great intellectual hard Sci-fi. Both also have several books published under the creative commons license:

http://www.feedbooks.com/author/193 (Peter Watts, Starfish was a great biopunk marine biology novel)

http://www.feedbooks.com/book/228/accelerando (Accelerando, reccomended for anyone who likes Dyson Spheres, Post Human intelligence, Distributed Autonomous Organizations, and mind bending sex)
I'm going to google around for this, but do you have any links to the research off hand? I'd be interested in seeing it.

My favorite 2048 variation was the 4D version. It was trippy but I felt like I got my head around that. I think it was because the game rules were so simple that instead of trying to visualize what was going on, my brain just accepted the patterns.
I'll have to respectfully disagree. While search is their main product, with AdWords being their main source of income, Google also has maps, local, docs/drive, gmail, google play, wallet, android, etc.

While it wouldn't be a 'giant' without search, search definitely helped increase adoption of their other products and gave them revenue to invest into other things (plus their moonshots).
I would just avoid the rotation issue. Time works as a 4th dimension so if you have a charter that can flow backward or forward in time you can 'solve' 4d mazes without major issues. From a game-play perspective plenty of games have you vary limited control over time but you could make some vary interesting puzzles with full control.

EX: walls in the way. <Set bomb off> Walls gone but cave collapses. <walk though wall> <go back in time> <keep walking>.

Or simply let you flip times direction. Going vary slow or backward prevents changing things, but you get to move. So, you might be able to for example walk on water when moving backward in time etc.
No, it's not interesting actually. It's completely useless.

The stated goal is to learn about allergies. The method used has nothing whatsoever to do with the goal.
An Answer to the Most Common Question in the World
From 5 days ago: http://www.reddit.com/r/pics/comments/2eawhw/how_serious_is_...
Jim Rossignol from Rock Paper Shotgun played a recent build:

http://www.rockpapershotgun.com/2014/03/18/miegakure-preview...

He said:
"Flipping through dimensions is remarkably intuitive- [...] I shifted dimensions, messing about with this strange toy until I quickly understood most of the problems that I faced."
Walking While Black: Encounters with the Police on My Street [pdf] (1997)
Petro-dollar era is over as Gazprom begins sales in Yuan and Rouble