skysight-inc/HackerNews huggingface dataset:
I am the author. The source code for this is available at:

https://github.com/grempe/diceware

Any bug reports are welcome.

This was a weekend project that was forked from a project that I thought was nicely done but needed some improvements (https://github.com/yesiamben/diceware). Notably that project:

- uses the JavaScript Math.random() API which is known to not be cryptographically secure.
- is not served over an HTTPS connection.
- requires re-download of all files to change language.
- tracks all page views with Google Analytics
- leaked information about the users preferred language via a URL query string parameter.
- used inline script tags which make it incompatible with lockdown via a Content Security Policy.

So I remedied all of these issues and re-factored and modernized the code. The source of randomness is now the well supported window.crypto.getRandomValues() API which is cryptographically secure. It now also uses a fully Bootstrap based UI and provides password strength feedback using the excellent zxcvbn library from Dropbox (https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-pass...). The application will now also fully work offline (including language switches). All of the code is signed (keybase.io GPG SIGNED.md) and can be verified and run locally by cloning the repository.

I hope you enjoy this. I submitted a pull request to the upstream repository as well but I have not heard back anything to date.
Who said anything about banning? Parent post just asked why anyone would want to own a car.
That distinction is overly pedantic, especially in the context of the Unix philosophy which was supposed to be applied to programming in general.
Just because wired says something doesn't make it true. Whatever other accomplishments he may have, Le was not a contributor to word2vec, and he did not originate the idea of mapping words to vectors.
The race for the world's best condom
There's a grammar error in the first sentence. "an quick" should be "a quick".

Great, detailed article though.
I find it surprising that most people aren't recognizing that SSDs don't even need to come close to price parity to completely replace hard drives. Random access alone makes them so much more valuable, and a good SSD is now worth more than extra memory in terms of increasing the performance of a computer system.
Personally I think journalists are still missing the point the same way that the entertainment industry missed it for a long time. Each industry has enjoyed access to a wide and somewhat captive audience, and the accompanying profits, during a comparatively short period of time when they controlled the means of distribution. For music it was the era of the LP and CD. For journalism it was the era of the big print publications, and network radio and news. All that is done. Some other model for getting entertainment to people will emerge (is emerging), and some other model of letting people know what has happened will emerge as well (and perhaps is also emerging now).
What is 'long' in this context? (milliseconds, seconds, or minutes?)
I visited Container Park in April, after having read a few articles about the Downtown project. I really wanted to like this place, and architecturally I thought it was pretty interesting. But the place didn't make sense to me.

Container Park has a bunch of very narrowly focused businesses, in a small, 2-story space with insufficient traffic to support them. There was nothing resembling an "anchor" store to draw crowds and get this place going. As a result, it just seemed dead, lackluster.

Downtown LV is quite far from the strip, so tourists aren't going to stumble on it. And it's not even in the heart of downtown LV. To get there, you have to make a point of going there. And of course, LV makes it very tempting to stay in the big hotels and not venture all that far.

Some examples of the businesses: There was one store devoted entirely (I think) to socks. Another sold groceries, locally produced art, and art supplies. One store sold used designer bags and shoes. There were a few bars and restaurants, but nothing I'd go out of my way to patronize. In general: an odd collection of niche stores, with a few places to eat and drink.
Interviewee*

And as someone who is about to graduate computer science, your rant makes me hopeful :)

I am much better at refactoring and finding patterns than memorizing algorithms and other things (mainly because they are relatively easy to look up). Do you suggest that I try to strike a specific balance between practicing dealing with complexity, optimizing and making code readable, versus actually trying to memorize and implement certain algorithms for learning's sake?
I wrote one of these for my work as well. Definitely our go-to for getting a sense of how well people can understand others' code and how they think about data modeling/complexity. A very small initial page of code can go a long way.
So, upon further reading, I was less informed on that than I had thought. The best explanation I could find is here[1]. Basically, ANC does reduce sound pressure level when it lines up correctly. If you're listening to the sort of ambient noise that it does well with, it gets the phase offset close enough to right to significantly reduce the mechanical force applied to your ear drums. If, on the other hand, you're in an environment where it does a mediocre job, it will still be producing a cancellation waveform, but it won't actually cancel anything, and that will increase the mechanical force applied to your ear drums. So, in an office environment, you'd expect a reduction from the ambient noise of the HVAC system, but an increase from the random nature of your coworkers' conversations. It's hard to say whether you'd have a net reduction or not, but it's not certain, whereas passive noise isolation is certain.

