skysight-inc/HackerNews huggingface dataset:
Western countries have merely professionalised corruption. Give a politician 10 lakh rupees in a brown envelope and it's a symptom of corruption, but donate $100,000 to his campaign funds and it's the sign of a healthy democracy.

Here in the UK, we are investigating massive corruption in the banking sector, the press and government. Every day we are seeing new revelations from the Leveson Inquiry on press ethics, or the Treasury Select Committee on banking. It would take a great deal of hubris to make any claim to the high ground.
Logo has been successfully taught to 4 year olds.

It has very simple syntax (lisp without parentheses), and the imperative style is easy to reason about. Direct control of the turtle has a lot of appeal-- probably more than making a text adventure.

[How to train your robot](http://drtechniko.com/2012/04/09/how-to-train-your-robot/) is a programming game that follows similar ideas.
oh, sorry, mis-followed the conversation.
It's an interesting debate as to when things should come off the table. My usual metric is that respected people start to refuse to talk about it - at some point topics just stop being interesting to them and that's the point that it generally means that it's over. If for no other reason than because you know no one is going to be generating new evidence as they sure ain't going to be getting any grants!

Crank science is different. I guess that The Media and capitalism are the problem. Homeopaths are probably never going to go away because there is money to be made, and The Media are probably going to keep reporting on it because it sells.

Perhaps there will come a point (like with UFO's) where interest will simply dissipate and it'll stop being a story.

Until then we have a problem - the process is the story, just like for AGW. Why aren't there grants for this? Why do wise professors simply dismiss it? What on earth are we doing supporting these massive drug companies with their expensive and somewhat poor therapies? We need to be aware that the processes of science (everyone I know thinks this is just uninteresting, therefore there is every reason to believe that anyone working on it is wasting there time - unless I have reason to think otherwise - so mehh) doesn't have the effect that we anticipate it to; so lots of careful, calm, open minded rebuttal based on cast iron facts and offers of changes of opinion if things can be proved other wise would be good.
But for theoretical CS I can't think of where Linear algebra would be useful. Abstract Algebra yes, but why Linear Algebra?

Linear algebra is a necessary piece of background for linear programming (including the simplex method) and or standard approximation algorithms for many NP-hard problems.

Strassen's algorithm for fast matrix multiplication is commonly taught in algorithms class. It does not make much sense unless you know what matrix multiplication is.

Also if you want to work in computer graphics (which comes up both in theoretical and applied problems) you will need a solid understanding of linear algebra and matrices to understand the material.

I could list more, but that's enough to demonstrate that linear algebra does come up in a lot of places.

(p.s. i read your stuff on kelly criterion a long whiles ago, top notch, thanks!)

You're welcome, and thanks for the compliment. :-)
Google's a huge company and some sectors of it work very well, and it's a great place to work if you land in the right place.

I think where Google screwed up is that it instituted a bicameral performance review system without understanding how to implement one. You can have a peer-review system or a manager-driven system. If you're doing things right, you have both and an OR-gate between them. People whose peers think they're doing great but whose managers don't recommend them can still advance, and vice versa. Conversely, to be demoted or fired, people have to fail both. The OR-gate system removes the career SPOFs that lead to degenerate behavior: managers can't exploit their position because people with strong peer support can still succeed at the company, and people don't avoid or shirk low-visibility but important projects

The problem with Google's system is that it has an AND-gate for promotions and an OR-game for demotions and firings, and that's a disaster. At Google, you need strong peer reviews (which largely comes down to visibility) to get promoted, but you also need to do well on a "calibration score" stack-ranking system (i.e. Jack Welch vomited, someone put a candle in it and called it a birthday cake) that is strictly manager-driven, extremely opaque, and often deeply unfair. (Google has historically had a problem of managers who abuse the calibration score opacity, giving low ratings to make it impossible for their reports to transfer.)

The downside of a manager-driven system is that managers can exploit the power, being career SPOFs. The downside of a peer review system is that people jockey for visibility and work that is important but not visible or "sexy" gets neglected. Google's AND-gate system delivers the negatives of both, but none of the advantages.

Google has some really great people, and in many ways, it's a really good company, but their abortion of a "Perf" (look, even the name is imbecilic) system is not one of their strong points.
Please let me know if this is unsafe, because I do it: on OS X I keep two small encrypted Disk Volumes for two classes of files that I consider confidential.

These are only 10MB each, and I realize that when I change a file in one of them, DropBox has to update a 10MB file.

Does anyone know anything wrong with this, security wise? (I just keep my own private files stored this way, not customer files which are only on my encrypted OS X FileVault file system.)
Yet another program that uses some of the vi keyboard commands that is not actually vi (and is thus only a cruel tease).

Why do these exist, again?
It has actually been mentioned quite a bit - https://encrypted.google.com/search?q=Tim+Cook+Gay

Maybe less than you'd expect, but quite a few people deemed it a big enough deal to mention.
Anecdote warning:

I'm not going to get the abstract unless you start with a concrete example and then head for abstract territory. "Learning abstraction" is memorization. Until you can tie it in to something real, the concepts aren't. Coincidentally, I suspect this is the difference between "computer scientists" and "programmers."
The RubyMotion Way
This is really quite germane: http://www.youtube.com/watch?v=86x-u-tz0MA. While she talks about writing, I think it applies to the kind of thing you are talking about here.
It's a big topic. To the author's point, the role of free time changes a bit once you have been able to plan your free time over a period of years rather than months. It takes on a very different rhythm.

Beyond that, probably the biggest single evolution was in my relationship to the work itself. In the early months and years I loved being able to go heads down on a project without ever worrying about the politics of the project or the organization: I was there to get the thing done. However, I am the kind of guy who cares about his work. Eventually I found this same experience to be dissatisfying. I felt that I was abandoning my children into a hostile corporate world with no one to look after them.

Moreover, as a freelancer you have much less influence over the product and the process. You're a hired gun. Sure, you can do a great job and collect a good paycheck, but if you love what you do it can be frustrating to have extremely limited input into decisions outside the scope of your contract.

Back to the author's very excellent point, I also found the management of benefits and finances to go from a source of engagement to just another hassle. When you are setting up your system, it's fun. When you are executing it, and occasionally screwing it up (taxes!), it's just another headache.
Yes, caste system is embedded in the culture. It is not purely economic/political in nature. It is used by politicians because it is there, socially. This form is racism exists so deep in India. You can witness this:

* http://en.wikipedia.org/wiki/Dalit

* India Untouched - http://www.imdb.com/title/tt1552060/

* India's broken people - http://www.youtube.com/watch?v=sxJr0UlcNTA

There is whole sect in India which is segregated, tortured everyday for being born as a lower caste and it does not even end with their death. They have to clean others' feces by their hands (yes even today) and this is considered a norm. Rich, higher caste still instill this in their own kids to be wary of the "dirty people". Kids born into Dalit families are reminded of this by not letting them eat with other kids, not letting them wear same clothes and being asked for their caste again and again. This system is kept alive.

This all still exists and is in abundance. Point to note is that this is not just in rural, uneducated parts of India. Honestly, the concept comes from Hinduism. As a major religion for centuries, it has a code-of-conduct by Manu to divide the society into 4 major parts. But now it is a part of every sect in practice.

It exists and it is social.
This much I know: Daniel Kahneman
> "deliberately hurting religious feelings and attempting malicious acts intended to outrage the religious sentiments of any class or community.”

What a bogus fucking law. Pretty much anything can fall under that. Christianity itself hurts my feelings.
I was really excited to look at the new collaborative IDE, unfortunately the requested link returned a 404 error. Bummer...
The reason I don't think this is just a "nerd dream" anymore is that general trends in the broader world are sharpening the need for really good cloud storage for everyone.

Like a lot of folks here, I'm sure, I've been thinking about this stuff for a long time. I built a peer-to-peer backup proof of concept in 1999, for example. (But knew, even while writing that code, that there bandwidth wasn't cheap enough for enough people for such a thing to take off.) The thing is, until very recently, my needs diverged a lot from all of the non-techies I know.

But that's less and less true. These days, most white collar workers depend completely on their computers (and phones and tablets) to do all of their work, every day. Corporate IT investment in "collaboration" tools like Sharepoint and Dropbox is large, and getting larger every quarter. Having access to your files, and the files that your colleagues share with you, and the various static resources your company maintains on your intranet, is becoming more and more important. So there's a clear business driver to build more sophisticated storage, access and sharing capabilities.

And, relatedly, many non-techies now use multiple computing devices every day. The laptop-plus-phone-plus-tablet user profile is the norm for more and more people. My sense is that iTunes Match and iCloud and various photo stream implementations are the special-purpose, walled-garden, leading edge indicators that this stuff will, eventually, get built into all our platforms and that we'll expect some level of interoperability between platforms. (Just as AirPlay is the leading-edge indicator that in a few years we'll all expect to be able to push video around between all our screens without having to use any wires.)
Can somebody compare celery to beanstalk?
Why Twitter’s Search and Discovery Features are Not Game Changers
Twitter announced a new set of features which enhance both search and discovery. However, these features aren't a game changer. Find out why.
Of course they are quiet. Religious moderates always quietly support the extrimists.
> "It's not sexist to have such words, it's just useful."

Less so now than in the past, but there are feminists who would disagree with you on that, and who do consider "waitress vs waiter", "actress vs actor" etc. to be sexist.

> "Colour does not matter, which is why our language doesn't have specific words for say a black waiter."

Actually our language does have some specific words for people of different colours, plenty of them are now considered racist. I'm sure you don't need a list of examples here.
"Dangerous hubris" is an extremely condescending phrase. Do you think the author does not realize that the type system is only sufficient in certain, very specific cases? That's exactly what he mentions at the very end--the reason he trusted the type system so much is only because he believes there is only one non-trivial, non-recursive implementation with the requisite types. He qualifies exactly what he means and, moreover, does not even defend his behavior. And that is "dangerous hubris"?

Also, there is certainly plenty of real-world code I would not like to write with Haskell--drivers, for example. However, it seems great for web-apps, which are very "real world" and, naturally, very important on HN.

In my personal experience, it's also surprisingly good for quick command-line scripts in place of Bash or Perl. Writing small scripts for automation and command-line clients for my existing tools was as easy or easier in Haskell than in any other language I've used.
Lame. You copy and paste between Hacker News and your twitter ;)
This isn't a criticism of India. People are reacting that way because they read a few paragraphs and came here to comment because what they read wasn't nice.

It's much more balanced than it's being given credit for, because it has the audacity to be honest about things like the fact that a lot of people in India are dirty. Let alone whether there actually are a lot of dirty people, people here are more interested in expressing their indignance. But as I say, it is more balanced than it appears. For example, the story about being hustled at the rug shop -- the author later notes that his mother did indeed get the rug. For example, the story about flipping out at the cab driver over a few dollars. There is no love here for the idiot Westerners traveling to India to experience "spiritual enlightenment".

But commenters don't want to respect his honesty. Just trot out the same old tired accusations of ignorance and cultural arrogance. Oh well.
I'll also add an "Eskimo saying" I learned from West Wing:

The best place to store extra food is in someone else's stomach.

Dave has built an incredible network in the valley. He's helped 100s of people form companies. Those are a lot of great bonds.

Is that not success?
I have no disagreement with your point. Of course a codified system of fees is preferable to one that is completely ad-hoc and based on bribes.

But police officers and other minor officials (IRS workers, etc.) are given tremendous discretion about which violations to enforce and which to ignore. In that sense, the US system is quite ad-hoc as well.

And since the people who interact most directly with police officers are the poor, abuses of power are less likely to be reported... yet we still hear of them all the time.

I view it as a continuum of institutional evolution, with the US perhaps a small notch or two ahead of India in creating institutions that are resistant to corruption. It's definitely not a night and day distinction.
This is why Hackage is full of junk and Haskell is unapproachable for real-world projects. Everyone's throwaway toy file is published as a package, and the useful well-documented packages get lost in the mix.
Heroku: a great place to demo, but keep your wallet handy
This post is a representative of everything that I both love and hate about Haskell:

1) It is certainly true, and I've had the experience many times, that "if it compiles, it's correct" applies frequently to Haskell. Even better, I've frequently written code for the first time, hit the compile button, and had it work first time - something that almost never happens to me with Java or C.
2) The huge, HUGE caveat to that is that it's only true for pure and sufficiently polymorphic code. If you're writing anything in the IO monad, or if you're using specific data types (e.g. Int, []) rather than writing polymorphic code, then all bets are off.

