hacker news with inline top comments    .. more ..    5 Apr 2011 News
home   ask   best   8 years ago   
Why Some People Can Run on Little Sleep and Get So Much Done wsj.com
90 points by pkarbe 2 hours ago   42 comments top 23
7 points by jasongullickson 40 minutes ago 0 replies      
I'm glad that I finally have something (albeit thin) to point people to when they feel the need to lecture me about my sleeping habits.

As long as I can remember I've been happy with a mix of 4 and 6 hour sleeping sessions, two or three days of 4 followed by one night of more sleep (typically 6 hours) and then back to 4 hours again.

Under the recommendation of my peers and physicians I have attempted to do 8 hour nights but the results are that I feel worse in the morning, and each night I attempt to sleep 8 hours waking up gets harder and harder.

Over the years I've developed a few theories as to why I need less sleep than is recommended and someday when I get around to finishing my EEG project I'll gather some data to back them up, but for now I'm just making the most out of the extra time I have the same way someone with a different biological advantage might.

I will also mention that (as mentioned elsewhere here) there are definitely people at the other end of this curve who's performance is shockingly better if they get more than the "required" 8 hours of sleep per night, and I believe that we could all benefit by recognizing this fact and adjusting our cultural expectations to accommodate these patterns as well. I think with a little flexibility on both ends we'd see a significant increase in overall productivity and quality of life.

In other words "When hungry, eat. When tired, sleep." - http://users.rider.edu/~suler/zenstory/whentired.html

1 point by kls 1 minute ago 0 replies      
There has been a link to depression and too much sleep so much so that sleep deprivation is used as a treatment for depression where other treatments fail. It actually puts the patient into a manic episode.

It was peculiar to note that people who are short-sleepers also share a slight manic trait in their personality. While the article makes short-sleep cycles out to look like all sunshine and roses it is not all it is cracked up to be. I get between 2 and 4 hours sleep a night and on a good night I get 6. I have to monitor the sleep I am getting because if I allow myself to fall into a cycle of 2 hours for an extended time I start to have problems with my heart and abnormal rhythms. If the > 4 hours cycle goes on for more than a week I have to start taking medicine to sleep to ensure that my body is receiving an adequate amount of sleep. I see no negative affects if I get 4-6 a night, I never considered myself a short sleeper I just figured I have insomnia but never worried too much about it because I feel no different if I get 4 or 8 hours of sleep a night. On the plus side, I experience more life and get more done which are really the only benefits to sleeping less.

5 points by michaelcampbell 14 minutes ago 0 replies      
This reminds me of the studies not too long about how some very small percentage of the population actually CAN multitask well. Then a very large percentage of the population used that as "evidence" to justify their existing habits. I see it here already.
20 points by silverbax88 1 hour ago 3 replies      
I think it's obvious what we must do next. According to every science fiction film or book I've ever read, we must capture them, confine them and study them in an attempt to learn their secrets and duplicate it in everyone else.
5 points by lkozma 52 minutes ago 1 reply      
It's a false dichotomy, on a lot of hard problems progress is a step function, and you often "get much done" while sleeping. I.e. when you wake up well rested you see things from a different angle. If it's something like chopping wood, sure, the less you sleep the more wood you chop, within reasonable limits, but I don't think that is what these articles aim for. I think it's wrong to look at sleep as a waste of time the same way time spent thinking about something is not wasted either.

Here's some information I mostly agree with:

5 points by mbateman 1 hour ago 0 replies      
I've always wondered if this was mostly a psychological issue.

There are two circumstances in which I get less than 7 hours of sleep a night: if I'm really stressed about getting something done, or if I'm really excited about getting something done.

In the first place the lack of sleep exacerbates the stress and really starts to weigh on me. But in the second case it doesn't seem to have much negative effect.

Now if only I could continuously keep my motivation up...

