skysight-inc/HackerNews huggingface dataset:
This book won't make you into a wizard like the one you see on the cover. What it will do is open your eyes.

I mean, it teaches scheme for Pete's sake. Playing Devil's advocate here, who honestly uses that in pratcital everyday systems? Nobody reads the book and immediately goes "Wow! Now that I learned Scheme, which is totally the best language, I'll use my Scheme powers to create the coolest software in the world!"

The reason why this book is so cherished is because it treats scheme as a building block for implementing the most interesting ideas and patterns from systems you use every day.

Rusty on recursion? That's chapter one. You'll be thinking with recursion and will understand most of its implications by the first few dozen pages.

Think you know about OO? Build your own object-orientation system in Chapter 2. Yes, on top of scheme.

Write your own programming language (well, implement eval anyway) in a few short pages in Chapter 4. (The result is about thirty lines).

How do Von Neuman register machines work? If you don't already know, you'll be writing a simple compiler in Chapter 5.

This up-close-and-personal whirlwind tour of these important CS concepts was very enlightening to me when I read it. This book isn't about how to learn languages; rather, it's about working with ideas: why abstractions are important, how to reason with them, and how to implement them using whatever bare tools you've got.

(Schemers: before commenting, realize that i wasn't poking fun at our favorite language; rather, i'm merely asserting that scheme isn't the point of the book)
What seemed less accurate? They should be doing almost exactly the same thing.
Pinterest Sued by Former Business Partner of Early Investor
A dedicated radio (one with a hand crank) is better, much longer life and not too expensive just to leave in the car's emergency pack. Hand cranked LED isn't bad either.
Visual Studio 2012

Notepad++

Web Server (IIS, Apache, Node, etc)

Photoshop/Paint.NET

Chrome

Firefox

Internet Explorer

Safari

CDN links for jQuery http://jquery.com/download

CDN links for jQuery UI http://jqueryui.com (bottom of page)

jQuery Block UI http://www.malsup.com/jquery/block (modal popups)

Twitter Bootstrap http://twitter.github.com/bootstrap (base css)

Open Internet connection
While Lock-free code gets you part of the way to efficient parallelism (by removing suspension-induced dead time) as he mentions, the performance impact caused by repeated cache line invalidation can be a significantly bigger problem.

In many modern processor architectures (x86, for example), a cache-coherence protocol is used to ensure that cache lines provide data according to the memory discipline. On x86, that discipline is Total Store Ordering. (See http://en.wikipedia.org/wiki/Memory_ordering).

This means that if two processors are contending for the same value (eg. trying to increment it, set it to true, or even read it), they will force the CPU to invalidate the cache line containing the value on all the other cores, leading to massive scalability bottlenecks. If multiple cores are contending for the same location in memory, whether it's lock free or not, performance will suffer.

More deviously is the case of false sharing, where 2 different values just happen to fall on the same cache line. Even though they don't conflict, the processor must still invalidate the line on every core. Modern compilers do their best to prevent this, but sometimes they need a little help.

The takeaway is this: Don't try to implement your own locks using CAS -- even something as simple as a lock is very hard to get right (performance-wise) when scaling to dozens and hundreds of cores / threads. People have solved this problem (people.csail.mit.edu/mareko/spaa09-scalablerwlocks.pdf). Writing fast concurrent code (especially lock-free code) is a minefield of weird architecture gotchas. Watch your step.
"The MTA is challenging software developers to use
MTA data to create new apps that improve the
transit experience of its 8.5 million daily riders."
http://mtaappquest.com/

"New York City challenged software developers to create apps that use city data to make NYC better."
http://2011.nycbigapps.com/
If you're worried about facebook, have a look at: your google search history, your ISPs mandatory 'data retention', your mobile phone operator and so on.

Facebook is but one of a large number of companies that hold private data and use it to their own advantage.

In fact, even without a facebook account they'll know about as much about you unless you've blocked their domain/ips on all your devices because those like buttons are everywhere.

Why do you feel the need to justify yourself about not having a fb account? Simply blackhole and ignore them, then get on with your life and if people ask you why not 'because I don't trust them' should be more than good enough, no need to go into paranoid fantasies about what they could do.

If facebook wants EU style data protection / privacy laws in the US then they should definitely try to sell your private data to insurance companies. I'm pretty sure that would sway even the most pro-business anti-consumer legislative body.
Most books used to cost a maximum of $2.99.
I was required to read Blue Ocean Strategy for class. Definitely an eye-opening read.
It's not enough to say that it runs smoothly for most of the animation. It should run smoothly for virtually every second of the animation. I have a computer that beats yours hardware-wise running Chrome, and there were many places in the animation where fps dropped below an acceptable threshold. Some people are also more trained to notice fps drops too.
Why not just link to Matthew's post?

http://mjg59.dreamwidth.org/20522.html
The degenerate/extreme/unrealistic case of Incast is you have switch buffer capacity to store N segments, you talk to M servers that each return one segment, and M >> N. Although RTO is calculated based on RTT and RTTVAR, in the extreme case you can get clumps (and waves) of retransmissions (depending on the properties of the network) such that even eliminating the minRTO altogether may not solve the problem at some scale. In simulation we experimented with adding an adaptive staggering to the exponential backoff algorithm and found that it helped at high server counts [1], but it was only simulation so I'd take that approach with a grain of salt.

The R2D2 work is pretty neat: different than a lot of other approaches I've seen. I'm excited to see how the FPGA implemention works!

Some comments: 1) I think any significant change to the control algorithm requires careful analysis: the variance in throughput with the multi-client experiment looks interesting, though I don't know whether that is steady state. From the graphs, R2D2 suffers more with larger filesizes whereas TCP actually improves. 2) Real datacenters can have very different traffic patterns that can break some of the assumptions about bandwidth uniformity and latency, though it's harder for academics to tackle that. 3) If you are going down the path of TCP offload, you presumably can avoid the overhead of CPU interrupts/timer programming when reducing the RTO into microseconds :). I'd be interested in seeing how R2D2's algorithms/constants work when you're able to reduce the 3ms timer to microseconds in hardware!