There's only one way (ignoring ⊥) to write the forward pipe operator (|>) :: a -> (a -> b) -> b in Haskell. If your code compiles, it's guaranteed to be correct.

There are many, many ways to write the isPrime :: Integer -> Bool function, which differ widely in correctness, understandability and efficiency. Once you move from type variables to concrete types, you open yourself up to many more potential errors.

There are even more ways to write the function deleteFile :: FilePath -> IO (), including but not limited to (i) deleting the file and doing nothing else, (ii) deleting the file and its containing folder, and (iii) wiping your entire filesystem. All of these would type check. Sure, you probably wouldn't make these mistakes, but the point is that the type system won't help you here any more than it would in <insert untyped language here>.

I think Haskell is an incredible language. It's certainly the language I have the most fun with, and I find its approach to parallelism, concurrency, I/O and state to be natural and appealing. But there's a real danger of overstating what Haskell is capable of, and turning off newcomers to the language in the process.
Set your working hours. Try to follow them, but not religiously. Having a batch of hours as free time is much better than being occupied throughout the day even for a 4 hour gig.

Yup. Very good lesson to learn. Setting hours for work is much more useful than timing when you work.
Specifically, it's more the "working someone else's schedule" than anything. Also, traveling to some other physical location. Commuting is a total drag, and it's nice sometimes in the middle of a project to postpone the shower until _after_ work that day and sit around in your skivvies in Get Shit Done mode until dinnertime.