10 points by bound008 46 minutes ago 0 replies      
I emailed the researcher, whose address was at the end of the article with the appropriate gene data (BHLHE41 on Chromosome 12) to see if my DNA is a match. The article said its a mutation, but maybe those with the mutation exhibit a certain codon pair. Its an amazing time when you can read an article about such a thing, and then cross check your DNA in a matter of seconds. Articles will have to start posting the raw DNA for results.
2 points by Vivtek 8 minutes ago 0 replies      
Candidate number two for gene surgery (my current #1 being that color vision y'all talk about so much).
1 point by shawnee_ 30 minutes ago 0 replies      
Christopher Jones, a University of Utah neurologist and sleep scientist who oversees the recruiting, says there is one question that is more revealing than anything else: When people do have a chance to sleep longer, on weekends or vacation, do they still sleep only five or six hours a night? People who sleep more when they can are not true short sleepers, he says.

The article didn't mention this, but the ability to wake up regularly without an alarm clock is probably another commonality short sleepers have. Although < 7 hours isn't something I can do regularly, I can't stay in bed, even if I'm a little tired, much past 6 AM on any day of the week.

"People need less sleep as they get older" is something I've heard a lot, but don't know. Sleep patterns seem pretty ingrained, and people with weird sleeping patterns tend to be either hardcore early birds (me) or unapologetic night owls.

5 points by Roritharr 1 hour ago 1 reply      
As someone whose blanket feels like its made out of lead every morning after 7 hours sleep i have to say: unfair. :(
3 points by Tycho 1 hour ago 2 replies      
Is this few-hours sleep business feasible when you need to think deeply about abstract things during the day, eg. programming? I can see it working if your success is tied to being energetic, on the ball, constantly negotiating, acting on information or leading lots of people. But what if you need to do the analysis yourself?
1 point by Swizec 34 minutes ago 2 replies      
Not saying that I'm one of the sleepless elite, but I seem to function best on 6 hours of sleep a day. Whenever I try to sleep more I just feel tired all day and when I sleep less ... well that depends on how much less.

For optimum energivity I find an hour of sleep is best, just enough to reset your cycle. But you can't do this more than once at a time, the next day the whole 6 hours are needed.

Don't have any idea why I'm like this, but I'm told that even as a baby I would often lie in bed for hours before finally falling asleep and as a toddler I would wake up at 5am because I was put to bed so early. Nowadays a healthy 4am to 10am schedule seems best.

Oh and anyone who doesn't want to sleep as much as they should, meditation is a great way of doing it. I managed to shave 2 hours off of my daily sleep need with 10 minutes of meditation ... so essentially I averaged 4 hours a day, for something like 5 years before I got out of the meditating habit for varying reasons.

3 points by mzl 51 minutes ago 0 replies      
I used to know one of these short sleepers. He had never felt the need to sleep more than about two hours per night, and did so for his whole life (which was respectably long, no noticeable side-effects from the exceptionally short sleep). He used a lot of the extra time to run a small local business, interact with customers during the day and do the administration during the night.
13 points by codedivine 1 hour ago 1 reply      
The article is mostly content-free.
2 points by olliesaunders 1 hour ago 3 replies      
Damn you, science! I've read so many studies saying there's absolutely no way you can get by without at least 7 hours sleep and now you tell me that that completely doesn't apply to 1-3% of the population?! That's actually not that small of a percentage. How big were the sample sizes of all the other studies? Did nobody encounter at least one of these low-sleep requiring people? Maybe they were just eliminated as being an anomaly.

I've met some of these people who insisted they didn't need much sleep before and now I seem like an idiot for telling them that it they would probably feel better if they got more.

This is fantastic research, I just wish it had been around 10 years ago.

1 point by ComputerGuru 1 hour ago 0 replies      
Hmmm.. Something I would think I could relate to, but we all know (a) how easy it is to convince yourself/diagnose yourself with something, and (b) how we would all love to consider ourselves from this group. So I'll just let this make me smile a little and leave it that :)
1 point by Tharkun 30 minutes ago 0 replies      
I have to admit that I'm a bit confused here. 7-9 hours seems to be the "normal recommended" range, and under 6 hours puts you in the short sleepers category. What does 6-7 make you? Irrelevant to the research?

Many people make the mistake of oversleeping on the weekend and undersleeping on working days. I try to average 6.5hrs every night, weekend or no weekend. Just being consistent really helps in keeping the energy levels up imo.

2 points by keyle 1 hour ago 1 reply      
Lucky buggers. Technically since time is money, that could make them 16% richer than most of us (assuming they sleep 2 hours less).
1 point by nhangen 49 minutes ago 0 replies      
Jon Gruden, former NFL coach and Monday Night Football analyst is one of these. He goes to bed late and gets up as early as 3-4 AM.
1 point by pstack 1 hour ago 0 replies      
No sleep is a feat I could pull off regularly when I was younger. It was no problem to go 48-72 hours without more than just a catnap or two. That was a decade ago. In my early thirties, I struggle beyond the sixteenth hour, except for rare occasions.

Fortunately, I think it's a sort of bell curve. From what I understand, I'm only about fifteen or twenty years away only getting a couple hours of sleep per night. How productive sleepless nights full of trips to the bathroom will be, I have no idea. I guess I'll finally catch up on all that damn reading.

3 points by dvfer 1 hour ago 1 reply      
If they cannot find any "actual" short sleepers, how do they it's 1-3% of population...Oh science you are scary...
0 points by paylesworth 39 minutes ago 0 replies      
Leave it to the WSJ to exemplify the behavior of people with an erratic gene variation as something "Elite" (or L33t, lol).
1 point by soapdog 19 minutes ago 0 replies      
red bull?
Engine Yard AppCloud: free 500 hours for new customers engineyard.com
20 points by dirtyhand 33 minutes ago   2 comments top
2 points by dirtyhand 18 minutes ago 1 reply      
This is huge for Rails consulting companies. Hopefully we can now convince one of our clients to switch over to EY AppCloud from Bluehost.
Georgify: Hacker News meets beautiful typography google.com
123 points by tuhin 5 hours ago   46 comments top 19
1 point by tomlin 5 minutes ago 1 reply      
I like it. A little off topic, but the Google Chrome Extensions that override CSS get my brain thinking about something like this on a different scale. For instance, could someone build complete Facebook or Twitter face-lifts? If it's possible, the consequences of that permutation would be interesting. Especially now that the modern browsers are moving towards auto-update, which encourages a higher likelihood of something like this taking off.

If marketers starting picking up the idea, I see "shoot here to win the prize", phone number, email address collecting type of ads promising to "bring facebook back the way it was", "just enter your email address and we'll send you the link!" If you don't think this could work, just remember that a few years back people were installing emoticon packs and CometCursor just so they could have a customized, albeit terrible, experience.

20 points by lwhi 2 hours ago 2 replies      
I like this, but there's a lot of white space .. perhaps too much. Maybe a more compact view would be useful?

Like others have said, the grey is too pale.

EDIT: It would be nice if the layout made use of columns .. this could provide innovative use of wide-screen resolutions.

6 points by nyellin 3 hours ago 1 reply      
The grey color for a:visited is too light. I have to strain my eyes to see it.

edit: Also, the extra space in comment-headers is wonky. And even with my nitpicking, great job!

13 points by rnadna 3 hours ago 0 replies      
I like the idea, and there are several aspects of the georgify format that are pleasing. My main comment is that there is far too much vertical whitespace. The compactness of hn is pleasant to the eye, and it lets readers scan headlines quickly. A little tweaking will prevent readers from having to scroll so much.
5 points by ck2 4 hours ago 3 replies      
10 points by tuhin 5 hours ago 3 replies      
This is my first every public release of such a thing! So please be gentle and do give any feedback that can improve the extension.
1 point by abeh 45 minutes ago 0 replies      
Very nice to look at, well done.

A couple of points for me are that:

1. While it is easier to read, the combination of the larger size of the text and the vertical spacing makes it harder to scan all the topics quickly, as was possible without this style.

2. as already mentioned, the info sub-text is a bit soft in contrast and hard to read quickly, even though it looks nice. Suggestion: make the important info such as the numbers and username a bit more darker, but leave the repeated info such as 'points by' and 'comments' as they are.

1 point by antirez 1 hour ago 0 replies      
Thanks, I'm loving it. It is a bit biased for aesthetic but well still an improvement over the default HN css.
4 points by unwind 4 hours ago 1 reply      
Can someone please fix the typo in the title? It hurts!
3 points by nddrylliog 2 hours ago 0 replies      
You should've used csspivot.com for a quick preview link :)
1 point by Nanofied 46 minutes ago 0 replies      
Still could use a little touching up, but I love it none the less :)
1 point by vnchr 2 hours ago 0 replies      
I could feel myself stop squinting....is this what usability feels like?
1 point by sunsai 3 hours ago 1 reply      
I have tried to tweak the layout without any browser extensions. This will work on any browser but it's a 'lite version' so you can only use these to read HN. Have a look:

Non AJAX version: http://www.skillendar.com/hackernews/noajax.aspx

AJAX version: http://www.skillendar.com/hackernews/

1 point by tommoor 1 hour ago 0 replies      
Very nice, i'll be keeping this installed
2 points by marcomonteiro 3 hours ago 0 replies      
I just download Chrome specifically to use this. It looks great! Thank you.
2 points by gizzlon 3 hours ago 1 reply      
lol.. the chrome store does not support my browser "just yet"
1 point by oemera 3 hours ago 0 replies      
This is awesome! Thank you
1 point by Void_ 3 hours ago 0 replies      
I would very much like a Safari extension.
1 point by mjac 4 hours ago 1 reply      
I like this a lot. Could we make it the default theme?
Cyberpunk is dead? cultdeadcow.com
15 points by rl1987 1 hour ago   7 comments top 5
3 points by locopati 9 minutes ago 0 replies      
"If I write something set 60 years in the future I am going to have to explain how humanity got there and that's becoming quite a big job," [Gibson] said.

"Compared to that further investigation of our alien present seems actually way more doable and it may be more fun to do because it shakes all sorts of people out of the woodwork that want to talk to me," [Gibson added].


Also, http://www.wired.com/underwire/2010/09/william-gibson-interv...

1 point by demosthenes 0 minutes ago 0 replies      
This piece reads awfully. I haven't seen anything like this since trying to understand inscrutable postmodernist literary criticism at college.

I am very interested in this, but I'm having a lot of trouble understanding it. What's he trying to say?

Todays market of representations means that we exchange images that are valued by statements without consequence, statements whose only value is the one of attention, something we have learned from the advertising process, which has become the key process of culture. This cultural praxis fails to find a history of the human faces. The faces tried to break the boundaries of word and image, they were processes of conscious creation of speaking images for the feelings that words fail to describe.

Is the author suggesting that we get off the beaten path and explore what's out there on the internet away from the big platforms?

11 points by wladimir 45 minutes ago 2 replies      
The problem with cyberpunk is that it's no longer the future, it's the present. Sometimes when I read the news I've got the idea we're kind of living in a dystopian 90's cyberpunk future...

When it's the new normal it makes sense that the word is "dead" as a denominator.

7 points by dublinclontarf 29 minutes ago 0 replies      
Not dead, just moved. I think the whole bitcoin thing is very cyberpunk-ish. A digital crypto-currency.
1 point by bricestacey 8 minutes ago 0 replies      
I thought the last two paragraphs were delightful and might help explain the recent trend for people to leave HN.

Otherwise, the piece is barely legible.

MongoDB Interactive Geospatial Tutorial mongly.com
49 points by latch 4 hours ago   13 comments top 9
1 point by nuclear_eclipse 21 minutes ago 0 replies      
Personally, my biggest hurdle is that every time the tutorial introduces a new concept, my brain was expecting to just modify the existing query with the new concept, while the tutorial actually wants me to create an entirely new query each time.
2 points by simonw 2 hours ago 1 reply      
A few feature requests...

1. Provide buttons somewhere to increase and decrease the speed. The keyboard shortcuts don't seem to work for me (OS X, Dvorak keyboard layout).

2. Even better, ditch speed entirely and let me click "next" to see ALL of the lines of text up to the next bit where I'm expected to interact.

3. Don't make me guess how to do things! I'm lazy and in a hurry.

Maybe this just isn't the right style of learning for me.

2 points by joelhaasnoot 3 hours ago 0 replies      
Cool! Working on a project that uses this a lot and this would've been very helpful two months ago. The geospatial indexing page in the Mongo docs is very helpful too.

One thing you leave out is the $nearSphere and related commands which can be used since MongoDB 1.7 or so to create better radiuses. It makes searching just that little more precise. There is one twist for it that had me stuck for a bit: the radius is in radians when using those commands.

Other than that: MongoDB makes it very very easy to create a location based mobile service. Throw in some node.js and some JSON, and you're set.

1 point by ch0wn 58 minutes ago 1 reply      
I'm stuck at lesson 6. After typing 'db.treasures.find({location: {$near: [0, 0]}, {type: "gold"})' the loading indicator stays and I get the javascript error "Uncaught TypeError: Cannot read property 'x' of undefined" (Chrome 11).
2 points by Joakal 2 hours ago 0 replies      

I've been doing Geospatial queries lately. It's pretty fast when going through 280k+ city coordinates at ~1-20 ms (Can't go lower than ms though) to find cities near [0, 0], [100.752, 120.236], etc.

2 points by bittersweet 2 hours ago 0 replies      
Very nice, this is an awesome way to get introduced to a (for me) new technology, I didn't have any experience with geospatial work before so this is a great way to visualize it.

Now I'm thinking of ways to use this!

1 point by va_coder 1 hour ago 0 replies      
This would be a great recruiting tool.

Once a user finishes, provide a list of open jobs for shops that use MongoDB.

3 points by RooSoft 2 hours ago 0 replies      
Very well made, I have learned a lot while using it!
1 point by christkv 3 hours ago 1 reply      
I'm curious what did you use to write it ? node?
Google, Facebook take France to court over privacy google.com
7 points by NSMeta 28 minutes ago   2 comments top 2
2 points by dansingerman 8 minutes ago 0 replies      
According to this, part of the data that must be kept includes passwords. Does anyone have the detail on whether this means hashes of passwords, or the plaintext passwords themselves?

If it's the latter, then the lawmakers clearly have no idea what they are doing (which is probably true anyway, but that would be the cherry on top of the incompetence cake)

1 point by samwise 4 minutes ago 0 replies      
I'm curious as to the benefits of having an actual presence in France.

i highly doubt Google will comply. The only possible out come i see is Google setting up shop outside France's jurisdiction.

Dapper.NET - "micro-ORM" that poweres StackOverflow goes opensource google.com
84 points by jitbit 5 hours ago   16 comments top 8
5 points by singular 5 hours ago 0 replies      
The ORM is definitely very read-focused, which is probably not that surprising given that it's used for web, and given the motivations for creating it, discussed at the blog post mentioned by @gokhan [1].

It would be nice to have some lightweight stuff for updating/inserting too, though I guess doing it in such a way that you don't need to write lots of boilerplate kinda requires SQL generation, which dapper is avoiding on purpose.

[1]: http://samsaffron.com/archive/2011/03/30/How+I+learned+to+st...

7 points by gokhan 5 hours ago 0 replies      
1 point by d4nt 48 minutes ago 1 reply      
I notice this is using data readers. I'm not an expert but I believe they keep the connection (and therefore any database locks) until you've finished processing and closed the reader. Given that it's for hydrating strongly typed collections into memory you aren't going to be ignoring any records. You might get even better throughput at the database (at the expense of memory usage in the app) by using datasets which will run the query, then close the connection, then return all the results to the app.
3 points by singular 5 hours ago 1 reply      
Interesting use of code generation - pretty cool, oft unused part of .net/C#. Also interesting how it's designed to be a drop-in single C# file, that often seems the easier way of getting functionality into a project, side-stepping DLL version issues.
1 point by jeswin 2 hours ago 0 replies      
We have an open source ORM here: http://www.agilefx.org.
Sits on top of Linq-To-Sql and adds features found in Entity Framework.

Looking for contributors.

1 point by drylight 1 hour ago 0 replies      
If you hang out on github, and do your social coding over there (or simply prefer git over Mercurial), here is a github fork of the repository: https://github.com/dbarros/dapper-dot-net
1 point by sajidnizami 4 hours ago 1 reply      
Gap of about 20ms between compiled Linq2SQL and this looks enticing. I guess this can be used at hot spots with optimized SQL queries using existing LINQ2SQL entities.

Definitely not for everyone. The whole reason it exists perhaps is to kill SQL translation time and avoid dealing with data readers.

Kudos for making it OSS.

Also, Entity Framework takes about 800ms unoptimized. That is almost a second to execute a query. I can't begin to imagine what the performance of its solution would be in the hands of a new developer.

Edit: I misread about the EF performance. Sorry about that.

1 point by mdemare 4 hours ago 1 reply      
Please fix typo in title (poweres).
IDuple - The Fastest Cloud OS iduple.com
8 points by pstr 44 minutes ago   discuss
Accuracy of JavaScript Time [2008] ejohn.org
30 points by franze 3 hours ago   8 comments top 7
7 points by jgrahamc 1 hour ago 0 replies      
It's such a pity that he doesn't dig into why this is. He makes this funny statement:

  Internet Explorer 8 (I also tested 6, for good measure, 
with the same results), Opera, Safari, and WebKit Nightly
all bin their results. There is no 'normal distribution'
whatsoever. Effectively these browsers are only updating
their internal getTime representations every 15

He can't really think that all those browsers have implemented a binning algorithm. Underlying this is the GetTickCount (http://msdn.microsoft.com/en-us/library/ms724408.aspx) Windows API function: "The resolution of the GetTickCount function is limited to the resolution of the system timer, which is typically in the range of 10 milliseconds to 16 milliseconds." That goes all the way down into the bowels of the PC where there's an interrupt occurring that is used to update the tick count. Depending on the machine/operating system that you are using the system timer updates at varying frequencies (the original IBM PC had an 18.2Hz timer giving updates about every 54ms).

Related to this is how Windows' GetSystemTime is implemented and how often it updates.

He goes on to say:

  It's pretty obvious that the Wine layer is tapping into some
higher-quality timer mechanism and is providing it to IE - giving
us a result that is even more accurate than what the browser normally

Use the source, John! Wine is calling gettimeofday(). GetTickCount is defined here: http://source.winehq.org/source/dlls/kernel32/kernel_main.c#..., it calls GetTickCount64 which is here http://source.winehq.org/source/dlls/kernel32/kernel_main.c#... which calls NtQuerySystemTime which is here http://source.winehq.org/source/dlls/ntdll/time.c#L447 which calls gettimeofday.

Wine's GetSystemTime implementation is going the same thing: http://source.winehq.org/source/dlls/kernel32/time.c#L933

In Chrome this is quite well documented, see comments here for Windows: http://www.google.com/codesearch/p?hl=en#W9JxUuHYyMg/trunk/s...

5 points by bmcleod 2 hours ago 0 replies      
tl;dr getTime in windows only updates every 15 ms, so if your performance benchmark cares about that kind of period then it isn't going to give very good results.

Every time I hear about performance testing in JS it seems to be that it doesn't really handle IE very well for whatever reason it is today. It looks like this bug would have made IE look like it performs better than it actually does though.

3 points by rix0r 2 hours ago 0 replies      
I thought it was pretty well-known that standard system timers (except the High Performance ones) could/would be inaccurate. I'm actually surprised by how reliable the OS X timers are.

Normally, if you do any kind of benchmarking, you would run the test N times and average the times out.

5 points by TimJYoung 2 hours ago 1 reply      
Windows has a "GetSystemTime" resolution of 10-15 milliseconds, hence the results:


Some comments found via Google indicate that this has changed to 1ms in Vista and higher, but I can't confirm this.

2 points by izuzak 1 hour ago 0 replies      
a more recent study of getTime() here: http://mivankovic.blogspot.com/2011/03/research-results-can-... "Can JavaScipt getTime() be used for measuring performance of JavaScript code?"
2 points by AshleysBrain 1 hour ago 0 replies      
Why don't browsers on Windows implement QueryPerformanceCounter (a microsecond precision timer)? In fact, I thought Firefox 4 had done this.
1 point by broofa 55 minutes ago 0 replies      
Why is this making the front page of hacker news? This article is 2.5 years old.
Orchestra.io - PHP Platform as a service orchestra.io
42 points by joelg87 4 hours ago   20 comments top 6
1 point by itsnotvalid 38 minutes ago 0 replies      
You guys may want to look at this as well:

Sina App Engine - sort of like Google App Engine's take as a China clone, but it runs in PHP.

This platform (Orchestra) takes another approach, liking managing the ec2 instances than like the app engines that even the instance thing is transparent from the developers. Guess there can be many debates on whether which ones are better approaches.

Also thing to notices on SAE, for non-Chinese readers, SAE has built-in function constraints. That means it's more like GAE in a way that not all the core functions and libraries are available[1] which is obviously security and performance reasons.

It would be interesting to see if any core functions be limited on orchestra.io as well.


5 points by sbarre 1 hour ago 3 replies      
At roughly $30/month minimum for the "basic" service (that doesn't auto-scale), plus costs for add-ons, you really have to not know what you're doing when it comes to deployment (or just have money to burn), because PHP/MySQL is just about the easiest thing to deploy in the world.

But having auto-scaling on your app, I could see this being worth the value if you want that kind of stuff to be managed for you.

2 points by justincormack 1 hour ago 1 reply      
I would like to see a security page. It is not clear if your app is isolated in its own microinstance or shared in some way that should be specified.
1 point by jqueryin 1 hour ago 1 reply      
If echolibre happens to be reading this, I'm seeing a stylesheet issue on your activation form where the two input boxes for email address and password are extending beyond the login containment box. Screenshot below.


I'm running FF 4.0 on Fedora 13. Hope this helps =)

5 points by joeod 3 hours ago 2 replies      
great to see an Irish company in here
1 point by alanorourke 1 hour ago 0 replies      
Great job, looks great.
Osborne 1 vs. iPad 2 stormdriver.com
10 points by stormdriver 1 hour ago   discuss
Starting Up Silicon Valley Style youtube.com
86 points by StudyAnimal 7 hours ago   13 comments top 7
8 points by AngryParsley 6 hours ago 2 replies      
I've never heard of the Santa Clara Valley Historical Association before, but they've recorded some very interesting interviews. I recommend looking through their uploaded videos. There are a lot of gems in there.

I've heard some crazy stories about financial difficulties before, but Atari takes the cake: http://www.youtube.com/watch?v=BY8GpCCBWWc . Sheriffs standing in the lobby to garnish income. Everyone rushing to the bank to make sure their paychecks didn't bounce. It's totally crazy and I'm amazed they had the determination and luck to survive that time.

2 points by pitdesi 44 minutes ago 0 replies      
There's a new documentary coming out about the creation of the VC industry called Something Ventured


Looks pretty good

9 points by pg 7 hours ago 1 reply      
This is fascinating.
4 points by danielha 5 hours ago 0 replies      
Just spent a little while watching through 5 of those videos. Incredible stuff... good clips to play in the morning just in case you need that right kick in the pants.
7 points by marcamillion 6 hours ago 1 reply      
Oracle was started with $2000!

That's insane.

5 points by martinkallstrom 5 hours ago 0 replies      
I was amazed at some of the deals these founders took. Starting up owning 5% of the company on day one. Or taking in $7M on a $9M valuation. Are these kinds of deals still happening?
2 points by rogerjin 6 hours ago 0 replies      
Talk about perspective...
The history of UTF-8 as told by Rob Pike cat-v.org
18 points by motxilo 2 hours ago   1 comment top
A Gentle Introduction into SDL 1.3 immersedcode.org
8 points by keyist 1 hour ago   3 comments top 2
2 points by tung 24 minutes ago 0 replies      
The main point here seems to be that you can make separate windows with SDL 1.3 and attach OpenGL contexts to them, versus SDL 1.2's approach of single-window-single-OpenGL-context.

As far as OpenGL tutorials go, I recommend "An intro to modern OpenGL" articles by Joe Groff [1]. It covers the things in OpenGL 2 that still exist in OpenGL ES 2.

[1]: http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Tab...

2 points by unwind 55 minutes ago 1 reply      
SDL 1.3 is like the Duke Nukem Forever of portable game-friendly libraries, I think.

Note: I mean this in a very friendly way, I have masses of respect for Sam Lantinga and all the other people behind SDL. It just seems they've been working on 1.3 for soo long.

Where can I get large datasets open to the public? quora.com
181 points by helwr 12 hours ago   27 comments top 19
12 points by physcab 9 hours ago 3 replies      
Asking "What datasets are available to me?" is sometimes the wrong question. A better way of going about the problem is asking something more specific like "How can I create a heat-map of U.S poverty?" The reason why the latter is better is that it not only focuses your attention on something do-able but it actually teaches you more about data analysis than just searching for datasets.

For example, to solve the question above you are going to be asking yourself the following followup questions:

1) Where do I get a map of the U.S?

2) How do I make a heat-map?

3) How do I feed in my own data into this heat map?

4) What colors do I use?

