skysight-inc/HackerNews huggingface dataset:
It's excellent for someone, like me, who's new to JavaScript development. Until you can build up a frame of reference, it's difficult to understand why one approach works over another, even when someone spells it out for you.

An article that just says "this works and is easy" is sometimes what you need to just start writing some damn code.
I find "first letters from a phrase" harder to type than the phrase itself, because it doesn't behave like the rest of the typing I do. Given that it also has less entropy (necessarily, because of collisions), why not just type the whole phrase?
The "Nature" pay-wall abstract is here:
http://www.nature.com/nnano/journal/v7/n9/full/nnano.2012.12...

The actual paper is here:
http://www.nilt.com/files/pdf/PCODL_NILT_ref.pdf
I am very curious to see what happens with this issue: https://github.com/mozilla/towtruck/issues/5

Given Mozilla's profile and resources, maybe they'll come up with a novel solution!
Or most money, or depending when it happens, most guns.

I suppose you could try and reach a consensus when possible, rather than have a majority dictatorship.

I wouldn't see any real opposition to changing the protocol to allow mining of lost coins for example if some precise and correct definition of a lost coin could be specified.
"Talent is willingness to practice" is how I've heard that described.
I did state so. You're still thinking in terms of brute force attacks but actually dictionary attacks are more common as they rattle off the 'low hanging fruit' much quicker. The danger of using common words like Randall did is that they might be in the dictionary so get cracked even before the attacker attempts to brute force the remainder of the passwords from a stolen database. In fact around half of the passwords people pick are vulnerable to such attacks (i'm on my phone though so can't easily cite a reference (I'm out of town this weekend) but it averages at either 40% or 60% of passwords use "guessable" / common terms)

If Randall has thrown in some punctuation and numbers then he's reducing the odds of that password being cracked. But as the example stood, it's advertising complacency against the most common method of modern password cracking.
Facebook Home And The Promise Of Android
Hara-Kiri: Death of a Samurai (2011). A poignant reminder of the difference between real honor and superficial/dogmatic show.
Fastmail.fm. Even updated their web app recently and it is, in my opinion better than Gmail's.
"This whole time, I worked on the platform source code. I feature-creeped for at least 5 years. I didn't have much of a portfolio to show for it either. "

Congrats on persevering for that long but I almost think this is a case example of the downside to being a single founder...no one to rein in your feature creep time.
"I prefer the word transparency, it just seems..."

I cannot decide to up vote or down vote your comment based solely upon this statement. Therefore, take my lack of voting as a positive affirmation that I have no strong feelings one way or the other.
TeXworks is slim and quick. It was one of the first TeX editors with an integrated PDF previewer and especially an automatically split screen for writing and previewing. The same GUI on Linux and Windows makes switching between platforms easy.
Yes. I suppose we could try a game of making Satoshi look bad. Anything except for sex and murder, go...
It doesn't even need to push us anywhere near starvation to suck.

If we have cheap non-renewable resources, they allow us to live a much better quality of life than we would otherwise. If a barrel of oil comes out of the ground with 5 minutes of human effort, and then lets us fly from SFO to NYC, that's one level of awesomeness. If we burn up all the easy oil and the barrel of oil requires an hour of human effort to bring out of the ground, we're worse off.

Technology helps (maybe we can drill more efficiently, and maybe we can burn the oil more efficiently, and maybe we can find a good substitute for oil), but

If we had a certain economic surplus due to high quality natural resources being available, then having more people means we need to use lower-quality marginal sources. Plus, with time, we use up the high quality natural resources.

More productive people should help us improve technology as well, vs. just providing more total labor. On the other hand, if population increases to the point where surplus is reduced, we're less likely to invest in education or other investments which improve the value of human capital, focusing instead on subsistence.
Well yes and no. Obviously for most things you will get better with practise but it's certainly also true that you are genetically predisposed to learn some things faster than others and be able to get to a higher level quicker and have a higher chance of becoming one of the best in that field. So it makes sense to specialise in those things.