Surely I can't be the only one who transitions from sleeping to awake with some crazy architectural change or refactoring in their head? I go straight to the keyboard and do it while it's all crystal clear in my mind.

The only time in the last five years I've _ever_ set an alarm clock is when I've had a doctor's appointment before noon.

Home is comfy.
The Art of the Comment: In Search of a Better Software Documentation System
Mophie JuicePack Powerstation: fast, high-volume charging for iDevices
Calculus: An Intuitive Approach by the late Morris Klein is pretty good too. I found it refreshingly clear!
I'm keen to know whether you ever expressed these concerns?

My recent (and limited in comparison to yours) experience is that as a freelancer demanding a certain wage my knowledge and feedback is taken in very high regard and if I feel something needs changing it has been.
Very classy move; not only did you release the source, you picked a permissive license (2-clause BSD) which means it can now take on a life of its own on in many forms.

Nice to see a dev giving back.
Still, most people would rather live with that restriction than move to Iran where you can have a congress about that but get executed for blasphemy.

The OPs point stands, people in the west are vastly more free in their expression than in most other countries.
"I'm confused. In my mind Dave is already a success."

Virtually everyone is a failure depending upon who or what they compare themselves to.

The odds against being a pro basketball player are astronomical -- everyone in the NBA is a huge success relative to those who didn't make it, but if they aren't Kobe Bryan, Lebron James or Dwyane Wade they may consider themselves failures. And even the top active guys live in the shadows of Jordan, et al.

