skysight-inc/HackerNews huggingface dataset:
I've long thought that people should start at the edges and move towards the middle. Start with an assembly language for exposure to the guts of the machine, and with something like Scheme for the theoretical stuff. Then work your way toward the middle with more common languages like C or Java or Ruby or whatever.
This; a few other especially inexcusable oversights that result from ignoring C99:

- telling students to make up types like Int32 or Int16 instead of using the fixed-width types defined in <stdint.h>.

- Claiming that // comments are "not technically part of the language".

- "C does not have a distinct boolean type."
Yes, and it requires quite a low-level understanding of the architecture to "think GPU". SIMD, warps, blocks, threads, different memory types, no branching/identical branching per core, ... Some of this could probably be abstracted away but you definitely need to be aware and adjust algorithms appropriately. You can't just convert code and hope for the best, unless you just want a slow co-processor.
That's obviously a bug. Try restarting OS X or the dock. Already had some memory issues with the Finder, restarting helped.
Erlang programmer’s view on Curiosity Rover software
It would probably be easier to write a new editor (in a different language) from scratch with a compatibility layer for TextMate bundles.
Thanks for sharing. The first article is really interesting. The author worked 3 months as an intern at Google, and his much under-appreciated works saved Steve Yegge's Grok team that has been struggling for years.

EDIT: Found another gem from the same author: http://yinwang0.wordpress.com/2012/04/09/reinvent-y/

> Today I found that I forgot how to derive the defintion of the Y combinator. I learned it several years ago from an online article, but now the search term “Y combinator” gives me all the news about startups (sigh).
Aren't there any random corn eaters here? Shudder not, I just bite around on the cob until all the corn is gone.
>No, the only real solution is to provide a meaningful warranty with software (rather than typical "no warranty" clauses).

Here's just a brief list of the problems I can think of off the top of my head.

What about paid beta software?

What small part-time software developer is ever going to release anything if he is legally obligated to provide support for x number of years.

Does some kid who bangs out a lolcats viewer for iPhone need to provide a warranty?

Who's going to make up the regulatory body that governs this? Ex industry people like in every other regulatory body? Guess who this favors --big companies like Microsoft who can easily afford regulatory compliance.

Software is inherently more complex than physical products, the vastly different hardware configurations of consumer PCs make it impossible to test everything. Manufacturers will only guarantee that the software works on x model Dell Desktop, and stop offering support for anything else to avoid regulatory problems.

Software is much faster moving than hardware, lack of regulations is one of the reasons.

The biggest problems consumers have with software is malware? Do you warranty against active destruction by a third party (like a car manufacturer providing a warranty against someone keying your car)?
An example: http://maps.google.com/maps?ll=52.318875,4.976646&spn=0....

#trees per person probably is a better metric. Band-filtered population density, as that filters out high frequencies due to local peaks and low frequencies that denote average wealth of a larger neighborhood, may be an even better one. I guess that might even work for extremely high-rise building as in Dubai. Firstly, the lower floors in such buildings typically are offices, and secondly, I guess the really high buildings will stand less close to other high buildings than the lower skyscrapers that surround it.
I'm already getting allergic to the term. Every couple of months there is a new term for the same thing to fuel a new hype cycle (machine learning, computational intelligence, data mining,...).

Not that it isn't an important thing, and certainly more and more data is becoming available. Now lets get back to work.
As a marketeer one of my rules of advertising is to ask myself am I giving something to my audience. I see to many ads that are based on what the advertiser wants only. To give something can be a prize, a laugh or an interesting fact etc. There are no limits or rules here. But I want them to leave my ad having gained something from their POV. IMO this makes the best advertising and is a good healthcheck point when you review your ads.
If you were at Google in July-August 2011, you'll understand this: Google just does not get Games. The leadership DNA to understand the space is not there. There are people who understand the problem and could make Google Games great, but they are not in decision-making positions and probably never will be (design paradox).