[1] http://www.reddit.com/r/askscience/comments/1ios4u/does_prod...
It's a colloquialism http://www.urbandictionary.com/define.php?term=so+yeah
I'd be curious to know why you would prefer a metered approach when, as you say, for that same price you get uncapped.
It seems to me that most people, in the US anyway, would rather not have caps. I can honestly say this is the first time I've heard anybody say they would, for the same price, prefer a cap.
For the record, 20Mbps for £20 is roughly similar to what our local cable monopoly offers in NC.
You think there are pieces of fat getting stuck in your digestive system?
A) I have no idea what to do with the information, but it's fascinating nonetheless.

B) Obviously the instruction mix depends on the programs analyzed. The ones he analyzed are actually all heavily tuned but smaller programs. I wonder if that changes in other domains. If he ever re-does his analysis, it would be interesting to see something gigantic like OpenOffice, which I'm guessing might even be more MOV based. And maybe something like Octave, which might make use of some more esoteric math functions.

C) When he says "three popular open-source applications were disassembled and analysed with a Basic script", I thought he might mean "simple", but downloading the source, he does indeed mean BASIC the programming language. :)
In any complex system you'll start seeing "idleness" and "waste"... which are sometimes a "just in case" capacity and maintenance-cost tradeoff that isn't immediately obvious.

P.S.: I bet there are some biological analogies are apropos. How long would you live if everything was redlined?
Brandtale – List of native advertising
This is pure speculation and I'm nowhere near qualified to speak with any accuracy, but perhaps it's the case that the processing requirements would reduce battery life too quickly. Although, having said that, "Hey Siri" only works when the phone is plugged into a power source, unless you use a jailbreak tweak to turn it on all the time.
A nice simple demonstration.

Other things that can be added easily is Labels, Loop0 - loop while a variable is greater than zero and subX - pop stack and instruction pointer and go to location X.
I don't agree with every example either. Bud I support the UC's goal to build a more inclusive classroom.

Nitpicking is easy, which is exactly what the author is doing. He doesn't it make it very far down PG's list of disagreement.

http://www.paulgraham.com/disagree.html
I just finished the course from coursera https://www.coursera.org/course/nand2tetris1. It is a very good start learning from the course or from the book for those who are interested to build something like this. I highly recommend it.
No. No that's not what I'm saying at all.

I'm saying that unless you're honest during the interview about what you need out of a job, you'll end up joining companies that will make you miserable because they are fundamentally a bad fit for you.
Firefoxs “Private Mode” saves visited sites permissions to disk
I can't say it's only you, but I certainly don't agree.
I think you should have put "my games" and "my music".
Does anyone else feel like this "leap" is somewhere in the middle of its transition?
> Many FOSS maintainers live a ramen lifestyle. If someone either A. wanted
> a zero day exploit, or B. wanted a virus to be ignored, they might be able
> to pay the maintainer enough to violate ethics. Is there a way to
> incentivize maintainers enough to counter this risk?

Weirdly, people living on ramen lifestyles are often the most difficult to corrupt with money. There’s a reason they aren’t using their intelligence to trade financial instruments or writing programs to do it for them.

The most vulnerable to corruption are often those with middle-class lifestyles who are living above their means and stretched to make ends meet. They often value the appearance of a comfortable lifestyle, and once you start playing golf with Alice, drinking fine wines with Bob, and horseback riding with Carol, you are in a deep financial hole.

Worse, it’s really all about the social aspects for such people, so the idea of a tight fiscal diet to regain control of their finances is anathema to them. They can’t suffer the shame of having to admit to their social circle that they don’t belong.

It’s easy for authorities to target those running up debts.

The irony is, sometimes everyone in the same social circle are all in over their head. They’re all suffering from a kind of impostor syndrome, each of them thinks that everyone else can afford the Suburban in the driveway and the jet-ski in the garage, and that they’re the only one in trouble. In reality they’re all in a Red Queen’s Race.
This is exactly what I was looking for, thanks :)
Pretty much what we're building at Two Tap, a gateway API that can be used to order any product from a supported retailer's inventory and benefitting from realtime product data (inventory, price etc).
A huge benefit to being an independent API is that new features become available for all of the supported stores in a matter of days (vs months-years-never if each retailer would have to update their API).
Not sure the story would have made it as far on HN if it was presented more plainly. It would be just another long-form piece that didn't draw in enough people.
The Internet is running in debug mode. Because it's large and complex and humans have to debug the problems. Humans need to be able to read the data as it whizzes by to spot the problem[1]. Often, this needs to happen in environments with minimal tooling; e.g. you're staring down a problem on a production server, and you're forbidden to install the newest analysis script and its requirement of the latest version of Python.

We've already agreed on a binary protocol: UTF-8 (previously it was ASCII.) But we've also built redundancy into it for the humans to make sense of it with their high-level brains. Instead of a single byte representing an HTTP header, we use a string of bytes. Now the human involved can tap the wire and watch the request in real-time without processing anything.