I'm pretty sure this is the root of dmc's problems. The nature of his work has him surrounded by insane statistical outliers (some of whom are probably more lucky than 'good', though I'm sure there are both). His feeling like less than a success in this situation is unfortunate, but probably a perfectly normal human response.
What I'd Do With Bing If I Ran Microsoft
One of Google's great strengths is that it was founded by engineers, and the engineering DNA is strong in the company. Google has cultural problems as any large company will, but they're fundamentally different (and less damaging to a technical firm) than the kind that MBA-culture creates. You could take 10 random Googlers and ask them to do a startup and they'd probably build something awesome. That's not true of the companies where MBA culture dominates.

I think one of Google's weaknesses is that there's an unspoken mentality that engineering is for smart people and everything else is for people who couldn't cut it. That might be why Google has excellent engineers but incompetent PMs and middle managers. If you think that engineering is what smart people do and PM work is for idiots, guess who ends up making product decisions?

Another of Google's weaknesses is that there are places where the engineering mentality doesn't apply, and Google doesn't seem to get that. Example 1: the Perf system has those nonsense calibration scores. They don't add anything; they just add another SPOF. It's data collection for the sake of data collection. But it turns out, in the real world, that data can be harmful. It can be used in ways that are really disgusting. (That's why Real Names is such an issue.) Google never got that. Example 2: the 3-word mission statements were a really bad idea. Same with downslotting. Engineers are supposed to fly with crazy ideas and give demos when things are still scrappy and rough. But in management, you really can't deploy an idea until you know whether it's good or not, because it's going to affect peoples' careers, and if you deploy a shitty idea it's hard to backtrack and take it all back. Downslotting never should have gotten through the door.

Google has some excellent engineers and many of them are people I'd love to work with again, but the place is losing its culture. Google+ and the executive attitude exhibited on Real Names established that.
Of Course Apple Is Using AutoNavi for iOS Maps in China
> Sure, you can do a great job and collect a good paycheck, but if you love what you do it can be frustrating to have extremely limited input into decisions outside the scope of your contract.

This is a big one. I semi-solved it by becoming a freelance architect/netadmin. Engaging the customer before it's time to write code can help a _lot_. Be full service! (It's also more work = time = money, too. I like money.)
Learning to Hack: the Tipping Point