If you think about it, the mismatch is easy to spot. Google made a great product (web search) by being ideologically non-editorial, but you need to be editorial in the gaming space, and you need to support the indie developers who are where quality comes from. The problem, at "Google scale", is that you also need to figure out a process and strategy that enable you to be editorial without micromanaging every decision (because you can't).
And Sublime Text 2.
Negotiations for a 2014 WIPO Broadcasting Treaty Are Back
Or bring the GNUstep framework on par with Cocoa. Would be many years of work in either case.
Q: What's better than being a multimillionaire?

A: Not being Mark Pincus.
What a BS, instead of putting people in boxes because of their sex or race, let's put them in a box because of their Masters degree.. I bet that if you take 5 CS grads you get 5 different management styles. (for posts like this I need a downvote button..)
Actually, the proper metaphor is that Zynga is Facebook's tapeworm.
My god, you make it look as though using vim is a goal for a programmer. While the actual goal is to use something like vim to do a job.

The original argument is modern day editors aim to automate most recurring demands of a programmer out of the box.

The point in most pro-vim/emacs arguments it to make you take the most difficult route to achieving text manipulation tasks. Hoping that will make you good at text manipulation over time. While the point is you are trying to gain a expertise which you don't need.

Going by that argument you don't need any kind of an modern GUI ever. Why ATM's? Why graphically friendly email clients? And you could go like this for nearly everything.

You need modern editors because you always need to take steps forward in the usability game.
How do you provide a warranty against someone actively trying to destroy something?

Doors don't have guarantees against someone kicking them in. Cars aren't covered against someone putting sugar in the gas tank.

What counts as a vulnerability?

How can a regulatory body possibly decide what was a "vulnerability" they should have known about and what was something unforeseeable? I guarantee you there isn't always clear line between the two.

What about when the vulnerability is exploited by a government who has greater resources than the software vendor?

Does Microsoft have to pay out on a claim when damage is caused because a certificate is forged by the US government?
I think this is a neat article, but guilty of over-analysis.

Perhaps Zuck takes his mission too seriously, and Pincus doesn't take his seriously enough. Or perhaps Pincus is smart enough to cash out while he can.

Either way, entrepreneurs approach business differently from each other. Nothing extraordinary about that.
> This still doesn't successfully counter the statement that C is the best language to start with.

I wasn't actually trying to refute that statement above; I was responding to the specific arguments used to support it.

Anyway, I agree with the other poster who replied to you: Pick a language with a REPL, as instant reinforcement of concepts is essential to ingraining them into the mind. Having a longer turnaround time means the lesson gets diluted by being interleaved with too much process (save the file, build the program, run it, look at the output, consider it, etc.).
I went back and read the source paper carefully, and realised this was a mistake on my part. The relevant study:

http://www.ncbi.nlm.nih.gov/pubmed/10217054

----

After adjustment for age, smoking, and other potential CHD risk factors, we found no evidence of an overall significant association between egg consumption and risk of CHD or stroke in either men or women. The relative risks (RRs) of CHD across categories of intake were less than 1 per week (1.0), 1 per week (1.06), 2 to 4 per week (1.12), 5 to 6 per week (0.90), and > or =1 per day (1.08) (P for trend = .75) for men; and less than 1 per week (1.0), 1 per week (0.82), 2 to 4 per week (0.99), 5 to 6 per week (0.95), and > or =1 per day (0.82) (P for trend = .95) for women.

----

At face value this seems to imply increased relative risk (1.08) of >=1 egg per day, and that's what I concluded. But reading the results section of the paper, I came across this:

----

Because of the relatively strong correlation between consumption of eggs and bacon, we further adjusted for bacon intake. The adjusted RRs across categories of egg consumption are less than 1 per week (1.0), 1 per week (1.00), 2 to 4 per week (1.04), 5 to 6 per week (0.78), and 1 or more per day (0.93) (P for trend=.36) for men; and less than 1 per week (1.0), 1 per week (0.81), 2 to 4 per week (0.96), 5 to 6 per week (0.91), and 1 or more per day (0.78) (P for trend=.73) for women. Additional adjustment for other foods including whole milk, fish, beef as main dish, chicken, or cereal had little impact on the results.

----

So it looks like 5-6 eggs/week actually resulted in the lowest relative risk of heart disease, at least when the effect of bacon is accounted for. >=1 egg/day resulted in lowered risk as well. It's quite telling that bacon raises the relative risk significantly while meats, milk, and cereals did not.

So, sorry I posted misinformation, and thanks for pointing this out. I hope this post helps elucidate the current state of research for anyone reading. I'm actually happy, because I've been eating 5 eggs/day on-and-off lately and was reluctantly considering reducing my intake. Now I get to continue eating dem eggs! (At least, one or two a day...)
I don't mind that people are interested in bodybuilding/fitness, but if it's positioned as a replacement for traditional nutritional science, that's not the main goal of nutritional science. And personally it's not my interest: I don't really care about bodybuilding/fitness, but I do care about minimizing my risk of serious health problems. It's not clear to me that the two goals even result in the same recommendations; it's quite possible that there are diets that are good for short/medium-term muscle building which are not good for, say, long-term organ health. At least, I would want to see scientific evidence one way or another.
/Their/ most famous app?!

This is "their" app: https://play.google.com/store/apps/details?id=com.mstream.et...

This is the /actual/ Easy Tether app: https://play.google.com/store/apps/details?id=com.mstream.ea....

So not only is this developer a hack, they're also a thief.
Exactly. I think this blog post is an example where you can find whatever you want as long as you look for it.

Here's from Sweden.

Rosengård, one of the poorest areas in Sweden: http://imgb.mp/izU.jpg

Västra hamnen, full of expensive "eco-friendly" model apartments: http://imgb.mp/izV.jpg
Then why not fix the spam problem instead of ditching the section? That's like cutting off your arm to save a finger.
This gets at one of the reasons I like Common Lisp: Common Lisp allows you to program at a high level and then stepwise refine your program to make it more efficient, such as by adding type declarations, adding other declarations, changing your data types, and, at an extreme, changing your algorithms to run without CONSing (that is, eliminating dynamic allocation and garbage collection), not to mention whatever your specific implementation provides as an extension to the standard.

Most code can stay fairly high-level, but the tools are there and a standard part of the language if you need them.
> Now, try getting fat eating nothing but fat+protein. Hard, but much easier than just protein.

This one isn't hard at all. I unwittingly gained a bunch of weight in one period because I was busy at work and too lazy to make proper food, so I just ate a lot of peanuts as snack food, 'cause I'd heard they're somewhat healthier than other snack foods. Peanuts are basically nothing but protein+fat, but I gained a bunch of weight because they're so calorie-dense (one 8-oz bag has like 1500 calories). I'm not 100% sure, but I think the fat+salt aspect might promote overeating; I can't imagine eating enough walnuts, say, to gain weight, but I can munch on salted/roasted peanuts all day.
What does "All non-compiler languages are ad-hoc." mean?
I wholeheartedly disagree. This is like complaining about the mars mission saying that their pictures are not HD enough and they could do better. No they couldn't and they would if they could.

Well since I'm already downvoted I'll just finish this rant. Comments like this frustrate me, why would you just assume something could be done better just because it is easy to do? Everyone read how Github works, it's a collective of programmers that assign themselves tasks, anyone at github could for themselves decide to implement this feature. No one did, obviously they've got something better to do! Don't tell me every employee at github is an evil corporate overlord that wants to vendor lock the world into github.

They make the best source control repository in the world, and you should unequivocally laud them for that.

Frankly if you don't, I think you're a bit of a retard, so that brings me to the linked article. It makes no sense at all. Github does nothing fundamentally wrong, and it is not incompatible with how he or anyone else uses software.

If a project requires you to submit a pull request via github, how is that different from a project requiring you to submit a bug through mozilla? It's just not. If you think you and your patch are so important you shouldn't be bothered with pull requests, why don't you just fork and put it on a repository somewhere else?

As if e-mailing patches to people is somehow more effective at getting them to merge code. As if git am is somehow a fundamental property of git, instead of just some feature Torvalds hacked onto it.

I would like to rant about more invalid points he makes about github being a 'reimplementation' of git, but he doesn't make any other points.
It may be the case that in some weird domain squatting affiliate marketing universe, someone would be able to make money from basecamp.com if 37 signals still ran things on basecamphq.com, but are you honestly saying that if they weren't, then Atlassian would seriously be interested in buying basecamp.com for some nefarious purpose? That they'd have been able to somehow prevent basecamp from becoming the dominant player it has by redirecting basecamp.com to the Jira homepage so that people would try and find basecamp.com then just think "fuck it, well I'm here now, I'll just use this".

I don't buy it ... do you have any actual examples of this having happened?
Good ol' factory Apple earbuds morning, noon and night.
And hence GoDaddy's superbowl ads.
C is an excellent first language when teaching in a CompSci type environment.

If the students are of a different discipline (not aiming to be CompSci grads) or much younger then i think there are better choices e.g. Python.

In a CompSci academic setting i think learning assembly first (that is first programming language but in parallel with the other classes such as computer architecture etc.) is also a valid approach.

Programming from the Ground Up [1] is a very accessible introduction to x86 ASM and even supposing you don't go any further than the examples in this book, you'll still feel the benefits.

[1] http://ftp.igh.cnrs.fr/pub/nongnu/pgubook/ProgrammingGroundU...
>the enterprise software industry

Not just one company. IM apps alone may have saved trillions.
you lost me at 'we use FB to validate your identity'
I agreed with most of the article, but the last paragraph is really silly: "ultimately, services like github and sourceforge are just fads, with very little (I think no) added value."
""Crucially, consistent tools make it easier to switch languages. Devs would then be more likely to use the best language for the job. IDE authors can focus on presentation and editing. This leads to more configurability, scriptability, accessibility in languages.""

I am a (sometimes reluctant) polyglot programmer. Sticking with a single IDE product line (I use IntelliJ, RubyMine and PyCharm for some consistency across Clojure, Java, Ruby, and Python development) helps a lot. Eclipse is another great alternative for a unified development platform.

At SAIC in the late 1980s, we had a small team put together for a job - we were all Lisp hackers and we had a great dev community built around sharing Emacs configurations. A lot of fun but our adhoc tooling would not scale up to a Google or Facebook size engineering infrastructure.
I think notepad is the wrong metaphor. Try BASIC.with programming languages we are all working on (to some approximation) Turing machines so a single language would be easy -- but w have many languages for different problem domains and target audiences.
A Ranker (webandrank) on Twitter
Top 10 but not top 5?
Interesting. while i agree having a language in the configuration is not optimal, it works a brilliantly the other way around. (i.e: a good way to get more people interested in a language.). Personally, i came across tiling WM on HN, along with haskell. and tried out. had trouble configuring or rather customizing configurations, tried awesome, but ended up on xmonad anyway, after doing 5-6 chapters of LYAH. I guess given i am a python guy, lua didn't excite me as much and ended up with xmonad + haskell. And oh, all of these took a year or so. I just recently went fulltime with xmonad.
I recently had a PR I needed to take and improve. Getting the repo URL to pull it was surprisingly difficult.
Exactly. For those who dont't like the learning curves of these editors, there are easy to learn and well designed editors like Sublime Text, Bluefish, Geany.
Python in 30 Days - Day 1
The fundamentals of Facebook’s business – even when it was working perfectly – are to ensure a steady stream of new users (often via M&A), to grease the user acquisition machine via advertising on just about everywhere, and to incent users to rope in their friends. This strategy depends on playing with copious amounts of capital to buy companies, ads, and promotions.

And this - "Facebook’s mission – to make the world more open and connected" is just hilarious (forgive me Louis :) ).
Any security implications? Malware running on the GPU?
Nothing is wrong with wanting to get rich. But there's a lot wrong with wanting to get rich no matter how it harms other people.