5) Can I do this real-time? Do I need a database? What language do I use?

6) Whats a FIPS code?

7) How do I find a poverty dataset with FIPS codes?

8) This poverty dataset doesn't have FIPS codes, but I can join it with this other dataset that does have FIPS codes.

5 points by iamelgringo 6 hours ago 0 replies      
Hackers & Founders SV is hosting a hackathon[1] in two weeks at the Hacker Dojo in Mountain View. It's going to be geared towards working with Factual's open data API.

Factual's[2] goal is to provide an API to connect all those available data sets, and they have a fairly impressive list of data sets available. Factual is very interested in hearing what datasets you want to work with, and they are willing to bust ass to get them available before the hackathon.

We still have around 40 RSVP slots open. You can register here: http://factualhackathon.eventbrite.com/

</shameless plug>

[1] http://www.hackersandfounders.com/events/16535156/

[2] http://www.factual.com/

[3] http://factualhackathon.eventbrite.com/

21 points by machinespit 11 hours ago 2 replies      
data.gov and other US gov data sites are getting severe cuts even though they're saving money (http://www.federalnewsradio.com/?nid=35&sid=2327798)

Very upsetting for fans of open / accessible (government) data.

FWIW, petition at http://sunlightfoundation.com/savethedata/

9 points by shii 11 hours ago 0 replies      
1 point by arethuza 1 hour ago 0 replies      
UK Government data sets: http://data.gov.uk/
6 points by raghus 10 hours ago 0 replies      
3 points by latch 11 hours ago 0 replies      
I believe Steven Levitt used the Fatality Analysis Reporting System (FARS) from the national highway traffic safety administration (NHTSA) for his seatbelts vs carseats work:


2 points by Maro 6 hours ago 0 replies      
There's a startup called kaggle.com that is all about hosting data mining competitions around datasets, like netflix.
3 points by brandnewlow 10 hours ago 1 reply      
On that topic, anyone have any suggestions for the easiest way to prepopulate a directory of local businesses in the U.S.?
2 points by nowarninglabel 8 hours ago 0 replies      
At http://build.kiva.org there are some nice datasets in the "data snapshots" section. I have high hopes we will be releasing a lot more data.
3 points by buss 11 hours ago 0 replies      
http://aws.amazon.com/publicdatasets/ which includes my former advisor's dataset (UF sparse matrix collection) which includes a matrix or two from my research.
2 points by bOR_ 6 hours ago 0 replies      

For sentimental value: HIV sequence data (and other data) from 1980 till now. Did my thesis on these ;-).

In general, there is an enormous amount of gene sequence data around, not just HIV.


Whole genome sequences of eukaryotes (including humans):

6 points by barefoot 10 hours ago 0 replies      
How many of these allow me to create for-profit websites with them?
5 points by kordless 11 hours ago 0 replies      
1 point by mrzerga 2 hours ago 0 replies      
microsoft azure - they have some large datasets...
3 points by plannerball 11 hours ago 0 replies      
Fowndr: private network for startups, now live and handing out invites fowndr.com
16 points by stulogy 2 hours ago   11 comments top 6
1 point by MatthewPhillips 35 minutes ago 0 replies      
Congratulations on the launch! I absolutely believe this will become an invaluable resource for startups. I think the nature of the network will entice people to share in ways they might not on HN, more in the natural way that is currently done in person or by email. I look forward to participating and learning from those going through the same issues.
2 points by yoseph 1 hour ago 1 reply      
Good on you for getting things up and running.

But what's the use case?

Isn't there a danger of amateur entrepreneurs giving bad advice? Why wouldn't I use Sprouter.com? It's Quora for Entrepreneurs and they have some of the best web entrepreneurs on there waiting to answer questions.

Sorry if I'm seeming harsh. As an entrepreneur, I'd genuinely like to know how I can leverage this tool to my benefit, before I sign up.

3 points by stulogy 2 hours ago 0 replies      
Just a bit of background info. Fowndr is a Forrst for startups, it's invite only and was featured on HN a week ago. You can read more on my blog: http://stugreen.com/blog/2011/03/introducing-fowndr
1 point by mattdeboard 2 hours ago 1 reply      
What is a startup? Who qualifies for invites?
1 point by tzm 1 hour ago 0 replies      
Also, StartupGuild.net. Over 300 members in 4 days. Hosted on Yammer. Growing.
2 points by szcukg 1 hour ago 0 replies      
I'm a part of this and love the concept.
Aspen is a Python web server. Simplates are the main attraction. aspen.io
29 points by evangineer 5 hours ago   3 comments top 2
1 point by drats 45 minutes ago 1 reply      
Linking to the simplates page and not the main page[0] is a little confusing due to the way their docs are structured. A welcome addition to bottle[1] and flask[2] though.


2 points by evangineer 4 hours ago 0 replies      
The favicon is pretty amusing, once you've grokked Simplates. One notable feature is that Aspen now uses the Diesel non-blocking socket engine.
Why Does Facebook Hate This Woman? whattofix.com
33 points by DanielBMarkham 2 hours ago   14 comments top 4
8 points by ig1 1 hour ago 0 replies      
I don't think Facebook hate small advertisers, I think they do (1) Care about ad quality (2) Care about short term gain.

Facebook have really made a big drive to get rid of affiliate rebills, etc. as Facebook users view them as scams and they end up damaging Facebook's reputation.

From my experience if you have a legitimate business it's unlikely that FB are going to reject your ads. Facebook want your money, the only reason they'll not want your money is if the ads will cost them more reputational damage then the money they bring in.

I think their drive for short term gains has led them to some decisions which are damaging to small businesses (CPC pricing, no frequency capping), but thinking "they're out to get you" is just simple paranoia in my opinion.

6 points by BudVVeezer 52 minutes ago 2 replies      
I am pretty sure "famous grey shirt girl" is actually Jose Lima's wife.


5 points by ig1 1 hour ago 1 reply      
The site you were advertising looks like a health scam site (not saying that it is; just that's what it looks like on first impression), did Facebook specifically reject your ad on the basis of your image or due to the nature of your site? (i.e were other ads with the exact same details approved)
0 points by joshes 1 hour ago 0 replies      
To me, what is a bit disheartening about all of this is that if you want to advertise to Facebook's massive user base, you have to play by Facebook's inconsistent rules and enforcement; there's not much of a way around it. And the system is not set up to help you succeed. It is instead set up to bend and morph in whatever way helps Facebook, no matter how positively/negatively it affects those actually purchasing the advertising and fueling the growth.

Of course it is within Facebook's rights to structure their platform as they see fit. It is just a bit sad that those services and brands with the largest power bases seem to throw their weight around in the most antagonistic ways imaginable.

Introducing the New Commodore 64 commodoreusa.net
209 points by will_lam 16 hours ago   82 comments top 27
35 points by marcusestes 15 hours ago 5 replies      
Cramming a modern PC into a vintage C64 reproduction really is a terrible idea. But as an old Commodore / Amiga fanboy I have to admire Barry Altman (CEO of Commodore USA) for attempting to reawaken the brand.

After the sad bankruptcy spiral and eventual shutdown of Commodore the trademarks ended up in the possession of a company based in the Netherlands called Tulip Computers (Now Nedfield) who makes commodity PC workstations. The did a little cheapo licensing of the brand here and there but basically showed no intention of breathing life into the brand again.

Mr. Altman appears to have incorporated Commodore USA with the sole purpose of attaining trademark licenses and attempting to tap into the large and very latent Commodore enthusiast market.

It doesn't feel like he's going to succeed. But I applaud him for trying. Now that Steve Jobs' face has taken the place of Big Brother in that 1984 ad, it feels to me that the landscape needs a new "creative computing" competitor. The Commodore brand could be such a cool fit, if they only had a decent product.

They should reproduce the 4000 / Video Toaster combo: http://www.youtube.com/watch?v=nymVNhy4dw8

15 points by tesseract 16 hours ago 2 replies      
The PC guts seem boring and will inflate the price. Why not do a reissue with functionality closer to that of the original, based on the C64 DTV [1] which cost $20 or $25 when it was on the market, and sell it at a $50-to-$100 price point?

[1] http://en.wikipedia.org/wiki/C64_Direct-to-TV

6 points by Udo 13 hours ago 1 reply      
This is a lost opportunity. They could have revived the brand by putting out a new Commodore. Modern hardware, super-slim, "the keyboard is the computer", inexpensive. Maybe with a very simple and fast OS, like a light Linux or BSD or whatever became of the Amiga OS.
8 points by daeken 15 hours ago 2 replies      
If this had a SID chip (or multiple!) in it, I'd buy one in a heartbeat. As it stands, it's just a straight up PC with... a C64 emulator.
4 points by defroost 13 hours ago 4 replies      
From the FAQ:

"10. What is Commodore OS?
Our new Commodore operating system, will be a unique Commodore and AMIGA centric Linux distribution, that will grow over time into something far greater. Commodore OS will not be your run of the mill Linux distribution."


Judging from the website's fondness for the long deprecated bgcolor tag and animated GIF's, my confidence them producing such an OS is not particularly high at this moment.

9 points by Groxx 16 hours ago 1 reply      
A terrifying website, with lots of renders, few photos, and a non-functioning store. That's pretty "meh" in my book, and it even gets a Raised Eyebrow of Questioning.
1 point by wbhart 1 hour ago 0 replies      
I would love to buy a computer that is a modern upgrade of the Commodore 64, as if the machine had continued to evolve. In other words, the CPU would be a say 32 bit evolution of the original CPU with obvious changes to the instruction set as found in the C64.

The memory space would be flat 32 bit addressable up to a gigabyte.

The sound and video hardware would work in a similarly simplistic way as the original C64 did.

But the CPU would have similar performance to a modern CPU.

It would also have a modern (size) hard drive.

The whole thing could be done as an emulator. But the important thing would be performance. The virtual machine would have to convert one assembly language to the other by compiling it on the fly, e.g. to say x86 code, and not by interpreting it slowly!

And of course the thing would have ROM BASIC built in and/or a simple Amiga style classic look and feel OS.

At the very least I'd buy one of these machines, especially if you put it in a C64 keyboard style box.

2 points by mambodog 11 hours ago 0 replies      
I think this should have been re-imagining of the C64 as a first computer for a new generation of hackers.

I'm thinking of a high-level, empowering, introductory programming environment in the vein of Hackety Hack or Love2D (because lets be honest, kids want to make games), running on a Linux with an easy-to-use desktop environment (Ubuntu/Unity?).

The hardware would be netbook/mobile type stuff and internet oriented with SSD storage, Wifi, and HDMI for video output. No optical drive. Oh yeah, and a gamepad, the modern equivalent of the joystick.

I'm too young to have grown up with a C64 myself, but to me this would seem like a more worthy spritual successor.

6 points by tomconte 15 hours ago 0 replies      
OK, when in doubt about any C64 stuff, the only place to go is the Lemon64 forum, and this seems to be real...



And if you are like me an Unbeliever, check out Disney's TRON partners page:


4 points by teach 16 hours ago 2 replies      
How I wish I had a working 1541 disk drive! I've got scores of programs on floppy disk that I wrote when I was 11-14 years old that I'd love to read again.

I doubt the disks are still readable, though. They haven't always exactly been stored properly.

5 points by xbryanx 15 hours ago 0 replies      
Gotta break out all my old C64 casette tapes.
0 points by asciilifeform 2 hours ago 0 replies      
This is not a Commodore 64.

It is a cruel mockery.

The main appeal of the Commodore was simplicity and understandability. This is a PC, that is to say, a piece of junk overgrown with cancerous accidental complexity.

2 points by eru 15 hours ago 0 replies      
I like the C64 laptop much more (http://benheck.com/04-05-2009/commodore-64-original-hardware... uses the actual old hardware.
4 points by joeld42 16 hours ago 1 reply      
this is just a PC casemod. bleh.
3 points by tomconte 15 hours ago 1 reply      
This is obviously an April's Fools joke, except they missed the deadline, which is typical Commodore ;-)

In other news, if you want to join 60,000+ fans of the REAL C64, there's a Facebook Page for that: http://www.facebook.com/c64.fans

1 point by iuguy 16 hours ago 0 replies      
These are the same guys that did the Phoenix[1] a while back, which was essentially a knock off import that didn't do very well.

The C64 looks like a refination of the Phoenix in a C64-style case. Strangely there's no CPU specs I could find.

[1] - http://www.commodoreusa.net/CUSA_Phoenix.aspx

2 points by nzjames 13 hours ago 0 replies      
I may be the only one who likes this. I've recently been looking for an old commodore 64 for nostalgic reasons, there is no practical reason to own one unless you're a demo purest. But I'm also in the market for an HD media player and the specs look up to the task. I can get my retro gaming and media fix in one package and decommission my xbox1.

Sure the price will be inflated but I can imagine leaving this sprawled out on my lounge floor provided there are some decent retro usb/wireless joysticks to go with it.

2 points by duck 11 hours ago 0 replies      
I wonder if it will play my Frogger cassette tape that I still have up on the shelf? :)
1 point by rikthevik 13 hours ago 0 replies      
Wow. If those aren't too expensive, I'd love to get one. What a fantastic desktop machine. This kind of seems like a late April fool's joke, however.
1 point by malkia 13 hours ago 0 replies      
Something more portable (iPad-ish) or more like a little toy with keyboard, or mini-usb where you can plug one, and HDMI on the out would've been better.

But I guess people cared about the keyboard. I did - for my Pravetz 8C (Apple ][/e clone)

3 points by TheSwede75 15 hours ago 0 replies      
Still have my original Brown-Box, with Cassette player. . . I will ONLY buy this if MR-Z comes back onto the field to crack games!
3 points by inji 15 hours ago 0 replies      
> Realtek ALC662 6-CH HD Audio

This should totally be SID, MOS 6581!

1 point by th0ma5 16 hours ago 1 reply      
I'd like to see a working prototype at least. Those who are fans know that seemingly starting with the success of the original product and then the Amiga, the company has always had some kind of problem delivering something new.
1 point by mixmastamyk 11 hours ago 0 replies      
Where's the RF connector to hook up to the TV if need be?

I'd like to send one back in time to myself circa 1982 ... but what good is it if there's no capable display device?

0 points by phren0logy 14 hours ago 0 replies      
Maybe hosting the site on an actual C64 wasn't such a good idea...
1 point by wyclif 12 hours ago 1 reply      
Anybody have a price on this?
1 point by xsive 13 hours ago 0 replies      
Commodore USA have been promising this stuff for ages and nothing has materialised. It looks like vapourware to me.
Wozniak: Tablet is the PC for 'normal people' networkworld.com
76 points by alphadoggs 10 hours ago   57 comments top 14
17 points by dkarl 7 hours ago 6 replies      
My seventy-year-old dad still isn't at ease with Windows after fifteen years of having Windows PCs at home, but he's a master of his iPad.

However, he still uses Windows for email and posting on the web, because he hates typing on the touch screen. He tried the keyboard I got him for the iPad, but it ended up gathering dust on a shelf somewhere. My dad might be stuck in the pre-computer age, but he isn't stuck in the pre-keyboard age. He knows what a decent keyboard is. The keyboard is one of those things that people don't want to give up.

The folks talking about the iPad being the PC for "normal people" are looking forward to a future where nobody except nerds uses a computer before the age of eighteen. It's premature to speculate what a computer for "normal people" ought to look like until the definition of "normal people" stabilizes. Technological and economic development is changing the definition of normal people every day.

5 points by brisance 3 hours ago 1 reply      
This is entirely anecdotal and may not be representative of everyone else's experience, but since the launch of iPhone and iPad, I have yet to receive a frantic, middle-of-the-night-my-iOS-device-crashed call.

Sure, there are the odd hardware failures here and there (typically one of the buttons is no longer responsive, or the touchscreen fails to register touches in one part of the screen) but overall, it has been pretty stress-free for my role as the "family tech support guy".

So yes, I would tend to agree the iPad might just be what the tech industry needs to get more people interested in computing.

18 points by ThomPete 9 hours ago 3 replies      
Yes it is and there is a very simple reason.

The tablet removes abstraction between the user and the interface elements to be interacted with.

The engineers who invented the touch screen has done more for the field of usability than any UX or usability expert could ever hope for.

Now the big question for me is. Will apple forget about the enterprise market?

1 point by drdaeman 34 minutes ago 0 replies      
Let's consider that "normal" people play games. Sure, there are gaming consoles of all sorts, but this does not change a fact there are a lot of games on PC. You can't effectively play - for example - 3DFPS on tablet. Well, you could hook up keyboard and mouse, but there any difference from desktop PC. Except for tablets have less powerful hardware than any typical "gaming" PC.

Let's consider "normal" people work. Even throwing out possibly "non-normal" jobs with high hardware resource demands (like photorealistic 3D graphic artists, or CPU-intensive engineering calculations), but even a secretary won't do any good on tablet. Touch screens are fine for tweeting, but are no good for editing a sufficiently large document.

Inverview summarized: iPad advertisement, nothing to see there.

13 points by photophotoplasm 7 hours ago 1 reply      
I have trouble believing even "normal people" will want to use the tablet for anything except casual use. The desktop computer's monitor/keyboard/mouse setup is too efficient to be fully replaced by the touch screen.

Not saying that tablets won't find their own niche, but they aren't suited for heavy workloads that increasingly large numbers of "normal people" need to do on computers.

The biggest legacy of tablets is going to be how the ideas behind them influence desktop computers. I'm expecting most consumer operating systems to become more "appliance-like" and more tied to services provided by their developers. The success of iOS makes it almost inevitable that this model will be ported to the desktop.

9 points by jbigelow 8 hours ago 1 reply      
I'm sorry but tablets being for "normal people" sounds out of touch. My dad is a 58 year old fire fighter, he couldn't have been any less of a "computer person" yet he emails, manages his iTunes/iPod, and can stalk me on Facebook with ease (too much ease in fact when it comes to FB). And to top it off, he has done all this on a.... Windows PC, I type that without a shred of irony but many will read it as such.

Face it, ATMs mostly run a custom UI on top of a Windows kernel, Police cruisers all have laptops attached to the dash, the US Postal Service will be out of business sooner rather than later because email and by extension the PC has been for "normal people" since the turn of the century. Anybody who hasn't interfaced in someway or another with a PC (regardless of OS) at some semi-regular interval over the last 10 years probably won't discover a need to now just because of the increased portability of the tablet form factor.

4 points by asknemo 5 hours ago 1 reply      
From my experience, most tablet users use the tablet for 1)videos 2)really casual games 3)random browsing - not particularly PC-ish in my opinion. To say 'Tablet is the PC' is in some way less accurate than saying 'Tablet is the new TV' or 'Tablet is the best mobile browser'.
1 point by TeMPOraL 4 hours ago 0 replies      
What about out-of-the-office work applications? Storage rooms, hospitals, factories, delivery - everywhere you have to walk around with information instead of sitting by your desk.