For example I'm sure I could run pretty fast if I trained but I'm never going to beat the 100m record because I'm not usain bolt.
Instagram web design concept
The web version of Instagram is a one column grid which doesn't allow you to navigate and interact easily with your friends.

My concept design for Instagram's web version will be based on a 3 x 4 grid and will enable users to:

1- Browse and interact more with your friends.
2- Upload your photos on the website directly.
3- Search for your friends and their photos.
4- View friends activities ticker.
5- Monitor hashtags trend listing.
6- Manage multiple accounts like your company account and your clients accounts.
Broken crawler behavior with my binary protofeed file
Ask Mitt Romney that question
I love my blues, but my girlfriend sleeping the other side of the door does not. D:
The title should be:

"Rick-rolling, reimagined for the HN crowd."
You'll flip your id

($) = id
Except that id works on values and functions, but $ only works on functions.

(&) = flip id

$ is just an less-expressive alias for id that looks prettier (and has different precedence/associativity when used infix)
Parts of Google's Operational Transformation algorithms have been open sourced, here's a good starting point: http://stackoverflow.com/questions/2043165/operational-trans...
Half-Life 2 fan movie: Freeman's Days
Now available first episode! http://www.youtube.com/watch?v=prkxiQsbu3M

But it contains only English subtitles.
You can select other songs; the default when you first start is a rickroll.
Thanks for the advice!
Based on what you said, I think I'm going to have a tough time getting accepted into a graduate program. My first three years at college were spent bouncing between majors, so I don't have strong relationships with any of my CS professors. The only time I would say I excelled was my senior year where I completed 8 cs classes with good marks, but that doesn't seem nearly as impressive as completing undergraduate research/an internship.

Do you think open source work/self studying in the field I choose will have a large impact on my potential acceptance?

I regret not focusing in on CS and math earlier.
It will be interesting to see how Organizing for Action ( OFA ), the follow-on group works out. So far they are raising money in decent chunks ( http://www.latimes.com/news/politics/la-pn-organizing-for-ac... )
There are tons of basic crud apps out there making people millionaires.

Name three.

Economics drives both demand and supply. CRUD apps are easy to make; the market for most CRUD-only apps is heavily saturated with competitors, so the differentiating value of your application is not likely to be your ability to perform CRUD operations. Put it this way - if you come up with a CRUD app that does something staggeringly valuable, expect strong competitors in days not years. Your chance to make millions is small.
Even string splitting in Go isn't that bad, frankly.

words := strings.Split(wordList, " ")
foo := words[0]
if len(words) > 1 {
bar := words[1]
}

Where things can get a bit tedious is data conversion from byte buffers, like reading in data from disk or Redis or something. But that's no different from any other statically-typed language.

I would like to see more libraries in Go, though. Much of what's complex is there, but one of the benefits of languages like Python and Ruby is there are lots of libraries for the easy stuff, too. Having to write a data model validation library yourself is boring.
So, why is the government doing this?
Which part of my comment made you think I was asking for a definition?
>> have a graphic designer give it a 2013 layout

> 20x this.

That page looks great to me. Can you give me an example of a '2013 layout'?
The people who claim that $X million in Silicon Valley is still just middle class are annoying, but it's true. I have $8 million and it honestly changes very little. I'm living a middle class life, working a middle class programming job, my friends are middle class, I buy middle class stuff, and I have no special power or respect. I'm not sure how to convince you that this isn't just verbal gymnastics, but real.

There are a few advantages. One difference is I don't worry about how I'm going to pay for e.g. a $1000 car repair (but it's still painful). I'm also more likely to hire someone for maintenance or gardening. Also, I theoretically could quit my job and live off my investments, but that's unlikely to happen.

Of course this is partially a linguistic argument. If you define upper class as the top income quintile, for instance, than I'm upper class, but that's meaningless.

I do wonder if I'm doing things wrong, and there's some secret for admission to the upper class. Maybe I should start flying first class, buy a Ferrari, stop shopping at Target, and hang out with rich people. (Although I think that would just make me nouveau riche, not upper class.)

(My motivation in this comment is that these HN threads tend to be entirely speculation, and the semi-rich never comment, so I hope to provide a useful perspective.)
The language is ruby.

array.map(&:to_s)

eventually means

array.map{|str| str.to_s }

As I understand it, the & means convert a variable to a code block. If the object already is a callable object (proc or lambda) ruby doesn't need to do anything to pass it through. Symbols (:to_s) aren't callable so ruby calls the to_proc method on it. The rails framework addd this for Ruby 1.8. The code is below.

# File activesupport/lib/active_support/core_ext/symbol.rb, line 10
def to_proc
Proc.new { |*args| args.shift.__send__(self, *args) }
end
>>actual Facebook app which _does_ require quite a few permissions.

Well, that explains it. I am familiar with those few permissions :-)
Isn't the simpler explanation more likely?
The reason JavaScript is dog slow is single-threading. That's quite a huge handicap on today's hardware and it's only gonna get worse and worse until JavaScript engines becomes multi-threaded.

Besides that, I don't disagree with TFA when it says: "Garbage collection means cleaner APIs which can intelligently allocate their own buffers and can therefore relieve the user of what can be a tiresome or error-prone burden."

But that's certainly not an explanation as to why GC languages are not slow. (and I'm not saying GC languages are slow: all I'm saying is that saying that GC leads to cleaner code has nothing to do with performances of the runtime)
Pretty sure not displaying the video is a violation of the YouTube API TOS: https://developers.google.com/youtube/terms

Also have a feeling the owners of the napster trademarks won't like your domain name much!
I may have been at that talk, or at least one where it was quoted :) If we don't already know each other, we probably should. Ping me at:

