skysight-inc/HackerNews huggingface dataset:
Some years ago I was doing paid for code reviews. I learned many things but one particularly relevant to this article is: You can only tell if code is shit after you have dug through it for at least a few days.

Sure there are the obvious mistakes like non-idiomatic code style. But that's easy to spot. But for anything that is related to the problem domain and not the language itself you need to dig deeper. Because there might be a very good reason why something is done the way it is done. And later you might think: Hey, that's actually a pretty good solution.

Wading through piles of code by dozens of different developers made me humble and nowadays I think twice before calling something bad.
Well, exactly! I have three aces, and the computer has double pairs. We are in the turn. I go all in!!!

The computer calls ... and deals itself a full house. I am bankrupt :( How do I know? How can I ever trust playing poker with a machine, when it is doing the dealing?

Or, let me put it this way: I will play any machine, no limit, if I can do the dealing (secretly, that is, as the machine is doing).

Another issue entirely is chess: no secret dealing going on. All are playing with the same in-game information.
I agree with you that home school is not scalable, but for different reasons. We certainly cannot rest on the assumption that every teacher is a good teacher, and with a $40 internet connection and $500 computer, reasonable access to learning material is virtually guaranteed. Furthermore, I don't think the presence or absence of diversity will have much impact on the most desirable measurables of child rearing, which in my book are: ability to support one's self, being a good citizen (not stealing or hurting people), reading ability, and grasp of basic primary school subject matter.

The reason why home schooling is not scalable is that parents of under-performing students are predominantly poor, and are either single parents or if there are two of them, both need to work to make ends meet.
Discussion of the article on the julia-users mailing list:

https://groups.google.com/forum/#!topic/julia-users/d_ucezbI...
just for completeness sake and because no one mentioned it yet: https://github.com/technicalpickles/homesick

yes, you need ruby for it but I dont really see that as a problem. Its a bit confusing at first (could be just me, but I still dont get why you have basically 2 repos, one managed by homesick and the one you checked out yourself) but it works fairly well. Takes care of symlinking, updating and whatever you want.
I like what Whatsapp does. First year is free, then 99 cent per year. Here's their rationale: http://blog.whatsapp.com/index.php/2012/06/why-we-dont-sell-...

That being said, stickers seem to work. Line makes 30% of it's revenue ($17M in Q1 2013) from stickers. More here: http://start.toshiba.com/news/read/category/Business/article...

The advantage of both stickers and subscriptions over advertising is that you don't need a sales team or the tech for serving ads and providing analytics.
I am not sure why there are so many negative ideas about academic affiliation. StartX is not the only startup accelerator around. Limiting themselves to founders with a Stanford affiliation differentiates them from others and allows them to heavily leverage existing networks. Disclaimer: I work at a StartX accelerated company.

As another commenter pointed out: Stanford is probably already investing in VC funds. This just lets them cut out the middle men, particularly considering they are required to invest along side other VCs.
Experimenting with Verbal Expressions
As developers we might need to work on not taking bugs and criticism of our code too personal. I know I feel that way sometimes, when bugs or bad design is found in my work it is easy to get defensive and take it is a personal attack - which usually is not a constructive approach.
I think "shit code" usually falls into two broad categories (or both). Either the developer has a poor understanding of the problem they're trying to solve and comes up with something that is a massive hack/barely works (see: workaround oriented programming) or it was written in a style that the person reading the code considers "stupid" or "outdated" (this would fall into the legacy code category).
Correct horse battery staple comes from https://xkcd.com/936/
This is exactly why our company stopped focusing on our Paypal integration and started focusing on other gateways, such as Stripe and WePay. We had built a really great Braintree gateway, but they to came out with a policy against crowdfunding.

As far as I can tell, you can still get through and/or avoid messes like these by communicating with the gateway up front in order to get permission. Robert Space Industries did this with Amazon and Paypal before launching. They were forced to provide much of this documentation, but in the end, it helped them avoid any major hiccups.

Of course, IndieGoGo should be working with merchants to help them through this. If they are going to be the intermediary between the crowd and the company, they should do the same when dealing with payments. Sadly, all of the major crowdfunding platforms lack in this regard.

If you're thinking about crowdfunding and are nervous about being shut down, I recommend you run either as donations or pre-orders. In the case of the latter, you are best not taking funds until the goal is met or you've reached a certain development milestone.

I do think that this sucks for crowdfunding in general, but perhaps it will curtail the money grab that has been in place for some time.

And of course, if you want to have as many options as possible, check out http://IgnitionDeck.com. A WordPress install and you can have your choice of gateways.

Good luck to the Mailpile guys. I recommend providing this information. It will be good to have in the event that an investor knocks on the door.
Actually when I say "code is shit" I usually just mean the code. Often times I find it's my code when I look back, it's still shit though.
This article is shi*t
It's probably carefully tuned to calculate the raw probabilities and it also forces the player to reveal his cards to run statistics on his style. That's why it's the limit version. This machine has no chance in a classic no-limit texas where the opponent may be only profiting from large bets unjustifiable in expected value most of the time with very little style statistics.
First mover advantage. Germany's early embrace is going to look pretty smart, in retrospect.

Ditto Google's early drive for lowering watts per flop in their data centers and seeking lower costs of energy.

GDP (economic growth, however it's measured) has tracked fossil fuel consumption. Some smart people are working to decouple the two.
You are joking, aren't you?

You are telling me that nobody would program a secret algorithm, standing to win loads of money, to tilt the chances at the right moment? Because it is illegal!!!? Ohhh! Illegal! Surely nobody does illegal things? Not in a casino, not in a company, not in a government ...
> Indulge me in a flight of fancy [...]

This is the same Paypal that fucked Wikileaks over. I don't think they should get the benefit of the doubt.
Can't say I particularly trust them.
and of course, paypal only discovers all that risk when there is a lot of money on the hook? And their only action is to make a move that's hugely profitable to them ?
Because now customers are charged (they won't pay by another mean) and the company is dry.
> I've come across various programs which aim to manage this for you by keeping all the files in a subdirectory and then installing or linking them into their appropriate places. None of those programs ever really appealed to me. They would require a ton of dependencies (like Ruby and a ton of libraries for it) or they would require me to remember how to use them, which is difficult when really for such a task you rarely use the program.

Ever heard of shell scripts? This is what I use: https://code.google.com/p/aram-dotfiles/source/browse/make.u...
I'd like to know at least one of these "1000 different reasons" why this could happen. Because I can't think of a single one, and nobody else has given me any....

You would have to ask someone who does this for a living. iOS and Rails developers are not qualified to speculate. Next time you ask "how stupid could they be?" the answer is "smarter than I am, apparently".
SQL queries kill website scalability
Some learn to like bad design. One of my friend was arguing with me that it was bad design that you could change your skills easily in Diablo 3; that the permanence with which you could fuck up your character in Diablo 2 was better.

Now there are many ways in which Diablo 2 is better than Diablo 3, but that is not one of them, unless your believe that Diablo 2 was made to require walkthrough, wikis and external tutorials.

Minecraft and Dwarf Fortress aren't exactly the same thing as Diablo 2; the complexity and lack of meaningful tutorial is intended right from the start. As for the UI... At least in Dwarf Fortress, I don't think it's bad once you get the hang of it. It's not well designed for beginners and its lack of micromanagement tools is clumsy in early game, but it's very efficient for late game.
Interesting reading: the Paypal Pre-sales Policy

https://www.paypal-businesscenter.com/content/presale-policy...

In particular I like the bullet point under "I’m a legitimate business selling products and services in advance. Why do I have reserves on my account?", which is lengthy, worth a read, and which you'll have to click to expand.
I had the same thought. Unfortunately, the article doesn't make it crystal clear how much information the neural net uses to bet against you. It would be patently unfair if it actually knew your hand. According to the article, this is not the case.

I suspect it does perfectly count cards that it has seen in its hand or community cards. This seems okay as well-trained human players can do the same. I suspect the machine would get even more play if this were obvious, maybe if it played at a table with a real dealer and could read community cards on the table. The technology to do this certainly exists.
The first AP Computer Science MOOC with in-person support.
> the code is usually not particularly shit

I'm sorry, but yes, it usually is. I've been in this business for over 25 years, and I'm one of the few people that actually enjoys the challenge of dealing with legacy code.

But most of the code I've seen is shit. The answer to the question "could it have been done better" is usually "yes, if it had been done by someone who understood the basic principles of the paradigm they were developing in and the tools they were using to do it, and actually gave crap".

The difference between shit code written by shit coders and less than optimal code written by good coders dealing with constraints is quite clear.

I completely agree with the point the author is trying to make about the attitude problem, especially amongst coworkers, but let's not gloss over the fact that halfway decent code written by competent developers is still very, very rare.

Most code out there is shit code. Denying it is not going to help either.
I love the fact that the CEO and an intern can work together on a project at Yahoo.
> What irks me is that every OS in use today has support for strong cryptography and browser vendors could easily integrate that. We would no longer register for a website, we would simply upload our "Online Identity" or whatever we called it. This of course is just an id_rsa.pub with maybe name and email in the comment. The remote site stores the public key and the browser authenticates using the private key, stored securely in the keychain.

Like SSL client certificates?
Could the anonymity of tor users be compromized by these presumed bots ? As for bitcoin which could be subverted if one users holds more than 50% of the bitcoins.
To be fair, how could we know whether or not the spying was unconstitutional given nobody could sue over it because it was a secret program that by its very nature went unacknowledged.
It would have been much more impressive if he were to execute a non-stop trip making use of the recently revealed battery swapping technology. Is there some reason why they can't yet install them alongside all interstate Tesla superchargers?
"cargo cult science" Um, no, unless you have decided a ton of empirical peer reviewed journal articles are written by cargo cult scientists?

the same general argument you make can be said of PCA ... but it works. We know it works becuase it can be used to predict the real world.
According to Wikipedia her kid is less than 1 year old. It's tricky to involve them in your interests at that age :)
I can just about get my 5 year old interested, but my 2 year old is more keen on pressing the off button on my laptop.
I can mail money directly to someone if I don't want to deal with a bank or payment processor. FedEx/UPS/USPS are the Internet in this analogy.
charging electric cars ain't free.
Ya, that's actually something I've been meaning to pull out, although I don't think it really matters all that much if people know what hosts/usernames I have.
I haven't been to the Hacker News homepage for a long time since using hckrnews. Its such a nice way to get a quick overview of the day.
If he wasn't already dead, seeing this logo and reading this post about the CEO and intern with their hands on an Illustrator file would probably give Steve Jobs a stroke.

I can just about hear his voice: "This is shit!"
Yes, this is why so many social science correlations break down after they get published.
I completely agree with this. Building HTML5 games - and you can get competitive levels of graphics and so on - is a great way to be able to target the Apple, Android and even the Chrome store. You can easily make a shim that launches a WebView window.

It also allows for playing online as said.

WebWorkers, however annoying to debug, raise an interesting speed-bump to cheating too. Here's a WebWorker wrapper script that lets you run (a single) WebWorker in-process instead, for debuggability: https://github.com/williame/ludum_dare_27_snowden/blob/gh-pa...

With the new Audio API and webRTC, plus the WebSockets, things are bright.
I think you aren't taking into consideration the differences between this and the competition. The Tessel is intended to be a powerhouse right out of the box. For example, 160MHz compared to <20MHz, and 32MB of flash and RAM compared to 32-256kB.
I definitely see your point! It seems to be designed to address part of it, however. Raising $500k first would seem to suggest the business has merit on its own. I'm sure it's more nuanced than that in practice, though...
And at least as importantly, people outside the judicial branch aren't legally empowered to determine the constitutionality of laws. Allowing the executive branch and its employees to treat laws as unconstitutional, all on their own, would open up a ridiculously large can of worms.
Reducing Developer Friction on Embedded Projects
If a driverless car goes wrong, it's very unlikely to kill more than a double-handful of people.

A 5000-ton freight train capable of barreling along at 100km/h while carrying 50 tanks of propane or anhydrous ammonia or similar is an entirely different risk case ...
I had been asking myself the same question over the last few months, maybe even longer. The final selling point for me was lines of code, caused by the feature-richness of Scala. While implementing a few generic data collections and algorithms I need for my project, I realized that in Go this resulted in much more code than in Scala, or I would have had to sacrifice type safety by declaring everything an interface{} (sort of Go's version of a "void pointer" for C guys). I now have solved this by using Go as my favorite "scripting-like" language because it is so easy to bootstrap something there, and it is nice to quickly build efficient binaries and even wrap a C library. But to manage huge code bases and projects, for me the choice in the end became rather obvious. Particularly, with respect to all the magnificent capabilities starting from generics (~ C++ Templates), to higher kinds, the coming macros, etc. that help to create succinct DSLs and the general benefit "FP && OO", over "FP || OO", in the end made this decision obvious to me. And I have not even touched the issue of the gigantic collection of Java libraries and frameworks you automatically get by choosing Scala...
FBI, NSA & PRISM vs Data Security & Privacy. But what about my CRM data?
It's NOT free, you paid for a very expensive battery upfront.
Programming Epiphanies
It's the first link in the footer.
In addition to vukmir's suggestion of Robert Sedgewick's Coursera video lectures (which have some animations to help visualize the data structures operations), I find "The Algorithm Design Manual" very useful for interviews. The chapters dealing with data structures are concise and contain just enough information to be useful during an interview.
I almost never look at somebodys code and think it's shit. Sometimes I think some ideas are not the best possible ones in given context. But I almost exclusively think "this is shit" while I'm looking at my own code. And I agree that that feeling is a problem as it often destroys my motivation to finish what I started.
Although I enjoy sitting around on Sunday and getting up-to-the-second updates on all of my players, I do wish I had played fantasy football back in those days. It just feels like we're spoiled today.
February 2014.
The laws and regulations revealed in this document will be important for targeted action on issues. Whether it was obvious to you that the government was harvesting data on its people for years, we cannot fight what we have no evidence about. With this release, we can actually pick out the laws that we have an issue with, and target them for debate.

> our government should be doing what it can to boost our economy in a long-term fashion while ensuring our freedom and safety. If that involves an overreaching security group, so be it.

If you trust the government with that much power I suppose this whole issue over surveillance seems quaint to you. Most people however would like to have some input over the powers wielded by their government. Something about a 'for the people, by the people' type thing.
Surround Yourself With Genuinely Good People
The article says the machine can't be beaten. And then points out that a pro has consistently won against it.

This article is filled with bold claims by people that want to sell the idea IMHO. I'm not buying it because even limit texas Hold'Em has never been solved mathematically by super computers, let alone a single machine. Limit Hold'Em is close to being solved but if you check out the last match of pros against a supercomputer you'll find that it's close, but the computer is not a clear winner: http://poker.cs.ualberta.ca/man-machine/Competitors/

I'm just not buying it. Can it beat the average player? Probably. Pros do it everyday. But can it beat a pro consistently and claim a clear victory over humans? To be determined.

Edit: I found a take from High Stakes Limit Pro Anthony Rivera on 2p2: http://forumserver.twoplustwo.com/showpost.php?p=29762774&po...

His stance is that it's probably a break-even situation where you are basically playing another pro, and that he'd rather be playing craps. I guess they really have made a great machine. :D
WSJ | Ignoring Social No Longer an Option for Entrprise Risk
Seriously Linode? 30 minutes of data retention on the free version? You could have at least set it to 7 or even 3 days. 30 minutes is not nearly enough.
Wow, I'm really surprised by the amount of snark on this thread aimed at mailpile. They are following IndieGoGo's standard process. For PayPal to take exception with them and single out their funds is ridiculous. If PayPal wants to start requiring IndieGoGo campaigns to submit business plans, they should work that out with the site, not an individual campaign, and certainly not after the whole thing is funded. This is not Mailpile's fault for following procedure.
Calling it open source is a bit dirty. The data slurping part is, but their stuff on the other end is completely proprietary and paid.
Like it has been said a gazillion times already, you can get paid in USD if you want to (using Bitcoin behind the scenes). You get the same benefits as a merchant (no chargebacks, easy implementation, ridiculously small fees, countries: All), and without the annoying x10 yearly gains.
Looks like I might end up working Cap'n Proto after all. I've no experience with 0MQ, but it seems if Cap'n Proto's RPC is designed flexibly enough it would at least be able to support exclusive pairs as described on 0MQ's Wikipedia page [1]. I'll try to keep it in mind in whatever proposals I have w.r.t. the RPC design. Thanks for the suggestion, Ben!

[1]: https://en.wikipedia.org/wiki/%C3%98MQ#Technology
> I'd recommend you be careful about becoming over-complacent.

Absolutely. Indeed, I'd characterize us as actively paranoid. My point was merely that we're already operating at a scale that needs pretty good fraud systems.

(I think we're mostly in strong agreement.)
I still love it when you find some "shit" code, just to realize you wrote it yourself ages ago.
I'm not sure if I see any features worth paying for.
Pointless. They had no data on me. Now I've given them more than they ever had on me and their "opt-out" maze doesn't delete my info. face-palm
Whoa there. Paypal loses nothing to fraud. Just like all the other middlemen, Visa, MC, etc., they shift their losses onto the merchants.

The way this works out is that Mailpile files an answer to Paypal's RFI, Paypal reviews it and says something like "There's a 90 day hold on funds deposited to your account until you can demonstrate that you aren't high risk", Mailpile complies and everyone walks away happy.

(Background: I'm a Paypal merchant and we're processing close to $30m/year through them. Over the years I've paid Paypal hundreds of thousands, if not millions of dollars, in chargeback fees, fraud fees, Visa fines, etc.)
That's interesting! But isn't there any delay between currency exchange and an exchange fee as well?
On the seventh day he shall rest.
Yes, but you don't necessarily miss out on those things by not going to a regular school.
Making the Leap to Require.js
Dated "13 Jul 2013". I'm curious what Linus was like before he created Linux.
> there's a ruby gem that only works on MRI but doesn't support jruby

Works as well as any other MRI extension, which is to say pretty well:

jruby-1.7.4 :001 > require 'scrypt'
=> true
jruby-1.7.4 :002 > SCrypt::Password.create("bla")
=> "400$8$2d$096ac4e8a120a4f9$d1e13bbfa387196d68f116d76ae23d0d3ffa39c891192a56832db0a1d8f6a8ec"

Yay for ffi.
Relevant (not-XKCD) comic: http://www.osnews.com/story/19266/WTFs_m

I'm not opposed to calling out shit, even in my own work, but you ought to be able to explain the smell, even if it's something silly like curly brace location. (Ideally it's shit for a better reason... there usually is.) Besides if a rant doesn't immediately follow the declaration, you can't really claim to care all that much. If you're working on the Linux kernel and get flamed by Linus consider yourself lucky! It's because he cares. (And thinks there's still hope for you to do better.)
I don't mind the rantless half-hearted calls of bullshit either; rather than leading to everyone feeling bad and trying to feel less bad by trying to make other people feel bad, I think it would sooner lead to more cynicism with insults and less taking offense and feeling bad.
No, but using the Tesla Supercharger stations is free for Model S owners.
I don't think so. It looks like these bots are connecting as users, not nodes. It might be possible to use these bots to increase/control the load on tor which may be able to facilitate an attack based on controlling a significant amount of nodes.
Don't be foolish, the government can quite easily enforce a requirement that you install their spyware on your devices.