Also, I'm not sure I'd call him a Valley success story. Zynga is company number 4. The last three all made him some money without going anywhere. Like the article's author, I think Zynga is on the same path to long-term irrelevance.

Few in the Valley look back on the wreckage of Bubble 1.0 and think of those companies as success stories, however much they enriched their founders.
Bose IE2 for earbuds that I use with my phone and laptop.
Roccat Kave headset for my desktop headset.
If you're referring to Jobs as the last guy that had "Zuck's zeal", you need to get to get a reality check.

Jobs built multiple multi-billion dollar companies that redefined innovation. He (and his team) created the personal computer market, transformed it again 20 years later, transformed telecom 'overnight' while slaying RIM and Nokia with one swoop, and in many regards — introduced new childhood memories that will not be forgotten for decades, like Snow White's glass slipper. The MySpace abomination barely left a wrinkle in history's culture.

I'm not one to hate on entrepreneurs but Zuck has a long way to go. I feel like there needs to be a history book for new entrepreneurs who think the glorified web startup guys are Gods among men. Most of the Gods aren't socializing at this weeks Startup FunFunFun HappyHour Fest 5000.
I try really hard to not take a left vs right view in software design.

I sometimes build systems that are overengineered and I sometimes build systems that are underengineered.

I do believe that every line of code, every function, every class, every comment, every test, everything, is like a puppy that you have to take care of.

