skysight-inc/HackerNews huggingface dataset:
If you go into the "fullscreen" mode and watch the right side closely, there are clusters of slightly darker blocks, which I'm pretty sure spell out "Google" :)
I think this is the best comment I've seen in this thread yet.

It can be a tough call. In a previous job I worked on a product that used /dev/random. We never had a problem with it until one customer installed our product on a newly created VM, and it hung during startup.

We switched to urandom, but we definitely had misgivings about it, as this was exactly the case where it could matter. It's also a situation where reading from /dev/random only the first time wouldn't fix the perceived bug in our product.

Perhaps it would be useful to have a userland process monitor /dev/random and, in a case like this where there has never been sufficient entropy in the pool, send a notification to the console (though there's no guarantee it will be noticed). On Android it could pop up a window.
I'm not sure I follow. Disclaimers aside: Eric Lippert is for me on the same level as Raymond Chen. An amazing source into Microsoft's world - and yes I know that Eric isn't working there anymore).

Your reply again seems to fight SO. I get the feeling you use this article to further your cause, to prove that SO is bad. I've got no stake in that conflict, my SO account is ancient and I'm mostly a reader for years.

I don't believe Eric meant to belittle people and I think your impression is .. a lot more negative than it should be.

Last but not least: If a rubber duck's 15 year old daughter (Hey, at this point I could turn around and ask you why the example character is female and turn this into a different type of mud-slinging contest) sitting in Nairobi (why Africa?) would type code on her cell phone and it didn't work right away, SO really isn't the answer.

You might not like it, but generic "Hey, so I wrote this stuff and it doesn't really work" sort of questions aren't deemed acceptable. Mistaking a QA site with (more and more) strict guidelines for a generic place to call for help and coming up with an example that feels like a call of "think of the (african, female) children)" won't help. This is the wrong place and judging people for these guidelines is .. weird.

There might be a need for a place where your fictional characters should be able to ask for help and get real support. I wouldn't know and I can only imagine that it would be hell to try to help out.

All of that is totally irrelevant for the article at hand though. Eric teaches people to fish, you seem to argue that he'd (we'd?) hand out the meals instead.
I recently learned about the `interact` function in Haskell, which makes it easy to write programs reading from standard input and write to standard output, just like many of the Unix tools.

For example, if you want to print the id and name of each user from a file in the /etc/passwd format:

-- display all users: ids and names from /etc/passwd

import Data.List.Split (splitOn)

eachLine :: (String -> String) -> (String -> String)
eachLine f = unlines . map f . lines

showUser :: String -> String
showUser line = fields !! 0 ++ "\t" ++ fields !! 4
where fields = splitOn ":" line

main = interact (eachLine showUser)

This can be run, like (assuming the program is saved in list-users.hs):

$ runhaskell list-users.hs < /etc/passwd

I am very new to Haskell, and I am sure there are other, perhaps better ways to do this.
Would we be better off with a site to link to that was searchable based on language/project/etc?
Young and cynical me would say when and if justice is served to the children of the rich and famous.

Old and wiser me would say when people stop asking such fake questions and take heart going into careers of law or public administration.
Yet another unlicensed money transmitter handling Bitcoin transactions (through another unlicensed money transmitter). What could go wrong?
Thanks Charlie! Posthaven cofounder here. In the short term we will run your blog go $5 a month. We've taken a pledge not to get acquired and to run it for as long as possible. Right now we are building it out but in the future as we grow we would like to make a foundation that will fund it in perpetuity out of the profits. The site is profitable and self sustaining now. Definitely a work in progress but a blog that lives forever is our goal.
140% CTR? What does that even mean?
Two quality fonts that I haven't seen mentioned here yet: Bitstream Vera Sans Mono, Pragmata Pro.
You may not be looking for a get-rich-quick scheme, but what want actually is one. Anything that had the properties you describe (generates substantial amounts of income, quick, easy, low-risk, scalable) would be a scheme that quickly makes the practitioner rich.