I can imagine (I don't know if anyone actually tried this) a facility with many (company-owned) tablets that people exchange between themselves instead of paper reports and forms, much like PADDs in Star Trek.

5 points by rtaycher 7 hours ago 3 replies      
Am I the only one who doubts a lot of the magical usability of touch interfaces?
1 point by donnyg107 5 hours ago 0 replies      
I think the ipad will only reach a point in which is has potential to push PCs out of the market once it no longer needs to be tethered to a pc for regular use.. Keyboards, size, and general interface are all this people acclimate to, but only being able to move things to the ipad from a PC? You can't get around the necessity for the PC there. When the ipad starts to feel more like its own device, I could feasiblly see Wozniak and Jobs' vision becomming reality. But till then, its a dependent device with a great UI.
1 point by atirip 6 hours ago 0 replies      
I find it hard to believe (me included) that anybody capable of having hacker news account is qualified to discuss about "normal peoples" computer usage.
1 point by muhuk 8 hours ago 0 replies      

    "We've never had an argument," he said. "We're just in
different places, and we're different people." Jobs was
interested in running a company, while Wozniak was and
remains an engineer at heart.

0 points by tybris 4 hours ago 0 replies      
I guess normal people get bored with their "PC" quite easily.
Facebook Ads: The Cheapest Traffic You'll Ever Buy imranghory.org
169 points by ig1 15 hours ago   47 comments top 13
36 points by patio11 11 hours ago 1 reply      
My Facebook ads experience in a nutshell: mega-targeted towards US women interested in elementary education & etc, used a seasonally appropriate image and tagline, spent $140, got 275 clicks (~$0.46), four free trial signups (pick email and password), and (unsurprisingly) no sales. $140 of AdWords would typically get about 2.5k clicks and $300+ of sales.

This was a year ago. Every couple of months I wonder "Hmm, should I take another whack at FB?" and then I decide to do something useful with my money instead, like buying Frontierville dresses.

42 points by blhack 15 hours ago 3 replies      
Edit: the link that one of the commenters provided is a lot more informative (if you came here lookinf for a "how")


OP, if you're reading this, how did you get such low CPC rates on facebook?

No offense, but this post just sortof sounds like bragging. What were you targeting? What were you bids? What did your ad actually look like? What sort of picture did you use (facebook ads require a picture, last I checked).

Etc. etc.

This is really interesting to me, because I've tried facebook ads before and done miserably with them. I was planning on doing some more reddit self-serve advertising this week, but if you can get traffic from facebook for as cheap as you're claiming, I would definitely give that a try instead.

This would be a really great post if you could share some of the research you did.

5 points by vaksel 9 hours ago 1 reply      
Once you take into account that Facebook traffic tends to start out at ~$1 a click and the fact that the people clicking it are just browsing(instead of searching like they do on Google)...you'll realize that Facebook traffic is the most expensive traffic you can buy.

Most people who make money off craigslist are the affiliate spammers who get paid something like $3 for every email submission form they get.

8 points by spontaneus 10 hours ago 1 reply      
There is a lot of click fraud in Facebook ads. Have you ever checked your analytics logs to verify you are getting what you are paying for? In my case, around 40% of clicks I paid for never made it over. I emailed facebook ad support 6 times and the only response I ever received was from an auto responder. I'd never use their service again.
4 points by Osiris 13 hours ago 2 replies      
I recently tried BuySellAds in an attempt to target ads a specific interest group (technology websites). The result has been horrible. CTRs are like 0.001%. I'm getting about 30-50 clicks a day and with the same funds on AdSense I'd be getting nearly a thousand clicks a day. It's too bad i sunk so much into the experiment.
4 points by ultrasaurus 12 hours ago 0 replies      
What's the policy (and the actual enforcement) on using copyrightten content as your picture? I'm not surprised Twilight imagery converts better than a company logo, but it seems a little sketchy.
3 points by e98cuenc 7 hours ago 1 reply      
We also got better results from Facebook Ads than from AdSense. Something that we found is that we got better results if we changed the image on the Ad periodically and if we stopped for a while our campaigns.

We track the user by source, so we can check if the FB users are more or less active than users from other Ad networks or from users that come from organic search, and so far we have not observed a significant bias.

We are paying a few cents for each user registration (not click). No other Ad network comes close to these numbers for our site. Our budget is of some (single digit) thousands dollars per month, and we have been running these Ads for a few months.

1 point by DanBlake 8 hours ago 1 reply      
The important thing every single article on HN always misses out is that spending 100, 200 or even 5000$ is almost never a large enough pool to deduce anything about a ad network. Put through a hundred million paid impressions and then tell me what does and doesnt work.
2 points by handzhiev 7 hours ago 0 replies      
In my opinion and experience Facebook ads can work well only if you advertise your fan page. Get people like it (obviously the fan page needs to be interesting for this), then from time to time post stuff that advertises your startup.

It's more work, but you can market to every fan many times instead of hoping she will buy from you or give you her email address from the single visit the ad would bring to your site.

2 points by joelrunyon 9 hours ago 2 replies      
The biggest problem with FB ads of course, is having a product that is sale-able to the facebook audience. I.e. entertainment/interest products, not needs-based products
2 points by thesis 13 hours ago 1 reply      
I've gotten clicks that cost about .01. The whole idea is just to super target. For instance, target users who are interested in runescape, use a runescape image, use a ad text along the lines of "Love Runescape?" and some creative ad text.

Then you want to split them all up into different ads for different demographics.

My problem with facebook is CTR's will drop a lot over time... so you constantly need to keep submitting fresh ads.

3 points by ojilles 15 hours ago 1 reply      
Cheapest CPC, maybe. But usually very low conversion rates on FB.
1 point by direxorg 13 hours ago 1 reply      
For most project it is not about clicks but about conversion and that is greatly depends from the product that you are selling. Facebook is more "fun" than "money spending" community. Google unrelated CPC keywords give 8X fold better conversion than Facebook targeted ads from each click for me. Would be more useful to have specific information on your numbers beside clicks.
Stop Panhandling your Ideas bennesvig.com
15 points by bennesvig 1 hour ago   8 comments top 2
2 points by meric 47 minutes ago 4 replies      
I've been working on my project for a few weeks. I just bought a domain for it today. I'll wait till it's finished in a few more weeks before shipping it. It's only hosted at my computer at the moment. I've finished most of the functionality but the app needs data to make sense to users and I still need to collect that. So am I telling myself a lie? I should release now?


2 points by klous 42 minutes ago 1 reply      
Too many people like to endlessly weigh their options and wait for permission or someone's blessing to launch. I hear: I just need funding to launch my startup, I just need to get accepted to this startup incubator, I just need to find a co-founder, or I just need to read this book first.

Stop thrashing about and ship.

Show HN: my weekend project, Gumroad gumroad.com
347 points by sahillavingia 23 hours ago   192 comments top 56
67 points by sahillavingia 23 hours ago replies      
Over this past weekend I had the idea to build a sort of link shortener but with a payment system built-in. There have been many times in the past where I wanted to share a link - on Twitter or just through IM with a few friends - but did not want to go through the overhead of setting up a whole store.

So I built Gumroad. I coded/designed from 12PM -> 11PM on Saturday and 8AM -> 11PM on Sunday. There are still tons of features missing (I'm working on AJAX file uploading next!) but I think it's reached that - buzzword alert! - MVP stage where I want to see if anyone's actually going to use the darn thing (I'm thinking about taking a 30% cut).

Here's an example Gumroad link: http://www.gumroad.com/l/hjbaod - I use Stripe for payments. Here are some screenshots I took while making it: http://letscrate.com/gumroad/gumroad-progress - I didn't use Photoshop so no crazy time-lapses!

I think it has some potential. What do you guys think?

34 points by JoshTriplett 22 hours ago 7 replies      
Interesting idea, but I see two main issues with this.

First, anyone who pays and gets to the resulting link can trivially share that link; of course, you can always ask them nicely not to do so, and in some contexts that will work, but in general the security model just doesn't work unless you authenticate each paid user at the destination. You need to come up with an answer to this.

Second, if you market this as a link shortener which requires payment, I think you'll get backlash from people who currently use link shorteners to share links on Twitter and similar; from that perspective it feels like the kind of thing you'd see used by Twitter spammers/scammers. Suggested fix: flip it around, and present it as an astonishingly simple payment system based on URLs, which happens to behave like a shortener.

64 points by bhousel 23 hours ago 2 replies      
17 points by jasonlotito 21 hours ago 2 replies      
Things you have to look at fast.

* Money laundering. Cap fees now.

* You are using Stripe, but you're still collecting CC data. Are you PCI compliant?

* Does Stripe allow you to do this? Really? Basically, you're acting as a third party processor, an IPSP. People can sell anything through your service (Think adult content)

I'm really interested if Stripe is aware of what you are doing and fine with it.

13 points by Xk 19 hours ago 0 replies      
You have an XSS on the login form. I create a page which posts to the login page with the name

" onclick="alert('do evil here')" onfocus="alert('do evil here')" foo="

It errors out, and my javascript is now in the input box. They click the name and then it runs my javascript.

It's great you've escaped < and >, but you need to do more.

15 points by btmorex 22 hours ago 3 replies      
What do you plan on doing about fraud? Seems like it would be way too easy to move money around with stolen credit cards.
17 points by mgkimsal 22 hours ago 2 replies      
As with many ideas I see floated and mvp'd on HN, I'm jealous. Great idea, good execution. I'd agree with others that the 30% is too high. 5-10% would be acceptable.
6 points by kqueue 20 hours ago 0 replies      
Traceback (most recent call last):

  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 634, in __call__

File "/base/data/home/apps/gumroad/1.349472656690944858/main.py", line 60, in get
if is_logged_in():

File "/base/data/home/apps/gumroad/1.349472656690944858/main.py", line 110, in is_logged_in
s = sessions.Session()

File "/base/data/home/apps/gumroad/1.349472656690944858/appengine_utilities/sessions.py", line 562, in __init__
self.session = _AppEngineUtilities_Session.get_session(self)

File "/base/data/home/apps/gumroad/1.349472656690944858/appengine_utilities/sessions.py", line 142, in get_session
ds_session = db.get(str(session_key))

File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1422, in get
keys, multiple = datastore.NormalizeAndTypeCheckKeys(keys)

File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 180, in NormalizeAndTypeCheckKeys
keys = [_GetCompleteKeyOrError(key) for key in keys]

File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 2339, in _GetCompleteKeyOrError
key = Key(arg)

File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore_types.py", line 364, in __init__
raise datastore_errors.BadKeyError('Invalid string key %s.' % encoded)

BadKeyError: Invalid string key agdndW1yb2FkciMLEhtfQXBwRW5naW5lVXRpbGl0aWVzX1Nlc3Npb24Y.

9 points by retube 22 hours ago 4 replies      
How does this work for art though? I mean you want to see the icon/graphic/design/whatever before you pay for it.

Also - once you've been redirected to the page, what's to stop you taking the link and sharing it yourself?

Also also: if I've got something to sell, can't I just bung it on ebay?

10 points by petercooper 22 hours ago 0 replies      
Loving the simplicity of the idea. The simplicity is worth a higher cut (though maybe not 30% ;-)) and makes it a lot more attractive to use in small situations. One thing you need to beware of, though, is the filing requirements.. you might have to start issuing tons of 1099s and that process will cost you.
10 points by fizx 21 hours ago 1 reply      
Please put a video on the homepage. If I'm on the fence, I'd rather watch a video than create an account.
5 points by kloncks 22 hours ago 1 reply      
The copy on the re-direct page is bothering me a bit. Anyone else?

