hacker news with inline top comments    .. more ..    13 Mar 2014 Best
home   ask   best   5 years ago   
2048 gabrielecirulli.github.io
2645 points by frederfred  2 days ago   379 comments top 151
terabytest 2 days ago 37 replies      
Hey, author here! I'm pretty overwhelmed that this made it to the top of HN without me even thinking of posting it here :)

I made this game as a fun weekend project, inspired by another game called 1024 (https://itunes.apple.com/us/app/1024!/id823499224) and a spinoff called 2048 (http://saming.fr/p/2048/). I did mine to add animations to the latter, which was a bit hard to play without them.

I discovered Threes only today, and I had no idea it looked so similar. I searched a bit and it appears as if 1024 is also inspired by Threes, so my game is probably the last of a long chain of clones :P

The code is also open-source. You can find it here: https://github.com/gabrielecirulli/2048

Feel free to ask me anything, and thanks to everyone for the attention! :)

By the way, my highscore is somewhere around 6000. Admittedly, I'm quite bad at playing my own game :P

EDIT: Make sure not to get addicted!

EDIT 2: The game now has swipe gestures and vim keys support (added by @rayhaanj)!

chavesn 2 days ago 7 replies      
Not many posting winning scores, so here's mine: 2048 and 20368 points


I'm not going to claim it was first try. Probably my tenth. However, I got much better at avoiding the key mistakes:

- Always keep your highest number in a corner

- Use the rest of that edge as a "staging area" for the components that can next double the highest tile. Work the other tiles toward the opposite corner on that side and then double them upward into the highest corner.

- When you double the highest corner, you'll expose the "staging area" side. During this time, quickly work number back to fill that side so you avoid being forced to move the highest number out.

- NEVER let yourself fill a 3x4 grid. This will force you to move the highest column away from the edge and will probably end the game in a handful of turns.

wmeredith 2 days ago 4 replies      
No one has mentioned it yet, but this is an in browser version of the excellent iOS app Threes: http://www.joystiq.com/2014/01/30/addictive-ios-puzzling-com... no affiliation, just a fan
jader201 2 days ago 3 replies      
First of all, kudos on a well designed game. It's obvious you've made something pretty addictive, as evident by the place on HN and the responses you're getting here.

One thing I've found out is that you can pretty easily get to at least 512 or higher just by repeating the following pattern:

  right + down + left + down
Try it out and you'll quickly see how it works. Any other similar pattern would also work:

  right + down + right + up  up + right + up + left  left + down + left + up
I will also sometimes break the pattern to consolidate some of the larger numbers when opportunities present themselves. But other than that, I usually stick to the pattern.

Of course, it will only get you so far, because you will eventually run out of space to keep the pattern working. But it will get you past the first few thousand points (512 or higher).

throwaway_yy2Di 2 days ago 1 reply      
For those "playing" in the javascript console, here's one way to get a handle on the (inaccessibly scoped) game objects:

    GameManager.prototype.__actuate =         GameManager.prototype.actuate;        GameManager.prototype.actuate = function() {         window.gm = this;         this.__actuate();    }
On the next move, the game object will exfiltrate itself into the global window namespace.

    gm.grid.eachCell(function(x,y,_) {         gm.grid.cells[x][y] = new Tile({x:x, y:y}, 1024);     });        gm.actuate();

benesch 2 days ago 1 reply      
See also the original iPhone game: http://threesgame.com (Support the developers! It's a great game.)

Or a truer JS clone: http://threesjs.com

tbenst 2 days ago 5 replies      
Made it to 1024: http://imgur.com/QQUXzCN. Here's my routine:

1. "tumbler" until 128: up right down left, repeat

2. Get 128 on the top in the middle two slots. Really any edge works, but I'll say top for simplicity. Keep a semi-large value on the side with one open slot in top row to prevent sliding. The other side on top is used for staging

3. Only use left, right and up. Never let a smaller value get trapped. This rule can only be violated to avoid filling the top three rows with the fourth empty.

I lost this game because I mistakenly filled the top three rows, forcing me to use a down. I think this strategy is viable to win however

Dave_Rosenthal 2 days ago 0 replies      
I wrote a version myself in python and have been playing with strategies. It seems fairly resistant to simple greedy strategies (maximize highest score/maximize empty squares/etc).

In terms of "blind" strategies [up, right, down, left]* works pretty well, but [up, right, up, left]* is by far the best I've found. It gets to 512 about 30% of the time (!), with about 0.2% hitting 1024. Still haven't seen a "win" using the blind strategy in several 10,000s of runs.

tptacek 2 days ago 0 replies      
Why do I feel like another good name for this game would be "8 years of running a startup"?
dzink 2 days ago 0 replies      
The game is super addictive and I figured out a way to get to 11000 in the first hour. It's actually an excellent analogy for social network-type products and any business really. If your users belong to different clusters and similar clusters don't meet, there is little value and the network doesn't become more valuable for anyone. By focusing on the same corner scenario you help similar clusters find each-other consistently and thus amplify value to each-other. I took over one corner and keep stacking on to it with blocks of increasing value, essentially never moving out of it. If you move out of your corder, a different cluster takes hold in it and then everyone in that corner will hesitate to buy into you, even if the other cluster is small - it becomes a thorn in your butt. Great job! I learned something new today (Plague has also been very educational for me so far, but for viral dynamics.)
xsace 2 days ago 1 reply      
So I'm playing this since 10 minutes now and I have no idea what so ever I'm doing but it makes me feel like I'm performing well.
JoshTriplett 2 days ago 1 reply      
Quite a lot of fun.

One minor nit: if the board is full, but you can make a move that will free up a space, you can make that move and the new tile will appear in the newly opened space, but then the game immediately ends afterward. EDIT: OK, apparently this only happens if there are actually no more moves; as long as moves remain the game continues.

Also, hitting "space" reset the entire game; I'd expected it to either do nothing or add a tile without moving.

JacksonGariety 2 days ago 2 replies      
I have some interesting results.

The first time I played the game I scored around 3000 points. After that, I tried to slow down and focus on keep the same kinds of numbers together, but after that, I couldn't get past 2250.

So I wrote a script that used Math.random() to hit the array keys continually, and the score was much lower: 1000.

Then I tried the sequence RIGHT UP LEFT DOWN over and over instead of Math.random() I scored significantly higher than all of them, in the 4000s.

Does anyone know why this might be?

instakill 2 days ago 1 reply      
This simple game really shows how amazing the human mind is. I've never played any variant of this game before and when I first started I was blind to the mechanics of how this worked. I was moving so slowly and would fill up the board quite quickly.

After playing this game for 2 hours now my fingers are moving faster than my conscious mind can really follow. In my last game I was doing combo moves taking "2" blocks to "64" blocks in mere keystrokes. I've been surprised several times when things work out.

mightybyte 2 days ago 0 replies      
Finally won with a score of 20548. At first I was using a strategy of getting the biggest number into a corner. This follows a pattern of mostly up-right-up-right-... with an occasional left or down thrown in to get unstuck. This approach can pretty reliably get you to 512 in the corner without much trouble. But eventually this method saturates the available "storage" space with an inefficient pattern of tiles up to the diagonal. Then you have to start changing things up and continuing becomes tricky.

Then I tried the approach mentioned here of left-down-right-down-left... in a very mechanical fashion. I believe that this is very likely the optimal mindless strategy. It works amazingly well. As long as you never hit up, it fills things very efficiently and the biggest numbers percolate down towards the middle of the bottom row.

The way I finally won was to take this second approach and augment it with some periods of trying to get the biggest number in the corner. Start with ldrd until you get some 64s or 128s, then slow down and play catch-up with a corner. Then go back to ldrd. Occasionally stopping at strategic places to consolidate things also seems to help quite a bit.

All in all, a very fun game with some interesting properties.

Ethan_Mick 2 days ago 2 replies      
Great game! Love the simplicity!

I played a round, and got to 512. But toward the end I wasn't sure if I was actually playing with a strategy, or just pressing buttons randomly with some thinking involved.

So I built a script to randomly press the arrow keys[0]! I let it play a few games, and the highest it got to was 128 before consistently losing. So I guess you'll need some decent strategy to get to 2048.

0 - https://gist.github.com/Wayfarer247/9469272

AshleysBrain 2 days ago 0 replies      
Very cool. Spent a while trying to get a high score by thinking about it, but in the end managed to beat it just by pressing the arrow keys anticlockwise one after the other!
Link- 2 days ago 0 replies      
Quick and dirty 'dumb' solver (might require manual intervention sometimes):

var manager = new GameManager(4, KeyboardInputManager, HTMLActuator);// Pattern definition (0: Up, 1: Right, 2: Down, 3: Left)var pattern = [1, 2, 3, 2];// Pattern Repeatervar i = 0;// Intervalvar solverInterval = window.setInterval(function() {// Check if game is overif (manager.over)clearInterval(solverInterval);// Repeat patternif (i % pattern.length == 0)i = 0;// Execute the movemanager.move(pattern[i]);i++;}, 200);
Best pattern found so far is "var pattern = [1, 0, 3, 0];" I reached 1024 with it. https://dl.dropboxusercontent.com/u/21387598/1024-Best.png

pedrocr 2 days ago 2 replies      
I think I have the beginning of a solution. The end result should be 2048 on the top-right corner (for the explanation). Always keep the highest value there. To do that never do a down without the right column filled and never do a left without the top row filled. Within those restrictions keep the top row in ascending order by building numbers on the left of the second row, so that they will match above and cascade right in powers of two.

I did this successfully for a while and then had no other option but a down without the rightmost column filled and lost my placement.

EDIT: A variation of this that works well is to only do up, left and right if at all possible. This keeps the highest values on top making it easier to match top-down. I've been stuck on 512 though.

ssully 16 hours ago 0 replies      
Finally had a chance to play Three's since it came out on android today and it honestly just made me want to play this more. The games are very similar, but 2048 is just more enjoyable to me.
Link- 3 hours ago 0 replies      
Has this game beaten the record for HN front-page time? It's been 4 days now!
tanushree 1 day ago 0 replies      
This game feels like life. I plan and make a move. Some pieces move exactly as I had wanted. A bunch of other pieces that I wasnt looking at, also move. Some of these unexpected results surprise me and make me happy, I even subconsciously take credit for them. Some others, I dont even notice. Its okay, there is too much going on.

Sometimes it feels too hard and pointless to plan, so I am pressing the arrows almost randomly. Need a break from thinking and taking responsibility. I just hope that I am going in the right direction. Sometimes I do, sometimes I dont. Its also hard to tell. Ah well.

Now Ive been doing pretty well at this for a while, I am getting pretty good I think, I have it all under control. A few moves later, before I even know it . oops! suddenly its all a mess! :(

But there are miracles also. Ive been in this mess for a bit now and its not much fun. Its slowed down and my heart is not in the right place. Suddenly, a couple of moves later, I am totally back in the game! I dont know if I know this, but it was barely my doing!

Of course, its this elusive goal (of 2048 or 42 or whatever else), its the reason why I keep going. I am pretty sure itll be really cool once I get there :)

noonespecial 2 days ago 0 replies      
Oh! My productivity! It's like the "great sudoku disaster of '02" all over again!
themoonbus 2 days ago 1 reply      
This is one of those games that I do best on my first try when I have no idea what I'm doing, and then do worse and worse the more I think I have a strategy.

Fun though!

ponytech 5 hours ago 0 replies      
After having beaten 2048 we thought "what's next?". And we made 4096 : https://news.ycombinator.com/item?id=7386557 :)
dergachev 2 days ago 0 replies      
The source code's here, in case anyone is interested: https://github.com/gabrielecirulli/2048
granttimmerman 2 days ago 4 replies      
Hey guys! I made a multiplayer version of this game in about an hour or so. (Twitch plays pokemon style)


Check it out! Or clone it! https://github.com/grant/hnplays2048

grej 2 days ago 1 reply      
Love this! Just when you think that a genre like tile puzzle games has been completely done, something like this comes along and shows a new way of thinking about it.

The most amazing thing about this game is how it manages to be so creative and different while being so simple.

jozydapozy 18 hours ago 0 replies      
This script will give you a keyboard-shortcut to skip the 'boring beginning' of the game. Run it a few times to get a nice starting point:

function arrows(key) { var eventObj = document.createEvent("Events"); eventObj.initEvent("keydown", true, true); eventObj.which = key; document.dispatchEvent(eventObj); }

document.onkeypress = function (e) { e = e || window.event; if (e.charCode = 122) { for (y=0; y<=100; y++) { arrows(39); arrows(38); arrows(37); arrows(38); } }};

var divje = document.createElement('div'); divje.innerHTML = "Press 'z' to fast forward ;)"; divje.style.position = 'fixed';divje.style.padding = '10px';divje.style.top = '10px';divje.style.left = '10px';document.body.appendChild(divje);

(some js based on script from varyform)

chx 18 hours ago 0 replies      
http://i.imgur.com/LeGXQhA.png while I couldn't beat this, I believe this to be one of the highest score games possible :)
VonGuard 2 days ago 0 replies      
I've found simply pushing up, left, down, right, I can routinely outdo the score I can attain by actually playing with thought.... Kind of disappointing, but then I lost hours to this already. Fabulous game!
johncoltrane 5 hours ago 0 replies      
Thank you, you effectively turned my 3 hours daily commute in instant teleportation.
lrem 1 day ago 0 replies      
gyom 2 days ago 0 replies      
I never imagined that I would one day feel like I'm "downing in my own filth of useless powers of 2".
rhapsodyv 10 hours ago 0 replies      
It's the best of HN: https://news.ycombinator.com/best ... more than 2x of the second!!!!
scoofy 2 days ago 1 reply      
I feel like a crazy person, but when i play this game for a while, screen text appears smaller. Like it's messing with my eyes or something. Does anyone else feel this happening?
dubcanada 2 days ago 0 replies      
I found that smashing the arrow keys was the most effective way to play this game.
Guillaume86 2 days ago 0 replies      
Nice, only thing I don't like in the game is that I do better scores just doing (repeat((left or right once) + (up till it doesn't work anymore))) than when I think about my moves...
farslan 2 days ago 1 reply      
Reminds me threes: http://asherv.com/threes/
jballanc 2 days ago 0 replies      
I can't help but feel like there's a fairly simple heap invariant hiding in the solution here...
richardlblair 2 days ago 1 reply      
Fuck you.

okay, awesome game.

Still, fuck you.

aeon10 2 days ago 0 replies      
Wrote a script which plays using a simple greedy approach. Chooses the current best option. Doesn't seem to get past 512 so far. It does however consistently get till 256. Just copy the code in the console and restart the game (space bar) to run.

Does anybody have a better approach? Other than randomize and trying your luck? Or maybe that is the best algorithm for this case..


userbinator 2 days ago 1 reply      
I decided to take a look just because I saw this:

    2048 (gabrielecirulli.github.io)     1337 points by frederfred 8 hours ago

pointernil 2 days ago 1 reply      
And now we start the social experiment:

"Will 2048 ever reach 2048 points on HN? And how long will it stay at exact that number of points?"

Good luck everyone! ;)

just2n 2 days ago 0 replies      
A simple strategy of building along one side will get you to a 1024 tile every time, but getting to 2048 seems largely dependent on RNG. If you get tiles spawning where you want them, it's very easy. If not, it can actually be impossible.

It's unfortunate that RNG plays a significant role.

adnam 2 days ago 0 replies      
Welp, there goes the rest of my day
josteink 2 days ago 4 replies      
Animation doesn't seem to work in Firefox. Does nobody test in Firefox anymore?

This WebKit monoculture is getting quite anything. It's msie all over again...

platypii 2 days ago 0 replies      
Totally nerd sniped on this one. Will never get those hours back :-)

Meta question: Would it be possible to get 4096?

gavinpc 2 days ago 0 replies      
The first step is admitting that you have 2^N problems.
honksillet 2 days ago 0 replies      
While we are throwing around clones of threes, here is my SEXY clone of titled Menage a Threes. Heh.http://www.kongregate.com/games/honkskillet/menage-a-threes

Also, protip: to get high score choose one direction that you will never push towards. You'll end up with a gradient of high value tiles on one side, lower on the other, which desirable.

ISL 2 days ago 0 replies      
2048! Took ~4-5 hr. Thank you!
PaulJulius 2 days ago 0 replies      
I managed to get 2048 on my first try. Different enough from Threes to stay interesting, but a lot of the same strategy applies. In Threes though, the number that appears has a higher chance of being a bigger number (24, 48, even higher later) the longer the game goes on. There were a few times I was almost stuck and was able to get out of it by continually moving in the same direction and sucking up 2s.


bromagosa 2 days ago 2 replies      
Ship it as a mobile app, seriously!
kyberias 2 days ago 0 replies      
Simple and creative! I like it a lot.
Ellipsis753 2 days ago 0 replies      
I got a single square with 256 in it and a score of 2016 before I got bored. It's addictive and fun but a single game is much too long. I would like to lose a few times and improve but with a game this long I get bored before I've even lost the first time.
stanmancan 2 days ago 0 replies      
I just repeat Left => Up => Left => Up until I can't move any further, then "Right => Up => Left" before going back to the left up combo. Keeps the largest values top left and the values decrease towards the bottom right. Stacks the values well for combining and you can easily get 512 => 1024 without even looking.
mightybyte 2 days ago 0 replies      
Oh, so close. Got a ways into the 1024 tile with a score of 12236.


tillinghast 2 days ago 0 replies      
Maybe Monday morning is finding me too pedantic, but this is similar to Threes (http://threesgame.com), not just like Threes. There are some pretty obvious differences, from the movement of the tiles to the requirements for tile mergers (multiples of 2 rather than 3). The comments thus far do not make that distinction.
abiglan 1 day ago 0 replies      
Egads this is excellent! As others have mentioned, would love to see a 5x5 variation and also be allowed to "keep going" after getting to 2048 to see how far you can go. I was disappointed that it ended and I had about half the squares empty and -might- have been able to get a 512 on the board as well.But just fantastic. Perfect balance of "speed when I want to blast through the easy levels" and "I need to think about the best next move" as well as try to construct an algorithm that helps get me to the endgame!
throwaway420 1 day ago 0 replies      
Last 3 hours nothing but this.

Fuck I think I'm addicted.

Congrats on the next flappy bird.

K0nserv 2 days ago 0 replies      
I was horrible at this so I tried randomizing it instead. So far I am still beating random at 256, the randomized script has reached 128 at most


EDIT: Script reached my score of 256

EDIT2: Script reached 512

jliptzin 1 day ago 0 replies      
This game is ridiculously addictive
MattBearman 2 days ago 0 replies      
What a fucking game! Seriously, best game I've played in ages, and I only made it to 512. I don't think I'm gonna get much done today...
fdej 2 days ago 0 replies      
I got a score of 12640, not far off...

Very simple strategy: propagate large values upwards (never press down).

rabino 2 days ago 0 replies      
Interesting (somewhat unrelated) question came up at work:

What's the theoretical max tile value you can get on Three.

daGrevis 2 days ago 0 replies      
Really addictive and well done!

Wanted to add that the author also created HN Special, an extension for Chrome that makes HN look decent and adds some useful niceties. https://github.com/gabrielecirulli/hn-special

reignsly 1 day ago 0 replies      
Guys. I win :PI have created my own patterns and methods.

Tada! I got my 2048 tile :) So happy


hayksaakian 2 days ago 0 replies      
5000 pts just doing up, down, left, right

I scored worse by actually thinking and applying strategy. this IS a difficult game.

jackgavigan 2 days ago 0 replies      
Productivity approaching zero...
intull 2 days ago 0 replies      
Is this the most upvoted most in HN? Maybe HN wants the number of votes to be 2048 :)
freefrancisco 19 hours ago 0 replies      
Finally solved the damn thing!
mavhc 1 day ago 1 reply      
I feel like this game is a metaphor for buying SD cards.

Finally beat it, 20588.

selter01 2 days ago 4 replies      
I wonder if there's an optimal strategy. Hmm.
chanux 2 days ago 0 replies      

I have a suggestion that is different from the common. Other than taking this finely open game in to a walled garden, bring flattr or gittip there :).

Pxtl 2 days ago 0 replies      
Done it! I rule! And now my evening is wasted.

Good game.

secondhandvape 2 days ago 0 replies      
My entire agile team is now impeded because of this game.
apunic 2 days ago 0 replies      
'conceptually similar to Threes' should have been 'stolen from Threes'
adamwong246 2 days ago 0 replies      
Monday's productivity: obliterated.
jmnicolas 2 days ago 0 replies      
I don't know if I should thank you, curse you or burn my computer.

I will choose the lesser evil : burn the computer !

Thanks ;-)

aeiowu 2 days ago 0 replies      
Beat it on my first try: http://cl.ly/image/023K3o2F3X2P
jobigoud 2 days ago 0 replies      
Ok, I give up. I managed to get a 512 and a 256 but then there is so little place to build up
Aardwolf 2 days ago 0 replies      
Brilliant game, such simple concept but very addictive. Never seen this before. I love it.
stefek99 1 day ago 0 replies      
After reading some comments I finally understood... It's not about creating [2] [_] [4] [8] line of tiles, but summing them so there is a tile of value '2048' (silly me)
breischl 2 days ago 1 reply      
Fun game! Now if only you can manage to get 2048 upvotes for it... :)
karangoeluw 1 day ago 0 replies      
Ok maybe I'm missing it, but why is this game huge? I like this game, but I fail to see why it is THE top post on HN ever!
thomasfoster96 2 days ago 0 replies      
The best thing about this game is that you can press the arrow keys randomly for about five minutes and anyone walking past thinks you're incredibly good at the game. Just make sure you lose after they walk past.
xerophtye 2 days ago 1 reply      
Why isn't this working for me?

Screenshot: http://imgur.com/9QzI3Z2

gulbrandr 2 days ago 0 replies      
What an amazing game, I like it very much!

Kudos to the creator for the perfect execution and design.

frevd 2 days ago 0 replies      
Couldn't figure out how to play it at first - because in IE11 it doesn't work as intended - check your code.
tectonic 2 days ago 0 replies      
Score of 5756 by hitting [left, right, up] repeatedly. Is there a pattern that always wins?
littledot5566 2 days ago 1 reply      
Managers around the world grieve as they know millions of man hours will be lost.
arijitraja 2 days ago 0 replies      
I was searching on google and quora trying to know what are ideal posts for hackers on HN. Thanks - your post just just answered my question!
canistr 2 days ago 1 reply      
Fascinating game. Would love to see how an AI would tackle this.
mauricio-OH 2 days ago 0 replies      
It took me 5 attempts: http://d.pr/i/vxBd

The key is big numbers at the bottom

mathgladiator 2 days ago 0 replies      
BAM! 20880 points! Got to 2048
deevus 2 days ago 0 replies      
2732 just by spamming keys for 10 seconds.
bduerst 2 days ago 1 reply      
Edit: I have completely misunderstood this game.

Very fun though.

adispen 2 days ago 0 replies      
It was inevitable. Twitch Plays 2048(http://www.twitch.tv/twitchplays2048)
beshrkayali 2 days ago 0 replies      
Just pure awesomeness! Been playing it for like an hour :)
Link- 2 days ago 0 replies      
This is so close to 2048 upvotes btw.. (1997 so far)
jay-saint 2 days ago 0 replies      
A seriously great way to spend 30 minutes on hold with Verizon.
PButcher93 2 days ago 0 replies      
Depressing that my highest block so far after ~1hr play time is less than the number of upvotes this HN post has.

Great game by the way!

cordite 2 days ago 0 replies      
After about 14 minutes, I got to 1024. It was enjoyable, but is hard when you can't swap values. http://puu.sh/7r2eH.png
taternuts 2 days ago 0 replies      
This thing is evil - stop killing my time!!!!

Great work!

peshkira 2 days ago 2 replies      
I love it! Really great and well done.

I'd appreciate it, if someone can share a few more links with similar puzzlers on the web.

sekasi 2 days ago 0 replies      
A little bit too similar to 'threes' on the app store.. I like it, but again, it's too much of a ripoff.
dblotsky 2 days ago 0 replies      
Correct me if I'm wrong, but it takes a minimum of 1024 turns to win the game.
giis 2 days ago 0 replies      
First try scored 2908 Its a very addictive game! Good work!
ekspreso 1 day ago 0 replies      
Wow, after nearly 5 hours I managed to win it. Great game. :)
GFunc 2 days ago 0 replies      
This is going to get me in trouble....thanks
mattholtom 2 days ago 0 replies      
Dude, what a mechanic that is! Just spent 1/2 hour in no time. Expand featureset, apply to PSN, profit.
jfc 2 days ago 0 replies      
This is awesome.
Morphling 2 days ago 0 replies      
Why is there no win state if you get 2048?
AnitoKid 1 day ago 0 replies      
Great game! Addicting! And I kid you not!
hkbarton 2 days ago 0 replies      
Stop me! I can't stop to play this! 45min passed!
summerdown2 2 days ago 0 replies      
Very addictive and lots of fun :)
Globz 2 days ago 0 replies      
Very fun and good looking game! Somehow I find it easier than Threes, awesome game!!
kaushikt 2 days ago 0 replies      
There are minor differences between this and threes
ddanielou 2 days ago 0 replies      
Won with 21056, after about one billion failed games. Man, that game is the ultimate procrastination machine: rids you of absolutely all of your time and gives you the feeling that you actually accomplished something.
brickcap 2 days ago 2 replies      
has anyone managed to beat it yet?
jamesxwatkins 2 days ago 0 replies      
Everything I had planned today has been put on hold until further notice. :)
daleco 2 days ago 1 reply      
I finally won! 2048 with a score of 20556. This game is evil!
robocaptain 2 days ago 0 replies      
Ugggg... why was this posted during the 7-Day Roguelike Competition week?? :)
SmileyKeith 2 days ago 0 replies      
This is a great game!
keren778 1 day ago 0 replies      
I wanna my productivity back for me paper!!!!!!!!!!!!!!!!!
visualR 2 days ago 1 reply      
Touch support please!
seanv 2 days ago 1 reply      
booom 3688 http://awesomescreenshot.com/0db2gytp66 (is that good??)
benkitty 2 days ago 0 replies      
Here's my Processing.js clone in 42 lines: http://www.ktbyte.com/textbook/gamewalkthroughs
brickcap 2 days ago 1 reply      
Are there any cheat codes?
veganarchocap 2 days ago 0 replies      
God damn that's addictive, final score: 3040 about an hour wasted at work :P Great concept though, love it.
janson0 2 days ago 0 replies      
First Try: 2068 pts. 256 highest block...
chaoskid 2 days ago 0 replies      
I didn't do anything at work today. Thanks.
DrBazza 2 days ago 0 replies      
This is annoyingly addictive.
duochrome 2 days ago 0 replies      
I don't get it...
mikemai2awesome 2 days ago 0 replies      
The first few times I tried to play, I kept thinking the objective was to get the number 2048 across the first row. Haha.
sdegutis 2 days ago 0 replies      
Please add "undo" feature. Thank you.
srahsrahyoung 2 days ago 0 replies      
By tapping the arrows in a clockwise pattern, left-up-right-down-left-etc I got 512 and a score of 6360.
kamweti 1 day ago 0 replies      
Don't play while cooking, I've learned my lesson
karanA 2 days ago 0 replies      
When does game get over?I mean is there some threshold number of moves?
seventytwo 2 days ago 1 reply      
Has anyone beaten this yet?
jigneshhk 2 days ago 0 replies      
Awesome loving it!
rsanaie 2 days ago 0 replies      
Complete time fuck
reignsly 2 days ago 1 reply      
I just scored 21748. Oh men It's Addictive :)
jheriko 2 days ago 1 reply      
neat little game :)
tracyma 2 days ago 0 replies      
what's the key to get high score?
amjaeger 1 day ago 0 replies      
finally beat it
amjaeger 2 days ago 0 replies      
this is driving me crazy
vrikis 2 days ago 0 replies      
I love this, fun to play :)
camus2 2 days ago 0 replies      
fractalb 2 days ago 0 replies      
The Face Behind Bitcoin? newsweek.com
1095 points by warrenmiller  7 days ago   676 comments top 87
bane 7 days ago 40 replies      
Topic other than discussing the irresponsibility of "outing" a guy using the clever tricks of using his name and public records look ups.

> A libertarian, Nakamoto encouraged his daughter to be independent, start her own business and "not be under the government's thumb," she says. "He was very wary of the government, taxes and people in charge."

> What you don't know about him is that he's worked on classified stuff. His life was a complete blank for a while. You're not going to be able to get to him.

Growing up and living in the D.C. area, I'm constantly surprised at the paradox of the deeply conservative anti-federal government types who work for the government - directly or as a fed contractor. Who'll rattle off about privacy issues before hopping on the bus to their job working on an NSA contract at a Fed contractor...that sort of thing.

I've even pointed out point-blank that their salaries are paid for by the same taxes they rail against incessantly and are met with blank stares or wry grimaces before they launch into an extended soliloquy about "values" or personal responsibility or some such. I've even had folks in the military swear up and down that some military benefit program isn't a result of tax payer dollars but mysteriously appears out of some kind of pay differential sacrifice they've made instead of working in the private sector.

It's rather bizarre and I guess to Nakamoto's credit, he actually did something about it in a sense.

edit meta-response to the replies indicating that perhaps his close contact with the government is what motivated him to develop bitcoin, I think that's plausible. What we don't know is if he developed this philosophy before or after working with the government.

I'm curious though, in the general sense about people who have a fundamentally anti-government philosophy, then take roles supporting and building up the same government they clog their facebook feeds rallying against.

nwh 7 days ago 16 replies      
Being labeled Satoshi regardless of truth is pretty much going to get you robbed, kidnapped or killed. This dude lives in this town and has $400M of untraceable currency? The article gives his name, face, address and relatives. You can be sure as hell that somebody will do something stupid to try and get to it.

I wouldn't wish this label upon anybody, it's exactly why the community tries to avoid speculating about it. It's extremely irresponsible of the newspaper to publish this truth or otherwise especially in such vivid detail.

Article sans paywall http://archive.is/wbw97

Gavin seems to acknowledge the article https://twitter.com/gavinandresen/status/441547758827474946

jxf 7 days ago 7 replies      
So Newsweek outed a guy who allegedly owns half a billion dollars in pseudo-untraceable, digital cash? I hope they're also going to chip in for a permanent security detail...

More seriously, I think they could have done a better job reporting on the identity without giving so much away:

* A picture of his house is posted, identical to the one in Google Street View

* The license plate is relatively clear in the high-resolution image

* His exact address has more or less already been discovered using only the information in the article

* Full names of family members were used

It's a legitimate story -- understanding Nakomoto's motivations for creating Bitcoin as discovered from his past is a worthwhile topic. (For example, would your feelings about cryptocurrency change if it turned out Nakomoto was a high-level NSA operative?) But, again, it could have been reported in a way that didn't compromise his identity so thoroughly.

Blahah 7 days ago 4 replies      
The author of the piece can be reached in these ways:


If you think this article is a dangerous invasion of privacy, tell her and her employers (Newsweek).

dTal 7 days ago 1 reply      
Wait, it was just a single smart dude whose actual real name is Satoshi Nakamoto, and here we've been theorizing shadowy pseudonymous cabals of libertarian cryptographers?

I feel very silly.

argumentum 7 days ago 5 replies      
Quite an odd article for such an important (if true) expose. The only reason I think its possibly true is Gavin's vague tweet.

50% of the article deals with material about bitcoin that is redundant to anyone whose been following it for more than a day (like most here).

45% deals with "Dorian S. Nakamoto"'s family, personal background and that he's a libertarian oddball, with a penchant for math (but no other significant accomplishment within it or CS) who (other than possible being the Satoshi) has led a fairly normal, middle class southern california lifestyle.

The remaining 5% or so details a brief encounter with the man, in which he neither confirms or denies it.

I'm skeptical.

frogpelt 6 days ago 1 reply      
This is Newsweek's watershed. They're laying Satoshi Nakamoto on the line to recreate their brand as a hard-hitting journalism publication.


EDIT: The relevant parts of the wiki article are at the end of the first section.

1. Newsweek merged with The Daily Beast.

2. Newsweek ceased print publication and transitioned to an all-digital format.

3. IBT Media acquired Newsweek. IBT Media plans to relaunch a print edition of Newsweek on March 7, 2014. (Guess what today is!)

acjohnson55 7 days ago 0 replies      
I'll probably be slammed for this, but I actually think it's a pretty good piece. Maybe it could do without the picture of Satoshi's house, but it probably wouldn't be so hard to find the house anyway if you know you're looking for an actual "Satoshi Nakamoto in Temple City".

If the dude hadn't used his real name, we'd probably still be wondering who he is. So I think the indignation is a bit misplaced. It's not at all uncommon or nefarious for news reports to be written about people who don't particularly want the coverage.

efuquen 6 days ago 0 replies      
I'm going to skirt the ethical questions being asked, assuming everything done to get this information was legal and such and the accuracy of it lives within the bounds of journalistic integrity (of course none of that necessarily makes it ethical, but like I said, circumventing that question for now).

All that said, by the number of reactions I'm reading here I get the impression that in the Bitcoin world someone with a significant amount of wealth has to fear for their life? What is the difference between Satoshi Nakamoto and any other individual of significant wealth, i.e. Bill Gates, Warren Buffet, Rupert Murdoch, etc. While I don't have any exact addresses or other information about these people on hand, I'm sure I could get it rather easily.

The emphasis I keep seeing is on how he has $400 M of "pseudo-untraceable, digital cash" and assume the concern is something along the lines of it would be more difficult to extract that much from Bill Gates if you attacked/kidnapped him and get away with it vs Bitcoin, which you could theoretically extract the keys guarding the coin from the victim and quickly transfer out to other wallets without much issue.

So, the gist I'm getting, is that in the world of crypto-currency if you get wealthy ... man you better watch out because people are going to be gunning for you to steal your coin by force if they ever find out where you live. Live In Fear. If this is the great future of finance you all envision, then I really wouldn't want any part of it.

*Side note, I really don't believe any of the above but given some of the responses I've seen I think we need to take a step back and examine the conclusions that would result from some of the statements being made.

blakesterz 7 days ago 8 replies      
"What?" The police officer balks. "This is the guy who created Bitcoin? It looks like he's living a pretty humble life."

That quote smells totally fake to me. There's just no way some random office would know what Bitcoin is, and even if he did, that's not something a police officer would say. I don't know what that says about the rest of the article, but that quote doesn't read very factual to me.

lucb1e 7 days ago 1 reply      
> "Dorian can just be paranoid," says Tokuo. "I cannot get through to him. I don't think he will answer any of these questions to his family truthfully."

What the hell, if many family members are so eager to forward questions from the press to him and spill anything they know, I can totally understand Satoshi doesn't answer them truthfully. I also feel very sorry for Satoshi's position in which he doesn't seem to have anyone to talk to truthfully :/

> Of course, none of this puts to rest the biggest question of all - the one that only Satoshi Nakamoto himself can answer: What has kept him from spending his hundreds of millions of dollars of Bitcoin

Isn't it obvious? It would destabilize the market and begin a huge frenzy to find out who he is, and he knows it. Now the latter is a moot point, but I can totally understand he doesn't want to backstab his brainchild.

Besides, who says he didn't mine other coins early on anonymously for his own use? Wasn't the point of Bitcoin that you can't know who's who? If he did this and got some money, he totally deserved it.

Steko 6 days ago 1 reply      
Shorter HN:

Would you all just think of the poor superrich for a minute? Clearly they are the ones in our society who need special protections and immunities from journalism.

cyphunk 6 days ago 0 replies      
> "For anyone who's tried to wire money overseas, you can see how much easier an international Bitcoin transaction is. It's just as easy as sending an email." -- Bitcoin's chief scientist, Gavin Andresen

No actually it's only as easy as Western Union is. You either have to take a huge cut due to localbitcoin or other markups for markets that avoid the normal route of... registering at an exchange, giving them all your details which will take weeks to months, whom will then place major limits on what you can transfer (no more than a $2k-$10k) and potentially crash burn and be robbed while you wait for your FIAT.

So actually it's like transferring money between two Western Union branches that are both in war zones and staffed with employees taken from the DMV.

jbondeson 7 days ago 1 reply      
I'm torn about the article. On one hand this seems like a horrid breach of privacy and a terribly dangerous thing to do. On the other, even if they just said he lives in his family home in California, people were going to find out all this information.

Half of me thinks it's better everyone knows they were doxed all at once.

cyanbane 7 days ago 1 reply      
I am not a big fan of the way the article was written, but I can definitely see how some may decry it as being news worthy.

I think the author should be ashamed for posting a picture of this man's house. No need for that and it doesn't add to the story after the description.

m_myers 6 days ago 1 reply      
> You have reached the limit of 5 free articles a month.

I haven't read any Newsweek articles this month. And it appears I'm not going to, either.

Google cache link for anyone else who gets the same message: http://webcache.googleusercontent.com/search?output=search&s...

sktrdie 6 days ago 3 replies      
Here's a comment left on a forum by this Dorian person: https://www.national-preservation.com/threads/preserved-bars...

Satoshi's punctuation style with the double-space after the dot is a distinctive feature of his writing, used in both the official Bitcoin publication and on forum posts.

Looking at the HTML source of that review, you can notice this exact punctuation style.

atmosx 6 days ago 0 replies      
Cool article but says virtually nothing. We have:

* A smart man, according to the article* Who worked for the government at some point in time (according to the article)* Who's name is Satoshi Nakamoto* Who values privacy (so much that he used his real name LOL)

So apart from the stalking and extremely irritating privacy breach this article shows about Newsweek's[1] journalists and chosen course of action, proves or states nothing.

He didn't admit anything, but seriously... Even he did, why do we care at this point?

[1] I was holding NS in low regard anyway. Now it's as low as it gets in my eyes.

bambax 6 days ago 1 reply      
> There are several Satoshi Nakamotos living in North America and beyond - both dead and alive

I too would like to be living in North America when I'm dead.

markbao 7 days ago 1 reply      
Honest question: it seems like Nakamoto wanted to keep his identity secret. If that's true, then why did he reveal so much information (by implying that he was part of Bitcoin) and allow a photo of him to be taken, instead of saying "I have no relation to Bitcoin"? It doesn't add up.
lucb1e 7 days ago 0 replies      
> "He was the kind of person who, if you made an honest mistake, he might call you an idiot and never speak to you again," Andresen says. "Back then, it was not clear that creating Bitcoin might be a legal thing to do. He went to great lengths to protect his anonymity."

Except that he used his full, real name. That is what seems so odd to me.

If it really is him though, I'm very much afraid this article just destroyed his life...

tomasien 6 days ago 1 reply      
A lot of people are calling this "doxxing" which it isn't - identifying someone based on their ACTUAL NAME and profession isn't doxxing. It may be horrible, irresponsible, dangerous, I don't know - still forming an opinion about that, but that's not doxxing as I know it or see it defined anywhere.
bachback 7 days ago 2 replies      
Can this be real? a guy calls the cops, but admits he was involved?

"Tacitly acknowledging his role in the Bitcoin project, he looks down, staring at the pavement and categorically refuses to answer questions."

"I am no longer involved in that and I cannot discuss it," he says, dismissing all further queries with a swat of his left hand. "It's been turned over to other people. They are in charge of it now. I no longer have any connection."

stefanve 7 days ago 2 replies      
So Newsweek hires paparazzo's now? The need to disclose everything about the guy and call several family members etc is really wrong. Which I could undo my click...., no need to invade his privacy so much, "fun to know because interesting" is not a good enough reason to write the article...
olalonde 6 days ago 1 reply      
Meta: this submission has 811 point and was posted only 5 hours, yet it is at #11 position. Is this the regular HN algorithm at work or is it weighted down due to its controversial nature? (I'm not trying to imply there is any conspiracy... I actually remember reading that submissions with a high vote to comment ratio are weighted down but I'm not completely sure)
potatoman2 6 days ago 2 replies      
"This man is Satoshi Nakamoto."

"What?" The police officer balks. "This is the guy who created Bitcoin? It looks like he's living a pretty humble life."

- I do not believe this exchange took place. The police would've had his name from his initial call to them, and a random officer from the Sheriff's department would not likely recognize that name as the creator of Bitcoin. Just saying.

mcphilip 7 days ago 2 replies      
Apparently the author of this newsweek piece will be on CNBC sometime this morning:


nmeofthestate 7 days ago 0 replies      
I'm wondering how many of the commenters that are equating holding BTC with a death sentence by violent criminals would consider themselves pro-BTC.
continuations 7 days ago 2 replies      
Does the concept of privacy mean anything to Newsweek?
bachback 7 days ago 1 reply      
worst reporting I've seen. it implies this person has admitted working on bitcoin. actually that's not even true, if you read the words.

why on earth all this work, just to chose a real name? this does not make any sense. as if SN could not haven chosen a name to deflect his identity.

act9 6 days ago 0 replies      
Gavin Andresen: "I'm disappointed Newsweek decided to dox the Nakamoto family, and regret talking to Leah."


4dl0v3-p34c3 7 days ago 1 reply      
Isn't this entire article illegal?



Whatever. Satoshi-san can sue if he likes. The damage done in the article alone is devastating for even persecution charges.

yoha 6 days ago 0 replies      
Breaking history navigation + mandatory cookies

The Wikipedia article saved me some time getting to the point:

> Though Nakamato's identity was a source of speculation since the launch of Bitcoin in 2008, an article in the news magazine Newsweek by Leah McGrath Goodman, published March 6, 2014, made the case that his true identity was Dorian Prentice Satoshi Nakamoto (born 1949), a Japanese American man living in California.[8]

fiatpandas 6 days ago 0 replies      
Completely irresponsible to put a picture of his house in the article. I mean, she didn't even blur out his house number. It took me a single google search to find his full address with that number (matching street view).

It's been taken out of the article now, but the damage has been done.

pistle 7 days ago 0 replies      
Doxxing the guy is not nice.

With this out of the way, maybe cryptocurrency can focus attention on leveling up protocols and systems to improve utility. When bitcoin becomes the Friendster of cryptocurrency, Satoshi won't matter, just the disruptive ideas around our proxies for value and the new tools and power that can be used in positive ways to help improve the lot for all humans.

People want the confidence that they are able to securely accrue and employ the value of their efforts and wisdom to improve their standard of living. The values of the mainstream of humanity will determine the fate of this stuff. The current level of technical acumen required to handle and secure most any crypto$ is too high for them right now.

It's time to level up.

jmnicolas 7 days ago 0 replies      
From the article :

"He is the only person I have ever known to show up for a job interview and tell the interviewer he's an idiot - and then prove it."


hiroaki 6 days ago 0 replies      
References to Dorian Nakamoto on the web:

Amazon: http://www.amazon.com/gp/pdp/profile/ATILATX3PEXZ4/ref=cm_cr...

Letter voting for an art rail project (search for "nakamoto"):http://media.metro.net/projects_studies/connector/images/Fin...

Google cache of a recent event where he was at (look for the guy in the yellow baseball cap):http://webcache.googleusercontent.com/search?q=cache%3Awww.m...

alasdair_ 6 days ago 1 reply      
"I obtained Nakamoto's email through a company he buys model trains from."

In Europe, this would be completely illegal. I'd suspect that in the US this at least breaks the privacy policy of whatever site Nakamoto was using.

"Two weeks before our meeting in Temple City, I struck up an email correspondence with Satoshi Nakamoto, mostly discussing his interest in upgrading and modifying model steam trains with computer-aided design technologies. "

I understand that this is sometimes how journalism is "done" but the sneakiness of it all seems pretty low.

sarreph 6 days ago 0 replies      
I'm not up-voting this because Leah Goodman has violated even the most simple of journalistic integrity that should be afforded to such a sensitive topic.

Firstly, she very dubiously breached Nakamoto's trust by attempting to get through to him by talking about his passions. Then, when she didn't get the response she wanted, she posted this article that lists multiple family members' full names, most of Nakamoto's (if this is even the real Nakamoto) personal and employment history, and then has the audacity to post a photo of Nakamoto's house that is close enough to a google street view photo, enabling others to pinpoint his location.

If something bad happens to Nakamoto as a result of the personal information disclosed in this report, it will be a great shame for Newsweek.

ChuckMcM 6 days ago 1 reply      
Doxing as journalism, kind of surreal. Not sure I get the point though. (I understand why irc enemies do it, but I don't get the journalistic value of 'outing' Satoshi)
Uhhrrr 6 days ago 1 reply      
"Reverse Polish notation" - was this originally Hungarian notation before some layer of "fact checking" ruined it? I have no idea how one would program using RPN.
brunoqc 7 days ago 3 replies      
It's weird that some police officers would know who Satoshi Nakamoto is.
emin-gun-sirer 7 days ago 0 replies      
No culture deserves to have its creation myths exposed or destroyed. Ironically, Newsweek's behavior makes a strong case for anonymous communication and payment systems.
easytiger 7 days ago 4 replies      
Can we ban paywalled articles?
glimmung 7 days ago 0 replies      
I hope nothing negative happens to the subject of this piece.

I hope something thoroughly educational happens to the author of this piece.

Cheesy and ill-considered.

grej 7 days ago 1 reply      
I wonder if Leah McGrath Goodman would like photos of her home published and members of her family identified against her will? I wonder if she thought about that, or the man and his family's safety, before choosing to publish this information about him?

Reading the description of the man and recognizing the value he placed on privacy and anonymity, I'm genuinely sad for him. I also fear for his personal safety and that of his family for the reasons others have stated.

r4pha 7 days ago 0 replies      
I thought that bitcoin as a whole would be badly shaken at the second Satoshi touched his coins. What if, now that he allegedly has a face, he could have allegedly legitimate needs to spend his coins on?

* takes off tinfoil hat

adamzerner 7 days ago 0 replies      
How hasn't anyone guessed that the math wiz named Satoshi Nakamoto is indeed Satoshi Nakamoto of Bitcoin?

Also, being that he's so secretive, why on earth would he use his real name?

gnoway 7 days ago 0 replies      
I would be worried if I was the reporter. If anything happens to Satoshi, I suspect there are a moderate to high number of people who will make this reporter's life miserable as retribution. I'm thinking of all the bs that Krebs has to put up with.

Seriously irresponsible reporting. Not brave, not necessary, not helpful, not interesting, just stupid.

mikeg8 7 days ago 1 reply      
If you want to email the Newsweek editor and let them know your disapproval, the address is letters@newsweek.com.
dharma1 6 days ago 1 reply      
For a professional journalist to sink to such a level - with zero consideration for others in order to advance their own career - never ceases to amaze me.
michaelbuddy 7 days ago 1 reply      
that is the most genius newsweek cover image. I'm stunned by how smart it was to create that artwork.
hnha 7 days ago 1 reply      
There would be an easy way to protect his well-being: Crash Bitcoin so that it is worthless.
liopleurodon 7 days ago 2 replies      
"The punctuation in the proposal is also consistent with how Dorian S. Nakamoto writes, with double spaces after periods and other format quirks."

wtf!! That's how you're supposed to write!!

treebridge 7 days ago 0 replies      
Goodman writes: "Two weeks before our meeting in Temple City, I struck up an email correspondence with Satoshi Nakamoto, mostly discussing his interest in upgrading and modifying model steam trains with computer-aided design technologies. I obtained Nakamoto's email through a company he buys model trains from." This is so sneaky and sad.
basseq 6 days ago 0 replies      
Is anyone else surprised that that police know that Satoshi is the creator of Bitcoin? That seems like an esoteric piece of knowledge for someone not in the tech space.
72deluxe 6 days ago 0 replies      
The article appears to have many "from then on he stopped responding to emails" and "he then dropped off the map" phrases in it. He might not be replying to emails?

The article is cleverly written to make these perfectly ordinary (in)actions sound suspicious. People could write the same about me if I didn't reply to emails or phone calls for a while.

mathattack 7 days ago 0 replies      
If Nakamoto ever sells his Bitcoin fortune, he would likely have to do so at a legitimate Bitcoin bank or exchange, which would not only give away his identity but alert everyone from the IRS to the FBI of his movements.

I think they just did that.

Amazing that he actually used his real name. This tells me that he didn't realize how far it would go when he started it.

gexla 7 days ago 0 replies      
Now that the article outed him, maybe he will spend some of his Bitcoin on a fortress, security and drones (coded himself of course) to patrol his house.
rl12345 7 days ago 0 replies      
On the bright side: if keeping his anonymity was Satoshi's main reason for not touching his BTC fortune, now he and his family will finally be able to use all that money and take benefit from it - well deservedly.
donutdan4114 6 days ago 1 reply      
That page took about 20s to fully load. Over 300 requests... wtf...
wil421 7 days ago 1 reply      
I feel sorry for this guy. The reign of hell newsweek is about to put on him is not going to be fun. Especially since this guy is pretty ecentric and doesnt like being in the public eye.

My hopes are no one tries to rob this guy or kidnap his family to get to his supposed 400m.

Myrmornis 6 days ago 3 replies      
Well it's too late to get any points for this inference now, but I'm going to claim that there was a strong clue that the author of the PDF was old: the bitcoin paper cites "An Introduction to Probability Theory and Its Applications" by William Feller. This is a classic, from the 1960s, but I don't think it's very well known among people under 40 (correct me if I'm wrong).
lcasela 7 days ago 0 replies      
This is a really irresponsible article. Imagine what this guy is going to have to live with for the rest of his life.
robocaptain 6 days ago 0 replies      
I'm confused, I am seeing all these comments about how it was wrong to out him and then a lot of stuff about governments and stuff.

But isn't it just crazy that they actually found him? I thought that was a big deal? Last I checked, lots of people doubted he was even a real person.

vezzy-fnord 6 days ago 1 reply      
Very few people here seem to be discussing the fact that the article offers little real evidence that this is the Satoshi Nakamoto of Bitcoin, and that most likely they just set up an eccentric old man with an unfortunate name collision to end up getting mobbed by the public.
deanclatworthy 6 days ago 0 replies      
So this guy was found using public records as it's his real name or used to be? I would suspect that the authorities therefore would have known about him for far longer than Newsweek.
thekevan 6 days ago 0 replies      
This may not add to the discussion but I still cannot help my self and have to comment that this doxxing is disgusting and irresponsible.
confluence 7 days ago 5 replies      
There's one thing that doesn't add up: why would such a privacy conscious man use his real name on a project he thought might be illegal? If he was so serious about his privacy, he would not have used his real name in public.
2810 6 days ago 0 replies      
This is the best "He is the only person I have ever known to show up for a job interview and tell the interviewer he's an idiot - and then prove it."
ropman76 6 days ago 0 replies      
The biases of this article aside, he sounds like a very interesting man. It saddens me that the way we found out who he really is was by a very gross invasion of his privacy. A sit down interview (in person or virtually)would have been much more interesting. I would have liked to have known eventually, but not like this
cryowaffle 6 days ago 1 reply      
The article doesn't have the picture of his house anymore
wnevets 6 days ago 0 replies      
bitcoin fanboys are funny.
socialist_coder 6 days ago 1 reply      
0% this is actually the real Satoshi Nakamoto.
ParadisoShlee 6 days ago 0 replies      
This is a pretty predatory article.
davesque 6 days ago 0 replies      
Poor guy. I hope he's going to be alright.
raymondduke 6 days ago 0 replies      
Finally, the face of this super villain in his evil lair.
knodi 6 days ago 0 replies      
Why did the author out him.
sizzle 6 days ago 0 replies      
lives in SoCal and a Cal Poly alumni, respect!
otikik 6 days ago 0 replies      
verroq 7 days ago 6 replies      
HN can't decry censorship and keep flagging this article because it includes Satoshi's dox.
shawabawa3 7 days ago 1 reply      
Not sure why this keeps getting deleted.

Newsweek have already made it public, no point trying to protect his identity now

grondilu 6 days ago 0 replies      
I knew it was his real name. I'm pretty sure I called it on bitcointalk.org (I'm grondilu there) and I was pretty much the only one who thought it was his real name.
dionyziz 7 days ago 0 replies      
maxk42 7 days ago 1 reply      
You just killed a man you dumb shit.
2048 AI ov3y.github.io
966 points by shmageggy  1 day ago   182 comments top 66
feral 1 day ago 5 replies      
The AI implements minimax using alpha-beta pruning.

Minimax assumes that the game/computer which the AI is playing against is playing adversarially - i.e. that the computer will insert the new tile that's the worst possible tile for the player/AI to receive.

But that's not actually what the game is doing. Instead, new tiles are inserted randomly. As a result, minimax probably isn't the best approach here.

I think something like monte carlo rollouts would work better. In other words, rather than evaluating a move by "what's the worst that could happen if I make this move", evaluate a move by "what is stochastically likely to happen if I make this move, weighted by how good/bad that outcome is for me." (Losing the game would have a big negative weight, of course).

Given that the current AI isn't actually winning the game, I guess that some sort of monte carlo rollout strategy would do better.

It's still cool to see how minimax does, though, so kudos to the authors - it'd be really interesting to see a comparison of different methods.

primitivesuave 1 day ago 2 replies      
Yesterday I showed this game to a fellow graph theory buff and we also sat down to think about how to solve this game with AI.

The most straightforward solution is expectiminimax, which I see this solution has implemented quite nicely. In case someone here isn't familiar with minimax, the OP wrote some very elegant and well-commented code that would be a great primer.

The less computationally-intensive approach we came up with was to model the game state as a graph G(V, E), where V is the set of active tiles and E is a set of edges connecting adjacent tiles, weighted by the function c(v1, v2), which returns the absolute value of the difference between two tiles. For each decision, the AI picks the move that minimizes the sum of all edge weights in the new game state.

The reasoning behind this is that the only way to progress in the game is to have tiles of equal values adjacent to each other, for which the weight in G would be 0. Thus, the AI should try to minimize total weight. Eventually there will be large numbers on the boards with large edge weights to adjacent tiles, so the AI would try to keep these tiles next to other large tiles to minimize the difference.

Since the game is stochastic the approach I described may not work in a worst case scenario, but it could also be applied to the existing minimax solution as the weight function for each node in the tree.

cscheid 1 day ago 0 replies      
Heh, I did something like this for the original Threes games via computer vision and screenshots :)


Mine is using a minimax variant that replaces the minimum nodes with expectation (given that the choice of next tile is uniformly at random). This is sort of the algorithm used by backgammon solvers. The fun thing is that when expectation factors in, the branching factor is quite wide, but the necessary depth for the algorithm to beat humans is much smaller (with 8-ply on Threes this thing is miles ahead of me, no contest)

terabytest 1 day ago 1 reply      
Hahah, I knew this was coming sooner or later. Thanks! Great job!

EDIT: This AI is a better player than me.

buro9 1 day ago 4 replies      
I'm consistently scoring higher than 2,500, and frequently as high as 3,500 with a tile of 512, by doing this:

1. Up

2. Right

3. Down

4. Left

5. Go to 1.

That loop scores better than my trying.

izzydata 1 day ago 8 replies      
I've been playing this for awhile now and I think I have found that the best method is to only use 3 directions. This forces your highest number into a corner and only spawns 2's and 4's in the opposite corner. You build up numbers that cascade down to the corner. It almost never gets stuck, but if you do I guess you'd have to push the 4th direction you haven't been using.
shmageggy 1 day ago 0 replies      
tbenst 1 day ago 0 replies      
Here's the routine I've used to win multiple times in a row:

1. "tumbler" until 128 can move to the upper left corner (up right down left, repeat)

2. The highest number on the board is always in the upper left. Make the top row descend left to right.

3. Before combining values on the top row, keep hitting up until one of the lower rows will not combine from a left.

4. Often, the slot you are filling (eg, top right or one below top right) will have a two. Alternate pressing left and right until a two appears, allowing you to combine

5. Keep the second row locked as soon as possible with unique values ASCENDING left to right. This way you can use up, left and right without moving the slot you are filling on the far left of the second row.

6. Never fill the top three rows such that a left or right cannot be used. You will be forced to use a down, messing up the top row.

There are a few other pattern recognition tricks that you'll pick up to aid in filling a slot for higher values. Other misc tips:

* try to keep high number squares close together, and merge up to the top row as soon as possible. Otherwise, they will just close off a slot

* You may get a 2 trapped on the top row blocked by a higher value below it. Unfreeze the second row by combining squares & hope that a two appears in the new opening

* only 2's or 4's will appear. They (always?) appear in the space left behind by the previous movement

mkoryak 1 day ago 0 replies      
Back in college I implemented a checker AI that used minimax and a neural network that was trained with a genetic algorithm. After 4 days of tournament on a 400mhz box the resulting AI would almost always beat me. It was always fascinating to me that it used a 4 ply minimax with a 50 hidden nodes and 90 inputs to handily kick my ass.

I always wanted to re-implement it in node and for a cooler game. Alas! I have too many side projects.

The source is here:https://github.com/mkoryak/Evolutionary-Neural-Net-Checker-A...

and you can play against it here:http://mkoryak.github.io/checkers/nn_checker_ai_demo.html requires java, might also require a 7 year old computer)

seventytwo 1 day ago 1 reply      

Whenever two sets of tiles combine in a single move, only one of their scores is counted. For example, let's say that a pair of 8s and a pair of 4s are about to be combined into a new 16 tile and a new 8 tile. The game should be giving us 24 points total for this move because we are creating a 16 tile (16 pts) and an 8 tile (8 pts) where 8+16=24.

However, this does not happen. Only one or the other combination will actually be counted, it seems. In a more egregious case, I combined two 512 tiles to form a new 1024 tile and should have gotten those corresponding points. However, there was also a pair of 2s which combined to make a 4-tile. I only received 4 points for the entire move.

The game should be counting the score from all combined tiles!!! This is why my calculated minimum theoretical score of 20480 (assuming only twos are generated) was completely blown out of the water by winning scores of 12k - because in many cases, the score is incorrectly calculated!

If this is fixed.......

The minimum possible score to win the game (I think...) is 18432, although right now, with the bug, scores can be much lower. Here's how I get that. If we assume only 2s can be generated, then the minimum score is 10*2048 = 20480. However, sometimes a 4 is generated rather than a 2. Apparently, this happens 10% of the time. In theory, it is possible for someone to be given only 4s and also have a perfectly efficient game. In this case, the scoring contribution to get all the 4s from the 2s in the first example is eliminated. The total score of any tier is 2048, so we're remove 2048 from 20480, yielding 18432.

The minimum possible score to reach a winning 2048 tile, once this bug is fixed, should be 18432.

elwell 17 hours ago 0 replies      
I find the translate function, though very simple, rather elegant JS:

  AI.prototype.translate = function(move) {   return {      0: 'up',      1: 'right',      2: 'down',      3: 'left'    }[move];  }
Ref: https://github.com/ov3y/2048-AI/blob/master/js/ai.js#L230

danielsamuels 1 day ago 1 reply      
It won first time, impressive! http://i.imgur.com/epUtjyB.png
andyhmltn 1 day ago 2 replies      
That's awesome. I'm looking at the source code but I can't seem to grasp it. What's a simple explanation of how it works?
eck 1 day ago 1 reply      
What are the rules for new tile placement? Is it deterministic, random, or adversarial?
pedrocr 1 day ago 0 replies      
Interesting. It seems the solution I and a couple of people more came up with of keeping the top value in a corner isn't being used. It's amazing how it's able to keep the large numbers together throughout the game.

The gameplay is much more interesting but it seems that getting from 1024 to 2048 is much harder this way, probably because the randomness accumulates over time making the depth search unreliable. The more structured solution accumulates much less risk so has some margin to deal with this.

spyckie2 1 day ago 0 replies      
You can add a simple heuristic to the scoring to increase the win rate by a lot - weighted corners.

Add the logged value of the numbers on the corners to the score and the higher numbers will tend to 'stick' to them. This also serves as a mechanism to guarantee that the new numbers appear away from the large numbers, which tend to block them from combining.

I also turned down the compute time to 20ms and it still runs well.

mediocregopher 1 day ago 0 replies      
My friend found you can get pretty far in the game (at least a 1024 block) if you just spam RIGHT-DOWN-LEFT-DOWN repeatedl (basically rolling your fingers across the bottom row of arrow keys).

It was a little upsetting when I had actually been putting thought into my play and he was doing better.

seventytwo 1 day ago 2 replies      
I'm running some trials here and keeping track of the results with this AI. I'll edit this when I have the data to provide the information.

Something that occurred to me is that "score" and "winning" can have different optimizations. Score is based upon combining blocks, where as winning is based upon reaching the 2048 block. This means the game can be optimzed in two different ways: 1) To maximize score, wherein your goal is to delay reaching 2048 until the last possible moment to allow yourself time to rack up score, and 2) to reach 2048 in the optimal number of moves, which means a lower score.

You're scored on what you combine in a move. So, if you combine two "4" tiles to yield and "8" tile, you'll get 8 points, and so on. To maximize score, the idea would be to basically waste space on the board building up tiles you don't need, while avoiding getting to 2048. In theory, one could build up many 1024 tiles, and maybe even combine several at once to yield multiple 2048 tiles.

To minimize moves in order to reach the fastest would basically be a game of golf. You'd need to reach 2048, but the lowest score in doing so would, by default, mean you've completed the game more efficiently. There's probably some absolute minimum score, but I'm too lazy to figure that out right now...

js2 1 day ago 1 reply      
It's like watching War Games - http://www.youtube.com/watch?v=NHWjlCaIrQo
syntern 1 day ago 2 replies      
A new browser performance benchmark has born?
cordite 1 day ago 3 replies      
It gets so close! http://puu.sh/7rrD6.png

I find it frustrating to watch it hit (where I have not managed to get to) where you have one block 128, 256, 512, and a 1024. Moving around only makes it harder to join things together.

I am rather convinced this game is more by luck than actual good-play.

sireat 1 day ago 0 replies      
This AI was doing impressively well but still did not quite reach 2048 stopping just before the end.

The way I won myself rather quickly was using bottom right priority and ignoring up key(which was suggested by HN).

That is put highest scoring tiles bottom and sorted to the right if possible.

So it is mostly down, right, with some lefts, but no ups. This way is really easy to get 1024, I think I reached 2048 on the 3rd try with this strategy(score was 20k something).

JanecekPetr 1 day ago 0 replies      
I haven't read the source code yet, so this might be off right of the bat. But from the general knowledge of minmax I think the end-game code might need some tweaking.

If there is a guaranteed win, the algorithm will find it. However, if there isn't any, how does it pick a path when it thinks it will lose every time?Are all losses equal to each other? Are some better than the others? Could the elgorithm take the path with best chances where the most of the plays end up winning while only a few of them end up losing?

frabcus 1 day ago 0 replies      
What algorithms might do better than this minimax? I've just read all the comments and there are no suggestions...
rcthompson 1 day ago 5 replies      
Is this game always guaranteed to be winnable, or is it like Solitaire?
rafeed 1 day ago 0 replies      
I watched this run for about 5 minutes and it failed at 1024 with under 5000 points. It looks pretty cool, although it defies all logic when forming the squares (it put the largest number in the middle several times).
mightybyte 1 day ago 0 replies      
Nice job on the AI! I can still do much better much quicker by hand using the left-down-right-down-left-... strategy. Obviously an alpha-beta search should be able to do better than that naive strategy, but it needs a little more domain knowledge.
danmaz74 1 day ago 1 reply      
I tried twice and it didn't finish, after getting to 1024 both times... this shows just how difficult is that game!
helgefmi 1 day ago 0 replies      
I was coincidentally working on the same thing when I saw this yesterday. Pushed the code to https://github.com/helgefmi/c2048 if it's of anyones interest.

It's just a wicked fast board implementation with a simple depth first search, as of now. But the idea of "making up" an opponent to make it possible to do alpha beta pruning is a cool idea. I might try to implementet it myself.

I regularly get scores above 50k with AI_DEPTH=5-6 and NUM_TRIES=20-30. My record so far is a score of 220k :-).

iandanforth 1 day ago 0 replies      
I was genuinely surprised when the AI lost.
satchipear 8 hours ago 0 replies      
Cool game!! Can't stop playing it. Finally achieved 2048 w/ score 21028 :
lettergram 1 day ago 1 reply      
I ran it twice and it failed to achieve 2048, are other people having similar issues? Either way, nice attempt it works pretty darn well for 1 night of work.
3rd3 1 day ago 0 replies      
Id be curious to see evolutionary or machine learning algorithms playing this.
crusso 1 day ago 1 reply      
While the game is difficult to finish, I'm kind of saddened at how far I can go just by randomly hitting up arrow, left arrow, down arrow, right arrow, etc.
reignsly 1 day ago 0 replies      
Guys. I dont need the AI anymore.I have created my own patterns and methods.

Tada! I got my 2048 tile :) So happy


BenoitP 1 day ago 0 replies      
Nice one :)

Now, since the board is 16 tiles, and that you need two 2^n can make a 2^(n+1), the max game that can be played is 2^16=65536.

Can a 65536 game can be reallistically won, can it be by OP's AI?

Houshalter 1 day ago 0 replies      
How would I go about making an AI for this game? Mainly getting it to interface with the actual game input and output.
JetSpiegel 1 day ago 0 replies      
Sadly, totally unrelated to the Hong Kong film...
rplnt 1 day ago 0 replies      
Oh well, I lost with AI as well. I just let it run and got to a game over with 8476 points.
johnnymonster 1 day ago 0 replies      
Seeing the AI work makes me no longer want to play the game. Take to long to get to 2048!
deletes 1 day ago 1 reply      
How does it decide where the new tile will appear, or it just tries every possibility?
taternuts 1 day ago 1 reply      
I'm just counting down until someone builds this for the iPhone/Android for $.99
homakov 1 day ago 1 reply      
if this is AI why it scores only 512 square as max?
danatkinson 1 day ago 0 replies      
Brilliant game! I got pretty close, but even the AI managged to fail just a few moves before the completion. :( http://i.imgur.com/F2ldDAS.png
ltray 1 day ago 0 replies      
I wrote a script last night that does a simple: up, right, down, left. Ran it for a few thousand games last night -- highest it got was over 10k, and consistently got around 2.5-3k.
rrival 1 day ago 0 replies      
Strange game. The only way to win is not to play.
dshibarshin 1 day ago 1 reply      
Works like a charm, got to 2048 and over 10k points

Second time around was pretty close http://i.imgur.com/psdSwjM.png

sritchie 1 day ago 3 replies      
Boom, 13,068 points and 2048! I'm feeling some pride in my AI.


pharshal 1 day ago 0 replies      
Not sure why but every time I ran it on Firefox it failed, but it succeeded solving it on chrome always.
jheriko 1 day ago 0 replies      
very cool.

now... for a who can make the optimal AI competition... :P

krastanov 1 day ago 0 replies      
I think that the scoring system can be improved. This AI wins with a lot less moves than me, hence it gets lower score for a solution "smarter" than mine.
nkg 19 hours ago 0 replies      
CoolBut why the autorun can't get a win?
rhapsodyv 1 day ago 0 replies      
I always get at least 1024 now. I'm playing somehow like tetris...
deeteecee 1 day ago 0 replies      
what a fun and easy game. beats a lot of the fps games for me out there. my strategy was just stack the higher numbers together, left down right up and never use right. i ended up with this: http://imgur.com/KuqAJTM&hrfol9i
rhapsodyv 1 day ago 0 replies      
Anyone implementing other IA technique? What's the link?
jjallen 1 day ago 2 replies      
Does the AI guarantee winning?
flaxin 1 day ago 0 replies      
memorizing watching it "play" by it's self

i KNEW the AI would have been coming sooner or later [no this fast though], GREAT JOB!

pyed 1 day ago 0 replies      
my AI won the game with a score of 20388

pic: https://cloudup.com/chDTLSElXDN

jjallen 1 day ago 0 replies      
Please, please, please don't implement rankings...
drydot 1 day ago 0 replies      
I find this game quite addictive, contratulations!
joeblau 1 day ago 1 reply      
Math... the fun killer.
kemo 1 day ago 0 replies      
It just won on 1st attempt here. Good job
dmarlow 1 day ago 0 replies      
So close to getting 2048. Cool stuff!
itsmohit 1 day ago 0 replies      
Cool, spent 15 minutes.
itsmohit 1 day ago 0 replies      
Dark spot under cockpit of A-10s stackexchange.com
729 points by mholt  6 days ago   185 comments top 29
jug6ernaut 6 days ago 7 replies      
While off topic, i found this interesting bit of information on the a10's gun wiki page.

"The recoil force of the GAU-8/A[16] is 10,000 pounds-force (45 kN),[3] which is slightly more than the output of one of the A-10's two TF34 engines (9,065 lbf / 40.3 kN each).[17] While this recoil force is significant, in practice cannon fire only slows the aircraft a few miles per hour in level flight."

The gun firing produces more force through recoil on the plane then is produced by one of the plane's engines. That is simply amazing.

Edit: The guns wiki page(it has a wiki page).


ericcumbee 6 days ago 9 replies      
My dad has always said that the A-10 is an infantryman's best friend. an F-16 or F-18 will straff over the battle field and is gone. an A-10 will just hang around.

When I was younger we went to a nature preserve that is adjacent to the gunnery range at Moody Air Force base. We went up in an observation tower overlooking the preserve and watched A-10s do strafing practice. The sound of the GAU-8 main gun is something you have to hear to believe. If bad intentions have a sound it's that gun.

larrydag 6 days ago 5 replies      
The A-10 is one on of the aircraft that is on the list for retirement from the US Air Force. http://en.wikipedia.org/wiki/Fairchild_Republic_A-10_Thunder...

The A-10 is a cold war designed attack jet to be used to take out Soviet tanks. Its really good at slow (relatively) , guided, precise air-to-ground strikes. I think it would make a good candidate for a new class of a drones fleet.

jmount 6 days ago 0 replies      
A-10 was a Boyd sponsored aircraft, a fun topic: http://www.win-vector.com/blog/2010/04/deming-wald-and-boyd-...
davidedicillo 6 days ago 1 reply      
The most fascinating thing about this for me is that it's nothing more than what many fishes do.
dba7dba 6 days ago 1 reply      
A joke I heard is that if Air Force was allowed to buy whatever plane it wanted, every single one of them would be a single seat jet fighter that goes very fast. No cargo plane, no helicopter, no tanker, no CAS plane.

Air Force should just hand over A-10 to Army, the ones who really know how valuable A-10 is.

thearn4 6 days ago 3 replies      
Pretty clever.

False cockpit aside, the A-10 is my favorite plane of all time. It has a sound that's really unmistakable.

(well, technically I guess it's the GAU-8 making the sound...)

beat 6 days ago 0 replies      
I figured that dark spot was just the result of pilots doing dangerous maneuvers while getting shot at by tanks and AA. I'd leave a dark spot, too.
dkrich 6 days ago 0 replies      
When I was a kid I saw this demo tape and was blown away by how lethal and intimidating the A-10 looked. Ever since I've been fascinated with it. The video quality is very poor because this was shot in the late seventies or early eighties but it demonstrates the ferocity of the plane pretty well.


frou_dh 6 days ago 0 replies      
I don't know how accurate it is, but I remember this entertaining video of A-10 designer Pierre Sprey talking about how the new F-35 is garbage:


Themes of bloat and unwarranted complexity are perhaps universal.

WalterBright 6 days ago 0 replies      
For those interested in the unusual development of the A-10, see the book "Boyd: The Fighter Pilot Who Changed the Art of War".
beebs93 6 days ago 3 replies      
I was really expecting something 10x more complex (e.g. A special WiFi-reflecting paint that prevents missiles from stealing the A-10s bandwidth or some such).

I love how simple yet effective it is. A very "just-use-a-pencil-in-outer-space"-type solution.

xbryanx 6 days ago 2 replies      
Ships in WWII used to use techniques like this as well. I saw a great exhibit on camouflage at the Imperial War Museum that featured quite a few examples of this:


evanm 6 days ago 1 reply      
Bigger question -- who knew there was an aviation Stack Exchange??!? I always went to quora to read kind of stuff.
tehwebguy 6 days ago 0 replies      
I was more surprised to read that it was patented. Not that it doesn't make sense, but I had never considered that governments might not use a particular military tool because of a licensing issue.
cushychicken 6 days ago 1 reply      
Interesting answer. My offhand guess would have been discoloration in the metal due to heat put off by this monster:


Warhawg01 6 days ago 1 reply      
The amount of silly garbage in this thread is astounding. I thought you HN folks were supposed to be smart. Anyone here actually fly A-10s? Or been on the ground and had one support you?

No, the plane does not slow down when you shoot the gun.

Source: I have almost 3000 hours in this plane. Flew today, actually.

arethuza 6 days ago 1 reply      
Reminds me of eye mimicry in animal camouflage:


userbinator 6 days ago 0 replies      
"I have an A-10 with this stain under the cockpit. I've tried scrubbing it with soap and water, jet fuel, and degreaser, but it stays there. Does anyone know a better solvent?"

I was expecting something like that from the title...

rplnt 6 days ago 2 replies      
Is there air-air combat happening somewhere in the world? If not, when was the last time this could have been used?
yawz 6 days ago 0 replies      
I like it! Very much like mimicking the nature. That type of naturally evolved patterns are common in nature (fish, birds, insects, etc.) to confuse predators.
kjs3 6 days ago 1 reply      
Before this, the armchair generals were all "stupid military, retiring the A-1 Skyraider with a jet! How can a jet loiter on target long enough to do close air support worth a shit!".
JabavuAdams 6 days ago 0 replies      
I wonder how badly that would mess up combat drones' vision systems?

Welcome to a world of anti-machine-vision camouflage.

BrownBuffalo 5 days ago 0 replies      
Equally as interesting is the Naval efforts of many countries to camo their ships. - http://en.wikipedia.org/wiki/Dazzle_camouflage - Jazz Hands, anyone?
tomphoolery 6 days ago 0 replies      
Octopus-driven security.
ilovecookies 5 days ago 0 replies      
That plane has to be quite sturdy to fire that gun. 10 tonnes from the front and four from the back.
ilovecookies 5 days ago 0 replies      
This is seriously turning more and more into reddit.
gdonelli 6 days ago 0 replies      
old school technology borrowed from nature!
kackontent 6 days ago 0 replies      
Boys with toys. Toys for killing people.
Popcorn Time Is So Good at Movie Piracy, Its Scary time.com
583 points by caio1982  2 days ago   410 comments top 57
kosei 2 days ago 11 replies      
Reminds me of the old Gabe Newell (Valve founder) quote:

"Piracy is almost always a service problem and not a pricing problem... If a pirate offers a product anywhere in the world, 24 x 7, purchasable from the convenience of your personal computer, and the legal provider says the product is region-locked, will come to your country 3 months after the US release, and can only be purchased at a brick and mortar store, then the pirate's service is more valuable."

DigitalSea 2 days ago 3 replies      
I can understand why movie studios and copyright holders in the US would be worried, Popcorn Time lets you watch movies for free much like a traditional streaming service like Netflix offers. However, as an Australian, I see it very differently.

In Australia there is nothing that comes anywhere near as close as Netflix. We have cable TV in the form of Foxtel, but the price is about $110 AUD per month to get the good movie channels and channels with popular shows on them. Then we have the up and coming Fetch TV service which offers a somewhat good alternative to cable, but nothing like Netflix or Popcorn Time does. There is no online service like Netflix in Australia.

Sure, the price point is one thing, but I think Spotify has shown that an all you can eat premium service at a decent price can help reduce piracy. When Spotify launched in Australia a little while ago, I stopped downloading music because Spotify was faster and more convenient, many of my friends did the same.

Americans have a good range of choice when it comes to legal options for movies and TV shows. People in Australia, New Zealand and other countries, not so much and this is why torrents and applications like Popcorn Time will continue to be the best alternative until content licencing for music and movies/tv is sorted.

adamnemecek 2 days ago 3 replies      
It's pretty clever that all the movies shown in the screenshot of the app (at http://getpopcornti.me) are public domain.
steeve 2 days ago 1 reply      
For those on XBMC (aka who want to use their TV), I've been working on an extension for the last 6 months called XBMCtorrent that does that:


It's based on libtorrent (C++), Golang, and Python.

The major difference is that since it's based on libtorrent, it has good performance (even on low end CPUs like the RPi) and tries _very_ hard not to weaken the swarm too much (even though it uses sequential downloading).

So this means it runs on Mac, Linux, Windows and even Android and Raspberry Pi (OpenELEC).

rattray 2 days ago 2 replies      
Looks like it's basically a mashup of the YFTY torrents api, a few other APIs for subtitles/metadata, and the peerflix nodejs lib for streaming the torrents. Done in node-webkit. The first commit was only 20 days ago, according to github (could have rebuilt history of course), and the most recent 3 hrs ago at time of writing. Seems pretty active.

It looks like "they're watching you" through Google Universal Analytics[0]. Not sure if that's something to be concerned about.




[0] https://github.com/peaksandpies/universal-analytics

downandout 2 days ago 2 replies      
I realize this is an open source project, but I would steer far clear of contributing any code to it. This app is no different than Napster. From a civil perspective, its creators will be found liable for contributory infringement. But that's just the beginning. They will also likely soon experience a paramilitary style Kim Dotcom-esque raid on their homes and offices, where they will be arrested and face decades in prison.

I am not sure what the point of releasing this app and making it accessible in the US is. The FBI serves at the pleasure of large US corporations, and on their request will turn these guys into cannon fodder.

reidrac 2 days ago 1 reply      
Why can't I pay to have legally something like this? I want it!

I'm a Linux only user. What do I have right now? Well, Flash player + outdated DRM technology (HAL is been dead for a while, Adobe don't care) or play with Wine to run software that the vendor won't support in Linux.

And after tackling the outdated DRM issue with flash and paying for a movie stream in Google Play, the best I can get is 480p. Really?

Seriously. Make it happen. Take my money.

meowface 2 days ago 6 replies      
>We dont host anything, and none of the developers makes any money. There are no ads, no premium accounts, and no subscription fees or anything like that. Its an experiment to learn and share.

Famous last words. The Pirate Bay has made the same defense, but companies and law enforcement generally don't seem to care.

I would be shocked if they aren't sued or even prosecuted within the next year or 2. Not that that's a good thing, just that being this open and carefree about it will probably come to bite them in the ass later.

dspillett 2 days ago 2 replies      
> We dont expect legal issues,

Really? This seems somewhat naive to me...

> We dont host anything, and none of the developers makes any money.

That has not posed a problem for those going after others in the past.

As soon as a large enough entity takes notice they'll run, either because there is a case to answer or because they can't afford the legal team required to prove there is not a case to answer.

psychometry 2 days ago 3 replies      
Does anyone know how it works if they don't host any data? In order to stream a movie from a torrent, you'd need to download chunks of the video file sequentially started at the beginning in order to buffer and stream it. I thought BitTorrent required chunks to be downloaded in a random order.
malandrew 2 days ago 1 reply      
I would really love if they offered a "bitcoin payment" option where the studios who own the rights to a film can opt to get paid. That way all the studio would have to do is set up a bitcoin wallet and the developers would publish the wallet associated with a movie so that people consuming music can voluntarily pay for what they consume.

Legally, most studios may not be able to take advantage of such a payment option because of arcane licensing contract clauses, but most indie filmmakers without such a burden could.

Ideally such a feature would come with some sort of agreement that a studio absolves its right to pursue legal action upon payment of some reasonable amount (like $2-$4 for a movie and $1-$2 for a tv show).

babby 2 days ago 2 replies      
This is suprisingly convenient; but I've always wanted to build something like this for years, but for power users.

Instead of streaming, it would be a node-webkit-esque app that allows one to;- Sync media over LAN, sync user's catalog everywhere with the option to sync data from one PC over the internet- Manage and browse media (By building a catalog of items from several watched directories)- Delete, move, rename media easily. Perhaps even manage archive formats automatically (autoextraction)- An api for subtitles- Build statistics, time watched, tv shows added per x time etc.- Store metadata like time media was paused at (to resume at), with a visual indicator in the catalog view- Automated parsing of releases, soft renaming- Scrape data for each item, generate tags from that data, categories- Archiving, sorting, grouping- Personalized catalogs of "what I watch". Kind of like how you might customize http://pogdesign.co.uk/cat/- A real-time tracker for new releases. It would query a web service which has a bot idling in a prechan, then after parsing each release it is able to match to any item that you watch and notify you that "this just came out". Alternatively, it could, for TV, just utilize airtimes from TVRage- Personalized page that lists all of the stuff you are looking for. List of things that you haven't downloaded yet but are in your list etc.- Integrated user defined searches. Allowing one to search their favorite sources autocompleted with things in the application's local catalog of "stuff you want/watch".- A nice dark interface, surprisingly a lot like what Popcorn Time is doing, though much more complex and functional.- The ability to choose your own media player to launch, thus giving up statistics, pause time and "watched" states. Would require the user to commit this info themselves, with a form popping up whenever they launch something from the app if they so choose.- Multiple sub-users per "catalog", so that one person would have access to the same file but may not have watched/behaved the same way as another user on the network- Integrated "coming soon" feed for tv and movies that you could preemptively select to be notified about.- One big database file that would be dynamic to the content available to it. This way the installation could be portable, and whenever it detects its on a different system (Synced by a dropbox service or a USB drive), the app will ask to specify watch-folders to sync with the database so that one could keep track of their "catalog", add things to it etc.- Open source, built on node-webkit like Popcorn. No datamining, pro privacy.- Works in a browser, thus on phones (I guess some TV's/Consoles too?) connected to the WLAN- Integration of a "WebUI" from popular torrent clients, with a custom standardized interface for all of them.

So basically XBMC for pirates, I guess.

Something tells me it's a niche market.

Duhck 2 days ago 2 replies      
I've tried it a few times recently, and its pretty awesome.

The takeaway I have from this is that if hollywood chose to embrace this sort of thing, they would solve distribution costs (seed vs host). Their cost will be contained to just marketing and production. Be gone with the archaic contracts and let people get the content when they want it in a way that makes sense for everyone.

ddod 2 days ago 5 replies      
"[torrenting] isnt necessarily safe unless youre using a virtual private network to mask your whereabouts."

I find it really frustrating that TIME can publish such incorrect information that could directly lead to the detriment of its readers. I've also seen a couple people in HN saying a VPN is the "safe" way to torrent. Unless you're sure a VPN service won't comply with subpoenas or you've paid in bitcoin, it's not safer than not using one.

programminggeek 1 day ago 0 replies      
Am I crazy in thinking that Popcorn Time is a trap? It feels like one of those thins that is executed well enough that it will be seen as a threat and shut down ASAP. OR... it will be allowed to continue as a way to easily catch "pirates".

I personally believe that movie studios would do well to follow the Pirate License(http://retromocha.com/pirate-license.html) approach, but I just don't see them ever being that forward thinking when they are making millions of dollars with the old way.

mountaineer 2 days ago 1 reply      
On a related note, what's the story behind MovieTube[1]? It streams many movies that are still in theaters. I can't find out anything about it, but word about it is making its way around my neighborhood and I'm telling people it's not wise to use it.

[1] http://www.youtubeonfire.com/

arg01 2 days ago 1 reply      
So it looks like the key API that Popcorn Time uses is YTS. So I guess that will be the target of any attempts to disrupt the service.

The entertainment industry is going to have to fight hard to remove geo-locking, content siloing by producer, and other barriers to consuming their service in the coming years to catch up with piracy's ease of use. If there's no barrier to entry for the laymen to pirate then it will get worse for the producers.

usaphp 2 days ago 1 reply      
There is a russian alternative (not sure which one came up first) called Zona (http://zona.ru/)
milesf 1 day ago 0 replies      
Time magazine, who is owned by TimeWarner, runs a story on how to watch pirate movies? TimeWarner, owner of Warner Bros and HBO? THAT TimeWarner?

I smell children http://www.youtube.com/watch?v=zUnhfvGdmmw

frakkingcylons 2 days ago 1 reply      
I wonder if GitHub will be able to continue hosting their website and repo considering the legal grey-area.
Kiro 2 days ago 5 replies      
The eternal question which makes piracy unsuitable and complicated for me: what about subtitles? As soon as you need to download it separately it's a no go. It should be one click to activate a perfectly synced subtitle in at least English.
Cthulhu_ 2 days ago 2 replies      
"We're not making any money off of it" is kind of a moot argument. It's like breaking without entering.
sdfjkl 1 day ago 1 reply      
Unlike Netflix, it doesn't want me to install dodgy clones[1] of a dying technology[2] for no good reason[3].

[1] Silverlight[2] Flash[3] My browser can play several modern video formats natively.

senthilnayagam 2 days ago 0 replies      
I am a Indian citizen, travel often to US, have a US citibank account, used mostly for filling gasoline and to subscribe to netflix. had a paid tunnelbear account as well(when I was in India or when I wanted to watch from netflix UK) . about 6 months back that bank account was suspended as I need to submit some documents for US tax authorities.

for apple app store though use apple gift cards, which my friends help me with.

Now don't have netflix, but have watched most latest shows and oscar nominated movies(which did not release in India) on torrent.

pkinsky 2 days ago 1 reply      
Antigua is still authorized by the WTO to suspend US copyright. I wonder if an american startup could get away with running a hosted Popcorn Time service out of an Antiguan data center. They'd need to register an Antiguan LLC, of course.

Imagine Netflix, but with every film ever shot in Hollywood.

gcb0 2 days ago 0 replies      
Can someone pirate the article on a decent platform. The genius there made something that it is now impossible to scroll on Android 2.3

Not even joking with the irony

EGreg 2 days ago 0 replies      
Indeed! I always met the assertion that people are willing to pay for easy to use services with the question: what if pirate software becomes user friendly as well?

After a lot of thinking about it, I believe copyright protection is valuable to society and patent protection is much less so, or even detrimental. That's because copyright protection is very narrow and in economic terms creates an artificial contract between the authors and consumers, as if the consumers hired the author for some small fee.

On the other hand, once the work is created, should the consumers freely share it? Well, I don't see how to prevent it, so the laws and sanctions seem to be the only way.

balls187 2 days ago 0 replies      

Since it uses BitTorrent, and unlikely anonymously, I'd imagine that the MPAA and their goonsquad are going to have a field day with this.

bruceb 2 days ago 0 replies      
Sometime sites/apps/people that are legally questionable are too high profile for their own good. This might soon the case with Popcorn Time. It is like being The Pirate Bay, Joaqun El Chapo" Guzman, Kim Dotcom, etc big target on your back.
rodolphoarruda 2 days ago 0 replies      
I would like to "test this software for unlimited time", if you know what I mean. How do I install it in Ubuntu? I have downloaded the package and tried to run it through the usual software installer, but it didn't work. Then I went to their FAQ page but couldn't find any clues about it.
brianbreslin 2 days ago 0 replies      
This is an incredibly nice looking piece of software. I have to admit I've become so conditioned to FEARING getting sued by the movie companies. I wish I could pay for this. The movie selection of streaming/bundled movies on netflix/hulu/amazon always disappoints me (new releases are never there).
lettergram 2 days ago 0 replies      
Wouldn't have even known about this, thank you Time.com
Paul12345534 2 days ago 1 reply      
It's just as easy to pay a monthly fee for Netflix, etc.... than it is to pay for a VPN (and properly use it, a small mistake outs your IP) to avoid being sued for torrenting.

Now... back in the Megaupload's heyday, things were a bit different. Lots of content, little danger.

Personally I buy most of my content :) especially any program that I actually make money using.

scrrr 2 days ago 0 replies      
Shouldn't somebody at time.com be charged with crime for posting a link to an infringing site? ;)
artichokeheart 2 days ago 0 replies      
Thanks time.com! Great publicity. Downloading now.
johnnymonster 2 days ago 0 replies      
I had no idea node-webkit was a thing!!! There goes what little free time I had.
Legend 1 day ago 0 replies      
Reminds me of a work on detecting copyright monitors. Read the introduction part to understand the risks of using torrents to stream movies.


neurobro 2 days ago 0 replies      
The movie industry should be more afraid of the video game industry than of piracy. It's probably less than 5-10 years before it will be possible to auto-generate somewhat entertaining feature-length sequences from the viewer's/player's favorite game assets, and then another 5 years to push movie studios into obsolescence (other than a niche market for the nostalgic old folks).

Or instead of being afraid, they could fire the lawyers and invest that money in this direction.

mikewhy 1 day ago 0 replies      
Disclaimer: I am the author of the channel.

Would like to mention SS Plex[1]. It doesn't use torrents, but it allows you to stream and download content to a wider variety of devices.

[1]: http://mikew.github.io/ss-plex.bundle/

m4r71n 2 days ago 1 reply      
I couldn't find this anywhere: does the client support BitTorrent protocol encryption and does it allow you to specify to download from encrypted peers only?
ChristianMarks 2 days ago 0 replies      
My solution is legal but unpopular: no MPAA movies, no RIAA recordings.
antoinec 2 days ago 0 replies      
The most amazing thing to me about this is that it took that much time to get to this software.
forlorn 2 days ago 1 reply      
Damn leechers. This is how p2p and user-friendy apps actually kill torrenting.
jotaass 2 days ago 0 replies      
This reminds me of the excellent tv.js. The same, but running in your browser (plus node.js)


__pThrow 2 days ago 0 replies      
In my limited experience it seems that torrent clients were all trying to migrate towards this and be a media browser first, torrent client second. The end result was user flight to the next upcoming torrent client.

So was this a torrent client to start with?

For the end user how does this compare to websites like stream-tv.me which aggregate links to tv shows? Those links lead to generally poor resolution shows, but not unwatchable. TV resolution with some HD resolution. Have there been cases where content providers go after the users of those sites? (I have a friend who uses them...)

nkg 2 days ago 0 replies      
was that advertising? If so, it worked just fine. While I had never heard about that app, I've just installed it and forgot about every torrent website!
pgsch 2 days ago 1 reply      
There are better online (and without installing anything) alternatives, like http://peliculasio.com/ spanish
johnnymonster 2 days ago 0 replies      
well there goes yify torrents, with this much publicity on an app the movie companies are gonna go after whoever they are getting their movies from...
spacesword 2 days ago 1 reply      
I had no idea node.js was this powerful, can somebody point me in the direction so I can learn how to use PeerFlix to make something like this?
munimkazia 2 days ago 0 replies      
I was waiting for the first big mainstream node.js desktop app to come around. This could be it.
betterunix 2 days ago 0 replies      
What is scary about this?
shekhar101 2 days ago 0 replies      
Awesome! This is so neat! Since project is open source, any idea, how some more sources can be added?
LeicaLatte 2 days ago 0 replies      
Popcorn time had been trending in github all of last week. Its starting to hit mainstream now.
JungleGymSam 2 days ago 0 replies      
No, it's not scary.
alaxx 2 days ago 0 replies      
Don't worry. 3 More months and i'll be launching the next biggest movie site. P2P Streaming, MP4, Apps, everything you can imagine... Fast/Sexy and no ads.
aortega 2 days ago 0 replies      
"Made with <3 by a bunch of geeks from Buenos Aires"

Oh not again...

Iconic An Icon System Designed for the Modern Web useiconic.com
562 points by Anchor  8 days ago   115 comments top 37
gkoberger 8 days ago 5 replies      
How can they say it's the "first and only icon system created for the modern web"?

The Noun Project has been doing SVG icons for years (http://thenounproject.com). It's slightly harder, but you can change colors/resolution/etc.

Sites like FontAwesome (http://fontawesome.io) cover all the basic icons and are insanely easy to use

LivIcons does animated icons (http://livicons.com/#demovideo)

I guess they're cool, but they're not innovative enough for their overly boastful slogan -- unless I'm missing something?

ookblah 8 days ago 4 replies      
Lurker here. Why is there so much pessimism in this thread... ?

I'm not familiar with all the font libraries out there. I use Font Awesome right now, and quite frankly it's nice for being free, but has limitations in other regards(like only being pixel perfect in multiples of 14...etc) It seems like a great alternative to what's out there (Different details at diff resolutions, internal colors being changed).

HN confuses me more and more every day. Upvoted to #1, but 99% of these comments aren't constructive.

JoshTriplett 8 days ago 1 reply      
Pro: Responsive SVG with identified components addressible using CSS.

Cons: Wants Javascript. Uses Javascript-interpreted data-* attributes for basic semantic content like "which direction does the arrow point". Not Open Source.

Interesting, but not nearly as good as the existing alternatives.

tshadwell 8 days ago 6 replies      
I feel I am perhaps being too pessimistic, but I fear this trend toward this heavier, unused-feature filled web-- a mosaic of libraries that make web development or design better in X and Y way that really doesn't affect the end user that much, but largely increases the cost and speed of viewing a webpage, especially in places and countries without the high internet speeds the developers inevitably have.

How many icons will a website need before an abstraction like this is necessary to manage them?

If every icon has each element labelled with large prefixed classes (".iconic-camera-slr-lens-release"), this is going to be a lot of extra footprint for websites that have enough icons to make this useful.

Perhaps I am alone in thinking that colourful icons are somewhat noisy, and thus will be used only in designs where icons are prominent elements, and as such infrequently; with that frequency, they could even be individually coded for.

brianherbert 8 days ago 1 reply      
I haven't seen anyone mention the fact that this was successfully crowdfunded to the tune of almost $100,000 https://www.kickstarter.com/projects/207474036/iconic-advanc...
devindotcom 8 days ago 2 replies      
Eeeesh... I don't like the aesthetic at all. Most of the icons I saw were very ugly. I'm also skeptical of the benefit of "baking in" detail rather than tailoring for your size and layout. Sorry.
hardwaresofton 8 days ago 2 replies      
Really does seem like these guys are a day late and a dollar short.

So far the list out the added value over fontawesome I can see is:

- Multiple colors

grumblestumble 8 days ago 1 reply      
I'm using Streamline on my current project ( http://www.streamlineicons.com/ ), and I'd recommend it over Iconic if you're looking for a commercial-grade icon solution - it's more expensive, but well worth it. 2 sizes, separate resources for filled vs outlined which are well thought out and involve more than just "filling in" the outline version. No SVG, but various vector formats which can easily be exported to SVG via batch tools. And they seem to really be into supporting and extending their product, every update has been free and I've been notified in a non-spammy way.

...and no, I'm not affiliated, I've just had a very pleasant experience working with their stuff, IMO for a commercial product it's well worth the investment.

Pxtl 8 days ago 1 reply      
I have to say, Chrome screaming and falling over and begging for mercy at the sight of their icon listing page doesn't really bode well.
aalpbalkan 8 days ago 2 replies      
Paying for icons? No thanks. I have http://fontawesome.io/
mtalantikite 8 days ago 0 replies      
I'm not a UX designer, but do you really want your icons to change detail based on display size, rather than have a uniformity in display across devices? Wouldn't that increase the burden on the user to memorize more icons that they have to potentially interact with?

I know the detail scales on the icons are subtle, but intuitively I'd think it might make a difference.

Can a UX designer can give their thoughts on that?

joshka 8 days ago 1 reply      
Stuff below the fold, but I can't scroll is a little annoying.
tehaaron 7 days ago 0 replies      
Lots of pessimism in this thread let me try to even it out a little.

I personally backed this when it was on Kickstarter for $35 and do not regret my decision. I have used FontAwesome in the past as well as a few other free alternatives. While the javascript-less-ness of FA is nice (Iconic has a webfont), the quality of the icons themselves and their level of customization comes no where near Iconic. Many people have mentioned the multiple colors on 1 icon but I haven't seen anyone talk about the ability to easily theme all icons with just a couple lines of css, which makes the multiple color thing more appealing.

Additionally, Iconic is available as Webfont and PNG if so desired. They are also working on a number of additional features that I find interesting (bottom of the features page https://useiconic.com/feature-index/), specifically ExtendScript for Illustrator and then generation via Grunt.

I am pleased with my $35 purchase and have no reservations about paying the $99 for a commercial license if it fits the project (like any icon set you choose!)...However, for those who haven't had a chance to try it I really wish there was a cheaper/free option for experimenting.

eliot_sykes 8 days ago 0 replies      
How is this different to the original Iconic from the same designer?


julianz 8 days ago 0 replies      
"accute" is surely a spelling mistake (it's in the classes that are applied to the arrows on the demo page). That would peeve me greatly.
erichurkman 8 days ago 0 replies      
The input fields are almost invisible on the 'buy' page.
kylnew 7 days ago 0 replies      
Kickstarter backer here. Funny how critical everyone is as though there is no demand for something like this. Well, over 2000 of us disagreed before iconic was even delivered.

I've used Fontawesome, I've used Entypo, I've used Weblays, I've used the original Iconic. I think that this offering is a step above than all of those, especially in the web category (I use them in mobile too).

The only mistake here is the licensing, which I hope will change. It was not clearly stated during the Kickstarter campaign, and is actually against my expectations (though it appears some in the comments section had discussed this).

IMO, it should be non-tiered and unlimited commercial use.That aside, wake up, this is useful.

ssorallen 8 days ago 0 replies      
Requiring JavaScript to view icons seems like a major downside compared to competitors that are plain font files like Font Awesome. Now the client has to download and execute the JS before seeing what might be important UI cues.
brokenparser 7 days ago 0 replies      
They should've used something like stripe for the checkout, as there's a lack of payment options. Oh well, guess they don't want my money.
betadreamer 8 days ago 2 replies      
The site is well made but I wont use this. As other mentioned, there are free options out there.

If the target audience is a startup, it has to have a free option.

boggzPit 8 days ago 1 reply      
I like how they expose details of an icon as CSS classes, well structured. I personally think its to expansive.

15-20$ would be okay.

jayvanguard 8 days ago 1 reply      
Why is a $49 product front page HN material? I think a lot of people are clicking and upvoting thinking this open source.
CmonDev 8 days ago 0 replies      
I wish style was consistent: some icons have miniature details, while some are super-simplistic. Windows Modern GUI icons are the best imho.
andyhmltn 8 days ago 0 replies      
Weird. I got the homepage up fine but now I just get a 404 error after going to the tour page. Now if I go back I get the exact same page?
Springtime 8 days ago 0 replies      
I've found the Entypo [1] collection to be a more useful set of icons for small sizes. The glyphs are well drawn and have a very consistent style throughout. Well worth a look.

[1] http://www.entypo.com/

sunraa 8 days ago 0 replies      
Forgive my ignorance ... What are the advantages of using icon systems such as Iconic & Fontawesome as opposed to using Unicode character codes. Maybe not all various icons are available in Unicode? And Unicode is geared towards language? thoughts?
aberrant 8 days ago 0 replies      
Our designer would consider it, if the visible license options were not so restricting. Rather than make it "Limited to 1 commercial project", they should add a reasonable license solution that allows a team to use it for many projects.
blablabla123 8 days ago 0 replies      
What about performance? How does it compare to, say, regular icons that are combined within a CSS Sprite?
ktzar 8 days ago 0 replies      
Why does it show a waveform for "audio spectrum". Spectrum has no negative values, but imaginary values (which I'm sure the author is not aware of and are not represented like that).
apunic 8 days ago 0 replies      
Slightly OT: 'the modern web' is native and mobile
jbeja 8 days ago 1 reply      
The scrolling in the website is chopy.
jheriko 8 days ago 2 replies      
interesting but you lost me on the home icon. '+' shaped window with a door preferably with chimney - the iconic image that most people recognise on sight as a house. not some weird triangle on a square with an inverted v on top which maybe kinda sort of indicates a roof... but why is it separate?

respect existing standards. innovate later.

harrystone 8 days ago 1 reply      
Accessibility would be cooler than auto sizing.
thenerdfiles 8 days ago 1 reply      
I love Iconic !
quickpost 7 days ago 0 replies      
awesome set.
globalpanic 7 days ago 0 replies      
License page is missing
dsernst 7 days ago 0 replies      
This is so cool.
F.lux updated justgetflux.com
551 points by glennericksen  6 days ago   248 comments top 57
suprgeek 6 days ago 6 replies      
"A healthy circadian rhythm depends on seeing bright light while youre awake, not just avoiding bright light before bed"

This statement cannot be emphasized enough. Especially for Hackers and other indoor/Desk bound folks, the amount of bright sunlight exposure is critically important for two reasons:

1) Sunlight is the "moderator" of our circadian Rhythm via Melatonin and other Neuro-chemicals

2) A large percentage of people are Vitamin-D deficient, more Sunlight (on skin) = greater chance of Combating this issue

Taken together, fixing these will resolve many issues..

Udo 6 days ago 1 reply      
I just realized for the first time that I'm apparently using F.lux differently from all other people. For me, it's about making the color palette more compatible with the lighting situation in the room. I'm not into all that circadian stuff at all.

I love the new features, but I'm not wild about the software calculating the "night-time-but-not-bedtime" duration for me. Though F.lux seems to go into the opposite direction, I would prefer more configurability not less - for example letting people set the transition times themselves and enabling them to have as many lighting modes as they want.

tlb 6 days ago 5 replies      
I'd happily pay $9.99 through the App store, if you guys ever want to monetize my grateful eyeballs.
bretthopper 6 days ago 11 replies      
f.lux was basically unusable in its previous version that was tied to sunset. In Toronto, for example, f.lux would start kicking in at 5pm in the winter which is no where near most people's bedtimes.

My solution was to continually disable it for an hour at a time until I had enough and uninstalled it. Happy to be able to try it out again.

lawnchair_larry 6 days ago 2 replies      
Hmm, I don't like this update. I don't want flux to be on my schedule. My schedule is bad - that's why I use flux. The point of it is to help regulate my own rhythm, not reinforce my bad habits.
pwthornton 6 days ago 2 replies      
You're crazy if you don't use flux. It's incredible. You'll sleep better, get less headaches and it helps with eye strain. My only regret is that I can't get it on every computing device I own.
chid 6 days ago 1 reply      
I'm slightly confused, are there actually any useful updates to the Windows version or is this just for the mac?
Kluny 6 days ago 2 replies      
I just witnessed proof that I NEED flux - I turned it off to download this update, and it felt like my eyeballs were stabbed with a blue knife. The difference was shocking. I don't know how I ever lived without it.
dakrisht 6 days ago 4 replies      
One of the best utilities ever. What I would do to get this on iOS devices. And if you guys feel like monetizing, throw up a donation button I'm sure you'll have transactions ringing nonstop. Thanks for the amazing utility you've created - you help us work better and sleep better.
pcarmichael 6 days ago 2 replies      
I had the previous version installed on my mac, and kept seeing sporadic issues with my mouse cursor jumping a couple hundred pixels at once when moving it side to side. Finally disabled F.lux and the problem went away. Anyone know if the new release fixes that issue?
stereo 6 days ago 1 reply      
The worst part about updating Flux is that you have to quit the currently running version, with the white flash that hurts your eyes.
zx2c4 6 days ago 2 replies      
Still closed source.

What a shame.

teddyknox 6 days ago 0 replies      
There's a new trend I've noticed recently in the software industry behind research driven development.. there's another link on the frontpage about reading software by a startup called Spritz http://www.huffingtonpost.com/2014/02/27/spritz-reading_n_48... that has somehow managed to get >300% improvement on reading speeds just by taking eye scroll out of the equation. I'm excited that we've reached the point where we've started questioning the fundamentals of our user interfaces, and I'm surprised how easy the switch over to this next-gen of design has been. I expected the process to resemble the painful switch from Querty to Dvorak, but it's been more creative than that.
roryokane 5 days ago 0 replies      
The new version number is 26.0. Im noting this because when I first tried to install the program by overwriting the version in my Applications folder, it was still my old version (23) that ran for some reason. If you dont see any difference after installation, open About f.lux and make sure youre on version 26.0.
tobyjsullivan 6 days ago 4 replies      
I love the Darkroom feature. I think that'll have some surprisingly handy applications.

Edit: Unfortunately, it seems to completely break when my screensaver kicks in.

monkeynotes 6 days ago 3 replies      
I wish something similar could work on an iPad. I use my iPad before bed and it often impacts on my ability to sleep.
JetSpiegel 6 days ago 4 replies      
I love f.lux, but it's ironic that their page has a white background, blinding me coming from the Dark Hacker News [1].

[1] http://userstyles.org/styles/71155/georgify-dark-hacker-news

Houshalter 6 days ago 3 replies      
I've been using f.lux for I think about a year. Honestly I think it's just a placebo and I haven't noticed any real effect. My sleep schedule is terrible. I just feel I should comment because all of the only people commenting are those that did benefit (or at least believe they did.) The comments are not an accurate survey of how many people really did see an effect.
state 6 days ago 0 replies      
I was just turned on to f.lux recently and I can't recommend it enough. I find the affects to be really noticeable and positive; working during the night is much less abrasive and I find the transition from screen to bed to be really smooth.

I love that something so simple can have such direct, physical ramifications.

easy_rider 6 days ago 1 reply      
I am happy with Redshift, as with everyone else finding f.lux on Linux buggy. F.lux is missing the boat on a lot of developers I'm guessing :)Mac people don't work nights anyway, when Starbucks is closed, so I don't see the point..
scrumper 6 days ago 1 reply      
Love F.lux; congrats on the update. Has it fixed that nasty Mavericks multiple display bug that filled the console with thousands of these lines?

6/3/14 21:37:52.209 Flux[26626]: CGSGetSizeOfDisplayTransfer: Invalid display 0x0424e64d

robbiet480 6 days ago 1 reply      
Man, I was hoping that they would have added Hue support to Mac as well as Windows :(
kolev 6 days ago 0 replies      
I cannot live without F.lux on Mac and Twilight on Android. Can't wait for my orange shades to arrive as I have CFL lights in the kitchen, which I cannot remove and started to supplement with bioidentical melatonin recently. I've been using F.lux since it got released years ago, used Redshift on Ubuntu, and this release finally brings Windows features to Mac and I'm so happy! I've been ridiculed all this years for my reddish screen and most people ask: "What's wrong with your screen?" and they get, "No, what's wrong with yours?".
vanmount 6 days ago 1 reply      
I hope they're pushing the latest changes to their linux repo at some time. I love flux but all those nice Mac features make me jealous...
Jugurtha 4 days ago 0 replies      
I used to sleep in a room on the roof and leave the door open. The sun would be facing me just when it's up and I'd wake up early. It was great.

But even when I changed room, I didn't close curtains or something, so the sun would directly be in my face when it's up, and I'd wake up and start the day..

But a lot of the time, I'd be up before the sun going up (up by 4h30, work out, take a shower, eat breakfast (steak, eggs, half a liter of milk, some fruits) and start the day. I'd see people have low battery by 11h00 and I'd be throbbing with energy until the very last moments when I come home.

I drank a RedBull only once in my entire 26 years of existence, and it was only this year. I didn't like it.

elwell 6 days ago 0 replies      
The problem I had with flux is I couldn't keep my gamma settings on my displays. (windows + intel graphics driver software)
InclinedPlane 6 days ago 0 replies      
I didn't really "get" the purpose of flux for a while. I appreciated the sleep schedule reinforcement aspects of it but if you don't have a normal sleep schedule then it would seem to be less useful. That's always been the major selling point for f.lux forever, and it seemed so intrusive so I didn't use it.

However, I finally figured out the real reason for using it: white balance adjustment. The thing is, our eyes aren't just imaging sensors, they're active systems that continually adjust to ambient conditions. They do lots of things without us even thinking about it. One of the most important things they do is compensate for white balance. If you look at a white wall when the sun is shining on it during the height of daytime and if you look at the same wall during the middle of the night when it's illuminated by artificial light you will perceive it to be the same color in both instances. But in reality it's not, when lit by indoor lighting it's a very different color, but our eyes/vision system automatically adjust for the different spectrum of lighting.

The problem is that computer monitors throw a monkey wrench into this because they are independent light sources. White displayed during the day on a computer monitor is #FFFFFF, during the night it's still #FFFFFF, but this conflicts with the white balance of the environment. And that conflict causes eye strain and discomfort. At night looking at your monitor you might even perceive white to be slightly bluish, due to the conflicting white balance. By bringing the white balance of your display into harmony with the changing white balance of ambient lighting (as it transitions from natural to artificial) you get rid of a lot of those problems.

Hopefully with f.lux adding more configurability into their program they can make people more aware of these benefits regardless of sleep patterns.

JeffL 6 days ago 1 reply      
These new features are only for the Mac version?
meryn 6 days ago 1 reply      
Does anyone else have trouble understanding (or "intuitively reading") the graph in the f.lux beta preferences? I discovered that's a kind of "ego-centric" graph. I mean ego-centric just like there once where earth-centric (and later) helio-centric models of the universe.

Because the graph is totally ego-centric, the graph starts when you wake up. I just can't wrap my head around that. In my mind, I wake up at a specific clock time, and the universe is configured in a certain way at this particular moment. In particular, the sun has a certain position in the sky. (interestingly, I use an earth-centric model in this regard).

What's (relatively) constant for me is how the sun moves through the sky (this depends on where you live on earth, plus time of year). Obviously, it's beyond my powers to change the time of year. I could change where I live on earth, but I'm not doing that very often. What's directly controlled by me is when I wake and go to bed... Why can't I change these positions on an otherwise static "map"?

I don't want to express the current year as relative to my life either. I.e. three periods: "the time I hadn't been born yet", "the time that I live", "the time beyond when I died". It's rather insane. Yes, we use Jesus date of birth as a reference point now, you could say that it's bad and we should count from a different epoch or so, but at least things are not expressed relative to my life.

derefr 6 days ago 1 reply      
I used, and enjoyed, f.lux for a few years. These days, though, I just recalibrate my OS color profile to something reddish and leave it there. Why should I want to look at blue light during the day?
Achshar 6 days ago 0 replies      
Can I have a shortcut for disabling for an hour? Or maybe toggle the setting when I doubleclick the tray icon in windows? That would be really cool, I use the toggle so often and single double- click/shortcut seem so much better than two clicks.
esMazer 5 days ago 0 replies      
I don't know about any of the "sleep benefits" but as someone that works and enjoys being in front of computers 10+ hours a day, is great! As soon as I got it 3+ years ago my red-eye, eye-discomfort, dry-eye and strained-eye conditions disappeared! I can't use the computer without it (day or night)
stuaxo 6 days ago 0 replies      
Have they fixed the CPU issue?


I really like f.lux but I do seem to get weird problems on some machines, apart from the above problem I've experiences severe flicker on some machines, others are fine.

aidos 6 days ago 0 replies      
f.lux now shows you when the suns up

We need to get out more...

Hydraulix989 6 days ago 1 reply      
What about Linux?

The "f.lux: F.A.Q." page only has a broken archive.org link. When I tried using xflux, it was consuming inordinate CPU cycles.

wiradikusuma 6 days ago 1 reply      
Is flux "compatible" for people with day job and doing side projects after hours? You want to be sleepy when it's time to sleep, but you don't want to be sleepy when you're working on your exit ticket from bigco.
bobbles 6 days ago 1 reply      
Once you have tried it for a week or so, try using a different computer until the same time at night. Your eyes will be significantly more tired / drained.
rjzzleep 6 days ago 1 reply      
herf, i've been trying to find some info on this, but can you tell us why the default color settings changed so much? (recommended colors, vs. classic flux)
baq 6 days ago 0 replies      
why the topic doesn't mention is just for the mac?
lightblade 6 days ago 0 replies      

Now I want a Smart Things[1] integration with this.

[1]: http://www.smartthings.com

MrBlue 6 days ago 1 reply      
F.lux never worked for me. (Ubuntu 12.04) Cool idea though.
duochrome 6 days ago 0 replies      
A releated question:

I need to adjust the brightness a few times every day just to match the ambient light.

Are there any better solutions?

I don't use the laptop display as the watching angle is not healthy. I use dell displays.

disbelief 6 days ago 0 replies      
> Disable until sunrise

Thank you F.lux! The one feature I really hoped you'd add.

vincentmilliken 6 days ago 1 reply      
Anyone know if they have added support for a second monitor for Mac?

Last time I checked it only worked for one of my monitors on my MBP, would be great to start using this again.

gtklocker 6 days ago 1 reply      
Good to see the HTTPS site/download working. Now if only we had GPG signatures for this.
john2x 6 days ago 1 reply      
Still no option to remove the icon from the menu?
dfc 6 days ago 0 replies      
What features does f.lux have that are not in redshift?
marcoagner 6 days ago 0 replies      
Wow, I've JUST downloaded F.lux on my computer.Came here to read Hacker News and this is on the top.Oh, HN... haha
sizzle 6 days ago 3 replies      
can we please, PLEASE have an android port of F.lux. All the other apps make my phone erratic and lag, or flash the unfiltered screen at random intervals which is binding at night.

I would gladly pay for this!

motyar 6 days ago 0 replies      
This is the only app I have to jailbreak my iPhone and iPodtouch.
sizzle 6 days ago 0 replies      
*blinding at night.

how is twilight?

sizzle 6 days ago 0 replies      
so if I'm working in a room with daylight temp. bulbs past midnight, should I avoid F.lux?
imperialdrive 6 days ago 1 reply      
huge fan of f.lux - couldn't work without it - I actually switched from iOS to Android over the want for this single app!
aroch 6 days ago 0 replies      
Yes, finally!
RivieraKid 6 days ago 2 replies      
Android pls.
covi 6 days ago 1 reply      
Is f.lux good for my eyes?
math0ne 6 days ago 1 reply      
Is this stuff mac only?
Flappy Bird Creator Dong Nguyen Speaks Out rollingstone.com
526 points by johns  1 day ago   219 comments top 33
bsenftner 1 day ago 5 replies      
As a long term developer of entertainment software, I totally agree with his point of view about the impact one's software has upon the lives of the user. The general acceptance goes that the crazies and depressed will be triggered by something and its not your fault if something provocative you worked on triggers an incident. That's what the group think tells us, but in ones personal reality it's not that easy to shrug off. Over the decades I've been on the teams of high profile games and films with medium levels of violence. After each title is released, I'd receive a half dozen or so "fan" emails from people who obviously researched the dev team and was reaching out. On the games with medium levels of violence, of the half dozen fan emails only one would be praise, the others would be serious hate mail. That kind of stuff throws you, even if you suspect pretty strongly that the sender is probably 8 years old. Yeah, I can totally see why he pulled the plug. He's got enough momey, and he's not greedy. What he want's most is clearly freedom, and fame was taking that away. Yeah, I'd pull the plug too.
uptown 1 day ago 4 replies      
"Then he hit a button, and Flappy Bird disappeared. When I ask him why he did it, he answers with the same conviction that led him to create the game. 'I'm master of my own fate,' he says. 'Independent thinker.'"

Good for him. The world needs more people with this attitude.

imjk 1 day ago 0 replies      
"Nguyen wanted to make games for people like himself: busy, harried, always on the move. "I pictured how people play," he says, as he taps his iPhone and reaches his other hand in the air. "One hand holding the train strap." He'd make a game for them."

I found myself playing in this exact manner many times while riding the subway. Even when I would go just one or two stops, it was convenient way to spend the time squeezing in a few games of Flappy Bird without worrying about concentrating too hard on any one game, or being concerned about getting cutoff in any one round by having to leave or dodge a bystander.

elwell 1 day ago 2 replies      
I'm reminded of a time in elementary school when I opened a Pokmon booster pack to discover a Charizard. I thought it was the best day of my life, but all my friends wanted to trade me for it, and I began to hate my Charizard card. I even had a nightmare in which Charizard blew fire at me. Alas, fame and fortune are quite the deception.
United857 1 day ago 5 replies      
Another plausible reason that I've not seen reported is that if he was indeed pulling in $50k/day, that makes you a target in Vietnam (average monthly salary $185).

In that part of the world, being rich without having the right connections/protection can be very, very dangerous.

thret 1 day ago 0 replies      
"I pictured how people play," he says, as he taps his iPhone and reaches his other hand in the air. "One hand holding the train strap."

That's the main insight.

applecore 1 day ago 5 replies      
Unfortunately, by removing Flappy Bird from the App Store, he opened the door for shitty clones to reach the top of the charts. This arguably made the lives of users worse. He also passed up the opportunity to make millions of more dollars in merchandising.
stevejohnson 1 day ago 2 replies      
Does anyone have the source for the Romero quote on the third page?

    John Romero, co-creator of the game Doom, says Flappy Bird    is "a reaction against prevailing design the way grunge     was a reaction to metal."

DigitalSea 1 day ago 0 replies      
I wish the game industry as a whole was a lot more like Dong, instead of being all about the money. He gave up 50k a day, no doubt if the app had stayed in the store it might have even climbed higher before peaking and slowly coming back down. That one line in the interview when asked why he took his game down, "I'm master of my own fate" says it all about the type of guy Dong is: a decent one.

Sure he's still making money from the people that downloaded it, but he's not being greedy and I respect that. He put the well-being and privacy of himself and his family above the crazy amounts of money he was making. He made his money and he is grateful, he didn't try and push it as far as he could have. Heck, he had so many offers from people wanting to buy the game, he could have easily commanded a six-figure sum for the IP alone, but didn't. He just decided to take it down and leave it at that.

The world needs more people like Dong.

brador 1 day ago 3 replies      
No mention of the massive publicity boost from the Youtube let's play video of Flappy Bird by that strange Norwegian guy with millions of subscribers?
elwell 1 day ago 3 replies      

  three he's working on simultaneously: an untitled cowboy-themed shooter, a vertical flying game called Kitty Jetpack and an "action chess game," as he puts it, called Checkonaut, one of which he'll release this month
Don't say the names of his to-be-released games; someone might grab the app names now. (Unless they're already approved but hidden; though Apple usually doesn't allow "in-progress"/beta app submissions)

judk 1 day ago 0 replies      
Dong Nguyen is doing an awesome pivot from a throwaway fad app into a celebrity.
codecondo 1 day ago 0 replies      
The featured photo for this story is very strong, and it answers more questions than the story itself ever will :)
josefresco 1 day ago 0 replies      
Did anyone else find it odd that he's working on new games, that will (if successful) potentially have the same negative impact on the lives of the people who play and Nguyen himself?

I don't think Nguyen needs a reason to pull the app, and I respect his right to change his mind but I find it funny that we all seek some sort of wisdom when in fact there might not be any. Shit got crazy and he pulled the game, the end. Doesn't make for a compelling story, and creates no "guiding mantra" for other game developers, but for me it's just as meaningful.

argumentum 1 day ago 1 reply      
> the young programmer stood out for his speed, skills and fierce independent streak. "Dong didn't need a supervisor," Truong says. "He wasn't comfortable with it. So we said he did not have to report to anyone.

Years ago, when I heard of someone being spectacularly successful at something I "could have done" should I have chosen to I chalked it up to luck & circumstance. Two prominent examples come to mind: Facebook and Groupon.

Funny thing is, every time I actually looked into the story behind such phenomena (or met the individuals involved), I would find there's always more than meets the eye.

There's some obsession, some genius (often bordering on insanity), some talent or character trait or propensity behind what seems to be just "luck".

Safe to say, I no longer believe in luck. Of course, there's randomness, which sometimes favors you and other times acts against your interests. But what people call "luck" is what you make of this randomness.

I don't know Dong Nguyen. I've never met him or talked to him. I don't know what makes him tick, or tap or flap. I have little to say about why he pulled his app, except that it likely had nothing to do with money or fame or success.

I can say, however, that there's likely more than meets the eye.

danso 1 day ago 1 reply      
Ah dangit, another famous Nguyen (along with Dat Nguyen) who I'll be asked if I'm related to. It's especially interesting and cool that he's still in Vietnam, and I'm not surprised that was a heavy factor in just waking away...$50,000 a day, even a year, is a lot of money. My uncle was making less than that (a year) in Saigon and yet could still afford to rent a massive house with courtyard, 2 servants and a nanny, and a SUV with a driver.

(BTW, dong is the name of Vietnam's currency, something that is probably worth a lot of jokes in the Vietnamese media)

Also, becoming a viral success (regardless of quality of the game) from Vietnam is a much different and rarer accomplishment than doing it from America (or any place where the world's media is more attuned to). Kudos to him!

HNaTTY 1 day ago 0 replies      
This was an interesting writeup, but I can't help but think that removing Flappy Bird at the height of popularity was anything less than the shrewdest of PR moves. He continues to get all the ad dollars from existing installs, and has achieved legendary status, assuring that any new games he may release get a lot of coverage and positioning him at the top of the heap. It's really genius!
Fuxy 1 day ago 0 replies      
Great to hear he's doing OK.

There's just one recommendation i can give him develop a thicker skin you can't change your game for every person blaming external things for their own incompetence.

My office is net to the call center if you ever hear the stupid shit people say you will realize you can't take anything to heart.

Do your thing man and ignore people complaining that their life was ruined by you in some way they will blame everybody except themselves.

mrb 1 day ago 1 reply      
"Nguyen was earning an estimated $50,000 a day. Not even Mark Zuckerberg became rich so fast."

False. Zuckerberg became rich faster. Facebook was founded in February 2004. As of February 2014 Zuckerberg's personal wealth is estimated at $31.6 billion. So, during these 10 years, his wealth increased on average by $8.7 million per day.

But I guess the point is moot anyway since RollingStone is comparing apples to oranges (earning != wealth).

jacquesm 1 day ago 0 replies      
We had a guy commit suicide on cam in the early days of our website. It was terrible. I was asleep in NL, nobody thought of calling us, just an email that went unseen for the better part of the night. Then in the morning I woke up to a site that was pulled off the air by the hosting provider (ev1) to lessen the chances of copycat acts or other mishaps.

Looking back through the chat snippets that people had mailed from that cam it looked like a bunch of assholes had actively pushed the guy to do it.

We figured out where he lived and sent the police to his home, they took the guy down and after that ev1 restored service to our machine but for the longest time I felt like simply leaving it off.

It's no fun at all when your creations get away from you in ways that you did not foresee. There is a lot more backstory to this which I'm not going to relate here for obvious reasons, and that wasn't even the lowest point of running a consumer oriented website for 15 years and counting, go figure.

rottyguy 1 day ago 1 reply      
"Growing up in Van Phuc, a village outside Hanoi famous for silk-making, Nguyen (pronounced nwin) never imagined being a world-famous game designer."

As Nguyen is a very popular Vietnamese name, I'd thought to bring this up.. It is not pronounced with an 'N'.. wikipedia has the correct pronunciation: http://en.wikipedia.org/wiki/Nguyen

Destitute 1 day ago 1 reply      
Does anyone know what language he coded the game in? It's kind of a feat in itself that he ported it (by himself) to Android rather quickly. Is he using some sort of wrapper?
pfisch 1 day ago 8 replies      
I heard it was just a reskin of a premade game he got off an asset store. Is that not the case?

This article made it sound like it was an original idea, but I thought it was just that one button to go up, no button to go down flash game. Is that not what it is?

mesuvash 1 day ago 2 replies      
Nothing but #respect. It's hard to see people who give up fortune for what they consider right thing(atleast from his perspective).
blazespin 1 day ago 0 replies      
I think rolling stone is having a tuff time differentiating between a meme and a world famous video game.
DanBC 1 day ago 0 replies      
Is there a cultural bias in the HN comments?

Some of the asian social networks are ferocious, much worse than the twitter witch hunts we sometimes see in the US.

The Human flesh search engine doesn't sound like something I'd want to be on the wrong end of.


felipelalli 1 day ago 0 replies      
TL;DR "13 kids at my school broke their phones because of your game, and they still play it cause it's addicting like crack."
Ryel 1 day ago 3 replies      
Just to clarify, Dong Nguyen is still alive... right?

The article is a little fuzzy -

"In the wake of Flappy Bird's demise, rumors spread. Nguyen had committed suicide."

SilverSurfer972 1 day ago 0 replies      
So what will happen if his next game hit the top ten again? Shut it down? Why not put his game for charity or just stop releasing games if he really care about how his game affects the players?
icanhasfay 1 day ago 1 reply      
Just something itching me wrong about purposefully making a game excruciatingly difficult and then getting so emotionally affected by their reactions to that difficultly that you are distraught.
kimonos 1 day ago 0 replies      
I totally understand his point. Good luck to him.
AnitoKid 1 day ago 0 replies      
Awesome article! And I kid you not!
Stripe Checkout stripe.com
511 points by strzalek  7 days ago   208 comments top 69
patio11 7 days ago 2 replies      
This is a really bright idea, in that almost all companies do an absolutely bloody abysmal job of implementing their checkout flow. The median testing budget for it is generally zero, unless you scope the population to "large, savvy ecommerce providers." I love the idea of being able to basically take advantage of the herd effect for optimization, and clearly there are non-linear advantages to the Stripe ecosystem, because getting credential/CC pairs into the system most probably increases systemwide spend on them and that is how both merchants and Stripe make their money.

I'm probably going to try this in Bingo Card Creator in an A/B test against my existing purchase flow at some point. I'll be honest: the likelihood of the average English teacher knowing Stripe does give me a bit of pause with regards to the UX and the prospects of my VA having to answer a lot of "Who is Stripe and why are you telling them my credit card number? Did your Googles get a virus?" emails. Still, seems like it is worth testing. Worse comes to worse, all you do is go back to the pre-existing checkout flow, like whatever Stripe.js integration you're using right now, and then you have full control over the experience.

I have seen and supervised successful redesigns of purchase experiences before. They print money. BCC got a 60% or so lift in purchases using a Stripe-powered checkout back in the day, after some hillclimbing, discovery of synergistic effects, and burning the kinks out of my integration. I think there's likely motivational numbers hiding in a lot of your businesses. You should absolutely be testing them on a regular basis yourselves, but this seems to be a decent stab at a way of doing testing without requiring focus/bandwidth or major traffic [+], which are two major reasons people give me for not testing.

[+] I have noticed many people suggesting "You could do per-account multivariate testing on e.g. whether the Remember Me button is a win or not", and feel obligated to point out "That will probably only work for accounts which are doing, minimally, thousands of transactions a month." The great thing about this is that if you've got only 2k visits a month and 40 purchases if we assume that systemwide performance is a good proxy for your performance (and n.b. that's an assumption which is tractable to measurement) then we can still get solid test results by using the other millions of visitors and hundreds of thousands of transactions flowing through the system every $PERIOD.

dirtae 7 days ago 7 replies      
Stripe Checkout is nice, but unfortunately it's not suitable for us, since the "Remember me" checkbox cannot be hidden.

"Remember me" is confusing for users. What is being remembered? By whom? When you're dealing with users who may already be concerned about whether it's secure to enter their credit card number into your website, I feel like the "Remember me" box is just adding another layer of confusion and concern.

I'm surprised that the "Remember me" checkbox can't be hidden, given how focused on their customers Stripe normally is. The "Remember me" checkbox feels like something Stripe is pushing on me to help them with their business objectives, which isn't the vibe I usually get when dealing with Stripe.

toddmorey 7 days ago 3 replies      
The demo of checkout available at https://stripe.com/checkout uses a canvas element for the demo animation. It's a really well done walkthrough. Was it entirely custom-coded or done using a framework / tool to help?
jeff18 7 days ago 1 reply      
We've been using Stripe Checkout at Humble Bundle for quite a while and it has been awesome. It is really easy to set up and once a customer has used it, it's incredibly easy to checkout in the future. Every couple weeks I hear about a new A/B test that is running to try to make it even better.
pbiggar 7 days ago 1 reply      
At CircleCI, we've been using Stripe Checkout for quite a while. It was increadibly easy to set up and very high quality (we replaced a hacky ugly checkout page with it), and it looks really professional. That professionalism is really important at the final stage of the funnel.

One of the things that's really interesting about Checkout is that Stripe is actively focusing on increasing the conversion rate for us. Their new layout (with the phone number) has a 20% high conversion rate than the previous version.

subsection1h 7 days ago 1 reply      
> We've been testing this for the past couple of monthsour hypothesis was that it would increase conversion ratesand we're delighted that it has been confirmed.

pc, do you know if the conversion rates increased for the majority of the subscription-based sites that you monitored?

Our company has a subscription-based service that uses Stripe Checkout, and some of our customers have expressed confusion regarding the "Remember me" feature. Even the CEO of our company expressed confusion initially, and he requested that I ask Stripe for the option of hiding the "Remember me" field.

From their perspective, there's no reason why their payment information should be remembered because they have no reason to enter their payment information again in the future since our service is subscription-based.

I think the "Remember me" feature would be less confusing at an e-commerce site where customers may make additional purchases in the future.

Also, we'd like to be able to hide the customer's email address in Stripe Checkout, not just disable the email address field.

So essentially, we want the old Stripe Checkout that only requested payment information.

mikeg8 7 days ago 1 reply      
Hot damn. The design and experience I felt from this page is overwhelmingly great. I've always loved stripe's design and they continue to blow me away. Really excited to activate our account any day now.
saluki 7 days ago 1 reply      
First off I'm a huge stripe fan I recommend them to clients daily.

I contacted stripe about an option to disable remember me on an existing stripe checkout form at the request of a client.

I was very surprised stripe said that wasn't going to be an option. They said we tested it and it will increase your conversions so it's not going to be optional.

Not very stripe like at all. I can understand it being on by default to move things toward their business goals. And it even looks like a nice feature.

But for it to be required doesn't seem friendly.

Being developer focused I would expect stripe would appreciate having control over the look and feel of your checkout process.

I'd like to hear an explanation of the issue it would cause stripe if it was on by default but they provided a flag to turn it off like some of the other checkout fields.

Thanks again for a great product.

nhangen 7 days ago 1 reply      
Interesting move by Stripe, and I guess it explains why WePay and Balanced choose to focus on the API and not their d2c offerings.

With the 'remember me' feature, Stripe has chosen to impede upon the territory of their developers, which greatly concerns me.

I love their product, but one of the reasons I choose to use them is because of the options that their API provides. Is this a back-end play to eventually cut out developers, or is it designed to help them sell more product? I'm sure Stripe staffers will say that it's the latter, but if that's the case, who is the primary customer for this offering?

Pitic 7 days ago 0 replies      
TL;DR: +1 on making the "Remember me" checkbox optional.

I'll try to offer a slight variation on what others have already mentioned regarding checkout. Like many of them I find Stripe to be very well thought out and easy to implement.As far as Checkout goes, the idea is great but it might need some updates in order to make it more useful to a wider audience.As other mentioned, the "Remember me" function was enough for me to not use Checkout. It is confusing, perhaps because it introduces a mental shift in the user's mind, where out of a sudden they need to understand how this other company "Stripe" will magically keep their info across devices. A way to hide that field wouldn't harm anyone (other than Stripe's ability to do branding).It would also be nice to allow style customization of the form.

downandout 7 days ago 1 reply      
Now if they only did same/next day payouts. The founder once said this was possible if you emailed him. I emailed him and got zero response, from him or anyone else, so I'm guessing they are only doing this for super high volume merchants.
PandaChi 7 days ago 1 reply      
We set it up over here @Patreon and it was EZPZ. One issue that wasn't clear from the documentation -- the "custom" setup (https://stripe.com/docs/checkout#integration-custom) is preferable for so many reasons (and it's no harder to setup, not sure why it's not just the only option) -- it doesn't "take over" the form so that a credit card is required on submit and it also returns a bunch more relevant info like the last 4 digits of the credit card, the expiration date, etc. so you can save and display the card info for future checkouts.
tlogan 7 days ago 0 replies      
May I ask a honest question: why did you add email and remember me? It looks something like VCs will suggest. This makes me no to trust Stripe as platform.

Somebody smart said: the incumbent are wounded by the first disruptor and that disruptor eventually becomes the same as the incumbent and, then, both are killed by the real disruptor.

analog31 7 days ago 1 reply      
Ask HN: I run a tiny home business making widgets. My web page, including order form, is pure HTML.

From what I can tell (looking at page source for the Watsi example), at the very least in order to use Stripe, I have to add some JavaScript to my web page, and of course test it.

Granted, that shouldn't be a big problem for a skilled web developer, but I'm not one.

Am I understanding it right?

reillyse 7 days ago 0 replies      
So couple of comments on stripe checkout.

2 big issues.

First off, the entering of email addresses and remember me stuff is confusing for my customers. We sign up people for a free trial and take their credit card details before we sign them up as users. Even quite technical people have dropped out of the flow after signing in with stripe thinking "I've given them my email" and so people haven't properly finished the signup process because of this (I'm guessing I can probably get this email, however I'd still need to prompt them for a password).

The second big issue is that the constant changing of the form kept breaking various integration/acceptance tests that I had written. This was pretty frustrating as it seemed that I would get a different box from time to time and my tests would start failing.

I get the desire to A/B test, and the desire to build a network of users who have already given their credit card details (obviously amazing for mobile) but it would be nice for us customers if we had a flag where we could switch it off.

rs 7 days ago 0 replies      
Have been using Checkout on https://deployer.vc and https://zoned.io - it's absolutely excellent: very easy to integrate, and looks really good. Will be switching over the other products as well over from PayPal.
dcaunt 7 days ago 0 replies      
This is seriously awesome!

I don't want to detract, but it's a shame that your https://stripe.com/checkout page isn't optimised for mobile. I wanted to have a look at the demo on my phone as well as on my desktop.

colinprince 7 days ago 0 replies      
Killer detail "donate to Watsi"

Well played.

elithrar 7 days ago 1 reply      
I'm particularly happy that iOS Chrome is now a "first class citizen". There were some shaky times before where it (provided you saved your form) showed the mobile view that Safari gets; then where it failed completely (with a JS alert()); where it showed the desktop modal (okay, but a bit janky) and finally where it had a made-for-mobile modal.

I'm a big fan of Checkout otherwise: it's definitely simplified things for me. I'd just like to see more communication regarding changes: I discovered most of those myself from my staging site.

slowernet 7 days ago 1 reply      
Anyone know if they are they using an open source tool to run the intro animation? Can't tell from the minified source.
kailuowang 7 days ago 3 replies      
From your video, I noticed that on a smart phone, you authenticate user by sending a code through text. Isn't that redundant? Whoever has that phone will get that text..
ajju 7 days ago 0 replies      
Very interesting. Since Checkout brings in an element of the developer contributing a user to Stripe via 'remember me', I'd love to know the tradeoff here.

What is the probability today, that when a user of my app hits Checkout, they will already have a credit card saved which makes signup faster?

corkill 7 days ago 1 reply      
Can this UI/checkout be used for updating CC info as well?
jusben1369 7 days ago 1 reply      
PC is this cross merchant? That is, if one end user of a Stripe merchant stores their card and then that same end user visits another Stripe merchant are they remembered? I see "Stripe stores your card for this site and others" or wording like that.
bliti 7 days ago 0 replies      
Does this replace gumroad (and services alike)?
yahelc 7 days ago 0 replies      
I've been using Stripe Checkout now for a few months now, and besides the lack of built-in support for coupon codes, it's pretty perfect.
RafiqM 7 days ago 1 reply      
Checkout is a great way to get started fast (like, in <15 mins).

Multilingual support would be great, and also a more customer friendly interface for those who might not be familiar with things like CVCs. Those two things are reasons I had to stop using checkout and use stripe.js instead.

chenster 7 days ago 0 replies      
Nice, Checkout is great for Ad-hoc payment. I'm using WordPress Easy Digital Download plugin that already has Stripe support. EDD automatically creates user account, and tracks usages, and sends confirmation and download emails to buyers.
snake_plissken 7 days ago 1 reply      
I still don't completely understand how Stripe can be so cheap. How do they pass charges onto payment processors without incurring some sort of fee that is not equal to the market rate for all other transactions? Is there some sort of fee scale on the processor side that decreases as the transaction amount increases?
quaffapint 7 days ago 1 reply      
Looking back at my sales, too many customers use Paypal to simply go to Stripe only.

I wish someone would make something that is as easy to use as Stripe but also offers Paypal. The few I've seen are still everything and the kitchen sink, not just a simple stripe + paypal combo.

steerj92 7 days ago 0 replies      
Stripe Checkout is amazing. Used it for a few months and it's worked extremely well. Glad they are constantly updating it. Looks even better than it did before.
ruok0101 7 days ago 0 replies      
We use Stripe checkout at http://leaddyno.com for subscription signups using the custom integration features of the checkout widget. We also use it in our app for customers to update their billing information. Its great they made such an awesome widget and ALSO made it very easy to customize and integrate programmatically! We love it!
nakodari 7 days ago 1 reply      
The checkout on mobile app looks great. Too bad this cannot be used to unlock functionality in the app after payment, it will be rejected by Apple.
rmccue 7 days ago 0 replies      
I'm not a fan of the payment input in a separate window, although I'm not sure if that's just a browser quirk on my end. Much preferred the old modal dialog on the same page.
giulianob 7 days ago 2 replies      
I really want to use Stripe but it would be great if they had a more favorable pricing structure for microtransactions. Paypal, for example, will charge 5%+$0.05 or 2.9%+$0.30 (whichever is lowest) for digital goods transactions.
Lightbody 7 days ago 0 replies      
Is this different than "regular Stripe"? I watched the quick demo and I thought that was what Stripe has been doing for a while now?
kaa2102 7 days ago 0 replies      
I am getting ready to launch a product. I was using Wepay until they eliminated their checkout form. Switched to Stripe, read up on the API, and implemented the form. Now you tell me their is a simple checkout widget available. Sigh.
thebiglebrewski 7 days ago 0 replies      
I use Stripe Checkout at postperfect.co. The only thing I really wish it could handle was a discount code implementation, which I had to do myself unfortunately.
blantonl 7 days ago 0 replies      
Carl Icahn's "request" to spin Paypal out of Ebay is probably looking better with this announcement.

Paypal really needs a new leadership team that promotes innovation. Stripe is cleaning up, and I'm about to take a lot of business to Stripe...

ROFISH 7 days ago 1 reply      
Is there a method of inserting the address if it's already known? (Such as saved customer data or another form element?)
tindrlabs 7 days ago 0 replies      
Now I'd just love for you all to make capable of having products attached to it and operate like a shopping cart ;) -- But seriously your designs look so good, I'd actually want that.
aslakhellesoy 7 days ago 0 replies      
Stripe checkout is great, but I really miss the ability to add custom fields to the form, such as VAT number and Company name.

I realise that allowing to add a whole bunch of fields can hamper usability, but I have to collect the VAT number in order to figure out how much to charge the customer.

Does anyone have a recommendation about what to do here? Roll our own form and lose all the nice stuff from Stripe Checkout?Display a new form for VAT after displaying checkout, and charge after that?

akumen 7 days ago 2 replies      
How's Stripe for SaaS billing of multiple plans with option to pay on a monthly, quaterly and annual basis with appropriate discounts?
return0 7 days ago 1 reply      
How about taking a photo of the credit card and using OCR to fill up the form?
BvS 7 days ago 0 replies      
Does this work internationally (eg international phone numbers + translated explanation)?
chuckouellet 7 days ago 0 replies      
If you need a more advanced shopping cart, there is Snipcart that can connect to Stripe, https://snipcart.com

The cart is fully responsive so it works on mobile as well!

I am one of the founders, let me know if you have any questions.

vassvdm 7 days ago 1 reply      
Hey pc, do you plan to add escrow to Stripe Checkout at some point?
scott_karana 7 days ago 0 replies      
Looks like a Humble Bundle 12 is inbound soon, based on their screenshot! :)
scurvy 7 days ago 0 replies      
While this is admirable, it flies in the face of security-based UX. For years we've taught people to only send sensitive information over SSL, and to look for the lock, green bar, etc.

Now you're asking people to blindly punch information into a box and hit send?

koa 7 days ago 0 replies      

I love the UX for the stripe checkout. It seems like the integration script creates a full page iframe allowing the widget to have full control over the UX. Is there any guide to building a similar full page iframe widget for other applications?

grimmfang 7 days ago 0 replies      
I know it's been said but this is a absolute masterpiece. Thank you for inspiration Stripe.
x13 7 days ago 0 replies      
Stripe is pretty sweet, and we're in their beta to receive funds in two days. Any idea how they actually do this? Two is certainly faster that the normal seven days, and I'd love any insight or theories from the HN community.
dmjio 7 days ago 0 replies      
If you put $0.00 as the amount it changes the button text to say "add card"
piratebroadcast 6 days ago 0 replies      
Can this form be used for recurring billing situations? Like $1.99 a month?
benmcnelly 7 days ago 0 replies      
My name being Ben and a stripe, dribble & humble bundle user, I had to open in an incognito window to double check that it wasn't scraping my name somehow..
hoprocker 7 days ago 0 replies      
Awesome. Kind of like an embeddable software Square. Bravo.
chenster 7 days ago 2 replies      
I suppose your site still needs to have SSL in order to use Checkout?
betadreamer 7 days ago 0 replies      
Love the design and simple integration.

Would be exciting to see a shopping cart / coupon features some time in the future.

useraccount 7 days ago 0 replies      
I think Stripe just ate Gumroad's lunch.
badgercapital 7 days ago 0 replies      
Stripe is awesome. We use stripe on VidFall.com... our alpha launch is on 3/10, would love to see you there.
igotwater 7 days ago 1 reply      
Does anyone know if there is a similar API that would allow people to send money to other people?
castlegrove 7 days ago 0 replies      
Released just as I finish our custom checkout process...but hey, I'm glad to see it!
api 7 days ago 0 replies      
This has existed for a while, and I'm using it on my site. Didn't know it was "beta." Works great. (Still in test mode though, have not yet exited beta so I'm not taking anyone's money yet.)
pyrrhotech 7 days ago 0 replies      
how does this differ from V.me by Visa?
AliAdams 7 days ago 0 replies      
I dont get it - Why is this different from stripe.js ?
higherpurpose 7 days ago 0 replies      
Is there a Stripe plugin for this for Woocommerce themes?
higherpurpose 7 days ago 0 replies      
When is Stripe coming to the whole EU?
notastartup 7 days ago 1 reply      
so how do I integrate this to my website ? I am currently using https://www.paymentiframe.com/ because the form looks really nice like a credit card form.
el_guapo 7 days ago 1 reply      
too bad you can't dynamically change the price in the form.
Ask HN: What happens to older developers?
479 points by JeffJenkins  3 days ago   326 comments top 101
bane 3 days ago 20 replies      
It seems that they go a few directions:

The most common seems to be to try and generalize, because relearning most of your job skills every few years starts to get annoying the 20th time you've had to do it. It's different when you are younger and everything is new, you just chalk up a major tooling change as just something else to learn. But when the next hot platform or architecture or whatever comes out you get tired of running in exactly the same place. You also start to get a long view on things, where all these new things coming out don't really seem to offer any advantage to you that keeps development fun. It's just more and more layers of abstraction and you start to see the nth demo of WebGL maxing out a 4 core modern GPU system doing exactly what you did 20 years ago with a single 32-bit core, 1/5th the transistor count and all in software. So how do you generalize? One word: management. You start to take over running things at a meta-level. You don't program, you manage people who program. You don't program, you design architectures that need to be programmed. You don't program, you manage standards bodies that people will be programming against. It's not a higher level, more abstract, language you go for, it's a higher level, more abstract job function. The pay is usually better and it's a natural career progression most organizations are built around. There's lots of different "meta" paths you can take. And because most of the skills in them will be new to you in your late 30s, 40s or 50s, they're at least interesting to learn.

The problem for some people is that these kinds of more generalized roles put you in charge of systems that do not have the sort of clear-cut deterministic behavior you remember from your programming days. Some folks like this, and look at it as a new challenge. Some hate it and wish for their programming days again. YMMV

So the next most common path is to just become more and more senior as a developer, keeping down in the weeds and using decades of experience to cut through trendy BS to build solid performant stuff. These folks sometimes take on "thought leader" positions, act as architects or whatnot. Quite often though industry biases will engage and they'll be put on duty keeping some legacy system alive because their deep knowledge of the system lets the company put 1 guy maintaining half a million lines of code in perpetuity vs. 10 young guys maintaining the same, who all wanting to leave after a few years to build more skills. The phenomenon is best seen as the ancient grey beard COBOL mainframe guys. Some people love this work, they can stay useful and "in the game", but some hate it because it comes with the cachet of being stale and not keeping up with the times. YMMV

Probably the third most common path is to simply branch out and start your own gig. A consultancy or something where you get to work on different things in different places on short engagements. The money is good while it's coming in and you get to make your own hours. At some point you decide to keep doing this till retirement (if you can keep finding work) or to grow your business, in which case you generally end up doing the meta-management thing. There are thousands of these little one-man development shops like this and I wouldn't be at all surprised if this is more common than third on my list.

Probably the next most common path is to just get out of development entirely. The kinds of logic, planning and reasoning skills, plus the attention to detail required to be even a half-assed developer, can be extremely valuable in other fields. Lots of developers go into Systems security, Business Analysis, Hardware, etc. With a little schooling you can get into various Finance, Scientific or Engineering disciplines without too much fuss. The money isn't always better in these other fields, but sometimes the job satisfaction is. Again YMMV.

bwanab 2 days ago 8 replies      
I'm 60+. I've been coding my whole career and I'm still coding. Never hit a plateau in pay, but nonetheless, I've found the best way to ratchet up is to change jobs which has been sad, but true - I've left some pretty decent jobs because somebody else was willing to pay more. This has been true in every decade of my career.

There's been a constant push towards management that I've always resisted. People I've known who have gone into management generally didn't really want to be programming - it was just the means to kick start their careers. The same is true for any STEM field that isn't academic. If you want to go into management, do it, but if you don't and you're being pushed into it, talk to your boss. Any decent boss wants to keep good developers and will be happy to accomodate your desire to keep coding - they probably think they're doing you a favor by pushing you toward management.

I don't recommend becoming a specialist in any programming paradigm because you don't know what is coming next. Be a generalist, but keep learning everything you can. So far I've coded professionally in COBOL, Basic, Fortran, C, Ada, C++, APL, Java, Python, PERL, C#, Clojure and various assembly languages each one of which would have been tempting to become a specialist in. Somebody else pointed out that relearning the same thing over and over in new contexts gets old and that can be true, but I don't see how it can be avoided as long as there doesn't exist the "one true language". That said, I've got a neighbor about my age who still makes a great living as a COBOL programmer on legacy systems.

Now for the important part if you want to keep programming and you aren't an academic. If you want to make a living being a programmer, you can count on a decent living, but if you want to do well and have reasonable job security you've got to learn about and become an expert in something else - ideally something you're actually coding. Maybe it's banking, or process control, or contact management - it doesn't matter as long as it's something. As a developer, you are coding stuff that's important to somebody or they wouldn't be paying you to do it. Learn what you're coding beyond the level that you need just to get your work done. You almost for certain have access to resources since you need them to do your job, and if you don't figure out how to get them. Never stop learning.

compay 3 days ago 2 replies      
I'm 41. I also worry about ageism but so far I don't feel that it has affected me yet.

> Do you have to go into management to continue progressing upwards in pay and influence? I know this isn't the case at some companies (e.g. Google), but is it rare or common to progress as an individual contributor?

That has not been the case for me. I'm currently doing software development for a startup - the same thing I've done my whole career. I do get asked to provide guidance and help for younger devs sometimes, but I don't mind that one bit, it's actually very personally fulfilling.

> Is there a plateau in pay? Is there a drop in pay switching jobs after a certain number of years experience because places are looking for 5+ instead of 20+?

For me, so far no. I'm currently making the highest salary I've made yet in my career. I've been here for a year and a half.

My age has not been an obstacle to finding a job yet; I've had plenty of interviews and offers over the last 5 years and have chosen the places I wanted to work, rather than the places where I had to. It's worth noting that I'm white, male and American, so I realize I'm less likely to suffer from workplace/interview discrimination with US companies than people in other demographics.

> Is becoming a specialist rather than a generalist the answer?

I'm pretty much a generalist web developer, I do backend and front end work, On a nearly daily basis I work with Ruby, Javascript, Postgres, Haml, Chef, CSS, Sass, Shell scripting, etc. I didn't have to become a specialist to get my job, although the fact that I've been doing Ruby for about 10 years did help me get it. I think the answer is, just to be good at what you do, whether that's as a specialist or a generalist.

> Are older devs not looking for new jobs because they have families and want more stability/are focussed elsewhere?

> What are the older people in your workplace doing?

I have two kids, 5 and 2. My coworkers are evenly split between man and women, are mostly in their 30's to 50's and most of them have kids too. A coworker of mine recently returned from a ~5 month maternity leave after having triplets, and we've been flexible about her work hours/conditions because we didn't want to lose her. So we're definitely not averse to having employees with families. I look for companies that have this kind of attitude to work at. It's not as hard to find as you might think; as long as you're good at what you do people will probably want to hire you.

I'm not sure to what extent my company is "typical" but you can at least count me as one "older" developer who is happily still working as a developer, was able to have a family without harming my career, and didn't get pushed into management.

All in all I would say, your early 30's is still young. Statistically you've got more than half of your life ahead of you, likely the best part, too. As we get older I suspect the demographics of our profession will change along with us, and there will be more older people in roles we stereotype as being for younger people.At least that's what I keep telling myself!

coldcode 3 days ago 4 replies      
I'm almost 57 and still write real code that people use and employers make money from. The trick is to continuously learn new stuff. My whole career has always been spent at the leading edge of whatever was most important at the time. Sure, people sometimes don't want to interview you because they assume you are old and pointless, but that's usually when they don't even read your resume, blog, linked in or whatever you have. There are people who think that way, and there are people who recognize ability and experience matter. The trick is finding the latter while trying to avoid the former.

Some people don't learn anything new and become obsolete, or become management, or even have to start over away from programming. It's not easy to stay out front but you are the only one who can do it.

ap22213 2 days ago 1 reply      
I'm 38, and Software Dev. is as lucrative as ever.

I've never done any 'IT work', and I've focused almost entirely on product development, over my 16 year career.

As a salary, I think I have plateaued at 160K, which is good enough for me. With 'adjustments for inflation', that's usually an extra $5K increase per year. There are people who make more than me, I know. For example, a guy I work with probably makes $200K (and he doesn't have a college degree).

There are always 'business problems' to solve with software, and there is always software to maintain. A lot of software never 'ends' - it just keeps going on, or dies dramatically, replaced by something similar. There's never been a better time to be a developer.

At a certain point, you'll have to become something like a 'manager'. For me, this is more of a 'tech lead' / 'architect' sort of role. I'm responsible for the quality, functionality, road-maps, integration, etc. I'm responsible for understanding the business domain, in and out. I'm responsible for managing the parts of the system, and ensuring that they all work together. I have to lead meetings, give presentations, work with the field and customers.

However, all of that is a small part, for me. I still code a good 85% of the time.

I get somewhere around 10-15 recruiters contacting me per week. So, I believe the job market is hot. But, I am really comfortable where I am. I work from home, and I run an entirely distributed team. We meet in person, when we think we need to meet. Things go very smoothly, because we're all experienced devs, and we fit together culturally.

I'm far from an 'amazing dev'. I don't have a slick github account. I don't run any important open source projects. I just know how to do a lot of different things, I am very efficient, and I have a great track record for success. I know on any given week, hundreds of thousands of people use software that I had created, and that makes me feel good.

KentBeck 2 days ago 3 replies      
I'm about to turn 53. I spend most of my day coaching younger programmers at Facebook (because they're almost all younger). We pair program and talk. I work on speculative projects, some consumer-oriented, some programming tools and some infrastructure. I also research software design and the diffusion of innovation.

I took a 10 year excursion into being a guru, but I'm technical now and intend to stay that way. I love programming. I've never been a manager. I suppose that capped my pay, but I'd rather be satisfied with my work. I haven't noticed a pay drop with age, but my experience may not be typical.

The most important factor for me has been to keep coding. It gets harder. I have noticed a definite drop in my long-term memory, concentration, and general cognition, but I compensate by being better at picking important problems, being able to pattern match a large library of experiences, and not panicking. As Miracle Max said, I've seen worse.

I started learning Haskell a couple of years ago, and that has really helped expand my programming style. I still don't like it, but it's good for me. I'm also learning React and the reactive style of coding UIs. That's also a brain stretcher.

jawngee 2 days ago 1 reply      
I'm 41, but I don't consider myself old.

Either way, I'm semi-retired. I do client work (iOS and experiential retailing installs) for about half the year, then I do my own projects for the other half.

I live in Vietnam but commute to NYC for certain client projects, so maybe 25% of the year there, the rest in Vietnam.

Prior to the move, I did 20 years focused mostly on new media/creative tech so my skill range crosses through design to code. This is pretty rare in NYC, so it's never been a struggle finding work, age has never come into the equation.

It's probably an arrogant assertion, but if you are exceptional at what you do, none of this nonsense about age will matter at all, so one should always strive to be exceptional in their careers. For me, that's involved 18 hour days, 7 days a week of working, learning, exploring, making mistakes and maintaining a healthy curiosity about how things work. Every piece of software I see, or motion graphic I see, I am constantly deconstructing in my head.

But I've worked with a lot of dudes that treat this as their jobs, and those guys are on a trajectory I don't understand, so maybe I'm not qualified to comment. I suspect if you're mid-level or worst, or that is the most you've aspired to contrary to talent or skills, you'll be set to pasture at some point.

The great thing about this move to Vietnam is that a single day at my day rate pretty much pays for an entire month of living here. So those months I'm not doing client work, that's a shit ton of free time to throw myself into technical and creative challenges that you wouldn't normally encounter working on projects for others.

As an example, I've always been fascinated with the tablet as a publishing platform but have always felt the current toolset a (adobe dps and magplus specifically) are glorified PDF generators that completely ignore the unique user experience properties of the device. So I spent a good six months in Vietnam working on the problem. And now I have publishing platform that eclipses Adobe DPS on a lot of different levels. I also publish a digital only fashion magazine here in Saigon (eating your own dog food). So life is kind of random.

onion2k 3 days ago 1 reply      
I'm older than you and I've been looking for a new developer role recently. The main problem I see is that there haven't really been "old web developers" in the past - I've got about 15 years experience which is pretty much as much as it's possible to have in the web industry. People with more experience tend to be "software engineers who wrote web things" rather than "web developers" per se. Employers have expectations that web people are young people and as such building web software is something that you can only really do at the start of your career. The assumption is that if you have a lot of experience you'll quickly get bored and move on. Consequently it's getting a lot harder to find a job. I suspect that once we pass 40 we'll all have little choice but to move in to a more business analyst or management style role, or go freelance, until the industry is mature enough that age isn't something that works against you. A shame really.
jhspaybar 3 days ago 4 replies      
I honestly don't understand this, I'm sure there is ageism, but when I'm reading resumes and interviewing I love the more experienced developers! The few times I've seen a solid 10 years experience rsum followed up by a solid phone screen it has been a feeding frenzy. So much so that my company usually can't even move fast enough to get an offer in the ring :(

On the other hand, it's really obvious when someone has 10 years of experience staying invisible and just hanging on. Those are the ones that get ignored in my experience, and for good reason.

jorgeleo 2 days ago 0 replies      
I am in my 40s, and this is my experience:

I work as an independent contractor, and my pay has gone up

I still code every day, but my understanding of what is important has changed a lot.

I care much more about the solution as a whole than the technology. While the technology is important, most clients care more about correct results. From the business side, nobody has ever tell me "Thank God you used TDD over Angular with a no Sql database". But on the other side, I have seen software that crashes every other time they run, but big companies still willing to pay in the 6 figures to use, because when it runs, it solves a very complex problem for them. So understanding the whole solution, and why is valuable, has become much more important. And that is what has kept me as a valuable individual contributor.

I went into management for a while, found a few cultural differences, like that Indian woman are way smarter than most of team members. Also with younger people, some of them need to be professionalized before they can be fully useful, once I got one that sustained that being late to work because he was drunk in a party the previous night was a reasonable excuse because he was the king of JS in his shop. Didn't last 6 months.

Nobody can guarantee you any pay scale, you make your own profession.

Family becomes a big factor, so job jumping is not something to be proud of, even as a young professional, it can be easily read as lack of maturity, and it plays against you in your resume.

Specialist vs. Generalist. There is room for both, but just be careful that you don't become specialist in a passing fad. Is better to accumulate specializations, so you become a well rounded generalist

Today I am coding in 3 different (but business process related) projects. I am part of the "think tank" that design the mathematical models behind the different products; and also work with the rest of the senior team on how to bring the energy of the younger people to a more self disciplined and productive place. We are finding that too many people think that "loud and opinionated" makes them noticeable, but the truth is that we cannot put high value products in the hands of the frat house king (to put it in stereotype terms: the bullied geek in the school probably has many more chances than the high school quarter back)

zwieback 2 days ago 0 replies      
48, working at HP. I code every day and also get to tinker with embedded systems, optics, lasers, sensors, etc. Every day I can't believe I'm getting paid so well to have so much fun. I do keep up with the latest technology in my field.

> Do you have to go into management to continue progressing upwards in pay and influence?

No, like many corporations we have a dual path system although one level up from my senior engineering position I would have to do some visionary stuff, which I'm not good at so I'll probably stay at this level. Pay is not directly linked to position here.

> Is there a plateau in pay? Is there a drop in pay switching jobs after a certain number of years experience because places are looking for 5+ instead of 20+?

Doesn't seem to be the case here. I could imagine switching jobs gets trickier in your 50s because hiring someone new at high pay appears riskier.

> Are older devs not looking for new jobs because they have families and want more stability/are focussed elsewhere?

Yes, major issue with two kids in middle school and good benefits at current job. Planning on being more flexible in a few years...

> Is becoming a specialist rather than a generalist the answer?

I don't think so. As an engineer I think it's always good to have a balance between a specialty and a broad base. I've benefitted more from learning new skills but having a specialty is often good to get a start somewhere.

> And lastly: if you're in your late 30s, 40s, 50s, what are you doing at your job? What are the older people in your workplace doing?

Fun stuff: writing code, building SW/FW/EE test systems, building production lines, running product tests, doing failure analysis.

Boring stuff: working with outsource vendors and CMs, working through regulatory issues.

Surprisingly, there's almost no corporate training and bureaucracy left. I think first all that stuff was outsourced and then we decided that our vendors were too expensive and just got rid of everything. Win!

georgemcbay 2 days ago 0 replies      
I'm 40 and still actively developing software; I work with another developer who is in his early 50s and a bunch of people in their late 20s or early 30s.

I've not seen a hard plateau in pay but there's definitely a certain amount of soft leveling off in terms of percentages -- early in your career it is way easier to find a new job with a 50% pay increase, once you get into 6 figures that obviously becomes increasingly harder to repeat.

The only pay drop I've had was voluntary, to work at a startup I wanted to work at more than I wanted to maintain the pay I was making previously.

I think you can remain a generalist if you "specialize in being a generalist". My current job is doing Android client software development, but at home I code mostly in Go (servers, camera control systems, embedded Linux GUIs, etc) and I am still constantly learning new tech, new languages, etc, and still enjoy playing with technology in general seemingly much more so than even my late-20s/early-30s coworkers. Just built a RepRap 3d printer at home, have been learning about camera lens design and creating some custom lenses for my cameras (relatively basic Double Gauss designs with 4-6 elements at this point), etc.

MartinCron 3 days ago 1 reply      
I'm late thirties, and I'm writing code every day and fully intend to keep doing so until someone pries my ergonomic keyboard from my cold dead hands.

Something to keep in mind is that this industry is aging and maturing alongside us. You can't use historical precedent for understanding unprecedented events.

My personal hope is that the software developer monoculture (young dudes with ancestors in Europe or some parts of Asia) will mature into the kind of diverse profession where people aren't any more surprised by a female coder than they would be by a female orthodontist.

groby_b 2 days ago 0 replies      
44, and yes, it's a concern on the horizon that there might be ageism - but so far I'm not seeing it.

> Do you have to go into management to continue progressing upwards in pay and influence

That depends on how much pay and influence you want. At some point, influence means managing. If not in title, certainly in actions.

> Is there a plateau in pay?Yes and no. If you stay in the same qualification range at a given company, your pay will stagnate modulo annual increases. Move up or out to improve.

> Is there a drop in pay switching jobs after a certain number of years experience because places are looking for 5+ instead of 20+?

There can be. If you can, trade the drop for something you care about that advances your career. E.g. 2 jobs ago I took a pay-cut, but that translated into being given the responsibility to build a new team from scratch. It was something I wanted enough to take the cut, and it was a great learning experience. I subsequently traded back for money ;)

> Are older devs not looking for new jobs because they have families and want more stability/are focussed elsewhere?

Can't speak for all - I usually pick jobs I like, at companies I like, for pay I'm OK with. As long as the job comes with growth opportunities, I don't look for new jobs because I'm enjoying what I do.

If I don't, I'll probably switch.

But yes, I've also settled down a bit more. I wouldn't root up my family on a whim and move to a different continent any more, unless it was a stellar opportunity. Or maybe I'm not settled down, just pickier.

> And lastly: if you're in your late 30s, 40s, 50s, what are you doing at your job? What are the older people in your workplace doing?

I write code, and am trying to move into a bit more of a lead position, because that's what I care about. In general, the ones who want to write code do so. The ones who want to manage do so. And we've got people that are significantly older than I am.

In short, I wouldn't worry too much about being too old just yet :) Just make sure you keep your skills sharp.

TwistedWeasel 2 days ago 1 reply      
I can't speak for the community at large but I can tell you my path, my plan and my worries about that plan.

I just turned 36. I had been a manager for seven years across a few companies, managing teams ranging in size from 4 engineers to 35 (five teams underneath me). I reached a point in my last job where I was spending 80% of my week in meetings and the other 20% trying to stay on top of what my team was doing technically. I found myself becoming less and less useful in the technical discussions as the team was building up skills in new technologies that I didn't have time to learn.

I felt like I was losing my ability to be an engineer and therefore my ability to be a good engineering manager. I was not enjoying any part of my job at all. The rare opportunities to write code and learn new things were my only time where I felt good about the work I was doing.

So, I quit and got a different position as a senior developer. I told my new employer up front that I had been a manager for a long time and I wanted to be more technical again and focus my career on technical expertise. I my new position I am able to lead and set technical direction without being a "manager" in the traditional sense, people don't report to me but I help define what we're building and how we're building it. I am able to write code, learn, teach and explore ideas without feeling bogged down by management. My goal is to grow technically as much as I can and avoid becoming a manager that spends all my time in meetings again.

However, I am not sure how long this can last. At some point career growth seems to always steer towards doing less hands on and more managing of others, so perhaps i'll just need to find a way to enjoy that.

DEinspanjer 2 days ago 0 replies      
I'm hitting 40 this year. I've been a professional in the tech field for almost 20 years, and a hobbyist for another 5 before that. I am completely self taught. I never took any computer science courses.

I have done pretty well in the field. I eventually focused on data warehousing and business intelligence. I worked for a startup that was recently acquired by a huge company, another startup from early on, and the highlight of my career was working on the Metrics team at Mozilla. I eventually accepted a management position in that team, but after a few years, the stress was getting to me and I missed coding so I switched back to the technical track and I'm doing software architecture at Pentaho, a business intelligence tools company.

I live on the east coast, I work from home full time. I make a good salary. I took a very small drop in pay when I left Mozilla, but it would be tough for many companies to compete with the full scope of life and benefits at Mozilla, and I wasn't unhappy with the change. I am on the upper end of the pay scale, but having been a manager at a couple of different companies, I also know that there is still plenty of room for improvement, even staying on the technical track.

I like @bane's reply, although I feel that personally, there is an important distinction between the middle-management handing hiring, firing, performance reviews, and bureaucratic BS and the director, CTO, VPoE, or team lead where you are doing the abstract work he discusses. Maybe I just got unlucky or I didn't take advantage of the opportunities there though. :)

I would eventually like to move into a principle role, or maybe a director, but I personally have to be careful because I enjoy leading teams but I don't enjoy middle management. :) It is very possible that I might not hit that level because of my self-imposed restrictions.

I attribute my success to a ceasless passion for technology in general. I keep a notebook where I jot down any keywords or tech that I run across or hear mentioned so I can look into it in my spare time. I love diving deep into these technologies and understanding where they can be effectively applied. In most people's books that would make me a generalist, albeit within a specialized field.

I don't pull as many over-nighters as I used to a decade ago. I am more concerned about stopping work in the evening to spend time with my family. That said, I have never felt or acted like a "5:01'er", and I don't believe I would continue to prosper in this field in a way I want if I were to become one.

levosmetalo 2 days ago 0 replies      
Go to management and learn to play politics. Sooner or later you'll have to. There will always be someone younger and cheaper that will be good enough for the not so challenging lob you have. You just can't compete with them. Yes, there are places where one can advance much longer on a pure technical path, but there are so few these jobs and places that it's just no realistical if you are not in top 1% both in technical or luck skills.

If you want more money, sooner or later you'll have to "take more responsibility" and "lead the team". While being on the management level just above the programmers, you'll still have some contact with the technical part, but when you progress further, you'll loose it and become the pure bean counter and look at other programmers as resources.

And you will hate that, but you still have this mortgage you have to pay, and to save for your kids colledge, maybe go few times a year on vacation, or you need to do that latest gadget as an impulse buy.

And with the time, you will hate your job, as much as anyone else at that position. You will start to question whether it was the right choice to become software engineer. But it was. You had some ten years when you liked your job and found it both well paid and satisfying, which is much more average person, even with a degree, can realistically hope to have.


Being in a similar situation, I had to vent a bit. I made my choice to switch to the dark side and go the management route. I know I'll hate it, but that's the reality where I live. I know I could get a few more years as a software engineer in Silicon Valley, but USA is among the last places on earth where I would like to raise my family. So, management, here I come.

mml 2 days ago 1 reply      
39.5 here, have been a 1 man shop for 12 years. At this point, someone would have to be insane to hire me as FTE, and I would have to be insane to take it.

The money is better than ever, and I'm getting more and more interesting things to do.

One factor over the last 10 years or so (I've been in the game for 20 years now (yikes!)) has been having the experience to know which technologies to even bother messing with.

Far more important than the above, is to mentor other people, help people, and befriend everyone you can. It pays off in spades down the road when some C*O calls you up to lend a hand because he remembers when you helped him out a thousand years ago, trusts your judgement and skills.

Likewise, payback can be a bitch, so making "enemies" is not a great idea. Life is too short.

boothead 3 days ago 0 replies      
I'm 37 in May. I have been:

A marquee erector

A chemical toilette attendant

A barman

A bouncer (prefer the term doorman)

A commando

A telecoms engineer

A programmer of various different languages

Now I'm the CTO of a start up and we don't have any older people (apart from the founders by a few months). About the only thing I can think of to say is to keep learning forever, as many different things as you can think of. With a background in development and that kind of mentality you'll always be useful to someone! :-)

psychotik 3 days ago 5 replies      
Older developers get garbage collected
ceautery 3 days ago 0 replies      
My story is, I think, atypical. I have no college experience, have been in IT for 19 years, and am now 42.

I was hired to my current gig 11 years ago to fill an emergency need for someone with perl and B2B experience, where I showed myself to be competent and approachable, and received a token promotion and consistent merit raises.

I have made all my IT hires in a similar way. In 1995 CompuServe had an immediate need for anyone who could tell a mouse from a keyboard, and due to my experience troubleshooting modem connections to play better dial-up Doom, I was put right into tech support in the ailing company. Before they imploded, I was hired at an ecommerce VAN to troubleshoot comm problems and write comm scripts for some of their software packages when they were very short on good comm help.

At each of the companies I've worked for over the last 19 years, I've dodged layoffs, demonstrated competence and agility, been given a single token promotion, and have been paid below the market average for my position due to not having a college degree.

Pluses: Haven't been fired, laid off, aged out, or put out to pasture. I have had consistent employment, taking only two contracting gigs over the years, both while still employed full time. Plus no one gripes that I wear jeans in a business casual environment, or that I look like a hippy with my 21" hair.

Minuses: Fewer promotions, lower average pay.

If I did the math of some of my peers who negotiated more pay from employers, but were then laid off during low profit years, I would either break even or end up in the black by comparison.

By showing competence, a sense of urgency, and willingness to keep an enterprise system healthy for the long game, I've done pretty well, plus no pesky student loans to pay off.

...but on the other hand, I haven't written that killer app, founded my own tech firm, or otherwise found my way to riches. As 50 gets nearer, and as I cost my company more, any of that may change. I fully expect within the next re-org or two to be handed a severance package, and then see if my secret project-x is a gold mine waiting to happen, or if I've been kidding myself all these years.

bobochan 2 days ago 0 replies      
It seems hard to believe that I will be turning 50 soon, but I am still doing what I have done for the past 30 years or so. Every day I walk to work, get a coffee, fire up emacs, and start working.

Is there a plateau in pay? Sure, but programmers make okay money, so I cannot complain. If I want to work more I can sometimes do consulting work or teach a bit, but generally life is getting too busy for too much of either. I stay where I am because I love running up the steps every day to work, but really I've been happy in almost every job I have ever had.

My career has basically taught me that being a generalist in an age of hyper-specialization makes me very useful. Being able to code in many different languages and environments helps, but so does having domain knowledge in related fields (economics and statistics in my case). Softer skills like writing and public speaking pay for themselves 1,000 times over, as does having a sense of humor and a willingness to share credit and help out when the chips are down.

The older people in my place are doing pretty much the same things that I am doing, but a few a starting to wind down and think about where they want to spend the final days of their careers.

It seems way too early to start looking at my career in retrospect, but really I cannot imagine anything more interesting or worthwhile than the past 30 years have been in programming. It has been an amazing ride with more cool stuff then I ever imagined back when I was typing programs out of Creative Computing on my Apple ][+.

greatsuccess 2 days ago 1 reply      
In in my mid 40s, went through some life burnout due to trying to start my own business, and had to come back to just being the most solid engineer I can be.

I do contracts almost exclusively because I have no faith in the employment market as an employee given the current trends in hiring.

Also I dont feel that being an employee makes me more of a team player, In most places contractors are doing the real work and employees are sitting around chatting over the water cooler. Id rather get work done.

Im a generalist and in spite of the rather idiotic statements about that in the first comment, its really the only way to go, if you are not a generalist you are likely not employable regardless of your age. Any shop that has hordes of 20 year olds spitting out HTML/CSS is wasting their time.

The beauty of being a generalist is that once you have enough experience and a core set of tools, you can add new ones or not at your leisure. The pace of things is really not that fast, about 80% of all tools that get released are just junk that noone will remember in a couple years.

One benefit of being an older developer, is that in a decent shop people tend to notch down the bullshit factor, because they know you have heard it before.

Conning people into doing things that are stupid is reserved for the 20 somethings.

kennethtilton 2 days ago 0 replies      
Hey, thanks ruling out the 60s as too old even to consider. :)

I think anyone who is a seat-filler has a problem. But if one codes for fun, if one sees new technology and just DLs a tutorial and starts using it, if one is always thinking about how ones code can be tighter, such that every time one looks at ones code one rewrites it, one will be OK.

No need to stop coding to make money. Top coders do fine, and then one gets to code.

I am consulting for a company where I gave up a top spot so I would have more time to work on my startup: http://tiltontec.com/

I am sixty-two, have been coding head down on hard problems since 1978, on the Apple II.

Good news, grasshopper: it never gets old.

Now if you'll excuse me, it's time for my nap.

jakejake 2 days ago 0 replies      
I'm in my mid 40's, still programming away but basically have been building and leading teams for a while. As it turns out I really like working on improving process. I've watched friends my age burn out and leave the industry. A lot of the guys that dropped out were people that weren't really obsessed with computers, but rather just chose that as their major - possibly for financial reasons. I can see how all of the minutia could get annoying, but I just see it as part of the business.

For me it's not just about building things anymore. It's more about what I consider - building things and doing it with style. Give me the time to plan an app, put together a team, predict our finish date and then build our system. My goal is to do it with the team feeling happy and proud of their work the whole way. No horrible crunch mode or last-minute heroics. At this point in my career that's what I aim for more so than just getting an app built.

I also like helping young people become proficient, reliable developers who know how to plan and maintain large systems. Young developers tend to have a lot of clever ideas and know the latest tools - but I have various skills that they lack or find uninteresting. So I don't see them as competition. I think young and old developers can really compliment each other.

As for salary, it's hard for me to say since I'm in year 5 of a startup venture that just hit the black last year and is looking towards being a profitable company. So whether or not I will ever be looking for another job is something that I'm unsure about. I've pretty much decided that I would like to manage larger teams - not because I have to but because I enjoy it.

estebank 2 days ago 2 replies      
Clean Room Technician: You know what they do with engineers when they turn forty?[to Aaron, who shakes his head]Clean Room Technician: They take them out and shoot them.


hopeless 3 days ago 0 replies      
This has always bothered me since my early twenties: my Dad was a programmer into his 50's (albeit, as a manager too) but he'd actually risen to those rank from an engineering apprentice so it's a bit different.

For me, there's the obvious path into management but being good at your trade does not imply you'll be good at management.

I think there's a more subtle path too: consultancy. I particularly like consultancy because you can start off basically as a freelance developer and gradually raise your profile into project management (if you own a consultancy team) or architecture design or CTO-type problems. It's much easier to get away from the code whilst still avoiding the management trap.

Of course, that assume the need to move away from the code but I know I don't learn new technologies quite as well as I did 10 years ago and that'll only get worse over the next 10-20. Also, as you get older, you generally need to find higher-value activities and a monkey coder is not top of that pile.

j45 3 days ago 0 replies      
Developers should be growing to become bridges between business and technology. Businesses rarely have technology problems. They have business needs that technology might help solve. Even though most businesses are becoming software businesses regardless of industry, it's from the perspective of managing the details of their business.

Learning and delivering strategy is far more valuable than just tactics (latest hip language/framework/stack), because a solution doesn't exist just in programming alone, but a combination with policy and process.

As you grow, you can become a strategic aligner that is not dishonest about using the latest toy at the expense of your customer's growth.

I'm in my early 30's, developed professionally for over 15 years.

The one thing I see over and over now is how secondary development starts appearing the more I interface with upper level management directly. There is a major starvation for developers who can learn to understand a problem and leveraging a solution to magnify competitive advantage.

I spend more time thinking and analyzing the problems (way more) before ever daring to trivialize something to whip up some code.

This ends up with my development work being tremendously more valued, instead of just being a means to an ends. As I get older, the value I add is not just coding, but being able to architect a solution that

neves 2 days ago 1 reply      
I'd like to link to the top HN story now: http://math-blog.com/2014/03/10/stem-shortage-claims-and-fac...

The WhatsApp guys are experienced engineers who were rejected from FB and Twitter. Prepare yourself for ageism. Your path is to create a $19B company.

markbnj 3 days ago 0 replies      
Software is a craft. Why would we stop practicing our craft as we get older? Do cabinetmakers stop making cabinets? Not as long as their hands can hold the tools. I'm 53 and still a working developer. Over my career I've worked with languages from 8086 assembler and Pascal to C++, C#, and now primarily Python. I am called on now to do more leadership, and my judgement is sought on architectural matters more than when I was in my 20's and 30's, but the primary skill remains my ability to comprehend a set of requirements, and from the infinity of potential implementations distill one that will satisfy those requirements in a robust and maintainable way. It's a valuable skill, and since it has been feeding my family for a couple of decades now I see no reason to let it wither.
eranation 2 days ago 0 replies      
I'm 36+ so I consider myself old. I am a tech lead in a "startup that gone enterprise" and write Java, Scala, and web.

Most of my friends are between 35-45, all fully employed with good salaries (mostly Java / Enterprise shops though, but also some cool startups / Googlers / Twitter / Amazon)

My take on this, both as an older guy, and also as a hiring manager is that for me merit and skill matter more than anything else, I'm completely age, race, color and gender blind. (I recently hired a 50+ years old dev who didn't work for 5 years, he was simply that good)

Good developers of any age will always find job, at least this is my theory.

Yes, there are 10X 1 year of experience people, yes there are people who as they grow older they have less desire to work long hours / cut salary (due to having a Family, this is legitimate) but I don't really believe that anyone out there will say no to a 40 years old developer if she is an ace. If someone does, then they are missing the talent and hurting their own companies.

I'm 100% unforgiving to skill issues, but in my experience, usually the older the candidate, the better they do, merely due to more experience.

They might not all know the latest vagrant / docker / hadoop / scala / Haskell / scss / node.js trends, but they know how to write code.

I'm shocked how many people with BSc or even MSc in CS, years of experience, simply don't know how to code. I mean some can't code their way out of a paper bag. But this has nothing to do with age, the last thing I care about is someone's manufacturing date. really. it just doesn't make any sense to do so.

mml 2 days ago 0 replies      

My father is nearly 70, and still writes & maintains those horrible departmental VB+Access apps. He started in his late 40s, having noodled around with spreadsheets & databases since the 80s (from whence my fascination with this stuff stems).

Sadly, the world of VB & Access is so alien from my own that we can't even talk shop.

JabavuAdams 2 days ago 0 replies      
I'm 38, and I work at a small company with 11 full-time employees. I'm tied for oldest. It's by far the best place I've worked, just in terms of general autonomy and not worrying about stupid stuff. We've also released a number of hit games, which helps people to stay relaxed, I'm sure.

I'm the eldest of 5 developers, but I think the youngest is 29-30. We're essentially all generalists, although we have individual specialties. A couple of guys have really deep knowledge of iOS strangeness or shaders. I've got some specialization in game AI and physics, as well as game design skills. Any task can go to any dev and come back with reasonable results. There's no hand-holding.

We're an iOS shop, so my day-to-day coding is in Objective-C, although I do a lot of tools programming in Python 2.x.

Generally, I get to do what I want, with some exceptions. There's a strong culture of just doing something that helps the company, without necessarily being tasked to do it. Taking a day off to do a research project is also tolerated when we're not on a really tight deadline.

Unlimited vacation and sick-days, within reason.

I don't see working for anyone else in the future -- I'd have to start my own gig.

There's some temptation to work for a Google, but at this point in my career it's getting a bit undignified to work for other people as an employee. I.e. I don't want to deal with your BS, unless you're a client (I can fire you).

OldCoder 18 hours ago 0 replies      
Developers who go on long enough are expected to obtain high-level titles by their 50s or to retire at about that time.

I'd like to discuss an issue that you might not have thought about: What's going to happen if you lose your job?

Employment in the 50s can be problematic. If somebody is skilled and employed, and has a high-level title or is a specialist or has useful connections, they should be able to obtain a new position.

Otherwise, they might go from well-off to homeless. It happens. I'm 55, my resume has been called pretty good, and I was worth $1M a decade ago. I'm a transient now. I've got some medical issues, no medical care, and no dentists. Potential jobs are primarily unskilled physical labor, which I'm not able to do.

I'll be taking a shot at tutoring. However, I don't expect that to provide more than gas money. The head of an admin assistant firm said that I can't be a secretary unless I already am one. Two people considered sending me to care for elderly relatives, but we didn't proceed. My title at one of those positions was going to be "poop scooper".

Don't let this happen to you.

For what it's worth, here's my advice:

1. Don't fall off of the employment ladder.

2. Become a specialist. Try to remain broad enough, though, that you don't become obsolete.

3. Build a network of people. Make it a large one.

4. Diversify your investments.

5. While you're employed, don't let medical issues, even minor ones, go untreated for long. If you lose your job and your assets, you'll lose medical care too and the issues may become serious.

6. Be kind to people. But don't be a fool. Most people that you help are not going to return the favor.

Regarding specialists, I did recruiting for a while in 2011 and I can confirm that the filters are heavily weighted against generalists.

I've spent about 35 years myself as a generalist. My jobs called for it. The place where I spent most of my career took any project that came along, code of any type. At a dot-com that followed, after the money ran out, I handled all of the technical roles; IT, websites, development, support, documentation, etc. I was able to do a bit of everything.

Later on, none of this made a difference. There are no job listings that say "a bit of everything".

After the dot-com shut down, 2003, I made a million dollars in the stock market. Lost most of it afterwards and reentered the job market. Learned that middle-age generalists were not in high demand.

In my case, there were other factors that won't apply to you. It's a story for another time. But if you're a generalist who falls off of the ladder in middle age, you can expect things like this:

"With a resume like that, why isn't he a CTO? Why doesn't he even have a job?"

You'll be asked questions about algorithms that you haven't thought about for 30 years. Or you'll go through coding tests under adverse conditions that don't allow you to show what you can do.

Plan ahead. Understand that the best-laid schemes of mice and men often go awry.

My own resume is located at:


Regards, Robert (the Old Coder)

jwarren 2 days ago 0 replies      
My father's in his 60s. Formerly a Pascal/VBA programmer, he's found it very tough going over the last decade. 20 years ago, he was working for the London Stock Exchange but now scrapes by making (actually very impressive) complex Excel macros for local small businesses.

It makes me really sad. I've tried retraining him in web development, and he actually picks it up really quickly, but I doubt there'd be any work for him out there given his age.

mgkimsal 2 days ago 0 replies      
There's not been a 'traditional' software career yet, so it's hard to tell if what's happening is what 'should' happen.

Thinking about this from a numbers standpoint, the market for people with software development skills on a truly national (or global) scale only really developed in the late 70s at earlier - I'd say not until the mid 80s did we see enough of an uptick such that the idea of a long-term career for large numbers of software developers was viable. With that viewpoint, we're just now seeing a ~30 year mark from the start of that time period - people who started in their 20s or 30s in software are now hitting their 50s and 60s. Watching and learning from what their careers have been will be instructive for people, although I'm not sure there's a whole lot of lessons we can draw conclusively from that yet. It's only one generation, and the world of tech changed dramatically during that generation.

Will this always be a problem? I don't know - embeddable bio-devices may be the next seismic shift, but "the internet" - the idea of billions of people always connected to services - this was little more than a dream in the eyes of a few people back in the 80s. Given that viewpoint, the career of software developers in the "always connected" age of the internet has been not even 20 years.

Unrelated, I've had pretty gray hair since my early 20s, and I'm not sure I've been too affected by ageism, but I know it's been a factor during some hiring - people assuming I was in my 40s or 50s when I was ... 31. :)

mildtrepidation 2 days ago 0 replies      
Older developers never die. They just fade away.

I'm in the "start your own gig" boat as far as people who have a useful skill set and don't want to learn an entirely new set of languages/frameworks/etc. I'm nearing my mid 30's have a consultancy, but simply being a consultant with a decent rate is a better option for making more money yourself without having to play as many corporate games (provided you have the discipline and tenacity to work well by yourself and stick with it).

The other side of that is creating products, which has been beaten to death here (look to patio11 for great inspiration and excellent insight), but it's quite relevant to this thread. It's somewhere between a massive amount of work and a crap shoot, but if you can figure it out and do it well, in my opinion it's the best of all realistic worlds for people in our position.

jebblue 2 days ago 0 replies      
I'm in my 50's and still do what I've done since my 20's then as a hobby and since 30's for pay.

The older people where I work? Yeah not sure, management mostly I think. Some older people still program where I'm at.

My dad taught himself programming as a hobby in his 60's.

Why is this ever even a question anyway, no one asks what happens to people in their 50's who craft furniture, drive trucks, carry on scientific experiments, climb mountains, etc. Do what you like.

herghost 3 days ago 1 reply      
I was doing dev at a large utility company in my early 20s. I was only doing it a few years (~4 or 5) when the tech stack was completely overhauled and it required me to re-learn the new stack. I started to transition across (in my own time, at my own expense) and then the company decided to outsource the majority of the work and take on the outsourcer's stack. This left me with the choice to re-learn again within a very short time frame, or make a change.

I figured it was a sector in constant skills cycle and decided to get out of the rat race.

By my late 20s I was a business analyst - having the tech/dev background really helped.

Now, I work in security. the tech/dev/business background is invaluable.

In short, generalism seems to be the path (in terms of skillset), whereas you can specialise in terms of career direction).

dagw 2 days ago 0 replies      
Most old (50+) programmers I've worked with have spent most of their time in some variation on theme of management, only to occasionally sit down and write code when their unique expertise (Fortran, Lisp, Cobol, APL etc.) is needed, occasionally to great surprise. A few move on to start highly specialized consulting firms focusing on the sort of things the 'kids' don't know anything about (Fortran, Lisp, Cobol, APL etc.).

The only 50+ programmers I've worked with who where still employed as programmers as their main/only responsibility where those who'd been at the company since "the early days", had written and/or designed all the companies core systems and thus where the ones who understood the system better than anyone.

pyrrhotech 2 days ago 1 reply      
Don't listen to what anyone who says that you can make as much as a programmer as a manager. The best programmers in the world with no management experience are going to cap at much less than a million a year in 99.9% of cases. Usually 400k or less. That's still good, and if you are happy with that stay a programmer! Just don't justify it saying that's the most you could make.

People who go into management literally have no cap in earnings. There are people who started as engineers and worked their way into senior management and even C suite positions. These positions can pay 7 or even 8 and in some cases 9 figures a year. The cap is much, much higher than you could ever make as just a programmer.

peter303 2 days ago 0 replies      
I am in a vertical industry, i.e. something else (energy) plus computer science. Lots of purely trained CS-types do not do well here because they dont understand the domain. My degrees from MIT and Stanford are in the domain.

Incidentally, Google has matured and hired some of my classmates. Facebook still seems to be more of a CS kindergarten.

tungwaiyip 2 days ago 0 replies      
I'm in my mid 40s. I have been coding my entire career and I am still coding everyday.

The startup I have worked for 3 year was not quite taking off. So a few months ago I decided to quit to look for something new. This is the first time I have quit a job out right without having a new job waiting. It turned out to be the best thing I have done. Once I broadcast the message that I am in the job market, my email box quickly fill up with requests (I'm in the San Francisco job market). I've spent the next week pretty much interviewing full time. Very soon I've received multiple job offers. The company I like the most did not make the highest offer. But I successfully negotiate up to a satisfactory level.

In terms of work and technical skill, I feel I am in the top of the game. I'm not sure where people get the idea that young person is better than more experienced. New knowledge often build on top of old knowledge. Fundamental skill like logic, math, data structure are just equally relevant. Plus experience is useful when you need to make judgment on where and how things are likely to change, and where things is more risky that deserve more attention for design and testing. That say the landscape of technical knowledge is huge and quickly expanding. There a new thing to learn everyday. I am aware that many people around me, both young and old, are really talented. There are always things I can learn from them.

In terms of pay, it is rising in absolute term. But I'm not in management and I'm moving mostly laterally. I don't believe I am making more than someone who are in their 30s. In this sense both my career and my pay is plateaued. But still I satisfied with the work and pay level. I think this is an excellent career choice for myself.

vijayr 2 days ago 0 replies      
My manager is at least 55+ (he retired, but came back because he was bored) - he writes code all day. My CTO is 50, he also writes code (though not as much as my manager).

From my (limited) experience, it looks like, as we age, we have these options:

1. Continuously learn new things - this negates the "old man" perception in the industry

2. Be good (not necessarily bleeding edge) in programming, but have good domain knowledge (this ties us to one domain though) - these kind of people are very valuable, as most programming jobs don't need bleeding edge skillsets.

3. Become a suit

jasonkester 3 days ago 1 reply      
There are three popular paths you can take as you get older: You can become obsolete and eventually find yourself laid off and unemployable. Or you can move into management. Or you can keep learning new technology, becoming better, more employable, and able to demand higher bill rates year after year.

To a large extent, you get to choose which of these paths you prefer to go down.

I seem to have personally gone down path four: Start your own business. Consulting, unlike employeeing, tends to map bill rate exponentially to experience. And selling software products... well, when was the last time you decided not to buy a SaaS product because the company's founder seemed too old? That's what I thought.

dcgibbons 1 day ago 0 replies      
I am 43 and I have been programming professionally for the past 26 years.

I had good early education, but left school as a college freshman to focus on industry work, and didn't return until 2004. The lack of formal education has never held me back, as technology companies especially like people who have been successful without those credentials. I am doing a graduate program in CS now, for the pure intellectual fun of it.

Pay has continued steadily over my career, with the only setbacks being self-imposed when I tried my own startups or left a high paying job for a lesser one because of better long-term prospects. It is mentally hard deciding to leave those $200k+/year jobs, but I have not once regretted it. In the end, I have only had 2 years total in my career where my taxable gross was less than the year before, and one of those years is when I took a year off to goof off (as an aside, I highly recommend that people do this every 5 years or so).

I have always wondered about ageism, mostly because I started doing this when I was 18 and there were a lot of older developers I worked with that were not effective. I have come to learn over time that age has really little to do with this: people can become complacent for a variety of reasons, and age has little to do with it.

The few folks I've known that are older and who did have trouble finding jobs had some other life issues in the way, such as letting their skills become irrelevant, being a bitter whiner, or not being a very good salesperson. You don't have to be the smartest tool in the shed to interview well, and sometimes you will not (I have had some spectacular uhhhh-duh moments more than once!), but take those setbacks as opportunities to learn and improve, not to sit and complain.

The whole discussion on management, leadership, architecture, etc. is quite pertinent. I have done mostly architecture since my early 20s and always find myself back in that role whether or fight it or not. I try very hard to code every single day, but the reality is businesses get more value from me when I am looking at the bigger picture and enabling others to code faster. Personally, I would much rather go code than do that type of work, but it is still very fulfilling and is still engineering.

When I give others career advice and coaching, my number 1 suggestion is to always do what you love, but be open-minded about what that means. Most of us will find ourselves with a variety of opportunities over the years and being self-limiting is the best way to keep your career from advancing.

My number 2 suggestion on career is that if find yourself being the smartest person in your company, either because you are or just believe it, it is time to move on. Don't be that guy/girl.

I have always deliberately avoided the siren-song of the Valley, but I know I could make enough compensation to make up for the cost of living differences and still support my family well there. But, I will only go there if the project/company is one where I will be making a substantial impact on something interesting. And, frankly, that really should be true for anyone with more than 20 years of experience: it is time to use your experience for great works, not just paying the bills.

p.s. rules of thumbs are just that, and sometimes you have to make compromises because life is in the way - that's okay, too. Just don't let yourself fall into a trap/rut because of those.

p.p.s. people in this field are rich by almost every measure, even if you aren't technically still in the 1%. If you're struggling to get by in the Bay Area, there are a lot better places to live where you can do a lot better. Don't be fooled into thinking that is the only place to be.

p.p.p.s. get off my lawn

mcv 2 days ago 0 replies      
My dad was programming right until his retirement. He always refused any sort of management role (though he occasionally got a lead role for a high-profile project thrust upon him). I know one of the things he worked with was Java, so it definitely wasn't all old stuff. He was working on an open source project in his spare time, though strangely that seems to have stopped since his retirement. I should ask him about that.

I'm 40 and still young. I'm learning tons of new stuff, developing into new areas, and started as a freelancer two years ago (which boosted my pay quite a bit). I still have great plans to work on ideas of my own in the future. No idea where I'll be in 10 years, but I bet it's something totally different.

shitgoose 2 days ago 0 replies      
It depends on you. If you are one of those developers, who like butterflies fly from one framework du jour to another, then you will find yourself obsolete pretty fast. There is always going to be someone with more time on their hands to convert Spring to asm.js that runs in JS emulator implemented in Haskell.

If on the other hand you are interested in what is the business purpose of what you are doing, then you may have a long and rewarding engineering career ahead of you. Developers of 1st kind (butterflies) are dime a dozen. Second kind is much harder to find - someone who understands the business. I would recommend to specialize in business, but remain a generalist in technology (they haven't invented anything new since LISP and APL anyways). As a bonus, if you get sick of development or modern developers, then you can easily transition to business side.

I am in mid 40's, work in Finance.

huherto 2 days ago 0 replies      
I am 45, I have been working on software development for 25 years.

- You can move into management, but you have to keep your technical skills sharp. It is harder to find management positions than programming positions. Also, you cannot manage what you don't understand.

- I have stayed around 5 years on each job. Knowing the specific systems of company as well as the technology makes you very valuable at that company. However, you may be able to raise your salary if you move more often, but that has its own risks.

- Specialist or generalist? if you are willing to move it is probably better to be a specialist.

- I still enjoy coding, the trick is to think of it as a craft. The feeling of being good at something, is a big motivator.

WalterBright 2 days ago 0 replies      
> Do you have to go into management to continue progressing upwards in pay and influence?

Nope. You can invent a new programming language.

elliottcarlson 2 days ago 0 replies      
I'm in my mid-30's and was very reluctant to go in to management, wanting to code as I have done since my first job at 16. In the last 18 years I was happy being a developer, but over the course of the last few years I have come to the personal realization that I would need to eventually move in to a different role - I didn't want to wait too long either. I recently got the opportunity to move in to management and don't regret the decision. Sadly, it's brought me to 100% management, 0% development - but I make sure to review every pull request, knowing exactly what is going on. Additionally, I still work on little side projects of my own at night/weekends - it takes care of the itch to want to code, and it's stuff I am really passionate about.

As for salary - I believe I was getting close to plateauing as a developer in my area (for jobs I would want to do), and I have opened up my career and salary path a bit more.

Regarding looking for jobs - I moved from the agency world in my early 30's to the startup world. I am so much happier, even with the perceived risk, I believe it has made me far more marketable for future endeavors. I got to work on far more interesting things, and the people I've met after making the switch has helped me tremendously.

jmadsen 2 days ago 0 replies      
I see a lot of "coding-centric" answers, but I think the most valuable asset older programmers have is their experience. So I would say, you go into "project lead" mode (which you could read as management, but I think of that hat as non-programming)

In other words, you sit in the planning meetings & your experience on past projects helps get over that "where do we start" mode. You make sure the proper QA and testing is being done, things like that.

Your day is filled with many other tasks than just writing code. You go home at 5pm & work on your private projects for fun & interest (not that 9-5 is uninteresting, but you don't have the time to "play" so much any more)

asimeqi 2 days ago 1 reply      
Few weeks ago I got an email by a person who wrote a famous piece of software in 1971. He was given some software I had written and was asking me questions because he intended to make a few additions. My software was written in C#. I don't know what he used in 1971 but most probably it wasn't C. I have to admit that his questions made my day (or week). I learned that he is over 70 years old and programs every day. I hope I will be doing the same at his age.
StevePerkins 2 days ago 0 replies      
If you walk into any Fortune 500 "enterprise" environment, MOST of the employee developers working on the core business systems are typically in their 40's, 50's, and up.

It's not as "sexy" as tinkering with this month's Scala/Node/Go/Rust/Julia fad... but when you get older and have family and other commitments, perspective often changes. A lot of guys just want to "get things done", and then go have a life outside of work. To be fair, most developers continue to learn new technologies and skills throughout their life. But the drive to always be on the bleeding-edge with your professional work tends to be a trait of younger developers and smaller companies.

I think a large part of the fear of age is that we don't see a lot of middle-age web developers. That is because Generation X was really the first generation for which web development even EXISTED during our entry-level formative years! So I'm not convinced that we will all simply vanish into management 10 years from now. Rather, I think you'll just see a lot of middle age Gen-X web or Java developers, with perhaps younger guys focusing on newer niches (e.g. wearable devices, VR, pure client-side JavaScript with little to no backend, etc).

Or maybe web development will become a more cross-generational field, with middle-age and younger developers working side by side. Hard to predict the future with certainty. At any rate, I'm about to turn 40 myself, and I stopped stressing out about my "exit strategy" a few years ago. I'm currently working for an exciting small start-up. I ENJOY being hands-on with the code... and as long as I maintain that passion and desire to learn, I find that my income and responsibilities keep going up. I'm sure that will plateau at some point soon, and maybe decline later in life if I choose to slow down a bit. But I find that I'm still highly employable among the employers that I want to work for.

robotpony 2 days ago 0 replies      
I'm in my 40s and have been designing and building software for money since the early 90s (and coding since the 70s). I remember asking these same questions at some point, while watching older developers lose their mojo (often ending up in management). I worried that I would end up like those soulless managers and burnt out architects. I didn't. Not yet, at least.

> Do you have to go into management to continue progressing upwards in pay and influence? I know this isn't the case at some companies (e.g. Google), but is it rare or common to progress as an individual contributor?

You will always have more influence as a VP, Director, or general board member. Architects and team leads can be part of the management group, but actively avoiding or despising it is alienating those who carry financial responsibility for the company. Once you have the ability to make long term and rational architectural decisions, you will want to be able to use that knowledge to change things. Making things happen outside of the management structure requires a great deal more force than from within.

But, you can retain your technical edge while in management (at many companies at least). I am an architect and CTO at one company and a board member at two other companies. I also code almost every day, as I believe that software design and architecture cannot exist without understanding how things work today.

That said, you don't have to go the management route. I do suggest at least making peace with management and managing, as it is a valuable tool for getting things done when mad coding and design skill is not enough.

As for pay ...

> Is there a plateau in pay? Is there a drop in pay switching jobs after a certain number of years experience because places are looking for 5+ instead of 20+?

Yes, pay rates tend to plateau if you're not part of the management or directorship. There are exceptions to this, including a number of smarter employers or if you change jobs regularly. You can also start your own company, but that requires both management and business savvy, and adds some risk.

I have only changed employers a few times as I've been lucky to really enjoy my teams, but I do own a consultancy as well (which allows me to adjust for any ceiling at my day job).

> Are older devs not looking for new jobs because they have families and want more stability/are focussed elsewhere?

Many older developers end up in management, owning companies, or as architects (who gravitate toward larger, older companies). Most older devs prefer stability, but not all.

> Is becoming a specialist rather than a generalist the answer?

The answer to what? Specializing will allow you to do more of something you want to do. Generalists often do better with entrepreneurship and general opportunity. You want to make more money? Management and ownership are great routes for that, and generalists excel in those roles (in my experience).

> And lastly: if you're in your late 30s, 40s, 50s, what are you doing at your job? What are the older people in your workplace doing?

I spend about half of my time designing systems and interfaces (from APIs to UIs). I spend half my time prototyping and setting up projects for my teams. I spend the last half of my time making sure it gets done properly. I still have more ideas for products than time, and I still pick up several new tools a year. I'm always learning, and always improving my own methodologies (as well as my team's). I still love what I do.

I also work with a software architect who is in his late 60s who is still both passionate and coding daily. He avoided management and does not often regret it, and has coded everything from OS subsystems (in the 60s) to iOS and web things today. His rate of learning has slowed down appreciably, but his vast knowledge and experience more than makes up for it. He was the first architect I met that still loved what he did (when he was in his early 50s).

spiralpolitik 2 days ago 0 replies      
Largely it depends on the company culture. As you approach your mid thirties these are the questions you should be finding answers to:

Does the company have a technical development path ? Do developers get promoted to senior developers to technical leads or is the organization flat (bunch of developers reporting to a non technical manager) ?

Does the company value employees with experience or does it assume that everybody is an idiot and only a select few can make decisions ? A good way to asses this is to look at how responsibility is spread around the org chart.

Can you see yourself working for the company in 5 years time, what about 10 years, what about 20 years ?.

The sad fact is that after 40 even if you are the best developer in the world changing jobs is going to be more difficult so if you can find a company culture that works for you this is vastly more important than more pay.

mabhatter 2 days ago 0 replies      
The big thing is that developers move to "adult" companies. The pay is less, but they get to act like grown ups, take vacations, have families... Sure the work is more boring. Who doesn't love EDI or Factory planning!!! But getting those business skills down and implementing what the accountants want is like 50% of "computer" jobs that mostly are never, ever advertized.

I'm 40 and still looking at more school and something to keep busy another 20 years after the kids move out.

gesman 2 days ago 0 replies      
I'm 50 and along with senior coding job I run my own side hosting company, occasional moonlighing consulting gigs and always interested in launching and trying little business ideas here and there.

I also get more and more interested in personal development.Getting through middle age, heavy swings of depression, emotional health struggles, addiction struggles are issues common to most, not only programmers or technical people.

Having overcome all these I've collected a set of very useful and practical personal improvement methods that I plan to gradually launch as my personal development business to help other people who are suffering from these issues.

I like to solve my own problems and then help others do the same.

philk10 2 days ago 0 replies      
I was a dev for 20 years at the same company - went from being an Assembler and BCPL programmer to C, C++, Visual Basic, learnt web stuff when that came along. Then the mid-life crisis hit ( well, more like my daughter was grown up so I had freedom to move ), thought about career changes and became a tester.A few years after that I moved from the UK to the USA and am loving my new adventure. Working at a small company as their main exploratory tester, working on several projects at a time, all sorts of domains and techs and still learning new stuff.

The devs I worked with for 20 years either stayed and stagnated with average pay rises every year, moved onto new firms to get a bigger pay rise, one went contracting then earnt a lot of cash and retired to be a farmer in Cornwall. Another dev retired with a nervous breakdown

ishbits 2 days ago 0 replies      
I'm 39 and write code every day for my employer, but outside the scope of the engineering team. I guess it may fall under exploratory/architectural work for what might be future products, though if they gain any traction they will move into the engineering team, and I move on.

I guess this falls under the "more and more senior as a developer", but I'm outside the direct line of fire of bugs, deadlines, etc.

I can't complain, and I'm often working on newer technologies than the folks in engineering, keeping my relevance.

My plan will probably to migrate into a consultancy.

v0idness 2 days ago 0 replies      
Have you ever seen Soylent Green ?[1]

Watch It, and you'll discover what happends to Older Developers.

By the way, I'am 36 now, nearly half way. I still looking for code only jobs, I've been managing people since I was 18 to now. I go reverse, and toward more and more coding, architecture, research ...


jpdefillippo 2 days ago 0 replies      
We started a podcast... Grumpy Old Geeks. http://grumpyoldgeeks.com/ where we answer damn near every question you just asked in one episode or another. My cohost and I are both 20 year web vets in our 40's now so dealing with all that bullshit.
andyhnj 2 days ago 0 replies      
I'm in my late 40s, and have been working as a developer since I was a teenager. Here's a simplified account of the last 20 years or so:

I spend 10+ years working for a mid-size company, progressing from developer to a sort of combination senior developer / IT manager. My salary grew at a reasonable pace. I was wearing a lot of different hats, and gained experience in a lot of different areas. That company went out of business a few years ago.

I then spent a couple of years at a small (12 person) web dev company. We had one in-house product and worked on various sites for various clients. Mostly ASP.NET, some Drupal. I took a bit of a salary hit there, making maybe 85% of my previous salary.

I left that company about a year ago, and am now at a fairly large company, primarily working on Dynamics AX custom programming, with some random ASP.NET/C# stuff in there too. I'm still not back at my old salary, from the company that went under, but I'm closer.

With a little more Dynamics AX work under my belt, I could probably jump ship for an AX consulting job that would get me back to that old salary. Or I could stay here and make a pretty reasonable salary, with modest gains, over the next several years. (There doesn't seem to be much room to move into management here, though if I stay long enough, that may change.)

Or I could try to go back to another web dev position, ASP.NET and/or Drupal, maybe. (That probably wouldn't get me much of a salary bump though.)

I'm not entirely sure what I'll be doing ten years from now. The company I'm at now is stable enough that I might be able to stay here until retirement, but I wouldn't count on it. I'll probably need to change jobs 2 or 3 more times before retirement. I try to keep my skills up to date, so I can stay employable, and, at some point, I'll probably start using the standard 50+ tricks on my resume: dropping my college graduation date, dropping the oldest jobs from the resume entirely, etc. And dyeing my hair maybe, if I get too grey.

This being HN, other people have of course talked about starting their own company. I'm not sure I want to do that, but it may become an attractive option at some point, especially if the health care situation in the US gets straightened out enough that I can afford to pay for my own health insurance.

zoom6628 2 days ago 0 replies      
You should be worrying about plateau in your mind set long before you worry about the pay aspect. Yes we all need income of some sort. Start with living within your means, and then follow what interests you as best you can. Im 51 years old next week, started coding Portran and Basic at 13, worked as a dev, then did consulting, business operations work, started my own business in Hongkong, and now im a product manager of an American software company responsible for Asia Pacific. I could get paid more elsewhere but i love my job and the environment ( live in Guangzhou ).

You will get all sorts of advice about learn this, do that. Bottom line, know yourself well, especially what is deeply important to you as a person, and the rest will take care of itself. Spend time to ponder, have fun, try everything, stay optimistic, read widely.

Right now I get up at 05:30am every day to hack on Arduinos in C and Pythong and burning my fingers with soldering iron, and doing stuff to help my son on his PhD research into humanitarian logistics. 07:30 i down tools, breakfast and shower and go to my day job of ERP, global MNCs, C#, ABL, databases cloud this-and-that. Evenings i review and CTO on a system to help people collaborate worldwide. In between times im learning yoga. Colleagues amazed i do so much. The secret is that hackers/developers are blessed with a natural curiosity - when we learn to occasionally turn that on ourselves we can find that which motivates us, and then can follow that and have tons of fun.

Wish you well.

s0me0ne 1 day ago 1 reply      
Hell, I'm near my late 30s and I've never made over 28k (and the one time I did it lasted one year). Right now I'm a permatemp contractor (no benefits) but I like the job because I get to do design work a lot. Granted I'm not a "hacker" and more of a mediocre dev. I've read questions on "older developers" for years (back on slashdot and digg), so I've always known it was going to come sooner or later.

I don't know how many other jobs I can get with a certificate that will pay decent. I already have a bachelors in CS, and don't want to go to college again (its several more times more expensive than when I went). All my skills are computer related and I do not plan to go back into tech support ever again. Management isn't me and neither is sales. Guess I'm not sure what I'll end up doing.

Everyone here seems to be rockstars or A-list devs, but I like reading the comments here since it keeps me up to date and I learn a lot.

copergi 2 days ago 0 replies      
I know it sounds a bit snarky, but for a lot of people it seems to be "go get a decent job instead of doing software development". Maybe not going full Gibbons, but I definitely see a lot of people move out of the software world as they get older.
AnimalMuppet 2 days ago 0 replies      
It gets harder. You can continue to be an engineer, but it takes longer to find a job. (I've seen lots of openings for "senior software engineer", by which they mean "5 to 7 years experience". Great. I've got 25 years. So, you don't want me, even if you call it "senior".)

But there are some places that want more experience. My current job wanted someone to come in, take the central piece of a new embedded system, and not have to take time on a learning curve. They didn't have any problem seeing the value in 25 years of experience.

Does salary plateau? More or less. Salary growth tapers off after about 10 years experience, or so it seems to me. It still grows some, though.

bbaisley 2 days ago 1 reply      
I'm in my late 40s and switched to full time management about a year ago. I didn't have to, it was a choice. I felt there was a management/leadership gap at my company. One I thought I could fill and do a good job. It wasn't about pay. Yes, the pay is greater. It is inline with my expanded sphere of influence.That said, how many managers have you seen doing tech talks at conferences? As a developer, that is one place you can expand your sphere of influence. Open source code is another outlet.I don't think there are limits to pay, or that it plateaus. There are less jobs paying 150K than 100K, less jobs paying 200K than 150K. There are probably more management jobs than developer jobs at the higher levels. So as a developer, the competition is greater. Good developers can get good pay, great developers can get great pay. Are you a good developer or a great developer? Google good vs great.I'm not looking for a new job because they are finding me. I keep my LinkedIn profile updated, I'm active on Stackoverflow, I open source. I actively manage my public profile. I find an online reputation is almost a requirement for the higher paying roles.
csense 2 days ago 0 replies      
Old software developers are like old software: They never die; it just gets harder and harder to make them run on the latest hardware and software platforms, and the physical media they're stored on may eventually wear out.
trvd1707 1 day ago 0 replies      
I use to be concerned about that when I was at your age, but now, after having to face major tragedies in my life I learned that the poet was right when he said that "All is worthwhile if the soul is not small." (Fernando Pessoa). I never get tired of learning, even if what is shown as new smells like dej-vu. Learning is something that rewards you not only when you achieve the goal, but in the process of achieving it. I tried the management path and I was good at it, but I really enjoy programming better, so I get programming gigs as much as possible. One thing in my favor is that I don't have any aspirations of being rich, stability and alike. This open my choices of jobs.
andretti1977 2 days ago 0 replies      
I'm a 37 italian computer engineer, i made my first super-easy assembly program when i was 7 and loved programming since then. I've worked for big companies and left them for a small company where i learned a lot. After 4 years i started freelancing. Now, 4 years later, i can say that my pay grew a lot during freelancing. I think it can still grow, maybe a 20 or 30 percent more so maybe there will be a plateau. But i love programming!!! I can't think of a management work. I need coding! I know that maybe one day i will not be able to learn new stuff as i was able during these years, but learning something is one of the best part of this work! I'm thinking about founding a startup so maybe my work will be marketing/management but also coding. But as somebody said, i will also try to learn something in machine learning field (my university thesis was about IT infrastructures optimization based on genetic algorithms).So try to understand what you want from your work life: money, fun, career? Then you'll exactly know where you will go.
greatsuccess 2 days ago 0 replies      
"The problem for some people is that these kinds of more generalized roles put you in charge of systems that do not have the sort of clear-cut deterministic behavior you remember from your programming days", what could you be possibly talking about? So generalists work on non-deterministic systems? Clear-cut? Gimme a break man that statement and perhaps your whole remark is a load of bull. You are making a statement that generalists arent programmers. Generalists make more money than anyone else except for security specialists.
DanielBMarkham 3 days ago 1 reply      
I'm 48 and ended up moving up, even though I still love to code.

The reason wasn't age as much as it was simply a desire to do more complicated stuff. To me the real challenge in technology has always been at the intersection of business and tech, that spot where you have people with a need meeting people with capability. The business side alone is pretty boring, and the tech side at the end of the day just amounts to variations on bits and bytes. Puzzle books. (Although, like I said, I love it)

Being a consultant, I see a lot of older developers around. I think there's a significant bias in the industry towards younger guys -- mainly because younger guys are the hotshots moving through development into management, and people like hiring people that look like them. [Insert long discussion here about age bias if you must. I prefer to just acknowledge it and move on.]

The "mistakes" I've seen from older developers come in two flavors: not specializing enough and not moving around enough. Some guys will "float to the top", and become more of a surface-level generalist. This is the path I see my own technical skills leading. That's great, but many times companies specifically want some kind of bullshit new technology because somebody thought it looked hot on HN. In that case, you're at a disadvantage. And after a few years pass like that, sure, you're the guy that can do anything, but only in C. That has real, solid, useful business value -- but it sucks to try to sell in the labor marketplace. I have a feeling there are going to be a lot of older startup founders over the next 30 years that fit into this mold.

The second way to kill yourself is to stay at one company, working on one product and one technology, longer than a couple of years or so. Pretty soon you're the master of C++11 as it applies to real-time embedded weasel-hunting robots -- in other words, you are truly the master of something nobody else on the planet cares about. That works great until they stop making weasel-hunting robots, then it sucks.

I think the problem with age as a developer is the same problem you have at 22: you have to wisely balance the time and energy you spend on learning new things. You can't learn everything and move around every other month, but you can't stagnate either. Instead, you have to carefully watch the market and anticipate where it's going to be in 3-4 years. As you get older, sadly, it's just easy to stop giving a shit as much as you used to. Sure, in five years everybody will be using X, but what will they be doing with it? I'll tell you what. In 99% of cases, they'll be doing the same kinds of things they're doing right now, that's what. So after a couple of dozen rides on the "Gee whiz! Is this cool tech or what!" wagon, it gets tougher to get back on again.

microjesus 2 days ago 0 replies      
Fantastic points, I've been thinking about these recently as someone close to mid-thirties. I've been learning hardware development and low level hardware software design over the past year as I saw myself either needing management, a new industry or ... death. I find it strange and almost awkward to work on projects recently with cocky 21 year old versions of myself.
Brig303 2 days ago 0 replies      
An interesting comment on a Valleywag article -

"I am a 20 year resident currently in the process of being "de-located", and will be leaving San Francisco in a few weeks, destination unknown. A little known secret about the tech industry is that if you're not in your 20s or early 30s, you are basically unemployable. It's a great gig for the kiddies, but if you're an adult with a family and responsibilities, you'll learn all about the magic of "at will" employment. Not to mention that many/most of these companies are run by financial criminals/sociopaths who could care less about anything other than lining their own pockets."

Comment on http://valleywag.gawker.com/twitter-will-cause-so-much-gentr...

michaelcampbell 2 days ago 0 replies      
I'm 48. I do architecture, development, and mentoring mainly. MOST of my contemporaries moved into management and "VP" type positions (but to be fair I come from a banking/finance background so that's just What People Do There (tm)).

I have a number of colleagues in my current position (in the Internet Security domain) around my age doing the same as I, although the average age is lower to be sure.

chrismaeda 2 days ago 0 replies      
One data point: a good friend of mine joined [large rdbms vendor] out of college about 25 years ago and rose through the ranks in the rdbms engine group. He's now one of the senior people who knows where all the bodies are buried in the code, the forgotten bugs that resulted in the current weird algorithm in the xyz module, etc. I have no idea what he makes, but when I tried to hire him during the first internet bubble they slapped the golden handcuffs on him. These days he's rich from 25 years of stock options.

Your comp definitely plateaus if you remain an individual contributor. You become more valuable, and more highly compensated, by managing and/or mentoring people, helping evolve the technology to match the needs of the business and to find new markets, touching customers and revenue, etc. In my opinion this is required from all senior level technical people in the software industry.

mathattack 2 days ago 0 replies      
My 2 cents... The great programmers can stay technical as long as they want. If they find their way to great companies, they will do well on equity. I have several data points of folks in their early to late 40s like this.

People who aren't excellent, or not truly passionate about the coding itself go into management, sales, or consulting. (I'm in this group) There is age discrimination by people in the open market who don't know your work. There is much less age discrimination amongst people who personally know you.

detIbVendyinyoj 2 days ago 0 replies      
Late 30s. Recently took the plunge into management. I suppose I can manage. I don't love it. Can't say I recommend it.

At least when I was a developer, I could focus on the technical parts. If things went south, I could hone my skills for the next gig on someone else's dime.

I should probably be honest with myself and move into consulting and contracting before my skills degrade too much and I'm less relevant for it. I honestly don't care much for the politics of management, I'm not terribly charismatic, the company's processes are tiring and frustrating, and my team would probably be better served by someone who handles all that well. I'm scraping away time to hack when I should be taking care of the team.

mtourne 2 days ago 0 replies      
I'm not that old (28), but I already see myself doing "the same stuff over and over" in my programming jobs. It's not that bad yet, but I think this would be a problem in my mid-thirties.

I've been seriously thinking about going back to school, and specializing in something entirely new (computer vision), as I'm already learning about it on my own.

Learning something new would be exciting, but the idea of starting over, being an "intern" again, then _maybe_ qualified if everything pans out is frightening.

As anyone here changed their technical career for another different technical career, instead of going the management route ?

arbutus 2 days ago 2 replies      
I'm curious to hear the answer to these questions from a woman's perspective. I met a few lady engineers through IEEE involvement in university who were further along in their careers, but I haven't met very many other lady devs over the age of 35.
moron4hire 2 days ago 2 replies      
I'm 31 and I worry a lot about this issue. I live in the Washington DC area, which is extremely expensive. I am a freelance consultant, but my hourly rates are not very high. I have one client, and if someone in official IRS capacity were to look at us, they'd make my client make me a wage employee, the relationship we have is clearly not a subcontracting position. But this arrangement makes it possible for me to earn more from them than I would have as an employee. I don't now how that works, health insurance can't cost that much (I'm on my wife's now), but everywhere I've been has acted like a $50k employee == $100k subcontractor. Even paying for my own health insurance, my own vacations, and deducting my own taxes, I'm still netting more than I'd gross as an employee. I don't get it, but I'm not going to complain too loudly. And that not even getting into the cost savings I have from not driving, not eating out all the time, not getting sick all the time, etc.

My wife has a fulltime engineering job working for the government. We have a small condo that is just about the cheapest sort of place you can get around here without living in a rathole. We have one new car between the two of us, which works because I work from home and don't drive (I have a 15 year old car). Between our two salaries and the fact that we cook better than most restaurants, we live comfortably.

But I worry about what having kids will do to us. We would certainly have to buy a house. The condo is almost too small even for the two of us right now, but "fortunately" I didn't have a lot of stuff to begin with because I've never been paid very well. I have always risen to a head leadership position amongst developers wherever I've worked, but it has never turned into anything meaningful. "We appreciate your work!" would have a lot more meaning if it came with greenbacks.

If she decided to stay home, it would cut our income in half. Not to mention that we'd have to find private health insurance. I just don't see a bigger place plus half-income working. We need to either move in-state (which she doesn't want to do) or I need to make more money.

I'm reluctant to look for a job because I've not had good experiences working in offices. I don't enjoy the type of work I'm doing or would get hired to do. I like programming, a lot, just not this same, old, bullshit CRUD all the time.

I had good grades in college. I've always had strong programming, math, and science skills. I've always had lots of interesting side projects. I get along with people really easily. And I've never been able to find a good match for a job. The only places that ever call me back are shotgun recruiters and consultoware dungeons. It's disheartening.

I got really depressed with the consultoware field about three years ago. I lived off cash for a month while I looked for a new job, and ended up taking a huge salary cut to get into the only product-based startup that has every returned my emails. Turns out, they stuck me in their own consultoware project. After a year, they fired me without telling me why. I'm pretty sure it was because I was very unhappy, had worked it out so that none of my work was very much effort, and fell back to only putting in as much effort as was required of me, which was less than the 60 hours a week they expected.

I was on unemployment for a couple of months. I applied to everywhere I had ever wanted to work. I figured I had a bit of a time window and, at least in the first 2 months, wasn't terribly desperate to have a job right away. I reasoned I could "hold out for my dream job." Out of 30 job applications, not a single person called me back.

Eventually, a friend got me an introduction to the company he worked for at the time. I started contract-to-hire with them, and when the intro period was up, I took a chance on an ultimatum of letting me stay freelance or letting me leave, I would not take a salaried position. I've been working for them for 2 years now and it's been decent. I have a good working relationship with my client, he loves my work, they pay me, I don't go in to any offices, and sometimes the work is a little interesting. But, it still doesn't pay very well, in the grand scheme of things. I don't think I'm being paid what I'm worth.

It feels like the only out for me is to start my own company. I think I would really like to do that, but I don't have the funding for it and I don't know the right people to get funding.

consultutah 2 days ago 1 reply      
Ever go to Wally-mart? Have you seen the greeters at the door? Just ask them. Most of them are old cobol programmers. ;)
nickthemagicman 2 days ago 1 reply      
What about someone just starting out in programming at 35? Is it a bad idea?


sharemywin 2 days ago 2 replies      
I think in the midwest you have a lot of banks and insurance companies and alot of programmers still using cobol. I know at my company we should finally get all the way off the mainframe in about 8 years not because it's better or cheaper but because no one will be left that knows hot to use it. I code in gosu which is specific to a product in the P&C insurance industry I see the company staying with that product for another 10+ years.
dvydra2 2 days ago 0 replies      
I am 45 and my current occupation is as an Agile Technical Coach. It does involve a lot of travel, so I take breaks by doing remote-pair programming to spend more time with family and to keep up my coding skills. On Saturdays, I am starting to teach in the Math and Software Engineering Academy for kids 12 to 17. I do work a lot of hours, but the mix of work makes it very satisfying. I feel blessed that I got into this field.
alvisandersonq 2 days ago 0 replies      
Todowiz is one of the best Todo List app which help you to keep track of everything.This application make sure that you won't miss anything.
bkurtz13 2 days ago 0 replies      
They merge into the global repository, becoming part of the source code of the universe.
bjornlouser 2 days ago 0 replies      
When I get older, losing my hair, many years from now.Will you still be using the command line?Wasteful meetings, bogus deadlines?...Will you still need me,will you still feed me,When I'm 64?
jmnicolas 2 days ago 0 replies      
> What Happens to Older Developers?

Like the elephants when devs sense they're going to die, they travel to elephant's graveyard / management position.

The ones that refuse to die are disposed of humanly and ends up generally as cat food ... or dog food according to their last wishes.

valbaca 2 days ago 0 replies      
As a 25-year-old developer, this thread is one of the most informative I've seen in a quite a while.

Thank you for this question.

dfs45 2 days ago 0 replies      
My parents are both in their early 60's and they both still work as NATURAL/adabas developers.
alien3d 2 days ago 0 replies      
in 30, i do code and make a generator code to reduce my code time.Do you expertise in php and java or other language.. feel free to have fun..I think still lot people doing same job writing customize application.
0800899g 2 days ago 0 replies      
What happens to older developers?
gregimba 2 days ago 0 replies      
They go to the java factory.
logfromblammo 2 days ago 0 replies      
Older developers get sent off to a farm in the country, where they will have the space to run around and play, in a way that they never could in the cubicle maze. You never see or hear from them again because they are just so happy there, and also because all the fiber (or copper, if they were naughty) to their premises goes straight to the HappyFunNet, which doesn't have a peering agreement with our boring old Internet yet.

But they're totally still working and not being replaced by dumber, cheaper kids fresh off the boat or fresh from the diploma mill. Totally.

If you aren't lucky enough to work for a company that values the aptitude of older workers, even without domain-specific experience, your options are to become a technically indispensable genius, capable of writing metacode that the younger chimps can turn into working applications without much hand-holding, or you can become a person that spends increasing amounts of time firewalling those experts and chimps from the people who understand money and people better than computers.

Architect or manager.

xamdam 2 days ago 0 replies      
orionblastar 2 days ago 0 replies      
I am 45. Been out of work since 2002. Nobody wants to hire us older developers they all want cheaper labor sources.

Even NASA has this find big asteroids contest for $35000 in prizes because they got bit by the startup hackathon of cheaper labor sources of 20something college dropouts instead of 15 plus years of experience programmers.

Fact facts most hiring managers hate older developers. Unless they want quality and pay a salary to support a family can't hire us.

Need to move to find work but my family don't want me to move. Given ops for Google, Amazon, etc but had to move to take them. Nothing for me in St Louis Missouri USA.

orionblastar 2 days ago 0 replies      
Most of my friends that were older developers had killed themselves.

It started in 1999 during the Dotcom busts that flooded the market with cheaper labor sources.

Suddenly if you had a good job with a good salary some 20something working for $20K/year replaced you.

Unable to find work and provide for your family really wrecks the go. Most of my friends chose the suicide by shotgun route. I went to a lot of closed casket funerals and then got too depressed to go anymore.

My last job was in 2002, I thought I had a good job, but my employer only hired me to 'super debug' their main software that they hired these cheap labor sources for and they had a hackathon and prizes and none of them could get it stable or good quality and secure. So I got paid $150K/year and fixed it in two months, and then was fired even if everything worked great. I found that most job offers in my area are like that, promise you everything and as soon as you 'super debug' their problem you are fired.

Happened to most of my friends, and they ate a shotgun.

Some 20somethings on Internet forums kept telling me to eat a shotgun, shotgun mouthwash, etc. I refuse to kill myself and I will keep looking for work and bootstrapping my own side projects. I am glad Hacker News is not like Kuro5hin or IWETHEY or some other troll forums telling me to kill myself. You guys are professionals here.

sam_lowry_ 2 days ago 0 replies      
They don't die. They just disassemble.
hokkos 2 days ago 0 replies      
Soylent green.
Feinstein Publicly Accuses C.I.A. of Spying on Congress nytimes.com
408 points by 001sky  2 days ago   189 comments top 33
chimeracoder 1 day ago 15 replies      
This hypocrisy makes me physically sick.

Feinstein has been one of the biggest apologists[0] for violations of civil liberties, government surveillance, and (both) executive and judicial overreach. Suddenly, the tables are turned on her (however briefly) and she's not so happy with the way it feels.

Call me a cynic, but I'll wait to feel sorry for her until she actually backtracks on all of these despicable practices.

[0] Actually, I don't think it's even fair to say that - she's been a downright advocate of a whole number of nasty practices.

suprgeek 1 day ago 3 replies      
Spy on Others (Regular People) - it makes us safer.

Spy on me (Rich Senator who is becoming richer) - it is an OUTRAGE!

These congress critters really need to be a bit more nuanced in their double standards. This is the same person that publicly accused Ed Snowden of Treason [1].

So when we got to know about Large scale spying on the entire American Public for NO Reason - the person who told us about it is a traitor. When they learned about a SPECIFIC case of spying on their staffers there is sudden (manufactured) outrage?

I think she senses the public mood & is trying to use this issue to slink back into "of the people by the people" mode.Real Slimy.

[1] http://thehill.com/blogs/defcon-hill/policy-and-strategy/304...

tptacek 1 day ago 4 replies      
The backstory on this seems to be: in the process of compiling the Panetta report, staffers for the Senate Intelligence Committee reviewed a huge number of top-secret cables; the only place they were allowed to do that was in a CIA office building, on equipment provided by CIA. Somehow (another NYT story alludes), CIA came to believe that Senate Intelligence had gained access to more documents than intended, so they rifled through the computers they'd provided.

(Even if this is what happened, it's still very bad; I don't understand how CIA gets to mess with its oversight committee in any way.)

nathancahill 1 day ago 5 replies      
This is the same women who said "Its called protecting America" when defending the NSA's gathering of phone call records. [0] So surveillance is good, but not when you're the person being surveilled?

[0] http://www.politico.com/story/2013/06/dianne-feinstein-on-ns...

forgotAgain 1 day ago 0 replies      
So the searching of Congressional computers supposedly happened in 2010. She's speaking about it now because she feels the CIA is threatening her committee by turning over the investigation to the Justice department (another Executive branch department).

I know I should be outraged but really all I have is WTF. The head of the Senate oversight committee knew that the CIA had violated multiple laws and did absolutely nothing about it for 4 years. This is oversight? This is what we're all depending on to protect us from an out of control set of military / intelligence / industrial dicks?

ryoshu 1 day ago 0 replies      
This reminds me of The Scorpion and the Frog:

A scorpion and a frog meet on the bank of a stream and the scorpion asks the frog to carry him across on its back. The frog asks, "How do I know you won't sting me?" The scorpion says, "Because if I do, I will die too."

The frog is satisfied, and they set out, but in midstream,the scorpion stings the frog. The frog feels the onset of paralysis and starts to sink, knowing they both will drown,but has just enough time to gasp "Why?"

Replies the scorpion: "It's my nature..."

mullingitover 1 day ago 1 reply      
This whole story is so Kafkaesque.

The Intelligence committee is just doing a review of the CIA's torture practices, no big deal, largely for purposes of whitewashing the whole thing and sweeping it under the rug.

But then the CIA did something unconscionable and lashed out at the committee, threatening them with being reported to the Justice Department. That's when a red line was crossed and they had no choice but to bring the CIA's horriffic moral crime (not torture, but fucking with the Senate) public.

qwerty_asdf 1 day ago 2 replies      
The technical details for this brouhaha, if I'm interpreting them correctly, sound like they might approach Dilbert levels of managerial incompetence.

From Saturday's NYT article:


  The room designated for the staff, called the electronic  reading room, was a spartan office with tables and   computers set against the walls and a large conference   table in the middle.  ...  According to a recent court filing in a Freedom of   Information Act lawsuit, the C.I.A. created a network   share drive segregated from the main agency network, a   provision intended to allow the committee to work in   private.  ...  It is unclear how or when committee investigators   obtained parts of the Panetta review. One official said   that they had penetrated a firewall inside the C.I.A.   computer system that had been set up to separate the   committees work area from other agency digital files,   but exactly what happened will not be known until the   Justice Department completes its inquiry.  ...  By then, C.I.A. officials had come to suspect that   committee investigators working at the Virginia facility   had seen at least a version of the internal review.   Senior officials at the agency ordered a search of   several years worth of digital audit logs that the   C.I.A. uses to monitor its computer systems.
So, based on that very vague description, I'm imagining someone set up an ad-hoc SharePoint server, dumped a bunch of PDFs and MS Office docs on a file system, and absent-mindedly left the C$ share open, and then maybe someone accessed the server as an SMB share, and it showed up in the event logs, and now it's snowballed into "ZOMG u 1337 h4ck3rz, u pwnt mai FIREWALLZ!!!1one"

But never let a good disaster go to waste, right?

_nullandnull_ 1 day ago 0 replies      
>> Ms. Feinstein said she had sought an apology and an acknowledgment that the C.I.A.'s conduct was improper.

This is on par with what a child would get disciplined with for cutting in the lunch line. If a civilian would have done this they would have been prosecuted with a violation of the Computer Fraud and Abuse Act and sentenced to 30 years in jail.

nikdaheratik 1 day ago 0 replies      
The CIA starts pulling Nixon level shenanigans and the general response is ZOMG Feinstein is such a hypocrite?

The way this works is:

1) The CIA violated the law under Bush II by torturing, but was allowed to get away with it because, politics.

2) The people in Congress who want to nail them on this spend the next 5-10 years searching through 5 million records while the CIA spends as much time as they can stalling them.

3) They finally hit the mother load in a document that shows the people running the CIA know about these legal issues 5 years ahead of the committee.

4) People in the CIA freak, try to hide the documents, and then try and get to the DOJ ahead of the committee. Because, as soon as the DOJ is involved, the game is over since they either have to plead the 5th or get caught up in Obstruction of Justice charges.

This is all separate from the NSA spying stuff, which Feinstein is wrong on. But it's not even hypocritical for her to say "spying is okay, but torture is bad news for Democracy." Given a choice between the two, I'd still rather be spied on for no reason, than tortured for no reason.

amckenna 1 day ago 0 replies      
> The C.I.A. has referred the matter to the Justice Department to investigate possible wrongdoing, a move that Ms. Feinstein called a potential effort to intimidate this staff.

What could the Justice Department do in the event that they found wrongdoing on the part of the Senate staff? Don't members of the Senate had immunity from this type of prosecution exactly to prevent this type of interference and intimidation?

bradleyy 1 day ago 0 replies      
They don't have anything to hide, right? Why should they worry about being surveilled? We need to fight terrorism wherever it is, even in Congress.


DavidSJ 1 day ago 0 replies      
I knew someone who had a vicious dog. Over the years, that dog attacked, sometimes seriously injuring, dozens of people and other animals.

One day, the dog bit off the tip of the owner's finger, unprovoked. He was put down shortly thereafter.

chiph 1 day ago 2 replies      
Wait wait - I thought she likes the CIA/NSA?
acqq 1 day ago 0 replies      
The video of the whole speech of Sen. Feinstein about CIA:


The transcript:


Very good written, worth reading or watching.

rdl 1 day ago 0 replies      
What happened, did she finally realize the political winds were against her so speaking out against CIA was a good move? She's been one of NSA's staunchest supporters to date.

Is there a big split between CIA and NSA in her mind? There really isn't in reality -- one of the biggest post-9/11 changes is that the "intelligence community" actually acts like a community; even the FBI CT guys aren't viewed too badly by NSA/CIA/JSOC IME.

shutupalready 1 day ago 1 reply      
Shouldn't a Congressional oversight committee have access to everything at the CIA? Therefore it should be impossible to accuse the committee of improper access since it's their right.
alrs 1 day ago 0 replies      
NSA/FBI have an ongoing rivalry with the CIA.

There is no incongruity in attacking CIA while protecting NSA.

wmeredith 1 day ago 0 replies      
Holy shit there's a lot of character attacks in this thread. She may be a scumbag, but what she's saying is right. If the CIA is spying domestically and intimidating/hacking its oversight body, then it should be put down in favor of something else.
Torgo 1 day ago 0 replies      
Solution: retroactively legalize the spying, create a legal framework to continue doing so. They need to accept that less privacy is the cost of legislating in a free country. It's called keeping America safe.
vertr07 1 day ago 3 replies      
Is anyone surprised by this?
runamok 1 day ago 0 replies      
> Feinstein "accused the Central Intelligence Agency of improperly removing documents from computers that committee staff members had been using to complete a report on the agencys detention program, saying the move was part of an effort to intimidate the committee."

This sounds like an elderly person that does not understand computers. A staffer probably misplaced a file and cried "CIA". Although I revel in the fact that ubiquitous spying bothers her when she is the target I'm not convinced she knows what she is talking about.

Also note this happened in 2010 so it just sounds like an excuse for her to make a political about face in the face of pressure about the NSA.

DanielBMarkham 1 day ago 0 replies      
Gambling? At Rick's? I'm shocked, shocked to find that gambling is going on!

For those missing the reference, this is from the movie "Casablanca" It's an English idiom used when an official becomes conveniently outraged or overly surprised at something they had known was going on all along. The outrage expressed is a pro forma statement meant for public consumption -- it doesn't necessarily make sense if you examine it closely, and in fact can be quite funny given the context.

There is a generic problem here: the legislature in the United States has decided that instead of overseeing the government, it was going to grant huge swaths of power to various agencies, then swoop in for various high-profile investigations when anything went wrong. That way they get to play the hero without actually having to do a lot of work.

Well, the problem with this theory of separation of powers is that pretty soon you have dozens or hundreds of agencies, all without much adult supervision, all wanting to do more and more to "help". Without oversight, they turn to the next best thing: in-house legal advice, which tells them what is legal or not.

So now we have multiple intelligence agencies doing things their lawyers say are legal, but the majority of the American people are pretty pissed about (or getting that way).

The way to fix this is NOT to single out CIA or NSA or become outraged or not at any one incident. Geesh, there are dozens of agencies just like them that could be doing the same thing, and it's playing whack-a-mole. We need a reform of Congressional oversight, along with clear criminal laws about what can be gathered or not gathered. These agencies need guidance and oversight, not political posturing and outrage. (Although I'm never one to turn down politicians bloviating on issues I care about).

junto 1 day ago 0 replies      
And... cue the 'accidental death' or 'heart attack out of the blue.

Movie land of course, not 'real' life.

CWuestefeld 1 day ago 0 replies      
mankypro 23 hours ago 0 replies      
Kewl. So it's ok to spy on The People, but Congress!?! Omfg you Nazis! How dare you!?!?!?!!?!!??
brianmcdonough 1 day ago 0 replies      
Loves power when wielding it, hates its being wielded against. It's not hypocrisy. It's human.
gathly 1 day ago 0 replies      
It's like Merkel all over again. "what? you're spying on me too? well, that's wrong."
icpmacdo 1 day ago 1 reply      
But really who cares. Nothing is going to change
puppetmaster3 1 day ago 0 replies      
The person I hate the most living today or ever: Feinstein.
higherpurpose 1 day ago 0 replies      
Why did they change the title? Are they trying to promote Feinstein or something?
unclebucknasty 1 day ago 0 replies      
Is she really this daft? I mean, really, why does she think they can provide oversight of agencies whose purpose is to secretly collect intelligence, intercept communications, etc.? And, she relies on them to provide the information for their own oversight, yet sees nothing wrong with that?

So, she's shocked that some files were moved. Did it occur to her that she wouldn't have known something was being withheld if the CIA had never provided them in the first place? For that matter, does she ever wonder if perhaps massive amounts of information are routinely withheld?

Strong whistleblower laws are quite possibly the only true means of effective oversight. Yet, she seems to be too busy calling Snowden a traitor to consider that salient point.

Cowicide 1 day ago 0 replies      
Feinstein... Yet another corporatist appeasing political hack that has as much self-awareness as she does ethics.
Popcorn Time Watch torrent movies instantly getpopcornti.me
392 points by hussfelt  2 days ago   365 comments top 48
cheez 2 days ago 15 replies      
I clicked "12 years a slave", a movie I have not yet had an opportunity to watch and it started streaming in less than a minute in high quality.

I immediately quit the application as it should not be so easy to benefit from someone else's hard work without compensating them.

Please, movie people, let me pay for this.

You might kill the cinemas, but you'll still get paid.

dombili 1 day ago 1 reply      
This is great and I don't feel guilty at all using it contrary to most people in this thread. I live in a country where we don't have streaming services (HBO Go, Netflix etc), so my only option is to go to cinema if I want to see a movie (if I want to see a TV show, that's even worse). I refuse to do that, because I don't like going to cinema for particular reasons and I don't like my options to be limited.

It shouldn't be my responsibility to try to get these movies legally, not in this day and age. These services should be made available everywhere to everyone without any geolocation bullshit, because the platform they use to deliver this stuff to lucky people's homes are almost available to everyone in the world.

Netflix is popular because it's simple, convenient and cheap. I go out of my way (using proxies, fake debit cards) to pay for Netflix, it costs me more than 15$ a month but I still pay for it because I think it's worth it. If movie studios had their own streaming services like Netflix and it was available to me, I'd be more than willing to pay for it, but it's not. If they're stupid enough to not make profit off of people like me, that's not my problem. But if they do provide these services and I still don't pay for them, then there's a problem.

snippyhollow 2 days ago 4 replies      
XBMC torrent has been out there for a while http://forum.xbmc.org/showthread.php?tid=174736

It's free software https://github.com/steeve/xbmctorrent and uses libtorrent-rasterbar through https://github.com/steeve/libtorrent-go

humanfromearth 2 days ago 6 replies      
If you look at this file here: https://github.com/popcorn-time/popcorn-app/blob/master/js/t...

It sends usage data to Google Analytics. I can see how this can translate into you getting caught. Be careful.

Even if you don't have a 'trackingId' set it still sends GET requests to http://google.com/

d23 2 days ago 8 replies      
> Downloading copyrighted material may be illegal in your country. Use at your own risk.

Have we seriously just stopped considering the ethical implications of such things? At least these sorts of sites used to pretend they were for things like "public domain movies" and "personal backups."

nextstep 2 days ago 2 replies      
This app is fantastic. It really is a huge win for usability. I downloaded the app and was watching "12 Years a Slave" in less than 30 seconds.

I hope they add TV shows with a nice interface for browsing seasons.

mikehearn 1 day ago 1 reply      
My ideal product is the Netflix interface with, essentially, every movie and television show ever made. I imagine there are a lot of other people out there who also wish that product existed. It's hard to say how much I would pay for it, but I'm currently spending somewhere in the neighborhood of $150/month on a collection of services (Netflix, Time Warner, Usenet) that, in the end, only provide a very poor approximation of that ideal.

This product is the closest I've seen to matching that vision. So despite its very obvious illegality, I appreciate the authors' efforts to try and push the UX boundaries around content viewing. Hopefully instead of Hollywood suing the pants off of the creators, they'll use it as a template for what might be possible if they could collectively get their shit together.

gabriel34 2 days ago 5 replies      
Stream for torrents is extremely damaging to the swarm, specially for new torrents. It breaks the protocol and may end up killing itself. Picture a case of major success for this: At Prime Time there is a rush of people streaming from a torrent, acquiring the same pieces of the torrent without servers to counterbalance the upload speed of people with the complete files can't stream the file in real time to a few people who in their turn can't replicate it fast enough to lots of people.
hershel 2 days ago 3 replies      
I think if this idea of equivalence between paid and pirated content is taken to it's logical extreme, the result will be less movies being produced.

Maybe it's preferable to keep it as is today: piracy as an option for some and as a force against too much control from the content industry.

ihuman 2 days ago 0 replies      
Discussion about Time's article on this piece of software: https://news.ycombinator.com/item?id=7377089
t3ra 1 day ago 0 replies      
If anyone (or a contributor) from popcorn is reading this:

Can you explain the SEEDING part of it in more details?As your description says it will be seeded for some time to avoid leeching but can you describe this in a little more detail.

I know the project is trying to reduce/remove complexity from the torrent kingdom (its from whatever i see in this beta version i would say they have done a pretty good job!) but I have a (maybe an obvious) suggestion that you guys might want to add a "settings" pane somewhere so that users can play with settings.

The only major criticism i have is that the project is overly depended on YIFY as the provider of content. Which is also a problem because everything is either in 720 or 1080.

I hope some of the more "legal" providers learn from the simplicity of this project.

alexose 2 days ago 0 replies      
If you're interested in node, I highly recommend poking around the source files. Pretty amazing what's possible in a small amount of code.

While the frontend is all Backbone, the real magic happens in its backend dependencies like peerflix (https://github.com/mafintosh/peerflix) and video.js (https://github.com/videojs/video.js/).

Edit: And, of course, the remarkable (undocumented?) API provided by subapi.com. Check out http://subapi.com/popular.json !

Double Edit: The API appears to be developed by the Popcorn Time people, as per https://github.com/popcorn-time/popcorn-app/issues/294

DevX101 1 day ago 0 replies      
Can someone confirm that the .exe I download is the compiled version of the github repo?
cmiles74 1 day ago 0 replies      
In my opinion, the real issue is more along the lines of "How do I purchase and watch a film that I would like to see." The solutions are many and varied, but none provides access to all of the films one might want to watch. A given film may never be available in a theater near you and once they leave, may never become available online (via Netflix, iTunes, etc.) Just like the record companies, the production houses are hoping that if they fight progress long and hard enough, people will continue to pay top dollar for physical media.

In the case of the record companies, widespread pirating put pressure on these companies to make their content available online at reasonable prices. In my opinion, piracy is once again providing that pressure, this time on the film production houses. I believe that once the majority of films are available online at reasonable prices, products like Popcorn time will lose much of their appeal.

_tb 2 days ago 1 reply      
This was made here in Argentina, we don't think that much of legal issues here.
dpweb 2 days ago 0 replies      
Public domain movies. Ya.. Be careful and all that when they're not, you're not just consuming copyrighted works you are distributing them.
slashdotaccount 2 days ago 1 reply      
We need an onion protocol for the torrents:

you -> [encrypted data] proxy peer -> destination peer

In this case, unless all the proxy and the destination peers are controlled by policing actors they can't know who's downloading what.

quasque 2 days ago 2 replies      
Seems somewhat unethical to release something that is essentially designed for piracy.
middleclick 2 days ago 3 replies      
Is this legal in Canada? Because this constitutes streaming and not uploading, so it should be legal?
shykes 1 day ago 0 replies      
FYI there is another project like this being discussed on Hacker News in parallel: https://news.ycombinator.com/item?id=7379166
csmattryder 2 days ago 2 replies      
uTorrent has a similar function [1], but from what I've heard, it's spotty at best.

It's rare that you'll get enough of the packets at the right places to get a coherent stream going. Especially if you haven't told it to stream from the start of the torrent.

Gonna be interesting to see how this goes, same concept or some cool tech in the background like S3?

[1] http://www.utorrent.com/help/faq/ut3#faq1

BerislavLopac 1 day ago 0 replies      
I actually had the idea to a) create a similar product/service, b) charge for its use and c) transfer most of the income (keeping only enough to cover the running costs) to the producers of the original material, with or without their consent. I have no idea how would that work out, but I bet that after a few months/years of steady and growing income some things would start to change.
anjc 1 day ago 1 reply      
How does this work? Is it downloading chunks in order from people, or just starting off doing that, then downloading the rest non-sequentially and streaming that? Is it seeding what it takes? Does it cache complete movies?
3327 2 days ago 7 replies      
i think this community is the last place for this. I have the sense most people can figure out a torrent download and get it running. Weren't people actually able to download files and open the in the early 2000? OR has that become a resume skill too ? "Can download and run files"
frozenport 1 day ago 0 replies      
Sexy, could it be done as an HTML5 app? That way it would be easier to distribute.
captainmuon 2 days ago 0 replies      
There should really be a version of this using files stored on sharehosters, like what you can find on serienjunkies.de . There is basically zero legal risk when using those.
coretx 1 day ago 0 replies      
"Hit & Run" torrenting without proper seeding hurts the torrent community and makes Hollywood happy.I do not support "Popcorn Time", but i /do/ support free culture.
shmerl 1 day ago 0 replies      
What exactly does this client do?

Does BitTorrent protocol support ordered downloading? What usually prevents streaming kind of usage is the fact that BitTorrent clients download file blocks without any specific order. If ordering is possible, then any client should be able to do that.

bicx 2 days ago 2 replies      
This is pretty much illegal in the U.S., right?
prot 2 days ago 0 replies      
This looks very interesting. It works quite well, on Linux as well. This technology could actually be used for legal purposes too, lowering the price of content - if content providers really wanted to.
Doublon 1 day ago 0 replies      
I would love to have a server version of that which I could host on some VPS. It shouldn't be that hard as it's just some node/backbone code.
robogrowth 2 days ago 2 replies      
Can i beam this with chromecast?
alg0rith 2 days ago 3 replies      
>YIFY torrents

Why bother.

caioariede 2 days ago 0 replies      
Is there a way to stream it over DLNA?
1stop 2 days ago 0 replies      
The west finally caught up to china (PPS).
jypepin 1 day ago 1 reply      
Is there anywhere that explains how streaming from torrent works?
shanusmagnus 1 day ago 1 reply      
On a similar topic, years ago I used to download video from Chrome, and as it was downloading I could watch it with VLC, so long as the download stayed ahead. Then that stopped working. Is there a way to recreate this functionality?
jokoon 2 days ago 0 replies      
would not be surprised if people would start getting caught using this app.

I don't think the app really is useful when you weighs the risks.

wdewind 1 day ago 0 replies      
A much better solution to this problem is put.io
lewaldman 1 day ago 0 replies      
So finally, I as a "Internet Gueto" citzen can finally watch all the content that I really want to pay for but can't???

This is AMAZING news!!!

joeblau 1 day ago 0 replies      
2014 version of Napster.
xpop2027 1 day ago 0 replies      
It would be cool to pay a small fee in order to watch one of these movies once. Like a digital movie ticket
qasimvirjee 1 day ago 0 replies      
Popcorn Time's dead-simple user interface is what makes it so easy (and addictive) to use! I just posted some thoughts: http://www.designguru.org/blog/110314/popcorn-time-and-simpl...
whitef0x 2 days ago 1 reply      
Although I do support (legal) torrenting, I wonder whether one can trust this applications considering the high risk of malware packaged with this application coming out of this community.

Having said that, I do not know of the developers/people behind this project, so please do not take offense at this if this is misdirected and/or wrong.

clienthunter 2 days ago 2 replies      
This seems waaaaaayyy too polished in all respects for an app designed to break the law. I would not be at all surprised if those prebuilt binaries were sending your details off to the MPAA.
kphild 1 day ago 0 replies      
Yes! Excellent. In their face.
bolonomicz 2 days ago 0 replies      
fucking awesome
wathars 1 day ago 1 reply      
Are you guys seriously crying and screaming about compensation when so many actors/directors/producers are filthy rich? I am sure they are all so hungry right now...Think about it! Not to mention the differences between countries regarding salaries and quality of life.
I am not famous but I am dying from cancer at 35 d4l3.com
404 points by jmadsen  6 hours ago   212 comments top 40
darthclue 4 hours ago 8 replies      
Jonathan here. Being woke up by my wife crying because the donations just aren't stopping is both heart-breaking and comforting.

For those of you who haven't seen the 'Bucket List' post, here's what it says at the very top:

As I try to deal with the reality that is my impending death I can't help but wonder how many things I might have been able to accomplish given just a little more time. When I was diagnosed, I had only one thing that I wanted; to live long enough to see my children grow up. The reality is that the odds of me living long enough to see my children grow are quite slim. The only available treatment will eventually stop working and then it's just a matter of time.

This is the list of things that I want to accomplish while I still have time. Many of them aren't for me. They are for my family. They are meant to provide security for my wife and kids so that they can celebrate my life instead of mourning my death when that time comes.

My priorities are taking care of my family just as they always have been. Sometimes, we just can't plan far enough ahead to deal with something like this. If you saw the original page you would also note that Trips and meeting celebrities is not high on my list of priorities. Those are things that would provide me with a small boost on an emotional level but I don't consider them something that must happen before I die.

Life Insurance: I changed jobs and don't have any and now that I'm terminal, the cost for obtaining it is prohibitive. I agree that this is poor planning on my part, however, I'm 35 and no one expects to find out that they are going to die at 35. We all think we have plenty of time and the reality is that we don't.

Health Insurance: Thank god that I have this or we would've been sunk from the beginning. Despite having insurance, there continue to be ongoing costs and once I go on long-term disability I'll be paying cobra rates to keep the same coverage. I have no idea how expensive this will be but I don't expect it to be cheap.

This really isn't about me or the money, this is about my family and trying to ease their pain. I know that I'm living on borrowed time right now and I could be dead at any moment. All I want to do is spend as much time as I can with my kids so that they know I loved them. You try telling a 6 year old that her daddy has cancer and will be dead before she turns 8. Hardest thing I've ever had to do and I would never wish it any one.

For those of you that have helped us, thank you is not enough.

jmadsen 5 hours ago 2 replies      
OP here:

His donation page is at: https://www.giveforward.com/fundraiser/w704/beating-cancer-o... which can handle the load much better

Should have thought to put that up earlier

bherms 6 hours ago 6 replies      
It's sad that when we find out something this devastating (you're dying), that we have to spend our last weeks/months/years worrying about, of all things, money. Nobody deserves this sort of thing happening to them, and when it does happen, it hurts me to think they can't spend their last months on earth focused on enjoying time with their loved ones and instead have to live in fear that their family is going to be able to survive without an extra paycheck. It should be a time of finding peace within the chaos that is life, but instead it's like adding insult to injury. :(
lnanek2 2 hours ago 5 replies      
Kind of bizarre seeing someone else's value system which is completely alien to my own. If I was leaving my wife and kids with mortgage and car loan debt, I wouldn't spend $10-20k on a graveyard plot, that's for sure. I don't think I would in any case, I'd just get cremated or whatever the cheapest option is.
stefantalpalaru 5 hours ago 4 replies      
So the house you purchased and the van you upgraded to are not yours, disposing of your body costs more than a car, visiting family means you have to stay in a hotel, the basic survival needs of your wife and four children are not guaranteed and you want to visit Disneyland and meet celebrities before you die?

Capitalism is beautiful.

ryandetzel 4 hours ago 0 replies      
As a father in my thirties this hits home but I can't help but wonder WHY DON'T YOU HAVE LIFE INSURANCE? This is what it's for! For the cost of a few dinners out a year you could have 500k of coverage and right now you'd be spending time with your loved ones instead of worrying about money.

Please, if you have dependents (people that need your income) buy life insurance. It's cheap (if you're young and healthy) and death can happen to anyone of us at anytime for any reason.

/ end rant.

I feel for you though, this is super sad and I can't imagine not seeing my kids grow up. I wish you the best.

girvo 6 hours ago 5 replies      
I feel nothing but sympathy for Jonathan. I can barely imagine the pain he and his family would be going through :( What are the medical costs for someone with terminal cancer in the USA? I assume they're pretty astronomical, so I can understand why he'd ask for help (I'm donating myself).

In terms of his house and the like, I was always led to believe that life insurance was specifically for cases like his? Is life insurance a big thing in America? My parents have always had a lot of cover, but I'm pretty sure that was because of my Dad being a civil engineer and foreman, so his work was sort of dangerous. I don't know much about how life insurance works, mind you, so I'm sort of guessing here, for all I know Jonathan doesn't have any or if he did he's not covered for something like this (and to be would require premiums that are huge, or something). Anyone shed some light for me?

Good luck Jonathan. I'm not a religious person, but I can hope for the best to occur, however unlikely.

huhtenberg 4 hours ago 2 replies      
jreed91 3 hours ago 0 replies      
Hi johnathan. My father just passed away from stage IV melanoma. He was 52. Luckily he left us financially sound. But if there is anything I can do to help you out please don't hesitate to ask. I've done my research on any treatment you could possibly have to beat this cancer. Melanoma is becoming more beatable every day and people are living for years even when they are stage IV. If you have questions please email at jreed91@gmail.com
thinkpad20 34 minutes ago 0 replies      
My dad died from cancer at 36. I was 10 and had a 7-year-old brother and 11-year-old sister. I guess I can relate in some way, being on the opposite end of it. I'm sure I don't need to tell you to spend as much time as possible with your kids, because they will treasure every memory as they grow up. My heart goes out to you and I wish you and your family the best possible.
n_coats 2 hours ago 0 replies      
I live in Orlando, 30 minutes from all the parks. Please reach out to me if and when you and your family make this trip. I will help in any way I can. I know, from my personal network, that I can help in getting free tickets and an employee rate at one of the park hotels. I'd be more than happy to provide transportation for you and your family to and from the airport as well.

If you make it this way, please contact me, I'd love to help!

linker3000 3 hours ago 0 replies      
This hits a nerve - a neighbour (in the UK) is dying of a brain tumour and the NHS does not have the facilities for effective treatment. There's a fundraising campaign to send Gavin to the USA for specialist treatment which may save his life, and he's just been told he may not be around this time next year without it.


Good luck to everybody facing similar timelines.

[Edit: I can't spell]

chaostheory 2 hours ago 1 reply      
> Pay off our mortgage : $186,000

This is a little strange to me. Unless he was a freelancer, every tech job that I'm aware of has decent life insurance options that would easily cover this. If you add a few more dollars it covers college as well.

I definitely can't stress the importance of getting life insurance from a reputable company.

mmphosis 49 minutes ago 0 replies      
The lifetime risk of developing cancer:

   Males:   43.92%   Females: 38.00%

eXpl0it3r 5 hours ago 2 replies      
Yet another example why I try not to make any debts, especially when it comes to such large numbers, because you never know what tomorrow holds. Either you have the money or you don't. It really saddens me that it's normal nowadays to live on debts. I rather live my life less luxurious but debts free.

After all, I wish them all the best!

terragold 13 minutes ago 0 replies      
I have sympathy for this guy as a human being with cancer, especially with a family and all. But I have no sympathy for this guy as a person and for the financial choices he has made.

Having 4 kids, big house and car, expensive grave, need to travel, meet celebrities screams greed, irresponsibility and entitlement.

You could have not had 4 kids and had 2. You could have rented a place and bought a used car. The problem isn't wanting something better, the problem is that you decided to buy those things without earning it and with money you did not have. All these are choices you made as a person. And to take your family down with you is selfish and irresponsible.

Definitely won't be donating.

vans 2 hours ago 1 reply      
Sorry if i seem to be rude, but even if you're dying, you're still a human being and i will respect you. So, i won't be full of mercy and so on, i'm just going to be genuine. Your story is sad, as the story for million of people dying from this shit.But, if i help you, maybe i'd be ok with my conscience but this won't change anything for the 999 999 people remaining.If i choose to give money to fight against cancer, it would be for research and not for a particular case (even if it's sad).That being said, i truly understand that emotion and love drive me to give you some money, but i have to stay efficient and fair.
grifpete 23 minutes ago 0 replies      
Is no help possible from the new personalized targeted T cell therapies?
johnnymonster 2 hours ago 0 replies      
This really sucks! Does he not have any life insurance? I remember when I was working full time, I had a life insurance policy worth 5x my salary, which should cover the costs for the things he wants to pay off. After becoming a contractor, this was one of the first things I secured. I didn't want my family to be left with nothing when I died.
MatthewWilkes 3 hours ago 2 replies      
20k for a funeral? Really? Seemed legit until that.
xwintermutex 5 hours ago 0 replies      
Two years ago, when I was 28, a 20cm large tumor was found between my lungs, after increasing problems with breathing. I was lucky enough to have "the right cancer", and to live in a western nation. As far as scans can tell, it is gone. I wish this guy the very very best.
jkochis 55 minutes ago 0 replies      
Whatever you do, don't eat the food at Casa Bonita! They require you to purchase a meal in order to go in, but DO NOT EAT IT.

You can eat the sopaipillas though.

eric_the_read 2 hours ago 0 replies      
My father died at 38, from a cancer, and I just had some severely atypical skin removed. This story hits very close to home for me. My deepest sympathies go to everyone involved.
edem 45 minutes ago 0 replies      
Take a lot of Omega3+D vitamins and live on instead.
edwardchiapet 35 minutes ago 0 replies      
Donated -- stay strong, man!

Love your story and your priority list!

mattholtom 2 hours ago 0 replies      
The giveforward site is now really active. I hope it is load friendly because it is being hugged very hard right now..
ilovecookies 1 hour ago 0 replies      
Even though I feel for your situation... Seriously this has nothing to do with hacker news. This is more of a reddit post that has snuck in here somehow.
avenueb 2 hours ago 0 replies      
The #1 reason I limited myself to 2 kids was so that I did not have to drive a mini-van. The #2 reason was my concern I could not adequately provide for them.
danielweber 2 hours ago 0 replies      
This comment page makes me rage.

About a third blame the guy, as if buying a house at the age of 32 is crazy.

About a third just use his tragedy as a soapbox to knee-jerk blame the American health care system, as if people dying of cancer in other countries don't face a loss of income.

The remaining third give me some hope for humanity.

kartman 5 hours ago 0 replies      
I hope for the best for you. One suggestion to use as you see fit, the overhead on the donate is quite high - maybe you can create and list a bitcoin address you control on your blog.
piyushpr134 5 hours ago 1 reply      
Tragic as this story is, I would like to raise a point that could make life easier in event of untimely death i.e. term insurance. Term insurance is something that one should always get after getting married (or even before if your family is dependent on you). Multiple term insurances can be bought so you can keep buying more as your liabilities increase.
alandarev 6 hours ago 0 replies      
The story is particularly touching, as it is a 'regular' person speaking.

Thank you for sharing your thoughts, you reminded me of my own vulnerability and that we all have to be prepared for the worst case scenario.

Best of my sincere wishes.

ktzar 3 hours ago 2 replies      
Instead of donating to this guy I'd prefer to advocate for a free health system and a system that doesn't fuck up a family that has had enough bad luck to see its father die.

Having someone in his last months of life begging for money to not leave his family screwed up seems like a waste of those precious last weeks.

bigs204 6 hours ago 0 replies      
Looks like the website might be on the verge of getting hn ddos'd. Can someone inform him/possibly hook him up with mirror/hosting? I think opening up bitcoin wallet will be helpful too.

Memento mori - deepest thanks for a wakeup call.

Ygg2 5 hours ago 0 replies      
:( I lost my grandma to cancer, but from what I've heard cancer in young people is even more devastating (young cells reproduce more quickly).
shivmsit 35 minutes ago 0 replies      
Cancer is devastating and heartbreaking. I lost my brother at age 24, felt agony of cancer patient. Don't know why we can't cure cancer?
danieltillett 6 hours ago 0 replies      
There is nothing I can realy say other than I wish you and your family the best.
napolux 3 hours ago 0 replies      
Is there any PayPal account available?
triberian 3 hours ago 0 replies      
Sorry to hear, look into THC oil.
rjwje 5 hours ago 0 replies      
DigitalOcean Raises $37.2M From Andreessen Horowitz to Take on AWS techcrunch.com
391 points by beigeotter  7 days ago   284 comments top 38
bananas 6 days ago 14 replies      
Adding to the commentary on here with something not so gushing:

* kernels lag terribly behind the distributions meaning you're wide open sometimes.

* can't resize or add storage

* no freebsd support or custom kernels

* VM availability problems. If you want to have another box, you aren't guaranteed to get one.

* no IPv6

* somewhat shonky security reputation.

* cant deliver to yahoo mail from their AMS2 IPs I've been given even after filling in numerous forms at yahoo.

Apart from that, they're the best hosts out there. I pick them over Linode, Hetzner and EC2 but not colo. Even at the price point they're at.

HorizonXP 6 days ago 4 replies      
I really like these guys. It's really no-nonsense hosting, which as a developer, is exactly what I need.

I've been (stupidly) running my website, VPN, and e-mail servers all on a single EC2 instance, mostly because I had a bunch of AWS credits. I got some Google Cloud credits, so decided to move it there. I then realized that I'm spending $60 a month on a single instance, which despite having "free" money, is stupid.

I split everything up into Docker containers, and run them on Droplets now. Sure, I pay $5/month now for each server, but that's fine. One of the e-mail servers is for my wedding; I'll turn it off when I don't need it anymore. The interface for bringing up new Droplets is simple and clean, and lets me do exactly what I need to, no more and no less.

If you look at AWS or Google Cloud, there are so many available services that it can be daunting to get simple things going. I mean, it's not that bad, but once you've seen DO's interface, you realize how unnecessary a lot of it is.

I would still likely use AWS/GC for cases where I need to respond to changing load needs, which incidentally, is exactly what you're supposed to use it for. A DO + AWS hybrid infrastructure would be most ideal IMHO.

tshtf 6 days ago 1 reply      
Broken DigitalOcean promises:

IPv6 in Q4 2012: https://www.digitalocean.com/community/questions/is-ipv6-ava...

Ability to boot own kernel ("2-3 weeks from Feb 2013"): https://digitalocean.uservoice.com/forums/136585-digital-oce...

spindritf 6 days ago 2 replies      
First, its cheap.

Second, it's integrated. Which, to me at least, feels much more natural than AWS where you rent a virtual server, and then a database separately, persistent storage separately... Because it's integrated, it's also simple.

And they have a datacentre* in Amsterdam. Even two of them, right in the heart of the European Internet. That means latency to their servers is not noticeable in much of the EU.

* Yes, yes, probably more like a cage or whatever they rent.

blhack 6 days ago 1 reply      
I've said many, many times that the best thing you can do as a budding dev is to spin up a VPS somewhere and start hacking.

A while ago, I started giving out VPSs to friends of mine to get them to stop making excuses about why they can't code.

Digital ocean, at $5/mo, has made this really easy :)

checker659 6 days ago 2 replies      
DigitalOcean banned me because I was using their server to fetch chromium's source code so that I could git-bundle/rsync it's 12 GB mammoth of a repo and download it to the third-world country that I live in (my network connection is really bad even though it's the best money can buy). Apparently I violated their TOS. As long as they limit their TOS to such narrow purposes as hosting a wordpress site or doing straight-forward things, I don't think they'll get too far. With AWS, amazon doesn't care if I spawn out a 1000 node render farm, as long as I'm paying, it's all fair game.

Good luck anyways.

lallysingh 6 days ago 1 reply      
I'm a (moderately [1]) happy customer. But I have to ask, isn't this industry slowly turning into just virtualized hardware leasing? After the management tools commoditize, and I think there's a solid risk of that, isn't it just price and DC-location that differentiate?

And in that vein, wouldn't the winner in each area just be the one who bought their hardware the most recently? Instructions/dollar are still increasing on each CPU generation, but it'll take more than one generation for each machine to pay itself off. So, whoever is closest to the current generation pays the least per instruction, and can charge the least.

Or, maybe it's memory/bandwidth, which are mostly commodity, but slightly bottlenecked by the hardware (e.g, max on a motherboard, NIC throughput). Maybe the combination of prices in cpu, memory, and bandwidth leave enough variation between competitors to keep the field a little open? I donno.

[1] Modulo concerns about their ssh key management. I haven't looked after the last news ping on it.

sneak 6 days ago 3 replies      
DigitalOcean are dishonest with their customers. It's sad to see such a reputable firm throw in with people known to be liars.
z92 6 days ago 2 replies      
I am running these services in a $5/month DO droplet: dns [named], ntpd, httpd [apache], smtp [postfix], imap [dovecot], webmail [roundcube], vpn [pptpd]. It's taking 350MB off 500MB RAM.

Now after adding getmail to back up gmail I am now wondering what more I can do with it.

nissimk 6 days ago 1 reply      
If you can scale your system using only 0.5 GB per node, you get more cpu per dollar since the 5$ and 10$ levels both have 1 cpu. Higher levels seem to be multiples of the 10$ level. Does anyone have experience with this in a production system with a lot of users? Are there horizontally scalable database systems that work well on many nodes with only 512MB each?
da_n 6 days ago 0 replies      
Despite generally rock-solid performance and uptime, I had a bad experience with DO recently. After experiencing repeated hardware failures on a node (with lots of downtime), I followed the advise of their support and did a snapshot and destroy of the failing droplet and immediately attempted to create a new one from the snapshot. It failed to build. I then tried to build again from the automated backup they create when a droplet is destroyed, this also failed. Support just did not seem to understand the issue I was having, I kept getting canned responses about doing a snapshot then building a new droplet from the image, so I gave up.

The entire site had to be created again from backups on a different VPS provider. Surely their system should be able to migrate any droplets off failing nodes automatically, I mean hardware failures happen right?

dmunoz 6 days ago 1 reply      
Only tangentially related, but when did DigitalOcean redesign their website?

I think my initial dislike is due to it being changed, but there are tons of minor usability issues that I never noticed on their old website.

I'm happy to see a view for new articles in the tutorials database [0], but at the moment it doesn't make any sense. When I hit it just now, an article from 11 minutes ago is above an article from 1 minute ago. Not only that, an article on the 52nd page says "less than a minute ago". From clicking around, it seems like some process has touched every article recently and all those times, and how they are sorted, are meaningless. Also, at the moment the new and tending view gives the exact same outcome, at least for the first page.

[0] https://www.digitalocean.com/community/articles

aalpbalkan 6 days ago 0 replies      
Classic TC title "to Take on AWS"... Don't make me laugh buddy. AWS is probably more than 1,000+ people operation with 30 different products and a marketplace, support and ops teams. DigitalOcean is purely a VM seller with no cloud or storage features.
erbo 6 days ago 0 replies      
I moved my personal Web hosting from another provider to DO a couple of months ago. I'm spending the same amount I was paying the other provider, and I'm getting a hell of a lot more for my money. (I have two droplets running right now, one with my Web server and mail, one running some network services...and I have plenty of capacity on both to do more.) Plus, since it's an actual VPS as opposed to shared hosting, I have more control over it. I'm kicking myself for not having made the jump earlier.
timdorr 6 days ago 2 replies      
$37.2m on a $153m post? That's a pretty big chunk of the company to give up. Looks like A16Z is going big on these guys. They're awesome, so that's great news!
whalesalad 6 days ago 1 reply      
Mark my words these guys are gonna be huge. Sure they are lacking in a lot of areas (like bananas mentions) but thats why you get VC funding and hire a badass like Jeff Lindsay (http://progrium.com)

I'm really excited to see these dudes take on AWS with a higher-level and more performant platform.

samwillis 6 days ago 3 replies      
I would love to see DO or Linode do a S3 type service as well. I prefer the persistent virtualization of DO and Linode to EC2 but also want to use a nice quick persistent file store that isn't on my own slice.

I could just use S3 from Linode but that would result more paid bandwidth and increased latency.

jmngomes 6 days ago 2 replies      
"The company is also working on IPv6, load balancing and eventually storage."

Looking at the feedback from their user base, and even rom my own experience, different storage options would be way more useful than IPv6 or even load balancing.

zerop 6 days ago 5 replies      
I use linode and was drawing comparisons between two:1. 8 cores on linode is what binds me to it. Linode rules here2. Digital ocean is cheaper than linode3. More Network transfer in linode (minimum 2TB)4. Digital ocean offers more RAM5. Private network - Does not exist on Linode. Shame. DO Rules..

What else...

ilaksh 6 days ago 2 replies      
Its simple. It costs half as much as equivalent providers for their VPS. Or less than half in the case of AWS. And it actually works even though its so cheap. No matter how rich you are it just doesnt make sense to pay double or triple.

The question is, do you really make money on $5 a month servers? I don't know if they actually are. The costs are for support people and now large numbers of engineers.

The thing is with that much funding it doesn't really matter if their income is greater than expenses. They can continue for at least another few years regardless. During that time sane people who just need a VPS will take advantage of it.

My recommendation for DO's business model is simply to set a precedent and make it a policy that if you pay only $5 then you don't get any kind of free support. That is the only real cost that sticks. So I suggest having a few different monthly support options available starting at zero support for $0 and up. That is the main business issue a provider like this has is the conflict between the desire to provide good support and the need to keep unit costs low. And the solution is to separate support out. The main challenge to doing that is sort of a cultural/expectations/marketing issue.

hiphopyo 6 days ago 1 reply      
Love DigitalOcean. Sorta sad they still don't offer OpenBSD though.

OpenBSD -- the world's simplest and most secure Unix-like OS. Creator of the world's most used SSH implementation OpenSSH, the world's most elegant firewall PF, and the world's most elegant mail server OpenSMTPD. OpenBSD -- the cleanest kernel, the cleanest userland and the cleanest configuration syntax.


pyrocat 6 days ago 0 replies      
Maybe they could spend some of it on hiring a better marketing team. Holy shit those youtube ads are terrible.
morganherlocker 6 days ago 0 replies      
While not suitable for production operations, my go to has been a random one man vps shop. I have used him for years, because it is the cheapest plan I have seen. I pay $20/year per server, which makes it an easy decision to add another one whenever an idea comes up.
ksec 6 days ago 0 replies      
Let's hope DO finally get their act together.

No Pooled BandwidthNetworking and Route, as well as capacity need some work. Linode is much better in this regards.No Custom KernelsIPs Problem. Still no deploy to different physical hardware by default.No Private Networking on most of its DC.

And possibly many other small things i didn't mention. To me most of those are deal breaker. And my problems with them is that are not fixing or improving these problem quickly enough.

While Linode's SSD are quickly approaching, and has none of those drawbacks.

blueskin_ 6 days ago 2 replies      
Do they have IPv6 yet?

What about actual security too?

Maybe they'll stop the censorship if they want to be a real VPS player? (https://vpsexperience.wordpress.com/)

Oh, and I wish they'd use real industry terms, not stuff like 'Droplet'. That's just stupid.

Right now, anyone at all who aren't GoDaddy or Network Solutions are better than Digital Ocean. You get what you pay for (AWS excepted, who are price gouging).

Full disclosure: Happy Linode customer.

AznHisoka 6 days ago 1 reply      
No matter where I go, the prices don't get any better than they do in OVH. A 240 GB SSD (2 X 120), quad core, 32 GB RAM, unlimited bandwidth for just $60/month?
instakill 6 days ago 0 replies      
I've been using DO for about a year, and I've been mostly happy with it but that's because the project I run http://www.mybema.com doesn't receive as much traffic or active users as I'd like it to. DO has gone down far too many times in the last year for me to be able to be completely confident in them with a 100x userbase.
dharma1 6 days ago 0 replies      
took me 3 hours today to do a power cycle (reboot)

vs 2 minutes on linode

recmend 6 days ago 2 replies      
We run our infrastructure on both AWS and DigitalOcean.1) DO consistently beats the price performance. 2) DO has simple pricing model --> No ondemand / reserved instances3) AWS is more feature rich but DO continues to add new functionalities like private networking and new data centers
viana007 6 days ago 0 replies      
"The company is also working on IPv6, load balancing and eventually storage."A simple solution for load balancing and auto-scale will be amazing :)
bowlofpetunias 6 days ago 0 replies      
AWS is a cloud service provider with a huge ecosystem of services. Digital Ocean is a VPS provider.

It's like comparing a harddisk manufacturer to Apple.

Even EC2 is barely an overlap, since EC2 is a computation unit in the convenient form of a (very ephemeral) virtual server, not the virtual equivalent of an actual, permanent server. (And you're going to be in a world of hurt if you use them like that.)

gregpilling 6 days ago 0 replies      
I am reading Ben Horowitz's book, and it is interesting to me that they made an investment into the same field as LoudCloud 15 years ago. Maybe they were just before their time.
puppetmaster3 6 days ago 1 reply      
I use them for remote DC's (assia, EU, etc.) at $5 each.

Only their billing is a hot mess, mostly because they think it works and their customers are wrongly entering the CC #. For 4 months now, same problem and they have off-shore support that reads scripted answers. They just read the closest answer related to billing.

arca_vorago 6 days ago 1 reply      
I've been using DO for about 5 months now, and love it. I still host my main websites other places (dreamhost, who, despite some issues, has been consistent in improvement, and is fair in prices), and I use DO for stuff like mumble servers, a few games, as a ssh proxy from less secure locations, and as some as a shared shell with friends for various skullduggery and fun. Very impressed with DO's service and price, but even more so ease of use.

My main issue is that I would like a hardening script, instead of having to go through each new one I spin up and lock it down.

thezach 6 days ago 0 replies      
I like AWS, and this is good for me - because competition is good for the customer.
fareesh 6 days ago 0 replies      
DO is great - I just wish features like adding extra disk space and monitoring bandwidth usage were here sooner.
gidgreen 5 days ago 0 replies      
Digital Ocean does pretty well on price/performance at www.cloudlook.com (disclaimer: my site)
ForFreedom 6 days ago 0 replies      
In one line how is DO?
Squirt.io Readability Meets Spritz Speed Reading squirt.io
390 points by pkghost  1 day ago   190 comments top 76
timtadh 23 hours ago 5 replies      
What I noticed using this to read a couple Ars Technica articles was it worked really well for short words. But, if a longer complicated word appeared, at say 600 wpm, I would miss it. It seems like an adaptive algorithm based on word length would improve the speed even more allowing it to go faster on short common words and slow down on longer unusual words.

Also, there is bug that sometimes causes two words to appear at once. Sometimes they are overlapping vertically which is basically impossible to read. Try reading http://pragdave.me/blog/2014/03/04/time-to-kill-agile/ to see what I mean.

pmichaud 18 hours ago 1 reply      
I tried using it on a github wiki page, and it broke because github wouldn't load the external javascript. So I copied the text and made a local html file. That didn't work because of these errors:

Failed to load resource: net::ERR_FILE_NOT_FOUND file://www.squirt.io/bm/font-awesome.cssFailed to load resource: net::ERR_FILE_NOT_FOUND file://www.squirt.io/bm/squirt.css62 Uncaught TypeError: Cannot read property 'style' of null squirt.js:1048 Uncaught TypeError: Cannot read property 'style' of null

ghc 23 hours ago 3 replies      
I've never thought much about my reading speed before, but after trying this and finding the deafault setting a bit slow, I decided to compare my natural reading speed.

I was able to read the article I chose in about 85% of the time of the default 400WPM of the bookmarklet (I read the article first with a timer, and then reread with the bookmarklet), which would put me at 470WPM. With Squirt, I was only able to get up to 650WPM before it felt too uncomfortable.

I wonder if people really read one word at a time, especially when they're short words. If people do read more than one word at a time, I think a more intelligent approach might be necessary to really make the experience both comfortable and fast.

nashequilibrium 20 hours ago 6 replies      
HN always likes the faster is better, I am a genius absorbing this much information quicker than you. Its been proven over and over that comprehension is way more important than speed of consumption. You guys fool yourselves into believing you can comprehend while reading at breakneck speeds, its way more fun & time saving to be able to imagine, driftaway in thought and understand what you are reading.
avoutthere 10 minutes ago 0 replies      
My feature request would be that it work with the Kindle Cloud Reader.
philmcc 1 day ago 4 replies      
I'm pretty sure this is just a big middle finger to Spritz. In the most hilarious way possible. Or am I misinterpreting the acknowledgments? ;)
devindotcom 22 hours ago 1 reply      
It's fun to see these ideas multiply and combine, but experts on reading comprehension seem to think RSVP didn't work even back in the 70s when it was being first tested:


Comprehension was worse than skimming, apparently. I can see this as a thing to flash headlines/latest news to you but anything longer than a sentence or two... not so sure.

Mizza 21 hours ago 2 replies      
I'll also shamelessly plug my open source implementation, OpenSpritz, which now has a healthy and vibrant community!


as well as the Android / Google Glass companion:


iandanforth 21 hours ago 1 reply      
Using a "let me google that for you" link on the problem with software patents seems unnecessary. Why imply your users are lazy? At first I thought the contrast between "whose patents are pending" and that link was a great bit of commentary, but that link was an unexpected slap. I was expecting an EFF link.
Zarkonnen 23 hours ago 3 replies      
This is lovely, but how do I adjust the default WPM? I want to use more than 400, and having to adjust it each time is very annoying.
coderzach 22 hours ago 2 replies      
I feel like it ruins the cadence, in my head anything I read with this sounds like it's coming from a robot.
johnwatson11218 16 hours ago 0 replies      
I always plug the same site on these threads. www.zapreader.com/readerI use that several times a week to get through lengthy articles. What I really want is something that shows all the text in the background kind of blurred out. The words should still flash on screen but with a keyboard shortcut I can make that disappear and have the word I was on hi lighted. I would like the text in the background to scroll while it is blurred out and I'm speed reading. That way if there is an image or diagram I can quickly shift back to normal reading. Or if I just need to re-read a section. Then using only keystrokes have it resume blasting the words on screen.
Mojah 23 hours ago 6 replies      
This project may consider a name-change, as googling for this after it's gone from the HN homepage will trigger ... interesting results. Especially if you're trying to show this to a co-worker in the office.

Note to my boss: I'm sorry!

johnnymonster 2 hours ago 1 reply      
I'm sorry but I just can't get past the name. Who names any product squirt?
ripperdoc 12 hours ago 0 replies      
Nice layout for this one, a tad better than OpenSpritz.

One issue: numbers with points get split up, which is very confusing. E.g. 16.4 becomes 16. and then 4.

Another issue: It sometimes starts reading out script code, e.g. here. http://www.forbes.com/sites/adamtanner/2014/03/05/amazons-wa...

One feature request: Keyboard shortcuts to pause and maybe to step back or "zoom" out to see the whole last/current sentence before continuing.

ryeguy_24 1 hour ago 0 replies      
I don't know how Spritz can patent the <blink> HTML tag.
philfreo 16 hours ago 1 reply      
Awesome idea, thanks for making & sharing!

I tried it on http://blog.eventjoy.com/post/79387694078/how-we-restarted-o... but it choked/stopped once it came across the first linked.

Touche 23 hours ago 2 replies      
Really like it. The only downside is that you have no idea how far along in the article you are. Would be nice if there was a % complete shown somewhere.
ilovecookies 2 hours ago 0 replies      
This is nice but reading speed really isn't my bottleneck when it comes to do things.
MaybiusStrip 11 hours ago 0 replies      
Eh... I was one of the many developers that had the same idea to write a bookmarklet/extension implementation of Spritz. I completed something functional (a few hours of coding for any JS dev) and then discovered that there were at least a dozen repos in Github for the exact same purpose. Plus I realized I just couldn't get used to reading this way, so I gave up to focus on my job + other side projects.

Quite frankly this is a pretty lazy implementation. It doesn't even slow down for long words, and the highlighted letter is too far to the left most of the time. But the snazzy .io page and sleek interface probably will do way more for the tool's popularity than actually improving features, so kudos to the Author for the smart marketing.

I'm rooting for the open source versions.

mallamanis 22 hours ago 1 reply      
I'd really like to see this model with an adaptive speed. Same speed for all the words isn't always the best.

Maybe using an n-gram model to predict how probable the next word is, could pass high probability phrases at a faster rate, while slowing down for "harder" words

ljf 23 hours ago 1 reply      
Love it, I can't wait for an ePub reader though, got so many books I'd love to fly through, though novels for pleasure I think I'd read normally as I enjoy stopping and rereading passages.
brador 17 hours ago 0 replies      
How about making the entire text a single line, that scrolls right to left, like a marquee.

With a red marker, like here to mark a single fixed position on screen that the marquee text slides through to guide the eye.

This method would allow processing of local words for context rather than flashing single words.

wpears 23 hours ago 1 reply      
Similar to what I did with the chrome extension Spree [1]. Though I find your pauses on periods to be a bit much. Code for Spree available on github [2]. The IIFE in spree.js can also function as a bookmarklet.

Also, Spree doesn't walk to an element's parent, which usually keeps it from getting into JS and ads, while still reading all of, say, a news article.

On another tack, quite a lovely site.

1. https://chrome.google.com/webstore/detail/spree/aehoaolhojlm...

2. https://github.com/wpears/spree

bdg 23 hours ago 1 reply      
Thank you for this! I intend to drop the script on my blog, it might actually improve real reading rates (rather than thousands coming in from a reddit link and jumping ship after <9s ).
scep12 21 hours ago 0 replies      
I find that i'm not visualizing what I'm reading nearly as effectively. I think contextual clues of seeing words "in place" may be underrated.
bra1n 17 hours ago 0 replies      
While the idea is nice, I'd rather not use a bookmarklet that tracks me through a unique ID across websites and not only keeps a list of pages that I used it on, but also of pages that I came from: https://github.com/cameron/squirt/blob/gh-pages/bm/squirt.js...
robobenjie 23 hours ago 0 replies      
I like this a lot, my only request would be a slightly longer pause at the end of sentences. Right now it pauses on long words so I mentally chunk all that together.
owenversteeg 21 hours ago 1 reply      
I prefer the UI of OpenSpritz, and it's open-source and MIT licensed, as opposed to this project which has no license. https://github.com/Miserlou/OpenSpritz
gchokov 1 day ago 0 replies      
I'd be much more interested in a solution that effectively minimizes the text or uses another technique about speed reading (like diagonals, etc).

The reason why I won't be using this service is simply because it makes the eye lazier. My eyes are already lazy enough because I am in front of the computer 12+ hours a day, so my eyes muscles need movement. Staring at one point for long time can also cause side effects like losing the sense of space and time. Staring at one point is often used as hypnotizing during different kind of therapies.

chedigitz 21 hours ago 0 replies      
Looks pretty cool. Personally prefer the Read [1] chrome extension approach, as it has a minimal UI and sits on top of the page. Also, think the red color is slightly distracting, when north of 700 WPM.


felipeerias 23 hours ago 3 replies      
I am not sure that I get the point of this. When I read a long piece, I try to enjoy it. Imagine the same approach being used to "fix" food or sex in the name of efficiency.
ScottWhigham 1 day ago 1 reply      
Great stuff - thanks for sharing.

One note: when I drag the bookmarklet from the Install page to my toolbar, then try to use it on a page on my http://localhost/ a dev site, for ex.), it (a) does what I expected it to do, but then (b) forwards me to http://localhost/install.html when it is finished. When I browse an actual domain-based site, it gives me the nice "You just read..." message at the end. It would be nice if both local and remote sites had the same experience.

AlexSolution 21 hours ago 0 replies      
I've tried several of these, and I really think jetzt https://github.com/ds300/jetzt is the best one. It has a progress bar, keyboard shortcuts, and I particularly like the way it wraps words in enclosing elements - like quotations and parentheses - when the word being displayed is within the enclosure.
brokentone 23 hours ago 0 replies      
This is the "danger," I suppose, with a simple execution even when backed by substantial science. Easy to copy a UI.
gabriel34 19 hours ago 1 reply      
small increases in wpm can be easily achieved by beeline[1] it without the drawbacks rsvp has.


jedanbik 23 hours ago 0 replies      
I love this concept - I hope you can find a way to integrate with Instapaper on iOS!
corobo 23 hours ago 1 reply      
I like the idea however it could do with filtering out HTML and Javascript.

Most pages I've tried it on so far without manually selecting text it goes through a bunch of javascript before getting to the content. That may be my bad the way I'm using it but as the site mentions readability I figured it'd chuck it through that first

darrelld 21 hours ago 0 replies      
I found that while I could read and gather individual meaning from sentences that I couldn't grasp the meaning of an entire article from this. They all seemed disjoined somehow. My mind wasn't able to pause to digest what a sentence meant and how it linked back to the paragraph I was reading and the article as a whole.By seeing the entire article my mind starts to make connections between paragraphs and then to the entire article. With seeing a single word at a time this was lost.

Also I found it hard to follow sentences between brackets for some reason.

jfccohen 23 hours ago 1 reply      
I installed this on my browser bar and hasn't worked for cnn.com, highlighting specific text on cnn.com, medium.com. It worked on techcrunch...what about the HTML of the previous sites renders Squirt unusable?
zealon 16 hours ago 1 reply      
Awesome, I've looking for something like this for ages!Needs a bit of tuning, though.Fails when reading this article on Chrome 33 for Linux: http://aphyr.com/posts/311-clojure-from-the-ground-up-logist...
marccuban 23 hours ago 1 reply      
They could not have picked a worse name...
grittathh 21 hours ago 0 replies      
lots of neat (and hopefully useful) things that can be added! i guess that's what OSS is for hehe.

-blink detection (using a webcam or forward facing camera?) to pause while your eyes are closed?

-hold-to-pause or hold-to-spritz button, and show context (+- a few lines) when not spritz-ing?

-point of focus slides slowly across the screen, to exercise those extraocular muscles

henrygrew 6 hours ago 0 replies      
I don't think squirt is the best name, it brings bad thoughts to my mind.
nayefc 23 hours ago 1 reply      
It doesn't work well. Reads out Javascript and side text/ads on websites.
brianbreslin 20 hours ago 0 replies      
Funny because when spritz was announced the other day I thought to myself how i would have paid $1-3 for this as a browser plugin.
yuchi 1 day ago 1 reply      
This is very well executed. But it doesnt work on HTTPS :\
dubeye 13 hours ago 0 replies      
Most writing has rhythm, a flow and a beat that is completely obliterated by this tool. If this appeals, why not listen to music via MIDI and speed that up too?
spada 23 hours ago 3 replies      
amazing. My feature request is PDF functionality. thanks for making this.
jagtesh 20 hours ago 0 replies      
I usually find it hard to digest dense information at a pace of 200 wpm or more. Just because you can read fast, doesn't mean you'll think fast.
jdorfman 21 hours ago 0 replies      
This is great. To the Developers: please send any DMCA notices to /dev/null so I can use this forever.
kyberias 17 hours ago 0 replies      
What's the hurry? Take your time and think what you read, people! :
dgfvd 14 hours ago 0 replies      
There's a bug that I can't really fathom:

when reading this paragraph:

"The WEIRD mind also appears to be unique in terms of how it comes to understand and interact with the natural world. Studies show that Western urban children grow up so closed off in man-made environments that their brains never form a deep or complex connection to the natural world. While studying children from the U.S., researchers have suggested a developmental timeline for what is called folkbiological reasoning. These studies posit that it is not until children are around 7 years old that they stop projecting human qualities onto animals and begin to understand that humans are one animal among many. Compared to Yucatec Maya communities in Mexico, however, Western urban children appear to be developmentally delayed in this regard. Children who grow up constantly interacting with the natural world are much less likely to anthropomorphize other living things into late childhood."

it seems to stop displaying words directly after the U.S., string. I had to restart it after that.

Another note: words that contain hyphens or em dashes are not tokenized so you get huge words that are impossible to read at speed.

sravfeyn 20 hours ago 3 replies      
Why the fuck are there so many Readability apps coming out now. Why everything on internet is exploding without giving the problem much thought. It's becoming more and more of copycheetahs. Game of 2048 goes multiplier, speed-reading articles are more than 4 suddenly.

Please be of more thoughtful in your creative endeavors. If you are able to produce something like this, you might as well be capable of creating better original ideas.

drak0n1c 19 hours ago 0 replies      
Services like this could benefit from eye-tracking. It would be ideal if it would pause whenever you look away from the red focus point. Samsung phones already have eye-tracking API.
zachlatta 20 hours ago 0 replies      
There's also Jetzt, which is a fully-fledged open-source Chrome plugin. It has much better text-selection support and I've found it a better experience to use than both OpenSpritz and Squirt. https://github.com/ds300/jetzt
espressoAndCode 1 day ago 0 replies      
This is a terrific idea. I was blown away the first time I saw it. I have been able to consistently get high comprehension at 650WPM for general subject matter (ie non-technical articles), and plan on working my way up to 1000. Love it!
colinramsay 23 hours ago 0 replies      
According to this, my current reading speed is about 750 words a minute - but I have a tendency to be able to skim or "bulk comprehend" sections of non-technical text so that might explain it.
lukasm 20 hours ago 0 replies      
Am I really the only one that LOL'd at the name?
innaego 23 hours ago 0 replies      
Cool. Is the idea based on any existing studies on the subject?
ermintrude 23 hours ago 1 reply      
Why does each user need to be given an ID? How private is this?
zeyus 15 hours ago 1 reply      
Aw, I made a chrome extension, but this is better :(


veganarchocap 22 hours ago 0 replies      
I didn't feel that comfortable about having a bookmark called 'Squirt' in my bookmark bar, so I've renamed it. I was hoping someone would release this though since I saw the app version.
jpdlla 20 hours ago 1 reply      
This is awesome and it works great on iOS's Safari!
mp99e99 23 hours ago 0 replies      
I think this is really fantastic
pscsbs 20 hours ago 1 reply      
Tried this on several articles, and it was displaying a lot of markup.
noel82 22 hours ago 0 replies      
+1 starting from the name
higherpurpose 20 hours ago 0 replies      
Please make it work with Google Docs (maybe make one of those recently announced Docs add-ons?). I want to read PDFs like that, that I upload to Docs.
bbbhn 23 hours ago 0 replies      
Sometimes it displays two words at a time. Otherwise, very cool!
jamesfranco 23 hours ago 1 reply      
Does anyone know of a speed-reading API another than Spritz?
hert 21 hours ago 0 replies      
I've been using the Spreed Chrome extension (http://goo.gl/ki49wl) for about a week. They've recently added an orange focal letter (much like Spritz's red one) in that time.

Squirt has a cool UI and works across browsers, but I like Spreed's ability to see progress as I read and the keyboard shortcuts. Looking forward to seeing this tech pop up more and more and evolve!

navneetpandey 22 hours ago 0 replies      
This is great, but not able to read play books.
X4 18 hours ago 0 replies      
Can you please add 1000-2000wpm? 950 is too slow. Honestly, please.
platz 20 hours ago 0 replies      
does it work with sites on https?
jpincheira 18 hours ago 0 replies      
Dude, the name
poefhkwf 17 hours ago 0 replies      
you are essentially trolling spritz and it's uncool
Introducing the mozjpeg Project mozilla.org
384 points by joshmoz  7 days ago   128 comments top 27
pavlov 7 days ago 7 replies      
Bravo. I love JPEG. Amazing that it's been 23 years since its release and it remains as useful as ever.

I remember what it was like to watch a 320*200 JPEG image slowly build up on a 386SX PC with a VGA card. Today, a HD frame compressed with JPEG can be decoded in milliseconds. This highlights the secret to JPEG's success: it was designed with enough foresight and a sufficiently well-bounded scope that it keeps hitting a sweet spot between computing power and bandwidth.

Did you know that most browsers support JPEG video streaming using a plain old <img> tag? It works also on iOS and Android, but not IE unfortunately.

It's triggered by the "multipart/x-mixed-replace" content type header [0]. The HTTP server leaves the connection open after sending the first image, and then simply writes new images as they come in like it were a multipart file download. A compliant browser will update the image element's contents in place.

[0] http://en.wikipedia.org/wiki/MIME#Mixed-Replace

billyhoffman 7 days ago 0 replies      
This is very promising. Images by far dominate a web page, both in number of requests and total number of bytes sent [1]. Optimizing image size by even 5-10% can have a real effect on bandwidth consumption and page load times.

JPEG optimization using open source tools is an area that really needs focus.

There are a number of lossless JPEG optimization tools, but most are focused on stripping non-graphical data out of the file, or converting the image to a progressive JPEG (since progressive JPEG's have rearrange pixel data you can sometimes get better compression since there may be more redundancy in the rearranged data). Short of exceptional cases where you can remove massive amount of metadata (Adobe products regular stick embedded thumbnails and the entire "undo" history for an image) lossless optimization usually only reduces file size by 5-15%.

Lossy JPEG optimization has much more potential. Unfortunately, beyond proprietary encoders, the most common lossy JPEG optimization exclusively is to reduce the JPEG quality. This always felt like killing flies with a tank, so advances in this area would be awesome.

I've written extensively about Lossy optimization for JPEGs and PNG, and spoke about it at the Velocity conference. A post and my slides are available[2].

[1] - http://httparchive.org/trends.php

[2] - http://zoompf.com/blog/2013/05/achieving-better-image-optimi...

IvyMike 7 days ago 4 replies      
JPEG has shown amazingly good staying power. I would have assumed "JPEG is woefully old and easy to beat" but Charles Bloom did a good series of blog posts looking at it, and my (non-expert and probably hopelessly naive) takeaway is that JPEG still holds its own for a 20+ year old format.


csense 7 days ago 0 replies      
For improving general-purpose gzip / zlib compression, there is the Zopfli project [1] [2]. It also has (alpha quality) code for PNG file format; since this functionality wasn't originally included, there are also third-party projects [3].

You might be able to shave a percent or so off the download size of compressed assets.

[1] https://news.ycombinator.com/item?id=5316595

[2] https://news.ycombinator.com/item?id=5301688

[3] https://github.com/subzey/zopfli-png

derefr 7 days ago 3 replies      
Now if only they'd do a mozpng.

(For context: libpng is a "purposefully-minimal reference implementation" that avoids features such as, e.g., Animated PNG decoding. And yet libpng is the library used by Firefox, Chrome, etc., because it's the one implementation with a big standards body behind it. Yet, if Mozilla just forked libpng, their version would instantly have way more developer-eyes on it than the source...)

CookWithMe 7 days ago 1 reply      
We've been using http://www.jpegmini.com/ to compress JPGs for our apps. Worked OK, although we didn't get the enormous reductions they advertise. However 5% - 10% does still make a difference.

We've been using the desktop version. Would love to use something similar on a server, but jpegmini is overpriced for our scenario (I'll not have a dedicated AWS instance running for compressing images every second day or so). Will definitely check out this project :)

tenfingers 7 days ago 2 replies      
I noticed that optimizing JPEG images using jpegoptim (http://www.kokkonen.net/tjko/projects.html) reduces the size by a similar factor, but at the expense of decoding speed.

In fact, on a JPEG-heavy site that I was testing with FF 26, there was such a degradation in terms of responsiveness that transitions would stutter whenever a new image was decoded in the background (while preloading).

It made the effort to save 2-4% in size wasted with a worse user experience.

rwmj 7 days ago 2 replies      
Why don't they just contribute the jpgcrush-like C code back to libjpeg-turbo?

Edit: A good reason given in the reply by joshmoz below.

cjensen 7 days ago 3 replies      
JPEG-2000 exists, but decoding is still too slow to be useful.


United857 7 days ago 6 replies      
What about WebP? Isn't that intended to be a eventual replacement to JPEG?
ilaksh 7 days ago 6 replies      
If my goal were to compress say 10,000 images and I could include a dictionary or some sort of common database that the compressed data for each image would reference, could I not use a large dictionary shared by the entire catalog and therefore get much smaller file sizes?

Maybe images could be encoded with reference to a common database we share that has the most repetitive data. So perhaps 10mb, 50mb or 100mb of common bits that the compression algorithm could reference. You would build this dictionary by analyzing many many images. Same type of approach could work for video.

drawkbox 7 days ago 1 reply      
Data compression and image compression is a great way to improve the overall internet, bandwidth and speed. Maybe as important as new protocols like SPDY and js/css minification and cdn hosting of common libraries.

As long as ISPs/telcos don't go back to the days of AOL network wide compression to reduce bandwidth beyond low quality I am for this at service level like facebook/dropbox uploads. I hope this inspires more in this area. Games also get better with better textures in less space.

Still to this day, I am amazed at the small file sizes macromedia (adobe now) was able to obtain with flash/swf/asf even high quality PNGs would compress. So yes we all have lots of bandwidth now but crunching to the point of representing the same thing is a good thing. With cable company caps and other bandwidth false supply shortage that focus might resurge a bit.

jmspring 7 days ago 0 replies      
It's not clear from the article, in their "comparison of 1500 JPEG images from Wikipedia" did they just run through the entropy coding portion again or did they requantize? (I suspect they did jus the entropy coding portion, but hard to tell).

Getting better encoding by changing the quantization method can't be purely a function of file size, traditionally PSNR measurements as well as visual quality come into play.

Good to see some work in the area, I will need to check out what is new and novel.

That said, a company I worked for many moons ago came up with a method where by reorganization of coefficients post-quantization, you could easily get about 20% improvement in encoding efficiency, but the result was not JPEG compatible.

There is a lot that can be played with.

transfire 7 days ago 1 reply      
If only JPEG supported transparency.
TheZenPsycho 7 days ago 1 reply      
I have heard similar things about GIF (that there are optimisations that most encoding software does not properly take advantage of). But I haven't seen any efforts, or cutting edge software that actually follows through on that promise. The closest I've seen is gifscicle, which is a bit disappointing.

What would be great if there was some way for an animated gif's frame delays to opt-in to being interpreted correctly by browser- That is, a 0-delay really would display with no delay, and so optimisation strategies involving the splitting of image data across multiple frames could be done- and when read in by a browser, all frames would be overlaid instantly, module loading time.

What other things can be done to further optimise animated gif encoding?

1ris 7 days ago 2 replies      
I'm actually disapointed. I hoped they developed a still image format from Daala. Daala has sigificant improments such as overlapping blocks, differently sized blocks and a predictor that works not only for luma or chroma, but for both.
morganw 6 days ago 0 replies      
"support for progressive JPEGs is not universal" https://en.wikipedia.org/wiki/JPEG#JPEG_compression

e.g. the hardware decoder in the Raspberry Pihttp://forum.stmlabs.com/showthread.php?tid=12102

kllrnohj 7 days ago 3 replies      
So... version 1.0 is basically a shell script that calls libjpeg-turbo followed by jpgcrush?
Taek 6 days ago 1 reply      
I like that Mozilla is improving the existing accepted standard, but using modern (mostly patented) codec techniques we could get lossy images to under 1/2 of the current size at the same quality and decode speed. Or at a much higher quality for the same size.

The speed modern web concerns me. The standards are not moving forward. We still use HTML, CSS, Javascript, Jpeg, Gif, and PNG. Gif especially is a format where we could see similar sized/quality moving images at 1/8th the file size if we supported algorithms similar to those found in modern video.

In all of these cases, they aren't "tried and true" so much as "we've had so many problems with each that we've got a huge suite of half-hacked solutions to pretty much everything you could want to do". We haven't moved forward because we can't. WebP is a good example of a superior format that never stood a chance because front-end web technology is not flexible.

sp332 7 days ago 0 replies      
Any chance of incorporating other psy improvements, instead of just targeting SSIM?
Matrixik 7 days ago 0 replies      
When I optimize JPG or PNG I usually use ScriptJPG and ScriptPNG from http://css-ig.net/tools/

They are shell scripts running many different optimizers

SimHacker 7 days ago 0 replies      
Has somebody translated the jpeg library to JavaScript? Besides encoding and decoding jpeg, it has some useful modules that would be nice to have in the web browser.
kraken-io 7 days ago 0 replies      
Hey everyone, after some testing we have just deployed mozjpeg to our web interface at: https://kraken.io/web-interface

You can test it out by selecting the "lossless" option and uploading a jpeg. Enjoy!

callesgg 7 days ago 2 replies      
A bit to soon to start announcing the project.But I like the initiative hope the project manages to improve stuff.
davidgerard 7 days ago 0 replies      
What license are they doing this under? Hopefully they're aiming to upstream this to libjpeg.
Momentum 5 days ago 0 replies      
At first glance this seems wasteful. I do not think anyone would have problem in using Jpeg. However, in many cases, before the the invention of a thing who has had no problem using old tools!
jimbones 7 days ago 0 replies      
This is so dumb, there are a million JPEG crushers in existence but instead of advocating the use of one of these Mozilla writes their own? Why not support webp rather than dismiss it due to compatibility and waste time doing what has been done before.
How not to write an API teario.com
379 points by gebe  3 days ago   154 comments top 28
Mithaldu 3 days ago 5 replies      
Short version: http://criticker.com sells access to their API for apps. Any API account can retrieve a list of all users it registered on the site, then retrieve the cleartext password for each user it created.

There are so many WTFs in this whole situation that it's a wonder criticker has managed to keep the website online. Which is a shame, as it looks like a really useful website.

damon_c 3 days ago 2 replies      
Whenever I get that plaintext password "vibe" on a site, I like to make my password something somewhat degrading go the site; like "thisSiteSux!", but slightly more vulgar. It's not my fault if they see it.

Once after having gotten the vibe, I ended up on phone support with the site in question. At some point I was instructed to "log back in with ummmm that uhhh same password you signed up with...." I could tell that my plaintext-dar hadn't failed me that time :)

Osiris 3 days ago 5 replies      
Could someone with a solid security background provide a example of how to properly handle the issues that this API fails so badly at?

While some developers may be able to clearly identify bad practices, best practices may not always be so clear.

I'd love to know what a best practice would be for things like authentication to an API and some of the other issues brought up here.

mercurial 3 days ago 4 replies      
Somebody is trying to outshine Mt. Gox in terms of amateurism. I wouldn't be surprised to find a number of other vulnerabilities (SQL injection ?). Who the hell thinks it's OK to store non-encrypted passwords in this day and age? It's not like you don't have a major security breach every month...

Also, I like the 'handler.php' endpoint returning some kind of ugly pseudo-SOAP. Ugh.

minimaxir 3 days ago 2 replies      

Wait, did their API return a negative processing time?

PythonicAlpha 3 days ago 0 replies      
It seems to me, that many companies think, that computer science is just plainly simple. You can just put any task to a new bachelor or even student that claims he can program.

I learned the hard way, that even the creation of internal APIs of software is hard, since you can make many errors. I made many errors, after I came from university. After I made them, I knew it better, because I had to manage an other developer that had to use it and I saw what a mess it was.

External APIs are even more difficult to create, because such things as security and others have to be covered ... but still it seems many companies thing any stuff scribbled by a student in the first semester would suffice.

austinz 3 days ago 1 reply      
Wait, just to be clear - so anyone who downloads this app can trivially retrieve the username and password for all 2000+ users of the app? Did I misunderstand the article?
philjackson 3 days ago 3 replies      
Despite the warning to the company back in 2010, I'm not sure he should be publishing this. He's putting the 2000-odd users at risk by teaching us how to get their passwords and usernames like that, it's even worse if we can get at email addresses too. I would bet the majority of those registered reuse the passwords.
victorhooi 3 days ago 0 replies      
Well, it seems they took the entire API down in response:


Due to a security breach, the Criticker APIs have been taken off-line for an unspecified amount of time.

We apologize for the inconvenience.

And here I was, looking forward to actually verifying if this stuff was true...

aashishkoirala 3 days ago 1 reply      
I don't care if this comes off as trolling, but here it is: as I read through this, I thought to myself, much like the author, "how appaling!" - then I saw the word "PHP" - and went "oh, well, that figures".
SideburnsOfDoom 3 days ago 1 reply      
In case anyone is wondering, there are ways to use API keys securely, i.e. without sending them in plaintext on each request.

One common way is OAuth signed requests: http://hueniverse.com/2008/10/beginners-guide-to-oauth-part-... There should be an OAuth library for the language that you are using.

octatone2 3 days ago 0 replies      
What the, why? Who thought this matched any sane API authentication pattern?
rdegges 3 days ago 2 replies      
If anyone from the Criticker team is here on HN, I'd be happy to help you guys get this resolved -- my company Stormpath (https://stormpath.com/) provides a really secure way to handle user accounts.

I'll help you guys integrate, or -- if you prefer, I'd be more than happy to dive into your source and help figure out problems and get them resolved. We have a pretty huge team of security experts, and we're all more than happy to help.

I'm randall@stormpath.com if you'd like to chat.

d64f396930663ee 3 days ago 2 replies      
It's a felony in the US to do what the author did here, right? Not that there's any indication where they're from, I'm just curious.
jbeja 3 days ago 0 replies      
It give me chills when i read this quote:

Returns the password for a user associated with the API account. Note, this can't be used to lookup just any user's password the user must have been created by the API account.

dgarrett 3 days ago 0 replies      
From http://api.criticker.com/

> Due to a security breach, the Criticker APIs have been taken off-line for an unspecified amount of time.

> We apologize for the inconvenience.

Sami_Lehtinen 3 days ago 0 replies      
Well, bad APIs and security is the norm, unfortunately. As example DigitalOcean doesn't use signatures, and uses static API key. Would you consider that to be secure? Especially if we aknowledge all the weakness of SSL/TLS/HTTPS.https://plus.google.com/+SamiLehtinen/posts/1qFhf9fAbU6
tyrick 3 days ago 2 replies      
Raw password storage is more common than we like to believe. A simple way for webapps to communicate that raw passwords are not being stored would be convenient. A small 'NORAWPW' image in the footer perhaps. it would ease my worries, especially with cryptocurrency related webapps.
LukeB_UK 3 days ago 3 replies      
I hope that the author notified Criticker about these issues before putting them out there on the internet. Not doing so would be extremely irresponsible and is sort of screwing over the users of Cricketer.
Kiro 3 days ago 2 replies      
How should an app utilizing an API send the API key so it can't be hijacked with tcpdump?
akfanta 3 days ago 0 replies      
Despite all the plaintext password nonsense, I still can't wrap my head around the fact that there is an API call for getting passwords. What legitimate use could it possibly be?
teemo_cute 3 days ago 1 reply      
To those of your interested on the topic, leanpub has an ebook you can get for free here:


faazshift 3 days ago 1 reply      
Wow... storing passwords in plain text? Even worse, non-encrypted data transport and client accessible credentials? Those "programmers" should be shot!
famo 2 days ago 0 replies      
My opinion is that any company building an API should run at least one bug bounty on it before releasing it to the public.
agapos 3 days ago 0 replies      
I am waiting for an API for a specifically designed API-maker software named "Yo dawg".
thailehuy 3 days ago 1 reply      
I'm not sure what is worse, the bad API/app design, or the blog post publicly sharing how to abuse it...
joetech 3 days ago 0 replies      
Someone please change the title to "How not to disclose a vulnerability"
digitalpacman 3 days ago 2 replies      
This post is more about security than just APIs... dislike title. Also.. I don't see how this is an issue. If the user signs up via your app... and you wanted their password. You have it. Sure it's a big deal if someone steals your key... but if you always do it over SSL, they have to steal the "phone" or the "app" that you use. And if they steal the phone... they can use things like "email reset password", because email will most likely be logged in anyway.
Python Language Features and Tricks sahandsaba.com
375 points by Bocker  4 days ago   83 comments top 16
kriro 4 days ago 5 replies      
Why are there so many negative comments? Maybe those posters are vastly underestimating how many people that just start out read HN. I think it's a pretty good post to read after something like "X in Y minutes - Python" to get a very quick grasp of what the language is like.

I'm also not ashamed to say that despite having written quite a few LOC of Python I wasn't aware of named slices for some reason and I think they can clear up some chunks of code I have produced (make it more readable)

densh 4 days ago 1 reply      
Python's unpacking is a poor man's pattern matching. I'd really love to see them extend it to support user-defined patterns like Scala's extractors or F#'s active patterns.
JeffJenkins 4 days ago 0 replies      
It's important to remember that OrderedDict keeps insertion order, it isn't an implementation of a sorted dictionary.
edwinnathaniel 4 days ago 3 replies      
I've been using Python and Ruby on and off for a couple years (largely because I haven't found the need to use it seriously day job or side projects).

One thing that strikes odd for me is how people describe Python/Ruby are way more readable than Java.

I felt that Python, while more readable than Ruby (because Python uses less symbols), still contain more nifty tricks compare to Java.

It's true that the resulting code is less code but behind that less line of code bugs might linger around because there might be plenty "intents" being hidden deep in the implementation of Python.

The Python way that is touted many times is "explicit is better than implicit" seems to correlate better with the much maligned "Java is too verbose".

Anyhow, the other day I was refreshing my Python skill and learned the default implicit methods that I can override ( those eq, gte, gt, lte, lt) and I wonder how overriding those resulted in less lines of code compare to Java overriding equals, hashCode, and implementing one Comparator method than can return -1, 0, 1 to cover the whole spectrum of gte, gt, lte, (and even equality, given the context).

I suppose everything is relative...

robinh 4 days ago 2 replies      
I have two questions.

1. I'm unfamiliar with the term 'unpacking'. Is it any different from pattern matching in, say, Haskell (but perhaps not as feature-rich)?

2. Aren't slices pretty much a staple in Python? I didn't think using them was considered a 'trick'.

lqdc13 4 days ago 2 replies      
zip to unzip a dict is a very slow approach to do it

Instead of

    mi = dict(zip(m.values(), m.keys()))

    mi = {v: k for (k, v) in m.iteritems()}

RK 4 days ago 1 reply      
Nice reference.

1.29 happened to be exactly what I was looking for:

  for subset in itertools.chain(*(itertools.combinations(a, n) for n in range(len(a) + 1)))
I spent way too much time writing a function to come up with these combinations.

analog31 4 days ago 1 reply      
Coming from a long history of languages like BASIC and Pascal, I will bookmark this tutorial. It seems to open up a lot of interesting Python features that were, quite frankly, not always easy to understand when described in plain text, but now seem pretty simple when presented as examples.

I'll also think about the "collection of simple examples" next time I want to document something.

evincarofautumn 4 days ago 0 replies      
A good reference, to be sure, but man, do I resent the term trick in programming. It implies a deception, or something clever that you wouldnt think to look for, like opening a wine bottle with a shoe. These arent tricks, theyre (largely) standard library features that you would simply expect to exist. But maybe Im underestimating the NIH effect.
overgard 4 days ago 1 reply      
This is awesome, I've been programming python for about 8 years now and a lot of these still surprised me.
yeukhon 4 days ago 2 replies      
Slice has always been a painful adventure for me. I always forget that [1:3] is not all inclusive. It's actually just range from 1 to 2.

I believe in 2.7 zip is still returning a list rather than an iterator (izip in Python 2, zip in Python 3+).

Another unappreciated stdlib is definitely functools. mock is also another awesome stdlib.

functools, collections and itertools are definitely useful to make things faster. Also check out the list of stdlib. http://docs.python.org/2/library/

mamcx 4 days ago 0 replies      
Great list, I do several mini-tutorials of python at http://runnable.com/u/mamcx. I try to pick several tricks for each theme
sebastianavina 4 days ago 1 reply      
it's amazing how much work and effort almost any of this examples would take to implement in C
liyanage 4 days ago 2 replies      
I think this is great, I've been doing Python for a while and I knew many of the features but I also learned a few new ones.

I don't understand how this one to flatten lists works:

    a = [[1, 2], [3, 4], [5, 6]]    [x for l in a for x in l]
Can somebody explain what the order of operations is here and what the variables refer to in the various stages of evaluation?

NAFV_P 4 days ago 1 reply      
I know bugger all Python, but I know negative indexing.
jkork 4 days ago 5 replies      
patterns / tricks = language deficiencies

Wake me up when Python will support tail call elimination and will get rid of GIL. For now this language is no better than PHP.

Amtrak Residency amtrak.com
355 points by danso  4 days ago   163 comments top 26
ChuckMcM 3 days ago 3 replies      
This is a cool idea, my wife and I did the cross country ride (Oakland to Washington DC) in sleeper cars and it was a lot of fun. Some great scenery and a lot of time to think. Weird things at the time were the plastic utensils in the dining car seemed a bit jarring, and of course train stations in the USA can be fairly tawdry compared to European stations.

There are lots of things that challenge rail in the US, perhaps the most obvious is private ownership of the rails themselves, as opposed to freeways which are state owned and maintained. That shifts a lot of costs on to fewer payers. It also means the rail owner's trains get priority (in this case freight) so scheduling is quite difficult to maintain. There is also a tremendous amount of bureaucracy and complexity built into the system which I've found resists even modestly determined prodding. As part of an exercise in home schooling we tried to find out what it actually cost to put in the San Jose light rail in order to compare that to what we had learned about the Northern Pacific Railroad at a wonderful museum in Sacramento. All of our efforts to get what I had assumed was just boring public data were met with suspicion and resistance. That was pretty weird.

imjk 3 days ago 3 replies      
This is really cool and a great promotional idea for Amtrak. There used to be a universally romantic notion about long-distance travel by trains that I'm sure Amtrak is trying to bring back to the forefront of Americans' minds. Check out this article by a freelance writer about her cross country trip by rail: http://www.washingtonpost.com/lifestyle/travel/riding-an-amt.... I'm sure that's the type of promotion that they're looking for.
yellowbkpk 3 days ago 1 reply      
For background, this is in response to someone on Twitter asking suggesting it: https://twitter.com/Amtrak/status/416312147551870976
pixelmonkey 3 days ago 1 reply      
The inaugural residency ("beta test") happened in February, when an NYC writer, Jessica Gross, was given a free 39-hour ride between NYC and Chicago (and back) in a sleeper cabin. She wrote about it in The Paris Review:


eLobato 3 days ago 2 replies      
I had to travel by Amtrak (forced, I lost my passport and I couldn't board a plane) from LA to NYC via Chicago once. ($230)

Not only I got to see a lot of places, but I truly accomplished more quality work than I normally do in a similar time-frame. Nearly zero distractions other than the occasional beautiful sight and the rest breaks I took, I had the chance to visit the surroundings of the major stations the train stopped at.

Perhaps it's my ability to sleep in the weirdest places, but I found the sightseer lounge car couches very comfortable. I went to bed 1hr or so after dusk, and I woke up with the morning lights. That's about 8h of sleep or so every night.

PS: Make sure to download a metric shitton of music before you do this. The sightseer car (the only place where one can truly work comfortably in the train) is usually a noisy place.

jmount 3 days ago 3 replies      
How about making the paying Amtrak experience nice instead of making a Potemkin ride? (see: http://reason.com/archives/2005/12/01/amtrak-sucks )
kudu 3 days ago 1 reply      
Rather than a free program for a limited number of people, I would be much more interested if they offered a similar program for all sorts of people at an affordable rate.
saosebastiao 3 days ago 0 replies      
I took Amtrak from Sacramento to Salt Lake City once, and by the end of the trip I certainly felt like I should be establishing residency. I guess this is one way to turn lemons into lemonade.
talos 3 days ago 4 replies      
Maybe they should focus on fixing their website so people can look up train tickets:


It's the middle of the day on Sunday. WTF.

mrgintl 3 days ago 6 replies      
read the fine print. It is not a good deal. From my friend Cate:

I would NOT advise applying, as it means essentially signing away the rights to the work you send them as a sample just by APPLYING:

"6. Grant of Rights: In submitting an Application, Applicant hereby grants Sponsor the absolute, worldwide, and irrevocable right to use, modify, publish, publicly display, distribute, and copy Applicants Application, in whole or in part, for any purpose, including, but not limited to, advertising and marketing, and to sublicense such rights to any third parties."

"Applicant grants Sponsor the absolute, worldwide, and irrevocable right to use, modify, publish, publicly display, distribute, and copy the name, image, and/or likeness of Applicant and the names of any such persons identified in the Application for any purpose, including, but not limited to, advertising and marketing. For the avoidance of doubt, ones Application will NOT be kept confidential"

"Upon Sponsor's request and without compensation, Applicant agrees to sign any additional documentation that Sponsor may require so as to effect, perfect or record the preceding grant of rights"

heydenberk 3 days ago 1 reply      
The brilliant thing is not the nature of the program, but the timing. Americans are driving less and less, for a lot of reasons, but in my opinion the desire to use mobile devices in idle time is paramount.
nether 3 days ago 2 replies      
Stunning photo of the California Zephyr line, Chicago - San Francisco: http://upload.wikimedia.org/wikipedia/commons/f/f6/Amtrak_Ca...
conorh 3 days ago 0 replies      
This is a great idea! I traveled on Amtrak a few years ago from NYC to New Orleans (30 hours) with my wife and young daughter and had a great time - it just a pleasant way spend some time, talking, reading, thinking. During the day we set up a little play area for my daughter in our sleeper car and she loved watching everything go by. We were by far the youngest in that section and we often sat with retired folks at meal times (and had some great conversations).
tomphoolery 3 days ago 3 replies      
Although it was impossible to get important work done over a VPN over Amtrak's Wi-Fi (I really need VPN access for my job), it was still a fun journey from Charlotte to Philadelphia on my way home from a new years party. I worked from home that day, and while I was mostly incommunicado I could still get a lot of code work done on my own machine that I'd been putting off.

I would definitely do this.

MichaelTieso 3 days ago 0 replies      
I for one am super excited for Amtrak and what this will mean for the travel industry. As a travel blogger that has been in the industry for a long time, I've worked with several brands that have no idea what to do with "new media". This is setting a fantastic example for other brands that will hopefully catch on.
chetanahuja 3 days ago 1 reply      
"Applications will be accepted on a rolling basis" Hah... Good one.
100k 3 days ago 1 reply      
Awesome idea. I wish coding counted. :)
danielsiders 3 days ago 0 replies      
There are apparently serious strings attached[1]


j2kun 3 days ago 0 replies      
As a millennial, I recently discovered the sleeper-car Amtrak experience. It's by far my favorite way to travel.
rtfeldman 3 days ago 0 replies      
I'd love to do this for coding, except the onboard wifi is unusable. I tend to prefer Amtrak to any airline in basically every area except wifi, which is bizarre considering how recent a development in-flight wifi is.
Zigurd 3 days ago 0 replies      
I applied. I'll let you know how it goes.
zomgbbq 3 days ago 0 replies      
This promotion is of course targeted toward writers but how amazing would it be to have 2-5 focused days to hack while on the train? Perhaps mobile connectivity would be an issue in some locations but the upside of the focus-time would probably be greatly productive. A train hack-a-thon.
audiosampling 3 days ago 0 replies      
nayefc 3 days ago 0 replies      
The one thing Amtrak needs to be focusing on now is fixing their terrible ancient, expensive trains.
yanatan16 3 days ago 0 replies      
Why is it restricted to writers? Is it less expensive than two one-way tickets?
ataggart 3 days ago 0 replies      
Why is this a good thing?
Samsung Galaxy Back-door replicant.us
354 points by wfn  17 hours ago   81 comments top 12
flyinglizard 16 hours ago 6 replies      
My understanding is that there's simply filesystem access for the modem, through some Samsung supplied kernel driver. Replicant implies Samsung may have another backdoor in the modem itself, allowing to remotely issue commands accessing the phone's filesystem. That is pure speculation and FUD.

"Samsung Galaxy devices running proprietary Android versions come with a back-door that provides remote access to the data stored on the device.In particular, the proprietary software that is in charge of handling the communications with the modem, using the Samsung IPC protocol, implements a class of requests known as RFS commands, that allows the modem to perform remote I/O operations on the phone's storage. As the modem is running proprietary software, it is likely that it offers over-the-air remote control, that could then be used to issue the incriminated RFS messages and access the phone's file system."

Nothing substantiated there, just speculation.

Edit: This is not even interesting, and I'll explain why: normally, any component that has a kernel driver can already access all your data. The network interface in your PC can already do just the same - it has some proprietary firmware running on it, as well as a privileged OS driver that can see anything the system does; and it's connected to the internet.

Most likely, Samsung placed the driver there for providing a convenient storage area for the modem's firmware, in case it requires one (for logging, updating or whatever).

jmomo 16 hours ago 0 replies      
This reads mostly like an advert for Replicant.

"However, when Replicant is installed on the device, this back-door is not effective: Replicant does not cooperate with back-doors."

I am sure that people who run alternative ROMs/OSes would like to know if they are affected or not, but there doesn't seem to be much mention of that... except this line, which seems to indicate that at least Cyanogen IS affected:

"Alternatively, the kernel could block the incriminated RFS requests and keep a trace of them in the logs for the record. That option would work for CyanogenMod, where the incriminated proprietary blob is still used."

I've heard about Replicant before and am interested in it, but something about a self-serving warning like that turns me off.

EDIT: Okay, my bad. I thought this was like a public announcement, not just a wiki page. That makes the context different, so my comments about reading like an advert are not nearly as applicable.

akiselev 9 hours ago 0 replies      
For those who are saying that this isn't a backdoor, you can actually force execute this command on GSM phones for a few thousand dollars [1] [2].

[1] http://rangenetworks.com/products/openbts-development-kit

[2] https://www.youtube.com/watch?v=RXqQioV_bpo

fragsworth 16 hours ago 1 reply      
It's not clear to me the important issues: what data can they access (all of it?), who can access it, and under what circumstances?
higherpurpose 17 hours ago 1 reply      
So it seems our biggest worry, that the modem firmware could be backdoored was very warranted indeed. We need to push OEMs and modem makers to open source the firmware for their modems.
undoware 16 hours ago 5 replies      
I know this will not be a popular thing to hear, but the scope of the problem has convinced me that this won't end until everything is open. The only trustable stack is one that begins with open hardware and ends with creative commons content in ogg in VLC on linux.

I love open source, but.... it's going to be damn hard to turn a buck.

So, which do we want more: the ability to make money and the right to be paid for our work, or liberty and privacy?

That is one hell of a would-you-rather. Thanks, NSA, for forcing a disgusting thought experiment into the real world.

SeanLuke 14 hours ago 3 replies      
> Samsung Galaxy devices running proprietary Android versions...> Nexus S

I am confused. The Nexus S does not run a proprietary Android version.

chatman 11 hours ago 0 replies      
Free Software Foundation & Richard Stallman always warned everyone of the potential dangers of non-free software, even as drivers like these modem drivers.
exo762 4 hours ago 0 replies      
I wonder how many individuals right now are working on exploiting this potential hole to steal BTC.
caiob 16 hours ago 1 reply      
It's a Samsung. I find hard to believe that Samsung smartphone users have any concern about privacy and/or security.
atulagarwal 16 hours ago 1 reply      
In my understanding, it needs operator level access to control the modem, or is it also possible to control the model using a MITM like scenario (off the air interception). If the latter is possible, it can become all the worrisome! Any ideas?
hydralist 16 hours ago 2 replies      
How to Think farnamstreetblog.com
353 points by darklighter3  4 days ago   61 comments top 23
suprgeek 4 days ago 3 replies      
This is an excellent piece with a couple of important lessons on how to think effectively:

- The ability to think creatively

- The ability to substitute initially attractive moves with well thought out log-term effective ones.

However on the other side of the coin is what we hackers face more often - Analysis Paralysis.

Once you fall into the Analytical Mindset, there is such a thing as being too analytical. Sometimes if it feels right you just go ahead and F*ing do it.

Otherwise the fear of making a wrong decision will paralyze you into inaction - which is worse than a screw-up (usually). So it is a balancing act - think enough but not too much. Analyze but not to the point of paralysis.

Edit: Spelling

lotharbot 4 days ago 2 replies      
> Its uncomfortable to focus so intensely on what youre bad at,

When my wife was learning to play the piano, her teacher used to say "if you're going to make a mistake, make it loud so we can hear it and fix it." I make my students do math in pen for the same reason -- instead of silently making the same mistake over and over again, it gets made once, analyzed (by the students), and fixed. This bothered the students at first, but they've come around and become much more thoughtful about what they write.

> Teaching chess is really about teaching the habits that go along with thinking, Spiegel explained to me one morning when I visited her classroom. Like how to understand your mistakes and how to be more aware of your thought processes.> " I saw Spiegel trying to teach her students grit, curiosity, self-control, and optimism."

Which is really what teaching is about. I think most teachers know this, and we get a fairly healthy dose of it in professional development every week. I'm a math teacher, but the training I get during the school year isn't in math, it's in things like "accountable talk". It sounds like the teacher in this article is particularly gifted and practiced.

This isn't just for classroom teachers. The same concepts matter for parenting and in the workplace.

pdonis 4 days ago 2 replies      
Excellent quote here:

And I really believe that's why we seem to win girls' nationals sections pretty easily every year: most people wont tell teenage girls (especially the together, articulate ones) that they are lazy and the quality of their work is unacceptable. And sometimes kids need to hear that, or they have no reason to step up.

This could apply to boys as well as girls, and indeed to anyone at just about any age; sometimes we need to be told that we're not measuring up. I am reminded of Philip Greenspun's story about the venture capitalists who wrecked ArsDigita, the company he had built (from http://waxy.org/random/arsdigita/):

[F]or most of this year Chip, Peter, and Allen [the VC Board members and CEO] didn't want to listen to me. They even developed a theory for why they didn't have to listen to me: I'd hurt their feelings by criticizing their performance and capabilities; self-esteem was the most important thing in running a business; ergo, because I was injuring their self-esteem it was better if they just turned a deaf ear. I'm not sure how much time these three guys had ever spent with engineers. Chuck Vest, the president of MIT, in a private communication to some faculty, once described MIT as "a no-praise zone". My first week as an electrical engineering and computer science graduate student I asked a professor for help with a problem. He talked to me for a bit and then said "You're having trouble with this problem because you don't know anything and you're not working very hard."

thruflo 4 days ago 3 replies      
The unparalleled Think Like a Grandmaster by Alexander Kotov explains not only planning and strategy in chess but also the methodical use of time.

Assess the position. Identify the variations to consider. Evaluate each variation for a roughly equivalent period of time. Choose the strongest. Sanity check you haven't missed something. Move.

Repeat, exhaustively, without losing focus, for a multiple of hours.

Edit: the parallel with startups is clear. In chess, you can only think so far ahead. This may be one or two moves, or for a strong player it may be five or six. Either way, you have a visibility horizon but you have to move.

thaumaturgy 4 days ago 0 replies      
For people interested in brutalizing their egos and learning how to think in some of the ways this article mentioned -- longer-term, more deliberately -- I cannot strongly enough recommend learning how to play Go (http://www.britgo.org/intro/intro2.html).

It's a less popular, but probably more suitable game than chess. The individual rules are far simpler than chess, but the game play is way more complex, with lots of edge cases.

It also has a built-in handicap system that makes it possible for players of different ranks to play fair games, and the game board size can be scaled down for beginners while they learn the basics.

bluecalm 4 days ago 3 replies      
I don't like it.I think it's very important to make people comfortable with the idea that they often make mistakes and their thinking is not up to par. You need to make them comfortable thinking about their thinking and being open about it. To do that you need to point a lot of mistakes and encourage them to think about the process leading to them. That's difficult for many people (because of ego mainly).However the woman from the article doesn't achieve it in my view. Her way is to inflict guilt:

>>Spiegels face tensed. We did not bring you here so that you could spend two seconds on a move, she said with an edge in her voice

>>This is pathetic. If you continue to play like this, Im going to withdraw you from the tournament,

>> Im very, very, very upset to be seeing such a careless and thoughtless game.

I call it bullying. Why not just focus on the thought process and try to detach emotions from it, that's what the kid needs to learn in the first place:

-"How much time did you spend here?"

-"Two seconds"

-"You see, spending two seconds here led to a blunder which you suffered from for rest of the game, we need to work on your thinking habits. There is not much time for that now and as I screw up as your teacher not teaching it to you before for now I only suggest that once you decide on a move, look away from the board, try to reset your mind, sit on your hands and look at the board as freshly as possible for 15 seconds to see if you are not blundering anything".

Then you add: "Thinking habits in chess are everything, a lot of brilliant players never make progress because occasional slips and a lot of not-so-brilliant ones enjoy success because they avoid simple mistake thanks to good habits". "We are going to work on this after the tournament, there are many ways. Rest assured it's main problem chess players have, you are not alone. How well people improve in that area is going to be a difference between winning and losing so it's exciting area to focus on". Then you discuss ego, how not willing to admit your own mistakes is major road block and how it's perfectly ok to discuss mistakes but it's not ok to be happy about them or comfortable with them! You need healthy dose of ambition you need to be disappointed... but optimistic and believing you can get better. Feeling guilty won't lead there. Feeling like you are disappointing other people won't lead there (even if it won't be long term, it's dependence on external motivator - disappointing someone. At one time this someone won't be there). If you act like the woman from the article people will avoid you - nobody wants to feel guilty after all. They want to improve, work on their thinking, compete and have fun.

Her way shows characteristics of bad teachers and bad parent. I've encountered both and I think it's the best way to kill natural joy and passion quickly even if you get some quick results - it won't be long term and it won't be to maximum potential.

KiwiCoder 4 days ago 0 replies      
The article is titled 'How To Think'. It might be more aptly titled 'How To Think About Failure' (in a way that shows failures are opportunities for self improvement while success teaches us little).

Coincidentally the BBC ran a series this week 'The Value of Failure.' http://www.bbc.co.uk/programmes/b03xl7ff

The series is well worth a listen - 5 x 15 minutes.

Malarkey73 4 days ago 0 replies      
I think this falls in to the same trap as the stories earloer about the LHC Physics group that have abandoned PowerPoint for a whiteboard.That something is a good idea for a particular intellectual exercise its a good idea generally for thinking, learning,success!No, chess is a quite particular skill where you can't afford to make mistakes and the problem is bounded and can be fully rationalised. Most creative or scientific endeavors are quite different and some maybe be best learnt by experimentation trial and error.I'm sure she has a great way to teach chess but I don't think its a panacea.
yoha 4 days ago 2 replies      
By principle, I noticed something that looks like selection bias: she seems to only criticize the decisions on wrong moves without comparing them to when he did well. After all, maybe he just spent one second on the good moves because his instinct is very good?

I know in practice he should have used the available time, but I wanted to underline the one flaw of the article; the rest is pretty good.

radicaledward 4 days ago 1 reply      
My number one concern with this approach is that it creates an extreme dependence on an external locus of motivation. This seems like it would be great if you want to turn children into excellent cogs for your machine, as in the industrial age, but it could be horrible for creating pioneers and innovators.

I would welcome approaches like this when combined with something like the kind of educational freedom given at a montessori school. In this case, we're looking at a chess team. So maybe the children are participating voluntarily or maybe they aren't.

erikpukinskis 3 days ago 0 replies      
What I think makes her approach powerful is that she does BOTH of two very important things: she expects the kids do more than they are, and she only asks them to take the step right in front of them.

I see a lot of teachers/parents/bosses doing one or the other. They demand more of a kid, but fail to properly assess where the kid is, and therefore ask a little bit too much, setting the kid up for failure. Or they acknowledge where the kid is but fail to really push them to take the next step, leading to complacency. Both ultimately lead to fear.

In practice doing it right requires immense knowledge of both the subject and the student, which is what makes it hard. But when done right, people respond by growing very fast. And the experience, while sometimes exhausting, feels humane and healthy.

cbaker 4 days ago 2 replies      
I'm sympathetic to the ideas in the article, but is there any, you know, actual /data/ to support that calling kids lazy and telling them their work is unacceptable is an effective way to teach? I talk to people who study this stuff and do consulting for people like the US military (who aren't particularly known for their touchy-feely approach to training), and, as far as I can tell, this doesn't work particularly well.
j2kun 4 days ago 0 replies      
It's really difficult to get students to think hard about the feedback you give them. This article gives a great way to do that, and I think it's a large part of the success. Simply making them confront their own mistakes honestly.
chippy 3 days ago 0 replies      
I think that tests are a way for programmers to replicate some of these moves. Have the expected outcome the goal, and ensuring that the internals will always work as expected.

By taking each component separately, by developing and iterating each little bit at the time, like a chess move, a good program can be made.

Perhaps those genius programmers who don't need to write tests do this process automatically.

prestadige 4 days ago 0 replies      
>most people wont tell teenage girls [...] that they are lazy and the quality of their work is unacceptable

Yes. If a male teacher, for example, were to 'rampage' around female pupils, he'd be sacked.

startupstella 4 days ago 0 replies      
If you like this story, check out Brooklyn Castle- a really great documentary about that school and its chess program- http://www.brooklyncastle.com/
NAFV_P 4 days ago 0 replies      
> Elizabeth Spiegel, the schools chess teacher, was waiting.

At my school in the UK, we didn't have a chess teacher. I'm presuming that not every school in the US has a chess teacher.

Coincidentally, Ms Spiegel reminds me of an old English teacher of mine.

> Before she was a a full-time chess teacher, Spiegel taught an eighth-grade honors English class. She taught them the same way she taught Sebastian: ruthlessly analyzing everything.

I would consider it a shame if she had actually stopped teaching English (especially the comprehension). I often notice how my sentences are elaborated by others, even occasionally on HN.

Malarkey73 4 days ago 0 replies      
I think this falls in to the same trap as the stories earlier about the LHC Physics group that have abandoned PowerPoint for a whiteboard.That something is a good idea for a particular intellectual exercise its a good idea generally for thinking, learning,success!No, chess is a quite particular skill where you can't afford to make mistakes and the problem is bounded and can be fully rationalised. Most creative or scientific endeavors are quite different and some maybe be best learnt by experimentation trial and error.I'm sure she has a great way to teach chess but I don't think its a panacea.
mantrax 3 days ago 0 replies      
This kind of leadership / teaching is also known as the "hero / shithead" rollercoaster, a term coined by Apple and NeXT employees for what it was to work with Steve Jobs.

As the name suggest, it's just as important to strongly praise to correct moves as it is important to strongly scorn the bad moves.

We don't have emotions as some quirk of our evolutionary paths. Emotions are a tool. Like any tool, when used correctly, it produces amazing results.

dynamic99 4 days ago 1 reply      
Farnam Street is an awesome blog. I've been following it for the past year and a half or so, and it's really a collection of priceless information.
Elizer0x0309 4 days ago 0 replies      
I can't stress enough the main step to increase thinking skills and self is to introspect. Every challenge requires it to fully learn and grow from it. When solving problems for example, it is not only the solution that is important but also the very process to arrive to that solution. Aka: "Thinking" and "Meta-Thinking".
frade33 3 days ago 0 replies      
Some decisions had to be made quick. But Most of them do not have to. However all of us tend to make quick decisions even when not required.
whatevsbro 4 days ago 1 reply      
>> By the end of round three I was starting to feel like an abusive jerk and was about to give up and be fake nice instead.

Feel like an abusive jerk? -She is one. She's behaving like one of those Chinese "Tiger Moms".

>> But then in round four everyone took more than an hour and started playing well.

But then, her bullying started getting results, and she let out a sigh of relief. She wouldn't "need" to tone it down and fake niceness after all.

Fear is an efficient motivator. The kids work hard to avoid the psychological pain she'll inflict on them for not performing up to her expectations.

Why Puppet, Chef, Ansible aren't good enough domenkozar.com
323 points by iElectric2  2 days ago   201 comments top 33
jes5199 1 day ago 5 replies      
A thing that this article is hinting at that I think might be more fundamental to making good automation principles: idempotency.

Most of unix's standard set of tools (both the /bin programs and the standard C libraries) are written to make changes to state - but automation tools need to assure that you reach a certain state. Take "rm" as a trivial example - when I say `rm foo.txt`, I want the file to be gone. What if the file is already gone? Then it throws an error! You have to either wrap it in a test, which means you introduce a race condition, or use "-f" which disables other, more important, safeguards. An idempotent version of rm - `i_rm foo.txt` or `no_file_called! foo.txt` would would include that race-condition-avoiding logic internally, so you don't have to reinvent it, and bail only if anything funny happened (permission errors, filesystem errors). I does not invoke a solver to try to get around edge cases (e.g., it won't decide to remount the filesystem writeable so that it change an immutable fs...)

Puppet attempts to create idempotent actions to use as primitives, but unfortunately they're written in a weird dialect of ruby and tend to rely on a bunch of Puppet internals in poor separation-of-concern ways (disclaimer: I used to be a Puppet developer) and I think that Chef has analogous problems.

Ansible seems to be on the right track. It's still using Python scripts to wrap the non-idempotent unix primitives - but at least it's clean, reusable code.

Are package managers idempotent the way they're currently written? Yes, basically. But they have a solver, which means that when you say "install this" it might say "of course, to do that, I have to uninstall a bunch of stuff" which is dangerous. So Koar's proposal is somewhere in the right direction - since it seems like you wouldn't have to ever (?) uninstall things, but it's making some big changes to the unix filesystem to accomplish it, and then it's not clear to me how you know which versions of what libs to link to and stuff like that. There's probably smaller steps we could take today, when automating systems. Is there a "don't do anything I didn't explicitly tell you to!" flag for apt-get ?

reitzensteinm 2 days ago 2 replies      
Personally, I use Fabric for automation, and it's got all the problems the author says; if you get the machine into an unknown state, you're better off just wiping it and starting fresh.

However, with the rise of virtual machines, that's a trivial operation in many cases. Even on bare metal hardware it's not a big deal, as long as you can tolerate a box disappearing for an hour (and if you can't, your architecture is a ticking time bomb).

In fact, starting from a clean slate each time basically makes Fabric scripts a declarative description of the system state at rest... if you squint hard enough.

peterwwillis 2 days ago 7 replies      
The more complex the process you use to automate tasks, the more difficult it is to troubleshoot and maintain, and the more impossible it is to inevitably replace parts of it with a new system. https://xkcd.com/1319/ is not just a comic, it's a truism.

I am basically a Perl developer by trade, and have been building and maintaining customized Linux distributions for large clusters of enterprise machines for years. I would still rather use shell scripts to maintain it all than Perl, or Python, or Ruby, or anything else, and would rather use a system of 'stupid' shell scripts than invest more time in another complicated configuration management scheme.

Why use shell? It forces you to think simpler, and it greatly encourages you to extend existing tools rather than create your own. Even when you do create your own tools with it, they can be incredibly simple and yet work together to manage any aspect of a system at all. And of course, anyone can maintain it [especially non-developers].

As an example of how incredibly dumb it can be to reinvent the wheel, i've worked for a company that wanted a tool that could automate any task, and that anyone could use. They ended up writing a large, clunky program with a custom configuration format and lots of specific functions for specific tasks. It came to the point where if I needed to get something done I would avoid it and just write expect scripts, because expect was simpler. Could the proprietary program have been made as simple as expect? Sure! But what the hell would be the point of creating and maintaining something that is already done better in an existing ages-old tool?

That said, there are certain tasks i'd rather leave to a robust configuration management system (of which there are very few in the open source world [if any] that contain all the functionality you need in a large org). But it would be quite begrudgingly. The amount of times i've ripped out my hair trying to get the thing to do what I wanted it to do while in a time and resource crunch is not something i'd like to revisit.

geerlingguy 2 days ago 4 replies      
So, basically, replace yum, apt, etc. with a 'stateless package management system'. That seems to be the gist of the argument. Puppet, Chef and Ansible (he left out Salt and cfengine!) have little to do with the actual post, and are only mentioned briefly in the intro.

They would all still be relevant with this new packaging system.

For some reason, this came to mind: https://xkcd.com/927/

rbc 1 day ago 2 replies      
He left out Cfengine. That's a big gap. It's been around since 1993. He also focused on package management and the provisioning process. I feel like there is more to automation than that. Continuous deployment, process management and distributed scheduling come to mind. As a plus, he does seem to get that just using system images (like Amazon AMI's) can be pretty limited.

I think the complexity of automation is more a symptom of the problem space than the tools. It's just a hairy problem. Computer Science seems to largely focus on the single system. Managing "n" systems requires additional scaffolding for mutual authentication and doing file copies between different systems. It also requires the use of directory services (DNS, LDAP, etc)

I like the analogy of comparing the guitar player to a symphony orchestra. When you play the guitar alone, it's easy to improvise, because you don't need to communicate your intent to the players around you. When a symphony does a performance, there is a lot of coordination that needs to be done. Improvisation is much more difficult. That is where Domen is right on target, we can do better. Our symphony needs a better conductor.

shaggy 2 days ago 3 replies      
The linked article is about package management, not configuration management. Whoever set the title of this post didn't understand the point of the article. From the comments, people seem to confuse and conflate configuration management, job automation and package management. To run a successful infrastructure at any scale you need all three.
vidarh 2 days ago 0 replies      
Part of the solutions it to never update "live" machines, but to put everything in VMs, and maintain state outside of the VM images (shared filesystems etc), and build and deploy whole new VM images.

Doing updates of any kind to a running system is unnecessarily complex when we have all the tools to treat entire VMs/containers as build artefacts that can be tested as a unit.

onalark 2 days ago 1 reply      
If you've ever needed version X.Y of Package Z on a system, and all of its underlying dependencies, or newer versions than what your operating system supports, you know exactly what Domen is talking about.

It's a good write-up. The idea of a stateless, functional, package management system is really important in places like scientific computing, where we have many pieces of software, relatively little funding to improve the quality of the software, and still need to ensure that all components can be built and easily swapped for each other.

The HashDist developers (still in early beta: https://github.com/hashdist/hashdist ) inherited a few ideas from Nix, including the idea of prefix builds. The thing about HashDist is that you can actually install it in userspace over any UNIXy system (for now, Cygwin, OS X, and Linux), and get the exact software configuration that somebody else was using across a different architecture.

csense 1 day ago 1 reply      
I miss DOS, when there was a one-to-one correspondence between applications and filesystem directories.

Now Windows programs want to put stuff in C:\Progra~1\APPNAME, C:\Progra~2\APPNAME, C:\Users\Applic~1\APPNAME, C:\Users\Local\Roaming\Proiles\AaghThisPathIsHuge, and of course dump garbage into the Registry and your Windows directory as well. And install themselves on your OS partition without any prompting or chance to change the target. And you HAVE to do the click-through installation wizard because everything's built into an EXE using some proprietary black magic, or downloaded from some server in the cloud using keys that only the official installer has (and good luck re-installing if the company goes out of business and the cloud server shuts down). Whereas in the old days you could TYPE the batch file and enter the commands yourself manually, or copy it and make changes. And God forbid you should move anything manually -- when I copied Steam to a partition that wasn't running out of space, it demanded to revalidate, which I couldn't do because the Yahoo throwaway email I'd registered with had expired. (Fortunately nobody had taken it in the meantime and I was able to re-register it.)

I've been using Linux instead for the past years. While generally superior to Windows, its installation procedures have their own set of problems. dpkg -S firefox tells me that web browser shoves stuff in the following places:

    /etc/apport    /etc/firefox    /usr/bin    /usr/lib/firefox    /usr/lib/firefox-addons    /usr/share/applications    /usr/share/apport    /usr/share/apport/package-hooks    /usr/share/doc    /usr/share/pixmaps    /usr/share/man/man1    /usr/share/lintian/overrides
I don't mean to pick on this specific application; rather, this is totally typical behavior for many Linux packages.

Some of these directories, e.g. /usr/bin, are a real mess because EVERY application dumps its stuff there:

    $ ls /usr/bin | wc -l    1840
Much of the entire reason package managers have to exist in the first place is to try to get a handle on this complexity.

I welcome the NixOS approach, since it's probably as close as we can get to the one-directory-per-application ideal without requiring application changes.

eranation 1 day ago 1 reply      
I'm still failing to understand what solution is there out there that handles web application deployments (especially JVM ones) in an idempotent way. Including pushing the WAR file, upgrading the database across multiple nodes etc. Perhaps there are built-in solutions for Rails / Django / Node.js applications, but I couldn't find a best practice way to do this for JVM deployments. E.g. there is no "package" resource for Puppet that is a "Java Web Application" that you could just ask to be in a certain versions.

How do you guys do this for Rails apps? Django apps? is this only an issue with Java web apps?

kzahel 2 days ago 4 replies      
I think I find myself in a minority that thinks "sudo apt-get install nginx" is much simpler and who doesn't care about edge cases. If there's an edge case, something is wrong with my machine and it should die.
matlock 2 days ago 1 reply      
At least some parts of this post touch on immutable infrastructure, basically just replacing faulty systems and rebuilding them from scratch everytime you need to change it. Relatively easy with AWS and Packer (or other cloud providers) and super powerful. I've written about this a while ago on our blog: http://blog.codeship.io/2013/09/06/the-codeship-workflow-par...
zobzu 1 day ago 0 replies      
deterministic builds? pdebuild. mock. this exists since practically forever.

as far as the "stateless" thing, this could have been explained in a far simple manner IMO.

1) No library deps:

"all system packages are installed in /mystuff/version/ with all their libs, then symlinked to /usr/bin so that we have no dependencies" (that's not new either but it never took off on linux)

2) fewer config deps"only 4 variables can change the state of a config mgmt system's module, those are used to know if a daemon should restart for example"

So yeah. it's actually not stateless. And hey, stateless is not necessarily better. It's just less complicated (and potentially less flexible for the config mgmt part).

Might be why the author took so long to explain it without being too clear.

manish_gill 2 days ago 5 replies      
Anyone have a good introductory article about these tools (and others like Vagrant etc)? I keep hearing about them, but so far, have been managing a single VPS fine with ssh+git, with supervisord thrown in. Am I missing out by not using these?
bdcravens 1 day ago 0 replies      
I've been playing with Rubber for a Rails app. It's nowhere near as capable as Chef, but for the needs of most Rails apps deploying multiple servers and services to AWS, it's extremely capable. I'd put it somewhere between Chef and Heroku as far as being declarative and being magical.
Goladus 1 day ago 0 replies      
This looks really interesting but I don't see it as a magic bullet for configuration management. There seem to be a lot of advantages on the package management side but configuration management is a lot more than that.

Generally the whole point of a configuration file is to allow administrative users to the change the behavior of the application. Treating the configuration file as an "input" is a relatively trivial difference and doesn't really address most of the problems admins face.

mmcclellan 1 day ago 0 replies      
This is an insightful article for devops "teams", That said, a single devop resource can get a hell of a long way in a homogenous Ubuntu LTS environment, apt packaging, Ansible and Github.

I know, I know 640k will be enough for anybody, but is anybody's startup really failing because of nginx point releases?

coherentpony 1 day ago 1 reply      
Should one really be setting LD_LIBRARY_PATH like that? I thought the preferred way to deal with library search at run time was to rpath it in at compile time.
bqe 1 day ago 1 reply      
This is why I'm building Squadron[1]. It has atomic releases, rollback, built-in tests, and all without needing to program in a DSL.

It's in private beta right now, but if you're curious, let me know and I'll hook you up.

[1]: http://www.gosquadron.com

gulfie 1 day ago 0 replies      

(speaking from second hand knowledge) They don't go into much of the really interesting detail in the paper. The awesome part of all of that was that everything an application required to function was under it's own tree, you never had any question of providence, or if the shared libraries would work right on the given release of the OS you might be using. And it worked from any node on the global network. This problem has been solved, most people didn't get the memo.

asuffield 2 days ago 1 reply      
How does this system handle shared libraries and security updates to common components?

This is not a new idea - the "application directory" dates back to riscos as far as I'm aware. It's been carefully examined many times over the decades, and hasn't been widely adopted because it leads to massive duplication of dependencies, everything in the system has to be changed to be aware of it, and there are less painful ways to solve or avoid the same problems.

mariusmg 1 day ago 1 reply      
On Windows i use Boxstarter or a simple powershell script that invokes Chocolatey (must be already installed).

I had a look at Puppet/Chef.......wow those really look complicated for something that should really be simple.

KaiserPro 1 day ago 1 reply      
This isn't stateless, the state has been moved from the package manager/filesystem to a string held in the *INCLUDE.

This is nasty.

greatsuccess 1 day ago 1 reply      
Another "functional languages make everything better", load of crap.
dschiptsov 1 day ago 0 replies      
What problem does it solve besides "I am so clever and just learnt the word 'nondeterministic'?"

I would suggest another blog post about monadic (you know, type checked, guaranteed safe) packages (uniques sets of pathnames), statically linked, each file in a unique cryptohashed read-only mounted directory, sorry, volume. Under unique Docker instance, of course, with its own monolithic kernel, cryptohashed and read only.

Oh, Docker is a user space crap? No problem, we could run multiple Xens with unique ids.

kaivi 2 days ago 2 replies      
Talking about automating apt-get, yum and the like, is there a way to cache frequently downloaded packages on developer machine in the same local network?

For instance, I have a bunch of disposable VMs, and I don't want them to download the same gigabytes every time I run init-deploy-test.

renox 2 days ago 2 replies      
His example of replacing the database (stateful) by the network(stateless) for email checking is poor: it makes the implicit supposition that the network is as reliable as the database is..What happen when one email is lost?
lewaldman 1 day ago 0 replies      
Were would be Salt on that bag (http://www.saltstack.com/)?
telmich 1 day ago 0 replies      
Has anyone reading this article checked out cdist?

I like it very much, you can guess why...

syongar 2 days ago 3 replies      
State is the entire value and utility of a computer.
contingencies 1 day ago 0 replies      
Inspired by this post (by a fellow Gentoo user, no less!) I finally published my extended response on the same theme, which has been written over some months: https://news.ycombinator.com/item?id=7384393
leftrightupdown 1 day ago 0 replies      
hey, i noticed this on HN so just to share my thoughts. How about incorporating it a bit more simple, just pushing commands with some checks like these guys do? It is a bit more low-level but automation comes only once and should be easier to change. Here is video from their site http://www.youtube.com/watch?v=FBQAhsDeM-s
liveoneggs 2 days ago 1 reply      
author has a shallow or non-existent understanding of making pkgs for an operating system, doing system's administration, or the automation tools mentioned.
Please reconsider the Boolean evaluation of midnight python.org
318 points by rivert  7 days ago   207 comments top 30
tomchristie 6 days ago 3 replies      
So ignoring the hype, here's the outcome-to-date...

The ticket was reconsidered, reopened and classified as a bug.http://bugs.python.org/msg212771

Nick Coghlan's dissection of the issue here: https://mail.python.org/pipermail/python-ideas/2014-March/02... is pretty much perfect - wonderful piece of technical writing!

Donald Stufft has expressed an interest in making the patch for this happen, and assuming all goes as planned this usage will raise a deprecation warning in 3.5 and be fully fixed in 3.6.

News in brief: User raises issue. Issue gets resolved.

clarkevans 6 days ago 9 replies      
INADA Naoki's argument [1] is succinct and insightful.

  I feel zero value of non abelian group should not mean  False in bool context.  () + () == ()  "" + "" == ""  0 + 0 == 0  timedelta() + timedelta() == timedelta()  time() + time() => TypeError
[1] https://mail.python.org/pipermail/python-ideas/2014-March/02...

nbouscal 6 days ago 6 replies      
If I understand the argument there correctly, the responder is saying: Nobody should ever use this functionality, instead they should always check that the date is not None. So, we should leave this broken, because we don't want to break backwards-compatibility with that class of applications that nobody should ever write.

That philosophy, taken to its logical conclusion, results in everything being broken forever.

colanderman 6 days ago 10 replies      
I've never seen a good argument for anything beside "false" to be considered false. Likewise for "true". Keystrokes are not a commodity for most coders, and compilers are not dumb; just be explicit and write "!= 0" or whatever.

(And 0 == False, "" != False, but both 0 and "" are considered false? C'mon Python, that's borderline JavaScript territory.)

unoti 7 days ago 1 reply      
I just got bit by this a few days ago. I was creating an event scheduling system that uses either repeating entries with a datetime.time, or one time entries with a datetime.datetime. I had code that said "if start_time" to see which it was, and discovered later that midnight evaluates to false. It's not the best idea.
ggchappell 6 days ago 1 reply      
Ignoring Python for a bit and thinking as a designer of some hypothetical future language: there is a nice rule given here for evaluation in a Boolean context. I wonder whether it should be taken as a general guideline for future languages.

The rule, in its entirety, is this:

- Booleans are falsy when false.

- Numbers are falsy when zero.

- Containers are falsy when empty.

- None is always falsy.

- No other type of value is ever falsy.

I can think of two ways we might possibly want to alter the rule.

The first is to expand the idea of number to include arbitrary groups (or monoids?), with the identity element being falsy. So, for example, a matrix with all entries zero might be falsy. Or a 3-D transformation might be falsy if it does not move anything.

The second is one I have encountered in C++. There, an I/O stream is falsy if it is in an error state. This makes error checking easy; there is one less member-function name to remember. We might expand this idea to include things like Python's urllib, or any object that wraps a connection or stream of some kind.

EDIT: OTOH, there is the Haskell philosophy, where the only thing that can be evaluated in a Boolean context is a Bool, so the only falsy thing is False.

EDIT 2: The comment by clarkevans (quoting a message from INADA Naoki) already partially addressed the above group idea: "I feel zero value of non abelian group should not mean False in bool context."

hyperpape 6 days ago 3 replies      
James Coglan recently pointed out that all of Python's falsy values are the additive identity of some type. Midnight fits the mold.

This results in some weird results from an intuitive perspective, but is very principled and elegant in other ways.

My one objection was that I don't know how None fits in.

wzdd 6 days ago 2 replies      
Lots of Python objects are falsey: empty lists, empty strings, etc. So it's never a good idea to write "if <thing>" when you mean "if <thing> is not None".

This is pretty well-known, I thought.

spacemanmatt 6 days ago 1 reply      
I think he understates the most powerful part of his argument.

Midnight is a value, not a special value. There is no reason why it or any other valid time should be falsey on a daily cycle.

Nanzikambe 6 days ago 2 replies      
Whilst reading that thread, I stumbled accross:

  "goto fail" is a well-known error handling mechanism in open source   software, widely reputed for its robusteness:    http://opensource.apple.com/source/Security/Security-55471/libsecurity_ssl/lib/sslKeyExchange.c    https://www.gitorious.org/gnutls/gnutls/source/6aa26f78150ccbdf0aec1878a41c17c41d358a3b:lib/x509/verify.c    I believe Python needs to add support for this superior paradigm.    It would involve a new keyword "fail" and some means of goto'ing to it.   I suggest "raise to fail":    if (some_error):     raise to fail    fail:        <error handling code>    Unless there are many objections, this fantastic idea might be submitted   in a (short) PEP somewhere around the beginning of next month.    There is some obvious overlap with the rejected "goto PEP" (PEP 3163)   and the Python 2.3 goto module. However, the superiority of goto fail as   error generation and error handling paradigm has since then been   thoroughly proven.

dec0dedab0de 7 days ago 2 replies      
Off the top of my head I can't think of a reason to check if a date exists, but I would certainly expect midnight to be truthy if I found a reason.
delinka 6 days ago 3 replies      
Not being a Pythonista, I have the following questions:

1) Is there a (native or custom) date type in Python? Is it an object?

2) Midnight when? Today? This date last year? Sure there's a "zero value" for dates - it's the epoch for whichever platform or library you're using.

3) Why in would anyone call it a "date" if it's really a time?

Maybe I'm getting off into the philosophical decisions of the reptile wranglers, but this particular debate sounds a lot like someone made a decision long ago that had ramifications further than expected and now the justification is engrained, things are built on it, and no one's willing to make the 'correction.'

josephlord 6 days ago 1 reply      
I think the interesting part is what is revealed about Python and the difference with something like Ruby.

Python is stable[0] and places a high degree of importance on backwards compatibility.

This behaviour is well documented (and called out for particular note). This reinforces that it is (a) official and (b) not a bug because it is the documented behaviour.

On the other hand Ruby (and most Ruby libraries) seem both less concerned with backwards compatibility, have less thorough documentation[1] but are more willing to change and improve.

There isn't a right and a wrong between these approaches although for most things I think I would prefer something between the two. I think I generally prefer Python in terms of syntax (Ruby is a bit too flexible with too many ways to do things for my taste) but I do wonder if Python will be left a little behind.

[0] Python 2/3 transition is a single big deliberate change.

[1] I have an open Rails issue that I don't know if is a bug or not because there isn't documentation that is sufficient to compare the behaviour with so it is a case of what feels right/wrong: https://github.com/rails/rails/issues/6659

pistle 6 days ago 0 replies      
Midnight UTC is zero's all the way down. Seems false to me, but I'm from the land of C. This seems to be in line with some low level hardware or common assembly practice across many languages.

Everyone is talking higher echelons of consideration, but what effect is there on generated byte code or in fitting within the virtual machine's tight pants?

nas 7 days ago 3 replies      
While I agree this is surprising behavior and I wouldn't design an API this way, it is documented behavior. From the docs:

"in Boolean contexts, a time object is considered to be true if and only if, after converting it to minutes and subtracting utcoffset() (or 0 if thats None), the result is non-zero"

Changing at this point would possibly break code that relied on documented library behavior. That's not a responsible thing to do.

Ideka 6 days ago 0 replies      
This kind of crap is exactly the reason why I don't like doing just "if var:" unless var is guaranteed to be a boolean.
abvdasker 6 days ago 0 replies      
On the plus side, Boolean Value: Midnight would make a great CS-themed action movie title.
bouk 6 days ago 2 replies      
Python has weird ideas about comparisons, I'm pretty sure it's the only language where this is possible: https://eval.in/113749
eq- 6 days ago 0 replies      
The only reason for midnight being a falsy value that I can think of is that someone thought that all objects should provide some functionality for __nonzero__/__bool__.

It was a bad idea.

dools 6 days ago 0 replies      
This is freakishly similar to the discussion on a PHP bug I submitted in 2006:


njharman 6 days ago 1 reply      
Why would anyone evaluate dates in a boolean context? They are (should be) always True.
einhverfr 6 days ago 0 replies      
joelthelion 6 days ago 0 replies      
This is how languages die. I wasn't aware that Python had become such a bureaucracy.

The current behavior is insane - just fix it! No need for days of discussion on the mailing list or three-point non regression plans.

mark-r 6 days ago 0 replies      
In every other language I've used, a time value of 0 is used when a datetime only contains a date and doesn't have a specific time. The existing behavior would make sense in that context. I know Python also has a separate date object, are the two interchangeable enough that you could mix and match without problems?
Robadob 6 days ago 0 replies      
I came across a similar issue when using rails the other day, where I gave my model a boolean field that had presence validation. The presence validation of the boolean field fails if the bool is set to false, had me confused for a while, but It wasn't a big enough issue for me to research/report.
mannykannot 6 days ago 0 replies      
This offers a counterexample to the simplistic notion that 'duck typing' results in programs that automagically do the right thing. The reality is that duck typing does not relieve you of the responsibility of understanding the semantics of the elements you use to construct a program from.
jfb 6 days ago 0 replies      
Creeping semi-booleans make me very uncomfortable. But what's the alternative? A-values and I-values? A "" for questions unanswerable in the type system? Just punt and let Javascriptisms take over the world?
lutusp 6 days ago 0 replies      
It seems there are two choices:

1. Before applying a numerical value to a Boolean test, ask whether it can ever be zero when that's not the intent of the test.

2. Create a new rule that forbids testing numerical values as though they're Booleans, and break nearly every program in existence.

Hmm ... wait ... I'm thinking it over.

murbard2 6 days ago 0 replies      
Deprecate datetime and introduce datetime2 with better behavior for midnight. Problem solved.
LHC Physics Center bans Powerpoint, switches to whiteboard-only forums symmetrymagazine.org
315 points by indus  5 days ago   156 comments top 25
Arjuna 5 days ago 4 replies      
Here is a perfect example: John Carmack does a great job of rocking the white-board in this wonderful presentation. He starts out with a tablet, and uses that to track his discussion points, then hits a deep-dive on the white-board at approximately 00:18:45.

I find this style absolutely engaging. Presentation software like PowerPoint has its place, but can make it all-too-easy to move through material too quickly. On the other hand, actually drawing and writing things out while discussing the topic slows things down a bit, allowing the audience to engage and understand the topic at a more learning-friendly pace. I personally find this "show me don't tell me" style of white-board presentation refreshing and conducive to my understanding of the topic.

The Physics of Light and Rendering


deckiedan 5 days ago 3 replies      
Phew. Finally the reign of powerpoint begins to fade.

If non-technical speakers spent less time faffing around before the session making awful looking powerpoints, and more time learning how to speak engagingly, the world would be a much better place.

This said as an Audio/Visual Operator who has spent hundreds of hours at a sound-desk watching technically inept speakers fail to impress - no matter how flashy the animations.

The worse thing over the last few years is 'Prezi'. It's a powerpoint alternative which ostensibly makes it easier to make awesome looking graphics.

The 2 problems with it are that it's a hell of a lot harder to actually present on a second screen, so you end up having to drag windows around, and that speakers are still under the impression that because you have swooshes and zooms and text folding inside other text, suddenly it's more likely for people to find the presentation content interesting.

The trouble with BAD technology, is how do you fight it? The normal way is by competition - making better tech. But when the concept itself is wrong, but somehow culturely accepted...? Any ideas?

GuiA 5 days ago 0 replies      
On the topic, I love Tufte's "The Cognitive Style of PowerPoint": http://www.edwardtufte.com/tufte/powerpoint
yeukhon 5 days ago 2 replies      
I can see why scientists like whiteboard. In the old days, if you watch old clips from the 30s, 40s you would see scientists talking to their fellow peer with chalk and cardboard. They could start by saying "okay so we know this gas law from 1800s and then we saw this new behavior and we started investigating blah blah and then we came up with this new equation and here is the proof blah blah." That was the old days. Whiteboard worked fine.

But was it fine? If you are delivering to five people, probably. What about 10, 20, 30, 100, 300?

These are the things to consider when giving a presentation:

1. your target audience

2. time constraint

3. technology and tools available

4. scope of your presentation (is this a lecture, a short 15-minute progress report, or a workshop)

Without slides, the participants go further off-script, with more interaction and curiosity, says Andrew Askew, an assistant professor of physics at Florida State University and a co-organizer of the forum. We wanted to draw out the importance of the audience.

You see, if you are giving a two-hour workshop to a small group of scientists which everyone knows each other, the discussion can become interesting. But if you are giving a 30-minute workshop, a 30-minute talk to a larger group of people, whiteboard-free-style presentation breaks down.

The main problem is that only a handful of people will fully comprehend what the speaker is up to regardless of which method. Some people are slower at picking up new ideas. It could be experience, language barrier (and sometimes it's the speaker's accent) or misunderstanding. People fear of asking dumb questions in front of a large group of experts so in the end it's just an interaction of the speaker with a handful of experts. The rest will just nod and follow on.

Neither powerpoint nor whiteboard could solve the main problem entirely. But with powerpoint, one could traverse back and forth and audience does not have to suffer illegible handwriting (and in large group people could be sitting in the far back). This is something whiteboard-only discussion can't.

So if they run a small group discussion, chalkboard is fine. But if they run a large group discussion, I argue start with slides and supplement with whiteboard. Slides should be there to deliver textual information, graphical information which are hard to explain or to follow on a whiteboard.

ColinWright 5 days ago 2 replies      
Just as the determined Real Programmer can write FORTRAN programs in any language[0], the truly inept presenter can produce bad talks with any tools.

[0] http://www.ee.ryerson.ca/~elf/hack/realmen.html - see [1] for context.

[1] http://en.wikipedia.org/wiki/Real_Programmers_Don%27t_Use_Pa... - see [2] for an alternative viewpoint.

[2] http://en.wikipedia.org/wiki/The_Story_of_Mel

killerdhmo 5 days ago 2 replies      
PowerPoint isn't the enemy. Poor use of PowerPoint is the problem. Bad presenters is the problem. People switching over to white boards won't make them better presenters, now they'll be communicating poorly in a messy unshareable medium.

The solution isn't no PowerPoint. The solution is teach people how to communicate. How to present to both technical and nontechnical audience. How to write an executive summary / elevator pitch.

baby 5 days ago 2 replies      
I don't understand this. Most of my teachers use blackboards and it's really annoying to follow a presentation like that, you have to wait for the person to write, you have no slides later on to support your notes, and since you have no slides online you have to write everything they write, so you can't even listen properly to the talk.

And some stuff are just clearer on slides... I don't really see a lot of benefits in whiteboard-only lectures. Combination of whiteboard and slides are best.

I can still think of some great people who don't use slides but it's rare and a few people do it well (Gilbert Strang comes to my mind[1]).

[1]: https://www.youtube.com/watch?v=ZK3O402wf1c

captainmuon 5 days ago 1 reply      
As a particle physicist, I wholeheartedly welcome this. Our meetings, of which we tend to have 4-5 a week, are usually Powerpoint* orgies. Because of the intensly dense slides, its often hard to follow, and people don't listen to the reader but read the slides. Even worse, they think "I'll read the slides later" and work on their laptops in meetings. It's not rare to see 2/3 of a meeting work like sheep on their laptops (especially in larger meetings and talks), and only a small fraction is actually doing something talk related like viewing the slides, or doing actually urgent work. As a consequence, we have banned the use of laptops during talks in our group. What is completely normal everywhere else was a small sensation in our group, but I think everybody agreed that it is better now.

We can't realistically ban Powerpoint, since as experimentalists we have to discuss lots of graphics and plots. What we did try once was to use our lab books instead. Every (PhD, Masters) student would write a summary of their week's progress in their lab books, including printed out plots, and we would project it with one of these old-fashioned book-projectors. It was nice because you could also go back and look at the details in the lab book, and it would give you an incentive to keep your books correctly. Unfortunately, it became unpractical as our group grew, and also because we have a lot of collaborators from other groups who are connected via video.


* Or Libreoffice, Keynote or Latex Beamer

lqdc13 5 days ago 2 replies      
I prefer Powerpoint over white/blackboard because:

1. People make mistakes on the whiteboard

2. You can't save it and review later

3. Even if you write everything down, it would still be less information than what someone could add in the Powerpoint

4. Powerpoint is much more legible

5. It is easier to go at your own pace during and after the presentation if someone is using a Powerpoint. If someone is using a white/blackboard they are going to erase the last part very quickly after they finished writing it down.

coherentpony 5 days ago 2 replies      
This is dumb; my handwriting sucks. I'd hate to give a hand-written talk.
mastermojo 5 days ago 0 replies      
I've heard that writing equations on a whiteboard paces the talk and give the audience time to digest. With a slideshow most presenters will go at a pace comfortable for them, but that typically ends up being too fast for the audience.
ThePhysicist 5 days ago 0 replies      
Now that's a great experiment! I think the use of Powerpoint is useful and mandated under certain circumstances (e.g. if you want to show experimental data), but when discussing a concept with your peers, working on a whiteboard is better for various reasons:

1. It forces you to think more about what you want to say and how you're going to write it down beforehand.

2. It sets a uniform pace for your presentation (writing stuff down is harder than advancing slides)

3. It lets your audience follow the train of thought that lead you to the results your presenting and allows your content to unfold before their eyes.

4. It invites participation and allows for easy modification and adaption of your content during your presentation (try that with Powerpoint).

That said, structuring a good whiteboard talk/presentation is hard work too and I've seen many people (including professors) fail at it.

devindotcom 5 days ago 1 reply      
I don't mean to be a naysayer, but it's not like the entire LHC international organization banned Powerpoint. This is one forum at one arm of one project at the LHC.

Don't get me wrong, I think it's great, but this is quite a small group we're talking about. I guess this is what the meetings look like:


Tomis02 5 days ago 0 replies      
Interesting fact - the usage Powerpoint-like presentations was one of the communication weaknesses that led to the Columbia shuttle disaster. A very good read about that here - http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0...

More here - http://en.wikipedia.org/wiki/Columbia_shuttle_disaster

wehadfun 5 days ago 1 reply      
Banning powerpoint is a stupid reaction to some anti-powerpoint movement. Professors trapped in a college system that does not reward actual teaching is the problem. The powerpoints are just a symptom
neurobro 5 days ago 0 replies      
I would hope they also ban whiteboards. Very difficult to see, and the markers become translucent after about 1cm of chalk-equivalent use.
aaronetz 5 days ago 0 replies      
Reminds me of the Anti-PowerPoint Party[1] (which was linked to on HN at some point). I would also like to say that I personally find whiteboard presentation much easier to follow. I taught a little bit too, but used slides, because it was easier. Maybe banning computer slides isn't such a bad idea...

[1] http://en.wikipedia.org/wiki/Anti-PowerPoint_Party

yomritoyj 5 days ago 0 replies      
Having the speaker write out things on a board also has the advantage of giving the listeners time to think through what has gone before. In my experience this leads to more interesting discussion.

I'm a teacher of economics and the only time I use slides is when I have to present a lot of data or literal text like the statements of theorems. Even in these situations I think distributing printed handouts works much better. But that involves logistics and expense.

sentenza 5 days ago 6 replies      
I'd say it makes sense for equation-heavy fields. The biophysics stuff I did during my Phd, however, worked very well with Powerpoint. I'd always have the images-and-diagrams-only presentation without text as my goal, which I usualy managed to almost-achieve.
mamcx 5 days ago 0 replies      
Somethings are better without powerpoint-like presentation, but is possible to use it correctly.

I have used the ideas behind http://www.presentationzen.com/ with good results.

Based on that, my mom setup a service to build that kind of presentations at http://www.emilypresenta.com/ the site is in spanish for now), including finding, buying the photos/icons and the provide a basic layout for the talking part.

vishaldpatel 5 days ago 0 replies      
Awesome awesome awesome! Physics classes at the LHC turned from nap-time for all to nap-time for some :D
twowo 5 days ago 0 replies      
It is probably not centred around encouraging discussion but it reminds me of a beautiful piece from Peter Norvig:http://norvig.com/Gettysburg/index.htm
mnl 4 days ago 0 replies      
Good for them, but the truth is that every analysis group at CERN uses Beamer, Keynote or even Powerpoint for the almost everyday meetings via pdfs submitted to Indico (coupled with Vidyo). There's no reasonable alternative. Another completely different scenario are lectures or theoretical talks, there it never made much sense/it's a waste of time.
rachellaw 5 days ago 0 replies      
reminds me of my old philosophy professor, he never used slides or anything. Just transparencies and "a magic lantern" hahaha -- he didn't even call'em projectors!
lifeisstillgood 5 days ago 0 replies      
well word has long since ceased to be relevant (in the code literate world) Markdown, wiki mark up or similar has taken its place (and LaTeX always was close to ending it )Now PowerPoint will join it as S5 and the like take over.

just wondering if the spreadsheet will be the only survivor

Show HN: Real-time server monitoring in your browser scoutapp.github.io
314 points by acl  2 days ago   110 comments top 29
jakejake 2 days ago 3 replies      
They said they use it on their own production servers so of course I couldn't resist... http://scoutapp.com:5555/

Really nice looking monitoring, though. I think it's fun to see the stats scrolling by.

nodesocket 2 days ago 2 replies      
For all my fellow CentOS/RHEL users here is a quick bash script for getting it running (assumes you don't have ruby 1.9 installed).

    # Install RVM and Ruby 1.9.3    curl -sSL https://get.rvm.io | bash -s stable    source /etc/profile.d/rvm.sh    rvm install 1.9.3    # Install JSON gem    gem install json    # Install Scout realtime    gem install scout_realtime    # Start Scout realtime    scout_realtime    # Punch a hole in iptables on port 5555 for Scout realtime    iptables -A INPUT -p tcp --dport 5555 -j ACCEPT    service iptables save    service iptables restart

atmosx 2 days ago 2 replies      
Can you guys add a if/else clause in sinatra and add a FreeBSD logo?[1]

I see tux in my FreeBSD server and feels weird.

[1] https://github.com/scoutapp/scout_realtime/blob/master/lib/s...

ps. My photo-editing skills suck bigtime otherwise I'd do it.

EDIT: Doesn't seem to work properly under FreeBSD-10. No data is displayed. Apparently (as expected) uses Linux ProcFS structure to get data. So FreeBSD for now is not supported, keep the icon for later :-)

benjamincburns 2 days ago 3 replies      
Did you roll your own SVG chart lib for this? If not, mind sharing which one you're using? It's very nice.

If you were to make it so I can open a socket or websocket to it (perhaps on a second, internal port) and publish whatever data I want, that'd be all kinds of nifty. That is, make it so I can just start spraying numbers at ws://myhost:5556/Really%20Awesome%20Data and with that a nice auto-scaled chart magically appears in the dashboard.

Edit: Oh, I see a github ribbon. Maybe you'll see a pull request sometime soon...

Edit 2: Anyone wondering about my original question - the charts are built using the D3 project.


sdesol 2 days ago 1 reply      
This is cool. It looks like the developers are reading the comments so I'll add a quick suggestion. Something that I found to be insanely helpful with my own product development was being able to track memory swapping.

I went to great lengths to tune my Java Virtual Machines so that they would work well in a minimum RAM environment. And being able to track swapping was critical for my decision making. Now I can run my product on a 512MB system with 1GB of swap space with no problem. Below is how I'm tracking swapping in real-time.


Since your solution is focused on capturing a period of time, you'll be able to provide a better view than I am.

With SSD becoming more common for cloud hosting, using swap space in lieu of getting more RAM will probably become more common. And before anybody points out that SSD is still significantly slower than RAM, I know. Depending on your product, using swap on SSD may be practical. I know using swap on amazon's infrastructure wasn't.

qq66 2 days ago 2 replies      
Nice. The play/pause should be one button that changes icon -- the current setup is a little confusing.
flexd 2 days ago 2 replies      
I like it, but why not use something like htop? [1]

Perhaps it's not entirely comparable, but you do not need to open any extra ports or run any extra processes.

It looks really nice though![1] https://en.wikipedia.org/wiki/Htop

jahaja 2 days ago 0 replies      
I've recently released a similar tool for Python. Definitely not as pretty but with a focus on providing a lot of details:https://github.com/Jahaja/psdash

The more the merrier! :)

tijs 2 days ago 0 replies      
I just tried out the main product and while it's easy to setup i ran into snags with the plugins right away. Both redis and postgres (the first two i tried) failed to install and it took a bit of searching to figure out they had their own dependencies. When trying to install those dependencies i ran into issues with compatibility for a fresh ruby install.

Maybe you should concentrate on fixing your own dependency issues before you start pounding on Nagios (https://scoutapp.com/info/nagios_alternative) about the exact same issue.

abimaelmartell 2 days ago 1 reply      
[2014-03-10 15:04:45] ERROR TypeError: nil can't be coerced into Fixnumserver_metrics-1.2.0/lib/server_metrics/collectors/memory.rb:81:in `+'

Getting this error under OSX

stock_toaster 2 days ago 1 reply      
Looks nice, but it slowly turns my laptop into a fireball and pegs an entire core (older laptop).
steve02 2 days ago 0 replies      
Nice, but it requires ruby :S

I been using this https://github.com/abimaelmartell/system_monitor, easy to install and dont eat too much ram :P

k3oni 2 days ago 0 replies      
This looks nice but that /s refresh it might cause issues, maybe add a setting so refresh can be set by user?

Shameless plug - If anyone is looking for a python/django alternative with refresh settings and remote access to the output data as json take a look at pyDash : https://github.com/k3oni/pydash .

Posted about it a while ago https://news.ycombinator.com/item?id=7224710 .

telot 1 day ago 1 reply      
Noob to Ruby here...any thoughts on why gem_original_require is screwing me up? Thanks for the cool looking tool!

/usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- json (LoadError)from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'from /var/lib/gems/1.8/gems/scout_realtime-1.0.1/lib/scout_realtime.rb:23from /var/lib/gems/1.8/gems/scout_realtime-1.0.1/bin/scout_realtime:4:in `load'from /var/lib/gems/1.8/gems/scout_realtime-1.0.1/bin/scout_realtime:4from /usr/local/bin/scout_realtime:19:in `load'from /usr/local/bin/scout_realtime:19

wazoox 2 days ago 0 replies      
The web page makes firefox gobbles more and more RAM until it crashes. You've found a firefox bug :) (FF 27.1 Linux).
primo44 2 days ago 0 replies      
And I should add that this thing is awesome! It wouldn't install for me unless I was root, but that might be a ruby configuration thing, since this is also the first ruby app that I've ever touched.It would be nice to have an option to have scout_realtime only listen on, so (as someone else already mentioned) we could just proxy to it with another web server and then wrap controls around that.

With my 10 minutes of poking around in the scout_realtime source and a bit of googling, I think the option would go here, in main.rb:

   server = WEBrick::HTTPServer.new(:Port => 5555, :AccessLog => [])

rootuid 2 days ago 0 replies      
keimoon 2 days ago 0 replies      
It is burning my CPU (browser side, not server side)http://i.imgur.com/NgXi4LG.pngThe author should provide configuration so it does not get data from stats.json every second.
mrcozz 2 days ago 0 replies      
I'm working on a similar project, called dtop, check it out at https://github.com/ddierickx/dtop!
primo44 2 days ago 1 reply      
Regarding "What operating systems are supported?" and the answer of "scout_realtime relies heavily on the proc file system to fetch metrics. procfs is supported on most Linux-based distributions with the exception of OSX and Debian."

procfs is available on my Debian 7 servers, so scout_realtime just installed and runs fine on the few that I've tried it on.

lcfg 2 days ago 0 replies      
Cool idea! The interface is a tad heavy (for me) though, the fans of my laptop spun up.

I noticed that by looking at the memory usage of the ssh daemon, one can determine how many people are connected with ssh. Every open connection (even if you're just idling at the login phase) adds around three to five mb to memory use. I wonder what other information might be unintentionally relayed through these metrics.

jonahx 2 days ago 0 replies      
Does this solve the same problem that new relic does? If not, what is the difference?
garthk 2 days ago 1 reply      
I'm glad to see the sparklines. I'm worried that the CPU sparklines in particular are likely to mislead due to the lack of a common vertical axis scale. I suspect Tufte might advise two graphs: one with a fixed 0100 axis scale, one "zoomed". The former would help you compare CPU history between apps, and sport a shaded background region to indicate the range of the latter.
72deluxe 2 days ago 0 replies      
Looks good. If you want to monitor network throughput on the CLI, use nload. It's great.
hartator 2 days ago 1 reply      
Anyone with a link to a live demo?
hnriot 2 days ago 0 replies      
kills the cpu on my mac with Chrome Version 34.0.1847.11 beta
Therac20 2 days ago 1 reply      
Any way of enforcing HTTPS and login/password auth?I would love to be able to use this on a set of public servers...
executive 1 day ago 0 replies      
how to view multiple servers on one screen?
wahnfrieden 2 days ago 10 replies      
Sorry to be the one posting a tangent (looks like a nice tool!), but please rewrite "for the modern man" to something more gender neutral.
Show HN: I've been making one HTML5 game per week. Here's my 10th game lessmilk.com
315 points by lessmilk  22 hours ago   144 comments top 53
sillysaurus3 21 hours ago 8 replies      
Not sure if you're looking for critique, and giving critique has sometimes been discouraged on HN, but:

It's pretty good for a week of work. Though there's a difference between being challenging and being annoying. Many of the level design elements could be classified as a "dick move." An example would be not making it clear the goal is to collect all the coins until after the player has bypassed some of them and reached the end.

In general the controls are too sluggish. It's as if triple buffering is enabled, or maybe quad buffering. If you're at a university, you should try to borrow a high speed camera and measure the time difference between when someone presses the spacebar vs when the character starts to jump. I don't know if it's a Chrome thing or what, but I fell off cliffs several times due to the input delay.

The gravity could be better. I'd recommend spending some time with Cave Story to get a feel for how to make gravity really work in the player's favor, rather than against them. In general it's a bad idea to make velocity strictly linear. Some acceleration adds to the experience and precision.

A checkpointing system would be good. I can see how most players will give up after getting mostly to the end and then dying. I think you should just restart players from the last point that they were on the ground without dying, that is, the most recent ledge that they were standing on.

It shows promise. If you're looking for feedback about how to advance as a game developer, one step would be to make sure you're not rewriting your entire game engine from scratch for each game. It's excellent that you're writing your own engines rather than trying to use other people's, so be sure to keep doing that. It's important for gamedevs to have an idea of the underlying principles and limitations, and the best way to do that is to write your own engines. I got the feeling that most of the week was spent on the engine rather than iterating on the gameplay or level design though. Teaming up with an artist or a level designer might be a good match.

fiblye 21 hours ago 3 replies      
I'm a hobby/hopefully someday profitable game developer who recently jumped on the "develop a short game in X days" bandwagon. My most recently made game was developed in 2 days [ https://play.google.com/store/apps/details?id=com.ektomarch.... ], and damn did it feel good to get something done that fast!

My current plan is to make a bite-sized game comparable to this at least once a month (it'd be a little stressful to force myself to come up with something fresh every single week) and maybe just experiment with small projects with no plans for completion in between. I also have a long-term project that I'm expecting will take ~2 years, and honestly, sometimes I feel like I've run out of ideas. Taking time away from my main project to work on these little "distractions" actually ends up helping with my main work. I spend less time idly waiting around for a good idea or solution to a persisting problem, and more time solving new, smaller problems that can later be applied somewhere else. Hell, I actually find myself actively switching between tasks every 10 minutes and ending up even more productive than I would be focusing on just one project. Also, I had no real experience with Unity before this game, and just taking a couple of days to force myself to learn it opened some doors for future big projects.

In short, work on tiny projects whenever you find yourself doing nothing. You might end up more productive or just happier knowing what you're capable of.

michael_nielsen 21 hours ago 1 reply      
Here's an article with lots of interesting background info from the same author (lessmilk), "What I learned while doing my 'one game per week' challenge":


Worth it especially for the following superb link:


WesleyJohnson 21 hours ago 0 replies      
I've been following your progress with these games and there are several I really like, most of which is I think #5 with the cube jumping. I can't sing you enough praise on posting these as inspiration to others and sticking with the one game per week timeline. The motivation alone is inspiring.

That said, this one is frustrating. I feel the keys are off. I like to run before I jump and in some areas, it's not possible because the responsiveness of the keys just isn't there. It takes too long for my guy to jump after I press up. Also, it seems like you're possibly doing your left/right code in a way that gives left priority. If I press both left and right, my guy goes left. I feel like he should stay stationary in that situation.

Other than that, I like the gameplay, tutorial text that's part of the scene, the sounds and music. I really like the cube slanting to show motion, too. Clever.

Keep it up!

Brashman 20 hours ago 2 replies      
I'm slightly afraid of clicking on game links on HN after 2048.
MichaelTieso 21 hours ago 1 reply      
How experienced were you before you started? Have you coded before?Any reason you're not open sourcing your code? Seems like it'd be a great idea considering you're still learning and could use some feedback from others.Great job btw. Never heard of Phaser but now looking into it.
tantalor 21 hours ago 2 replies      
A significant number of devices on the web don't have keyboards. They use touch as their primary interface. Please support touch devices.
Dogamondo 2 hours ago 0 replies      
I may have bagged this game for being way too simple a few weeks ago. But after Flappy Bird, the genre seems to live on. It's annoyingly great. Keep up the good work!
lessmilk 22 hours ago 6 replies      
OP here. Let me know if you have any questions about my project.
keerthiko 17 hours ago 0 replies      
I'm impressed with the general quality:time-spent ratio.

I think the basic level design and polish steps are fairly well done. Even the sluggish controls (as a number of people have pointed out) feel more limited by lack of engineering time than your understanding of what feels good, and I would guess that through some rigorous testing and closer scrutiny of your code that could easily be fixed.

However, I think you exhibit some game design anti-patterns. I am referencing Zileas' List of Game Design Anti-Patterns[1], that I think game designers should reference more often until it's a quick checklist whenever they design any game.

Most notably I think Dark Blue succumbs to "False Choice" and "Or We Could the Player."

[1] http://forums.na.leagueoflegends.com/board/showthread.php?t=...

canadev 8 hours ago 0 replies      
That was awesome. I finished it. I died 92 times.

The jumping mechanics reminded me of "air control" in strafe jumping in Quake 2. Can you tell I haven't played games much lately?

Love the music. I have had the tab opened for a few minutes now that I'm done playing just listening to it loop through.

jakobe 18 hours ago 0 replies      
This is great! It's incredibly awesome how much you can take away from Mario and still have a fun game. I love how the rectangle slants to show that you are moving. The game feels really responsive! (Macbook Air, Safari 7.0.2)

The progression in difficulty seems just right. This is exactly what casual gaming should be like.

Rusky 16 hours ago 0 replies      
Pretty good game for a week. Most quick and/or beginner platformers I see have a lot of glitches with collision detection and response. You pretty much nailed it.

Critique-wise, the low end of the variable jump height is a little high, and if the game lags it messes up the physics (e.g. in the first tunnel of the last level the player stayed up against the ceiling longer than usual, missing the platform).

soapdog 15 hours ago 0 replies      
This series of games is an inspiration. I decide to take another look into phaser after seeing your stuff!
eric_h 12 hours ago 0 replies      
I think these are the best set of flappy bird clones that have come out yet (except perhaps the flappy bird orbital game).

Admittedly, only a couple of them truly qualify for that title (annoyingly difficult gravity games with stupid simple controls), but I think they all adhere to the same theme - extremely simple game ideas that are nevertheless compelling.

In the Atari-NES era, technical constraints forced this style of game design upon developers, and they (well, some of them) still produced compelling games by focusing on the details of these simple interactions. There are admittedly somewhat similar constraints on this particular canvas (ahem) but I believe the tools have evolved so much that you can spend a lot more time on the mechanics, rather than fitting it into RAM (hence, 10 rather polished 8-bit style games in 10 weeks).

I think it's good to get back to basics. I played all 10 games, and I enjoyed it (though the typing game was downright cruel; it's amazing how difficult it is to read and understand a misspelled word, then type it misspelled, let alone the gibberish). Well done.

zhemao 22 hours ago 0 replies      
Nice. Reminds me of the game Thomas was Alone.
mehulkar 5 hours ago 0 replies      
May favorite part is the sound byte when you finish a level. "Yeaaah"
cyphunk 6 hours ago 0 replies      
americans love to be positive but ill just be honest: the game play sucks. a great project for hitting out code and learning but pretty brutal for actually game play and enjoyment. but keep banging away at it, im sure a hit will come out eventually.
collyw 19 hours ago 1 reply      
As a mainly backend developer, I just signed up for the book, realised it didn't contain too much, but links to the tutorials. I had a quick read. and I would say it would be more accurate to call the title "One Javascript game per week". I got a bit excited thinking you could produce that sort of game using just HTML5.

Hope I don't sound overly critical, as its a cool game and I appreciate you posting it.

jonalmeida 13 hours ago 0 replies      
After a little self-psychoanalysis I've realized that when I see "this is a hard level, you can't beat it", it makes me want to try even harder which is a neat idea to use in more games to get more people playing.
deletes 19 hours ago 1 reply      
You hit detection is off. It you make a game with pure rectangles the detection should be completely precise.
OWaz 13 hours ago 0 replies      
Have you been writing anywhere about the things you've learnt so far? The challenges with the framework you've used or anything you started to do to speed up development?
Ellipsis753 21 hours ago 0 replies      
It's a great game.Just my sort of thing really and I really like the music.It only took a couple of minutes to beat though so it's a little short. Then again for a weeks work it's fine.Keep up the good work.
gschier 9 hours ago 0 replies      
That's so good for a day. I made a similar game a while ago that took a few weeks! http://platformpixels.com/

I would be interested to know what you used for collision detection (If anything).

TrainedMonkey 16 hours ago 0 replies      
Beat it. Last level is pretty hard. In order to make important jumps register press jump first, then start moving.
atom-morgan 21 hours ago 0 replies      
Thanks a lot for posting this as well as one of your posts I saw a few weeks ago.

Because of your website I tried making my own simple game with Phaser and found it to be very fun. For someone who'd never programmed a game before, it was interesting to see how everything comes together. Just a simple game was very fulfilling to me.

joezo 22 hours ago 1 reply      
I love the way the tutorial is part of the background, seamless!

A colleague of mine made a similar type of game a while ago, this reminded me of that.


jordan0day 18 hours ago 0 replies      
I literally LOL'd at the "yeeeeaahhh" upon level completion.
beingProgrammer 9 hours ago 0 replies      
I have been trying to write a small game. But after having seen this. Holy Cow! It's so minimally(don't know if that counts as an adjective) Awesome. Thanks for sharing.
davbryn 19 hours ago 0 replies      
It seems pretty stuttery on Safari running on my Mac, but was fun for a while - good job!

I didn't actually like the explanations throughout the first few levels: sometimes it would be nice to figure things out on your own; feels like you rob the player of the reward for completing the level when you explain it to them before letting them figure it out? Especially since they can restart pretty quickly: case in point, let them fall into the red and die early on rather than explain it?

listic 15 hours ago 0 replies      
1. What do I need to learn to start making games like this?2. Is it hard to make games that fill the browser screen?
xwowsersx 11 hours ago 0 replies      
This game is awesome. I love the "yeeah" at the end of a section.
yangcanvas 18 hours ago 0 replies      
I've seen/played a couple of your earlier games as well as this one. They all have a good look and feel and are pretty legit mini-games.

I'll also take the opportunity to plug my HTML5 game collection:


Havoc 18 hours ago 0 replies      
Clever thread title. I bet "one HTML5 game per week" made quite a few people click on it. :
stefan_kendall3 15 hours ago 0 replies      
Responsiveness of the controls needs work, but the game was just frustrating enough. I died 19 times. Not nearly as brutal as super meat boy :P
ultimatedelman 20 hours ago 0 replies      
can't beat it my ass!


:) great game. i enjoyed it! very similar to super meat boy

knackers 16 hours ago 0 replies      
Loved the 'artwork'. Simple but immediately familiar. Like some other commenters, I felt that sometimes my jumps weren't being registered.
blinkymach12 16 hours ago 0 replies      
These are excellent, well done! Thanks for both documenting your progress and taking the time to inject character into your games.
atulagarwal 17 hours ago 0 replies      
I loved the games. They aren't simply demo projects, but real, interesting & challenging games! Good game play, actually enjoyed them! :)
sauravt 22 hours ago 1 reply      
@lessmilk, I love all your games. Great Job.
meylingtaing 20 hours ago 0 replies      
Don't know if it's just me, but opening up the webpage crashes my browser. I'm using Firefox on an Ubuntu virtual machine.
pla3rhat3r 21 hours ago 0 replies      
Love the spirit of this. Good stuff. Keep building! :)
trevoragilbert 20 hours ago 0 replies      
Fun game, hooked me for longer than I'd have liked. :)

Curious why you chose HTML5?

Fasebook 18 hours ago 0 replies      
Glad to see the technology HTML5 is capable of has come so far.
cognivore 20 hours ago 1 reply      
It takes longer to load than Skyrim.
juleska 13 hours ago 0 replies      
i loved the second one xD ... it sends me back in the atari's days hehehehe, nice job man.
zakqwy 21 hours ago 0 replies      
Easy to learn, difficult to master. Great game, needs more levels.
elyrly 15 hours ago 0 replies      
Check out MelonJS to beef up the themes
joshferg 18 hours ago 0 replies      
reminds me of this game http://www.avalanchegame.org/
jtcain 12 hours ago 0 replies      
Awesome work! Keep it up!
razorsese 22 hours ago 1 reply      
Do you make any revenue from it?Or just pure hobby?
watermarkcamera 14 hours ago 0 replies      
that's very good ,if can run mobile,it's a good idea!
P4u1 18 hours ago 0 replies      
kudos man, your creativity is impressive, good work.
Ask HN: Successful one-person online businesses?
309 points by kewball  4 days ago   281 comments top 70
patio11 4 days ago 5 replies      
Even if you were to scope it just to software/SaaS product companies, there's minimally hundreds of these in the world and dozens of them have HN accounts. Most don't post on threads like this, so I feel the need to pipe up and say "This is quite doable, and done, much more than you might expect."

I run a small software company (two, technically). Products include Bingo Card Creator (http://www.bingocardcreator.com), Appointment Reminder (https://www.appointmentreminder.org), and occasional offerings for training for other software companies. I used to do consulting, too, but quit to focus on products.

I'd describe it as "modestly successful." It's the sole financial support for my wife and I. I'm the only full-time employee of the business (for a very quirky understanding of the words "full-time").

raffi 4 days ago 2 replies      
I run a business selling penetration testing software that I develop. It's completely bootstrapped. I do very little services work (I actively send this type of stuff to friend's companies). Right now, it's just me, although that's probably going to change. By most of my own definitions and the one you posted here... it's successful.

How did I get started on this? Sort of by accident.

I was working for Automattic after an acqui-hire thing. After a year there, I found that I missed working in security. I found a full-scope penetration testing gig three blocks from my apartment.

In my spare time, I started to tinker with a few ideas and released them as an open source project. Said project saw a lot of interest within the hacker community very quickly. I didn't expect this. Folks formed an opinion on it pretty quickly. Some people hate it. Others love it. Of those who know it, very few are in-between.

I left my pen testing job with a decent amount of money saved up. I didn't know exactly what I would go and do afterwards. I spent some time tinkering with Android, just for giggles.

I was very reluctant to start a business that used my "successful?" open source project. Partially because it leverages another open source project owned by another company.

I was at a conference in 2011 and someone from a US government agency asked if I was selling anything. I said no. He said that was too bad, because he had end of year money, and he liked my open source stuff. It was then that I decided to look at expanding my open source kit into a commercial product.

April will mark the two year anniversary of my first customer. My customers are well known organizations and they trust my software to assess how well they protect their networks. I'm constantly in awe of this.

cperciva 4 days ago 1 reply      
I run Tarsnap: http://www.tarsnap.com/

I got started because I wanted good backups and there were no solutions available which I was satisfied with.

gmays 4 days ago 8 replies      
I'm doing http://justaddcontent.com solo and self-funded. It turned into a bigger project that I anticipated, especially for my first product.

I started working on it full-time in October. It started as a hobby project about two years ago. It took particularly long because I have a non-technical, military background and had to teach myself to code, design, write copy, marketing, etc. It's been a fun challenge.

I still work on it 12-14hrs a day on average, but I still love it and I love the problem I'm solving. The last few months I started focusing on product again and my customers absolutely love it, which is awesome. Now I'm turning my attention back to marketing.

Like the other guys, I'm not making millions yet, but I'm 100% self-funded and in no danger of running out of money. I continue to put 100% of what I make back in the business after my essentials.

I'm not sure when I'll start hiring, but I have some pretty major plans that I'll need help executing. It's just one of those things where it'll completely change the game, but it'll also change the dynamic of the business.

dangrossman 4 days ago 6 replies      
Hey there. /raises hand.

https://www.improvely.com and https://www.w3counter.com

Five figures a month, just me, I've written about my solo business a couple times in other Ask HN threads. Ten years ago (almost to the day), in my college dorm, I was looking at the Webalizer web stats report my web host provided for my blog, and thought "I could do something much cooler than this". So I did. I had built a few educational sites and threw some ads on them for a couple years before that, but W3Counter was the first service I actually charged a subscription for, and now I make a living building and selling this stuff.

bemmu 4 days ago 4 replies      
I run http://www.candyjapan.com

It just crossed 500 paying members. I started it with my wife, but recently the shipping part is no longer done by us two manually, but by a local supermarket. In the beginning it was just an email to some previous customers asking if they might be interested in a club like this. Then a landing page and a HN post. From there it grew through blog mentions and now there is a trickle of organic traffic coming in.

Before this I had some small apps on social networks that made more money, but were much more unstable. While Candy Japan could wither away, I expect the death would be more gradual. I still have some of the older sites / apps which together are still making around $500 / month, which is a nice bonus.

Probably anyone working as a salaried programmer in the US is making a more money than I am currently, but I enjoy the freedom and the thought that there really is no upper limit. If we ever do hit 1000 members I'm planning to have a celebration :-)

ivan_ah 4 days ago 4 replies      
I run a small one-man-show publishing house: http://minireference.com. I produce math/physics textbooks for adults. I'm the author, business person, marketing person, and strategic partnerships person. Revenues are not stellar, but they keep me off the streets...

The value I provide is synthesis of a lot of educational material that exists out there into a coherent package (a book). In many ways, my work is similar to what linux distro package managers do: ensuing prerequisites are covered before the main package is installed.

I remember hearing one of the early Internet/www inventors saying the Internet will allow people to "live from the fruits of their intellectual labour." Does anyone know who this was??? With eBooks and print-on-demand this is finally possible now. I would encourage everyone with deep domain knowledge about a subject to start writing about it and publish a small book. I think "information distillation" is of great value for readers. Feel free to email me if you need help/advice with the publishing stuff.

danpat 4 days ago 4 replies      
I created:


I'm an avid cross-country skier, and traditionally daily trail reports are done by hand by the maintenance staff after they're out all night working on the trails.

I had the bright idea of putting GPS tracking devices in grooming equipment and creating the "what's been groomed" report automatically, in real-time.

It took about 4 seasons to really get it right, and there was no appreciable income for that period. Lots of lessons learned about equipment (antennas, good wiring practices in vehicles, power cleanliness in big equipment, etc), good ways to present the data, map projections, how to deal with messy data, dealing with non-technical users, cross-border shipping tarrifs, mobile-network provisioning rules, the list goes on. I did it alongside my full-time job for the first 4 years.

It's a tiny niche, and one I never expect to get all that big, but it looks like I'll be able to make it my sole income source next season.

Which is great, because it'll let me go skiing more.

ohashi 4 days ago 6 replies      
1 man startup - http://reviewsignal.com/webhosting/compare I do web hosting reviews. Not the scummy pay-for-placement stuff you see, but an actual review site. It tracks what people are saying about hosting companies on Twitter and publishes the results.

The story is told a bit here http://techcrunch.com/2012/09/25/web-hosting-reviews-are-a-c... I was just tired after 10 years of still relying exclusively on my experience and the experiences of people I knew. Figured there must be a better way and I had been working with Twitter data for thesis and saw this opportunity.

fookyong 4 days ago 4 replies      

Solo, self funded and profitable. I work on it while traveling around Asia.

Agree with patio11 there's probably way more than would speak up here. I seldom contribute to HN or the bootstrapping forums mentioned in another reply. I browse a little, but 99% of my time spent in front of the computer is spent working on product or replying to customer emails.

How I got started:

I've built SaaS apps before but they were the dreaded "solution looking for a problem" type.

Then I decided to do things strictly the Lean way. Got out of the building. Talked to customers about an idea I had. Pretty soon I discovered an adjacent problem that everyone had, that sounded fun to solve, and that I had specific domain knowledge in. I built and launched my MVP in one month, from a beach in Koh Samui. I've been traveling ever since then, spending each month in a different country.

Charged from day 1. Had paying customers from day 1.

I find changing my environment enables me to compartmentalize my work better - like I try to get major new features rolled out before I head to my next destination.

Not planning on doing this solo forever. Not ruling out hiring some help down the line and maybe a permanent office somewhere.

But for now it's pretty fun the way it is!

christiangenco 4 days ago 0 replies      
I've got three:

* Textbooks Please: a textbook search engine for college students. It's grossed ~$20k, almost all of which has been reinvested, and not paying myself that much.* dbinbox: an inbox for your dropbox for receiving files too large to email. It's got ~25k users, but has made less than $1k in donations. I need to give this one a reboot soon.* Email Tip Bot: send bitcoin with email. Launched two weeks ago and I've already got my first 200 users :D

I really enjoy the process of making these kinds of things, but I find it enormously exhausting to do the other half of marketing, SEO, publicity, etc. I'm working on getting better at SEO, but would love to find someone that likes the marketing side.

PS: http://solo.im/

lettergram 3 days ago 0 replies      
I don't know exactly how you define "successful online business," but I am currently a university student making $500 - $2000 a month at about 5 to 10 hours a week.

Basically, there is a market for vintage computer hardware, so I post some adds offering to take away old office items they can't just throw away. Such as old keyboards, terminals, etc. and they pay me a nominal fee ($1 - $5 per item depending) to rid them of their "trash". I then resell those items after cleaning them up a bit for extremely high profit margins $35 - $120 for 20 minutes of work (since I was payed to take away the trash).

One of the things I did was sold Model M keyboards which I made USB compatible: http://austingwalters.com/keyboards/

Another way I make money is by tutoring or helping out with programming, I use to help out local people, but I have since switched over to Google Helpouts. Usually, it's just explaining some algorithms and writing some C code. Pretty easy, no real upkeep, and I can set what ever hours I want.

bdunn 4 days ago 0 replies      
My company consists of just me, and is fairly profitable. And to reiterate patio11, there are quite a few of us. I detailed income and how much I contribute monthly to each of my income streams here: http://planscope.io/blog/how-i-changed-the-world-in-2013/
stevesearer 4 days ago 4 replies      
I run http://officesnapshots.com which publishes photos of office design projects from around the world.

I started it in 2007 as a gin side project to teaching history. I'm no longer teaching and it is the majority of my income.

itengelhardt 4 days ago 1 reply      
I don't know whether HN is the right place to ask this question. The crowd for this frequents either http://discuss.bootstrapped.fm or http://academy.micropreneur.com

There's also a number of podcasts (notably "Startups for the Rest of Us" and "Bootstrapped With Kids")

mattront 4 days ago 6 replies      
Just launched Pinegrow Web Designer (http://pinegrow.com) two months ago. The company is actually run by my wife and me, but I do all the work with Pinegrow while she is taking care of our other projects.

Pinegrow has been paying most of our bills since launch and I have a lot of expansions in the pipeline: full support for Foundation alongside Bootstrap, developer edition that'll work with templates, a similar app for designing emails...

Osiris 4 days ago 3 replies      
I sell a laptop battery meter (http://batterybarpro.com). It's not income replacing; it makes about $1,000 per month, but it's been crucial in saving enough for down payments one two houses.

I've tried to get the revenue numbers up, but I've never been able to break a $2,000 month.

spiritplumber 4 days ago 3 replies      
http://www.robots-everywhere.com I used to employ two people, but I automated them away. I am successful in the sense that I have clear title to my home at age 33, if that counts.
paulhauggis 4 days ago 3 replies      
You can have a successful online business with one-person, but there will always be a maximum to the amount of money you can make and it does not scale well.

I ran a 1-person company for the past 3 years (B2B SAAS). I now have 2 other partners in the company to pick up the slack and we will be hiring a few employees next month.

It's difficult to: maintain your current business (IE: new features, bug fixes, customer service) while at the same time, trying to get new business (marketing, new ideas, planning) and also have any kind of life outside the business.

You also won't be able to go on any kind of real vacation and time-off is challenging. I didn't think about these things at 20, but at 30, it's starting to become more and more important.

Ecio78 4 days ago 0 replies      
I'm not sure he is particularly active on HN but Rob Walling[1] is a solo entrepreneur managing at least a couple of Saas products: Hittail[2] (which he bought and then grow) and Drip[3]. He also conducts a podcast on Saas[4] and also organises a conference for self-funded startups[5]. In the past Patio11 spoke there too

[1] http://www.softwarebyrob.com/[2] http://www.hittail.com/[3] https://www.getdrip.com/[4] http://www.startupsfortherestofus.com/[5] http://www.microconf.com/[3]

gblanchette 4 days ago 0 replies      
Hello from Quebec,I am on Hacker News, as a big reader not commenting. My online business, is profitable, it make all my income, an ok salary for me :-). I have read the book '4 hours week' and work only few hours a week. The business start with a shareware game (1990), quit my day job (2002) to create more sharewares, fail at the first one (the password/unlock was hack the first week). So I come with the idea of having a client/server game (2004) (harder to hack). That work enough to make a small salary. Then I build another client/server game (2011), almost the same as the first one but localized in 3 languages. Then I received a lawyer letter (2011) to close both of my online sites. I did make some modifications, after 2 years they leaves me alone... Being afraid of closing, I was looking for a plan B (2012), I works hard on web sites that have a lot of visitors to make money with AdWords, it works. Now half of the revenue come from the 2 online games, and the other half come from AdWords. The shareware, online games and web sites are all related to a very popular crossword game.
zrail 4 days ago 1 reply      
I wrote a book[1] that generates about $2k of revenue per month. Not quite your definition of success, but it's given me a taste. I'm now in the beta testing process for my next thing[2].

[1]: https://www.petekeen.net/mastering-modern-payments

[2]: http://www.pagesnap.io

danoc 4 days ago 0 replies      
I didn't create it, but Pinboard (https://pinboard.in/) is a great example of a successful one person business.

Founder Maciej Cegowski wrote about it here:https://static.pinboard.in/xoxo_talk_thoreau.htm

reboog711 3 days ago 1 reply      
Since you didn't specify the type of business ( http://www.dot-com-it.com) ; I run a consulting business as a programmer that is just me. In the 'early' days (I started in 1999) I sort of fell into it. I was burnt out and walked out of a job.

Networking got me 2 consulting client, and things just ballooned from there. I fell into it accidentally and learned a lot of hard lessons along the way.

In the early days I did a lot of fixed fee projects for small businesses. On some projects I made tons of income; and on other projects I put in a lot of unpaid time [due to me incorrectly bidding the project and/or improperly handling change requests.

I tried my hands at podcasting with a sponsorships model ( http://www.theflexshow.com ). That made ~$30K throughout its' life. Even though I had a huge audience for the size of the market, no one was trying to sell anything to that market. I make ~$30K or so throughout its run and gave away a bunch of sponsorship in exchange for other services. Not bad; but not enough to pay the bills.

I took the profits from the consulting business and pumped them into a product business selling advanced components to Flex developers ( http://www.flextras.com ). I did this full time, stopping all consulting. The business was, in essence, a failure. It generated $10K per year which is a nice side income; but not a "pay your bills income. The business was slowly growing, until some Adobe PR mishaps killed executive confidence in the Flash Player as an application development platform; which killed our sales. It was generating about $10K per year and was growing. But, that is not enough to pay the bills. I shut it down and open sourced all the code.

Now; I'm back to consulting, however the bulk of my clients right now are hourly as opposed to fixed fee. This is very profitable because many clients just keep renewing contracts and giving me work. However, it is the least bit satisfying because there is no defined end point and it feels like I'm just churning my wheels to kill time. Sometimes it feels like clients are creating just enough work to keep me busy so that I'll be there when they really need me.

Despite having multiple ongoing clients; it doesn't feel like I'm a business owner because they are paying for my time, explicitly. That isn't scalable in any way.

I'm prepping to launch a book under the Nathan Barry's "Authority" model which will teach Flex Developers how to program in AngularJS. More info at ( http://www.lifeafterflex.com ). People seem excited about this beyond anything I ever expected. I asked my newsletter if anyone was interested in reviewing a pre-release copy and I got 20+ responses which is a significantly higher response rate than usual. If the early interest is any indication; more people will read my book than ever bought a Flextras component.

I've also dabbled with a in Mobile Game ( https://play.google.com/store/apps/details?id=air.com.igorKn... ), a recording studio (not online), and a CD duplication business (not online). All had varying levels of success.

amitmathew 3 days ago 0 replies      
I run a small business called Cram Fighter (http://cramfighter.com) that is targeted at students (mostly medical) that are preparing for standardized exams. I got the idea after watching my wife preparing for her board exams and it seemed like a perfect little project to learn iOS programming. Initially my goal was to do earn maybe $5k annually, but now I'm on track to surpass my salary as senior developer by next year.

You'll find a lot of one-person businesses targeting tiny, but profitable, niches like mine. What's great about it is that often when you find a tiny opportunity, it opens up a lot of other problems that need solving that you would never find otherwise. It's also a great way to learn the skills of running a business in a relatively stress-free way (at least compared to running a startup).

The only downside is if you're anything like me, you'll get antsy working on small projects and yearn to tackle bigger, more ambitious problems. Sometimes 1-person companies have the potential for turning into a company with startup-like growth, sometimes not. I'm still trying to figure out how far I can take my company.

gadr90 4 days ago 0 replies      
You should check out the SideProject Book[1]. It's specifically about bootstraped, successful, single owner projects. It features some of the projects that appeared here, actually, like BCC.

As of myself, I am currently trying to educate myself into dividing my time better between my "day job" and my product. Hard to do, though, when your day job absolutely rocks... It's very easy to work all day long without realizing you should have stopped in the middle of the afternoon. Not a bad problem to have, mind you.

[1] http://www.sideprojectbook.com/

bjoerns 4 days ago 1 reply      
I run https://www.spreadgit.com, a hosted version control system for Excel. Doing this solo and full time. It's been a hell of a ride so far but I love it.
graeme 2 days ago 0 replies      
I run http://lsathacks.com, and have a related book series

I sell e-books on my site and through affiliates, and sell print books on amazon. All told I make around $3,000 a month in passive revenues. I also make $4000-$5000 more in tutoring revenues.

However, the site is fairly new (I just sold the books through affiliates/print previously). As I grow the site I expect I may be able to get over $10,000 per month passive.

The LSAT is an admission exam for American and Canadian law schools. My materials/lessons teach people how to do better on it.

Orthanc 4 days ago 2 replies      
Not sure if this is what Hacker News would normally consider a business but I run a YouTube channel as my one-person business: http://www.youtube.com/cgpgrey
pcunite 4 days ago 2 replies      
I've worked goffconcepts.com full time since 2003 entirely alone (the "we" is my wife). My new product FileSearchEX is highly pirated so I'll probably be moving on to other things. I only recommend SaaS, forget about fat client software. The search engines enable a very toxic landscape otherwise.
hartcw 4 days ago 0 replies      
I develop and sell Smart Shooter.


Its a traditional desktop app (windows, mac), but only sold online via our own website or the mac app store. I created it about 4 years ago, and work on it solely in my spare time. In fact I'm employed full time at a major tech company but this I keep separate.

To claim its profitable is a bit misleading, because of cause the major cost in developing such software is my own time. I've incorporated as a limited company here in Finland but do not pay myself a salary, so the only costs to the business are web hosting and occasional hardware purchases (computers, cameras).

I started this as a project for personal interest; at the time I was working as a software engineer developing financial trading software. Smart Shooter was a good way to develop something that covered both my interests in graphics programming and digital photography, to alleviate the borebom from my day job.

So for me its been successful, its still an pleasureable hobby, allows me an excuse to play around with the latest cameras, and brings in some pocket money. It doesn't generate enough revenue that I could quit my main job, but the possibilities could be there if situations change.

fiatjaf 4 days ago 0 replies      

A website generator and a login/fetch user info/filter service attached for brazilian firms/hotels/inns that offer rooms to rent for long periods/temporary housing.

A very niche market in which I fill myself inn, was developing something just for me and got the idea of offering it to others. I have just one client (so I don't qualify to "successful"), but I'm following patio11 advice of offering services do niche underserved markets. Does anyone has any advice?

My biggest problem is how to market to such a niche. I'm trying to email people, but the people in niche are really non-computer users, so it is difficult.

bizifyme 4 days ago 1 reply      
I am running a complete payment gateway that supports VISA and MasterCard and mobile payments by SMS.

The name of the service is: https://www.bizify.me

For an introduction to the service: https://www.bizify.me/hacker-news/

dm2 4 days ago 3 replies      
I do consulting and software development and am technically a small business.

I'm down to a single client (much easier to manage than multiple clients) so I can pretty much pick my projects, work at my own pace, and get paid fairly decently.

I don't make millions, but I make enough and am happy.

Below isn't really business but was a brilliant idea by someone. It isn't my site but maybe it'll inspire someone to do something similar: http://www.milliondollarhomepage.com/

phantom_oracle 3 days ago 0 replies      
I like reading about stories like this (from all the successful solo founders).

It proves that you don't need to get multi-million-dollar valuations to be successful and that the general entrepreneur is pretty content with the amount he/she is making (+1 to thousandaire).

These are stories entrepreneurs (who are realists) should read about and we'd probably all be better off avoiding those "billion dollar acquisitions" (for fear that it will consume us mentally, physically and emotionally).

rbchv 1 day ago 0 replies      
I developed the Electrician Calculator Pro, a National Electrical Code compliant calculator for engineers, electricians, lighting designers, etc:


I first created the Android version about 3 years ago, then the iOS version about 1 year ago. It currently makes just enough to cover some bills, although I believe it has a greater potential. I'm currently looking for ways to make this a recurring revenue stream instead of a one time payment gig.

abdophoto 4 days ago 0 replies      
I didn't create this, but http://viralnova.com is known for being run by one person and has been quite successful. Maybe the most successful that I've ever seen. http://www.businessinsider.com/viral-nova-considering-a-sale...
coreymaass 4 days ago 1 reply      
I build MVP's for people who have an idea for a web app. It's at