Now, if you'd like to remove redundancy without the need for a compression library, we'll just need to agree on shortening those strings. And we'll need a new diagnostic/parsing tool for each [binary] protocol that's invented -- unless you can convince the grep/sed/awk developers to add every protocol to their tools. Or maybe we could all agree on a single binary encoding for every potential combination of strings; something like an index into a dictionary. It might be better (i.e. higher compression ratios) if we let the computer decide on the dictionary for each message.

Do you see where this is headed?

1 - This, of course, is only the case until the machines can accurately gauge human intent and respond appropriately, preventing us from making mistakes to begin with.
I'm not a computer science grad, and it puts me at a huge disadvantage simply because I never had any formal training about algorithms. And my day job is to write testable, well-designed production quality code. I don't get to spend a lot of time rewriting algorithms, which as you note, can be easily looked up. The fact is that as a full-stack developer I can count with zero fingers the amount of times I've had to use an self-made algorithm in a production system.

That being said, I do force myself to practice algorithms thru various coding challenges only because I know that this is the specific skill that will land you a job. Which is a shame.

That is not to say that there are not positions that really do require this specific skill, but the vast majority of development positions don't and yet nearly every employer tests their candidates as if their success depends upon their ability to solve an algo in under 5 minutes, instead of their ability to write a good library.

It's a disservice to those of us who do not have CS degrees and have learned to code by spending a great deal of our time writing code.
Boto3 as a successor addresses the problem of maintenance, doesn't it?
In Welsh Patagonia
Maybe something about possible outcomes? If you're a bad guy with a super exploit, you could bring down the internet. You'll get a laugh for a few hours, but then the world will respond with enormous resources to find you and bring you to justice.

Or, alternatively, you could go after some smaller internet companies, demand extortion money, buy a nice car and treat your friends to drinks.
xamarin is what you are looking for. I can't believe this answer hasn't been posted. xamarin is supported by microsoft and targets both ios, andriod and windows.
Code-Free Hackathon for Non-Technical Entrepreneurs
I agree that the tagging system needs some work. I'm curious as to what you think is wrong with it. Could you share your thoughts?
Crockford: Upgrading the Web
Top mathematical achievements of the last 5ish years, maybe
"As a result, a business can't pay to train it's own work force."

I believe in Germany consortiums of businesses in the same industry subsidize training. Seems reasonable.

In any case, your observation would seem to be refuted by the fact that businesses in general used to do precisely that, and many businesses still do do precisely that.

"Having employees pay for (and be compensated for) their own training is the most reasonable workaround."

For the business, maybe.
Osaka, Japan: CloudFlare's 35th data center
Brain.cards – learn anything on the go
brain.cards is a flashcards app that focuses on real-world UX design. This is the closest you can get to real flashcards. Each card is spatially modeled to look like a real one. It has 2 sides and you can write on both. You can flip cards. When you swipe through your cards the app will automatically help you memorize them. It's powered by a machine learning algorithm.

It is great for people who want a simple tool, to write down the things they want to learn. When you're bored, just start swiping through your cards. You'll begin memorizing things faster.

Android download --> https://goo.gl/AcWfek
Ironsmith, a yeoman generator for metalsmith
That's correct, layers are not part of the spec. It's the caller's responsibility to setup the container bundle (manifest + one or more rootfs directories) so that runC can load it. How that is done is not the concern of runC.

This is by design: it turns out layers, as implemented by Docker, are not the only way to download or assemble a container. The appc specification uses a different, incompatible layer system. Many people like to "docker import" tarballs which bypasses layers entirely. The next version of Docker is gravitating towards pure content-addressable storage and transfer (a-la git), possibly eschewing layers entirely.

runC is not concerned by how you got a particular runnable object. It's only concerned with its final, runnable form. The result is a nicely layered design where different tools can worry about different levels of abstraction.
Ioke is a folding language
The+World+We+Live+in+Today+--+Future+Military+Robots
A 16-year-old tricked the NYTimes into reporting Dylann Roof was a Brony
After reading this article, I'm convinced that the domestic airline industry just isn't working well and perhaps never will. On some level everyone must know this, including the regulators and the airlines themselves. The business direction seems to be towards consolidation and a relentless demand for more money from customers who get very little in return. I don't know if there is a solution short of starting over and establishing a national airline.
It is part of the marketing for several "new hotness" languages (however long ago their development started). Back when Java was new, the same marketing talk was directed at OOP, which isn't cool any more.
Wear leveling is done in the layer that translates between LBAs and actual physical chip numbers and addresses. Drive partitions are well above all of that in the abstraction stack, and partition tables are totally beyond the scope of a drive's concern (even for spinning rust drives). These days it is even common for a drive to have two different partition tables in two different formats with different partitions listed. Bootloaders and operating systems are the only things that should care about partitions.
10 awesome eCard App in a single collection for all daily greetings
How much of this could be accomplished using something like Mixpanel? Honestly curious.