$HN_USERNAM @ gmail

If you want to chat tech and power.
I tried looking for "22" by Taylor Swift, song not found.
Derek Lowe has real high class humor. I always end up knowing new things while laughing like a maniac. It just makes things a little awkward at office though. I always had to keep watching over my shoulder just so that no one would notice that I was reading things which can blow up with explosive power which will make TNT feel like baby powder and laughing like a maniac :)
Obviously that Al-Quaeda plan will fail as greater numbers does not translate into greater power anymore. Machines are replacing humans both in industry and the military so the group with the most capital is the one who will win the game.
>responding to new threads on the mailing list -- not just to existing threads

Not all threads are the same, some are very easy to respond, and some require a lot of thinking.

The hardest pull requests are those which are useful in some way, but not really ready to be merged, and maintainer needs to do quite a lot of work to either explain what is wrong with pr or to rework it.

saying "Thanks for the patch; don't know when I'll have time to look at it" as a default response and leaving it for a month isn't very useful, and if it is a "default response", one can assume he got it just by sending pr and not getting other response.
New Chinese E-Store Caters to Expats in China, Supports Payments in Bitcoin
It's not my demo, it's firebase's demo. Why should it not use angularfire?
When I looked at the sort of passwords they would try they didn't start with aaaa and move on from there, they would start with stuff that looked like it had been pulled from a common password list.

That's because they were. I'm sure that in the "underground" community of crackers there circulate lists of passwords that have been successfully cracked, because a) people tend to use the same passwords for everything, so if it worked for one account it will probably work for others, and b) the point you mande in your third paragraph.

These lists are continually updated and used as input to the "brute force" cracking tools.
He didn't compare to an 8 char random password. However, an 8 char random password is much harder to remember, and itself only contains (assuming 100 possible characters) only 10 quadrillion (or 53 bits) which is still somewhat weak.

Including less common words, and using 5 of them, makes things significantly better.

> grep '^[a-z]\+$' /usr/share/dict/words | wc -l