You are going to have to sacrifice on one or more of those axes in order to get something remotely realistic. For example, you can make somewhat disappointing sums of money with a two-week turnaround by doing crappy freelance jobs on oDesk. (On the other end of things, if you had a strong network, you could probably land a good job quickly, but building a network that can support you that well obviously takes time.)
IIRC that's how Office and Photoshop file format started. I think it's a nightmare for compatibility in the end.
> Applications on Linux should use urandom to the exclusion of any other CSPRNG

Applications, yes. Appliances built on it - now that's more open to interpretation.

Back in 2003/2004 I was building a centrally managed security appliance system. At the time I made the hard choice that first-boot operations (such as generating long-term device keys) MUST use /dev/random. It made the initial installs take longer, but I refused to take the chance that an attacker could install and instrument a few hundred nodes and find out possible problems with entropy sources.

Once the first-boot sequence was over, applications used /dev/urandom for everything. This included the ipsec daemons. Forcing everything to /dev/random during first boot made sure that on subsequent boots there would be (for all practical purposes) enough entropy available for urandom to work securely.

The first-boot problems were amplified by the fact that we were running our nodes inside virtualization. (At the time: UML, and we built our own on top of it. Xen wasn't nearly ready enough back then.)

It's fascinating to see that the problems we had to deal with 10 years ago are now becoming an issue again. To this day I choose to use /dev/random if I need to generate key material shortly after boot (which could be install), or for my own long-term use. Good thing personal GPG keys have a shelf-life of several years...
I took an html/css workshop with Dustin Coates in Boston and it was excellent. I learned many things which I implemented very next week at work. Indeed, the boss referred to my work as the best front end piece yet created.

I subsequently signed up for a longer front end course after that. True, a bit pricey, but I like a classroom setting and committing myself to a regular learning block each week.
Here's an incomplete list I tested awhile ago:

Andale Mono
Bitstream Vera Sans Mono
Consolas
Courier
Courier New
DejaVu Sans Mono
Droid Sans Mono
Inconsolata
Liberation Mono
Lucida Console
Monaco
Source Code Pro
Verdana // yeah, Verdana is still a king of small

Luculent appears awkwardly tall, thin, and squished in Sublime. Very hard on my eyes. Playful "i" but way too hectic altogether. I appreciate the thoughtfulness in approach and hope it works well for others. For all the people who love Verdana: the DejaVu or Bitstream (nearly the same, same author) typefaces are the closest. Still using DejaVu Sans Mono for now.
This story was also submitted to HN here[1] and here[2].

[1]: https://news.ycombinator.com/item?id=7352175

[2]: https://news.ycombinator.com/item?id=7351374
Meet 'Ask Zelda,' the Advice Column for NSA Workers
I sincerely hope that's not the case. Mozilla Corporation is still using Persona internally, and still deploying new sites and services that rely on it. We think it's absolutely great for when you need simple, email-based authentication, and we're still fully supporting it.

(PS: Because it's email based, there's absolutely no lock in. Want to migrate away from Persona? Just add a password column to your database. But we hope it won't come to that.)
> I seriously doubt all these instances of OpenSSL are generating keys

If you seriously doubt that an encryption library like OpenSSL has to always generate keys then this discussion is between the two people who shouldn't have even started exchanging opinions.

Ditto for your claim that blocking for entropy is something that doesn't happen or is trivial. It's not, the kernel writers know.

If you still believe you're right, try to explain to the kernel writers how they can just initialize the urandom pool just once after the boot, and you solved the problem for everybody at once! You may even enter some hall of fame.
Voting Information Project Hackathon
The Voting Information Project (VIP) invites you to join us for a two-day hackathon and help us discover new ways to connect voters with the essential information they need to cast their ballot during primary and general elections.

All developers, designers, creators and innovators are welcome! You’ll have a chance to work with the Google Civic Information API and will have access to historical primary data of all 50 states and Washington, D.C. in order to create a new user experience for voters.

We want to find the best web or mobile application that makes civic data more accessible and usable for eligible voters, as well as state and local elections officials. Our judges will award the winning application a prize.

To attend, please register here: http://bit.ly/1dzGVME
I'd say it makes sense for equation-heavy fields. The biophysics stuff I did during my Phd, however, worked very well with Powerpoint. I'd always have the images-and-diagrams-only presentation without text as my goal, which I usualy managed to almost-achieve.
The F-15 is an amazing plane. It blows my mind that it can accelerate in a 100% vertical climb.

I've heard stories about A-10 warthogs landing on one wing, too.
On the other hand, taking the easy way out when this kind of security problem comes up leads to having a machine that's just an appliance and not a computer. If you've closed every local code execution vulnerability, you've probably rendered your system completely non-programmable and erected a monumental barrier to learning how to hack.
http://fpcomplete.com free Community edition online dev environment.
The one here in DC is already doing an excellent job of matching people up with start-ups and non-profits. We've also got NGO's like the World Bank showing up.

My view is this: if a class has good teachers, a difficult, portfolio driven curriculum, and a decently high-bar of entry (my DBA coworker struggled to be admitted to the course because he was rusty in his programming skills. He ended up having to put in a lot of time just to be able to pass their test to gain admission into the course), then it will probably be a good course to take.
Testimony to European Parliament on Electronic Mass Surveillance [pdf]
The FAA usual procedure is "prove to us that it's safe". You can point to other certified craft using the same or similar technologies or systems, and say "it works there, so we'll be okay". This is what most of the aircraft manufacturers do. For novel systems you have to demonstrate for them that it will work as intended and safely. How you do that is negotiated with them. Plenty of time on flight tests is likely required. (Though the rocket guys mostly do this by showing that when it does fail, it can't possibly hit anything interesting, due to flight path and abort limits.)

FAA generally won't force you to do it a specific way. Which is both good and bad from a development standpoint. You might take a look "at Airworthiness Certification of Unmanned Aircraft Systems and
Optionally Piloted Aircraft":

http://www.faa.gov/documentLibrary/media/Order/8130.34B.pdf
The Death of the Long Tail
Because the XML document has a semantic meaning that is specifically designed for this application. It may even have a schema definition document which formally defines what types to expect. JSON, by contrast, has type definitions imposed on it by its nature as JavaScript code.
Phew. Finally the reign of powerpoint begins to fade.

If non-technical speakers spent less time faffing around before the session making awful looking powerpoints, and more time learning how to speak engagingly, the world would be a much better place.

This said as an Audio/Visual Operator who has spent hundreds of hours at a sound-desk watching technically inept speakers fail to impress - no matter how flashy the animations.

The worse thing over the last few years is 'Prezi'. It's a powerpoint alternative which ostensibly makes it easier to make awesome looking graphics.

The 2 problems with it are that it's a hell of a lot harder to actually present on a second screen, so you end up having to drag windows around, and that speakers are still under the impression that because you have swooshes and zooms and text folding inside other text, suddenly it's more likely for people to find the presentation content interesting.

The trouble with BAD technology, is how do you fight it? The normal way is by competition - making better tech. But when the concept itself is wrong, but somehow culturely accepted...? Any ideas?
Is there a mailing list I can subscribe to? These kind of goodies are something I'd like to stay updated on.
great work :) congrats
I prefer Powerpoint over white/blackboard because:

1. People make mistakes on the whiteboard

2. You can't save it and review later

3. Even if you write everything down, it would still be less
information than what someone could add in the Powerpoint

4. Powerpoint is much more legible

5. It is easier to go at your own pace during and after the presentation if someone is using a Powerpoint. If someone is using a white/blackboard they are going to erase the last part very quickly after they finished writing it down.
Can someone explain RAII to me? In the way that it's commonly used, it seems like it really means "stack variables that go out of scope are deallocated", which seems kind of, well, duh? I don't really understand why it's treated like a big deal.

(I mostly write C + Obj-C)
Write something worth reading, then let other people worry about preserving it.
You seem to misunderstand you cannot commercially operate a UAS in the US. This is not "awesome news" for all your "disruptive" startups. You cannot "disrupt" the FAA and I highly suggest you do not attempt too; that path is littered with corpses. The FAA does not joke around and your little UAS is no where near up to the 50+ years of standards, processes and regulations in place for modern aircraft. Why do you think new aircraft manufacturers are not popping up every year? The ignorance and complete disrespect for an industry no one of this forumn truly understands is appalling. Your drones are not going to be delivery packages or flying passengers anytime soon (most modern airlines are not flown but "operated" like a giant computer anyways). That is about as close as it is going to get for awhile so dream on.
> You claim that only idiots beyond help will resort to working around /dev/random to prevent blocking. I disagree. I claim that any sufficiently frustrated developer will eventually go down that route if no other obvious choice is available.

The good workaround for /dev/random is trivial: you use /dev/urandom instead; if you are sufficiently frustrated that you hardcode /dev/random to a file of static data, you probably have made numerous other horrible mistakes. Yes: I maintain that this developer is an idiot who is "beyond help"; it is harder to make a static file for this than to use /dev/urandom.

This can also be a configuration file option: "potentially blocks, but always works" vs. "will never block, but you'd better have setup your system correctly". Even better, the developer could go to steps to verify /dev/urandom is ready (such as reading from /dev/random and writing it to /dev/urandom) before using it receptively in ways that could block.

> I fear the assessment of the damage done by /dev/random blocking is understated.

When /dev/random blocks you know it happened, and a FAQ entry can guide you to a reasonable solution. (And again: given that you can apparently seed /dev/urandom from /dev/random, a solution that the advocates of /dev/urandom are still unhappy with for some reason, it seems like there's no excuse to end up with /dev/random blocking; instead, what everyone should be encouraging is to seed /dev/urandom from /dev/random and then use /dev/urandom.)

Alternatively, the people who end up building systems that do not have enough entropy at boot have no way of knowing this happened, and are sufficiently divorced from what is being executed that they are unlikely to even realize that someone is relying on something they shouldn't. This is where "sane defaults" come in: on Linux, it seems like software should not rely on /dev/urandom until the software proves somehow to itself that it is "ready".
Was it very painful to develop this great GUI or is GWT/HTML5 at a point where it's OK?
You should have just forked ink.css

http://zurb.com/ink/docs.php
Right, if the presenter has to spend forever scribbling on the whiteboard, that kind of kills the talk. Also, if you cannot read what they have written.
Great idea, but the rhetoric is a bit overblown.
It's not a put down, it's an application area:

Research: generate ideas

Applied: deploy to thousands or millions of users
There's a big difference in market share. You need to have a monopoly and abuse that monopoly to violate anti-trust regulations.
Meets.io a new SDK to develop native mcommerce apps with Magento
Meets.io is a native SDK for iOS and Android that helps developers communicate efficiently with Magento stores. We've released it under the permissive MIT license, so you can download it for free and start playing with it, adapting it to your needs and contributing your ideas.
Thanks for the feedback. The intent in that version was to mimic Marc's (Gambit author Marc Feeley) past iOS version as closely as possible (via webview) - I'll see what he's doing with his latest iOS version and also try to include a full screen option.
Don't forget it could also spook the horses, tip over apple carts, cause women and children to faint, and anger the gods.
Well, I don't say there are not better ways, but I don't know any.
I've used XSLT a lot. It requires different thinking, if you are used to procedural programming. If you deeply understand how it works, it's pretty straightforward.
http://factorcode.org/ (https://github.com/slavapestov/factor)

A new programming language based on the concatenative programming paradigm. Not my project, I'm just an enthusiastic contributor. It's the most intelligent and powerful language ever. But a lot of library components are missing and needs to be written. :)
Once the mental institutions were closed incarceration
rates increased dramatically. It's fairly safe to conclude we're treating the mentally ill as criminals. It reminds me of The Onion article, '15 Years In Environment Of Constant Fear Somehow Fails To Rehabilitate Prisoner': http://www.theonion.com/articles/15-years-in-environment-of-...
I don't really think you can guarantee for it to live forever unless you are paying someone to do this service for you. If you are just hosting it on a big site like tumblr you can hope that it stays up, but you never know if something will happen where they go under.
Couldn't upvote Mike's comment enough. It all comes down to good training, and methodical thinking - something that's generally ingrained in you with aviation.

As a skydiving instructor, I've had 3 parachute malfunctions that required cutting away & deploying my reserve. Each time something goes wrong, everything else goes out of focus: you have a problem to solve. You first assess the situation and work to regain control - as long as you have altitude, you have room to work & get creative. When you reach a certain "decision altitude" - or determine there's no way you'll be able to land the parachute safely - you make the decision that you'd do better with a different parachute. And you enact emergency procedures.

Beauty of it is, good training makes this automatic. It gives you a decision tree to work off of. IMO, the same sort of decision tree is an excellent thing to think about when crisis planning for companies. But that's another story.
One interesting thing is that the QT framework prefers the use of pointers over reference variables. There's actually some reasonable logic here. Pointer syntax clearly shows you are acting on something in a different way than you act on an "ordinary" object. Reference object syntax is the same as ordinary object syntax but you are making changes that will go beyond the local scope and that is thus less obvious.

With this approach, you can still allocate objects on the stack - you then take their address and pass that to a subroutine.
You're right inasmuch as I shouldn't have implied that unsandboxed interpretation is the only option.

But my larger point still stands; the fundamental tradeoff is still "power of the payload" vs "guarantees to the container." Even in the case of sandboxed execution, the container loses two important guarantees compared with non-executable data formats like JSON:

1. I can know a priori roughly how much CPU I will spend evaluating this payload.

2. I can know that the payload halts.

This is why, for example, the D language in DTrace is intentionally not Turing-complete.
You are definitely not 'fucked'. What others are saying - it's all about habits...and these can be changed. It sounds like your mindset is such that since you are fat...you are fat. For you, it's not about eating less, exercising more...it's going to be changing that underlying destructive thought process of yours.

...says the skinny guy.
Disclaimer: partially just playing devil's advocate here.

There are circumstances where you need to keep someone in solitary, whether it's for their own safety or for the safety of others. You can't well put a hated prisoner in with the general population without expecting that they'll be murdered. On the other hand, you have prisoners who have made a living out of murdering prison guards.

What do you do with Thomas Silverstein[1]? Terry Nichols? Members of the mafia? Caught spies? They'd likely either kill or be killed. I don't really see a better option than isolating them. These aren't people who are there to be rehabilitated.

[1] http://en.wikipedia.org/wiki/Thomas_Silverstein
If you train yourself to become a decent draftsman, you can draw diagrams interactively on the whiteboard, explaining each part as you go. It's often more explanatory than throwing up the diagram all at once. Sometimes there is no substitute for a photographic image though. Animations can also be amazingly useful.
Persona is one of the Mozilla projects that best exemplifies why we need Mozilla. They're the only ones purely dedicated to the future of the open web. The only foreseeable future for the web today is one where two or three gatekeepers control user information with no way out. Persona seemed like the best way to prevent that future.

The services that they're switching their focus to are also crucial for the open web. Firefox needs them to be competitive, and the open web needs a competitive Firefox. But it feels like putting Persona on the backburner—especially when it comes to UI integration in the browser—is letting a pivotal moment pass us by, and I don't think identity on the open web will recover.

If you held a donation drive for Persona browser integration, the donations from Hacker News alone would fund it.