Also, if some kernel programmer wants to fix my once-working patch to support microsecond-granularity TCP retransmissions [2], I personally know a bunch of people who would be happy :)

[1] http://vijay.vasu.org/static/papers/sigcomm147-vasudevan.pdf

[2] https://github.com/vrv/linux-microsecondrto
Secure Boot distribution support
The other potential concern is that stuff of this sort could get accidentally learned. Suppose there were some sensitive fact about some subset of the population, and suppose it happened to correlate with response to some advertisement. If FB were trying to optimize for better ad targeting and response, they could happen to learn this trait, perhaps without even a human operator realizing it.

Again, these are all relatively unlikely hypotheticals, but it is admittedly unnerving that the potential could exist.
If you're really betting $100, you'd be losing a lot of money on everything you posted. I'll bet $100 the blog post was a total fail.
While I agree that Greenwald mostly danced around the issue, I think there was some content to his exclamations. While I'm not terribly familiar with Jennifer Granick, I think she does a much better job explaining the FISA vs FAA debate [1]; her writing seems more objective to me. Presumably Greenwald leaves it to the reader to inform themselves? A strange idea, I must admit.

[1] http://cyberlaw.stanford.edu/blog/2012/11/fisa-amendments-ac...
I fail to see the connection between her personal incidents (website/29c3/crypto) and the hacker community as a whole. Title is very misleading in my opinion.
Awesome concept. I like the simple design.

The algorithm didn't work so great for me. I regularly check in on 4sq, so the data should be there. I work in DUMBO, live in Bed-Stuy (don't really like it, but it's cheap. that's how you bootstrap!)

I mostly go (& check into places) in DUMBO and Downtown Manhattan. But recommendation put me in Hell's Kitchen, which doesn't really work for me. The next three suggestions put me in Queens.

It would be nice if you could factor price into the algorithm.
Thanks. That's the impression I'm under as well and there will be a small risk of litigation that I've already recognized.

The problem with incorporating is that I've heard that the legal shielding properties of corporate (or llc) status are not that protective for sole-proprietors and that the company's liability is still the owner's liability.
Handy tip, best "snow shovel" for digging yourself out is a grain shovel. Keep one in your car in winter.
Small Businesses Vs Startups
I hope you're not saying I provided a sneering response. I was trying to express appreciation for the link you offered.
This reminds me a lot of programming EPROMs for the BBC Micro back in the 80s. Several people (including me) brought one of their ROM sockets out to a ZIF socket on the side of the keyboard.
Instead of just posting the values to the server, why don't you pass the element IDs as well? You can then name your "link" elements with a key substring that matches the parent element. When you get your postback, you can match the "links" with their parent "step" via the key. This way, you don't rely on the index value in an array. For example:

<input id="step1" />

<input id="step1_link1" />

<input id="step2" />

<input id="step2_link1" />

<input id="step2_link2" />
Well, in its defense, you can do things like this quite efficiently with WebGL or SVG. This is more of an abuse than a demonstration of the fastest-possible rendering in browsers. Similarly, my machine can't render a video into an ASCII stream into my resized-to-1-px-per-character terminal at full framerate; whether it can or cannot doesn't say anything about the state of playing videos on a computer.

If anything, demos like this serve more to demonstrate the capabilities of the system to people who may not be aware such things are even possible, not the best practices. This wasn't possible a few years ago in this way, period - now it is. Isn't that interesting and/or useful to know?
Pricing sunshine
>Two solutions: get much better (more complete, more self-actualized, more authentic)