gives 62887 on my system, which is almost 16 bits per word, so 4 puts us at over 63 bits and 5 at over 79 bits, or roughly 15 quintillion and 1 septillion respectively. Assuming brute force over sequences of words from the same dictionary and of the correct length, at a billion tries each second, it'll take over 200 years to crack the former and over 31 million years to crack the latter.
I guess not every song is in its database. "Human After All" by Daft Punk worked for me.
Haskell is like Lisp: so expressive that it supports many idiomatic styles of usage, depending on application domain.
MIT guide to lockpicking
Wow... very nice. While the rich are really mean and ferocious, the poor (normal) people are very generous and giving. That is the reason the country is still functioning. Fortunately there are millions of normal ( poor by western standards ) people in India, especially outside of the big cities. Still most people live in villages which is a very good thing, they are not yet corrupted by the greediness. I hope they don't.
I don't think that word means what you think it means kid
Show HN: Airbnbs for Airbnbs for Airbnbs
I think its more like people get fixated on certain subjects and automatically spend more time on the subject.
Also, you are off by a factor of 1,000 on your capacity. $50 billion / $2500 implies 20 million kilowatt hours, which is 20 gigawatt hours.
Yes, and Wave is probably the most accurate open source picture of what Google is using for Docs: http://incubator.apache.org/wave/

OT works naturally with linear data structures, but is tougher to use correctly with more complex data, which Mozilla seems to have here with Towtruck.

I'm excited to see what approach they choose!
Rework git core for native submodules
Postgres 9.3 feature highlight: JSON operators
http://dev.stephendiehl.com/hask/flat.html
A good system should take a significant but not intolerable amount of time to reject a bad password. Just a few seconds will impose a huge burden on a remote dictionary attack, while not diminishing the experience for a user who legitimately fat-fingers a password.

Also use fail2ban to impose a lockout after a certain number of failures. The lockout does not have to be permanent, it just has to make a remote dictionary attack so time-consuming as to be infeasible (of course this does open up a DOS vector, depending on how you implement the lockout).
I thought the whole point of Git/hub is that branching and merging is so easy/powerful that you never get blocked waiting on uptream to integrate your fix. You just fork (on click), fix, PR, and merge later.
Kids these days...
Indeed, but I think we have to realize that not all these open cameras are security failings. Some universities and towns just have open cameras so that curious people can watch. I know that Purdue had one near where the band would practice marching so that parents could see the band more frequently.
Direct link to the YouTube video: http://www.youtube.com/watch?v=prkxiQsbu3M
I would say smart hackers can be nearly anything they want to be. The best of them are capable of looking at most any problem and breaking it down into solvable chunks. Whether it's figuring out the behaviors necessary to tone their bodies into beings capable of physical activity, or honing their skills with machinery to rebuild an old car. Hackers can be some of the best mechanics and are capable of knowing how to turn their bodies into incredible machines.

Those are just a couple of examples of what hackers are capable of outside of, well, hacking on things. If there are parts of problems or tasks hackers don't know, they can research them and understand how to fix them. This means that they're not afraid to jump into the deep end in other professions or tasks.

Capable of being a business person, and possessing the same drive as business people are where the disconnect occurs, in my opinion. Could a good hacker figure out the steps needed to create something that would be considered a successful business? Yes, probably so. But, are smart hackers driven to generate wealth or create large organizations of people? In my experience, the answer is often: "not really, but I'd love to help you build it."
Using your example, it's equally secure to an 8 character password using base64 characters. Recently a pen tester published[1] that he can crack a 9 char pass (w/o punctuation, so 62^9) password in 90 seconds by parallel processing across several top end graphics cards. So I really wouldn't argue that a 48bit password is secure any longer.