You're being shared Gumroad!

With the "You're being shared". Sounds confusing.

7 points by jcapote 22 hours ago 1 reply      
If the payment fails, will you still redirect to the link?

If you only redirected based on successful payments, you could use this as a simpler paypal for charging clients on your site using unique gumroaded links.

3 points by dools 16 hours ago 0 replies      
I'm already giving this away for free with a PayPal donate link at http://pickdropapp.com/ but what the hell: http://gumroad.com/l/cvhhwi
4 points by barredo 22 hours ago 2 replies      
Is the redirect-link unique in any way? I mean.

If anyone buys the access to a a non-unique-link (ie: http://mybook.com/book.pdf), and then shares the redirected URL to a third person, this third person could load the link without paying, right?

4 points by donnyg107 19 hours ago 0 replies      
If this becomes a high traffic site, it could really help fight internet piracy. If I have a high demand, hard to find video, I'm far more likely to try to sell it than just give it away. And even if I can't because the site is closely watched by the actual copywriter holders, the idea that money can be made off any online property can give internet knowledge and assets the feeling of physical worth, to the degree that people may grow hesitant to just give away their video and music files. It also has potential to detract from the information free-for-all of the internet, as people may also grow hesitant to share in general, but that would only be for sellable things, so blogs and general information are basically out. If successful, this site could make major change in the attitude of the internet. In essence, conflict exists between copyright holding companies, who believe their intellectual property should be paid for, and the general population of the internet, who freely share information constantly. This conflict could seriously benefit from a general shift toward the resounding feeling that information and online assets are worth something and should be bought and sold. That could be of serious detriment to the culture of the internet, but the communities could also gradually adjust. After all, the feeling that assets have monetary value is the way we live in the real world, its only a matter of time before the internet starts to follow.
10 points by evoltix 22 hours ago 4 replies      
Seriously? I'm not sure I could take anyone seriously that tried to sell me a link of "value." Why not just share the link for free like people have been doing since the beginning of time?

Don't get me wrong. You did a great job getting this rolled out over a weekend and it looks nice. I must need some enlightening because I really don't get it.

4 points by rokhayakebe 22 hours ago 0 replies      
This may just be the simplest way to sell digital goods.

I think all content should be uploaded to your servers otherwise if someone gets to the final link they can just send others to it.

11 points by suking 22 hours ago 1 reply      
Nice - how about this as a feature: # of downloads allowed. This would allow people to sell just 1 copy or set up something like a groupon-esque clone. First 50 people get 50% off. Then after 50 people say you're too late. Just an idea.
1 point by franze 5 hours ago 0 replies      
i love the idea, i hate the new "We have a tiered system for pricing:" basically it says: if you earn less, we will take even more. so basically if - lets say - earn 2 dollars (casual user who sold a psd template for 1$) this service now takes 2$ - 230c = 1.40$ - (1.40$ 0.3) = 98c

this tool should encourage casual use
it makes a perfectly simple product complicated.

please overthink your pricing-strategy. make it as simple as possible, iterate from there.

18 points by cavilling_elite 22 hours ago 1 reply      
This looks like a really expensive way to get Rick Roll'd :)
5 points by mtw 19 hours ago 0 replies      
Are you collecting taxes? if it's a company registered in the US

Also how do you deal with chargebacks?

2 points by nyellin 22 hours ago 1 reply      
You can tell clients to check the http referrer for your domain. That would (mostly) stop people from posting now-useless destination URLs online.

http referrers are easily spoofed, of course, but it'll be enough to prevent most people from sharing secret urls on twitter. You could also pivot and allow people to upload files to your own server, but that's a different story.

2 points by hugh3 17 hours ago 1 reply      
I'd work on the name. Gumroad? What does it mean?

To me it brings up an image of a road, covered with gum. I'm trying to get where I want to go, but there's all this gum on the road slowing me down. It's a huge and annoying obstacle. And that is a bad mental image, given that what you're selling is a sort of obstacle.

It's not too late for a different name.

3 points by tezza 22 hours ago 0 replies      
Seems good.

How long until exact clones appear? What makes GumRoad the micro-paywall of choice?

How long until shortened<-->lengthened websites appear which reduces how many people pay up?

4 points by aquark 22 hours ago 0 replies      
Interesting concept -- how do you deal with the legalities?

If I buy something am I buying it from you or from the original owner?

How long do you hold onto the funds to deal with any potential chargebacks?

2 points by bryanh 21 hours ago 0 replies      
Brilliant little idea, I think the big selling point is speed and ease of use. I might create a similar product to this for BitBuffet.com (a similar file selling service I created), as I think the process can be further streamlined.

Digital sale processes still need streamlining for everyday users (especially one-off users) and I can see a service like this taking off.

2 points by eddieplan9 20 hours ago 0 replies      
Nice product!

Feature request: use the top half of the screen to show a preview of the linked page rendered as a PNG. Use the other half of the screen for soliciting payment. I want to know what I would get with the payment. How much of the target page is shown should of course be configurable by the page owner.

3 points by kloncks 22 hours ago 1 reply      
Is this what you've been working on in SF, Sahil :) ?
5 points by schwabacher 22 hours ago 1 reply      
I really like you color pallette. How did you come up with it?
2 points by tlrobinson 20 hours ago 0 replies      
I already dislike URL shorteners, there's no way I'm going to give my credit card info to one.
2 points by icco 20 hours ago 0 replies      
Seems cool. I wish you'd render the about text box for products with Markdown or something though so the links were clickable.
1 point by suprafly 16 hours ago 0 replies      
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 634, in __call__
File "/base/data/home/apps/gumroad/1.349472656690944858/main.py", line 60, in get
if is_logged_in():
File "/base/data/home/apps/gumroad/1.349472656690944858/main.py", line 110, in is_logged_in
s = sessions.Session()
File "/base/data/home/apps/gumroad/1.349472656690944858/appengine_utilities/sessions.py", line 562, in __init__
self.session = _AppEngineUtilities_Session.get_session(self)
File "/base/data/home/apps/gumroad/1.349472656690944858/appengine_utilities/sessions.py", line 142, in get_session
ds_session = db.get(str(session_key))
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1422, in get
keys, multiple = datastore.NormalizeAndTypeCheckKeys(keys)
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 180, in NormalizeAndTypeCheckKeys
keys = [_GetCompleteKeyOrError(key) for key in keys]
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 2339, in _GetCompleteKeyOrError
key = Key(arg)
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore_types.py", line 364, in __init__
raise datastore_errors.BadKeyError('Invalid string key %s.' % encoded)
BadKeyError: Invalid string key agdndW1yb2FkciMLEhtfQXBwRW5naW5lVXRpbGl0aWVzX1Nlc3Npb24Y.
1 point by primigenus 20 hours ago 0 replies      
There's some potential for gamification here. Here's a Gumroad URL which, when paid for, unlocks some kind of challenge that you must solve in order to find a new Gumroad URL. Which unlocks another challenge that leads to another Gumroad URL, continuing for n steps until you unlock the final reward. Each step costs less than a dollar.

How would this have played out if eg. Dropbox had run their challenge on top of Gumroad?

2 points by yoshyosh 16 hours ago 0 replies      
Am I missing something or could you just employ a download method rather than link? Maybe something like how istockphoto does it. Although the link leads to a purchase terminal, if they make the purchase it would prompt a download rather than a link they could share.

Also link shorteners + asking for credit card information immediately can get iffy in terms of trust and fraud. I understand that it is an mvp though. Later you might be able to employ a buy credits system like istockphoto does.

1 point by potomak 5 hours ago 0 replies      
This is my daily fail: http://potomak.tumblr.com/post/4361901296/developer-business...

Developer ≠ Businessman

4 points by mgeraci 22 hours ago 1 reply      
I like the simplicity of the home page, but I would want to see what a user would see when supplied with a gumroad'd link before singing up.
3 points by lux 23 hours ago 1 reply      
What are your fees? Didn't see that anywhere on the homepage.
2 points by ojilles 17 hours ago 0 replies      
sahillavingia, your personal site looks awesome too!
2 points by bokonon 12 hours ago 0 replies      
I saw it mentioned here already, but the idea of a "Name your Price" option would be really cool. Just like how Bandcamp does it. I'm always more motivated to support artists that chose this option.
1 point by ck2 19 hours ago 0 replies      
Just a caution, if you are taking in money via paypal and then paying out via paypal, paypal will probably shut you down within a month. They don't like competition.
3 points by fuscata 22 hours ago 1 reply      
I get a broken lock icon, and "Connection partially encrypted" message. You need to make sure all externally linked resources on the page use SSL. Specifically: change http://fonts.googleapis.com/css?family=Cabin:regular,bold to https://...
1 point by jimminy 18 hours ago 1 reply      
First off, I like the idea, but there are some noticeable flaws, many which have been brought up.

One interesting one for me, which is more an oversight, is that anyone can make money off of the sale of a link. There is no way to validate that the person posting the link, is the owner of the content. So someone could sell links to a page on HN, Reddit, Techcrunch, etc. at no expense to them.

If this did occur, I think it would cause a quite negative view of Gumroad links, as being scammy. In which case, people would begin to avoid them, reducing their effectiveness as a possible sales medium. Without oversight, as to who is selling a link, this might end up smothering itself out.

3 points by mizerydearia 17 hours ago 0 replies      
1 point by erikch 13 hours ago 0 replies      
I've been thinking about this exact problem for a few weeks now. I have gone as far as buying a domain for it (epayfiles.com) and I just started coding. I think I'll continue on with my project I'll just focus on a different payment niche.

After doing some quick research I found five or six sites with similar ideas. Most of them focus on selling digital files not links. The link idea sounds novel. The presentation is also very clean. Looks good.

1 point by dps 6 hours ago 0 replies      
Great idea. Your email address matching is case sensitive, you might want to fix that.
1 point by ddkrone 20 hours ago 0 replies      
There is no way to stop re-selling of the content once somebody has bought it short of implementing some horrendous DRM system.
2 points by jorangreef 16 hours ago 0 replies      
Well done this is brilliant.
1 point by bauchidgw 19 hours ago 0 replies      
please tell us when the first (real) vc are knocking on your door ... this is just awesome and has more potential then the most startups covered by techcrunch and co
2 points by tommoor 15 hours ago 0 replies      
I think it's a great idea, and really well implemented so far.

Best of luck with it!

2 points by caioariede 18 hours ago 0 replies      
If the value is zero the user is being redirected to home, after accessing the link url.
1 point by livejamie 21 hours ago 0 replies      
I like it, there's a lot of functionality missing, as you said but tons of possibilities.

I'd like to see a "pay as much as you'd like" feature, where you can set a minimum amount (like radiohead and girl talk do) but still allow them to pay more.

1 point by DrOkter 19 hours ago 1 reply      
Why wouldn't stripe just implement this themselves? Since their payment processing service (and API?) is 99% of the project, seems like they'd make their own and cut you off if this gained any traction.
1 point by Flam 12 hours ago 0 replies      
How do I know that, when I pay, I am actually getting what I am paying for?
How do you handle chargebacks etc..
1 point by woodall 9 hours ago 0 replies      
Really neat way to sell vulnerabilities.
1 point by huge_ness 18 hours ago 0 replies      
So it's funny that this happens today: http://news.ycombinator.com/item?id=2407969
What skills do self-taught programmers commonly lack? quora.com
137 points by thenicepostr 11 hours ago   121 comments top 49
51 points by jedsmith 10 hours ago replies      
It's interesting that this question implied the negative -- not what's the difference between, not even what are the strengths and weaknesses of, but:

> What pieces of the whole are missing?

The implication being that without a formal CS education, it is an impossibility to obtain a whole. As if whole matters; how does one obtain whole, anyway?

This is a very loaded question and perspective that betrays a serious bias, in my opinion. That we're making a generalization out of humanity's life experiences is futile in itself, but alas, the application of said generalization here is far more interesting to me.

3 points by Deestan 25 minutes ago 0 replies      
I started programming at the age of 8, and went on to study CS at the age of 20. So, I count myself a self-taught programmer with a Master in computer science, and I have an opinion:

The formal education didn't teach me any skills I couldn't have picked up on my own.

It did however, teach me to ask questions I didn't know existed, lovely abstractions and a lot of useful theoretical concepts. Instead of constantly being surprised by things like "oh, wow, Java's static classes are really similar to python modules of free functions", I can clearly see that they are both manifestations of the same idea, but shaped differently by the language design. This makes it much easier and quicker to pick up new languages and technology.

20 points by agentultra 10 hours ago 1 reply      
This is a most frustrating and poignant question.

I am a self-taught programmer. That being said, I'm not lacking in any desire or ability to teach myself. In fact I am quite active about it and not just in programming. Sitting on my bookshelf is a current set of AoCP and the companion, Concrete Mathematics. I keep journals of my thoughts, progress, and notes about excercises. I converse with knowledgable people on usenet and irc. I build things to know how they work.

On the other hand, I can understand why such a question is important. Someone new to programming might simply not know what questions to ask or where to go once they've finished the tutorials. Or perhaps they just reach the limits of their knowledge and hit a road block.

However, there are lots of people who load this question with a lot of FUD about self-taught programmers. I just want to let them all in on a little secret: hardly anyone cares about your degree. It's an investment in an institution and doesn't grant you any knowledge that you couldn't gain on your own with a little work and self-discipline. That being said, such an investment does have its advantages. Automatic knowledge and the intuition to apply it is not one of them.

15 points by andywood 9 hours ago 0 replies      
This category "self-taught programmers" is an insidious over-generalization. Used in this context, it seems intended to conjure the image of an undisciplined hack who learned how to cobble code together from an "In 21 Days" book.

This belies the fact that programming and computing have a long and rich tradition of attracting brilliant individuals who, despite taking alternative paths, still manage to go very deep by virtue of their own drives and all-consuming interests.

I've worked closely with many dozens of CS grads in my career. I haven't detected much correspondence between "has degree" and "knows what they are doing." I've seen an overwhelming correspondence between "is truly passionate about programming/computing topics" and "knows what they are doing."

I would have somewhat more sympathy for the dichotomy implied by this question, if all CS grads graduated at the top of their class from a very good CS school.

36 points by guelo 10 hours ago 2 replies      
My hypothesis is that a CS education would be most useful after you have already spent 5-10 years in industry. Unfortunately for most people life just isn't structured in a way to allow for full time education later in life.
11 points by phamilton 8 hours ago 2 replies      
I'd say that programming falls into two categories. I don't quite know how to describe them, so here are two examples:

1) Your average database/object driven application. There is user input. This translates pretty directly to output. There may be some interesting algorithms in between, but it's pretty much UI programming.