Reading your whole post, I think you mean 'more exactly like your favorite part of yourself', but otherwise, spot on. On FB you have to listen to everything everyone says to everyone, not just what they would choose to say to you to accommodate your sensibilities.
Why does anybody care what some forum troll on Phoronix says? I was replying to a statement that made it sound like Linux users had declared jihad on FreeBSD.
You don't need to be embedded to have performance matter - even if your OS gives you concurrency primitives, there are many situations where jumping into kernel code is still "too expensive."
Here is a mirror of the original blog post, in case it gets taken down or is changed:

In image format: http://i.imgur.com/YBRgZ.png

In text format (with links to in-line images, rehosted to imgur): http://pastebin.com/GDVSsj8V
Thanks for clarifying. In the context of not addressing the question over Greenwald's credibility it looked sarcastic to me. You see, it's very confusing if you express appreciation for something that seems to contradict your point but then don't address the contradiction.
I am fairly certain that a black woman going to a high school where 90%+ of graduates are going to university will have many more advantages in life than a white boy attending a high school where ~10% of graduates go to university. I don't think people understand just how dismal such places are. And yet, geographic prejudice abounds, people say things about "ignorant hicks" that they would never say about a class based on race or gender.

> "as a group white men are doing much better in that regard than others."

Whites do worse in America in a host of ways compared to Asians, such as educational attainment, average income, criminality, and etc. For almost every documented white/black achievement gap, there is a corresponding asian/white achievement gap.

As far as gender goes, males earn fewer college degrees than women do. I expect this will cause the earnings gap to reverse in the long run. It already has in urban areas.

Whites are the majority race in America and men have traditionally been in charge of things. But to truly look at privilege, you have to look at the present, not the past. Academic concepts of privilege are rooted in the 1960s and they don't fit well with the modern world.

I hope you get to read this comment, my last account I used in race/gender discussions was hell-banned. These discussions come too close to things you can't say.
Like windexh8r, I'm starting to see the rise of home automation systems as well. This is actually an area I'm currently looking into working on some projects in.

With that, what are some some features users would like to see?
This is a brilliant, hard hitting post Zack. And pretty obvious when you think about it. Of course Facebook is going to sell user data to the highest bidder. They already do to a lesser extent with their PPC advertising.

Readers: dismiss these warnings at your own peril.

EDIT: Looks like the crybabies and Facebook stockholders are flagging this. You must have hit a sensitive nerve Zack. Good job.
Everybody says it's the bees' knees, but Ruby on Rails is terrible. I speak from experience, I administer non-public installations of Redmine and Gitlab.

First of all, the language syntax is awful and incomprehensible.

Then there's the Byzantine deployment process (although, to be fair, it seems endemic to modern web development; it's just more obvious in Ruby since most Ruby programs are web apps).

Finally, the startup for a Ruby application is incredibly slow -- worse than Java ever was, even in the Bad Old Days running 1.2 on a 300-ish MHz Pentium II (which was a state-of-the-art desktop at the time).

Hint: If someone makes a post to the Github issue tracker for your web application saying "Increase timeout from 30 seconds to 300 seconds" [1], a one-line patch changing a number from 30 to 300 does not count as solving the problem. There is no reason that a web app should ever have an expected load time greater than 30 seconds.

[1] https://github.com/gitlabhq/gitlabhq/issues/694
It's probably true that simply written Haskell code is fast enough for most uses. The trouble comes when that code isn't fast enough, or should be faster.

How do you make Haskell code faster? Apparently it's somewhat like writing fast Java code: avoid most features, use primitive data types, and write like you're writing C. Haskell code optimized for performance ends up like messy C code more often than not, except that unsafePerformIO isn't such a prickly topic in C.

Even Haskell professionals often don't know when "free" GHC optimizations will kick in, because the optimizations can be so picky, even after you remember to apply some forgotten language pragma. Writing performant Haskell is a black art.
Everyone, stop harping on Randi's picture as some horrible Facebook bug. One of her sister's friends leaked a photo, which could happen just as easy in any online medium, like email or smugmug.
Any plan to use industry standard protocols?

I work in HVAC controls and I'm always surprised by how the 'home automation' folks seem to just ignore what's already out there.

My favorite standard is BACnet (standard for ASHRAE, ANSI and ISO), but there's also Modbus, Lontalk...

There's a bunch of people who have already worked very hard to make sure there's some usable protocols for lighting, air conditioning and even security access.

IMO you could leverage a strong position and use existing codes by using them.
For you and I, it's enough to say "I don't trust them". For the normal users of Facebook, people like my classmates, friends, and family members, they have no way of knowing what I mean when I say I don't trust Facebook. They cannot imagine what you and I know to be possible, if not highly improbable. The first question they ask after me saying I don't trust them is why? I've had to explain some variant of this many many times lately and so I've written it up as something I can send them.