I know a true ETL solution like this will be more powerful and flexible, but how do you decide when it's worth the investment? Are there key use-cases or reports that only this type of solution can provide? Is the main issue with external analytics (like Mixpanel) that you need to know what data to collect before you can report on it?
Only 5% of GTA V sales were for PC, the rest were on consoles
You're saying an archiver, an encoder, and an installer don't do a lot of floating point math? I'm shocked, I tell you, shocked. :-)

More to the point, it's unclear if this is a static analysis of the binary, or a runtime analysis of retired instructions.
PXE boot to ramdisk. Your constraints are then how fast you can get bits over the network and the machine bootstrapped only through ram.
> suit: hacker credibility -1

Social engineering.
Google has an elegant solution for this in the form of protocol buffers, which are human-readable when expanded but compress down to a very efficient binary format:

https://developers.google.com/protocol-buffers/

Unfortunately it was made public only after JSON had already become "the XML replacement".
Saying something is pedantic is an excuse someone gives when they're wrong.
Amazon will soon pay self-published authors based on the no. of pages read
Are you confirming that boto is "an unmaintained disaster"?

It seems there is some confusion here about what is boto, what is boto3 and what state the boto project is in.
It's most likely the case that all western AV companies readily respond to National Security Letters and/or Warrants - providing the NSA/GCHQ with all the information that they need. Kaspersky on the other hand, is probably more difficult for the NSA/GCHQ to secretly coerce, hence they need to exploit their software.
So when you say "real GC, not reference counting", you have to understand that tracing GC and reference counting are duals, and every concurrent collector is going to be some hybrid of the two [1].

But there are a number of algorithms that most people would probably consider "real GC" that don't stop the world. Modern Java GCs use the train algorithm [2], which bounds pause times to some arbitrarily-sized constant. Erlang per-process heaps [3] also give good soft-real-time characteristics.

It is theoretically possible to run the whole GC in a background thread (eg. while a GUI is idle). Both the JVM and the CLR have options for this [4][5], but they're only useful for workloads with large pause times (eg. GUI apps, lightly-loaded servers) and so aren't enabled by default.

[1] http://researcher.watson.ibm.com/researcher/files/us-bacon/B...

[2] http://www.ssw.uni-linz.ac.at/General/Staff/TW/Wuerthinger05...

[3] http://prog21.dadgum.com/16.html

[4] http://www.oracle.com/technetwork/java/javase/gc-tuning-6-14...

[5] https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110)....
Honestly it's hard for me to imagine a total emergency restore-EVERYTHING situation that needs the data in under a day.

If it's not that much data you should have a local copy anyway. If it's massive amounts of data is your connection even that fast? And how did you wipe 50 servers at once?
Mods: How about a 2014 note in the post title?
C Puzzles
Oops, I an important word out:

> Because code, and the hardware on which it runs, is made (at least indirectly) by humans, it will fail under some conditions; it only satisfies its specification.

This sentence was supposed to end "it only satisfies its specification some of the time." I was not going for Knuth-ian irony about proving vs testing (https://en.wikiquote.org/wiki/Donald_Knuth#Sourced).
Is Young Living Essential Oil MLM a Scam?
Why am I seeing Young Living and DoTerra reps everywhere touting the benefits and even stating they can cure Ebola? Mom bloggers in it for more money?

http://www.yourconnectedlife.com/blogroll/young-living-scam/
OK, we're going to see a lot of rehashing of the old arguments:

Pro-text: Human-readability saves immeasurable human developer time!

Pro-binary: Text parsing wastes a lot of very measurable machine time!

Problem is, half of this argument is based entirely on anecdotal evidence and gut feelings. We really have no idea how much developer time is saved by having messages be human-readable. You will find smart people who believe very strongly both ways. In a seemingly very high fraction of these cases, it seems that people are really just taking the practice they are more comfortable with (because they've used it more) and rationalizing an argument for it because it makes them feel good about their choices. When hard evidence is lacking, confirmation bias, unfortunately, takes over.

As the author of Cap'n Proto and former maintainer of Protobufs, I obviously come down pro-binary... but I won't bore you with my argument as I don't really have any hard facts either.
When you factor in depreciation, 1TB of HDD is conservatively worth half of what 1TB of SSD is worth.

And judging from the reliability figures I'm hearing, it's more like a 1/10 multiplier and SSDs already outpace HDDs in value.
The only issue I have with this are that you are using a compiler from 1998 (visual c++ 6) at that time I think the Pentium !!! was just starting to get popular. There are college students now who were toddlers when this compiler came out. I would love to see a treatment of a more recent compiler generating instructions for more recent x86 CPUs.
That's good for following, but not searching the world.

By contrast, somehow, Mediagoblin intends to federate in a searchable manner, as I understand. But, I don't know how that's going to work.