2) Solving difficult problems. A logistics routing application. The bulk of the code is based on graph theory, reducing the problem perhaps into smaller segments that can be solved in different ways. The UI is just the surface.

There is a need for both types of programmers. The first type are increasingly graphic designers who decided to learn PHP or some similar situation. There are tons of great applications out there that really aren't that complex (except when scaled to extreme proportions - ie Twitter). Wordpress, Gmail, even Microsoft Office isn't terribly complex (at least, the 90% of it that everyone uses).

The second group seems to be a bit more selective. Applications like Dropbox, which need to route data in the most effective way, or Adsense, in which profit needs to be optimized in choosing what ad to display as a page loads. These are complex problems, with complex solutions. That's where O(n) analysis is important. That's where an understanding of graph theory and established algorithms is critical.

While these two groups aren't completely exclusive, I'd say many self taught programmers find themselves in the first group.

15 points by sutro 7 hours ago 0 replies      
John Carmack is a self-taught programmer.

There is no programming skill that a school can teach that a motivated individual cannot learn outside of school. That is one of the great joys of working in this most democratic and meritocratic of fields. Its secrets are not locked away in an ivory tower, they will reveal themselves to all who seriously seek them. The only tuition required is hard work and persistence.

4 points by Dn_Ab 7 hours ago 1 reply      
I am self taught with no degree :( and think that the key is in being curious and exploring. A constant pressure/feeling of greater ignorance also helps drive that. I learned to program cause I wanted to make games so from there I picked up C, a tiny bit of numerical methods, pointers and finite state machines. Self teaching C++ was horrible so I quit computers for a couple of years. However, I came back to it but wanted a language as different as possible from C++. I tried python but my short term memory is terrible, I could not get my head around dynamic types. I tried scheme but was too dumb to get the syntax. I had an interest in pure maths so was drawn to haskell and ML. Simply being interested in haskell you get thrown in the deep end and get introduced to a bunch of theoretical stuff which I perused for a couple of years, including from the list:

Data Structures,
Programming Languages (http://www.cis.upenn.edu/~bcpierce/tapl/),
Patterns (mostly in the guise of how pattern Y is an inferior version of feature X oh & monads are super patterns),
Functional Programming,
Object Composition,
Lambda Calculus,
Type Systems, Category Theory

Each of the above expands and leads to its own world. As a self learner you just have to keep exploring. For example with category theory, you pick up type theory and learn how they and sets all relate. From sites like this one you learn about the importance of unit testing and version control. From lambda calculus you can rewind to Frege, unrewind to zermelo and learn about first order logic and trace a line from Haskell to Weierstrass program - taken to its absurd conclusion with Bourbaki - to rigorize Calculus (along the way you may learn of infinitesimals and the hyperreals formulation of Calculus by robinson which I found more intuitive).

After a while I realized that I was really into Artificial intelligence, Graph theory and Subjective Probability theory. The latter two, I think will be the Calculus of the future[1]. This led me through Machine Learning, more much more numerical methods and brings me to today. I don't know much about search or compilers or a great understanding of system internals but I can pick it up if it interests me or I need it.

The downside to self learning is that with no teacher everything is harder. With no teacher you can't double check your model so really understanding takes longer. There is no need to test yourself so you are in danger of jumping around without having properly learned anything.

My solution is to read voraciously to index and just work on what I want so that if I need a concept, knowing of its existence allows me to know that I should learn more on that topic. at the least I can make that connection. Revisiting is key, if you don't understand something now move on but be sure to come back later. Relate/Analogize/search for treatments that most suit you. Good with programming and learning differentiation? Then derivatives as higher order functions paired with Euler's notation makes it way easier and makes expanding to higher dimensions more straightforward. Learning hard things gets easier if you keep at it and you continually expand your base. Its all very slow going though and knowing when to Explore and Exploit your current knowledge is tricky. Till recently I leaned too much towards explore but if you want to get stuff done you need to exploit with what you got. I doubt this approach would have been viable 15 years ago. Or before Google and Wikipedia citations. Finally, I hate academic papers behind paywalls.

[1]As the corner stone of techniques. I see the concept of entropy appearing everywhere and find the idea of quantum mechanics as a complex probability theory just incredible.

7 points by Homunculiheaded 7 hours ago 1 reply      
I thought it was strange that Functional Programming ranked high. In my experiences CS depts are pretty mixed, in some schools it's essential, but in many others it's all but ignored. Additionally when I list out all the people I know who are big into fp on twitter or else where, at least anecdotally, it seems to be pretty heavily skewed towards the self-taught. I have a mixed background (self-taught then back to school) but all of my fp work has been on my own time an curiosity. I've always found it rather ironic that FP is considered academic when very few academics spend their time on it.
1 point by Derbasti 29 minutes ago 0 replies      
Some programmers are really engineers or scientists who solve their problems using computers. Even though they usually had some programming class at the university, they never had a formal CS education.

But then again, they know a heck of a lot about some specific problem space, be that audio algorithms, weather forecast or nuclear fission reactions.

This is one area where CS graduates are just about useless. Without knowledge of the problem space, those programming skills still won't solve the problem.

8 points by Sapient 10 hours ago 3 replies      
I grew up on computers, and am exclusively self-taught, yet I have an in-depth knowledge of how computers actually work from spending time learning how to crack programs. A decent understanding of some fairly complex algorithms from writing RTS, Chess and other games and working on some awesome ML applications professionally. And a good understanding of FP from playing with langs like Haskell and implementing a lisp interpreter.

I have also never learned a single thing from sitting in a lecture hall (though I did do a two year CS diploma, the hardest thing we ever had to do was an Address Book in VB), the most important things I have learned with regard to programming have all come from tutorials on the net and the few books I have bought over the years. In a sense, I have been taught by some of the best people in their fields including K&R, Abelson and Sussman, Denthor, CLRS, _why and too many others to mention.

Since I am self-taught, I can't really give a good answer to the question, but imho, our biggest problem, is that we don't know what we don't know... And that we usually don't a solid understanding of the maths behind what we are doing, something I recently realised the importance of, and am trying to remedy in myself.

Aside: What is really meant by "self-taught programmer" anyway? I have managed and worked with people who came out of university and couldn't program their way out of a paper bag.

1 point by wr1472 15 minutes ago 0 replies      
Quite simply they lack the education, this is different to knowledge, which, I'm sure they do not lack, otherwise they would not be competing at the same level for the same jobs.

Education can lead to an acquisition of knowledge, but it is by no means the only way of acquiring it (experience for example is another way).

Knowledge is what employers look for, and it is a better indicator of ability than education - especially for non-grad positions.

5 points by freshfunk 9 hours ago 1 reply      
A few things:

- Renowned CS programs spend less time than you think teaching you how to actually program. Programming is simply a tool to teach things like theory, algorithms, mathematics, logic, artificial intelligence, operating systems, graphics, and so on. I actually took a class on programming C++ and it was one of those independent self-teaching classes. :)

- I think one needs to differentiate between programs that teach programming as a trade and a CS program at a top school. I imagine the experiences are quite different. Much like there would be a difference between someone who learned from Learn C++ in 21 Days vs the hallowed Abelsson and Sussman (Alyssa P Hacker anyone?).

- I think most lower division books can be read by anyone and they would glean the same amount of knowledge. In fact, I would say there isn't much difference if someone went to somewhere like OpenCourseWare and learned it themselves.

- I think you'll find more difficulty at the top end. While it's possible that self-taught programmers would do these exercises, if I ever meet one I'll bow down before him. I'm talking about classes like CS 162 Operating Systems (http://inst.eecs.berkeley.edu/~cs162/sp11/) or CS 170 Efficient Algorithms and Intractable Problems (http://inst.eecs.berkeley.edu/~cs170/sp11/).

- With that said, I personally rarely (if ever) use the things I learned in these classes. Perhaps if I wanted to write my own language, my compilers class would be useful. Or maybe if I got really deep into machine learning, then my AI class would have been more use.

So, I guess with that said, it's really about what doors were open to me on matters that, even when taught, seemed impossible to understand. Doing it self-taught is just that much harder unless you're the guy from Good Will Hunting.

All in all, I'd say that for the majority of people who are not that specialized (like web developers) it doesn't make much of a difference. The people for whom it made a real difference went on to do research in a specific area and are the ones who are hired for some specific knowledge they have (eg. classification algorithms, machine learning algorithms, security, complex statistical models).

9 points by bmcleod 10 hours ago 2 replies      
The list they've put together it long enough that I would expect nearly everyone to be missing a few.

Compilers and Machine learning are probably the two that you don't see in self-taught people much. The ones you do see it in generally go to university shortly after having been self-taught anyway.

Most of the other things on the list you learn if you deal with particular programming languages. And a university degree doesn't really supply breadth much more than being self-taught does. But someone who was self-taught and then did a degree will be much broader in skill, which is why those people seem to have such diverse skills.

The actual answer is that the self-taught programmer needs to keep learning and broadening into other languages etc. Which is exactly the same thing any other programmer needs to do.

1 point by Tycho 1 hour ago 0 replies      
Look, as far as I'm concerned, unless you had nothing but other peoples' source code and API documentation, you are not 'self-taught.'

I used to cobble together VBA macros for Excel at work, based on code snippets and the built-in help files. At first, although I got things done, I really had not a blinking clue what I was doing. Then after a few weeks I bought Excel VBA for Dummies - which taught me how to do things properly and understand the essence of all the constructs I was using.

I read more books, and I read web tutorials and watched video lectures. They taught me a lot. Then I left work to get a post-graduate-conversion certification in IT. I always said I was doing it for the cert, not the teaching. The course was good but only because it instilled discipline. Really attending a lecture is no different than watching one on YouTube or iTunesU. The teachers don't have time to give you personal tuition. Their notes are not more instructive than the classic CS/software books in publication. The learning materials available elsewhere are decent rivals to professional education courses. The only thing I can see being a huge benefit is doing pair-programming with an expert for a few years, but how many courses offer that? Not to mention, the learning that's supposed to go on at universities is hardly automatic.

So therefore the question is meaningless, unless you mean actually self-taught people, who would probably (if they managed to develop into competent professionals) have some strange quirks. Like self-taught musicians who never learnt common techniques I guess.

1 point by ErrantX 1 hour ago 0 replies      
So, as a self-taught programmer I know a smattering of those things (admittedly compilers, FSM's and functional programming came from my engineering degree).

The problem I have with that question (as already pointed out) is that it is phrased as if those things are crucial aspects of "being a programmer", or being good at it.


I use bits and pieces of the skillset; but I realised a while ago that the bits I use are things I knew (and made use of) way before knowing the topic in depth. Large parts of those topics are theoretical underpinning which is undeniably useful, but something you can get along without if necessary.

And that, I think, is the main difference between self-taught and taught programmers; the latter have a lot more theoretical understanding of programming concepts. In most cases it doesn't set them apart, but in the case of hard problems, or unique solutions having the theory is required for a solution.

I argue that the problem is classifying these things as "skills" rather than theory/concepts.

2 points by ryanklee 48 minutes ago 0 replies      
I won't discount the that there is a value in being taught by a professional educator. However, the primary sources are there for everyone. The excellent secondary sources are there for everyone. The amount of supplementary material available via the internet is very advantageous to the autodidact. The available interactions via the internet are such that they approach a collegiate peer group (if triaged). All of this taken together and approached in a steady, determined fashion, I believe, can near to perfectly simulate a college CS education (or education in almost anything else for that matter).

Academia and college educations are getting increasingly difficult to idealize as information becomes redistributed and consumed in unsanctioned ways. And sanctioned ways, too. See all flavors of OCW.

8 points by mberning 10 hours ago 1 reply      
I mostly agree with this, although I don't think classically trained programmers fare much better on average. I've had many university educated programmers that I've had to teach basic parsing, data structures, and algorithms such as tree traversal.
4 points by dfranke 10 hours ago 1 reply      
I thought "category theory" was a very strange thing to include in the list, so I searched down and found this equally strange comment: "I wish I had time to spend a year learning category theory to better understand how to structure things to be compositional". This is akin to saying, "I wish I had time to spend a year studying fluid dynamics so I can learn how to fly a plane".
9 points by eli 10 hours ago 0 replies      
That just looks like the table of contents to an introductory Comp Sci textbook.
1 point by veidr 2 hours ago 0 replies      
I think we tend to lack a deep knowledge of those aspects of programming that bore us.

I love learning, and I still do a lot of it by myself. But there's an infinite amount of cool shit out there to learn, and a finite amount of time.

That's why--despite having written several commercial software products, and having worked on systems deployed for years at a stretch--I can't even code a bubble sort or a quicksort, in any language, without resorting to google. ☆blush

The implied deficiency doesn't offend me; I don't really want to sit through two semesters of algorithms classes in C or Java, but at this point I definitely wouldn't mind having done so fifteen years ago.

4 points by mkramlich 6 hours ago 1 reply      
After digesting the Quora thread some more, I think it's yet another "bait" question -- meaning, one not seriously asked, because both (a) it's loaded, and (b) the answer(s) are obvious and no need to discuss among serious people with reasonable intelligence.

For example this:

>> And as a follow-up, where can said self-taught programmers find good resources on the above subject matter?

Come on. In 2011, where could one possibly find good resources for the above. Let me rack my brain... Hmmmm.... Maybe.... rhymes with Internet? Rhymes with Google? Rhymes with bookstores? I don't know. I give up. I wish I had a PhD in CS so I had the formal education needed to figure this one out. Thank goodness for Quora! (Wait, that's part of the Internet. I missed the class.)


1 point by ja27 1 hour ago 0 replies      
I've worked with a few and some of the things I've noticed:
No understanding of regular expressions / state machines / automata. Not understanding O() and algorithm complexity. Building kludged together language parsers. Not understanding parallel execution, threading, starvation, deadlock, etc. Generally not knowing about well-known algorithms and data structures and how to apply them.
1 point by lallysingh 1 hour ago 0 replies      
Sadly, the most important one is nowhere to be found: good software development practices. I've met a lot of brilliant self- taught programmers, who could read up on parsers and systems programming, but not one read up on how to keep software maintainable or how to manage project risk.

Of course, they default to waterfall. (!!!)

1 point by arethuza 3 hours ago 0 replies      
I did a CS course and it was pretty heavy on maths and theory - and although you had to do a lot of coding to pass there wasn't much effort made to teach you the pragmatic elements of real world development.

University CS courses are terrible at being vocational training - but they are absolutely the best place to be if you are interested in research and the theoretical underpinnings of the subject - which are pretty vital if you want to go on and do posgrad work (which I did).

4 points by orijing 10 hours ago 1 reply      
There's a much wider range of ability among self-proclaimed self-taught programmers. Some may be "self-taught" to the level that they have completed and understood the entire Art of Computer Programming (those released already, anyway). Some may be "self-taught" to the level that they can write a couple for loops in PHP and Javascript.

It's a hard question to answer because "self-taught" spans too wide a range of skill.

5 points by Fluxx 9 hours ago 0 replies      
I'm a self taught programmer and have been doing a lot of interviews with developers, both self taught and schooled lately. In general, self taught programmers seem to fall in to two categories.

1. They learned one language (PHP or C#), just enough to be productive, and manage to get jobs and make a career out of small "programming" jobs. Sharepoint monkeys, small consulting gigs for web development clients, etc.

2. They have an insatiable appetite for programming and never have stopped learning or expanding their skill set. I fall in this category. I'm constantly reading books, learning from coworkers and never settle for my skill set. I've also gone back and taken some college-level CS courses, which have helped me greatly as well. I'm currently in the process of reading all the seminal computer science books (currently reading the gang of four design patterns book).

In general though, having a CS background doesn't make you a good developer any more than getting an MBA makes you good at business. It's about how you apply it. Plus, you can be a good developer and valuable employee for lots of other reasons besides being book smarts: dependable, productive, smart instincts, etc.

3 points by wisty 7 hours ago 0 replies      
It's really funny, how the LISP bigots say "Lisp", and the numerical experts say "numerics". If you ask those guys what's wrong with CS today, they would say "No Lisp" and "No numerics" respectively.

Even good programmers have huge holes in their knowledge.

1 point by URSpider94 6 hours ago 0 replies      
Peeling back the clearly insulting bias in the phrasing of the question, I do believe in programming as a craft. By that I mean that it's possible to become pretty good at it by just screwing around on your own, but you're fooling yourself if you think that you don't have something to learn from the academy.

To use an analogy, I think of myself as a decent carpenter, but I'm always blown away when I watch "This Old House," because Tom Silva is always busting out really great shortcuts that make things like scribing molding to the wall look really easy. I'm sure he invented some of those tricks on his own, but I'm also betting that he learned a lot of them from his days as an apprentice carpenter to someone older and wiser.

I think it's definitely possible to get such an education without ever setting foot in a school, for example by working closely with a skilled mentor, but I do think it would be hard to naturally stumble upon all of these key areas without someone laying out a self-study plan for you.

2 points by gavinballard 3 hours ago 0 replies      
It's really interesting to see that so many HN readers describe themselves as "self-taught programmers". I would describe myself as that as well, despite just graduating from university last year with a Software Engineering degree (at my university, Software Engineering is a four-year degree that's essentially a superset of a Computer Science degree).

I think the use of labels in this instance are not helpful. A person who hasn't touched a piece of code before they enter university is unlikely to magically become a great programmer in the course of three or four years. Indeed, my first-ever submission to HN was spurred on by a bit of disgruntlement at the quality of some of my peers (http://news.ycombinator.com/item?id=1902687 - not much in the way of discussion :).

My opinion on what you might get with a degree that you would be less likely to get without formal study:
> More study of development processes and tools (this might apply more to SE than CS)
> More study of the broad theory of computation
> Earlier exposure to team programming (this comparison is clearly with "self-taught" programmers that aren't working in the industry)
> Much, much more cruft that you're not really interested in :)

I'm personally glad that I studied SE at a tertiary level. It balanced out my other degree, it was a good way to meet other like-minded folks (and to compare my own skills against them), and perhaps most importantly I was exposed to a lot of stuff that I feel I wouldn't have sought out on my own. That said, I would feel it the height of presumption to "look down" on a programmer with a lack of degree. I know firsthand that a piece of paper does not make you a good programmer, and vice versa. The real determinant of how good a programmer you are is how good a programmer you are.

4 points by bugsy 9 hours ago 2 replies      
There's a comment there where someone says you go to school to learn how to learn. Clearly self-taught programmers already have this part mastered.

It leads me to wonder why we aren't asking, "What skills do school-taught programmers commonly lack?"

2 points by mkramlich 6 hours ago 0 replies      
The question, as it was posed, was pretty arrogant and contained an implicit assumption. It assumed that a "self-taught" programmer does not know, or does not have available to him, certain things that a so-called formally taught programmer does. And that's just not true. Both self-taught and academically taught programmers have access to books, computers, the Internet, peers and tools. Also, there's no black-or-white difference between the two: the academically trained programmer has had some amount of so-called self-teaching, and the self-taught programmer almost always has some amount of academic education. Also, they both have brains, and are able to reason out things for themselves. Many things are learnable by experience, and learnable when needed. Also, there's the point that everything ever put into a textbook was at some point independently discovered or learned by someone, without the benefit of a textbook or academic course -- instead they had to discover it directly or think it up themselves, or derive or synthesize from something else they read or learned previously, sometimes in adjacent or even very different fields. The computer itself is a wonderful teacher. And what the Internet makes available to everybody, regardless of whether inside a university or not, makes even the famous Great Library of Alexandria look pale in comparison.

But I overstepped myself. I couldn't possibly have these thoughts, or reach these conclusions, without having been spoon fed it from a professor in a university course. I'm sorry. I forgot my place. Back to the servant kitchens for me....

...oh look, a book on algorithms, what's that doing in the servant kitchens? I'll sneak a peak when nobody is looking. :)

2 points by Osiris 8 hours ago 1 reply      
I'm a self-taught programmer also, as many others have mentioned. I believe a CS degree can certainly be a launching point for people passionate about programming and computers. I actually did a year of CS before switching to a humanities degree. Part of it was I got a little scared off by some of the complex algorithms that came in the second year and I didn't have a good foundation. I ended up teaching myself PHP and VB.net.

In my profession, I ended up becoming a "technology guru", including some development. But as the only developer I never have had anyone else to lean on for expertise or support.

I think that for a self-taught programmer, having (good) mentors is probably a far more effective way to learn real-world development skills than a CS degree. I feel, for myself, that I would thrive in a development team where I could learn for co-workers and receive criticism and correction for my work.

Without that outside influence, it's hard to know if what I'm doing is really the best or even a good way of doing it.

I think every developer needs a mentor, and that's what I feel I missing most.

(P.S. Does anyone out there want to be my mentor? I am looking for a technical co-founder for a startup idea I'm working on)

2 points by csomar 4 hours ago 0 replies      
It doesn't have any meaning, at least for me. If your aim, when you started to learn, was to follow a CS course (say, MIT courses), then you are going to have an equal knowledge. If your aim was to build your first web site and do HTML/CSS/JS and PHP stuff, then you are going to learn it and do it.

You cannot know everything anyway, no? And CS courses differs from an university to another. The benefit of being self-taught is that you choose the materials yourself and you are enlightened when you study it.

5 points by Hominem 9 hours ago 0 replies      
Not surprising. That is a list of things 99% of working developers do not do on a daily basis. And I'm not sure most of that will help 99% of developers on a day to day basis.

I once had a project to extract customer contact information from an Excel spredsheet. I use Bayesian probability to determine if a column was a first or last name and trained it using US census data. Then used Levenshtein distance to find names that were possible misspellings. It worked great, but on the POS computers that most people in the company had it took so long they usually just gave up. I would have been better off just sticking a DDL and letting them select what each column was.

Oh well, maybe If I was actually trained I would have figured out how to do it by writing my own compiler or Excel extraction DSL

2 points by humbledrone 9 hours ago 0 replies      
The question must have been typoed. Given that list, I think the question was supposed to be, "What skills do novice programmers commonly lack?"

Anyway, I know first hand (from interviewing quite a number of people) that a lot of university graduates lack the listed skills. Sure, they might be familiar with the term "compiler," but that doesn't mean that they have the skills to actually write one.

Don't get me wrong -- for some people, a university education is perfect. There are plenty of grads that know what the hell they're doing. But getting a degree is far from the only way to learn what you need to know to be a decent programmer, and it certainly doesn't guarantee that you'll be one.

3 points by clistctrl 10 hours ago 0 replies      
Self taught programmer here. I would like to think I have at least a bit of knowledge about each of these topics (though definitely not an expertise in most) I would say the one I know the least about is Machine learning, but i'm actively working on changing that :) I just bought this book (and enjoying it!) http://www.amazon.com/gp/product/0262013193
1 point by sayemm 2 hours ago 0 replies      
I'm also a so-called self-taught programmer. I thought about this very question a while ago and came across this definitive answer by Joel Spolsky: http://stackoverflow.com/questions/414779/what-should-a-self...

He also nails it again in his post, "The Perils of JavaSchools" - http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...

2 points by ddkrone 7 hours ago 0 replies      
That's a pretty silly list. Many formally trained programmers also lack understanding of several items on the list. How much can you really teach anyone on compilers and machine learning in two months? The easiest way to learn something is to use it. Taking tests and turning in homework assignments for 8 weeks only gets you so far. If you want to pick up the formal theory and functional aspects of programming then I highly recommend the course notes available at http://www.seas.upenn.edu/~cis500/current/index.html. If you get to the end I guarantee you'll know more about the theoretical aspects of programming than any "formally" trained programmer at a big name university.
3 points by munificent 6 hours ago 0 replies      
I'm mostly self taught. The biggest gap I find is that I pronounce stuff wrong since I learned it from a book. It's embarrassing.
1 point by kevbin 7 hours ago 0 replies      
"The difference between the university graduate and the autodidact lies not so much in the extent of knowledge as in the extent of vitality and self-confidence."
-M. Kundera

“[T]here are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know.
But there are also unknown unknowns " the ones we don't know we don't know."
-Donald Rumsfeld

1 point by goombastic 7 hours ago 0 replies      
This is a good question and actually one that drives most self taught people. This sustained sense of "ooh, I haven't seen that before" helps the self taught learn far more than many formally educated programmers I've met.
2 points by Sakes 9 hours ago 0 replies      
The best programmers I know are self taught. This is because they have a passion and hunger to learn and improve. This is what it takes to be a good programmer. I've met many people that have a CS degree because they simply didn't know what else to do while in school.

You are not vetted by final exams, you are vetted by creating something of value.

1 point by Kyotoku 7 hours ago 0 replies      
Interesting how people here took the question in such a negative tone. This list is actually useful for a novice self-taught programmer, like humbledrone said. As a self-taught lots of times I felt like I was missing something when I read programming stuff. Of course I didn't stay still I just went learn what I was missing. A list like that could have come pretty handy than. (ok I could look at some CS courses syllabus too)
4 points by zedrick 9 hours ago 0 replies      
The ability to manage a college loan.
1 point by davetong 8 hours ago 0 replies      
A main anti-pattern I've observed from self-taught programmers (including myself during my early career as a junior dev) is lack of planning. This leads to being time-inefficient, cow-boy coding and generally misplacing priorities. Furthermore, an individual's personality type preferences contributes to this.
1 point by CyberFonic 8 hours ago 0 replies      
A self-taught programmer is like a self-taught dentist.

Funny thing is that the former gets lots of work and the later none at all.

1 point by owls 9 hours ago 1 reply      
How many of these things can one really be missing and still call themselves a programmer? I'm self taught myself. Pointers? Really? You can learn pointers in about 20 minutes.
-1 point by Joakal 10 hours ago 0 replies      
Interpersonal relationship skills.

Even universities don't teach social skills for life.

Xp - agile programming tools in Coffeescript github.com
15 points by reddittor 4 hours ago   4 comments top 2
4 points by keyist 2 hours ago 1 reply      
For the love of Kernighan & Ritchie, please do not promote this as "a convenience library aimed towards non-expert users." The only way beginners are going to learn is experimenting with the command line, not having their hands held with a tiny subset of what's available.

And the positioning -- what's agile about knowing your public ip or uploading images to imgur? Is this a belated April Fool's day joke I'm not getting?

Ok, now that I'm done venting, here's the *nix equivalents for all but the pair command (will edit in. EDIT: added. also did s/python2/python):

    # base64 is already a command, supports -d

function imgur_up() {
curl -F key=yourkeyhere -F "image=@$1" http://api.imgur.com/2/upload

function public_ip() {
curl -sL myip.dk | egrep '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'

function sloc() {
sed '/^$/d' $1 | wc -l

# no args clears users
# with args, assigns usernames
function gpair() {
if [ -z "$1" ]; then
echo "Resetting to default user"
git config --unset-all user.name
git config user.name "$(echo $@)"
echo "User is now: $(git config user.name)"

function tab_to_space() {
sed 's/\t/ /g' $1

function space_to_tab() {
sed 's/ /\t/g' $1

function url_decode() {
echo "$1" | python -c 'import sys,urllib;print urllib.unquote(sys.stdin.read().strip())'

function url_encode() {
echo "$1" | python -c 'import sys,urllib;print urllib.quote(sys.stdin.read().strip())'

function web_serve() {
python -m SimpleHTTPServer

EDIT: Brought to my attention: http://news.ycombinator.com/item?id=1448309 =\

1 point by jesusabdullah 3 hours ago 1 reply      
Truth be told, if anyone actually gets butthurt because xp duplicates functionality found elsewhere, then they're just being silly. People duplicate functionality all the time. In a lot of cases, we just call it "competition."

So, here's a question: I've noticed that the nodejitsu guys usually use Cloudhead's node-static for static file serving. On the other hand, I usually use Connect's staticProvider. Why do they use node-static over staticProvider? Also, can node-static be used as Connect middleware? Given that fileServer.serve seems to take "req" and "resp" arguments it would seem so, but I also see it being used with the stock http interface in all the examples.

Canadian-backed report says piracy is a market failure, not a legal one thestar.com
125 points by pwg 14 hours ago   31 comments top 7
10 points by danilocampos 10 hours ago 2 replies      
It's interesting " this study establishes what Apple guessed ten years ago: the only way to win against piracy is to compete with it in ease of acquisition.

I don't believe in the media industry enough to think this will have any impact but I'm glad to see the details laid out.

Meanwhile, the world moves on. I watch Starcraft casts by two Canadian guys recording in their bedrooms. I can watch their stuff instantly on my iPad when they upload it, anywhere in the world. I'd happily pay for more. Let's hope this leads the way to the future.

1 point by sudonim 12 minutes ago 0 replies      
Users take the path of least resistance. Piracy is appealing because it gives users what they want, when they want it, at a low enough cost (both in time and money) that they don't think about the transaction.

The content owners have taken a strategy of trying to make piracy less appealing, rather than trying to make their offering more appealing. Unfortunately for them, that's an uphill battle that funnels money to lawyers and lobbyists that could otherwise be used for innovation. Dinosaurs will die.

19 points by FreeKill 13 hours ago 6 replies      
It makes sense to me. I have a friend of mine that doesn't live in the US, and she says some movies and tv shows are 6 months to a year late coming to her country, even though they are advertised and hyped up all over the internet. Before the internet, it wasn't as bad because if a movie was coming out in the US, people in other countries didn't really hear about it much due to a sandboxing of each market. Now, it's extremely difficult to avoid, and it generates hype for content that may not be satisfied for months.

While obviously, that doesn't excuse piracy, it definitely plays havoc with the marketplace. The rights holder desires to bring a product to that market on their own timetable. Unfortunately, advances in technology and globalization of the marketplace make it increasingly difficult for someone who desires that product to wait for these arbitrary deadlines and legally obtain it, especially when convenient, simple options to get it immediately exist.

While it may not be the most profitable solution for a content creator to focus on legally making their content as available as possible, it would seem it is definitely the best way to combat piracy as many users would consume the content "as intended" if only the option was available to them and affordable.

14 points by jat850 13 hours ago 0 replies      
I would highly recommend Michael Geist's blog and writing to anyone who follows piracy issues.


14 points by beloch 12 hours ago 2 replies      
"Groups such as the Business Software Alliance have acknowledged that Canada is a low-piracy country"

This statement is in stark contrast to the story the U.S. government tells. They claim Canada is one of the five worst countries for piracy along with China, Mexico, Russia, and Spain.


Interestingly enough, Canada's status as a pirate country is usually upgraded whenever copyright lobby groups are trying to get draconian updates to Canada's copyright laws shoved through parliament. They were getting close this year, but the election has thankfully nixed that. Again.

3 points by cicada 7 hours ago 0 replies      
The report is Media Piracy in Emerging Economies, website at http://piracy.ssrc.org/ where the pdf is available under a "Consumer's Dilemma" license.
2 points by lux 12 hours ago 0 replies      
It's nice to see what's probably seen as a bit obvious by a lot of us who are more intimate with technology being pushed into the general public discourse. Much needed in order to move forward, and good on Canada to publish this!
Traffic Stats from Two Guest Posts compversions.posterous.com
9 points by marcamillion 3 hours ago   1 comment top
1 point by redrory 20 minutes ago 0 replies      
Were they any other blogs that you approached for a guest post?
Orchestra.io, PHP Platform, Enters Public Beta orchestra.io
16 points by aeden 4 hours ago   11 comments top 3
1 point by kingofspain 1 hour ago 1 reply      
It would be nice if anyone had an option for deploying with mercurial. Purely anecdotal of course, but most of my PHP chums run hg as well. I know there's hg-git but for all the hassle it took to set up, I may as well have just used git itself.

(Incidentally, I was quite interested in this originally, but while waiting for an invite I ended up bodging together something on Amazon myself. Amusingly enough, my invites for phpfog, orchestra and dotcloud all came within 2 days of deploying!)

1 point by troels 3 hours ago 0 replies      
Well presented. It looks like it might hit the target audience very well, I'd say.
1 point by growt 3 hours ago 1 reply      
The site itself loads really slow. Makes a bad first impression for a platform service.
Sshuttle - tunnel all your traffic through ssh github.com
204 points by fs111 19 hours ago   65 comments top 21
36 points by tlrobinson 16 hours ago 4 replies      
NOT all your traffic. This only does TCP. Any DNS, UDP, and other non-TCP IP traffic won't go through the tunnel!

I tried sshuttle awhile ago and abandoned it because of this. The only thing worse than no security is a false sense of security.

14 points by bryanlarsen 18 hours ago 2 replies      
+1 for a reference to slirp, which let you turn a dial-in connection to a Unix terminal into a real internet connection back in the days when your University would give you a terminal connection but not a PPP connection.
8 points by ch0wn 17 hours ago 1 reply      
I set up an OpenVPN server for this purpose. This solution is so much easier and elegant, it's not even funny.
5 points by bretthopper 18 hours ago 0 replies      
It's always good when there's only 2 steps to get it working and they work perfectly.

Using it over hotel wifi as I'm typing!

6 points by nprincigalli 17 hours ago 0 replies      
Just a little nitpicking, when he talks about TunnelVision, he should have said:

  And nobody never notified me of any security flaws in my key exchange,

Instead of:

  And nobody ever found any security flaws in my key exchange,

Yeah, hell is in the details...

Regarding SSHuttle itself, I really liked it! (coming from someone who does all his browsing with ssh -D)

5 points by iuguy 18 hours ago 1 reply      
How does this compare to OpenSSH VPN and Socks Support[1]?

[1] - http://wiki.enigmacurry.com/OpenSSH

1 point by sandGorgon 8 hours ago 1 reply      
Can I receive postbacks using this ?

Explanation - as usual, my company works on a shared LAN which goes through a single internet connection.
To test some applications, we have to be able to receive postbacks (on our developer machines) through 3'rd party services.
The best way we found was to have an OpenVPN server running somewhere. Each developer connects to the VPN server and receives a private IP-address. All postbacks go to the VPN server and are then routed through nginx to the correct developer machine (on the private IP address).

VPN is a pain to setup and configure - can something like this be used instead ? The question really is - how does nginx forward requests to the correct developer machine.

5 points by agj 17 hours ago 0 replies      
The alternative that predates this is to this is to just tunnel ppp over ssh using pppd:

    pppd updetach noauth pty "ssh root@example.com pppd nodetach notty noauth" ipparam

I used this for many years before switching to openvpn. This does require root access on the host to execute pppd however.

2 points by psn 11 hours ago 1 reply      
https://github.com/apenwarr/sshuttle/commit/33efa5ac62eaf9cf... is the point where I get confused.

In a normal tunnel setup, one tunnels at the IP layer, and dumps all IP packets into the tunnel. At the far end of the tunnel, packets are sent onwards based on the far end's routing table. Things like DNS "just work" because everything happens at a layer below TCP and UDP. In this system, he's making it work for each non-tcp using layer 4 protocol separately, leading to weirdness like rewriting /etc/hosts.

For tcp, he's nating all traffic locally to a local server, which then multiplexes all incoming traffic into the ssh connection. The remote side then unmultiplexes the data. I don't fully understand how this avoids tcp over tcp. Maybe I'm dumb. [edit: yeah, I'm dumb. the tcp connection is terminated at the local server, the contents are pumped over the ssh connection, and the remote side opens a new tcp connection]

I wrote this mostly because I read the readme and went "but how does it work?".

2 points by davej 17 hours ago 0 replies      
Brilliant. Before this I used `ssh -d` and tunnelled everything through the port with proxifier.app but this is a much nicer (and free) solution!
9 points by paulv 17 hours ago 0 replies      
It doesn't do TCP-over-TCP. From the README:

sshuttle assembles the TCP stream locally, multiplexes it statefully over an ssh session, and disassembles it back into packets at the other end. So it never ends up doing TCP-over-TCP. It's just data-over-TCP, which is safe.

1 point by apenwarr 12 hours ago 0 replies      
2 points by sigil 18 hours ago 1 reply      
Very cool. I wonder how hard it would be to port the muxer core to C, and run it under tcpclient / tcpserver on either end of the ssh connection.
2 points by chopsueyar 17 hours ago 1 reply      
How would one go about setting this up with a firmware rewritable consumer-grade router?

Can I have a ww-drt install act as a client with Sshuttle and install a public key to require no login?

1 point by ccarpenterg 17 hours ago 2 replies      
I'm a little confused. I'm outside USA and I want to browse some restricted content for users located outside of the U.S. Can I do this using Sshttle and a VPS?
2 points by askedrelic 17 hours ago 0 replies      
I've been running this for months now and really like it. Really simple to setup and quite flexible.
1 point by duckyflip 18 hours ago 2 replies      
Would this circumvent the checks Hulu does for example by forcing Flash to always connect directly.
i.e using SOCKS Proxy will not work with Hulu but using full VPN will, so how will sshuttle rate ?
1 point by tobylane 17 hours ago 0 replies      
Anyone know of a portable Chrome that I can SSH into home with? Preferably something I can leave on a shared computer, while only I have access to the stunnel. Also, it may need to be able to use port 80, I don't know the filter inside-out.
-4 points by chopsueyar 17 hours ago 0 replies      
From the github.com page

This is how you use it:

    git clone git://github.com/apenwarr/sshuttle on your client machine. You'll need root or sudo access, and python needs to be installed.

./sshuttle -r username@sshserver -vv

(You may be prompted for one or more passwords; first, the local password to become root using either sudo or su, and then the remote ssh password. Or you might have sudo and ssh set up to not require passwords, in which case you won't be prompted at all.)

That's it! Now your local machine can access the remote network as if you were right there. And if your "client" machine is a router, everyone on your local network can make connections to your remote network.

You don't need to install sshuttle on the remote server; the remote server just needs to have python available. sshuttle will automatically upload and run its source code to the remote python interpreter.

This creates a transparent proxy server on your local machine for all IP addresses that match (You can use more specific IP addresses if you want; use any number of IP addresses or subnets to change which addresses get proxied. Using proxies everything, which is interesting if you don't trust the people on your local network.)

Any TCP session you initiate to one of the proxied IP addresses will be captured by sshuttle and sent over an ssh session to the remote copy of sshuttle, which will then regenerate the connection on that end, and funnel the data back and forth through ssh.

Fun, right? A poor man's instant VPN, and you don't even have to have admin access on the server.

       cached 5 April 2011 14:02:01 GMT