And yeah, I'm worried about google, my bank, my phone operator(no smartphone though), and my ISPs. Just because all of these other companies do it doesn't mean it's alright for them to do. I hate that there are hundreds of files out there that have data along the lines of "Zack Maril, Male, 21". I'd like to find ways to prevent companies from collecting all of that information about me. (Using DuckDuckGo and cash only would probably be a great start.)
Thanks for posting this. I've been looking at some new languages of late and might dip into your book in a few days. Wondering what you thought of "go" since you were looking for a systems language?

Did you evaluate various languages before deciding to go with rust ?
All this and more at http://www.1024cores.net/
Read through to the rest of the comments..... there is also the ability to use pseudonyms.
I'm a Clojure user like snprbob86.

A C struct is just data, a map is just data. You're using the term classes when you mean data or data structures.

Classes are the the creation of complexity by unnecessarily fusing code with data. If you don't mean classes specifically, then use the universal terms "data structure" or "schema".

> If your language has classes, you should probably be using them for your entities and domain models.

Not necessarily at all. It takes a profound lack of imagination to believe that's the only way to handle business logic ++ persistence.

Furthermore, freeing yourself from the constraints of the persistence side (presumed to be a SQL DB in this conversation) in the initial sketch/mock stage is foolishness beyond measurement.
G+ has the same policy as Facebook now: you must use a name that looks reasonably appealing for a marketing campaign, and nothing obviously not anyone's real name, nor excessively foreign looking.
Thanks! Great start there.
Let's say the spectrum is something like:

[90s Valley Girl] ... [Richard Dawkins]

(people are one-dimensional in this example)

I'm sure people cluster around ranges on the line. The stereotypical self-obsesed pinhead probably wants more people to reinforce his or her introspection and less talk about the world. They want celebrities, gossip, sales at stores, and shoes, shoes, shoes. The other end of the line probably doesn't want those things.
I like it! Doing it this way will mess up the blame for non-unique lines like

else if {

but I don't think that matters because you are unlikely to care where such lines come from. (You could fix this anyway by doing unique lines first, then using the blame of those to make better choices for the non-unique lines.)

See also the more complicated variant at the end of this post from the git mailing list:

http://marc.info/?l=git&m=116070384211583&w=2
Tautology? Of course no one would want a non-secret secret group.
Save this servile genuflecting for the unwashed masses of india. Those 3 commodity IT vendors have as much to do with programming as say a quixtar or an amway has to do with entrepreneurship. People were programming back in the 50s and 60s when physical computers were a rarity...to think one would need an infosys to introduce programming to India... heh heh...and since when does computer programming have anything to do with providing large scale employment to society. Parent is truly delusional.
Interesting, I did something similar with http://puur.tk/better
This slowness could also be due to keeping a swap/backup file. Maybe try switching that off.

For that poster above, I've never understood the appeal of gvim or macvim, I am very happy with vim in a console (with tmux.) Perhaps there are some plugins that work better under (mac|g)vim.
I'll bet on each tweet I sent out once. I've already got somebody to take me up on Facebook predicting sickness. Send me an email with the bet you want and we can work out the terms of the bet for the tweet you think is a stinker.
> Can any HN economists comment on whether productivity measures would really have any impact on policies given overriding concerns on inflation or unemployment targets?

I'm not an economist, but I'm a Canadian. And I'm going to give you an answer that's not what you're looking for, but it's important:

No impact. Our government has been very, very clear about this. Measures, data, and statistics are intentionally buried and ignored during policy making. So if they exist, no, they won't have any impact. I'll quote our government for you:

"We don't govern on the basis of statistics"
I'm sorry, but you have no idea what you're talking about:

107 H.R. 3009 http://www.govtrack.us/congress/bills/107/hr3009/text :

SEC. 344. BORDER SEARCH AUTHORITY FOR CERTAIN CONTRABAND IN OUTBOUND MAIL.
(a) IN GENERAL- The Tariff Act of 1930 is amended by inserting after section 582 the following:

SEC. 583. EXAMINATION OF OUTBOUND MAIL.
(a) EXAMINATION-

(1) IN GENERAL- For purposes of ensuring compliance with the Customs laws of the United States and other laws enforced by the Customs Service, including the provisions of law described in paragraph (2), a Customs officer may, subject to the provisions of this section, stop and search at the border, without a search warrant, mail of domestic origin transmitted for export by the United States Postal Service and foreign mail transiting the United States that is being imported or exported by the United States Postal Service.
Go to scribd.com and click the sign up link. You can create a free account there.

On the download link, under the place that asks you to login with Facebook, there is a small link to login with your scribd account instead. Click that and login, and you can complete the download. No money is involved.
A kindle-ready version:

https://github.com/twcamper/sicp-kindle