[1]http://arstechnica.com/security/2012/08/passwords-under-assa...
A fantastic piece of work - one of the very few HTML books that I read cover to cover without getting bored. I would love to see Mark Pilgrim's literary take on other topics.
F# obviously approves |>, but in my software project that has been continually maintained for ten years, we introduced -->. Now re-factoring our project we use |>. It kind of messes with my sight against pattern matching in OCaml though.
You should have planned for something like this to happen from the very start. you should always have a "divorce" agreement in place in case someone isn't pulling their weight, stops working on the project, medical leave, etc. I know this from learning the hard way. You should also aways have a vesting period in your contract. 2-4 years should be given to startup before they get 100% of their shares. Not where you stand now nor am I a lawyer but you might want to get that agreement in place. Maybe tell him that you need to slightly redo corp paperwork to bring in other people/investors in the future. Good luck.
So then it is exactly like the original Napster, reimagined for the web.
Finally a proper answer. Thanks!
And sure, let's say in 90% of cases using the same 6 char password for everything is okay. But let's take a not unlikely scenario - one website that you frequent is compromised and an attacker gets an unsalted hash of your password. Because your password is so commonplace, they can easily get it as well as a lot of other users' passwords.

Now for every password and email combo they have, they try to log onto a google account or bank account with the same information. Since you use the same password everywhere, they succeed. You're essentially now screwed and the attackers could do all kinds of devastating things.

Perhaps you say the scenario is unlikely - I'd say it happens more often then you would think. And this is the case where you're not even being individually targeted.

Overall - a little preventative action is hardly a burden and goes a long way to securing yourself online.
New Debian Project Leader elected: Lucas Nussbaum
Please watch this: http://www.youtube.com/watch?v=QNsePZj_Yks

You are materially responsible for the re-election of someone who commits large-scale crime (in the form of blatantly unconstitutional surveillance of Americans under no suspicion of criminal activity).

Please reconsider your choices. You are working for the wrong side.
Ryan, I would strongly encourage you to rename this. For obvious reasons.
I am surprised that Shenglong is down voted - it strikes me that the idea of 10x "business-people" is just as valid as
10x developers. Certainly Branson for example seems better at it than, say, me.

@Andrew_quentin Want my take on the 5 or so business rules:

1. Budget. Don't spend more than you plan to, plan to make a profit.

2. Clarity. Be clear what you offer and why it benefits the target market

3. ABS - Always Be Selling. Build a pipeline of prospects and clients and audiences. Keep on telling them how your thing will make their lives better. Then and only then watch GlenGary GlenRoss

4. Service - the customer must think you love them because only people we love do we treat so well. This is easier with few customers. They then have to be charged more. This is a sub rule (6)

5. Consistency - say it, do it. Hire a PA to make sure you do.

6. Never drop your price or cut your rates
Yes it works !
I will adapt the tip, it is cleaner like this.
I have also my dotfiles in git, checkin them out is a possibility at ssh login time.
If you maintain code that is a gigantic ball of if-foreach-else-switch-is_null or your class hierarchy looks like something a Java developer would produce, and you are constantly thinking "there must be a better way," you might benefit from exploring Haskell or a language with some of its features.

PHP is actually one of those languages, since it gained real support for first-class functions, anonymous functions and closures starting with 5.3 and improving with 5.4. So if you do learn Haskell you'll be able to directly apply some of its ideas to making your PHP more concise, easier to test, and less error prone. Check out the PHP Underscore library to provide some of the infrastructure: http://brianhaveri.github.io/Underscore.php/

Haskell brings a lot more to the table than first class functions, and it may or may not be a good introduction to functional programming for you, but other functional(-ish) languages such as Scala or Clojure (or Scheme & other Lisps) will work well, too. Just give it time. It's worth the effort, but you're not going to magically transform your code into the Unicorn Monad overnight.

If you do PHP you probably do a lot of JavaScript, too, so there is another language that supports getting into functional programming, and there is definitely a lot of interest in moving JavaScript in more classically functional direction. So you won't be blindsided by maps, folds and promises.

I apologize if you already use first class functions like a boss and you were really asking if you needed static type inference. The answer is Maybe.
Write The Docs videos