If a team adds a "dependency injection framework" that adds a parameter to each and every constructor in a system that has 800 classes, which that's a real cost that's going to make doing anything with that system harder.

I'm a big believer in "cogs bad" because I've seen large teams live the lesson.

From my viewpoint the perfect system is as simple as possible, but well engineered.
> There are at least two possible answers: not many people have asked for it, or to increase lock-in.

Watching Zach Holman's various presentations on Github and how they work interally provides a third one: since Github uses pull requests internally (and new githubbers are probably github users in the first place) nobody has any issue with not supporting `am` and `send-mail` there, so nobody went and built support for that.
Plantronics wireless headphones
I HATE the auth switch. Entering username and password is very irritating.
Thanks for the link, found a choice quote from there on page 234:

"If you are constantly looking for new and better ways of doing and thinking, you will make a successful programmer. If you do not seek to enhance yourself, 'A little sleep, a little slumber, a little folding of the hands to rest - and poverty will come on you like a bandit and scarcity like an armed man.' Proverbs 24:33-34"
This. Although I've gone through several pairs of headsets already. This is probably my fifth pair of Apple buds (just had a bunch of buying many Apple products) and I went through a couple Sennheiser branded ones too. I also owned a few over the ear headsets and realize I hate all of them (earbuds only moving forward). Will probably pick up another brand/set soon.
... and as of now, also by hacker news.
It's nothing compared to the pain of debugging in a language that doesn't have/encourage proper namespaces.

Ruby has Modules, but many, many common libraries do not use them. I had fun recently debugging a project that (through transitive dependencies) relied on two different "progress bar" libraries, both with a class called "Progress", and neither of which was namespaced. Namespaces solve a real problem.
For people that have never setup SSH, HTTPS auth is very simple. The latest Git supports credential cachers so you don't have to type the password in each time. I also personally love that the same GitHub URL works in the browser and through the Git CLI.

If you click the "SSH" button on GitHub repositories, it'll remember your preference.
if they get rid of that conduit.com BS I'll be happy
From the source: http://pandodaily.com/2012/08/09/pandomonthly-presents-a-fir...
OP isn't the only one who feels this way: http://www.wired.com/wiredenterprise/2012/05/torvalds_github...
That's my experience in a nutshell. The cost of doing a cudamemcpy() far outweighs the advantages for computationally small tasks. The surprising bit for me was what's classed as a small task.

Decompressing a 5MP jpg then applying various filters is too lightweight a task to benefit. I thought that would be more or less a perfect GPU task, not so.

Running on OpenCL, the CPU with vector instructions horses a small GPU performance wise for this problem.