hacker news with inline top comments    .. more ..    23 May 2011 Best
home   ask   best   8 years ago   
Boot a linux kernel right inside your browser. bellard.org
1758 points by neopanz  5 days ago   238 comments top 73
nupark2 5 days ago  replies      
This is demonstrative of the advantages of the new low-level APIs being added to JavaScript to work efficiently with binary data.

Fabrice uses this to implement an x86 interpreter -- it could not be done efficiently without typed arrays. However, it is still slow -- imagine what kind of advances could be made if a common bytecode was established that would be JIT'd by the JavaScript VM, and could be output directly by the emulator.

This is why so many people want to see the browser execution environment offer more complete, low-level APIs instead of high-level APIs locked to HTML/CSS and legacy browser technology. Efficiently supporting high-performance, high-complexity systems such as an x86 emulator (or a video game, or custom font rendering, or even an application framework) absolutely require efficient low-level APIs.

jbk 5 days ago 6 replies      
After FFmpeg (used in all your TVs and gadgets, very likely), QEmu (used also by Xen and VBox and other), tcc and his IOCC entries, the DVB-T emission with an ATI card, Fabrice comes, once again with something crazy...

He is really impressive...

nkurz 5 days ago 2 replies      
I'm utterly dumbfounded. Not only does it boot, it's got emacs, and a compiler.

  Welcome to JS/Linux  
~ # emacs test.c
~ # cat test.c
void main(void) {
printf("Hello World!\n");
~ # tcc test.c -o hello
~ # ./hello
Hello World!

[Edit: just realized that there is already a 'hello.c' in the directory that shows just this with better diction.]

shazow 5 days ago 0 replies      
I just forkbombed my browser. Nothing is sacred anymore.

  ~ # f(){ f|f & };f
sh: can't fork
sh: can't fork
sh: can't fork
sh: can't fork

wildmXranat 5 days ago 0 replies      
Fabrice is one of my all time favorite software engineers. Reading his code, studying his methodologies and learning by copying has been a long time task for me.

My first encounter with his code was QEmu, when it was required to run the XO OLPC linux images. Society truly benefits when people like him are devoted in support of open source software.

m0th87 5 days ago 1 reply      
The emulator code is just 86 kb, and it isn't even aggressively minified!


antirez 4 days ago 2 replies      
I admire Fabrice a lot, he is a programming hero for me. However it is not true that he is not interested in money, for instance the QEMU module performing the run-time code translation to go fast was not released for free in order to earn from this. I don't know if he managed to earn or not from QEMU in the end, but IMHO that of selling the module to final user was not the right strategy, when QEMU was started and became famous, "virtualization" was an huge buzz and interest for many companies, so many ways to make money from this.

Also this new code is not released under a free license, so by default as far he is not sure what he's going to do with the code the "open source way" is not the default. This is not a critique. I think Fabrice Bellard is a genius, but as an observer he seems interested in making a profit from his work like many other programmers.

Instead subjectively I've to admit today I no longer consider the GPL a completely free license, but this is another matter and may be related not to earning but to the meaning "free software" has for you. For me it is as simple as letting people to do everything with your code. IMHO the BSD license turns out to be better both for users AND for you to earn from your product later.

eliben 5 days ago 1 reply      
Fabrice Bellard is truly impressive. There's a nice article about him, called "Fabrice Bellard: Portrait of a Superproductive programmer", here: http://www.softwarequalityconnection.com/2011/03/fabrice-bel...
sigil 5 days ago 3 replies      
This is completely awesome. When I saw http://cb.vu a few years ago I thought hey, someone has finally done it, but that turned out to be a hack. Kudos to Bellard once again.

Nitpicking: the terminal emulation is messed up. It keeps resizing horizontally, and less gets confused. I'm sure the terminal emulator was fun to play with. A correct vt100 state machine implementation [1] would probably not be quite as fun [2]. There's a vt100.js library used by a couple projects that might improve things. [3]

[1] http://vt100.net/emu/dec_ansi_parser

[2] http://vt100.net/emu/vt500_parser.png

[3] http://fzort.org/bi/o.php

aristidb 5 days ago 0 replies      
If it doesn't work for you on Chrome 12, this is probably the reason: "it does not work with Chrome 12 beta. As far as I know, it is a bug in the browser"

From http://bellard.org/jslinux/tech.html

vessenes 5 days ago 3 replies      
My favorite bit:

# cat /proc/cpuinfo


f00f bug: yes



20 bogomips by the way, at least on Chrome on a MacBook Pro.

I sense a whole new era of browser performance testing..

delinka 5 days ago 0 replies      
Cloud VPS in the browser. ("Please standby while we create a browser tab for your new instance...")

"The browser as the operating."

Someone must buzzword the hell out of this and then create a new startup based on it.

swah 5 days ago 0 replies      
And you are very proud of your Javascript templating library.
js4all 5 days ago 1 reply      
Unbelievable, this is like magic. I am totally impressed. It is a real linux instance. BTW. I see the hello.c file someone mentioned here. Have we all mounted the same disk image?

I see so many use cases for this, but I don't fully understand what is going on behind the scenes. Maybe someone can shed some light on it:

  1) How is the disk emulated. Is it a local image, or is it running on the backend?

2) Is there a remote possibility to get the networking up and running?

3) Can the disk image be externally accessed to be customized?

nl 5 days ago 0 replies      
~ # tcc -o hello hello.c

~ # ./hello

Hello World

That is just too impressive for me to process.

shykes 5 days ago 1 reply      
Any volunteers to wrap a websocket transport in an network interface driver? :)
srean 5 days ago 3 replies      
Feel bad to miss out on this as I am on FF 3.6. But this remind reminded me of a service from a long time ago. Dont remember their name, this was some 10 years ago. But they used to provide a KDE desktop via the browser as a java applet. It was not terribly snappy, but quite surprisingly usable. Any one remembers this ?
spiffworks 5 days ago 1 reply      
It even has an incomplete version of Emacs. Emacs!
brudgers 5 days ago 0 replies      
>"I did it for fun, just because..."

Easily the best hack I've seen on HN.

sagarun 5 days ago 0 replies      
I just did 'rm -rf /' then ctrl+D on the terminal. Kernel Panic! Very nicely done! Technical notes here http://bellard.org/jslinux/tech.html
neopanz 5 days ago 3 replies      
Not sure how long ago he posted this. This guy never ceases to amaze me. He's the Grigori Perelman of Hackerdom.
michaelf 5 days ago 0 replies      
This is the most amazing thing I've ever seen in my browser.
wicknicks 5 days ago 0 replies      
He even ported his tcc compiler to it. Brilliant! I wonder if we could tap into the device file system. Given the increasing number of sensors in mobile phones and no standard way of reading from them, a linux like interface would be awesome.

  int main (int argc, char **argv)
int f = open("/dev/android_accelerometer");
double ax = f.read();
double ay = f.read();
double az = f.read();
printf ("Current 3d acceleration: %d %d %d", ax, ay, az);
return 0;

zwischenzug 5 days ago 0 replies      
If anything deserves a HackerNews circle jerk, this is it.
spydum 5 days ago 0 replies      
I don't know why it's so amusing, but the network stack is fully functional for loopback.
Fire up telnetd, and telnet back to yourself.
telnetd -l /bin/sh -p 23
telnet 23
plenty of other services: httpd..
what a hoot.
wslh 5 days ago 1 reply      
Now I can buy a Chromebook :-)
petdog 5 days ago 0 replies      

    ~ # cat over.c
main () {
int i = 0x00ffffff;
while (i > 0) i--;
~ # tcc over.c -o out
~ # time ./out
real 0m 13.58s
user 0m 13.57s
sys 0m 0.01s

I love this stuff.

angusgr 5 days ago 3 replies      
I'm sad the source has been compressed so there's no easy human-readable View Source, like there was on the VAX emulator that came up a few weeks ago. :( Still awe-inspiring, though. :)
mikeytown2 5 days ago 3 replies      
Anyone know how to get the network working? ping/wget don't work. But seriously, this is pretty flippin sweet!
maverhick 5 days ago 0 replies      
When fabrice opens the browser, the kernel compiles itself.
gmosx 5 days ago 0 replies      
Didn't know about this guy! Unbelievable track record of consistently releasing groundbreaking software. Oh, and the x86 js emulator is cool too! made my day!
rman666 5 days ago 0 replies      

  ~ # httpd
~ # telnet 80
get / http/1.0

HTTP/1.0 404 Not Found
Content-type: text/html
Date: Tue, 17 May 2011 20:10:52 GMT
Connection: close

<BODY><H1>404 Not Found</H1>
The requested URL was not found
Connection closed by foreign host
~ #


kmil 5 days ago 0 replies      
Fabris should put donate button on the page!
I would happily donate to thank him for his great contribution to the Open Source and pushing boundaries of what possible to do with modern technology.
thank U Fabris :)
pbhjpbhj 5 days ago 0 replies      
Anyone else wondering if they're now part of this guys compile/render farm!?
albertzeyer 5 days ago 0 replies      
Actually I thought about doing the same via LLVM and Emscripten. This seems like he emulates x86. Which is probably less hackish but also slower.
anc2020 5 days ago 0 replies      

    cd /
rm -rf ./*
echo *

Aissen 5 days ago 1 reply      
Anyone know why he used 2.6.20 ? I tried compiling a, but it doesn't boot. It's stopped at "Starting Linux" and CPU stays at 100% all the time.
swah 5 days ago 0 replies      
How long until you see the prompt?
terminus 5 days ago 0 replies      
Neat. You can mount sysfs like so:

  # mkdir /sys; mount -t sysfs /sys /sys

That would allow you to look at the emulated hardware that is present.
Looks like only virtual devices are present -- ram, loopback network etc.

Makes sense to me. The MVP here is cpu emulation.

senthilnayagam 5 days ago 0 replies      
this can be a good tool to for students to learn basic linux commands

/usr/bin has many goodies

vi, top, ps, grep, awk

ramidarigaz 5 days ago 0 replies      
Woohoo! Kernel panic! Haven't seen one of those in... well... forever. (Newbie here)

Edit: This is damn cool.

SomeIdiot 5 days ago 2 replies      
So any interesting ideas for what this can be used for?
ayanb 5 days ago 0 replies      
92.3 KB minified for the two JavaScript files.


tectonic 5 days ago 0 replies      
Why is it that whenever I play with a temporary Linux install, I always end up typing "rm -rf /"?
whatwhatwhat 5 days ago 1 reply      
Can i run Node.js on this?

/evil grin

benihana 5 days ago 0 replies      
First thing I did after booting?

    alias ll='ls -lh'

jjm 5 days ago 0 replies      
This is hot! Needs logging facility too but otherwise I'm blown away!
gabi38 5 days ago 1 reply      
How is this thing loads the kernel? I've read the http://bellard.org/jslinux/tech.html but it doesn't say, Does it loads it over the net or what?
vsajko 5 days ago 0 replies      
boots in firefox on android although you can't type anything. I am amazed
bane 5 days ago 1 reply      
A more advanced version would allow to use old DOS PC software such as games.

well I'm sold.

tmachinecharmer 4 days ago 0 replies      
There is EMACS TOO!!! This is insane. I am going mad with happiness. I really really have tears in my eyes.
vecter 5 days ago 0 replies      
Could someone write a program that would cause a stack overflow, compile it with tcc, and run it?
loso 5 days ago 0 replies      
wow, it is projects like this that get the imagination going and makes you feel bad for putting off a problem set that might have frustrated you at the time.
josepsanzcamp 4 days ago 0 replies      
I tested the JS/Linux with google chrome 12 (beta and gnu/linux) with a new vmlinux26.bin and root.bin compiled using the 2.6.30 kernel with buildroot and work as expected (fine).

I don't know what is the problem of the original 2.6.20 linux kernel with JS/Linux but with this new compilation work perfectly.

rakkhi 5 days ago 3 replies      
This looks awesome! I'm just starting to learn ruby and was going to look today on whether there was a way to run it in a browser very easily. Wonder if this is the answer
mark-r 4 days ago 0 replies      
If you have a programmers.stackexchange.com account, you might want to put a vote in here: http://programmers.stackexchange.com/questions/47197/are-the...
asadotzler 5 days ago 0 replies      
Twice as fast in Firefox as in Chrome.
cfq 5 days ago 0 replies      
I saw this and thought "how does it know who I am?":

io scheduler cfq registered (default)

plainOldText 4 days ago 0 replies      
I believe this submission got the highest number of upvotes in HN history.
tcarnell 5 days ago 0 replies      
Awesome - so could you run a web-server from within the browser? Would it be possible to connect to an instance of jslinux remotely?
braindead_in 5 days ago 0 replies      
Looks so similar to Linux booted on an embedded device. Nostalgia.
mrpixel 4 days ago 0 replies      
Now let's mass-email Bellard to coax him into publishing an open-source version. :)
blackman 4 days ago 0 replies      
now I'm wondering how hard it would be to write a commodore 64 or nes emulator in javascript to embed games in webpages?
quattrofan 5 days ago 0 replies      
but not in my android browser apparently
agilo 5 days ago 0 replies      
This reminds me of http://uni.xkcd.com/
wonginator1221 5 days ago 0 replies      
Well, It's a great way to try out
rm -rf /
dendory 5 days ago 1 reply      
Fun command to use:

reboot -f

josepsanzcamp 5 days ago 1 reply      
What license do you want use to publish this job???
awaz 5 days ago 0 replies      
EGreg 5 days ago 0 replies      
this is some crazy shit
Qerub 5 days ago 2 replies      

  ERROR: your browser is too old to run JS/Linux.
You should use a recent browser such as Firefox 4.x or Google Chrome.

No, it isn't. Stop using user-agent matching and start using JavaScript feature detection instead.

thristian 5 days ago 0 replies      
The page was near-unreadable for me because the CSS uses the font stack "courier,fixed,swiss,sans-serif", and courier is just too thin and wispy against a black background. I opened Firebug and changed the CSS declaration to be "monospace" and then all was right with the world.

That said, it's a phenomenal achievement, and should be a great way for websites to demonstrate command-line tools to people. :)

(also: browsers let you store more information with DOM Local Storage than you could in a cookie; If you could expose that to Linux as a block device...)

TermKit - a graphical terminal replacement acko.net
1038 points by pimeys  4 days ago   199 comments top 67
telemachos 4 days ago  replies      
After seeing something about this yesterday, I said on Rstat.us/Twitter that I thought it was pretty but disagreed with the whole premise. I still do, I think, but I'm very impressed with how reasonable Steven's response was. He wrote me and asked pretty much "Why?" I said essentially "Unix philosophy" and attached the link that ended up in his blog post.[1] He wrote back and at some point he wrote this post, probably replying to all the people who were taking snipes at him. So this is a long way around to say, kudos for being gracious and serious in the face of people glibly writing off your hard work.

Having said that, I'm still not sold on the concept - yet. I've played with it a bit this morning. Obviously it's still pretty alpha (more than one seize up or crash), but that's fine. My larger problem is in figuring out how it would fit into my daily work flow. After trying it out now, here are some concrete issues:

+ No monospace fonts for code. The output of cat looks like teeny-tiny website font. Things are no longer "lined up". That's bad.

+ I can't use any applications that take over the terminal (irssi, mutt, vim, less). Steven says as much - it's not part of his design - but for me it's a big problem. It means that even if I embrace TermKit, I still need those 1980s terminals.

+ No scripting language built in. As bad as shell scripting might be, I get an absolute ton done with it. I don't want to give that up unless something will make up for all that "getting shit done".[2]

+ TermKit (maybe?) forces me to change habits I can't afford to lose. One small, but I think important, example: If you try to run this:

    awk '{print $1}' file.txt

TermKit doesn't echo the single quotes. That is, you can type them, but they don't show up on the screen. I'm not really sure what to do with that. Does that mean I should stop typing them? Does that mean that I still must type them, but TermKit strips them because they aren't pretty? Does TermKit allow me to do it either way? I'm going to need to remember how to quote things when I log into a remote machine over ssh, so if TermKit will force me to change habits, that's a big, big problem. (After a few experiments, it seems like the single quotes are still required. Without them, TermKit tokenizes the stream differently. If that's the case, why refuse to echo them to the screen?)

[1] http://www.faqs.org/docs/artu/ch01s06.html

[2] Cf. Ryan Tomayko's Shell Haters talk: http://shellhaters.heroku.com/

barrkel 4 days ago 2 replies      
It's funny, his 'ls' by default prints out an information-sparse grid of icons (only showing 10 items with a horizontal scrollbar?), whereas when I use the command-line, I'm looking for exactly the opposite of a GUI - an information-dense table of text. I agree with the commenter that -r-xr-xr-x - or even 0555 - is far better than "you can't touch this" (which doesn't describe who can't touch it, and in what ways). His "rich display" is actually a display of poverty - it conveys less information than text.

The typing of file / stream data is interesting, but I don't think it's realistic - it requires all tools to change virtually overnight to preserve the headers. And it's not enough just to preserve headers; what if you pump stuff out to a temporary file and read it in a few milliseconds later? What about compound files, with data chopped out of them? If you want pretty pictures, syntax highlighting etc., ISTM better to have an enriched terminal communication protocol along with a couple of viewer programs which can render data formats to it, rather than change the whole world to type every data flow everywhere.

moe 4 days ago 1 reply      
I love this!

It has fundamental conceptional flaws. But hell, finally someone is rethinking the terminal, please continue working on this!

Here's the direction I would propose:

It must be 100% backwards compatible. This is not optional, anything else is a non-starter. Likewise trying to re-invent the entire unix userspace toolchain is a terrible idea.

So why not do it the UNIX-way and how terminals have always done it:

Start by emulating a normal terminal (xterm/vt10x). Add support for a special ESC-sequence that switches the terminal into TermKit mode (and another one to switch back).

This way we have a normal terminal, with a bonus-mode.

A simple cli-wrapper could be provided to mix the "magic" in. E.g. to cat a PNG I would: 'cat foo.png | tk_wrap'.

And on the screen that image would magically be embedded below my command line, just like any text output would.

tk_wrap would be small wrapper that first emits the termkit-esc, then the stdin-data (converted to the json meta-format), and finally the termkit-end-esc.

That's the basic architecture that I'd like to see. And from there, sky's the limit.

JunkDNA 3 days ago 0 replies      
I'd like to offer a slightly different perspective on this. As someone who is a hybrid hacker/biologist, I welcome something like TermKit. I have invested a good chunk of time learning unix commands and the shell because lots of scientific applications require it. Furthermore, as a data wrangler, the unix tools are a necessity for quickly processing and pumping files around. I require unix to efficiently do my job. I often think, "Gosh, what do all these other people do when they need to do X?" where "X" is some ugly task that I can hack some grep and sed commands together to accomplish. I don't think most programmers understand the sheer number of exceptionally well-educated, genuinely smart people who spend huge chunks of their day doing menial "copy/paste" in Excel (because it's the only real tool they can use) when they should be designing bridges, curing diseases, analyzing data, etc...

If you're a unix sysadmin or a full-time hacker, you can justify the cost in time and effort of learning and memorizing all this stuff. In fact, you'd be foolish not to. But there are a lot of people who don't spend all day in a terminal. Nevertheless, they frequently need the unix terminal to get something done. A tool like TermKit could be a huge boost for those people allowing them to bootstrap their knowledge without having to dive into the deep end all at once.

There are legions of people out there who are smart enough to learn some bits of unix if only the learning curve wasn't a sheer brick wall. If you need evidence that man pages and "-h" don't cut it, start typing common unix commands into google (xargs, tar, grep, etc...) and you'll almost always find one of the top suggestions is "command_name examples" or something like that. Why is that? My grandma isn't trying to use "xargs" I assure you. Someone with enough knowledge of the unix command prompt to know they need xargs reads a man page and they still don't know how the hell to use the command properly. That's a usability problem and there are modern ways to help with it (as is demonstrated by all the things IDE's do to help programmers all the time).

I'm really excited to see where this goes. There are all sorts of possibilities it opens up.

ChuckMcM 4 days ago 1 reply      
Excellent exploration of alternatives to the old 'terminal' application. It would probably help for context to explore the Bell Labs 'BLIT' terminal and the Digital Equipment Corp VT340 (color graphic terminal) and the Tektronix 4010/4014/4064 terminals. These had capabilities that augumented the basic terminal stuff and made it prettier at least to use them.

The humorous thing for me is seeing the discussion which essentially devolves into creating a new windows type metaphor but with a lot of keyboard shortcuts.

It may sound pedantic but consider that the terminal is the terminal because terminals define a keyboard driven user interface. A user interface is a 'vocabulary' which describes actions. Its vocabulary scales from a communication channel that is 300 baud to one which has multi-megabaud connectivity. You can create a different vocabulary (which is what the other terminals above did) and get additional features.

And you can create an entirely new vocabulary if you're willing to change the minimum connectivity channel bandwidth as well (I doubt TermKit would work well over 300 baud for example). There was some good work done on this in the 80's with 'visual shells' on the PC and of course there is a ton of work that IBM did in creating optimized terminal environments (with visuals no less) on 3270 terminals which were in many ways a pre-cursor to todays IDE tools, although perhaps more like Eclipse. Their environment which ran airline reservations was a good example of optimizing the vocabulary (key strokes) against the variety of tasks an agent might need to do.

So rather than calling this a graphical terminal replacement (which it isn't) calling it a visual UI which can be driven entirely by the keyboard might be better. I think that fundamentally the "thing" about terminals that everyone sort of 'gets' is that you don't have to use a mouse, you always know where your 'focus' is, and there are millions of key combinations which you can use to express certain actions. For some, that is simply 'living in emacs' for others it could be something like this.

ZoFreX 4 days ago 3 replies      
It's a pity that this is so difficult to try. The blog post has so much detail and effort put into it, but all that shine and polish disappears when you try to install it.

Specifically Step 1 of the instructions[1] has a link titled "install node and npm" [2] which has the line 'git clone git://github.com/ry/node.git', which is incorrect. The correct URL (as far as I can tell) would be 'git://github.com/joyent/node.git'.

In addition the linked instructions say nothing of npm, which can be installed quite easily by running 'curl http://npmjs.org/install.sh | sh' as root.

Back to the TermKit instructions again, and step 5 says 'git clone git@github.com:unconed/TermKit.git --recursive', which didn't work for me. What worked was 'git clone git://github.com/unconed/TermKit.git --recursive'.

Finally after all that, I just see 'You cannot use this version of the application TermKit.app with this version of Mac OS X.'. Would have been nice to mention that at the start.

[1]: https://github.com/unconed/TermKit
[2]: http://howtonode.org/how-to-install-nodejs

philjackson 4 days ago 1 reply      
I really think Steven went about marketing this in the wrong way. It really should have been dubbed as a terminal alternative. By calling it a replacement he's just inviting a mass of critique which focuses on what it lacks rather than what it offers over an xterm.
wooster 4 days ago 1 reply      
This comment thread, both here and on the blog post, is the best example of stop energy being directed at forward motion I've seen in a long, long time:


Kudos to unconed for doing something remarkable. I look forward to seeing where it goes from here.

bernardwilson 4 days ago 6 replies      
I had a similar idea about 10 years ago, but never got around to implementing it.

I'm amazed at the amount of hatred directed towards this - as if the terminal could in NO WAY be improved?!. But clearly it can. For example - wouldn't it be nice to have a terminal status bar with your CWD / git branch / etc in, without cluttering up space before $? Yep, you can use screen, and that destroys your ability to use the scrollbars.

Or, consider filename completion. Wouldn't it be nice to show the intended completions in a popup as you're typing (like web browsers do) ?

Why, when I do 'ls', can I not drag & drop one of the files to another finder window? Why is the terminal forever isolated?

Why when I run 'mvn install', which generates umpteen bazillion lines of output, can the result not be folded into a single line showing the summary, that I could expand if I wished?

There's lots of scope for this kind of thing. My main concern would be whether a single WebKit control is the right way to go - it'd be nice to, for example, embed custom controls within the shell (but this might also be possible).

So I think it's an awesome idea.

jimmyjazz14 4 days ago 1 reply      
"At the end of the day, Unix just has bad usability"

I have to say I highly disagree with this statement but, I also disagree that there is anything wrong with the classic terminal. I find a full screen terminal with nothing but text as a thing of beauty. They remove all but the most essential details and work on a very simple common format (text).

In a way this kinda makes me think of Windows Power Shell, which is trying to replace the classic shell with a more object oriented shell, it has a lot of good ideas but in ways it brings more complexity to the issue than most Unix users are looking for. Seems like this project could probably take some ideas from Power Shell though.

I certainly have nothing against this guys work but it is not really a classic unix shell replacement and should probably not strive to be such a thing.

MatthewPhillips 4 days ago 1 reply      
Maybe I'm an old fogey but I'll stick with xterm and iterm. Having a terminal where I can have the same experience whether logged into a *nix box, on osx, or sshed into a remote server is far more appealing than being able to cat images or having a pretty progress bar. If I want to make json more readable I can just pipe it through one of the many json formatting scripts.

It might just be me but I find cocoa to be a bit boring and dated looking. Unix terminals are timeless. A nice tiling windows manager with 5 terminals is still one of the most beautiful set ups.

caf 4 days ago 2 replies      
The first thing to realise is that the existing UNIX data processing tools deal fall into two categories - those that process (including generate or consume) an ordered sequence of text records (eg. sort, comm, uniq, awk, sed, grep, tr, cut, find, xargs, ls...) , and those that process arbitrary binary data (cat, dd). Most fall into the first category.

Now, while it might make sense to use a better interchange format than "newline-separated text" for those ordered text records, I don't think that adding other arbitrary data types is particularly useful, unless a way can be found to make these arbitrary data types self-describing. This is because there's little to no commonality in the types of processing that you do on different data types: the article shows the example of "cat termkit.png", but what does it mean to concatenate two images ("cat foo.png bar.gif"), or concatenate an image with a text file? Making some assumptions, we can certainly define arguably useful semantics for those, but what does it mean to "sort" an image?

And how do we write "cat" to deal sensibly with currently unknown data types, that will be defined in the future?

perlgeek 4 days ago 2 replies      
I love the idea of experimenting with graphical output on the console. I've seen images and vidoes running on the terminal (not a terminal emulator) using "framebuffer" consoles.

Sadly that typically only worked in full-screen mode.

If somebody wrote an ordinary terminal emulator that allowed pixel graphics as part of the normal text flow, and created an easy API for programs to use it, I'd be very happy.

TermKit looks cool, but I fear I'm too old-fashioned to move away from ordinary shell in such large steps.

gurraman 4 days ago 2 replies      
This a cool project, albeit not my cup of tea. Sure, the terminals out there need a little work, but I'm skeptical about bringing too much of the "gui world" in.

There are, however, some concepts that are worth copying and that are in fact doable in current terminal environments. What I would like to see is more innovation in the world of console programs. There are lots of things to do in terms of auto-completion, navigation and integration etc.

Take a look at ranger [1] and sup [2] for examples of new neat console applications.

[1] http://ranger.nongnu.org/
[2] http://sup.rubyforge.org/

Symmetry 4 days ago 0 replies      
There's actually a lot that can be done to improve current shells even without breaking the current set of abstractions and tools:
ianb 4 days ago 0 replies      
I played around with what I think is a very similar idea a while back: https://github.com/ianb/jsshell -- I think the basic architecture is the same, but this is much more advanced; I never really got past the point of displaying all output as literals.

In both cases I think this is really as much a replacement for the shell (e.g., bash) as for the terminal. The truly fundamental verb in a Unix system is executing something with a set of string parameters, an environment, and a cwd, and passing stdin in, with stderr and stdout coming out. That's pretty much everything, so there's a lot of flexibility about how you can present that to a person -- all the stuff like &, if statements, file redirection, shell quoting, etc., is part of the shell UI, it isn't really core to the OS or any of the commands.

There's a lot of graphics and icons in this particular implementation, but IMHO that's not really the important part. Taking out the statefulness of the shell is the more interesting part to me. "cd" seems magic, but it's just setting an internal variable in the shell. Foreground and background processes seem core, but they are just a way of handling the inability for a terminal to handle more than one thing at once. Variable substitution, redirection, backticks... these are all abstractions; and they are useful abstractions, but they might deserve a bit of rethinking.

tlrobinson 4 days ago 0 replies      
This has a lot of great ideas, and I like the idea of an enhanced terminal in general, but I think it goes too far. Having to reimplement a large number of commands to support this concept of separate view and data streams is complex.

A few ideas I'd like to see integrated into an existing shell/terminal in a backwards compatible way:

* Syntax highlighting/tokenization of the command as you type. Show the different parts of the command you're typing: the executable, the arguments, the pipes, the IO redirects, shell constructs like loops and conditionals, quoted strings.

* Maybe command-specific syntax awareness like highlighting the flags and file arguments differently, regular expressions for sed/grep, awk syntax, etc. This would require descriptors for each command, similar to how autocomplete works?

* Enhanced output formatting, like the clickable paths, displayable images, etc. But rather than modifying/rewriting the program, have a way to describe how to display the output of certain commands. The shell should be able to figure out what the final command in a pipeline is, right?

* Detect and display binary file formats based on the content rather than the filename so support existing commands.

Tycho 4 days ago 4 replies      
I find Unix usability standards generally pretty insane. Funny he should post this, as on the train today I was thinking of making a program I'd call 'SmartTerm' or something which would basically be a more usable, graphically augmented terminal for beginners (or people who just can't stand interfaces which depend on memorization and patience).

Some things I find nuts about the current terminal is OS X (at least the default behaviour) are:

- half the line which you need to write in is taken up by repetitive info like User, Time, and Directory

- put the currend directory somewhere useful like the title bar

- when i start to type a command, give me graphical autocompletion automatically (unless i switch it off), along with a note/tooltip explaining what the command does

- after i've typed command, give me a pane somewhere which explains what all the stupid flag options are and what they do

- give me another pane with an audit trail in plain english of what my commands have accomplished, and then give suggestions on how these could be accomplished using simpler shortcuts (especially in something like Vim. give me some help to learn the shortcuts as i work, FFS. on a GUI you look at the keyboard shortcuts beside the menu items, and get to know them naturally. this would also give you some confirmation that your command worked as expected, rather than just a blank prompt staring back at you

- let me highlight text with shift and arrow keys

tvon 4 days ago 0 replies      
This has been tried before with the XUL-based xmlterm around the turn of the century, but it was very slow:


Interesting to see someone pick this up again.

balakk 4 days ago 2 replies      
On windows have a look at

Same idea, with powershell as the base.

mhd 4 days ago 0 replies      
None of the examples really sound all that exciting. I see the Unix shell more of a text file manipulation toolkit, so apart from some corner cases I'm not sure if adding MIME types etc really would add much value for the usual tasks. If you're adding too much structure to things, you might as well go all the way and base everything around a programming language or framework (cf. Oberon, Powershell, Lisp Machines).

I agree that emulating a terminal from the late 70s isn't exactly the peak of programming. Character-addressed terminals are just another way to get (cheap) WIMPy GUIs.

rrrazdan 4 days ago 1 reply      
Many times you need to look beneath the veneer of abstractions that is the modern GUI, to work with speed and flexibility. However you don't want to strip away all the abstractions. That would yield the system very unwieldy. (example: Programming in C vs Programming in Assembly) The Unix command prompt is just the right amount of abstraction for me, and for many other users.
What the project proposes is certainly novel, and this level of abstraction may work for some people.
amosson 4 days ago 1 reply      
The terminal hasn't changed much in 40 years because it very good at what it does, that is, allowing experts to get stuff done. One of the usability lessons of modern computing is that the mouse is a productivity killer. Having transitioned back to vi from TextMate, I have certainly found it to be true.

The author talks about how its a shame to give 2MM pixels to an 80 column terminal, but from what I've seen, developers are perfectly capable opening multiple terminal windows to view things like log files and running quick commands. Try that on a WYSE.

While I don't think I'd ever use this as a replacement for my terminal, I do think the "server" part of the architecture is interesting. What if you built a native OSX app to replace finder. That is something I'd use.

andrewcooke 4 days ago 1 reply      
it's curious this is on the front page at the same time as oh (or was that on reddit? - can't seem to find it now). https://github.com/michaelmacinnis/oh

both allow the shell to use structured data. i like the idea of using json myself (not that keen on the gui parts of the implementation, but moving pipes to something with more structure seems like a good idea). did plan 9 do anything similar?

wladimir 4 days ago 1 reply      
I just looked at this through the github link. Looks very nice and useful.

Too bad it's very much bound to MacOSX/Cocoa, so this kind of rules it out as general nextgen UNIX/Linux shell.

wickedchicken 4 days ago 1 reply      
As far as I can tell you have to rewrite all your applications to use this. So he's not really advocating "a cool new terminal," he's advocating a "new Unix programming toolset, with accompanying terminal, to replace the BSD/GNU tools." This is great, and I wish you all the best of luck, but it looks like you're just rewriting Applescript.

Also, the reason Unix tools don't toss around JSON/XML/MIME is for sheer simplicity. It's a zen thing, something you OSX guys wouldn't understand.

Catting a png and getting a picture is nice though.

swah 4 days ago 0 replies      
lut4rp 4 days ago 0 replies      
As much as the prospect of Webkit in my terminal makes me uncomfortable, I think this is amazing. The terminal is probably my most used application and any effort towards making it better is awesome.

(P.S. - Apart from this, unconed has also been a prolific Drupal contributor and done some amazing visualization work for Winamp. Awesome hacker.)

rglover 4 days ago 1 reply      
As a UI designer, even though I've just begun working with terminal, I can't say I like this too much. Don't get me wrong, it looks GREAT, but much as I expected, it goes against a lot of ideas and based on some of the comments, strips a bit of functionaity (a huge no no). I think Steven's intentions are solid, but he's sort of playing with fire on this one. Cool idea, though.
agentultra 4 days ago 0 replies      
I'm just curious if he has to re-write essentially every unix tool in javascript.

I can't really say whether most unix developers would appreciate this. I don't like it and I exclusively use tiling window managers, xterm, and emacs. Though if I wanted fancy features I might try rxvt-unicode or some such.

technomancy 4 days ago 0 replies      
Ironically enough, this reminds me a lot of eshell, the shell implemented in Emacs lisp. Since it runs in a rich environment, it can augment a lot of standard unix functionality with really useful features, and you can extend it in a language that's not insane.

For example, grep/find results are hyperlinked, you can pipe commands directly to buffers (or even lisp functions) rather than just files, and such. In fact, now I'm tempted to add the ability to cat an image and have it display inline; should be pretty easy to implement in elisp.

yason 3 days ago 0 replies      
Can't really say this or that about the project. It looks cool but I have no idea whether the user interface would lessen the friction between myself and the computer; it might just as well increase it.

But that's okay. We're not supposed to decide whether the prototype points to the right direction or not; we're just supposed to rant and ramble a bit about it.

However, the question of whether this turns out to be a good idea will be evident when and if TermKit delivers. In this context it means that TermKit or some of its derivatives turn out to be actually more useful than the standard Unix shell.

The indicator would be that instead of a traditional Unix shell, people start using TermKit in order to get more things done more easily and in shorter time.

pnathan 2 days ago 0 replies      
This is interesting and a cool proof of concept.
I don't believe that, as you show it, it is something I'd want to live in.

I virtually live in a full-screen emacs (on CLI or GUI). Emacs provides a somewhat nicer shell world than straight up Terminal.app. Emacs has copy & paste, a fully editable window display and its own command history.

Why do I bring this up? Because I feel that your application as currently demoed is not going to help me. I don't want to see GUI icons in general.

What I do like is your connection to the OS display layer. The ability to render out a PDF-inshell is pretty nice. Without having to go grub around for the right configuration, I can't just go "load foo.pdf" and have it pop up automatically.

So I really look forward to see what kind of cool explorations you do.

StuffMaster 4 days ago 1 reply      
>monospace text just doesn't cut it anymore

Maybe in your terminal world, but not mine buddy.

planckscnst 2 days ago 0 replies      
The author talks about the hazards of parsing text streams, then talks about parsing ls, which is impossible to parse because there is no way of differentiating a newline in a filename from one that delimits the end of a line of output.
risotto 4 days ago 0 replies      
Awesome project.

Browser technology is on a tear recently, and terminals are ripe for innovation. For a newborn project, this is an impressive mashup.

The number of dismissive people in this thread shows how disruptive this idea is!

CMay 4 days ago 0 replies      
I've toyed around with similar concepts, but went the way of trying to middle-man the input and display of a standard console instead of trying to recreate one. Admittedly that creates some limitations to how integrated things can look without extra work, but it allows for normal interactive programs and really only enhances what was already there. Plus there's the added benefit of being able to run commands even while something interactive is up.

In any case, these kinds of hybrids are inevitable due to the vast room for improvement that exists in desktop and system apps combined with how powerful the web standards have become for UI and interactivity.

Really though, while I think TermKit is a decently executed attempt at this, it alienates some of its audience for obvious reasons. It completely throws away the charm of a shell with visual style choices and breaks powerful features that people expect. That's fine, because even with those departures it can suffice as a casual mode with certain conveniences for times when it makes sense.

Visual styles can be fixed or customized, so that's just shortsightedness by others.

As far as expected features like interactivity and whatever else people feel TermKit lacks, it seems like any hybrid terminal that takes this route should really try to implement a quickswitch that lets you fade between a rich terminal and a standard text console, already at your working directory with the same permissions.

Sure, people could just task switch to another running console, but that segments the whole experience a bit more.

chalst 4 days ago 1 reply      
Some interesting ideas there. He doesn't link to discussion of similar projects: I was reminded of Commander S: http://www.deinprogramm.de/scheme-2005/05-knauel/05-knauel.p...

I've not been able to build Termkit yet, mind.

mikey_p 4 days ago 1 reply      
Excellent shortcut for previewing files from the terminal:

qlmanage -p "$@" >& /dev/null

Opens any file in Quicklook, ctrl-c to close, or use the mouse. If you want it to stay open, just add final &.

jiyinyiyong 1 day ago 0 replies      






















有点像从js console里面直接"去'"作•面...素的意思








tjarratt 4 days ago 0 replies      
I really hope this guy gets hired by Apple. There are some really great ideas here.
joe_the_user 3 days ago 0 replies      
I like the overall idea a lot and am working on something vaguely related (though more like Quicksilver/Gnome-do).

I doubt that a modern approach is going to be able to satisfy the entire historical legacy of the Unix terminal and it probably shouldn't. Everyone who's happy running vi in an ordinary terminal should probably continue to do so.

Rhapso 3 days ago 0 replies      
It is pretty (and I want it for linux so I could use it!), but I think the real useful idea here is the separation of data out, and display out. If we could have that on a regular shell it would add a lot of usability. For this idea alone, my hat is off to you sir.
mtogo 4 days ago 0 replies      
My god, this looks terrible. There's a reason we're still using text terminals from the 70s-- they work!

I sincerely hope i won't ever have to work with this.

tezza 4 days ago 1 reply      
Great. Looks awesome and is much needed.

It should be possible to map the output for the Current Working Host too.


  home> ssh Server1
Server1> ls



should be mapped to

  scp Server1:server1file.bin

mixmastamyk 4 days ago 0 replies      
Looks pretty cool. The problem with the vast majority of these 'rethinking' projects though is they never get finished. That's the hard part.

The classic unix toolset remains because it is finished--that is most major problems and workflow have been ironed out.

Unfortunately I'm time-constrained these days so I'll give it a go when it version five is out and all major issues have been addressed and ported to Linux. For now I'll use fish locally and bash over ssh on my servers. Also, as I can use nautilus to manage and edit remote files using gvfs. So I've already got most of what the project offers working today.

swift 4 days ago 0 replies      
This is just fantastic. Great work. I look forward to see how it evolves further.
senthilnayagam 4 days ago 0 replies      
awesome, my kids and the touch generation would now start using termkit as their terminal in this natural way
skrebbel 4 days ago 0 replies      
Only his response to the AVS question in http://acko.net/blog/on-termkit#comment-4240 made me realise exactly how powerful this premise is.

TermKit could become my OS of choice.

adnam 4 days ago 1 reply      
This is interesting, but I have doubts. He wants to fix the terminal by 'separating the "data" part from the "human" part'; in practice, using separate visualizers for human display. This puts me another degree of separation away from my raw data and forces me to trust the accuracy of the visualizers.
bostonvaulter2 4 days ago 0 replies      
I'd like to see it be able to run a program in the background with the -h flag or --help flag to find at run-time what the available options are to help auto-completion. This way it would be able to support even programs that it doesn't know a priori.

This looks like a fantastic direction to experiment in. Kudos to the author.

sehugg 4 days ago 0 replies      
Very cool. I'm always amazed at how much one can do with a properly composed pipeline and a Makefile or two. The power of pipes + the interactivity of a spreadsheet -- that's what I want in my next gen shell. I'll be interested in seeing how this experiment plays out.

And I do see it as an experiment, not a threat to our way of life. I like to think that the UNIX command-line environment is a local minimum.

gcb 3 days ago 0 replies      
it kind of defeats it's own purpose.

cat a.png -- show the image in a tiny terminal, but I have a billion pixel screen.

why not just open it on the image viewer window?

you advocate this even for editing plain text in vim!

think that if you had learned to use X your days would be more productive... maybe not as cool...

bdunbar 4 days ago 0 replies      
It looks like you've re-invented Midnight Commander, which was a re-invention of Norton Commander, which was probably a re-invention of something else.

Which is a good thing! I look forward to downloading and trying it out.

rbranson 4 days ago 1 reply      
This will replace the terminal as much as the microwave replaced metal over fire for cooking or as much as synthesizers replaced real instruments in music.
jesheit 2 days ago 0 replies      
TermKit could really help unix overcome the problem of discovery.

On the command line it takes extra steps to discover the switches and arguments that a given command presents. It's easy to miss a specific incantation that will bring forth the full power of a given command in a given situation. Git, for example, has an amazingly rich command. It's hard to discover what you can do so most people end up using just the few commands that they absolutely need.

Just as TermKit offers a selectable list of directories when one types a path, it would be great if it could provide a structured way to build commands invocations, that presents options and perhaps help content as you go.

In addition to helping newbies dive in and get stuff done, it would help more experienced users continually advance their knowledge of how to get the most out of the tools they use.

arnoooooo 3 days ago 0 replies      
I tried to start a discussion on reddit with a very basic version of this idea, which was met with a lot of criticism.

In the end, I'm thinking it would be enough to have espace characters : for embedded graphics, and for some kind of terminal hyperlink. An exemple is file names in grep listings, which I would like to be able to click to get the filename pasted on my next command line.

blackman 3 days ago 0 replies      
Looks really good (haven't tried it yet though). The concept is great. I'd like to see some TextMate/CommandT style functionality for file and path completion (I've been thinking cd'ing around in shells has been cumbersome ever since trying commandT).

Some other inspiration could be taken from zsh autocomplete.

hellweaver666 4 days ago 0 replies      
Hmmmm. It's pretty, but sort of limited at the moment. I think it could be used sort of like training wheels for unix newbies.
dadro 4 days ago 0 replies      
Amazing work. This kind of API has potential to be a real game changer. Imagine what this style interface could do for things like Image, Audio and Video processing. Can't wait to watch see this progress.
AdamGibbins 4 days ago 0 replies      
Awesome highly recommended Linux terminal, allows GUI splitting and has very almost 100% key-shortcut coverage: http://www.tenshu.net/terminator/
TomLimoncelli 3 days ago 0 replies      





(Damn, I've never seen a group of people so change-adverse and closed minded about trying new things as the software developers that are in the business of making new stuff! Geeze! Download it and give it a try before you post a comment!)

ytart 2 days ago 0 replies      
The problem with this fancy terminal is that the standardized tools, like cat and ls get abused in very bad ways...

What's the problem with ImageMagick's display for example? Or defining a new command that does pretty printing of images, like, say pls.

Don't fuck with our tool-chain buddy!^_^

sunkencity 4 days ago 0 replies      
Inspiring! And gorgeous look and feel to the site.
samlevine 4 days ago 1 reply      
More proof that people who don't understand UNIX are condemned to reinvent it, poorly.
swlkr 4 days ago 0 replies      
Wow this is awesome. This project basically just showed me everything I never knew I wanted.
bmaeser 4 days ago 0 replies      
one word: genius!
You can increase your intelligence scientificamerican.com
493 points by bootload  4 days ago   127 comments top 25
tokenadult 3 days ago  replies      
The author raises a number of interesting questions after citing several path-breaking research studies. Why, indeed, aren't school systems adopting some of these techniques known to improve children's learning and problem-solving ability? Quite a few mathematicians have written critiques of United States practice in teaching primary and secondary school mathematics, informed by practice in other countries, for example Hung-hsi Wu,





Richard Askey,



Roger E. Howe,


Patricia Kenschaft,



James Milgram.



All those mathematicians think that the United States could do much better than it does in teaching elementary mathematics in the public school system. I think so too after living in Taiwan twice in my adult life (January 1982 through February 1985, and December 1998 through July 2001). Taiwan is not the only place where elementary mathematics instruction is better than it is in the United States. Chapter 1: "International Student Achievement in Mathematics" from the TIMSS 2007 study of mathematics achievement in many different countries includes, in Exhibit 1.1 (pages 34 and 35)


a chart of mathematics achievement levels in various countries. Although the United States is above the international average score among the countries surveyed, as we would expect from the level of economic development in the United States, the United States is well below the top country listed, which is Singapore. An average United States student is at the bottom quartile level for Singapore, or from another point of view, a top quartile student in the United States is only at the level of an average student in Singapore. I've been curious about mathematics education in Singapore ever since I heard of these results from an earlier TIMSS sample in the 1990s.

The article "The Singaporean Mathematics Curriculum: Connections to TIMSS"


by a Singaporean author explains some of the background to the Singapore math materials and how they approach topics that are foundational for later mathematics study. I am amazed that persons from Singapore in my generation (born in the late 1950s) grew up in a country that was extremely poor (it's hard to remember that about Singapore, but until the 1970s Singapore was definitely part of the Third World) and were educated in a foreign language (the language of schooling in Singapore has long been English, but the home languages of most Singaporeans are south Chinese languages like my wife's native Hokkien or Malay or Indian languages like Tamil) and yet received very thorough instruction in mathematics. I hope that all of us here in the United States can do at least that well in the current generation.

P.S. Another reply mentions the Flynn effect (secular increase in raw scores on IQ tests from generation to generation in most countries worldwide), and links to the Wikipedia article. Thanks for bringing that up. Being aware that the Wikipedia article on that subject has been subject to edit wars that have gone to the Wikipedia Arbitration Committee,


I think it may be helpful to link to another source about the Flynn effect


that has had the influence of better informed and more impartial editors. There are several good discussions of the Flynn effect in recent books on IQ testing, and citations to those can be found in Wikipedia user space.


chegra 3 days ago 5 replies      
I don't think people on HN need more intelligence. After 120 IQ points, it doesn't make much of a difference to winning a Nobel Prize. I think what people need here is an increase in their willpower to see boring stuff through to the end.
abeppu 3 days ago 3 replies      
The author juxtaposes his recommendations against his unnamed professor's claim that intelligence is genetic and fixed at birth, pointing out that there are broad classes of behaviors that can improve our intelligence -- but he neglects half of the response to his professor's genetic predestination view, namely the whole host of physical/chemical/biological factors impacting both brain development and cognition later in life.

As just an example, I was recently impressed by a study (http://rspb.royalsocietypublishing.org/content/270/1529/2147...) demonstrating improvements on both a memory task and an intelligence task through creatine supplements. The explanation suggested by the authors (and it looks like some other literature as well, though I haven't really dug into it yet) is basically that creatine is part of a mechanism for rapid ATP synthesis, that the ion pumps in your neurons run on ATP, and that if you're sometimes "fuel-limited" (their word) creatine levels matter, in the same way that oxygen and glucose do. This make sense, but I was quite surprised to read this, I think in part because I'm used to seeing my brain as being a relatively static thing. Stepping down a level of abstraction, and thinking about the instant to instant chemical resource needs of individual cells and gates is kind of eye-opening. And for all I know there's hundreds or thousands of other documented effects, where increasing or decreasing the presence of some reagent associated with running ion pumps, or growing axons or synthesizing neurotransmitters has some measurable effect on intelligence.

aresant 3 days ago  replies      
The bullet point version extracted from the 4,474 words:

1. Seek Novelty

2. Challenge Yourself

3. Think Creatively

4. Do Things The Hard Way

5. Network

bumbledraven 3 days ago 1 reply      
http://sourceforge.net/projects/brainworkshop/ is an open-source implementation of the dual n-back test for Windows, Linux, and OS-X.

"Following training of working memory using the dual n-back test, the subjects were indeed able to transfer those gains to a significant improvement in their score on a completely unrelated cognitive task. This was a super-big deal."

mberning 3 days ago 0 replies      
I take exception to the 'Think Creatively' item. It's kind of like making a to-do list with 'lose 20 lbs' as a line item. Much easier said than done.

That being said, I think one of the best ways to improve your creative thinking is to work directly with other people that YOU consider to be creative thinkers. At my previous job I always enjoyed working with the CEO, sales, and marketing folks because they almost always approached problems from a completely different angle than I would. Experiencing how others ideate is very mind opening and often times humbling.

anthuswilliams 3 days ago 4 replies      
#4) Do things the hard way. It's hard for me to agree with this. In principle, I want to bemoan the decline of my ability to spell as a result of auto-correct. But I think that casts an unfair negative light on the idea of doing things "the easy way".

Think about math. There is no question that the Arabic numbering system makes doing math easier. Why should I to go back to scratching out base-60 cuneiform? I can challenge myself just as easily by pushing on to more powerful and abstract mathematical concepts made possible by timesavers like the Arabic numbering system.

I'm sure that having access to high-level languages limits my understanding of the bits and bytes. But I can use these new tools of abstraction to do things that I would have found impossible if I were writing machine code. I'm not sure I see the value in doing things the hard way, when my brain will be challenged enough probing the depths of what these new innovations have made possible. I think the author misses one crucial part of intelligence - intelligence, insofar as it is about abstract thought, is positively correlated with the sorts of things I can do without thinking about them.

bendmorris 3 days ago 2 replies      
You can increase your measurable intelligence. This is only true to the degree that intelligence tests measure what they're supposed to.
ambertch 3 days ago 1 reply      
'#4 Do Things The Hard Way'

I think this is so important for our young generation b/c everybody is trying to "hack" or "game" the system. The problem is that you don't actually internalize things by hacking your way through

So it depends on your goals. Let's take a computer science degree for example: if your goal is to do investment banking and having a CS/engineering degree from a top university really puts you apart from all those econ/business majors in the finance interviews (which it does), sure hack your way through CS/EE: you're not planning to go into that field anyways so copy-change homework and study past tests to hack the system and get a good GPA. But if you're doing CS to be a software engineer, you DON'T want to hack your way through, you'd want to "do things the hard way" and really learn the material.

keyle 3 days ago 1 reply      
You can play dual n-back here: http://cognitivefun.net/test/5
latch 3 days ago 1 reply      
Anyone interested in this might also be interested in the broader Flynn effect: http://en.wikipedia.org/wiki/Flynn_effect

I've always believed that additional/new stimulations is largely responsible for our increased intelligence.

gwern 3 days ago 0 replies      
'I know what the statistics say - but gosh darn, I have an anecdote to the contrary!'

OP spends a lot of time & space on Jaeggi 2008... and she quietly omits all of the other results and considerations: http://www.gwern.net/N-back%20FAQ#criticism

alexandros 3 days ago 0 replies      
The subtitle for this piece is '5 ways to maximize your cognitive potential'.

Shouldn't that be -realize- your cognitive potential, or maximize the utilization of your cognitive potential or some such? What good does it do to maximize my potential?

eande 3 days ago 1 reply      
Excellent article and here is a link to an open source Dual N-Back game, have fun.
chalst 3 days ago 0 replies      
The key study cited by the article is available in full as a PDF.

Jaeggi, Buschkuehl, Jonides, and Perrig (2008), Improving Fluid Intelligence with Training on Working Memory: http://lowellinstitute.com/downloads/BrainLearning/Fluid%20I...

bluekeybox 3 days ago 0 replies      
My addition (6): observe others, be inquisitive about other people. This will not only help you appear smarter to others (believe it or not, there is such thing as behaving/appearing smart), but will also help you with networking because (a) people respond positively when someone displays genuine interest in them (well as long as you are being nonthreatening) and (b) smart people tend to seek out others like them.
MetallicCloud 3 days ago 0 replies      
Excellent post. It's made me realise how much I have been taking the easy road lately.

I used to always be looking into new areas to learn about new things and really pushing myself, but I realise now that lately to solve a problem I reach for a familiar way to solve it, because it's easier and faster. This could be the reason why I am getting less satisfaction with solving problems lately.

Time to get back on that horse...

kmt 3 days ago 0 replies      
I always slack when it comes to number 5 (networking). I'm always busy with something "more important" and kinda have to force myself to get out and meet people.
dopkew 3 days ago 1 reply      
"So to make the most of your intelligence, improving your working memory will help this significantly"

This reminds me of how RAM is underestimated in improving computer performance.

notsosmart 3 days ago 2 replies      
I really enjoyed this article. I wish she had given specific tips on how to think more creatively. She mentioned what happens "when" you think creatively, but did not really go into the "how."
ashbrahma 3 days ago 0 replies      
pella 3 days ago 0 replies      
"Brain fog - poor memory, difficulty thinking clearly etc"


IvarTJ 3 days ago 0 replies      
PDD-NOS " Pervasive Development Disorder Not Otherwise Specified, is not necessarily a mild form of autism. The meaning is in the name. It means that the diagnosed doesn't fit more specific diagnoses such as Kanner's autism or Asperger syndrome.

Even though someone who's autistic fail to show intelligence through a test, I believe they still may be very intelligent and can show this better through training.

I personally still believe reasoning skills can be trained by learning new heuristics at least.

mannicken 2 days ago 0 replies      
From what I saw, society reserves creativity to artists, writers, composers, and other "creative types". For some reason creativity has become associated with creating useless inventions that no one will ever buy; sometimes people see creative person as a loner who spends days and nights on drugs throwing paint around or mumbling crazily.

In reality, creativity is, perhaps, our only advantage when trying to not get killed by other animals. Picking up a stick and fighting off a larger animal -- great example of creative solution. It's novel.

Before, no one ever thought to pick up a stick. Perhaps sticks were viewed as merely lying there, to be carefully avoided in case somebody steps on one. Maybe those who tried to pick up sticks were viewed as crazy, sinful by some sort of primitive Republicans (not that Republicans now are more evolved :)... I mean, who cares about sticks, animals were usually fighting with their own teeth, hands, or horns (I wish I had a horn).

It's not until an animal with a stick has beaten the shit out of another animal without a stick for calling him crazy, that the sticks became a useful tool.

I mean, face it -- we're just animals, and without creative approaches to our problems we wouldn't be talking about this on a giant electronic mind-network-thing.

john2x 2 days ago 0 replies      
Haven't read the entire article yet, but(this is off topic), highlighting any word on the website shows a "Learn More" tooltip which automatically loads more info for the highlighted text. Awesome.
Cool, but obscure Unix tools kkovacs.eu
475 points by larelli  2 days ago   114 comments top 35
gnosis 2 days ago 5 replies      

  abcde            - CD to mp3 ripper
apg - random password generator
base64 - better than uuencode
boxes - draw any kind of boxes around your text
bsdiff - binary differ
bspatch - binary patcher
bvi - binary vi (yet another hex editor)
ccx2 - console xmms2 client
clive - flash video downloader
dvipdfmx - dvi to pdf converter
enfuse - poor man's HDR
get_flash_videos - yet another flash video downloader
glark - advanced grep
indent - code beautifier
lshw - list hardware configuration
mcurl - multiple part downloader using curl
mktemp - safely create temporary files and directories
msort - sort records in complex ways
netbrake - bandwidth limiter
od - octal dump
par - paragraph reformatter
par2 - archive verification and repair tool
ped - sed done right with perl
pinfo - color info reader
pipe.vim - make vim part of a unix pipe and allow it to
edit the pipe contents
pv - Pipe Viewer: a tool for monitoring
the progress of data through a pipe
pydf - pretty df (disk space viewer)
qmv - use your favorite editor to rename files
(part of renameutils)
qodem - modem program that can do serial, telnet, ssh,
zmodem, kermit, etc
rdiff-backup - like rsync, but can do incremental backups
recode - like dos2unix and unix2dos, but with many more encodings
recordmydesktop - make screencast videos
remark - great logfile colorizer (part of regex-markup)
rkhunter - find rootkit infections
rlwrap - add readline editing support to any command
safecopy - data recovery tool (better than dd)
sponge - soak up stdin and write to a file
(for things like pipeline editing)
sux - su while transferring X credentials
unbuffer - force flushing of stdout
upx - executable compressor
utimer - countdown timer and stopwatch
vared - edit shell variables (part of zsh)
watch - run a command multiple times and display the output
(with differences highlighted)
xdotool - simulate keyboard and mouse activity
xxd - hex dump
zargs - a version of xargs that makes the find command redundant
(part of zsh)
zed - very small and fast vi-like editor (part of zsh)
zrun - automatically uncompress arguments to command

SandB0x 2 days ago 2 replies      

          ====        ________                ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _________________
/ | | H | | | | ||_| |_|| _| \_____A
| | | H |__--------------------| [___] | =| |
| ________|___H__/__|_____/[][]~\_______| | -| |
|/ | |-----------I_____I [][] [] D |=======|____|________________________|_
__/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|__________________________|_
|/-=|___|| || || || |_____/~\___/ |_D__D__D_| |_D__D__D_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/

SeanLuke 2 days ago 2 replies      
> nethack & slash'em

> Still the most complex game on the planet.

Dwarf Fortress.

cygwin98 2 days ago 0 replies      
tsort -- perform topological sort

I bet very few people here are aware of its existence, even it has been part of Unix since Version 7. I recently discovered it and have used it to solve some project Euler problems.

tybris 2 days ago 1 reply      
I recently discovered nl and felt sad about the amount of time I had wasted figuring out how to add line numbers to files.
zerosanity 2 days ago 3 replies      
How is vim an obscure tool? I'm pretty sure quite a few people use vim daily. After looking over this list, I suspect it's also true for many listed programs.
eru 2 days ago 1 reply      
Have a look at `join', it joins lines of two files on a common field. Together with `cut' and `grep' you can use text-files as relational databases.
lysol 2 days ago 0 replies      
If rsync is obscure, then I'm a dumpster wizard. That's a wizard that lives in an overturned dumpster.
oyving 2 days ago 1 reply      
I really like pipe viewer (pv). I wish it as more common in base installs of Linux.


kkovacs 2 days ago 0 replies      
Hi guys,

Kristof here, creator of this particular list. First, thanks for the kind words! :)

I'll maybe add more tools when I have some time to make more screenshots. It's surprisingly more time consuming than it seems :)

Also, I'm a bit of two minds with the whole list -- many people think that some of these tools are already not "obscure" enough, while others suggest adding even more trivial ones like ifconfig or grep. I'll have to think about this a bit :)

Once again, thanks for your feedback!


IvarTJ 2 days ago 1 reply      
You don't need stdio.h to use puts.

I was in the process of making something similar before I found what I wanted " rlwrap. It provides readline line editing capabilities to command line applications that don't support them, such as netcat.

younata 1 day ago 0 replies      
Even though these aren't really obscure, but they're worth mentioning as some of the best unix "tools" I've seen:

    Irssi - irc client
Mutt - email client

These are mentioned mostly because he included the newsbeuter rss client (which is amazing, I highly recommend it).

brcrth 2 days ago 3 replies      
htop, tmux/screen, xargs, vim/emacs, rsync, rtorrent, ack are far common to everyone I know (direct and indirectly) that uses the command line.
jefffoster 2 days ago 0 replies      
Here's a few of my favourites.

agrep - approximate grep based on edit distance).

GNU Global - source tagging system that integrates with the shell (less -tfunc displays the function given in the shell).

xmllint - xml validator, pretty printer and schema validator.

evangineer 3 hours ago 0 replies      
Is it worth mentioning pushd/popd here?
IProgrammer 2 days ago 0 replies      
For those who want to learn how to write their own UNIX tools, and specifically, how to write tools that work well with other UNIX tools, such as the shell and friends, this article may help -
Developing a Linux command-line utility:
newman314 2 days ago 0 replies      
Here's one that I find does not get a lot of mention but is quite useful when you need it.


guard-of-terra 2 days ago 1 reply      
Another cool one is xmlstarlet.
It's like grep and sed and some on top, but for XML files.

Especially, xmlstarlet sel lets you select whatever data you want from XML files, being a command-line XSL templates generator.

Don't know anything else useful for XML, so it fills a vacuum.

nickolai 2 days ago 2 replies      
Its amusing to see nethack and cowsay listed as a full-fledged unix 'tool's.
sharmajai 2 days ago 1 reply      
I recently discovered 'bc'. It stands for 'basic calculator' or more precisely from the man page - 'arbitrary precision arithmetic language'. It is all but a basic calculator, with better floating point precision capabilities than Java/Python.
oinksoft 2 days ago 0 replies      
`ncdu` is a godsend. It's like `du` but usable for troubleshooting.

None of the following from this list are obscure: screen, vim, rsync, xargs, curl

I'm tempted to put ack in that list.

kree10 1 day ago 1 reply      
lftp is cool, though I wish FTP would die (as telnet sensibly did over a decade ago) so I will no longer need it.
freedrull 2 days ago 0 replies      
Libcaca and its various programs:


Also, there is neercs, a terminal multiplexer that uses libcaca:

rizumu 1 day ago 0 replies      
I've discovered a lot of new apps from the post and comments. Give ncmpcpp, an excellent ncurses mpd client, a try and say goodbye to GUI music players.


Also in line with tmux, checkout teamocil and tmuxinator on github.

ashish_0x90 1 day ago 0 replies      
Guake/yakuake - A top-down terminal based on the tilda terminal from the game Quake.

Redshift/f.lux - Redshift adjusts the color temperature of your screen according to your surroundings.

chow 2 days ago 1 reply      
My obscure favorites:

yafc: The best command-line FTP client that nobody's ever heard of. Local caching, tab completion, bookmarking, SFTP, and other generally awesome stuff.

clex: Full-screen file manager for command-line junkies. Configurable directory display, smart name completion, enhances the command line without seeking to replace it.

pearle 2 days ago 0 replies      
Great post! It introduced me to a few tools I wasn't aware of previously. The main OS on my laptop is Ubuntu so this is very appreciated.
malux85 2 days ago 0 replies      
Most of these aren't obscure, but it was a good read, and I didn't know about slurm.

So over on one of the test machines I apt-get install cowsay ... One of the other devs here is going go get a surprise next time he logs into one of the webservers ... ;)

pstadler 2 days ago 1 reply      
mytop - a `top` clone for MySQL
zbowling 2 days ago 0 replies      
cowsay is used on craiglist's 404 page.
ericmoritz 2 days ago 1 reply      
And all these are replaced by Emacs :p
lewispb 2 days ago 1 reply      
My operating system doesn't have a package manager ;)
joelthelion 2 days ago 1 reply      
Apparently he hasn't discovered autojump yet :-D
thdn 2 days ago 0 replies      
why nmap is not listed?
hassy 2 days ago 0 replies      
Looks like he's running them on OSX which means they're likely to work on BSDs too.
My daughter was first sued in the womb ftrain.com
468 points by henning  6 days ago   67 comments top 13
hugh3 6 days ago 5 replies      
Request: change the title by appending "fiction" so that folks like me don't start reading to try and figure out how the hell a person can be sued while in the womb.
inoop 6 days ago 3 replies      
"What happened is, a long time ago, the country Belgium took over this country Congo and killed a lot of people and made everyone slaves."

No, that's actually not what happened. First of all, they did not take over Congo because Congo never existed before Leopold drew it up on a map on a rainy Saturday afternoon together with Stanley. Also, the country of Belgium did not take over Congo, it was a private enterprise by king Leopold II, although the government later took it over from him after reports of atrocities started to trickle through to western Europe. Third, they didn't make people slaves. The slave traders operating in Congo were mostly African-Arabic. The Belgians levied taxes on the population. This was first collected in rubber, and the colonist but also the Congolese army committed atrocities such as the cutting off of hands, murder of village elders, and so on to maximize production. Many more lives were claimed by the sleeping disease. Later on they switched to taxing in money which meant that many young men had to work in the mines to earn money for their village, often under really bad conditions. The wars, dictatorships, and genocides started after the independence.

Don't get me wrong, I'm not making excuses here or anything, but it irks me when people reduce the complex history of a beautiful country to an overly simplified and plainly false representation of the facts.

sunir 6 days ago 0 replies      
Very interesting story. I am reminded that tax software made it feasible for governments to make much more complicated tax codes. Legal software combined with the increasing acceptance of arbitration for civil suits could create this future.
jerrya 6 days ago 3 replies      
I'm not a good judge of these things, but it reminds me of Bradbury -- I wonder if he could be sued for that?

/seriously, it does remind me of Bradbury

josephcooney 6 days ago 3 replies      
Reminded me a lot of 'the right to read' http://www.gnu.org/philosophy/right-to-read.html
mechanical_fish 6 days ago 1 reply      
On the one hand, I should technically complain that the title given here is not the title of the story.

On the other hand, I think this title is a better one, so please disregard the previous sentence. ;)

edanm 6 days ago 0 replies      
Great story.

Interestingly, I don't think the "privacy" issue is the big change in the future described, but rather the fact that lawsuits are so much more automated. That's the real change that makes the story "possible".

vshlos 6 days ago 1 reply      
This is future! The proof is that "biggest bit torrent case" targeting 23000 defendants.


evan_ 6 days ago 0 replies      
Wouldn't the doctor or nurse who operated the ultrasound machine hold the copyright to the ultrasound image, not the manufacturer of the ultrasound machine? And furthermore, why would the daughter be named in the suit?
contrast 6 days ago 1 reply      
Sorry to be a hater, but what a brilliant example of how America's lawsuit addiction is a deeply unhealthy cultural trait.
simpleH 6 days ago 0 replies      
read like something Richard Powers would write
bwlang 6 days ago 0 replies      
ironic... i just logged in to upvote that
spoon16 6 days ago 6 replies      
"The Best of edw519" is now free. Reverse Happy Birthday edweissman.com
455 points by edw519  3 days ago   62 comments top 31
hieronymusN 2 days ago 1 reply      
This is amazing stuff - thanks much!

I made a slightly more readable HTML version (with linked TOC and back links) here -> http://bit.ly/lSLTVT

This could be converted to an ePub I think, with the linked TOC. If this a problem let me know and I will take it down, or maybe you could post it on http://edweissman.com/53640595 to get the linked TOC?

CodeMage 3 days ago 0 replies      
Happy birthday and thanks for the gift!

Edit: I tried to buy it, but Scribd won't allow me to do it because I'm not from US (and neither is my credit card). Is there any other alternative?

6ren 3 days ago 2 replies      
> 87. What got you "hooked"?

Loved this story, and I enjoy coding the more I do this.

The problem is to keep it focussed on "productive" output - otherwise you end up like that guy who wrote TeX instead of The Art of Computer Programming; or Blart Versenwald III¹; or

    6. It automatically classifies unread comments based upon similarity
to classified comments and some rules. (The idea was to classify the
first 300 comments and have the software classify the remaining
3,700. I realized this capability was unnecessary when the book
would only contain 256 entries. Oh well.)

Not to look this wonderful gift horse in the mouth (all the bits I looked into at random were actually great), but it would be nice if titles linked to their comments.

1. One of the greatest benefactors of all lifekind. http://www.cse.ohio-state.edu/~soundarm/book4.html

dgallagher 3 days ago 1 reply      
Love it! Bought a copy too! IMHO you're the best commenter on HN edw519! :)
sunjain 2 days ago 0 replies      
These pearls of wisdom are no less than PG's essays. What I find most impressive about his wisdom is that it had withstood the test of time....it's not just about finding the next big idea and executing it when you are 20/30 something and then do what? It goes much more deeper than that. It is about how to maintain genuine interest in programming, over a period, measured in decades(spanning all different type of envmts) and not years/months...To me that is the ultimate measure of success(for a hacker atleast).
mrchess 3 days ago 0 replies      
Any chance you can put this on the Kindle store? Not sure how easy it is, but I'm sure myself and many others would like to buy a Kindle copy :)
chanux 3 days ago 2 replies      
Hope you are not angry with me for taking it through readability, saving it to pdf and converting it to mobi.

Wishing you a very happy birthday!

Nemisis7654 3 days ago 3 replies      
First of all, this is awesome. Thank you!

Secondly, I am reading through this and came across this:

14. Should I still be a programmer?
"I lack the fundamentals of Computer Science, the things every programmer should know: Algo's, Data Structures, Operating Systems an understanding of compilers and being profficient with linux."

Relax. That's true for 99% of all programmers.

I feel like I am in the same exact boat as the original poster. However, I am a senior in college who has several interviews lined up. I have interviewed several times before and always flop on the "fundamental questions". Is there any further advice someone can give me? Thanks in advanced.

gommm 3 days ago 0 replies      
Great! Was planning to buy it but couldn't do it because of scribd (tired of having services requiring US credit cards)... Happy birthday!
jacquesm 3 days ago 0 replies      
I'd like to wish you a Very Happy Birthday indeed Ed and what a wonderful gift :)
Tycho 1 day ago 0 replies      
This feels like a treasure trove. Actually works out as a decent format for a book, I think. I saved the page as a webarchive to dropbox and opened it on the iPad with GoodReader. Good reading on the train. Cheers edw519.
wccrawford 3 days ago 0 replies      
Ahhh, thanks Ed! You rock!
zacharydanger 3 days ago 0 replies      
Happy birthday, Ed.
yesbabyyes 3 days ago 0 replies      
Thanks Ed, I always enjoy your comments and almost always nod in agreement! I look forward to reading this. Happy birthday!
krat0sprakhar 3 days ago 0 replies      
Happy Birthday Ed! Thanks so much for all the inspiration.
I've been reading this book for the past week each day during my bus commute. You have no idea how much pumped I get and can't wait to get to office and start hacking.
Thanking you so much Ed for this.
guynamedloren 3 days ago 0 replies      
Love #246 Hacker News Front Page 12/31/2019

But it's Mark Zuckerberg, not Mark Zuckerman ;-)

hardik988 2 days ago 0 replies      
Thanks so much Ed. I was looking forward to buying this when it was first posted on HN, but it was not available in my country. Now it is :) , thanks to you ! And a very Happy Birthday :)
eswat 3 days ago 0 replies      
This looks amazing and I'd love to pay for an eBook version, but Scribd won't let me buy it as a non-US resident. Any alternatives?
delinquentme 3 days ago 0 replies      
bought it!

still think it was totally worth it!

thanks and happy birthday!

caudipublius 3 days ago 0 replies      
your book was an insight of what life could've/would've been if I pray I become as wise and as productive as you have demonstrated.

good job/ haspy birthday>!

amitagrawal 3 days ago 0 replies      
Happy Birthday, Ed!

The knowledge which is packed in the book will save a lot of blood, sweat and tears in the coming years down the line.

You're truly a blessing!

dongsheng 3 days ago 0 replies      
Thanks! Reading this book at the moment, seems I missed a lot of good stuff since I signed up :-)
gabaix 3 days ago 0 replies      
Ed, could you create a post with the 10 principles of the book?
I just feel getting "take-aways" at a glance will help reader absorb information better. Your content is excellent so presenting in one-page summary is always a good thing. I wish more people will read it. It deserves it.
kiwim 3 days ago 0 replies      
I signed up to tell you that I'd love to pay for a kindle version. And happy birthday!
evanw 3 days ago 0 replies      
I'd like to support the author - is it possible to purchase this book and read it on Kindle?
Arxiss 3 days ago 0 replies      
Happy b-day Ed!

I couldn't buy your book, but now i can get it free. Thanks a lot :)

happyfeet 3 days ago 0 replies      
Happy Birthday Ed! Thanks so much for sharing.
zafka 2 days ago 0 replies      
Happy Birthday Ed.
Thank you for the gift.
yr 2 days ago 0 replies      
I wonder why you are not still a startup millionaire ?
ageisnil4coding 3 days ago 0 replies      
I like that age is not important in programming (see 94).

So H.B. to you.

briannewman 2 days ago 0 replies      
Thank you Ed, this is amazing!
Poll: Do you support software patents?
424 points by robryan  6 days ago   303 comments top 102
mrcharles 6 days ago  replies      
I can't stand the idea that I might be at my computer, working with code, and develop something independently which later causes me to get sued. Abolish all software patents.

edited to add "software".

Zak 6 days ago 3 replies      
In principle, they could give a lone programmer or small company that invents something awesome the edge needed to break in to a market dominated by large companies. I consider this to be desirable.

In practice, they're used by large companies to prevent lone programmers or small companies from breaking in to the markets they dominate. I do not consider this to be desirable.

They're more trouble than they're worth.

bane 6 days ago 3 replies      
At risk of taking an unpopular devils-advocate position:

I think that the principle of patents is okay. Invest time and money developing an idea, with a guarantee of exclusivity on executing on that idea in the marketplace for a period of time. It encourages a level of risk taking for "getting there first".

Software patents aren't any different in many respects because somebody has to go through the time and effort to actually come up with the idea.

The problem that software patents face is that, while many of the ideas are new and innovative to non-software people, software people tend to groan about seemingly obvious amalgamation of common software techniques into another idea. But really, most patents (non-software) are the same:

Cooking an egg with an electric heater http://www.google.com/patents?id=RgcEAAAAEBAJ&printsec=a...

Glasses for a chicken http://www.google.com/patents?id=M5BGAAAAEBAJ&printsec=a...

Making water hot with the sun http://www.google.com/patents?id=YBwrAAAAEBAJ&printsec=a...

Resoling a shoe http://www.google.com/patents?id=895CAAAAEBAJ&printsec=a...

Keeping paper dry http://www.google.com/patents?id=7IBqAAAAEBAJ&printsec=a...

That was 60 seconds of searching the patent database of common sense ideas. Clearly obviousness is not much of a threshold in patents, software or otherwise.

Perhaps a better way to think of software patents is not "obvious ideas" but "soon to be obvious ideas". In my experience, most software patents become blindingly obvious after the fact, but if they were so obvious beforehand, somebody would have:

a) implemented it into a working system (prior art)

b) patented it themselves first

Our principle problem is that the world of software moves breathtakingly fast, and keeping soon-to-be-obvious ideas locked away for a long time can seem ridiculous. But make no mistake, even implementing some obvious ideas can be the investment of millions of dollars in R&D.

For example, a system integrator I know of had an IR&D program that spent $130 million dollars just in the R&D phase for what amounts to off-the-shelf software, installed on a few VMs, on rackmounted servers, in a large plastic shippable box with a few perl scripts and cron jobs hacked together to shuttle data between the COTS software and an Oracle database running in one of the VMs. Obvious? Perhaps. But nobody had gone through the trouble to actually do it, and spending that kind of overhead was a significant risk.

Should they own this idea for the next decade or so? Probably not, but how about the next 12-24 months? At least long enough so that they get a head start against competitors who didn't get there first.

I do think the patent system is need of serious reform w/r to getting rid of patents with prior art. Fighting a bad patent can be more expensive than getting one in the first place. And software patents are too frequently granted in cases where there is obvious prior art, common algorithms for example.

If we really want to fight software patents of obvious ideas, or permutations of obvious ideas, perhaps somebody should write a tool that simply combine every obvious idea in software into some greater system, then documents it all thus creating prior art that stops all of these so called bad patents...and then patent the "prior art permuter". In other words, if the ideas are obvious, a piece of software that does this should be buildable. I call this the "obviousness of software patents theorem".

ry0ohki 6 days ago 3 replies      
My vote would be "Yes, if the Patent office approved only real innovative things". For example if I come up with some revolutionary face recognition technology, that seems novel enough to be patented. But if I just make a form with a submit button (Google's Patented home page), or Amazon's one click purchasing those are just ridiculous as a patents.
Silhouette 6 days ago 1 reply      
I think the worst practical thing about software patents is that they create uncertainty. If there is one thing that is universally abhorred in the business world, it is uncertainty.

There needs to be a fast, cheap, reliable method by which small businesses can determine whether they are affected by anyone else's patent rights, and if so, by whose and to what extent. This way they can enter useful negotiations and adjust or abandon their plans as appropriate if patents are involved, or they can build their business free of unknown liability otherwise.

Given that I can see no viable means of ever constructing such a system, I don't see how patents or any similar legal tools will ever be anything but a tool for those with vast resources to crush competitors with few resources through means other than fair competition in the market.

abrahamsen 6 days ago 0 replies      
Please everybody, don't go reddit with the comment voting.

It is clear what the majority opinion here is, but I see well formulated comments supporting the minority opinion being voted down. If you think their arguments are wrong, don't vote them down. Instead, vote up the comments that explains why they are wrong.

patio11 6 days ago 7 replies      
This is one of those issues that I feel is more a member of tribal affiliation than anything substantive. It's like flag burning for us Republicans: if I were to rank order my political objectives, "prevent flag burning" would be somewhere in the x0,000s, but the tribe cares about this a lot for philosophical reasons (which I'm broadly speaking on board with) and as a result uses it as a signaling mechanism.

Software patents strikes me as signaling for geeks, or the techno-libertarian-esque streak that is pretty common in the community at any rate. Is it an important issue? Well, yeah, I'd love to see it addressed. Someday. Maybe after flag burning.

There are many, many issues used for signaling that I feel about similarly.

eof 6 days ago 2 replies      
With this type of support for abolishing software patents from the people who write the software; it seems we must be able to organize some sort of strike to just put an end to it immediately.
cperciva 6 days ago 2 replies      
I see no reason why an invention should be unpatentable simply because it involves software.

That said, it's obvious that the current system is broken; there are many patents which do not seem to do anything new, and simultaneously the cost of applying for patents deters the group for whom they are most important -- small innovators who are unable to commercialize their inventions.

The system needs to be fixed, not thrown out.

Symmetry 6 days ago 0 replies      
I said abolish, but really I think we could have a workable solution by either giving the PTO the funding it needs to do a good job, or eliminating the presumption of validity. The big problem we have now is that the law assumes that all patents are properly examined when the PTO doesn't have the resources to do a proper examination.
linuxhansl 6 days ago 1 reply      
Since this is specific to software patents, my vote was to abolish them all.
Patents on Software make not sense (other protections like Copyright, are essential, though).
I have yet to see one "invention" that would not have seen the light of day without software patents.

Patents are a method to protect significant costs cost of an invention (to incentivize research).
Having an idea for an algorithm is does not represent a great cost and it is not in the interest of society to grant a monopoly).

rkalla 6 days ago 3 replies      
I have a hard time with this topic. Of course the only thing that ever gets covered in main-stream tech media is the abuse by patent trolls suing Company X because they are using their "electronic key-input device" patent to type on their computers.

We all roll our eyes and go "Damn these patents! DAMN THEM!"

But then I think of the purpose of the patent system in general: to protect and encourage innovation. I think of the research scientists coming up with approaches to genuinely unique and interesting problems and yes, I want them protected from getting rail-roaded by larger software firms.

I've discussed this with a patent attorney before and his feeling is that software patents are generally a good thing, but there has to be ONE change that would do away with most of the bullshit patents: proof of implementation.

Right now, apparently, I can patent the 40-click checkout process and sue Amazon when they implement it... but I never need to implement it, release it or use it in production. I just need to think of the idea and I can patent it.

I imagine a lot of these IP-only firms wouldn't have such a strong grip on stupid garbage patents if it required them to show working implementations.

I believe this is the same way with patents in manufacturing. Someone correct me if I'm wrong, but I think you need to produce the mechanical process you are patenting and at least show it is viable before patenting it?

Whether that is true or not, requiring that of patenters would go a long way of making the work more worthwhile and not just a bunch of lawyers sitting in a room with a few engineers, waving their hands around all day until they invent and patent the use of desk chairs.

aneth 6 days ago 0 replies      
I think it's highly unlikely the patent office would ever have the sophistication necessary to distinguish a truly new approach to an algorithm or architecture from a derivative one.

Additionally, there is so much depth and breadth in CS that innovation happens everywhere and is often hidden in the bowels of universities, garages, and offices. Even an apparently novel invention is unlikely to be invented only in one place, or to be invented first by the entity that files for a patent.

msg 6 days ago 0 replies      
I buy the argument that software is math and thus unpatentable. My experience has also been that most software patents (and especially always the most notorious) are trivial applications of an algorithm to some subject area.

But here's a more pragmatic argument.

The current patent system exists to provide financial incentive to bring the number of inventors in an untouched area from 0 to 1.

It is completely broken wherever it brings the number of innovators in an emerging area from 50 to 1.

The first case is probably true in any industry with high startup costs and unproven technology. The second case is true of software and services on the still young, still evolving internet, with low technological barriers to entry and fertile soil as far as the eyes can see.

If we want to see what innovators are really capable of, we'll get rid of software patents and watch them duke it out in the market.

nimrody 6 days ago 0 replies      
Where do you draw the line between a "software patent" and a hardware one? Doesn't make sense to make a distinction based on the method of implementation (especially given that lots of HW is micro-programmable).

Yes - many silly patents are being filed for unreasonable reasons (fight patent wars, get a bonus, etc.) But making a distinction based on only on way of implementation is just as silly.

InclinedPlane 5 days ago 0 replies      
Bluntly, it's this:

Patents are designed to encourage and accelerate creativity and innovation, today they do exactly the opposite. They should go away.

dgallagher 6 days ago 0 replies      
I think, if continued to be allowed, software patents should expire 2-3 years after being issued. We no longer live in a time where it takes decades to invent new software technologies, requiring a patent to protect the inventor for years/decades to recover their investment costs. Software and technology moves so quickly that long-term patents stifle innovation and creativity.
mindcrime 6 days ago 0 replies      
I support complete abolishment of the entire patent system, not just software patents. I believe that - in practice - patents do more to inhibit innovation than to encourage it, and I also find the idea that the government will use force to prevent you from using an idea - that you may have developed independently - to be immoral.
dfox 6 days ago 0 replies      
My take on this is: Abolish all patents (not only software).

Patent system simply does not serve it's purpose (which ws to motivate inventors to publish they ideas, so they could be later reused) as patents are intentionally written as to be unreadable and uninformative. And this happens not only in "software" or "business method" ones.

pradocchia 6 days ago 0 replies      
Germany had a flourishing chemical industry in the 19th century. You couldn't patent chemical compounds, being things of god and nature, but you could patent the process. This created the perfect environment for competition and innovation. England, by contrast, did allow patents on chemical compounds, and by contrast their chemical industry was weak.

Switzerland continued in the German tradition until recent years, and had a flourishing pharmaceutical industry, despite the lack of patents.

More: http://www.econtalk.org/archives/2009/05/boldrin_on_inte.htm...

zmmmmm 6 days ago 0 replies      
It is interesting that this poll does not mention the problem that I most care about: that the bar for "obviousness" seems to be way too low for software patents. It is so low that I actually worry in my every day work that I will accidentally violate patents simply by solving simple every day problems in obvious ways.

I would support some kind of software patents for truly novel inventions. However so many software patents that I see are almost insultingly obvious, even when you place them in context of their time.

So, yes to software patents if:

1. Shorter time period - 20 years was based on an industrial era time frame for physical manufacture and distribution

2. Much higher threshold for obviousness. Companies should have to declare problems they are applying for patents for publicly and fund a bounty for members of the public or any challenging organization to win by submitting solutions. Only when third parties fail to suggest the methods in the claims should something become patentable.

rglover 6 days ago 0 replies      
I'm surprised things like business process patents aren't more widely supported. Especially in the software industry, it's pretty obvious that most applications are the result of somebody developing (or at least, think their developing) a better method for accomplishing an existing task. Correct me if I'm wrong, but don't business process patents enable similar ideas organized differently to equally receive patents? It's truly difficult to lean either way (however, I did vote for the abolishment of all patents). If you're a successful business who is challenged for your innovation, the only protection you really have is a patent. If anything, I feel like those in the software industry should form some sort of agreement and petition the government to enact new rules specifically for this industry. As technology evolves, I shudder at the thought of how the archaic system we have now will all but crumble. There should be a lot more future-proofing taking place.
ericHosick 6 days ago 2 replies      
I've spent the last few years working on a new approach to developing software. I've spent a lot of my own money (at least $40,000 USD) on research to perfect it. Currently, from the research I've done, I've found no prior art.

Should I be able to patent this technology? Should I just release it? If I just release it, wouldn't a large company patent aspects of it and sue me for infringement (it costs $ to prove prior art).

At the very least, wouldn't a patent give me the option to open source the technology without the risk of aforementioned large company coming after me? And if said company does come after me, would it not give me a chance to buddy up with another "large" company?

6ren 6 days ago 0 replies      
Imagine a Book of Code, like Knuth's Art of Programming, but easier to search and understand.

If you come up with something new, and write it up clearly enough, it can go into The Book. You get royalties for X number of years (maybe 5? idk). Everyone uses this as a resource. Perhaps there's ARIA-like licensing (where a cafe pays a standard rate to play any music they like), for usages based on how many people use it (so a small software shop pays a small annual fee, and google pays huge fees) - or more likely the owner sets the price. Like an app-store for algorithms. After X years, it becomes free.

The patent system is nothing like this. I'm not sure it's even technically possible, though certainly textbooks get written and some of them are excellent (perhaps with financial motivation, you could employ people like David Flanagan writing up algorithms).

Having such a Book would being programming much closer to an engineering discipline. It would also make contributing to the Book a badge of professional honour, and not disparaged as patents are today. Really, anyone who invents a new and useful approach should be lauded - but the patent system has strayed far from this.

lukifer 6 days ago 0 replies      
Intellectual property is a curious intersection of capitalism and socialism: a free market which would barely exist without the creation of artificial legal constructs.

Bottom line: patents exist to foster innovation both for creators and users of ideas. Software patents do not accomplish this goal, and they are beyond redemption.

Writersglen 6 days ago 0 replies      
I owned and managed a small software development company for nearly 25 years. We produced many creative educational and consumer products for large publishers. We had neither time nor money to research every innovative routine we developed for possible infringement. Nor did we have money to apply for patents or defend them if they were granted.

As we've seen, software patents stifle creativity and innovation; reward those with money rather than creative energy and ideas.

kenjackson 6 days ago 0 replies      
I think the software field is so fast moving that the current time period for a patent is not justifiable. But I do think that someone who invents something should be able to get some advantage out of it, rather than having a Google just waiting to take the invention and make it big.

So I say make the patent expiration period 30 months. This gives you substantial lead time, yet prevents issues like people fearing Apple's multitouch patents years after they've gotten the patent.

Plus it really takes patent trolls off the table, since these patents will have likely expired before they can get them. And it also takes off the table acquiring companies for IP.

johngalt 6 days ago 0 replies      
The closer you get to the ideal situation with software IP law the closer you get to copyright style and the further away you get from patents. Software patents could work. It would just mean applying them more sparingly. You can patent the specific crank you've created, but not the whole idea of rotation.
pbiggar 6 days ago 0 replies      
I wrote a article about software patents a few years ago: http://paulbiggar.com/research/article.txt.

The issue seems to pop up every couple of years. Each time, abolition of software patents seems closer and closer, but never quite gets there.

JulianMorrison 6 days ago 0 replies      
No patents would suck a few ways - new ideas might well end up being locked in obfuscated machine code or sealed in ROM until someone puts in the effort of disassembling them and teasing out the algorithm.

But, they still suck less than the alternative, a world in which programmers are prevented from doing the right thing, innovation and start-ups require a willingness to dare a legal minefield blindfolded, big companies have unanswerable bludgeons against little companies, and unproductive trolls get to charge productive people for using ideas they couldn't comprehend, let alone create or use.

Tear it down. Replace it with nothing.

haberman 6 days ago 0 replies      
I hate software patents, and would personally love to see them abolished.

I have a question though: how important are patents to startups? Aren't software patents one of the tangible assets they point to to justify their valuation?

petegrif 6 days ago 2 replies      
I think the problem here stems from the fact that people talk as if "software" were one homogenous entity. But as we all know - it isn't. Some software is trivial and some isn't. Some represents a trifling investment and some a huge investment of time and dollars. Some is very easy to copy and some much harder. It is only when we start thinking about such categories that we can make real progress thinking about where and when patents may be appropriate when they are not.

Let's stipulate that the USPTO is not perfect. They do make mistakes. Patents are issued that should not be. But the existence of such patents should not be taken to be an inditement of the entire system. Few systems are perfect, but recognizing this let's further stipulate that advocating tossing the baby out with the bath water on this basis alone is impulsive.

The difficulty is in drawing a line - defining innovations which deserve protection and those which don't.

Let's try a thought experiment. Imagine you have an idea which you believe to be novel. You research the field and it does indeed look novel. You look into the problem. It's non-trivial. It is going to take man-years of work to put together an implementation. But there's a problem. The technology you have to use to implement it is such that it is extremely easy to copy your work. You don't want to have to patent your work. You don't want the time and expense. Perhaps you have principled reasons why you don't want to patent it? But let's consider your options. If you don't get patent protection you are left with (a) trade secret (b) copyright. We already know that a trade secret won't work because your work will be in a form that is easily copied. Does copyright protect you? No. Why not? Because copyright only protects the expression of the work, not the underlying ideas, no matter how novel and valuable they may be. It is easy for a determined competitor to take your work and re-engineer it such that copyright is worthless.

So what are you going to do? That depends on who you are. If you are a huge company and you still don't want to patent it you can go ahead and develop and publish your progress so that it is in the public domain and a competitor can't patent in the area. You are relying on your market strength to carry the day. But what if you are a small company? Are you prepared to risk everything with no protection? It is risky enough anyway starting a company, as we are constantly reminded, but if you can so easily be ripped off, isn't it wise to think twice?

It's your decision. You may have philosophical objections to patents so strong that you just don't proceed. That is your right. But if someone else decides to proceed it seems to me that it is perfectly rational for him/her to seek patent protection. It would be crazy not to. There is plenty of recent precedent of large companies ripping off small innovators even when they have patent protection!

IMHO to evaluate 'software patents' as a class is dangerous. Our industry is too big and the use cases are too various for such generalizations to be helpful. It is only by considering categories of innovation that we can hope to make progress on patent reform is such reform is needed. A knee jerk 'all software patents are the work of satan and should be trashed' doesn't help any more than a strident declaration of IP rights by well financed patent trolls.

ajju 6 days ago 0 replies      
I would love to see all software patents abolished.

I feel conflicted about having my name on several software patents - on account of working for (or co-founding) companies that needed defensive IP. Had I not been on the receiving end of a ridiculous software patent lawsuit while I was working at a startup, I would never have filed any patents when I started my own company. If the startup I worked for had not been acquired before they lost said lawsuit, it would have killed the company, destroying some amazing innovation and killing a couple of hundred jobs.

As things stand, even folks who oppose software patents don't really have an option but to file patents of their own unless they want to risk being sued into oblivion with no bargaining chips of their own.

monochromatic 5 days ago 0 replies      
I don't really mean to complain about this poll, because it's a legitimate question and it's sparked some good discussion. But having a poll about software patents on HN feels a little like having a poll about the ATF over on Glocktalk (or some other suitable analogy). Of course everyone (to within experimental error) is against.
ndefinite 6 days ago 0 replies      
Stephan Kinsella makes a pretty compelling argument that's hard to refute: http://blog.mises.org/11717/against-intellectual-property-au...

Just because someone beat me to the patent office legally means I'm not permitted think up the same idea and use my computer to do the same. It's not even about copying, I'm legally limited in what I'm permitted to think up and do.

wh-uws 6 days ago 0 replies      
Yes but I think they should have an active use clause.

If you are not actively using what is patented the patent should expire much faster.

On the order of months.

This would discourage people from patenting things they only wish to use to sue others with or purchasing such.

Also if you just wanted to attack trolls directly the active use clause would only kick in after purchase.

jeffool 6 days ago 0 replies      
Traditional patents are like creating new tools for a carpenter to use.

Software patents are when someone picks up a screwdriver and says "I'm going to use this to pry the lid off the paint can. No one else can do that now, ever again."

SoftwareMaven 5 days ago 0 replies      
I voted for a much shorter period, but I want to include a much more rigorous definition of non-obviousness in there. Perhaps my idea can't be reasonable implemented, but the current system is obvious broken.
rednum 6 days ago 0 replies      
I don't think that software patents are 'controversial' among HN community - I remember reading comments to some threads about patents and they were pretty much like the results of this poll - ie. the vast majority of people expressed opinion that software patents should be abolished and virtually noone supported current system. (Also this was before post karma was hidden, which made attitudes even clearer.)

Edit: my point is that I am a bit surprised by a relatively long time HN member asking question about issue that seems pretty much to be settled down in this community.

dustbyrn 6 days ago 0 replies      
We who invent things, we who solve problems in new ways, don't do so because we can get a patent. We solve the problem because when you put a problem in front of us, we can't stop ourselves from solving it. It haunts us. We dream about it. And the only way to make it go away is to solve it. That's the nature of Engineers, the nature of Inventors. Engineers don't think about patents when presented with a problem, they think about solutions. Lawyers think about patents and they don't invent anything.

You might have a better idea than the last guy, but chances are your idea overlaps with his a little. If your new idea has some similarities with an exiting patented idea, implementing it could be risky. If engineers did a patent search for every idea they had, they would find some overlap with existing patents every single time. Nothing would ever get created. The true evil of patents is that they actually stifle, rather than promote, innovation. The effect of patents is opposite their intent.

blantonl 6 days ago 0 replies      
Shouldn't someone ask, "what defines a software patent?"

The author of this post should really clarify this since the term "software patent" could be easily be extrapolated by any polster here, thus polluting the end result.

rdl 6 days ago 0 replies      
I am against patents in general, and especially against software patents. I wasted a lot of time from ~1990 to ~2000 with RSA alternatives, and then there was the whole Chaum and Brands patent mess which was another bottleneck for anonymous cryptographic token electronic cash (think bitcoin but anonymous, and even better).

I am really kind of sad that I'll be getting some for my new company; it's a waste of $100k, time, etc., but it is the prudent thing to do.

chrisbennet 6 days ago 0 replies      
(I'm for abolishing all software patents.)
The justification for patent protection is that is required to encourage innovation in the arts or some such.
In reality, innovation in software is happening in spite of patents. Consequently, there is no justification for for granting this harmful monopoly.
wildmXranat 6 days ago 0 replies      
My suggestion is to cut the period to 12 months and invalidate patents that have been issued so far. I have absolutely no hope there will be a cleanup of the patent house. There are many reasons why regulators fail to match the industry they are regulating in spend and effort. Same goes for finance, medical, software ...
Sakes 6 days ago 0 replies      
Maybe we just need to change the patent system itself.

I believe people game the patent system by trying to be as general as possible when creating patents.

I believe this stifles progress, I believe stifling progress is wrong, I believe stifling progress hurts us as a country in a time when we can not afford it.

What if a patent's definition changed over it's life time based upon what the company is actually using it for?

I think this would solve a couple problems.

1) It would force the company to actively invest in "idea's" that they own if they are actually makers and not scammers. (Yeah!!, progress continues)

2) It would open up the patent system to redefining the shelf life of patents.

We could call this new system "Shit or get off the pot!" patents.

notJim 6 days ago 1 reply      
I'm somewhat surprised that the vast majority of people here are against all software patents. I agree that many software patents are absurd, but I think of things like H.264 and MPEG where true innovation was required on the part of the people who developed it, and it seems clear to me that those people have a right to patent that work.

I'm curious though: what do people see as being the alternative?

camiller 6 days ago 0 replies      
Abolish all, software should be covered under copyright rather than patent as the expression of an idea.
kevinpet 6 days ago 0 replies      
The problem isn't whether the patent is in software, it's that that patent office grants patents on trivial things.

Should be patentable: RSA
Should not be patentable: One click

The patent office needs to say "what problem does this claim to solve?" and then "if someone skilled in the art were faced with that problem, would the claimed invention really be novel and non-obvious".

RSA passes this test. Problem: secure encryption without prior secure key exchange. Solution: innovative math that makes that possible.

One click does not. Problem: if customers could avoid logging in multiple times, they'd buy more. Solution: set a cookie, using totally existing technology.

Some are still going to be borderline. Any useful rule is going to have questionable cases.

amikula 6 days ago 0 replies      
There's one simple phrase I like to keep in mind when thinking about software patents. Its mere existence demonstrates that patents are not serving their intended purpose: "accidental patent infringement"
waqf 6 days ago 0 replies      
I think it's just a question of the bar being too low (though being so much so as to make patents that are found acceptable qualitatively unlike patents that I consider acceptable).

For example, I think the LZW patent was deservedly admissible (though it rightfully did not prevent equally-good and patent-unencumbered algorithms from being developed).

marquis 6 days ago 0 replies      
New Zealand banned software patents a couple of years ago I believe, and from what I see from friends there they have have a thriving software industry.
UserError 6 days ago 0 replies      
Copyright and trademark law are sufficient to protect coders. Software patents are absurd. It's analogous in my mind to allowing Stephen King to patent a certain kind of plot twist.
aantthony 6 days ago 0 replies      
All patents abolished. Ideas are worthless once executed and it's ludicrous to own even someone else's idea even before it exists, if it so happens to be covered by your patent.

EDIT: IMHO I think patents can be good, but in some cases (especially software) it is too hard to draw a line between what's patentable and what's not. It is also highly subjective, market dependent, and far reaching in it's implications on preventing innovation if not done right.

mikerhoads 6 days ago 0 replies      
I support abolishing all patents, not just software.
viggity 6 days ago 0 replies      
I support software patents, but the USPTO needs to make some drastic changes in what is considered "novel". Way, way, way too much of what is patented is, pardon the pun, patently obvious.
JesseAldridge 6 days ago 0 replies      
I would vote for: "Don't understand the issue well enough to judge."
daimyoyo 6 days ago 0 replies      
It clear that the overwhelming majority of people here think software shouldn't be patentable. The next question is what to do about it? How can we get software patents out of patent law?
bediger 6 days ago 0 replies      
The current system, and all of the rather draconian suggestions for change, ignore the issue of independent invention. The only study done on this so far (http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1270160) suggests that almost all infringement is due to independent invention.

Independent invention should negate infringement issues. In fact, in some cases (invention from an even less extensive background) should cause patent re-assignment.

The current system (and all changes proposed so far) also fail to address the US constitutional mandate of causing progress. The current system doesn't.

chmike 6 days ago 0 replies      
What is ment by software pattent ? Patenting a method used in software ?

People hear about patent trials but not when startups get their business model copied or stolen by bigger companies. They don't make any noise when they are smashed like moskitos. In one story I've hear of first hand witness from the bad guy side was that they didn't simply trick them into explaining their secret sauce recepie, they also phone the bank and their investors to stop fnancing them. They where big enough to do that. If they had pattented their method for mobile phone geolocalsation in 1999 in absence of gps at the time, things would have probbly run differently.

Patent troll is bad, but when it is for the initial idea of it, that is protecting its inventor during the process of creating the business around it, then I think it's fair.
Maybe 20 yeas is s bit long consdeing computing technology evolution.

clord 6 days ago 0 replies      
My position on the matter is that patenting software or other mathematics should require full disclosure of the source for the system. If not expressible in a full-blown language, it's not patentable (e.g., one click).

Let's shorten the length for software patents. For the duration that it is valid, the patent office simply acts as a custodian of the code, ensuring that it works and certifying that it is novel. The patent office should maintain (or contract a company like GitHub to maintain) the repository of pending public domain source.

And once the patent expires, the source is released into the public domain, still under source control.

We can also strengthen prior art rejection of bad patents.

Finally, give enforcement more teeth, but narrow the scope to match more closely what is checked into the repository.

A system like this is more in the spirit of what a patent is: a temporary monopoly with a public-domain disclosure of the idea at the end of term.

seanp2k 6 days ago 0 replies      
http://www.google.com/patents?q=online+payment&btnG=Sear... Pretty much all of these are idiotic.

See also: http://paulspontifications.blogspot.com/2011/04/patent-58931...

Software patents are stupid because you're trying to patent A WAY OF DOING SOMETHING and not A PRODUCT, even if said product is built from ways of doing something.

Example: I patent "A method for storing data on physical storage using blocks" and sue everyone. There are people who try to patent RAM and storage: http://www.google.com/patents?q=a+method+for+storing+data...

I'd wager that most of those are invalid patents / should be abolished.

veyron 6 days ago 0 replies      
Is there any info regarding the age of most of these patents? Take for example the Lodsys patent on in-app purchases. I remember reading that the patent in question was filed in 2003, as part of a chain of patents starting in the early 1990s.

I ask because I suspect most of these patents were approved long before these ideas were obvious. Note: I dont necessarily support software patents.

domador 6 days ago 0 replies      
I utterly detest software patents and the inaccurate view of innovation they embody. In theory, software patents should encourage innovation. In practice, it looks like they hinder it, and instead enable a legalized form of extortion and parasitism.

I'm glad that software is unpatentable here in Costa Rica (as far as I know). I hope we never get infected by this detestable legal concept. As someone who develops software for international markets, though, I'm afraid I'm not immune to this issue, even if software patents are locally unenforceable in my case. I hope developers in other countries (the U.S. in particular) will care enough about this issue to organize and seek reform. Please, do what it takes to convince or hire legislators to remove or drastically reform this misguided legal concept!

billmcneale 5 days ago 1 reply      
The US

- has very strong support for software patents

- is one of the most innovative countries in the world in the software area


- has no support for software patents whatsoever

- has close to zero innovation in software

Can someone explain this paradox?

danssig 6 days ago 1 reply      
I see huge problems with the current system but in the current capitalistic world we live in there has to be a way to protect money/time spent on researching things. If the results of 10 years of research can be stolen as soon as they're announced no one is going to pay for research anymore.
efnx 6 days ago 1 reply      
Why aren't more software patterns patented? For example, the Observer pattern, Model View Controller, Active Record, etc.? These are patterns that pop up naturally while coding that seem on par with the 'in app purchase' pattern (if I can call it that). Why haven't the trolls patented more of our building blocks?
jeffg1 6 days ago 0 replies      
No. Abolish all software patents, limit all other forms and liberate knowledge towards the evolution of humanity.
woodpanel 5 days ago 0 replies      
I can't get rid of the feeling that (software) patents are just a means of driving out competition.

For a competitor, it adds layers of unproductive expenditures (legal work), pressures competitors into piling up their own stock of patents as leverage, thus creating patents whose creative accomplishment is the application for an patent. It creates a legal mine-field of patents, more legal insecurities, making an industry unattractive to enter.

(software) patents mean more waste of money, less competition, less innovation and are turning a free-market into a oligarchy-game, where participation is impossible without being part of the big players.

sunahsuh 6 days ago 0 replies      
Just wanted to plug the FSF's documentary "Patent Absurdity: how software patents broke the system" -- actually watched it this past Friday. It's only half an hour long:


markchristian 6 days ago 0 replies      
I support it given the following sniff test: if a skilled software engineer could use an implementation of the idea the same way an ordinary would and then immediately walk back to his/her computer and implement it, it is not worthy of a patent.
mike_esspe 5 days ago 0 replies      
I wonder, if results with copyright poll will be completely different? The poll: http://news.ycombinator.com/item?id=2555088
RexRollman 6 days ago 0 replies      
I feel that software patents should be abolished, but barring that, extremely shortened. I would say three to five years; a lifetime in the world of software.
lhnz 6 days ago 0 replies      
If somebody literally copy-pasted my code and released it as their own, then I'd be annoyed.

But I take no issue with somebody reimplementing ideas. That's progress.

generators 6 days ago 0 replies      
(1) Patents should be analyzed for level of difficulty in coming up with solution. If I had a website like amazon, more than 50% chances that I would have come up with single click idea. But since I didn't had problem, I could not have solution. so such patent should be allow only "acknowledge" status <- that means, a software that is using such patent must "acknowledge" the original creator somewhere , but it can use the patent freely. (2) if patent is used, it is liable for max 5000$ ( for e.g. ) charge. or (3) 500 Million $ charge. It all depend and subjective. current system is go and no go. patents should analyze for level of ingenuity too.
FrojoS 6 days ago 1 reply      
I find the results surprising. More than 500 points for software patents in some form? On HN?
I'm not saying, that arguments for software patents are all wrong. And I'm excited about the discussion.

But again, I'm surprised...

EGreg 6 days ago 1 reply      
This latest patent that caused an uproar was filed in 1992, when the idea was definitely innovative.

It just further goes to show that the 17 year span, at least, is too long for software.

nickpinkston 5 days ago 0 replies      
Why is there no: "No software, or other patents, point" button - I'd click that for sure. With thousands of votes - I'd love to see the make-up of the vast majority of this question.
Sudarshan 6 days ago 0 replies      
I would prefer a world without software patents. If that is not possible,
* At least the courts should charge exponentially high prices for each extra claim you want to make beyond a limit.
* All publicly listed companies will have a cap on total number of patents they can apply for (probably proportional to R&D spending) after which the price increases exponentially.
* Any person or institution found patent trolling should find further litigation exponentially expensive.
All these and more measures won't solve the problem... but at least increases the threshold for trolling behaviour...
dillon 5 days ago 0 replies      
I believe that we could easily be years ahead of where we are now if everything was open source, or maybe not. I think it's dumb how we have to reinvent the wheel for something that currently exists, or maybe it's a good thing.
algoshift 6 days ago 0 replies      
The patent office should charge some amount with every software patent application to be used for the determination of obviousness or prior art. Then it should post the problems on sites such as this one or StackOverflow as a request for comments. In addition to that, it should post the problem on a rent-a-coder type site. If any of these produced a result reasonably close to what is being claimed the application is rejected.

Simple and cost-effective. This would be far more efficient than having the uninformed at the patent office make decision from position of ignorance.

ericn 6 days ago 0 replies      
I believe that we should issue something much simpler than patents: file a very brief description of your invention which is stamped by a trusted agency. It is only evaluated in the case of conflict. That is, if you think I am infringing, you bring it to court, present your originality paper (which dates your idea) and then you have to prove that it is not obvious and that it is useful.

This procedure puts the burden on the claimant, not on some random guy who happens to figure out an idea. It also does not require much work until there is an actual conflict.

ericn 6 days ago 0 replies      
There is another problem with software patents that is usually not talked about: they don't present how to build it. Most patents (outside of software patents) present enough information for a competent person to build the device (or whatever) themselves. The idea is that your idea is protected for the duration of the patent, then when it's over everyone else gets it for free. Software patents usually don't do this. I cannot implement, for example, Amazon's "Tabbed browsing" from the description in the patent. I still have to do the hard work myself.
drallison 3 days ago 0 replies      
Of course, exactly what constitutes a software patent is not defined here so the results are likely to be specious.
otaviogood 6 days ago 0 replies      
I got a patent for some of the stuff that went into Word Lens (augmented reality translator). I think software patents are awful, but I feel like I need to play the game that's currently in place. A significant part of our company's startup costs and time went into getting that patent. If I could, I'd pay all that and more to eliminate software patents completely - including my own. Software patents kill innovation.
_mrc 5 days ago 0 replies      
If you're thinking of patenting your software, think about how useful it would be if you had to license absolutely everything you take for granted - algorithms, data structures, compiler optimisations, I/O mechanisms.

Patents were intended to encourage and reward creativity. When they're being used to stifle it, it's time to abolish them.

dsl 6 days ago 0 replies      
Missing option: I keep MY software patents, abolish the rest.

Every time I've argued this with software engineers it turns out this is really what they think.

jtregunna 6 days ago 0 replies      
I like the Canadian system of software patents. CIPO requires that software may only be patented in so far as the hardware it runs on is unique and patentable. I'm ok with those under the condition that the entities who hold the patent actually do something with it. Explicit timeframes should be in place to prevent these types of "business models" over long periods.
blackhole 6 days ago 0 replies      
An effective business model does not require patents, because by the time someone copies your idea well enough to be a threat, you've already come up with a better way to do it. Trying to make a business out of inventing one thing has never worked - you stay in business by inventing things faster than your competitors.
Trey-Jackson 6 days ago 0 replies      
While I have a strong opinion on the topic, what do these polls accomplish? It just seems like navel-gazing at best.
mxvanzant 6 days ago 0 replies      
Patents are not needed to promote innovation -- their intended benefit for the greater good. Innovation will happen anyway. Instead, they are a drag on innovation and also a tool for those with larger pockets to extort from those who cannot afford to fight back. Get rid of them. We will all be better off!
ra 5 days ago 0 replies      
Meta: The number of votes cast in this pole illustrates how big HN has become.
mooneater 6 days ago 0 replies      
Preaching to the choir.
petegrif 6 days ago 0 replies      
I would recommend this piece for those who wish to see the problems that a small innovative company can have even with patent protection. Without such protection they would have been left with nothing - copied wilfully by Microsoft and competitively dominated, all their investments down the rain. At least this way they prevailed in the courts and will have some recompense for the damage done to their innovative business.
ohyes 6 days ago 0 replies      
Only when I own the patents!
MetaMan 6 days ago 0 replies      
My understanding is that, at least in the UK, patents are a contract between the inventor and the state. The state grants you a monopoly and in exchange you tell the state how it works. The state has the right to seize your invention (after offering you some compensation). My first patent was held up by the UK government for nearly 2 years whilst they worked out if they wanted it !

IMO the fundamental problem with software patents is that the bar for a "patentable invention" is far too low.

Abolishing software patents isn't feasible for me. What about the firmware embedded in many current hardware devices. Where would you draw the line ?

If you abolish patents this really would disadvantage start-ups as large corporations could easily copy any good invention before the start-up has reached critical mass.

omouse 4 days ago 0 replies      
All software patents abolished. Stop stifling people's creative urges damnit.
digiru 6 days ago 0 replies      
I support patents, but think that for software the current system is seriously broken. Being able to patent things like in store app purchase, etc. IMHO is crazy.
andrewpi 5 days ago 0 replies      
Abolish them or at least make the period much shorter.
tlocke 5 days ago 0 replies      
Of course, we don't have software patents in Europe, but I want to keep it that way.
fedxc 6 days ago 0 replies      
No new software patents
mtantawy 6 days ago 0 replies      
Software should be free, as in FREEDOM of speech!!
plexav 6 days ago 1 reply      
How many of the respondents have a deep understanding of patent law, and it's application to algorithms and more specifically computer software? Rather than provide substantive input, most of the responses to this query illustrate 1) the shallow nature of most people's understanding of the issues, and 2) a corresponding willingness to highlight such a lack of understanding. Taken from the perspective of a process, one can almost always describe software as a process that effects some change on a physical object, or objects. For example, exposure to novel features (the one's you might think to patent) change the neural functioning of a user which takes it out of the realm of "software" and into that of a physical process. You're feeling sleepy....very sleepy...
BankSimple: We have cards banksimple.com
337 points by timf  2 days ago   148 comments top 22
meterplech 2 days ago 1 reply      
This is very intelligently done. I'm glad they are releasing the cards to just a small set of people first to check that everything works. People are very wary of any issues with their money/with their bank and absolutely any problem at the beginning would seriously hurt user adoption. Start slow and make sure it works.
paulitex 2 days ago  replies      
Only 4 days after losing their Lead Engineer.
orijing 2 days ago 7 replies      
As I understand it, banks make a large amount of revenues from fees and such. How will BankSimple succeed if it doesn't use that? How will overdrafts work? Will the check just not go through?

I love that they are trying to revolutionize the banking industry, and I wish them well. But I'm afraid that they'll succumb to adverse selection to the greatest degree. The reality is that most of a bank's customers are not profitable (without the fees), which is why they institute these ridiculous fees to either drive them off or make them profitable. If BankSimple can make these previously-unprofitable people profitable again without surprise fees, they'll be a great success.

Let's hope that happens.

Aloisius 2 days ago  replies      
Can someone please tell me the benefits of BankSimple over all the other online banks or your local credit union? I'm afraid I don't get it.
olivercameron 2 days ago 2 replies      
If any industry was waiting for a startup to come along and revolutionize it, it's the banking industry.
steve_b 2 days ago 4 replies      
I've always wondered why after winning something (or in this case, getting 50k sign ups), people say "I'm humbled." I think the truth would be the opposite: "Wow, looks like I'm pretty awesome after all."
RexRollman 2 days ago 3 replies      
BankSimple sound interesting but they will have to be offering something really awesome for me to even remotely consider doing business with a commercial bank ever again. (There days, I only deal with credit unions.)
Aloisius 2 days ago 0 replies      
Wait. I think I get it now. They're like mint, but with account management?
achompas 2 days ago 3 replies      
I'm pulling for BankSimple's success thanks to the abysmal nature of banking customer service. Hidden fees, long wait times on phone calls, ATM fees, ridiculous procedures to dispute charges...

With that said, how is BankSimple anything but a middleman? In my eyes, they fill one of two potential roles:

1. They're a customer service wrapper for banks, which means banks pay them to provide support. So banks are their customers, right?

2. They actually manage your money for you---a "broker for personal accounts." How do they generate revenue in this case?

#1 and #2 are both problematic. In a way, I'm the opposite of Aloisius: I clearly see BankSimple's benefits (Mint + support + SmartyPig), but I cannot understand how they will generate revenue while staying loyal to customers.

strlen 2 days ago 0 replies      
The use of the phrase leaning into it is highly appreciated.
zitterbewegung 1 day ago 2 replies      
Is it just me or does it seem sort of odd that they don't mention the FDIC anywhere on the page (whether they will be insured) You can't advertise that you will be FDIC insured?
bluegene 2 days ago 1 reply      
In traditional banking, UX is an afterthought but from what I see, for BankSimple, banking takes the backseat but UX rules. I say this coz there's no details on FDIC, interest rates, etc.
IMO, instead of doing Banking; they can sell their product to banks
pbreit 1 day ago 0 replies      
I think BankSimple is going to struggle to find customers with its current proposition. The fact is that people are not as unhappy with their banks' fees, customer support or websites as BankSimple thinks (or at least suggests). People like branches and brands. The one thing people do like is products which is how ING broke into the business but an approach that BankSimple appears not to be pursuing.
uniclaude 2 days ago 0 replies      
This sounds great. Props to them if they can disrupt banking.
The fact that they're not a real bank but some entity that works with partners to provide FDIC insured products is reassuring from a customer point of view. Not sure about how they will do their marketing though.
Now, I hope that we, non-American customers, won't have to wait too long for this service.
joshfraser 1 day ago 0 replies      
Judging by the IIN of the card in the picture it looks like they are using Visa behind the scenes.
DanI-S 2 days ago 0 replies      
I'd love to see someone like this be the first place to seamlessly incorporate a Bitcoin exchange into personal banking.
jimktrains2 2 days ago 0 replies      
So, this prob isn't the place, but instead of cards or short range radio, I thought plugging into headphone jacks and having the phone do transactions (akin to what short range radio would do). Doesn't require any modification to phone and is backwards compatible with almost all phones (that have their won sdk (Symbian, iOS, Android, RIM) or use J2ME or BREW.

I wouldn't be able to bring this up myself (I just do code, hardware and banking is beyond me at times), but I would never object to being included with people who could:-D

Anyway, ::shrug::, just thought I'd place the idea out there since I feel it's good and like to see someone do it.

evo_9 2 days ago 0 replies      
Interesting idea. I wish it were 'MortgageSimple' though - the mortgage industry is in serious need of an overhaul even more than banks right now.
oofabz 2 days ago 0 replies      
What's the big deal about BankSimple? They look about the same as most credit unions. My credit union has a good website & iPhone app, and doesn't charge hidden fees. They pay interest on my checking account.
truthseeker 2 days ago 1 reply      
I am surprised that so many people are willing to open a bank account with someone you've never heard of.
I couldn't even find if they are FDIC insured.

I know several friends who wouldn't use mint.com.
For them, it is a single point of failure. You can explain all the technical details you want but there is no way to get past their fears.

When shit hits the fan, you can expect the US govt. to bail out Bank Of America. SimpleBank? I am not so sure.

hvass 2 days ago 0 replies      
Competition is always good!
reftvfds112 2 days ago 0 replies      
Poor site design. I can't read the vision statement. White out. Fixit. Simple
Why F1 Steering Wheels Have Over 20 Buttons - And What They All Do f1fanatic.co.uk
332 points by Arjuna  3 days ago   154 comments top 20
nikcub 3 days ago  replies      
I am surprised that there are not more F1 fans here on HN. It is the best sport to follow if you are a techie or geek - there is so much advanced technology involved in the cars and racing that make what happens off the track and in development just as exciting as the actual races.

These guys are on the cutting edge in a number of fields: materials science, aerodynamics, computer aided design (there is a car this year that was designed and tested all in software with no wind-tunnel), energy recovery systems, fuel performance, tyre compounds, telemetry, computing power and machine learning with strategy, etc. etc. etc.

javanix 3 days ago 1 reply      
At first the "Drink bottle" button seemed pretty ridiculous to me. Then I remembered that driving 200mph and having to negotiate a water bottle by hand would probably be impossible.
iwwr 3 days ago 4 replies      
A case in point that experts can handle complex interfaces, as long as they provide more control.
asmithmd1 3 days ago 4 replies      
They show the wheel clicking into place after the driver is in. How many contacts do you think they have between wheel and car? Is it some kind of serial protocol where they only need 2 wires? RS-485 maybe
rbanffy 3 days ago 2 replies      
It's the Emacs of driving!
Peroni 3 days ago 2 replies      
Interesting to note that the steering wheel alone costs in the region of $40k.
StringyBob 3 days ago 1 reply      
Ha - the turbo boost button is Z, not B (but you have to pick up a mushroom first).

Michael Schumacher was the king of the 'extra controls' on the steering wheel when back at Ferrari, supposedly changing many of the parameters controlling car setup while going round a corner. (Insert 'had them before everyone else' hipster joke here). I'm sure this must have influenced this setup.

However, think of the other side of the coin. Consider the UI design problem of too much information in an emergency for safety critical systems, particularly in the context of this article: http://en.espnf1.com/williams/motorsport/story/39747.html

Swizec 3 days ago 3 replies      
The biggest surprise was when he alluded to the fact that when going through a corner you have to change differential settings three times ... I imagine just taking a corner at those speeds would be hard enough, let alone playing around with buttons while doing it.
unwantedLetters 3 days ago 2 replies      
I watch F1 regularly, but to hear him speak of getting a gain of "tenths of a second" as a huge thing is still astonishing to me.
Must be a frustrating life. Specially speaking as a software developer, where we're getting a free doubling of the speed every 18 months. I'm sure Moore's Law will run out at some point, but I can never quite appreciate exactly how much that helps us. The helps give a little perspective.
singular 3 days ago 0 replies      
Video discussing lotus's steering wheel - http://www.youtube.com/watch?v=58Zkbbfygjw

and one with Lewis Hamilton discussing his - http://www.youtube.com/watch?v=tcMvt0rO20g - though he does get talked over in Italian (I think it is).

jasongullickson 3 days ago 1 reply      
So how does this compare to a NASCAR wheel? ;)
Groxx 2 days ago 1 reply      

  B      : Activates Kinetic Energy Recovery System
Oil : Activates supplementary oil tank for engine
PL : Turn pit lane speed limiter on/off
Tyre : Adjust electronics to suit different tyres

Any idea why those aren't automatic? I'd think you'd have some computer-detectable indication for when oil would be useful, pit-lanes are identifiable by detecting location, and send the tire type over wirelessly when changed. And why wouldn't you want KERS running?

Seriously, I'm asking. I'm not an F1 buff.

When you have that much on the wheel, I'd think removing what you can would be important. Especially given the very-early line:

>This year designers have had to squeeze in buttons for [KERS] and Drag Reduction Systems along with the usual array of toggles, switches and levers.

Removing 4 buttons would seem to be an improvement, though a bit of a drop in a bucket.

Arjuna 3 days ago 0 replies      
It is interesting to note how F1 technology makes its way into consumer cars.

Take Ferrari, for example. Although first introduced in the F430, the 458 Italia features a steering wheel-mounted manettino dial that allows the driver to configure settings that directly impact the speed of gearbox changes, traction control settings and differential settings.

Starting at about 1:05, this video demonstrates how the various manettino settings are utilized on the 458 Italia, and how they modify the vehicle's driving profile.


swah 3 days ago 2 replies      
Is this considered ugly by minimalist (say Apple like) oriented designers? Could an UI like this, to be used by experts most efficiently, be redesigned with a minimalistic mindset, or the complexity of the underlying system has to appear?
temptemptemp13 3 days ago 3 replies      
Why can't he show us the back?
splatcollision 3 days ago 0 replies      
I love the user interface design work that goes into the F1 wheels - and they're all completely custom by each team, for each driver. Great website as well.
vegasbrianc 3 days ago 5 replies      
So how many more seasons before the drivers become obsolete and the engineer in the pits controls the entire car?
bitwize 3 days ago 0 replies      
One activates the buzzsaw blades, one activates the jump, one sends a robotic messenger bird...

(Yes, I know Speed Racer was rallying and not F1.)

gigantor 3 days ago 1 reply      
D - Drink Bottle -
Perhaps the most important button? Performance and concentration does increase quite a bit when you're properly hydrated.
zbowling 3 days ago 0 replies      
Someone from Apple needs to visit them. Create the iF1 with one button, capacitive touch screen, and GESTURES!
Mono Developers start their own company tirania.org
322 points by jstedfast  6 days ago   80 comments top 17
selectnull 6 days ago 1 reply      
It's awesome to see open source teams truly believe in what they do and stand up against, in lack of better name, "classic business model". First Jenkins CI, now Mono.

I wish you all the best guys...

zbowling 6 days ago 0 replies      
Former Mono contributor myself from 2006-2008. Crazy day. It won't die. To many companies are invested in it. I always wished it would spin off earlier.

I wanted to meet up with Miguel when he was in SF a few days ago, but now I know why he was so busy.

erikpukinskis 5 days ago 0 replies      
For those who didn't catch it, the "International Mono Support" aside is a reference to Miguel's earlier (first?) company, "International Gnome Support", renamed to Helix Code, then Ximian, and eventually purchased by Novell.

It's awesome to see Miguel running a scrappy startup again. I just read through an old interview with him and Nat from the old IGF days, and Miguel hasn't lost any of the hacker/entrepreneur spirit:


equark 6 days ago 2 replies      
Doesn't look like the Mono guys were able to keep the key IP. That's too bad. It's hard to see what Attachmate gains by keeping it.
there 6 days ago 1 reply      
his former company was called ximian, which was started to do commercial gnome development. this new company is called xamarin to do commercial mono development. those are some pretty confusing names.
jimbobimbo 6 days ago 2 replies      
THIS is the company Microsoft needs to fund. Not Skype or Nokia.
teyc 6 days ago 0 replies      
You know, I was an early skeptic of Mono. After all, what use is a copycat technology stack?

I'm later to admit how wrong I was. Suddenly mono was deploying into iOS, Android and places where the existing developer ecosystem couldn't have otherwise.

A hearty congratulations and wish you all the best. You deserve it.

bfrog 6 days ago 3 replies      
I am confused by this. If attachmate let go of Mono developers clearly it felt the product has not been profitable and won't be any time soon.

What investor with a sound mind would feel otherwise? Novell had already dumped millions in to it and look where they ended up.

c4urself 6 days ago 7 replies      
Any one have any statistics on Mono or know companies that use it, always wondered about Mono usage. What are some use cases?
Todd 5 days ago 0 replies      
This is the best news I've heard all week. Huge congratulations to Miguel and the entire Mono team!
euroclydon 6 days ago 3 replies      
Has something happened since Apple implemented the no interpreters rule? Didn't Apple outlaw MonoTouch?
sapper2 6 days ago 4 replies      
MS should support them with some funding.
senex 6 days ago 2 replies      
Does anybody know how they'll be funded over the next few years?
motters 6 days ago 0 replies      
I guess this is a make or break moment for the Mono project. Who owns the copyright on Mono anyway - is it individual developers?
thepumpkin1979 6 days ago 0 replies      
How many of the former Novell developers will work in Xamarin?
sktrdie 6 days ago 1 reply      
startup + opensource = fun!
nathanielksmith 5 days ago 0 replies      
I still fail to see the commercial/hobbyist/* appeal of C#/.NET/mono.
Einstein Was Right: NASA Announces Results of Epic Space-Time Experiment nasa.gov
288 points by tableslice  2 days ago   26 comments top 7
tzs 2 days ago 4 replies      
It's not all that epic. These effects had already been measured by other experiments and were found to agree with general relativity to much more accuracy than the GP-B measurements. What GP-B brought to the table was a direct measurement, as opposed to indirect measurements used by the other experiments.

However, because the way they measured it pushed the limits of engineering, if GP-B had NOT agreed with GR there is good chance the results would have been dismissed as most likely due to equipment flaws.

While it is in general a good idea to confirm measurements, especially using different techniques, in a case like this where the confirmation will be much less precise than the other experiments and will likely be rejected if it fails to confirm, you have to wonder why this was funded over other projects.

The answer to that turns out to be simple: politics. When space scientists ranked all the proposed missions under consideration, GP-B came in dead last. However, its proponents went to Congress, and got Congress to override the normal process for prioritizing missions, forcing NASA to move it to the front, ahead of more scientifically worthy missions.

There are a lot of very worthwhile scientific missions that we can't fly due to budget limitations. It's a shame to see $750 million of the limited budget go to a mission so far down on the importance list.

scottdw2 2 days ago 4 replies      
Did the experiment use a control? That is, did they put other gyros in places where space time should not have been twisted and observe no deviation?

If not, how do they know that the deviation was in fact caused by twisting space time?

ColinWright 2 days ago 0 replies      
wallfly 2 days ago 0 replies      
It would be interesting to find out if using Hans Montanus's non-canonical formulation of GR (which involves a Euclidean metric and perfectly flat space-time) would yield the same numerical predictions, just with different "book keeping".

That would put a different spin on the notion of Einstein "being right" as I think a lot of folks subconsciously equate GR with the "strangeness" of the Minkowski metric and non-Euclidean space-time manifold.

catechu 1 day ago 0 replies      
From article: "The mass of Earth dimples this fabric, much like a heavy person sitting in the middle of a trampoline."

I will never imagine general relativity the same way again.

known 1 day ago 0 replies      
My understanding is we should benchmark everything with http://en.wikipedia.org/wiki/Speed_of_light
Vivtek 2 days ago 0 replies      
I initially read this "Einstein was right, announces results of epic space-time experiment", which would have been epic and a much more interesting story.
Why Google's hiring process is broken teambox.com
287 points by michokest  5 days ago   168 comments top 45
ChuckMcM 5 days ago 4 replies      
Lots of interesting stories.

Disclaimer, I worked at Google for 4 years ('06 - '10) and interviewed a lot of folks (it was always a part of the job) and did a number of phone interviews too.

The process then (as perhaps now) was broken and some folks within Google understood that. The process and goals were pretty simple, hire smart people that get things done.

The process was aimed at finding smart people who get things done. That, like the phrase "largest integer" is easy to say and rolls off the lips but when you need to actually write out what it means gets a bit squirrely.

The first challenge is what does "get things done" mean? Well for college students it means you got your diploma and at the same time you contributed to some FOSS project. For people with 0 - 5 years experience it means you shipped a product where you did most of the coding. For people with 5 - 15 years experience it means you shipped a product where you did most of the coding. For people with 15 to 25 years experience it means you shipped a product where you did most of the coding.

Did you see what I did there? Google wanted smart people but the definition of smart was "you write a lot of code" and "get things done" was "that code shipped in the product/project." Fundamentally they didn't have any way to judge or evaluate the 'goodness' of what someone did if it wasn't writing code. Designers don't write a lot of code and they don't generally have a good metric for what constitutes good which can be empirically tested. The process has a hard time accomodating that. And if you're "good" at spotting problems in a process or getting folks organized around some better way of doing things? That's not measurable either.

There was a company, BASF, a chemical company which had an advertising campaign around the fact that they were part of the process and materials that made quality products, their tag line was "We don't make the products you buy, we make them better." [1] And I noted that Google was exceptionally bad at hiring "BASF" people, which is to say people who bring the quality of other work up, or products up, or processes up.

The people who did those roles in Google all started out as coders and that is how they got hired. It was only after they were working there that they (and Google) discovered they had this leveraging effect.

In order to keep bias out of the process, Google isolates the steps where bias can creep in; separated the folks who decided hire / no-hire from the folks who decided on compensation; the folks who decide to hire and the folks who decide which project they work for. For all my time there, you could not interview for a specific job, you interviewed to get 'in' and then your name showed up on a list and the allocation process would determine which project got you.

Often a candidate would ask during the interview "What would I be working on?" the only truthful answer was "That is impossible to say."

Before you even get to that point though you get into "the system." Since Google keeps a record of everyone they have interviewed or has shown up as a lead and not interviewed. There is a long, long list of people (I once joked that it was everyone in the market). If you are an employee and you might know that person, common employer, common university, etc. The system could automatically send you an email asking for your opinion on the candidate.

This isn't really any different than any other company, person X shows up in the candidate list, people who work at the company who worked at person X's company are asked if they knew this person when they were there. But it can have unintended consequences.

Lets say there is a person X, who gets hired, from company Y, and person X really didn't fit in at Y and felt really abused by the company. Now new candidates from Y generate an email to X with the standard "You worked at Y when candidate Z did etc etc." Now person X is still pissed off about how Y treated them and so they respond to all of those emails with "Yeah, candidate Z was a crappy engineer, everyone had to carry for them they never did anything useful." Maybe someone else from Y says "candidate Z was great, everyone turned to them for advice." The process of separating the interviewers from the decisions means that this feedback bubbles up all equally weighted. Hard to know that employee X has said the same thing about every candidate that has come from Y, and if the committee sees two comments one positive and one negative and there isn't anyone on the committee who knows any different then how do you evaluate?

The simplest solution if either has an equal probability of being the 'correct' assesment is that you pass on them because you can't know if you have bad data. And that was a part of the process that was fundamentally broken.

Because Google gets a metric crap load of resumes and candidates all the time, passing on someone who is +1/-1 like that makes sense because you can't know which of the two feedback comments more accurately reflects the real candidate behavior. The result is that hiring someone with a grudge can poision the feedback pool for a bunch of possible hires. If you weren't Google and didn't have this huge backlog of candidates, you might dig deeper to find out which one was the more accurate representation, but if you are Google you just move on. Externally that sometimes appears that you just stop answering the phone.

It also means that you miss out on quality people who would be good for the company and ultimately Google will have to find a way to address that issue (if they haven't already) because they are running out of people to interview.

As with most things Google, you combine a data-driven, automata friendly process with fuzzy data and alternate agenda actors, at the scale Google runs at, and you get lots of weird artifacts.

[1] http://www.youtube.com/watch?v=6ksUNyhQjLE

yid 5 days ago  replies      
My 2 cents: I was contacted by a recruiter, unsolicited through a referral, and asked if I was interested in interviewing. At the time, I already had an offer from one of the other big companies, which I was upfront about. The recruiter said it was ok, and would set me up for the first round of interviews. After about a week of emails, I just simply stopped hearing from the recruiter. Not a single interview, no reason for terminating contact, just plain dead silence. I tried emailing her a few times and left her a voicemail, noting very politely that they had contacted me and not vice versa, and asking if they were still interested in setting up an interview, but all I got was stony silence. If that's not broken, I don't know what is. For a company that hires the best engineering talent, they either hire substandard HR people, or perhaps most HR people just operate at a different level of efficacy.
larsberg 5 days ago 1 reply      
Google is considered (or at least was, by other tech companies) to have a very poor sourcing and general recruiting experience. It was assumed to be because they contract out the work.

As a contrast to that, at MSFT, we had full-time recruiting staff generally split into college and experienced recruiting (there are some extra bits not important to this). The experienced recruiting staff was assigned to divisions and worked for usually a couple of years at a time sourcing candidates specially suited to their area. The college recruiters carefully handle and ensure that only one person is in charge of each candidate, they're marshalled through all the steps, know when they'll hear what piece of info back, and are absolutely brutal with us hiring managers about making timely decisions (not that we ever drag our feet <grin>).

While working at MSFT, I was contacted several times by different Google recruiters. Each time, I was left sort of half-indifferent e-mails or voicemails, which I was informed was the desired style of contact. I'd fire them off to my sourcing manager to forward around the recruiting org for a good laugh and jokes about where these people had been before (it's a small industry, and they often would point out ex-Cisco recruiting washouts, etc.).

That said, you can certainly go far on name alone for your recruiting, especially when your options are expected to pay out well. But it's unfortunate to have to try to build teams despite your recruiting efforts. I'd hate to have been a hiring manager there.

danielha 5 days ago 1 reply      
Every few weeks or so I'm contacted by the same Google recruiter asking if I'm interested in an engineering opportunity.

After a while, I responded by asking who had referred me. He answered: "Referrals are confidential, but this person knows you from your days at <proceeds to list out my LinkedIn>."

Awful. Plus I'm a shitty programmer.

jrockway 5 days ago 1 reply      
I had a similar experience. Same letter from the recruiter, back-and-forth with rate-your-skills, but then nothing. It's strange because the position they had in mind seemed directly aligned with my proven interests and abilities. Hell, my cover letter was pretty much describing the job they wanted before they even told me about it.

I really see it as strange that I never got a call back. (Maybe it's not over yet, it's only been a few weeks.)

pgroves 5 days ago 1 reply      
I disagree with article's conclusion that they are selecting for "backend" engineers. They are selecting for people that think over-engineering every little data structure is the way to build good programs. The skill software companies need is the ability to get a hundred subsystems tested and working together, which is totally different.

I know someone who recently interviewed with Google and he told me about the algorithms question he "got wrong." After he came up with a simple solution to a simple problem, the interviewer told him the better, googley-er algorithm, which was: a) far more complex and difficult to implement, b) had far more corner cases that would need unit tests, c) had more overhead in the expected case, but d) technically had a better big-O in the (extreme) worst case.

In other words, the interview was screening for people who have been to school but haven't ever built anything.

citizenkeys 5 days ago 3 replies      
Google's process is broken because it generally presumes job candidates know what specific job they want, and they don't. To put it in contrast, I also applied to Microsoft and they immediately assigned me a specific recruiter that I could email directly. Google needs to give job candidates a person to contact rather than expecting talent to go online and do that weird "job shopping cart" thing they have on their website.

The other reason the hiring process is broken is because it's totally backwards. The hiring process doesn't indicate any appreciation of talent. Talent in this industry consists of wanna-be rockstars. Talent wants the company to say "Hey, you're great. We want you. What's it going to take to get you here?" Google's approach, like many other companies, is "Go online, email us a resume, and we'll get back to you whenever we feel like it." Most people with talent are going to say "Forget that. You got it backwards. You need me more than I need you."

To put it in perspective, think of how professional sports teams recruit college athletes. The professional teams do every damn thing they can to get college athletes to agree to join the team. They send out recruiters that pay for meals, make the candidates feel special, and everything else to make the talent feel appreciated. That's how you recruit talent. Taking the approach of "Go online, do our rinky-dink job shopping cart thing, email us a resume, and we'll get back to you when we feel like it" doesn't attract talent and never will.

alienfluid 5 days ago 4 replies      
I haven't had an interview in over 6 years, but I have been approached by multiple recruiters in the same time span.

I actually dread the day I choose to switch jobs and have to face another technical interview - considering that my knowledge of college-level CS has declined over time. It's not because I am less skilled now than I was before, it's because you don't have to constantly create fantastically fast algorithms on a daily basis (at least in my job!).

The skills that I have developed over the past 6 years - designing complex components that interact with other complex components in a hugely complex product, making improvements in the design of a 20 year old codebase, deciding between fixing a bug and compatibility etc., intuition about design choices and how they fit in the product, and yes, debugging (!) - none of these are covered in technical interviews these days.

Sure, I could explain how a b-tree works - but that's not going to help me resolve my next bug.

jquery 5 days ago 1 reply      
My own personal "horror" story.

Google reached out to me, unsolicited, for a web developer position. I wasn't looking, but I thought cool, I'll at least talk to them. The recruiter kept asking me about how good my Java was. I repeated what it said on my resume, that I only used it in college, but that my OO skills were strong and transferable. Afterwards the recruiter emailed me, and said I wasn't a good fit because I didn't have enough Java experience. I didn't even get a technical phone screen.

Java experience is serious business.

fogus 5 days ago 1 reply      
Sometimes I feel like the only person who was not hired by Google that didn't become bitter. I was treated with respect, was put up in a nice hotel, met very smart people, answered (and didn't ;) very tough questions. In the end it didn't work out. I had a blast nonetheless.
kenjackson 5 days ago 7 replies      
Asked me to rate my skills in a list of 14 programming languages.

Really? I'd love to know what they did with that data. It seems almost completely useless except to say "Tim does not know any Javascript, indicated by his zero score on that."

ziadbc 5 days ago 2 replies      
Google manages not to hire someone who didn't want to work there in the first place. Sounds like the process is working just fine to me.

In all seriousness, there may be some issues with their hiring process, but I think the Google hiring practices would best be analyzed by using the aggregated data, rather than the trickle of anecdotes we tend to hear about in public. Even if Google got their hiring right 99.9 percent of the time, there would be hundreds of people, if not thousands, who were perfect for the job, and still didn't get hired.

veyron 5 days ago 1 reply      
I actually ended up turning down a google offer for this precise reason -- the questions are biased in favor of a `theory` person over a `practice` person.

Having been through a real interview (where the interviewer went through my resume before the interview and prepared real thoughtful questions that would only be known if you actually worked on the language), I took that offer and now interview others more intelligently.

yesimahuman 5 days ago 1 reply      
It doesn't take a designer or user experience expert to note that google products lack consistency and don't interopt with each other very well. I think this stems from larger issues that are much harder to fix, or through 20% projects and acquisitions that were developed independently of a common set of standards. I doubt they are ignoring it.

Perhaps the lack of a "Google standard" enables eager developers to create amazing new products, like Gmail.

brown9-2 5 days ago 0 replies      
What position was the author interviewing for? Google (and most big companies) seem to pigeonhole candidates into a certain slot, even when it is obvious they'd be better off in a different title.

The real way in which their process seems broken is the wildly different experiences people have seemingly at random, depending on who their arbitrarily assigned recruiter is. When I interviewed I had none of this weird "rate yourself" questions, and a mostly positive experience. But it seems like if I had randomly been assigned a different recruiter, or someone tried to fit me into a different bucket, I would have had a wildly different experience. How can you compare candidates evenly when their experiences seem so randomly different?

geebee 4 days ago 0 replies      
I haven't interviewed at Google, but I've interviewed at a few other companies that seem to follow a similar style.

I'd agree that the hiring process may be broken, but that these companies don't completely realize it. I have no problem with the intensely rigorous emphasis on CS (and math, sometimes), but I've been on these interviews and realized that (after seven hours of interviewing) we still haven't discussed what the company actually does.

Here's the thing - when you're interviewing a very experienced candidate, the candidate may know more than you do about how to write the software. They may know things you haven't even thought to ask about. This isn't a reason to skip the technical grilling, that's a critical background. My problem is that these companies heap it on and on and on, and then they make an offer based on compensation for someone who can survive a technical grilling.

What if this candidate has experience writing software in your domain? What if the candidate has a deep understanding of the business space and knows a lot about what those customers are looking for? What it there's a completely different approach that you haven't even considered?

A candidate like that is, quite frankly, probably worth much more than someone with a strong theory background but no real domain knowledge (though I would still hire that guy). So I suspect that these interviews are good at establishing a high bar, but aren't so good at identifying certain types of developers who could be absolute game changers for the company.

Ironically, the only time a company did do this for me, I didn't get the offer ;) It was at netflix, and (after the obligatory data structures grilling), they talked to me about all their data mining needs. I told them I didn't have much of a data mining background, but discussed how they might approach these problems a completely different way.

A few days later: thanks but no thanks, they wanted a data miner. Oh well ;) Still, it was one of the best interviews I've been on, actually fun and energetic. And I felt that if they'd made me an offer, they'd know why.

This is what may be missing from a lot of these interview processes, which is why they may be "broken" in the sense that they don't really get at why you'd want to hire a specific person, beyond the fact that he cleared a high technical bar.

javert 5 days ago 1 reply      
I've also had a bad recruiting experience with Google, but for very different reasons. Personally, from what I can see (i.e. outside looking in), I think they have major systemic problems in how they do recruiting.
gabeiscoding 5 days ago 0 replies      
My Google offer experience: I turned down a offer from Google last spring. Long story, but my reasons can be summed up as having a more challenging opportunity in a leadership position at a small company versus having to enter the "engineer" lotto where you don't know what team and project you get placed on.

Funny thing is, I had a call from one of their recruiters today. A couple times previously somebody contacted me by email and I said "sure, call me", and didn't hear from them. But this guy was out of the blue and from a different office and had a different approach to it.

The message was that things are different at Google and they at least from his office's perspective, they treat each recruitment uniquely.

My take away is that Google is a big company and you'll get different experiences depending on how you enter the HR process (college grad applicant, versus sought after name). The OP in this case is doing a lot of generalization.

rbanffy 5 days ago 1 reply      
I need no evidence beyond the fact they didn't hire me when they had the opportunity ;-)
locopati 5 days ago 1 reply      
They are self-selecting for a certain type of person and that will likely hurt them in the long-run (may even be hurting them in the short-run).
sabat 5 days ago 0 replies      
In a nutshell: Google has developed a reputation for interviewing skill sets, as opposed to interviewing people. Sadly, that's common practice industry-wide.
jnhnum1 5 days ago 1 reply      
I've interviewed for a summer internship at Google twice: this summer and last. The first time I interviewed with them, they emailed me the same day to tell me that my interview went really well and they'd like to proceed to host matching. Unsure of the way the process worked, I emailed the recruiter a week later to ask what the next steps were. She called me back half an hour later to ask if I had any deadlines, which I didn't. The reason for the delay, she said, was that Google tried to first match returning interns with hosts before new interns. A couple weeks later, I had a phone interview with a host, it went well, and I was assigned to work with him over the summer. That was that.

This summer, I decided I wanted to return to work at Google again, but I had a specific project in mind I wanted to work on. I filled out a form stating my project interests (which were very specific this time around), but no recruiter reached out to me. I talked to one of my colleagues at Google from the previous summer, he talked to HR or something, and I got a new recruiter. Then I went through five host interviews in three days, picked my favorite, and that was that.

So in my experience, the hiring process at Google isn't that bad. It's just that if you have a delay that's too long, you need to follow up.

tomkarlo 5 days ago 0 replies      
The OP is doing a lot of generalization and extrapolation to make the judgement contained in the title, considering he doesn't even seem to have made it through stage one of the process he's attempting to judge. I'm pretty sure there's some folks who get rejected at the preliminary screening stage of my company's hiring process (some, I'm sure, for the wrong reasons) but I hardly think that would justify condemning our entire recruiting strategy and process.

This seems mostly like a standard recipe for baiting traffic from HN to a blog: make up a sweeping generalization about a company people are deeply interested in (e.g. Google, Apple, Microsoft, Facebook, Twitter) based on a very limited data set, put that in your headline, then have your article talk about how much better your company is at XYZ by comparison. It's the HN version of the humblebrag tweet.

crux_ 5 days ago 0 replies      
I think an underlying reason for so many anecdotes of the sort in the comment threads here is the sheer number of hires the Goog is trying to make right now -- according to http://investor.google.com/financial/tables.html, they've grown headcount by close to 10% in Q1 alone so far.

Life for their recruitment folks is probably fairly interesting these days.

currywurst 5 days ago 3 replies      
This "Google can't do design" meme is really getting old, imho. At best, this is a story about one recruiter in a giant company not doing his job well in matching the requirements with the skill set of the candidate.

It is easy to conclude preconceived notions.

rkischuk 5 days ago 2 replies      
I recently talked to a colleague who was hired as a developer by Google.

He went through 3 rounds of "hiring committees".

3 different committees to make a developer hire is obviously broken. The ability to evaluate culture and skill fit should be possible with a hiring manager and a few prospective peers.

nostrademons 5 days ago 0 replies      
It sounds like you were going through the software engineer interview process, when what you wanted to do is product management. This is a recruiter-fail: when someone expresses an interest in product decisions, it makes sense to send them through the PM interview process. But it's not really representative of what it's like to interview for all the different job families that one might apply to.
ruethewhirled 5 days ago 0 replies      
It does seem like Google is more focused on the programing side of things and design is an afterthought for them. Which is a pity because I feel overall look and design dramatically changes my perceptions of how good something is.

Another beef I have with Google is the sorta half-assedness of some of their products. They seem to release things early to get them out there, which isn't necessary a bad thing but now I've started to realize this it's soured me to using some of their api's and products

latch 5 days ago 0 replies      
I'd like to work at Google, but I have no interest in going through the embarrassment of their [seeminly] stuck up interview process. No doubt this is my loss, and not Google's.
j_baker 5 days ago 0 replies      
Design decisions powered by A/B testing are a great way of incrementally improving your product, but trying to use them to drive the overall product direction can lead you to decisions that fly in the face of common sense.

Good lord do I agree. At a certain level, you just have to trust your gut.

k_shehadeh 5 days ago 0 replies      
I couldn't agree more with this one. I have trouble talking to people about this because I failed their interview so I come across as bitter (which I am). But this problem is not just Google's problem. It's systemic. Someone a long time ago decided to turn interviewing into a formula - a bad one - and it stuck. Drives me crazy.
googInterviewee 5 days ago 1 reply      
(Posting anonymously because I'm in the middle of interviewing with Google)

My experience so far has been very different. I was contacted by a recruiter a few weeks ago. I had a phone interview within a week of the initial contact. Within three days, they got back to me to schedule an onsite interview.

The one negative I've encountered so far: Google has an office near where I live, but will not interview me there. This will require significant travel on my part.

peter_severin 4 days ago 0 replies      
I had a relatively good interview experience with Google. I wasn't hired but I felt that the process was fair. True, it was long and I had to invest some significant time to freshen up my algorithm skills. But overall I was left with a good impression.

I do think that Google puts too much accent on algorithms and college-level CS. I consider myself a good programmer. I created two moderately successful Micro ISVs in my free time. I contributed a huge chunk to the product at my corporate job. I get things done. However I felt that this is not what Google looks for even if the say they do.

jinushaun 4 days ago 0 replies      
"User are not As and Bs."

Reminds me of working at MS as a designer. It's challenging for an engineering-focused company to suddenly try to integrate design into their products--especially one so focused on metrics. This often leads to "duct-tape design" instead of a clear unified design. User testing no longer validates design, but completely drives it. E.g., because our study found that users clicked more buttons when they are bright red and blinking in their faces, let's make all buttons blink red! Brilliant? No.

spraveen80 5 days ago 0 replies      
Google probably expects that all designers/product management folks that they are interviewing to be good at programming too. There are good programmers, good designers and some people who are really good at both. Since a lot of people want to work at Google, they are using that to their advantage and hiring good designers who are also good programmers.
T_S_ 5 days ago 0 replies      
Easier to get bought than hired?
16s 4 days ago 0 replies      
They asked me how to rm a file named -f. Seriously. I thought to myself what a silly question. That's like 20 year old Unix trivia. I was dumb-founded. This was the second phone interview. I knew then I did not want to work for them and I told the recruiter I was not interested. They called me and they initiated the contact.
suprgeek 4 days ago 0 replies      
This reminds me of the saying: To a man with a Hammer, everything looks like a nail.

Google's Hammer is its (admittedly great) expertise at Algorithmically solving Hard Webscale Data Problems. Unfortunately some problems cannot be solved by the Hammer of Algorithms - Social Products is one of them and Great UI is another. Think about any Google Product (Search, Maps, Youtube, Groups,..) that is the very best in either of these two areas.

namank 4 days ago 0 replies      
Hahaha, today morning I was thinking about why startups manage to leech millions of $$s selling services that Google actually offers for free.

And I reached the same conclusion - Google doesn't focus on users and thus completely misses the mark. They focus on engineers but not designers or market researchers.

This is why, I think, App Engine will be a huge success and why Wave failed. It was an excellent product, IMO, but it wasn't built with a particular user in mind.

VBprogrammer 5 days ago 2 replies      
Call me old fashioned but I think Google keeps having slightly embarrassing failures because it tries to copy ideas, without significantly improving on them, where the dominant player has already gained a critical mass of users.
bane 4 days ago 0 replies      
Related question, how easy/hard is it to move around internally once you are "in"?
iam 5 days ago 0 replies      
I submitted my resume to Google and filled out their top X language survey, but never even so much got back an email from them after waiting for over a month.

Oh well, there's plenty of other companies who were happy to talk to me.

pabilla 3 days ago 0 replies      
If you google "google job interview", my nightmare story is #2 or #3 - read shmula.

I eventually received a job offer, but by that point, I wasn't interested.

Anyways, the details of my story are in that blog post.

ved 4 days ago 0 replies      
Another interesting view on why Google's hiring process will bring it down sooner or later - http://geekrage.tumblr.com/post/5237818153/why-google-or-eve...
DJFK 3 days ago 0 replies      
I was contacted by a recruiter for a security test engineer after some crazy stuff I did which got out into the international press. I meet up all their requirments besides strong coding in c++, java, python. My main is PHP, JS and python at the level of exploit development. I have a lot and strong experiences described in the CV. No response from the recruiter yet ...
Everyone sucks at interviewing. Everyone. humbledmba.com
283 points by jaf12duke  6 days ago   123 comments top 31
tomkarlo 6 days ago 4 replies      
I'm not sure what the OP suggests is feasible in most situations. It's disruptive to the existing team and you have to have "throwaway" projects around for the person to do that won't cause problems if they're late or poorly implemented (and if that's the case, why do them?) Also, you're letting every guy who "interviews" learn about the internals of your systems, code base, security, etc to some degree, which is not something most companies want to do.

Interviewing is hard, but it's clearly not totally broken, given that some companies obviously do a far better job of it than others. Do we really believe that the big consulting companies or banks don't know how to filter for the better candidates given how much their business depends purely on having the smartest people? Are Apple, Amazon and Google really just more lucky at hiring?

One non-interview thing that I DO like to look at is publicly viewable work like open source contributions, blogging, social media activity, etc. If someone wants to work on web sites, and they're not doing anything web-related outside of their job, I have to wonder how passionate they really are about the domain.

agentultra 6 days ago 3 replies      
Hiring is hard because understanding people is hard.

There's also the problem of selection bias. Your technical interviewers are going to look for people that resemble themselves. In a broad sense this is because they think they're smart and everyone else is dumb (and rightly so). The problem is that this strategy can be far too successful and you will invariably turn away a perfectly suitable selection of candidates along with the unsuitable ones. It's human nature and difficult to detect.

There is another form of selection bias in the interview process. You need to know that the candidate you're going to hire is going to be competent, assertive, and talented. However the exact match of skills, abilities, and personality traits that fulfill those broad categories are going to be based off of those skills, abilities, and traits you believe have helped you to be successful so far. When interviewing someone it is far too easy to check off the features a candidate is lacking and miss the ones they do have that you do not. A good hire, IMO, is someone who has some of the skills and abilities you already have and some you do not. Yet all too often, we look for people who have ALL of the skills we already have instead.

I think strategies such as the one in the article would at least by-pass many of the definicies noted above. However I think it might be impractical in some scenarios (ie: when the candidate is already in a position at another company, or when they have received attractive offers from other companies). It's a start though and I think alternative strategies should be considered more often.

chollida1 6 days ago 3 replies      
> Sometimes, a talented person can't, for whatever reason, commit to a 3 week project.

I would think this applies to pretty much anyone who is in demand.

> Maybe he can take 3 days off his oyher job and work half a week and a weekend with us.

Can someone else explain, why i'd take time off of work to do this job interview? Why not take a day off and interview with Google/Apple/Microsoft instead?

yannickmahe 6 days ago 4 replies      
I like the idea, but as a developer there is little chance I'll do contract work before getting a job when I'm looking for a "real" job. Right now, finding a job is easy enough that I don't think a lot of people will jump through a lot of hoops before getting the job.
cygwin98 6 days ago 0 replies      
Perhaps Jason's approach may come out of his intuition, I'd like to explain it from a more "academic" perspective. In economics, the labor market is often suffered from information asymmetries where the employer has little means to determine the productivity of prospective employees. Therefore, if the employer is willing to pay average wage, it will obtain below average workers, as workers who has higher than average productivities won't accept the offer. Such a phenomenon is also called "the Market of lemons" in the context of used car market.

The root cause of such a market failure is because workers' productivity is difficult to measure. A certain measure has to be introduced to indicate the worker productivity indirectly (often termed Signaling in economics). For decades HR/Recruiters have been addressing this problem by using different metrics as the signals/indicators. Popular signals include education (GPA, university prestige).

Programming may be a bit more challenging as multiple factors can affect programmers' productivity, e.g., intrinsic intelligence, problem solving skills, the speed of learning. Our hard-working recruiters/interviewers have introduced some new signals --- brain teasers, coding tests, etc.

What Jason proposed in this blog post is that we don't need all those signals, they are all inaccurate and can be fooled around by a well-prepared interviewee, why not directly measure their performance by working with them for a short period, say, three weeks.

That does sound like a good idea. IMHO, that's basically what internship does for students, but not sure if that will work for full-time employees, as it will incur extra opportunity cost for them.

blauwbilgorgel 6 days ago 1 reply      
I like this approach of really testing out the waters before committing.

I find there is also a divide between HR/recruiting and the lead developers. Once I had two interviews at a company. The first one from HR and a second one from the lead developers.

The attitude of the developers made me think they didn't have much say into the whole process. They did ask the best (read hardest) questions. This interview order seems fine, though questions like:

how many lines of codes did you write in language X?
If we ask you to build Y, could you, and how would you go about it?
If there is a problem in the weekend, and we call you, would you come over to fix it?

Could perfectly be asked in the first round of the interviews. And if you really want to be sure that a person will come to the office, if need be, then maybe plan the contract meeting at midnight on a saturday :)

One thing I noticed while last searching for jobs is the apparent inconsistencies in job listings.

Pre-requisites like: PHP and Ruby, Web standards and Flash, thorough understanding of javascript (jQuery plug-ins), Photoshop or Illustrator and version control, familiar with Linux and .net.

At first I ascribed these pre's to unskilled job listers, but maybe this is the start of the negotiation process?
- "I do know X, but have to work on Y"
- "That is fine, have you thought about salary yet?"

Is this really a thing in recruiting, or am I seeing things?

pnathan 5 days ago 1 reply      
I'm sorry. If I was currently gainfully employed and looking for a job, I don't think I'd be on board with your system. I appreciate the idea of getting to know a company, but, I'd be applying for several companies every day. Even given the current interviewing speed (several hours), it'd eat up time.

Doing part-time contracting is just not going to cut it. I've done moonlighting before: no one was very happy with my work, including me. You can't hire me this way if I have a job already.

If I was unemployed and looking, I'd be more interested, but you would not get a cut-rate from me: you'd get a full consulting rate & contract.

In my opinion, if you want the best engineers, you need to know them and offer massive bait. Because they aren't just going to jump for anybody or any old normal reason. You have to offer them what they want - and more than their current job does.

mhp 6 days ago 0 replies      
Tl;dr try someone out part time before hiring them full time.

Ignoring the link bait title of the post, I think the OP's suggestion is good. However, it's usually not possible. People are working full time and don't have extra time to work on your side project.

Interviews should include the same activities the interviewee will be doing during their job. Programmers need to program. Designers need to design. Sales people need to sell. It's actually quite easy to do this effectively in an interview and plenty of companies do that quite well (i.e. They don't suck)

spottiness 6 days ago 0 replies      
Finding great talent is hard but identifying talent is not difficult. Yet, finding and identifying talent is just half of the story. The other half is determining if the person can focus in what you need, be motivated, take the initiative, and deliver great work. That's the difficult part. More often than not, very talented individuals have a lot of stuff in their heads, such that mundane but essential work ranks low in their platonic priority list, and that affects their capacity to concentrate and deliver.
TheloniusPhunk 6 days ago 2 replies      
I was once given thirty seconds to come up with synonyms for information, which I did. Then I was asked come up with antonyms for fast and furious starting with the letter p, I came up with pudgy and pleased. Then I was asked to tell my life story in twenty seconds. I refused. The interview ended.
cypherpunks 5 days ago 0 replies      
My experience has been the opposite. Best employees aren't desperate to work for you. They're gainfully employed, and you have to poach them. No one I know who is productive would give up this much time to something. Almost everyone I know who is unemployed and desperate would.

The key to finding good employees is to do what Google does. Find successful people. Don't have them come to you -- go to them. How do you do this? Talk to professors and see who top students are. Read publications and books in your field. Hire whoever wrote them. Find neat free software projects, and hire the authors. The list goes on. People like that generally won't want to work for you, and the trick is to recruit them somehow.

kevinburke 6 days ago 1 reply      
Work sample tests are the best predictor (p of 0.54) of success on the job. http://bobsutton.typepad.com/my_weblog/2009/10/selecting-tal...
hkarthik 6 days ago 2 replies      
I really like the approach of "Contract-to-hire" developers but I've often found it to be difficult in markets where most good developers have multiple offers at any given time.

Also it's tough to do this when you're boot strapping and literally every pair of available hands can make or break your first big deal that helps keep the lights on.

util 6 days ago 2 replies      
How do you decide who you're going to court?
pkteison 6 days ago 4 replies      
I don't understand contract to hire. I get it from the employer perspective, but why do employees agree to it?

If I was willing to work contracts (e.g. had a wife I could get health insurance and maybe some income-in-case-of-layoff security from), why wouldn't I just always only contract so that I could make more and get paid for my overtime?

If I wasn't willing to work contracts, wouldn't requiring me to contract up front take me out of the running?

Or does this whole thing assume people will just go without health care for a while? I could understand that if there weren't other choices, but given that other full time employment is readily available, who does this?

mangala 6 days ago 0 replies      
After interviewing for months I basically memorized the answers to the main kinds of technical questions. After I started to hear the same sorts of questions asked over and over, I knew the process was completely broken and I would never ask stupid technical riddle questions to gauge someone's competence on the job.

I think a brief conversation about software development and a longer conversation to determine how smart the guy is is what matters. Even someone who barely knows how to code can learn on the fly if he's smart/competent enough.

yumraj 6 days ago 0 replies      
IMHO the title of the blog is incorrect. What he is saying is that he never hires anyone fulltime without at least working with the person on a project, and not that he doesn't interview.

Since, think about it, how did he find the person who will do the project in the first place, especially if there were multiple applicants.
Unless of course the blogger is also saying that he never posts a job and only works through reference, which defeats the entire argument anyway.

yangtheman 6 days ago 0 replies      
For anyone looking for a job immediately (as I am), I don't think s/he has time to do multiple 3-months projects. I do believe current interview process is broken, and interview results are not indicative of job performance. I think that's why referrals work the best. Also, although much shorter, weekend hackathons are good ways to gauge working chemistry.
jacques_chester 5 days ago 0 replies      
I know someone who could plausibly answer that interview question. She has a degree in English literature, undergraduate and post-graduate degrees in law (U. Queensland and Oxford, respectively), plus taking classics on the side while learning Scots / Civil law at Edinburgh. She's scientifically literate and active in various skeptical societies. She wrote an award-winning novel and has another on the way about an alternate history Rome where Archimedes was captured and not killed by the Romans.

People like this are out there. Perhaps such "Hail Mary Non-Sequiturs" are actually worth including.

mattacurtis 6 days ago 1 reply      
One issue that has been ignored is that of security / confidentiality. What happens if the individual you are "courting" works for one of your competitors? Any project that he would work on for you would likely require access to sensitive, proprietary data. Sure, you could force him to sign an NDA, but that puts him in a strange situation post-project.

How do you balance giving the candidate access to your data such that he can work on a meaningful project (read: the results of which are actionable) vs. having him toil away with some dummy data just to see how he thinks?

nathanfp 5 days ago 0 replies      
I strongly agree that the try before you buy approach is incredibly important for determining difficult to predict cultural and team fit. That being said while it is essential for early-stage companies to get this right, as pointed out in the comments, it can be difficult to scale and can be inefficient to make-up projects for potential hires, give them access to code, etc.

Some companies have found ways to bake cultural fit into their standard application process to great success. Twilio for example asks all applicants, business or engineering, to build telephony apps using the Twilio API before applying. This self-selects for people who are more willing to do research, be creative, and in general improves the likelihood that they will get along well with the team.

I am a bit biased here, but another path I would definitely advocate for is using interns. This is similar to the contractor approach but with a number of benefits in terms of price, and the fact that a hiring decision is not implicit at the end of the term. We have seen many startups build a pipeline of early hires by taking on multiple interns and seeing who is the best fit over the course of a few months.

seanp2k 5 days ago 0 replies      
@JasonFreedman That's great if it works for you, but personally I feel that you're just putting all the risk with the employee, which is shitty.

If someone is out of a job, the last thing they want is a 3-week gig. Yeah, I get that "well if they're good, they'll probably be allowed to stay". I wouldn't even consider working for a contract-to-hire position with a "few weeks" of guaranteed work. As a business, the risk is on YOU to hire the right person. As an employee, you're offering me what, maybe a month of rent while preventing me from going on most other job interviews? That's not a risk I'm willing to take. I'd rather do 3 interviews every day and have 5 jobs to pick from at the end of a week.

Also, the projects...I'd guess that the projects you have people work on aren't very beneficial to your company, or are so focused that they might not take advantage of the talents of the employee.

On the flip side, I think working with someone is the best way to get to know how they are / can be as an employee, and sometimes I feel that otherwise good employees will stumble on inverviews, so giving them some time to really prove themselves can be a good option....but I think that by limiting yourself to people willing to risk a few weeks on a long interview are going to be the most desperate of the desperate.

Tycho 5 days ago 0 replies      
Some interview questions I want to say 'do you realise how awkward that is to answer?' like asking people how their former colleagues would describe them, or what their weaknesses are. You couldn't do that in a normal conversation so I'm not sure it's a good idea in interviews. But who knows. Maybe it's effective or maybe it's simply the done thing.
enjayhsu 6 days ago 0 replies      
It's not just a time issue for the interviewee; the interviewer then needs to spend extra time checking the quality of the work, requiring extra technical expertise.

Awesome idea; just not feasible in many situations.

ArchD 6 days ago 0 replies      
IMO, an interview is to working at a company what speed-dating is to a long-term relationship. The interview process may get some measurements about someone's technical fundamentals, but very little can be gleaned about rapport with employees and in general how well an individual will gel with a company's goals and other team members. The success of a team is not just about the competence of each individual but how well the individuals work together as a team, and individual competence is not totally correlated to working well with a given team.
raffi 6 days ago 0 replies      
Automattic followed this practice and I think it worked quite well. When I was there, the company grew fast, but at least it was growing with known goods. When I'm back with Raffi Inc one day, I expect that I'll follow this practice too.
desireco42 6 days ago 0 replies      
I don't suck at interviewing, people who interview are usually as clueless as interviewee, so you can abuse this game from your side as well. I completely agree that people you hire most of the time have very little with what you need and want and that process is broken.

Suggestion in this post is how I would go about it as well, give people 2 weeks to try it out and see if we work for them as well as they work for us.

timedoctor 5 days ago 0 replies      
I totally agree with this article. You can get much better information from actually working with people. You don't have to expose them to your system, you can create a small project for them that is related and tests their skills.
marksbirch 6 days ago 0 replies      
Actually, I kind of rock at interviews...
mpg33 6 days ago 2 replies      
I like the idea of a "mini-internship" instead of an interview...

An employer could take on a person for say 2 weeks non-paid and let that person prove themselves.

mtogo 6 days ago 0 replies      
| You should follow me on Twitter: @JasonFreedman.

I should? Really? Actually, i think i'm just fine without signing up to be spammed by you. Thanks for asking so politely, though!

Intuitive explication of Fourier Transformation altdevblogaday.org
276 points by ecaradec  5 days ago   33 comments top 13
mturmon 5 days ago 2 replies      
The quickest "explanation" of the FT I ever heard was in a casual aside from a professor once -- he referred to the Fourier domain as the "reciprocal domain". It took me a while to work out what he meant.

It was just that frequency = 1 / time. In this (barbarically reductive) conception, taking the FT is just a change of variable.

This relationship is one way to "derive" many of the standard Fourier facts.

For example, the scaling property, that if x(t) has transform X(f), then x(at) has transform (1/a) * X(f/a). It also "explains" why time signals concentrated around t=0 tend to have lots of high-frequency content (f = 1/t = 1/0 = infinity), and vice versa.

It also "explains" why the inverse FT formula looks just like the forward FT formula (since if f = 1/t, then t = 1/f). And, for the same reason, most of the duality relationships between the two domains.

All with just arithmetic! You can dispense with linear algebra, not to mention complex arithmetic, groups, or measure theory.

wnewman 5 days ago 5 replies      
The author wrote "This formula, as anyone can see, makes no sense at all. I decided that Fourier must have been speaking to aliens, because if you gave me all the time and paper in the world, I would not have been able to come up with that." That sounds like a predictable symptom of trying to understand Fourier analysis while avoiding linear algebra. And that seems like unnecessary masochism, because basic linear algebra is very useful and pretty easy. And once you have it, (elementary) Fourier analysis becomes trivial to understand as a change of basis by recognizing the supposed "no sense at all" formula as a perfectly sensible change of basis to a basis of sinusoidal functions.

Then you just need to understand that the sines and cosines are a complete basis. So think about the sines and cosines for a while until you can say "yeah, they're orthogonal, and I can believe they're a complete basis for the kind of functions under consideration." Then to promote this from "I can believe" to "obviously," for the discrete FT (the orthogonality and) counting/dimensionality arguments suffice, and for the continuous FT you can look at Gaussians, say "obviously Gaussians are a complete basis for the kinds of functions under consideration" and then do the easy integrals to show that any Gaussian can be expressed as a linear combination of sines and cosines.

(This assumes you're interested in transforming reasonably smooth things like wavefunctions in chemistry, as opposed to trying to see how far you can push Fourier analysis into the netherworld of bizarre jagged twisted functions shown to exist by invoking the Axiom of Choice. If you want to do that, feel free to take a course from Terence Tao studying theorems whose prerequisites involve concepts like "countable.")

demallien 5 days ago 3 replies      
Maybe I'm naive, but I personally find it much simpler just to see how you can construct an arbitrary waveform using the summation of a series of sinusoids - and then a Fourier transform is just the inverse operation...
tspiteri 5 days ago 1 reply      
The article, and quite a few posts here, describe the way they understand the Fourier Transform as the way to understand the Fourier Transform. For it to be intuitive depends on who is trying to understand it. Getting that out of the way, this is how I find the Fourier Transform intuitive (using pseudo-code instead of math notation to make it a bit verbose and emphasize the steps):

    fourier_trasform(signal sig(t), frequency freq):
let sinu(t) = sinusoid with frequency freq
let mult(t) = sig(t) * sinu(t)
value = integral of mult(t) from -infinity to infinity

If the input signal sig(t) has the same frequency as the sinusoid sinu(t), then integrating mult(t) over infinity will give an infinitely large value, and that case is handled better by the Fourier Series.

If the input signal sig(t) has no relation to the frequency of the sinusoid, then integrating mult(t) over infinity will give zero.

If the signal has a component with the required frequency, it will kind of resonate with the sinusoid and give a non-zero value. The value then depends on the magnitude of the signal and to how much it "resonates" with the sinusoid.

When you do this for a range of different frequencies freq, but using the same signal sig(t), you can plot how much the signal sig(t) resonates with all frequencies, and that plot is the plot of the Fourier Transform.

drblast 5 days ago 0 replies      
I think these concepts became clear to me when I learned about the complex plane, Euler's formula, and demodulation of an FM signal.

Particularly enlightening was the demodulation of a frequency modulated sine wave when the tuner was imperfectly matched to the carrier frequency. Looking at it on an oscilloscope was similar to watching an old TV with the Vertical Hold improperly set.

That made me start thinking in terms of a signal (sine wave) that was a cycle rather than a sinusoidal shape. Seeing that you can graph the amplitude and phase of any signal on the complex plane and that the frequency was the change in phase from one moment to the next was the aha! moment.

Then if you think about sampling and how if you sample a sinusoid exactly at its peaks how that would graph as a constant point on the complex plane, but if you sampled at any other mismatched frequently, the point would rotate and change amplitude with respect to either axis. The further away from the actual frequency you'd go the the points would look more random, and they'd average out to zero with fewer samples.

This would be a fun animation or java applet to make; I'm sure someone has done it.

wbhart 5 days ago 0 replies      
To really understand the discrete fourier transform properly you need to understand the mathematical concept of a group. Fortunately, you only need to understand one particular group G, namely the integers mod n. Once one thinks of the input to the Discrete Fourier Transform (DFT) as a function on G (i.e. the input to the function is an element of G and the output is a complex number), then it is possible to frame the DFT in terms of a map between functions on G to functions on the dual of G (using something called Pontryagin duality). The thing is, functions on the dual of G multiply pointwise whereas functions on G itself multiply like polynomials mod x^n - 1.

Therefore to multiply polynomials, one thinks of them as functions on G, uses the DFT to take you to functions on the dual of G, multiplies pointwise, then does an inverse transform to get you back to functions on G again. I'm skimming over lots of details and oversimplifying a bit, but what I just described is the process of using a convolution to multiply polynomials.

The really great thing is if n is a power of 2. Then you have this cool Cooley-Tukey algorithm called the Fast Fourier Transform to do the DFT (and IFFT) really fast (in time O(n log n) instead of O(n^2)). It works by recognising that computing an FFT is precisely the same thing as evaluating a polynomial at the n-th roots of unity. This can be done by repeatedly breaking the problem into halves and recognising that the same pattern of roots of unity occurs in the first half as in the second. By factoring that out, you can (recursively) save yourself half the work.

Again, oversimplified, but that's the nub of it.

regularfry 5 days ago 0 replies      
That's possibly the most intuitive explanation for what the maths is actually doing that I've ever come across.
hammock 5 days ago 0 replies      
That was a great explanation, particularly the summary at the end with the color-coded words corresponding to terms in the formula.

I came to the comments expecting to see nods of approbation at how cool this explanation was (I stopped taking math at about Calc 3, so no linear algebra for me) but instead I see people geeking out saying things like "to really understand you need to grasp the complex plane, and groups and DPTs and so forth."

Well, just so you know, for me the OP's intutitive explanation was enough.

nothis 5 days ago 1 reply      
I wish all maths books would have their formulas illustrated like this: http://altdevblogaday.org/wp-content/uploads/2011/05/Derived...

That is beautiful.

codesink 5 days ago 0 replies      
A great resource to read about Fourier transformation and Wavelets


szany 5 days ago 1 reply      
I visualize it as projecting the function (as a vector) onto spirals of different twisting rates.

Only 3 dimensions required, which is nice.

guscost 5 days ago 0 replies      
I like the explanation, but there's no reason to skip over the complex exponents and Euler's formula like that. They're not really that hard to understand intuitively: think of all multiplication as a continuous process. Then f = e^x is simply the function that transforms the multiplicative identity (1) into ln(x).

Substitute "-1" into the left side of that equation, and see that no real value of x will suffice. This is related to the fact that the imaginary constant (i) wasn't discovered, it was simply declared as an unknown quantity that squares to -1.

The real magical part is that i still works in more complicated situations: multiplying any real number by e^(ix) as x increases gradually transforms it into an imaginary number, and then into its own negative, behaving like a counter-clockwise rotation when visualized in the complex plane.

torstesu 5 days ago 1 reply      
I love the idea that a man can sit down behind his desk, think for days, weeks, months, years or even decades and come up with something which is so abstract and beautiful explaining natural phenomenons with simple mathematical formulas.

It takes some serious entrepreneurial skills and mindset to embark on a problem which is seemingly impossible, and never giving up until the solution has been derived.

Inspirational, to say the least!

Do not let your domain expire with Google Apps benreyes.posterous.com
275 points by benreyes  4 days ago   63 comments top 16
kwantam 4 days ago 0 replies      
A few weeks ago I tried to register Google Apps on a domain I purchased, and found that it'd already been registered by someone else. I sent an email to the support team explaining that there was a previous account and that I was the new owner, and upon proving that the domain was now mine they deleted the old account and had me start anew.

Obviously, while the email-support method is safe, the automated system for unlocking admin access based on "proof of ownership" is pretty scary! Seems like this could be solved by requiring you to prove ownership and then releasing new auth info to a linked email account on a different domain. That helps to establish both present ownership and a chain of ownership back to the last time you had authorized access and were able to adjust the "emergency email account" setting. It's not perfect, but it's a heck of a lot better.

It also seems to me like someone wanting to abuse this right now could do so pretty easily: you can confirm that a domain is available and that it has had a google Apps account set up in the past before you spend a dime, so you can just set a computer to trawling known Google Apps domain names (e.g., by looking at traffic on large mailing lists) to find ones whose registration has expired.

joshfraser 4 days ago 1 reply      
It sounds like Google have changed their policies on this. Just a few months ago I was caught on the other side of this issue. Basically I bought a domain and wasn't able to get Google Apps set up because someone else had used it in the past. Here's the full story: http://www.onlineaspect.com/2010/11/12/issues_with_google_ap...
giberson 4 days ago 3 replies      
While it may add an extra step on their end process wise, it seems like the obvious solution to this matter is to simply enact a policy such that if domain ownership changes hand the associated accounts are reset unless a signed transfer of ownership and proof of identity is provided by the original owner.
DenisM 4 days ago 4 replies      
You have likely broken the law by accessing that Amazon account which was not yours, and now you blog about it. It might be a good idea to talk to a lawyer.

not a legal advice

megamark16 4 days ago 5 replies      
It took me about 10 minutes to write a python script that grabs a list of recently expired domains and checks each domain to see if it's a valid Google Apps domain. This is a pretty serious issue, if indeed it's still possible to take ownership of accounts as the article suggests. Hopefully Google has added some mitigating steps to keep this sort of thing from happening.
kevinpet 4 days ago 0 replies      
Google's problem isn't in their authentication, it's in the whole idea that having a domain name now means I should have access to the previous google apps account. They're separate entities.

This is probably related to why google isn't able to move an apps account to a new domain (our real domain is just an alias to our google apps account on previous company name's domain).

zacharypinter 4 days ago 1 reply      
Any idea if this applies for a domain that's an alias to your primary domain?

For example, if you have foo.com as your Google Apps domain, and you have foo.us as an extra domain that was aliased but then expired, does that expose the foo.com Google Apps account?

larrys 4 days ago 0 replies      
I want to point out that as a ICANN registrar not a day goes by where some tech person working on behalf of a customer will contact us and request an auth code to transfer out a domain name. Just like that. As if we will send one to anyone that asks. Later when the customer makes the request many times the domain ends up at another registrar in the name of the tech person, isp, web designer etc. who has been told they need to be able to login and make changes. The name subsequently is deleted for non-payment (customer isn't notified and invoice goes to new contact) and they loose control of their domain.
hackount 4 days ago 1 reply      
Making sure to renew your domain name is a good solution if you actually want to keep your domain. But what if you are done with that domain, and purposely let it expire? Is there a way to delete your Google Apps account entirely before letting the domain name expire, so the next person to register that domain can start from scratch with Google Apps, as if that domain had never been used before?
a3_nm 4 days ago 0 replies      
Notice that you will have the same kind of trouble if you're using OpenID on your own domain and let it expire...

(An attacker could buy the domain name and set up a page at your OpenID URL which would delegate the OpenID to something under their control.)

btucker 4 days ago 5 replies      
Any thoughts on how Google could prevent this? Seems important they provide a way to reclaim domains.
tallanvor 4 days ago 0 replies      
I originally registered one of my primary domains through Google, but I transferred the domain to my primary registrar before I had to renew it. --Back then there were some problems with people not being able to renew some domains and running into problems as a result.
cwb71 4 days ago 0 replies      
Thanks for pointing out this issue, Ben.

I am curious why you did not mention whether there is an option to simply delete your Google Apps account before letting the domain expire?

steveh73 4 days ago 0 replies      
You did not completely censor the last screenshot.
ltamake 4 days ago 1 reply      
Google should remind you that your domain is expiring and offer to switch to a regular account or clear your data.
brackin 4 days ago 0 replies      
Great post ben i'm amazed this can happen with such ease.
PSN has been hacked again mcvuk.com
260 points by ukdm  4 days ago   64 comments top 17
spoondan 4 days ago 4 replies      
Wait. Please tell me I'm misunderstanding. You needed only to enter a user's e-mail address and birth date to change his/her password? So, even without the previous (actual) hack, you could use this page to change the password of a family member, friend, co-worker, and nearly anyone else you've ever exchanged e-mails with if you know their birthday (or they publish it on Facebook)?

How does someone even conceive of something like that without realizing the glaring problem with it? How does it pass muster at a major corporation that has hired security consultants? This is utterly flabbergasting.

jameskilton 4 days ago 3 replies      

For having three different security firms working with Sony on the hack a month ago, are they really just pushing out the new PSN without a proper, full security review? I mean, any competent developer would immediately realize that this password reset system is flawed by design, especially with the fact that the user's information requested is the information the hackers already have!

This does not bode well for the near future of PSN as a whole. If something as simple as a password reset feature is still being built without security in mind, then how does the rest of the updated system fare?

pilif 4 days ago 4 replies      
In their defense though: What data could ask Sony for? All the data that Sony knew about these accounts has leaked, so what ever they ask for, the hackers with the leaked data know it too.

Exception is maybe the credit card number, but that would mean that only a small subset of the original account holders can change their password.

Or you use a PS3 device ID and only allow changing the password on the device, but that is also known by the attackers and I'm sure it could be spoofed.

Not even sending a token to the email address on file would work in all cases because the users might have lost their email accounts to the breach too (by reusing the same weak password).

jbyers 4 days ago 2 replies      
This title strikes me as misleading. It should not come as a surprise that the personal information gathered in the first attack will be used for this purpose. It's just shocking that PSN forgot or misunderstood that they themselves were the first and easiest target.
51Cards 4 days ago 1 reply      
Just agreeing with the other comments here. This is not a 'hack'.. this is just an unfortunate consequence of the original breach. All the information was taken so Sony has nothing else to verify your identity with that can't be 'spoofed' by those with the original data. I restored my info via my PS3.
citricsquid 4 days ago 0 replies      
If anything this is an oversight (albeit ridiculous) not a "hack".
eswat 4 days ago 0 replies      
Reading the steps on Kotaku, I'm still not exactly clear how this procedure goes…

So you enter the target's email address and date of birth on the reset page. If that clears, then the next URL has a token in the query string that you can apply to the actual password reset page URL to reset the target's password?

chrischen 4 days ago 0 replies      
Ironically I know of actual account owners who entered in fake birthdays and could not reset their own password because they don't remember their own "personal details."
kmfrk 4 days ago 0 replies      
Trophy unlocked: Unmitigated security disaster.
dualboot 4 days ago 2 replies      
The solution to Sony's issue here seems like a no-brainer to me.

The answer is to rebuild/rebrand the networking for the playstation with a strong partner like Amazon, Google, or Valve/Steam.

A partner like Amazon for example could bring good e-commerce stability to lend confidence to platform.

Google is also an excellent candidate -- they have the experience with scale and could use a strong partner like Sony to help push their home media platforms (GoogleTV, etc.)

fleitz 3 days ago 0 replies      
They snatched defeat from the jaws of victory. All they needed to do was generate a little random data and email it to their clients.

eg. /reset?token=XXXXX

Only the recipient of the email can use it and it will let the person reset their password. It's so standard fare, I'm not sure why Sony needed to go this route.

nodata 4 days ago 1 reply      
And how will Sony be punished for this? They won't.

People will keep using them.

Nobody but us cares.

lakeeffect 3 days ago 0 replies      
I dont know why they are worrying about security, i wish they could put a guy on the fact that my sony blu-ray disk, running in my sony playstation doesn't play on my nokia blue tooth headsets. Thats a problem, the fact that some people provide the sony network with acess to one of their high level passwords is beyond me.
TheBranca18 4 days ago 0 replies      
PSN hasn't been hacked again. A webpage has been hacked that could change your password. Definitely a misleading headline.
andiw 4 days ago 0 replies      
Note, according to the original article (http://sony.nyleveia.com/2011/05/17/warning-all-psn-users-yo...) as well as this forum discussion (http://www.neogaf.com/forum/showthread.php?t=430574), this is in fact a new vulnerability that is independent of the original PSN hack.

The problem seems to be that the email validation required for resetting the password could be circumvented. There is no detailed information in the posts how, but likely either the validation hash was generated in a insecure fashion, or the email address input was not properly sanitized and allowed piggybacking (CCing) a 2nd email address to receive the confirmation email.

jbillingsley 4 days ago 0 replies      
Not a hack really just a gross oversight on Sony's part.
shareme 4 days ago 0 replies      
well at least Sony was not security contractor at TEPCO nuke plants
Being Frugal Makes You A Loser ajkesslerblog.com
263 points by ajkessler  4 days ago   205 comments top 57
dkarl 4 days ago 2 replies      
I think I may already practice everything this blog post tells me to, but I still feel insulted, both on my behalf and on behalf of people I know. The author comes off as a real dick. I can't point to any recommendation in the post I specifically disagree with, but I'm pretty confident if he met me he'd find some reason to think I'm a loser. And my whole family. And most of my friends.

Maybe it's because I don't take the same snotty attitude toward the "mediocrity" of consumer purchases. Maybe it's because I recognize that the "draining" and "grating" experience of using "piece of shit" stuff is, in many cases, entirely relative. My car is less a draining piece of shit than a $15,000 car and more a draining piece of shit than a $30,000 car. My television is less a piece of shit than a $1000 television and more a piece of shit than a $2000 television.

There's no magical way to get beyond "piece of shit" when there's always a better, more expensive item available. The shirts I buy are not as nice as the $200 shirts I'd buy if I were not paying careful attention to my spending. I tried to buy a sport coat a few months ago. I'm not really comfortable buying fancy clothes, so I just wandered around randomly for a week before giving up, but what do you know, the perfect jacket I found (not in my size, but perfect fabric) at Armani Exchange cost $2000 marked way down. Apparently I will not be buying a sport coat that makes me feel "quality" and "worth it." My favorite restaurants in town easily run into triple digits for two people or even for one -- I go occasionally and watch what I spend, and on rare occasions I have whatever I want. I don't feel like I'm eating shit and reinforcing the mentality that I'm a cheap piece of crap when I spend $15 on a meal, even if I usually would prefer the $50 meal.

There's no way I can escape those compromises. There's a hell of a lot of better stuff I would buy if I made twice the money I make now. There's no way I can escape consciousness of that better stuff, and there's no way I can escape the fact that there are plenty of people in town who don't have to make the same compromises I do. There's no way I can escape the fact that the fabrics I wear do not feel as nice as the fabrics they wear. There's no escaping the fact that I chose my apartment as a trade-off between niceness and location. I have a crappy apartment in a perfect location; most of my coworkers have beautiful, new houses in distant, desolate suburbs; and a few blocks away from me there are beautiful high-rise condos that are nicer than my coworkers' houses and more centrally located than my crappy apartment. I could afford one of those condos if I stopped contributing to my 401k and stopped saving for a down payment on a house.

Does my choice of apartment make me frugal? I pay more for a central location, which is what I want, so maybe I am following his advice. On the other hand, I pay less by accepting a crappier apartment, so maybe I am not following his advice. Actually, now that I think about it, I cannot be following his advice, because my apartment does not fill me with gratification and self-esteem. Even when I make the right decisions for myself, I never think "Damn, this is great, I am so totally worth this." Instead, I think, "This isn't the best or the worst, but it's the best trade-off for me. Some people who make the same money as me will spend more and have something better, and others will spend less and have something not as good."

I really don't feel bad about it until I run into people like this who ram it down my throat that not having the stuff I really want is supposed to make me feel cheap and unworthy compared to the people who can afford it.

And finally, not that anybody gives a shit anymore, it's just morally wrong to equate possession of higher quality stuff with a higher level of worthiness. If you indulge in the gratifying thought that your nice stuff reflects your superior worthiness, that generalizes to the perception that people with higher quality stuff are higher quality people. It's an inescapable mentality, you can't not think that way, but shouldn't we be working to moderate that prejudice instead of intentionally aggravating it?

yason 4 days ago 6 replies      
I don't think that being frugal has ever been about going cheap.

Frugality is not about consuming but investing in your life: that often contradicts with cheap.

Frugality is about not buying things you don't need but buying things you can't live without. A frugal person will typically invest in quality because he knows he'll be using the item for years and doesn't want to replace it every few.

I wouldn't consider myself extremely frugal but my favorite shoes I'm wearing today I bought in the year 2000. They feel great, they have never had to been repaired, they resist water enough, the leather is in good condition and actually they didn't cost much (guesstimate in today's currency: 100-150€). But I have this mindset that I don't need new shoes just for the sake of new shoes. That's frugality. I will wear mine for another ten years if only they'll hold together and still look tidy enough to walk into the public. (They look used of course, but still tidy.) If they don't, I'll have to buy a replacement pair.

Frugality is also sometimes buying the cheapest thing. Buying a cheap electric drill is frugal if you only drill a few times a year, which makes the drill last for decades. Buying the best that money can buy would be frugal if you're a carpenter or do renovations every week and need a professional grade durability; however, if you're not doing that you're not frugal but rather just going on the hifi tangent and in reality you want to buy the expensive model because of your ego only.

Frugality also brings focus to"I was going to say consumption but I'll say personal investment instead. It makes sense to buy quality items for what you love: if you love riding a bike then investing in a quality bike is frugal because it saves you and the environment from unneeded consumption and hair-pulling. But you can't love everything either. You can't have the top of the line computer, screen, home theater, coffee grinder, washing machine, mattress, toilet seat, motorcycle, car, bike, camera, video camera, clothes, shoes, accessories and consider yourself frugal. You can have one or two because you simply can't be spending all of your time only grinding coffee, coding, washing laundry, riding a motorbike, and shooting photos.

And yes, being frugal inevitably does make me look like a loser in the eyes of some people. But then what?

Other people's opinions about me are none of my business anyway.

abalashov 4 days ago 1 reply      
I agree. Personally, I'm more sick of the culture of bargaining and haggling over increasingly small, pedestrian items that has gained a lot of fashion in the recession, even among people for whom it is not a financial imperative. It was a movement with a lot of momentum even before the recession, though, so there must be some other more enduring dynamics at play, too, not just cyclical stuff.

There's a social cost to making an ass of yourself arguing +/- $0.30 on a loaf of bread, so I don't do it. And--I jest not--I get chided by "frugal" people for not spending a half hour going through my pile of 50+ coupon clippings in front of the register in the express lane, ten people waiting in line behind me be damned.

Nobody in the startup scene here likes a customer that rides them about price no matter the discount, and appears to be fixated solely on price and not on value. Nobody likes the message that sends about the customer's priorities, their character, or the value they attach to the product or service. There is a moral and a psychological valence to the whole thing. It's off-putting, because it says that you don't realise that sometimes there is more to life than cold, rational economic calculus. So why do it to others?

Negotiating big-ticket items like salaries, houses and cars has always been okay in this culture, and there are considerable practical reasons to do it; thousands of dollars are on the line, and the people on the other end of the table have a pricing structure and a sales methodology designed specifically to maximise gains on people reluctant or unable to negotiate. Obviously, I'm not saying you should allow yourself to be screwed for the sake of eschewing confrontation.

However, at the risk of sounding culturally chauvinist, as a Soviet immigrant, one of the things I have always liked about the US and for which I have taken pride in my adopted homeland is the fact that we're above petty bazaar culture here--haggling for the sake of haggling, or being obscenely preoccupied with price. Let's not lose that. Those of us from other cultures that have fewer compunctions about wheel-dealing in petty crap know where that leads, and it's a really detestable trait when not mandated by the necessities of poverty.

ChuckMcM 4 days ago 2 replies      
I have learned over the years that not spending 'enough' on tools is always a bad choice. Like mgarfias I buy Craftsman hand tools from Sears because they really do replace them no questions asked. I know a guy that would buy beat up, nicked and dingy craftsman screw drivers or socket wrenches at garage sales for a dollar and then go to Sears and get a replacement that they would put in their toolbox.

My experience of wearing out shoes was interesting. I used to buy 'cross trainers' or whatever the 'general use' canvas/plastic tennis shoe was at Big-5 when they went on sale every year. Every year I'd get a new pair of shoes for $10 to $15 and think "Wow look how much I'm saving over buying leather shoes for like $100 - $150." And then someone pointed out that they had leather shoes that they hadn't replaced in 10 years and it occurred to me that maybe I was looking at acquisition cost and not lifetime cost.

I did the math and bought my first pair of Clark's. They lasted 7 years and came out costing roughly $11/year for those 7 years. I replaced them with the same exact model that was on sale for $75. Not only did they look better than tennis shoes, they fit better, and 'wore' better. If I added the time spent shopping, the cost to get the car to/from the Big5 every year, the Clarks were 'cheaper' by being more expensive but of better durability.

So it was still being 'Frugal' but it was being a bit more intelligent about going about calculating the costs. I've long since learned to value my time more reasonably than 'free.'

nicpottier 4 days ago 3 replies      
On one hand I kind of agree with this, there certainly is something to be said for buying nice stuff now and then, especially when it is stuff you love doing.

For play, I use a ratio I call the Fun Factor. Essentially, that's the $/hr of fun I get out of something. So if you go see a movie and it is $10, and it is the rare money that is actually fun to watch, then the fun factor is roughly $5.

So then you apply it to other things. Sure, $2,000 is a lot to spend a mountain bike, but divided out by the number of hours I've had on it, I'm way below $5 these days, so I consider it a fair deal.

A smartphone and laptop I love is always worth it in fun factor dollars.

That said, I do take issue on the 'lasting forever' bit, because wow, stuff just isn't made to last forever anymore and nor would you want to. I think it is a clever trick that we play on ourselves, oh, "This will be the last [blank] I ever have to buy", but how often is that really the case?

I can think of a few things I have that qualify, but they are few. I bought a $100 chef knife about a decade ago, still use it daily, still love it. I don't see my Ortlieb messenger bag ever breaking down, so maybe that's another. A few hand tools, but most hand tools last forever regardless of quality.

What are yours, what have you bought that you think you might keep forever?

lwhi 4 days ago 4 replies      
I disagree.

I find this ode to consumerism quite distasteful. Sure, buy quality items if you can afford them, they'll often be worth the investment - but choosing to be frugal because of difficult financial circumstances is a good thing.

Most people don't need half of what they buy.

As for 'being fugal makes you a loser'; I think if the choice is being seen as a loser by the author of the article, and being broke and / or in debt - I'd definitely choose the former.

I'd possibly understand if this kind of rationalisation came from a government wanting its citizens to spend their way out of recession. Coming from a free thinking individual, it leaves a bad taste in my mouth.

jerrya 4 days ago 3 replies      
I tend to buy in two strategies. Either so cheap but functional I don't mind throwing it out later (as eco bad as that might be), or buying good quality wares. I believe that if you can afford good quality wares, that that will both make you happier and leave you with something of substantial resale value. So it may be a better financial strategy. Compare cheap Target cabinet with "Handmade Amish Furniture."

That said, the tone of the article is well, smug and obnoxious, and makes no effort to understand that many people cannot afford the quality goods the author can, or just have different values.

For example, I use to drive sports cars and convertibles, but now I drive cheap econo-boxes. Why? They tend to be more reliable, less expensive per mile to maintain, and I drive too damn much and drive them into the ground. (And I have a poor resales strategy -- I don't get rid of the cars fast enough.) I sure do miss my convertibles. Really miss them too at this time of year. But they just had accelerated decrepitude in my hands.

lsc 4 days ago 1 reply      
There is a hidden cost to owning "lifetime" stuff- you have to keep track of it, maintain it, and ensure it doesn't get damaged or stolen. sure, having a nice tool is nice, but it is also /more work/ for as long as I keep it. The $150 'paladin tools' brand cable tracer? it's pretty nice, but I've got to spend effort keeping track of it. I've ended up buying a bunch generic of $5 'continuity testers' and leaving one at each data center and one in my car. the nicer tool doesn't do me any good if it's across town. Also, if I drop something heavy on one of these or if someone steals it? who cares.

I mean, sometimes you need the quality part to do the job, and sometimes maintaining quality tools can even be a pleasurable experience, but recognize that there is a cost to owning stuff you can't just walk away from.

SeoxyS 4 days ago 0 replies      
Besides the incredibly aggravating link-bait title"frugal is not equivalent to cheap. I consider myself to be quite frugal, but for the stuff that I do own, I have no objection to spending extra for the quality, luxury version"I couldn't agree more with the post's message.

I try to live my life in the most minimalistic fashion (see my apartment[1]), and am constantly looking to throw away things that add no value to my experiences. I strive to keep my desktop and mailbox empty. But by no means does that make me cheap: I pay for music, video streaming services. I buy premium items and food, because I know that improving my quality of life is the purpose of having money in the first place.

The cliche but somewhat true statement is: what good is all the money in my bank account going to do me when or if I'm not around to spend them. I'd rather live a good life now than the possibility of a better one in the future.

[1]: http://kswizz.com/post/5032419362/new-apartment

calpaterson 4 days ago 5 replies      
The strange hate for people who are "cheap" is one of the more bizarre about Americans. I don't think I've ever heard of frugality used as a pejorative anywhere else in the English-speaking world.
cageface 4 days ago 2 replies      
The number of Tony Robbins-esque rah-rah lifestyle articles here has gotten entirely out of hand lately. Seeing this at #1 on the site today makes me want to delete my HN bookmark and be done with it.
wickedchicken 4 days ago 2 replies      
The privilege of spending extra on "nice things" is almost purely in the realm of the well-to-do. This is the rationale Rich White People™ use when buying L.L. Bean backpacks (LIFETIME WARRANTY GUYS) that end up piled in attics and covered in dust from neglect. Also, a downside of 'nice stuff' is you have to lug it everywhere. If you lead even a moderately itinerant lifestyle, this totally blows. Don't listen to some guy on the internet telling you your stuff sucks, just buy what you damn well please and what you think will do the job. Your tools don't make you great, your skills do.
noonespecial 4 days ago 1 reply      
My old boss used to say "Sometimes, you can't afford the cheapest thing."

Buying the right thing can be less expensive in the long run than buying the cheapest.

scotty79 4 days ago 1 reply      
For mattresses buy pocket spring or latex foam. When me and my girlfriend switched to pocket springs we literally felled asleep the first time our heads touched the mattresses ... in the middle of the day, right after we set it up in our apartment. It's incredibly comfortable.

For shoes buy some trekking shoes with goretex membrane. You'll never have wet feet in your life again. My Garmont's served me well for last 8 ears. I just had to do minor adjustment year ago because soles have rubbed off not evenly. And I am yet to find shoelaces that don't break. I think about the ones made of kevlar. Before that I was buying sneakers and leather shoes that fell apart after 0.5-1 year and had to watch out for every puddle.

For your torso buy something from Polartec, as thick as you can find. And something thin, light breathable, waterproof and windstopping to wear it when it rains. Again you'll not get wet from the rain and dry up as fast as if you were wearing only t-shirt.

Always spend money on things that make you life easier or the things you have to do more comfortable. But when you don't have idea how good are the things you consider buying are always pick cheaper ones. High price never guarantees quality. It's often even strong indicator that seller is dishonest.

Oh. And don't make stuff up and don't buy things that will require from you doing additional things.

I also almost never bring damaged things to the store to have them replaced. It's easier to toss it away and buy something else. Much less unpleasant social interaction.

HaloZero 4 days ago 0 replies      
I kind of agree with the author about willing to spend big money on things that matter. Mattresses, computers, chairs, desks, things like that are all things that you use regularly.

Though that's now that I consider being Frugal. Being frugal is not only being practical with my money (buying what I need and knowing what I won't use). I had a strong desire of buying an iPad, but really I know I won't use it. It also involves making sure I take care of my things, I check my tires and oil on my car regularly. Doing the little things to keep your stuff going and not spending frivolously is being frugal.

saturdaysaint 4 days ago 1 reply      
There are studies that indicate that runners wearing $100+ shoes are much more prone to injury than runners wearing sub-$50 shoes. In fact, what's initially "comfortable" insulates our feet from important physical signals, leading to a lot of physical pain. (read the recent, excellent book "Born To Run" if you find this interesting)

My point is that not thinking about decisions "makes you a loser", and equating price with quality is often a mistake.

danielrhodes 4 days ago 0 replies      
Being cheap just for the sake of being cheap/frugal if the cost is not a constraint is not wise and often times produces little to negative return. Additionally, if the price tag is the only thing you are looking at and considering when buying something, you are most likely overlooking equally important costs down the road.

It seems people who are frugal/cheap fall in to a few categories:

* Little income and need to maximize runway

The best way to maximize your runway in this case is to reduce monthly/repeated expenditures, especially food and housing. Being frugal here is not only logical, it's a must.

* Saving for the long-term

Although you will net a bit of money this way over the really long-term, it's far more efficient and gratifying to figure out a way to disconnect your income from the the amount of time that you put in to making that income (e.g. making a smart investment with a high rate of return) in order to maximize your savings. Most people simply do not spend enough to see large savings through being frugal, at least not enough to significantly change their economic standing.

* Gaming factor

Some people just like the gratification of having gamed the system, which is understandable.

* Mental cobwebs

It's often the case that people who grow up poor are far more price conscious despite their current economic standing.

keeptrying 4 days ago 1 reply      
It's simple.

Just count the number of hours you use an item in a week. Anything you use for a large part of the week should be of high quality.

Bed, office chair, desk, computer screen, computer, cooking utensils if you cook a lot, phone - in my case.

My car is 10 years old and doesn't have an a/c but I use it irregularly for Kiteboarding purposes and don't care.

In essence, it's much harder to bear a small pain for a long time than it is to bear a big pain for a small amount of time. And the mental stress from the smaller and longer pain is much much more IMHO.

elliottkember 4 days ago 0 replies      
These days, more and more I find that the sensible option is unfashionable. Fashion seems to disregard the practical and applaud foolishness.

I'm not talking haute couture, mind - but everyday people. Didn't get a new car? Weird. Still wearing your old shoes? Weird.

I seriously expect this trend to continue, Idiocracy-style, until utterly stupid is fashionable, like back in high school. Diesel has made a strong start.

copenja 4 days ago 8 replies      
Wow, I disagree. Starting with expensive shoes. I wear flip-flops, shorts, and a t-shirt to work everyday. I'm pretty comfortable. I don't see the correlation between expensive footwear and comfort.

Beds. Yes, you spend 1/3 your life in bed. And you spend it unconscious. You spend about 0.03% of your conscious life in bed while falling asleep (30 mins a day).

But more importantly: Relax. Just because you make a certain decision doesn't mean everyone else needs to.

comice 4 days ago 1 reply      
"I get as much pleasure watching my bank account grow as I do from buying things or taking trips"

Pleasure from amassing wealth or things is misplaced. It's a dangerous addiction to nothing. Work on that before you lecture the frugal about being cheap.

lionhearted 4 days ago 1 reply      
AJ is saying don't cut spending on things that affect your production. That's absolutely a no-brainer. Buy yourself good tools, ensure you get good sleep, keep your health up, keep your ability to walk.

Always spend more to increase your production by a bigger amount. It pays for itself in the end.

Now, how much should you cut on pure consumption? That's a tricky one. I tend to cut my consumption as low as I can without hurting my production. But do always spend well on tools, on getting your production up, on your health, and on taking good care of people who do right by you. Absolutely don't go cheap on that stuff, you wind up with less in the long run if you do.

dprice1 4 days ago 3 replies      
I'm in a state of disbelief that this is the top article on HN right now.

Reading this article made me feel like I was shopping in the discount aisle of the pop-psych megalo-mart. This article is cheap shoes. It is poorly written, contains numerous abuses of the English language, and aims low at an obvious insight; the comments have been an order of magnitude more insightful. The author utterly misunderstands the meaning of the main thing he impugns: Frugality. Sorry, but this is a cheap knife with a flimsy blade.

bemmu 4 days ago 2 replies      
Bed and chair manufacturers must love this post. While I agree that it's pointless to skimp on things which would make you more productive, it's not necessarily true that the really expensive ones are better.
marknutter 4 days ago 0 replies      
I think it's perfectly acceptable to buy a cheap version of something if you're not sure how much you're going to be using it. For instance, if you decide to take up guitar, you'd be an idiot to spend $3000 on a nice Fender Stratocaster, because chances are you're going to play it for a week and then never touch it again. Same goes for a lot of hobbies. If you are going to use something a lot, however, I agree that you should eventually upgrade to the nicest stuff you can afford.
FrojoS 4 days ago 0 replies      
Obviously this article has hit a nerve. Its true, the tone is somewhat rude and I don't agree with all he says, but I'm happy about the discussions. I'm a cheap bastard and so are most of my friends. But I used to be the cheapest. Hell, in my climbing bum days before Uni, I even got called "cheap bastard" by fellow climbers on the campsite!

However, I'm changing. More into the direction that the author proposes. This year, I got a Mac. It was almost forced on me by a friend. I always liked Apple products but thought the price/value was just not good enough for a poor student. I think I was wrong. I never want to go back. I would probably clean toilets to afford a Mac if I have to.

The author touches an important point, especially for aspring entrepreneurs, when he says:
"Using well designed stuff reinforces the mindset of earning and creating. “Man, the world needs more well designed and well made stuff like this.” “Man, I'm going to earn more so I can have more well designed and well made stuff like this.”"
I couldn't agree more. How can you get costumers to buy quality from you if you don't choose quality over price in your daily life? Its hard to build something, that you have no experience with.

One advantage of buying cheap, though, is that its easier to get rid of them later. Hence, you might feel more freedom and flexibility. However, I'm starting to pay attention to aspects like weight and robustness so I don't have to leave them behind when I leave. What I really want to get rid of the next time I move is all the cheap stuff. On the other hand, having lots of cheap stuff is a good reservoir for hacks!

I also agree with the author on "The mental aspect [being cheap] is huge."
I'm trying to get rid of this problem, too. In the last month I've bought two free Apps [1] on online stores. I just felt they were worth the money. Later, when I learned this was actually true, I checked for the license and was pleased to see they where under GPL and Apache 2.0

[1] touch.txt for Android ($2) and Brisk ($15) for the Mac

EGreg 4 days ago 0 replies      
The surest way to be happy is to have a large safety net in all the things you really need.

You can skimp on the things you merely want, and still be happy.

Think of all the things you really need, the things you would be really miserable without. These are the ones you should splurge on. I mean, really, spend 2x as much as you think the average person would spend on them. Totally own it. Then you will always feel like your life is good. Because you don't sweat the small stuff :)

hasenj 4 days ago 1 reply      
I've heard of an idiom "expensive is cheap" (kinda reminds you of "less is more").

The idea being, or rather my interpretation of it is: something of high quality that's 2x the price of something else of low quality is probably wroth 10x more, so it's actually "cheap" in the sense that you get a lot more than what you pay for.

jowiar 4 days ago 1 reply      
One of the keys in all of this is differentiating between "cheap crap", "cheap crap with a big price tag", and "expensive but worth it". I recently went shoe shopping. I was looking for a pair of comfortable, casual shoes. What I came across were:

$50 bunch-of-choices, made in China

$150 Boss/Diesel/etc, made in China

$225 Mephisto, made in France

$325 Ferragamo, made in Italy.

There is one obvious "wrong" choice here, yet it's the one that many people end up with when they think they're going to "buy something nice".

Tyrannosaurs 4 days ago 0 replies      
There are two points here - the practical one (don't buy cheap stuff, you save money but it costs you time because it doesn't work as well, breaks and causes more grief than it's worth) and the mental one (because you're worth it).

The first one is fine and bang on the money, but are people actually getting their sense of self worth from the quality of their nail clippers or having pot pourri in the bathroom? Seriously?

If that's really the case then I'd suggest that people look at the underlying issue of why this is rather than papering over the cracks by buying nice stuff. The idea that your self worth comes down to your stuff is horrible and should only be true in the world of advertising and marketing.

slyall 4 days ago 0 replies      
One thing I do is to allocate a bit of money each week to "lifestyle", This is the amount of money you allow yourself to waste every week. In my case it's around $25.

Situations to use it:

* Treat myself to a $10 lunch instead of a $5 one once a week

* Just pay for parking instead of driving around of 10 minutes looking for a free park.

* Catch a Taxi instead of walking or waiting for a bus

* Want a coke and the nearest store charges $4/can? just pay it rather than spending 10 minutes looking for a more reasonable price.

* See a cheap toy or a book that looks interesting. Just buy it.

Depending on how rich you are it could be more or less than $25/week. Somewhere between 0.1% and 1% of your income perhaps.

shiftb 4 days ago 0 replies      
Replace the word frugal with cheap in this article and it becomes much better.
stretchwithme 4 days ago 0 replies      
Invest in yourself and those you care about at every opportunity. Enjoy life from the proceeds. And never spend to simply impress others.

And value your time. If you don't, no one else will.

abstractfactory 4 days ago 2 replies      
Bruce Sterling said some similar stuff in the Last Viridian Note, and he said it far better:

It's a little unfortunate that viridiandesign.org is basically unreadable due to that terrible background image.

mncolinlee 4 days ago 0 replies      
Wow, this guy is a loser.

I don't disagree with his suggestion that the primary tools you use in life and your trade should be high-quality. He's right about that specific statement. If I must eat a Ramen-equivalent to buy the tools I need, I will. However, most of us cannot afford his tastes in every area of life after paying for crappy health insurance, a mortgage, and children. He reads like a child who has never been forced to live on less and to value the tools we have.

Most normal people are aware that every purchasing decision we make involves trade-offs. We perform a cost-benefit analysis with many purchases. We think, if I cut back on buying fancy coffee over the course of a year, I will save up enough to afford a better laptop or a lower health insurance deductible.

The author has issues that need to be addressed. The whole article reads like someone rationalizing bad choices on luxury-branded products and criticizing in advance anyone who may one day point them out.

bad_user 4 days ago 0 replies      
Article directly contradicts the definition of frugality, talking about being cheap instead.
rglover 4 days ago 0 replies      
The author definitely makes a solid point: quality always wins. But the tone and delivery of this article made me feel like an idiot for ever buying anything on the cheap. Generally, I felt like I was back in high school being put down for buying the wrong pair of shoes. Reiterating that point, the author's delivery makes me feel like I've done something wrong, not put me on the path to being naive about frugality.
ctdonath 4 days ago 0 replies      
Frugal: performing intense cost/benefit analyses on everything, including the analysis itself.

Cheap: not spending more _only_ because the price is higher.

Frugal builds wealth. Cheap squanders it.

stashdot 4 days ago 1 reply      
A friend's uncle gave some very abrupt advice which has stuck with me. "There are people who figure out ways to save money and there are people who figure out ways to make more money."
nwomack 4 days ago 0 replies      
Absolutely agree with this post.

I didn't grow up with a lot of money, and was raised on the 'If it's available Wal-Mart, buy it at Wal-Mart' mentality.

Looking back on this, I wasted so much money on crap that just got replaced.

Now, I spare no expense (within reason....) to buy the nicest of what I want. End result? I'm more picky about what I buy, so I have fewer, but nicer things. and I am rarely left thinking "Well I wish my X could do Y".

c0riander 4 days ago 0 replies      
There is a difference between cheap and frugal. In accepted parlance "cheap" means making purchasing decisions based solely on price. "Frugal" means paying for value, which is what this post is ultimately recommending (despite the title) - a "lean" mentality, where you avoid needless cash burn (or saving) in favor of those things that really matter.

Ramit Sethi likes to go on about this topic - see his "Cheap vs. frugal" blog post, for example: http://sandbox.iwillteachyoutoberich.com/archives/2005/09/ch...

skrebbel 4 days ago 0 replies      
The first blog comment somehow underlines the truth in this post:

> You're such a dick, Scott.

plusbryan 4 days ago 0 replies      
I've bought $1 screwdrivers and $10 screwdrivers, and I can saw with some assurance that 1) there wasn't a 10x difference in utility and 2) my annoyance at #1 made it a far worse experiencs
mannicken 4 days ago 0 replies      
It's easy to say "spend $30 extra" when you actually have that money. There were times when I was in debt, and had like $10 on my bank account, and so many personal problems I couldn't handle work. His advice was pointless at the time. That advice is pointless for anyone who doesn't have free $30 to spend around.

My verdict: the author lives in a bubble that he has created and paid for. However, that bubble is also his prison; it suppresses his ability to make sudden changes in life.

I am fairly ok with sleeping on the street, since I've done it a number of times, so when it comes to making a mildly life-changing decision I'll be more confident about taking a risk.

Look, I like sitting here in a nice couch, typing on a Macbook about how hardcore I am, just as much as everyone else does. But ultimately, a nice couch is just that -- a nice couch, and a candle in the bathroom is just a fucking candle. And in a hundred years, no one will care if you had a nice couch or a candle in your bathroom, but they will if you wrote a book or created something beautiful.

omouse 4 days ago 0 replies      
So we have two sides of capitalism here: consumers who want to buy at a cheaper price, and consumers who want to spend more on quality/brand/etc.

I should change my nickname to "socialist_commentary" or something. Why not argue about why you need all these things and what you're doing by supporting particular companies (some of which may treat their workers like shit)? You're smart enough to talk about the price of the product, but not smart enough to talk about the companies and our consumerist culture in general? I don't buy that.

nickpinkston 4 days ago 0 replies      
As someone who just voluntarially went from a house, 3 cars, and tons of junk - down to what I can fit in my hatchback (including furniture) and a basic apartment, I can tell you that nothing is more liberating to me than throwing away / selling junk that I didn't need, and being able to live without stuff owning me.

Sure, my backpack has a nice laptop, iPad, etc. - but to me those are true conveniences. I've slept for years on shit mattresses, and I've come to conclude that it's how hard I worked that most affects my sleep.

Just my two cents...

nazgulnarsil 4 days ago 0 replies      
I'd just like to point out that true frugality doesn't lower your status. It raises mine because I have a higher standard of living and thus appear to have higher income than I actually do.

Miserly-ness is the result of something I call naive cost benefit analysis, which is an analysis that leaves out important variables.

robryan 4 days ago 0 replies      
Another thing not touched on, when you are buying the cheapest you can find you are often buying the product made from the lowest quality materials and assembled by the cheapest workers in the world often in terrible conditions.
thewisedude 4 days ago 0 replies      
What is Frugal is subjective to your income. What makes a person feel good or bad is consequential of his social circle and what his friends/acquaintances have.

For eg: a person making $1 million a year, could buy a $40K car and feel like he was not compromising if all his friends had $30K cars.

However, a guy who is making a similar amount of money might not be too happy if he had to buy a Jag and all his friends had Ferraris.

Ignoring the whole loser argument that the author is making, the one good thing to consider here in the article is, its a good idea to spend proportional to the time you will be spending with the product.

For eg: If you are spending a lot of time on computer, you probably want to get something that is "good" quality and which is good for your eyes and has other benefits.

radioactive21 4 days ago 0 replies      
A better intelligent article would have address the total cost of ownership and efficiency of the product over its lifetime.

In that sense, buying better quality products which might be more expensive at first is a better deal. In this way I am willing to concede that you shouldn't sell yourself short. But this can honestly be all summoned up by saying, do your research before you buy.

brupm2 4 days ago 0 replies      
Most of you are dicks. The guy makes sense, don't cheap out on the things that matter. Don't waste 30 minutes looking for nail trimmers every 2 weeks to save an extra $3.85.

Take what he says with a grain of salt and apply to your life what you think is right.

Hacker News comments are created by a bunch of self-righteous, over-generalizing trolls.

Live and let live and don't be a cheapskate :]

marckremers 4 days ago 1 reply      
A high quality mattress and king size bed, quality (and ALWAYS fresh) bed linen, good duvets etc is the best investment you can make no matter what your income bracket is, everyone needs this. Totally agree.
dasil003 4 days ago 0 replies      
Who the fuck is this guy to tell me what I should buy? It's not as if frugality is rampant in America today.
wuster 4 days ago 0 replies      
Am I the only one who thinks his definition of 'frugal' is typically described by 'cheap'?

Agree that he's just a total unlikeable dick all throughout the post. Heh.

rahshank 4 days ago 0 replies      
The cheap vs frugal debate can go on forever. I think it comes down to cost vs. convenience. If you're spending a ton of time and inconveniencing yourself trying to be frugal maybe it's not worth it. When I'm trying to save money on something I just ask myself whether the savings are going to inconvenience me a ton. If so, I just buy a better, more expensive product. If not, hey just get the cheaper product.
bennesvig 4 days ago 0 replies      
A great post that will be misread by most people. Adam Carolla has a similar rant in his book about why your bed should be one of the nicest things you own.
trungonnews 4 days ago 0 replies      
I live with a belief that I cannot bring my money with me when I die.
The tent that turns into concrete in less than 24 hours bbc.co.uk
256 points by thekevan  4 days ago   50 comments top 11
run4yourlives 4 days ago 8 replies      
I'm not sure I'm sold completely on the need. It's a very cool idea, to be sure, but I'm confused at the role it fills.

My knowledge of disaster zones is limited, but for military deployments - the other major customer - it's pretty in depth.

Here's the thing, there are two classes of structure, basically: Temporary and Permanent.

For a temporary structure - even longer term - a modern, modular tenting system (such as TEMS: http://www.mandbmag.com/tents/index.html) has this beat hands down in pretty much every way. Lighter, faster setup, faster tear down, adaptability, etc.

For a permanent structure, seriously? It would be much easier to build a traditional wooden structure once you've decided that you need one. You could even put the locals to work (which they would need) doing so. I find it very difficult to believe that anyone would want one of these dingy, musty things over a proper wood or concrete framed construction.

So where exactly does this fit in the spectrum? I'm not sure it does.

dodo53 4 days ago 2 replies      
yeah, the company won an innovation award for it in 2006:
I guess it takes a while to productionize.
pitdesi 4 days ago 0 replies      
This reminds me of the very cool class I took at Michigan. In 08, our design challenge was to design and build an easily shipped, carried and deployed station for disaster areas that facilitates bathroom functions, washing and showering. The product criteria included that it:

Must be free standing and use no external power source.

Must allow people to go to the bathroom, wash one's face and hands, bathe an infant and bathe/shower an adult.

Must have a safe, easily executed waste removal and transport system from the bathroom facility. All waste must be easily removed and reliably sealed off from the local environment as it is transported elsewhere.

Must weigh less than 40 pounds and pack down for easy transportation.

Must manage gray water from the sink and shower, by directing it to a hose connection.


We had a cross disciplinary team (engineering, design, and business) and had to actually build the product, and were judged based on profit... how many "purchases" were made at a fixed price ("purchases" were made by designers around the world on the web and in person at a live show) minus costs (we had to cost out the thing at scale). It was amazing and we ended up winning (I was part of the "cocoon" team).

If you can get a chance to take a class like this, do it. Definitely do Integrated Product Development if you're at Michigan!

brudgers 4 days ago 2 replies      
One of my mentors in Grad School (the late David H. Crane, FAIA), got a grant to design an emergency shelter right out of Harvard GSD. He and his team spent months designing a precast concrete building which could be deployed and erected quickly. At the end they did the economic analysis of the fabrication costs. The only place where it was economically viable to build it was lower Manhattan (this was back in the early 1950's).

This design suffers similar conceptual problems: diverting potable water to make a concrete structure when a tent would serve adequately - one of the biggest problems early in a disaster is providing potable water in sufficient quantity to maintain sanitation and provide adequate hydration for the local population and aid workers.

elbelcho 4 days ago 2 replies      
Was this featured on Dragon's Den (A BBC show were inventors pitch idea to investors) a year or more ago? I seem to remember someone pitching something very similar to this.
DTE 4 days ago 0 replies      
I'm sure this has been worked out by the team, but I am curious to know more about the load-bearing nature of the concrete shell. I would imagine this is a very important consideration if it is to be used in post-disaster areas (i.e earthquake disaster areas where there may also be aftershocks). If, for example, the tent is not fully inflated before the concrete is added, would the hardened building be structurally compromised?
sudonim 4 days ago 1 reply      
A little off topic, but did anyone else not wait through the 30-second ad to watch the video? I find myself bouncing more and more on videos that do that.
patrickk 3 days ago 0 replies      
There's other interesting examples of this concept:



(not affiliated with these guys)

armored 4 days ago 0 replies      
I think the real innovation here is using an inflatable form. This could be cool with a spray on concrete too, like Gancrete: http://www.grancrete.net/videos/index.cfm#
wladimir 4 days ago 2 replies      
It's primarily aimed at quickly building structures in disaster areas.

But maybe this will finally revolutionaize/disrupt the construction sector? It's long due...

kjell 4 days ago 1 reply      
Does anyone see how these sit on the ground? I don't see any footings in the video. Just compacted and graded topsoil? What is the floor made out of?

See also: Dante Bini's air formed domes


Guy Asks For Software Crack, Creator Provides Free App Instead techdirt.com
254 points by zohaibr  3 days ago   93 comments top 14
cmb320 3 days ago  replies      
I can't believe this simple, kind of stupid thing I did has gotten so much attention. I also can't believe so many people hate Stella. It's not the greatest beer I've ever had, but it's no bud light.
chrislomax 3 days ago 3 replies      
Although I find this fantastic, I also find it quite odd?

I think his attitude is fantastic for someone who is having their apps ripped off, I find it strangely odd that in the comments people think this is the attitude that developers are meant to take when their work is ripped off, humbled.

I purchase all apps from the app store, I had Cydia but I took the jail break off my phone. I think the 59p - £3 for an app is nothing for all the hard work that has gone in and I am more than happy to make the purchase.

I think the whole episode has been strangely rewarding for him but again I think it makes people think that all developers should have this attitude. I think it's funny that in the comments that someone said that developers should treat all consumers with positive and constructive humbleness. I'm sorry but the meaning of "Consumer" is "A person who purchases goods and services for personal use". There is a keyword here, "Purchase".

Kudos to the guy for some great PR but I really hope that all "consumers" don't get this mentality when trying to rip off apps

veyron 3 days ago 1 reply      
I hate to make a comment like this, but it should be noted that this was a side project of his. I would speculate that he would have a different reaction if it were his bread and butter.

Note: original forum post at http://xsellize.com/topic/137904-the-f-ing-word-of-the-day/

cmb320 3 days ago 1 reply      
This is the google alert that started it all: http://imgur.com/wovz3
simonhamp 3 days ago 1 reply      
Lesson here: be human. It seems the response capitalism (among other things) has taught us is a stance of defensiveness, even abusive.

But this guy dug deep and figured what the heck! Lost a bit of money and made someone happy. And it's not even Christmas

econner 3 days ago 0 replies      
This is awesome. Especially because now his app is going to get tons of attention for his good attitude with this post being #2 on Hacker News. Being generous pays off in the end :-).
colinprince 3 days ago 1 reply      
This is a common problem, people who are unable or unwilling to sign up to iTunes with a credit card.

Potential service idea: hook these people up with gifted apps that they can pay for some other way? Maybe payment in kind?

antihero 3 days ago 1 reply      
$8 for a Stella? Ouch. That said, I paid £4.30 for a Carlsberg Export the other day. Goddamnit Islington Academy :/

And don't knock Stella, it's one of the best of the "mainstream" lagers.

EGreg 3 days ago 1 reply      
For a second, I thought that meant the author made the app open source :)
DavidBishop 2 days ago 0 replies      
Awesome. The guy was a decent human being, but more than likely made 20, 30, 100 times back his purchase in goodwill. Brilliant.
gotham 3 days ago 1 reply      
I met this guy at Startup Weekend in Manhattan last fall.

His "Sausage Status" pitch was hilarious. He started off by running and jumping onto the stage. A very spontaneous individual.

Shengster 3 days ago 2 replies      
Fine article, but what's up with the hate against Stella Artois?
skrebbel 2 days ago 0 replies      
thread tl;dr: boring post, let's discuss beer instead.
omouse 2 days ago 1 reply      
Alternative: release the source under the GNU GPL or some other open source license. No such thing as piracy then ;)
Want Hacker News Comment Scores Back? Check out HNPoints.com hnpoints.com
225 points by HNPoints  2 days ago   150 comments top 33
blhack 2 days ago  replies      
If we're going to open a new dialog on this:

Has anybody noticed the drastic decline in quality of links and comments in the last month or so? I think one of the problems is that, without comment scores, new users don't have feedback from the community on how they're supposed to act. There's no way for them to learn the culture.

So it's September, but with no way to tell the new students to mind their manners.

michael_nielsen 2 days ago 1 reply      
On the issue of scores vs no-scores, it'd be possible to A/B test this, so half of HN users see scores, and half don't.

Metrics to track might include the number of comments made, number of hits on the site, number of upvotes / downvotes, and probably many more.

Some people obviously feel strongly about this issue, and it might be necessary to take steps to prevent gaming of the outcome. Keeping the metrics secret until after the test would help with this. So would publicly announcing that only a small (say 10%) but undisclosed subset of users will be used to determine the outcomes of the testing. So any individual user wouldn't know if their behaviour would affect the results, and so would have little incentive to waste their time trying to affect the outcome.

It'd be nice to take a data-driven approach to resolving this question.

user24 2 days ago 3 replies      
Yeah, having got past the initial "ooh, this is cool" phase, I do actually think HN was better off with the comment scores.

For example, I was looking at a popular submission the other day and someone had said "Hey is there a PHP port of this?". Back in the day, I'd be able to see how many points it had as a rough indicator of how many other people would have found a PHP port useful. Now I can't tell if that was just one guy, or if 50 people thought the same.

Please, PG, bring the points back? (and while you're at it, stop new users being shown in green?)

tokenadult 2 days ago 1 reply      
The submitted site is interesting. I will not go to the trouble of contributing any scores I am aware of to the database, however. Here in this thread, we are once again in metadiscussion about whether or not it was a good idea for HN to experiment with not showing users the comment karma scores of other users, a change that happened not long ago. When pg wrote his post "Ask HN: How to stave off decline of HN?" just 47 days ago,


he wrote, "The problem has several components: comments that are (a) mean and/or (b) dumb that (c) get massively upvoted."

That's still the key issue. In the view of the site founder, who has had a registered account here for 1684 days, many of the high-scoring comments carried a false signal of quality, likely to mislead users about which comments are factually accurate or helpful to the community. If some change of voting rules or comment karma visibility brings about higher scores for good comments, and lower scores for mean, dumb, or other bad comments, that is helpful to all readers of HN.

Feel free to review the site guidelines


and the site welcome message


for guidance on what is desired here and thus guidance on how to vote. I defer to the site founder on all issues of site governance. I have found HN largely to be a worthwhile website for my 914 days as a registered user, and my interest is mostly to make sure that the site founder and the members of his volunteer editor ("curator") team


continue to enjoy the site and find it useful for themselves. They are doing a good job, and I want them to have incentive to keep up the good work. On my part, I have been able to find good comments more readily since the comment karma scores were hidden than I was before.

gnosis 2 days ago 2 replies      
I much prefer the new HN, without visible comment scores.

When comment scores were visible, it was obvious that many people would just vote with the herd, downvoting comments with lots of downvotes, and upvoting comments with lots of upvotes.

This is still a problem, since HN still tends to put highly rated comments near the top, and low rated comments near the bottom. But it's not nearly as much of a problem as it was when comment scores were visible.

I think the quality of comments has increased with the new system, and I find myself reading more of the comments now that the scores aren't visible.

I also find myself voting less, and voting only on comments I personally feel are exceptionally good or exceptionally bad.

One change I would like to see HN experiment with is making the score of a given comment visible only after you've voted on that comment.

This will both encourage voting and also satisfy people's curiosity, while still discouraging voting with the herd.

CWuestefeld 2 days ago 1 reply      
It really bothers me that so many people here seem to be saying "I am capable of scoring articles fairly, but the rest of the community seems not to be able to think for themselves, falling victim to group think and a herd mentality."

This seems like a lot of fundamental attribution error [1] going on here.

[1] http://en.wikipedia.org/wiki/Fundamental_attribution_error

jcr 2 days ago 0 replies      
Typing is kinda difficult for me on most days, so I don't comment much.
I vote a little bit on comments, when I bother to read them, but I tend
to vote-up more on submissions. I've also have been known to do a lot of
flagging on the /newest queue (and even triggering the "excessive
flagger" threshold).

I do try to remember to make new submissions for all to enjoy, but the
irony is, this means I'm off somewhere else looking for interesting
stuff rather than finding it here. The stuff that I find interesting
is new tech, engineering, security and science developments (i.e.
hacking up new solutions and analysis) along with a small splattering of

The speed of churn on the /newest queue means some of my submissions are
not even seen. On average, there's maybe two or three other people here
with similar interests to mine, or better said, they appreciated the
submission enough to up-vote. But that is on average, so plenty of my
submissions vanish into obscurity with no notice. --This is not a
complaint. Other people have other interests, and the fast queue
progression should be expected when there is no barrier to entry.

The trouble is, the fast queue means submitters get very little USEFUL
feedback. If you post some link-baited controversy, getting 1000+ points
on the submission is not too unusual, but it probably isn't noteworthy
new hacking. The good hacking stuff on HN seldom hits the main /news
page, instead it's buried deeply in the /newest queue. --It has always
been like this. Blame human nature. If you look at /classic or do some
HN spelunking by item?id= or hit archive.org for old snapshots, you'll
find the main /news page has neither improved nor declined.

I think gaining points for submissions is unfair. In my opinion, I think
a submission just says, "Hey, I thought this was interesting, and you
might too." When a submission is sincere, it's just a friendly gesture
with good intentions. But we all know how good intentions work. Whether
or not the submissions is ever seen by others here, or more importantly,
is interesting hacking to them is generally unknown, even to the
submitter. The displayed up-votes on submissions are really just a
popularity contest feeding on link-baited controversy.

Another reason why gaining points for submissions is unfair is a
submission has vastly superior visibility compared to a comment. I
believe PG has some secret sauce running to address the visibility
discrepancy. As far as I've been able to divine through observation,
points from submissions don't count towards the "average" listed in your
profile. Well, it seems that way on my account, but I think even older
and more active commenting members (grellas) may have their average
calculated with both submissions and comments. (Don't get me wrong, when
grellas posts, I read it, and usually up-vote. I doubt I'm alone on that
so his exceedingly high average might be warranted from comments alone).

So the display of points on submissions fails to be particularly
valuable metric. Similar could be said for the display of points on
comments. I refuse to care what other people think of you or your
statements, and I would prefer avoid being biased by displayed points so
I make up my own mind on whether or not I find your comment interesting.

For notes, it was tptacek that made the suggestion to remove the display
of comment points in the "Stave Off The Decline of HN" thread from PG. I
thought his idea was brilliant, possibly because I had the same idea,
but as usual, tptacek thought of and posted it first. If you want a
discussion to be useful, turning it into a game is entirely
counter-productive. Worse yet, the display of points creates an unfair
game due to manipulations of visibility, cognitive bias and other

Since the removal of comment points being displayed, there has been far
less one-up-manship in the discussions, and people are more polite
because they are not competing for points in a game. You are now more
free to just state your opinion without worrying about whether or not
others will agree or disagree with you. As long as you're not being an
ass about it, you can generally post uncommon or even controversial
opinions without repercussions.

Some have (repeatedly) argued that the lack of displayed comment points
results in a loss of context or loss of a valuable metric for deciding
what is worth reading. I'd argue the opposite (and slightly less popular
view) that displayed comment points fail to offer any real usefulness
and are mostly harmful. --Just like whether or not my submissions are
interesting, the usefulness of displayed comment points is a very
subjective matter of opinion. Some find it helpful, but others consider
it harmful.

To you, my opinion about comment points does not matter. You already
have your own opinion. And there is the very reason why displaying
comment points doesn't really matter

larryfreeman 2 days ago 0 replies      
In my view, the comment scores made the site more fun and more social.

One thought is that maybe the score gets hidden if it is 1 or less. I think that scores are especially interesting when it highlights a great comment or provides feedback to the person making the comment.

The ordering of comments without a score is a good example of why a visible score is needed. You assume that the best comments are on top but it is not clear how good are the comments below the top one.

Since the scores were removed, I have been commenting less often and often ignoring many of the comments below the top ones.

blhack 2 days ago 1 reply      
I love this. A hacker approach to getting the points back :)
ignifero 2 days ago 0 replies      
Science says that blind crowdsourcing is generally better: http://www.wired.co.uk/news/archive/2011-05/17/wisdom-of-cro...

One could find arguments for both sides, though:

- HN is not a crowd, it's a niche community

- Voting is not blind even now.

- The number actually encourages voting, since it serves to remind that your vote will change than number

- It's good to know whether your vote will have little impact or will move the comment upwards

- The site should encourage more people to vote, the more people vote the better.

ignifero 2 days ago 0 replies      
I liked it for 2 weeks, but, as a data driven person, i would like to be able to see the scores . What was the incentive to hide them again?
wccrawford 2 days ago 2 replies      
I'm onboard, but I think it's funny that this is the only thread I've seen numbers in so far.
spottiness 2 days ago 0 replies      
There is a huge asymmetry in the power of HN users between those that can down-vote and the rest. The problem is that many of the "powerfuls" use their privilege to punish other users based on disagreements, whims, or simply to silence opposite opinions. It is OK to indicate the popularity of a comment by moving it to the top but it's wrong to silence an unpopular comment by fading it away. That should be reserved only to comments that violate the rules: spams, trolls, shameless ads, etc.

Put the unpopulars at the bottom or indicate the degree of popularity with a number, but don't disappear it. Fading away honest unpopular comments is a big turn off that ultimately harms the debate.

user24 2 days ago 1 reply      
How about throwing the code[1] up on github?

[1] The XPI is a slim greasmonkey-compiled script which just loads http://hnpoints.com/hnpoints.js into the page

DTrejo 2 days ago 0 replies      
I would love to see information from PG on the following in relation to the recent changes in HN:

    - increase/decrease in activity of users with highest karma
- increase/decrease average in comment score, normalized
by time after post of OP
- amount of time the highest rated posts stayed on the front page
- trends for # of flags

Also, it would be great if he put the guidelines on the
submission page.

I've posted this before, but haven't heard anything.

resdirector 1 day ago 0 replies      
Goodness and badness is subjective. Up/down voting should exist only for the purpose of recommending articles to each individual user. This is far different from the typical use of up/down which is to recommend articles to the collective, which is not robust against influxes from other communities, e.g. reddit, digg etc.

In other words, when I log in, I should see my own personal HN list of stories, that have been submitted by people I respect (i.e. people I've previously upvoted), or people that they respect etc.

I call this idea PeopleRank.

marknutter 1 day ago 0 replies      
Seriously, just bring the friggin' scores back. I feel this experiment has run its course and at this point it's really just more irritating than anything.
tristanperry 2 days ago 1 reply      
Thanks for this; I've installed it. I don't really think that disabling the public points has lead to better discussions.
KeithMajhor 2 days ago 1 reply      
How do you infer comment scores. The order of comments appears to be determined by both score and elapsed time. You'd have to have pretty exact knowledge of how it worked. Is that information available?
nikcub 2 days ago 0 replies      
Are you filtering on the server side for cheating?

(I am testing it with this very comment)

Edit: No

Double Edit: well it was 99999 for a moment, back to 1, so you are doing something. gg.

ck2 1 day ago 0 replies      
Take away points from people too.

Only submissions themselves should have points.

That way there is no "ego" - it's only about the articles.

ozataman 2 days ago 0 replies      
Dear PG, please bring back the vote counts and vote-based sorting. If you want to give the option, make it a per-user setting to disable.

My recent approach to having to weed through ALL comments to find the interesting ones has been to completely avoid reading them and switch to different channels of obtaining information (blogs, apps, reddit, etc.)

lwhi 1 day ago 0 replies      
For goodness' sake people. You don't need to be told which comments are 'good'. In any case, the score system is indicating popularity, not quality.

Use your own judgement, you don't need to behave as part of a herd.

noneTheHacker 2 days ago 1 reply      
Apparently Websense filters the site as "Potentially Damaging Content Sites."

I am not saying this thinking that the site is potentially damaging. Websense is pretty dumb about most of the things it chooses. I just wanted to let HNPoints know that because it blocks people from seeing it from behind a Websense filter.

smosher 2 days ago 0 replies      
I was relieved when the scores disappeared. The less unnecessary information the better, I find. Besides, I think score visibility just promotes groupthink.

I don't use score sheets with my friends. Moderation becomes necessary in a pseudonymous environment, but there's no reason for it to become visible where it's not necessary. Reply-order shuffling and grey-out seem to be a pretty good fit there.

ryanto 2 days ago 1 reply      
I guess I don't really get the point of this. The whole idea of ditching points was to see if it could generate better discussion. By using this extension you are re-enabling points (even if only for a few select users). That re-enabling is going to encourage those users to go back to their bad posting habits... or so we would assume if the original theory that points cause bad posts is correct.

I know a lot of you love your points, but maybe we should see if no points really does generate better discussion rather than trying to find a way to create a point system.

PS: I think points is really tricky, it rewards people for great comments, but it also rewards those stupid-one-line-no-thinking comments. Maybe only show points for comments with more text... whatever, thats a whole other subject.

togasystems 2 days ago 1 reply      
Quick question that is off topic, but did you do the design for that page yourself or did you purchase it off some sort of theme site? Just wondering cause I love it.
MrMatters 1 day ago 0 replies      
For some reason it just doesn't feel the same ;) :


I wish we didn't have to rely on a 3rd party.

brandall10 2 days ago 0 replies      
Thank you so much for doing this.
taphangum 1 day ago 0 replies      
I hope everyone on HN installs this.
plasma 1 day ago 1 reply      
OT: What do names highlighted green mean?
chrishan 1 day ago 0 replies      
I knew someone will do this.
mtogo 2 days ago 1 reply      
Thanks for this! I was hoping pg would fix his own site, but since he won't i guess the community will have to.
Y Combinator Is Boot Camp for Startups wired.com
226 points by twakefield  4 days ago   31 comments top 12
ericflo 4 days ago 5 replies      
Steven Levy put a ridiculous amount of time and effort into researching this article, and I think it shows. He really immersed himself into the whole experience--for months! In some ways, it felt like he was a part of the class, working alongside us as we worked to build our companies.

This kind of real journalism is something that I didn't think existed any more, at least not in the tech world. But after watching him work, and seeing his process, I think it's just a damn shame how rare his kind of journalism is.

Didn't mean for this to turn into a puff comment, but I have to admit the whole production was quite impressive.

staunch 4 days ago 0 replies      
Makes me wish someone was doing a YC documentary.
StavrosK 4 days ago 0 replies      
Heh, I'm the "Greece" in that article.
rglover 4 days ago 0 replies      
As a YC hopeful, this article really helped me to understand what really goes on during the three months. It's inspiring to hear stories about companies who pivot right before Demo Day and actually receive help with their ideas from PG. I'm just starting to learn about the difficulties of running a startup. We're really lucky to have guys like PG out their who are truly interested in innovation and not just the money. This article proves his dedication to the industry and to all of the people who are working so hard to get to the top. My day = motivated.
stevenj 4 days ago 0 replies      
I know it's cliche, but what I got most from this article is that traction matters most.

Growth is the lifeblood of the industry.

To get that, you have to make something people want.

Everything else is pretty insignificant.

Simple, but not easy.

mkeblx 4 days ago 0 replies      
For a relatively brief piece on YC I think it was very accurate, capturing the significance of YC, the experience of the founders, and the general excited feeling all around that imbues YC. Obviously it's for a more general audience so probably contains nothing much new content-wise for HN readers but is interesting to see it all put together.

This is something I'll email my dad, who when I mentioned I mentioned I applied for an incubator asked "What do you need office space for?"

dsaidov 4 days ago 0 replies      
Ummm needs to be corrected: LikeALittle:
A slick iPad-based app for doctors that collects all of a patient's chart info in one place. The application has gotten raves from the physicians who have tried it so far.
timjahn 4 days ago 1 reply      
I'm all for promoting entrepreneurship but it'd be nice to highlight those who actually make money and care about building businesses too, rather than celebrating simply taking investor's money and spending it.
k19snhhx 4 days ago 0 replies      
The Viral Me is another long article profiling Y Combinator from December 2010.


marcin 4 days ago 0 replies      
I guess we will all agree that there is an outrageous error in the article. It should not be 'Terminator itself', but 'Terminator himself' rather, shouldn't it?
ryanisinallofus 4 days ago 3 replies      
Please. Someone who has actually been to boot camp debunk this ridiculous metaphor.
erikb 4 days ago 2 replies      
Some part of me really thought that a "Y Combinator is so great" article can't be more interesting to HN people then understanding Fourier Transformation or discussing the development of ML research.

Maybe I'm just too naive. Thanks for that lesson.

Windows 7 Network Awareness: How Windows knows it has an Internet connection superuser.com
219 points by ivoflipse  6 days ago   40 comments top 9
mlinsey 5 days ago 2 replies      
" If the response is never received, or if there is a redirect, then a DNS request for dns.msftncsi.com is made. If DNS resolves properly but the page is inaccessible, then it is assumed that there is a working internet connection, but an in-browser authentication page is blocking access to the file. This results in the pop-up balloon above. If DNS resolution fails or returns the wrong address, then it is assumed that the internet connection is completely unsuccessful, and the “no internet access” error is shown."

Would this mean that DNS poisoning msftncsi.com would prevent Win7 machines from accessing the internet? Or would this merely cause the 'no internet access' error to be displayed despite your connection working anyway?

snprbob86 6 days ago 3 replies      
The iPhone uses a very similar technique. If you connect to a wifi network that requires login, a browser sans address bar will pop-up over your current app and allow you to login. Once an external resource can be reached, the browser disappears and returns you to the previous app. Steve Jobs even alluded to it / bragged about it when the iPhone was first unveiled, 2 years before Win7 was released.
drivebyacct2 6 days ago 1 reply      
if you're paranoid enough to disable this, you shouldn't be using windows. there are far more and better ways for windows and other windows software to phone home.
jerrya 6 days ago 3 replies      
Yes, I have wanted to build something like that for Android, mainly to keep my phone from getting confused when it's connected to someone's wifi that demands some check box be checked off for service.

It would periodically awaken, see if the wifi is connected, if it is is there connectivity, if there is, go back to sleep, if there is not, turn the wifi off.

I've also wanted to build for Android the same piece of code, but if for 2 or 5 urls it gets back the same page with a checkbox, it checks off the box and sends it back off.

But I am curious, do all those wifi dns terms and agreements hijacking pages break any sort of RFC?

And is there any solution in ip6?

Or is there a real fix possible in ip4?

ahi 6 days ago 0 replies      
I just assumed it noticed when I entered the login information 2 minutes prior, then waited until the most annoying moment to give me a completely useless fraking notification.
ilikejam 6 days ago 1 reply      
Possible vector for some sort of attack?
The ncsi service that requests www.msftncsi.com is presumably very simple, but then...
dominikb 5 days ago 0 replies      
Apple claims that Mac OS X is "the world's most advanced operating system". But it's these details that I consider advanced and clever. Apple's marketing statements went from funny to offensive and unsupported.
idonthack 5 days ago 1 reply      
Do we really need an entire article about this? Seriously, if you couldn't figure this out on your own in about 10 seconds, you're in the wrong line of work
Twitter's Shit Sandwich daringfireball.net
217 points by berberich  4 days ago   111 comments top 27
sriramk 4 days ago 4 replies      
The common OAuth flow inside a mobile app is to show a web browser dialog which loads Webkit/IE/etc and show you the Twitter log-in UI. Frankly, I have no idea how to verify this page is actually Twitter's UI - there is no browser chrome, no SSL lock icon or any other trust indicators. It could as easily be just a random dialog constructed by the app author. I just don't see the value-add of OAuth in mobile app scenarios. Note that xAuth doesn't mean the app stores the passwords - you store a token like in OAuth. Of course, whether the app developer can be trusted to not store the username/password is a different story.

Btw, I have a popular WP7 app which uses xauth, primarily because Twitter's login screen is broken on the Windows Phone browser.

jrockway 4 days ago 7 replies      
I'm OK with requiring OAuth. It's hard to trust third parties with data they collect themselves: see Sony and Gawker. It's even harder to trust them with data that belongs to someone else: they might one-way-hash their own passwords, of course, but they can't do that to your Twitter password. It's probably sitting in a database, cleartext, for every rogue employee or cracker to see.

Even if you don't care about someone having your credentials, you can't trust them not to intentionally or accidentally misuse your account. The only way to trust a third party is to give them an account that can only perform the actions that you specify, and that's exactly what OAuth does. Of course you have to use Twitter's site for that: that's where the trust comes from.

Anyway, I've used Android apps that pop open a web browser for the authentication part and then return you to the native app. It's, by definition, not seamless... but it's not confusing or slow or difficult or annoying. I imagine the experience is similar on iOS and Blackberry. So I don't see a problem here: all I see is the ability for users to have better protection over their personal information. That means they will be more willing to try your product, because the damage it can cause is limited. Less risk, more opportunity for innovation.

Hardly a "shit sandwich".

tolmasky 4 days ago 3 replies      
Not sure if this would break some TOS or something but can't a native app just continue asking you for your username and password and just do this oath stuff in an offscreen webview, making it seem just like with xauth? It's almost disingenuous to show an in app browser with oath and confuse the user into thinking he has the same sort of "same origin" security as oath in the browser -- he doesn't, that webview is completely controlled by the app and thus offers no additional security over xauth whatsoever.
tlrobinson 4 days ago 1 reply      
As many others have pointed out, OAuth is extremely susceptible to phishing or snooping of passwords on platforms where the OAuth flow is done in an embedded web view, which can be considered "untrusted", vs. your browser which could be considered "trusted" because you know the URL bar is accurate, and there's no mechanism for 3rd parties to scrape passwords (well, except for user scripts / extensions)

OAuth does also remove the burden of securely storing passwords, but so does xAuth.

evgen 3 days ago 0 replies      
At what point is someone going to just say "fuck Twitter, Inc." and create a library of simple web-scrapers that emulates most of the API that twitter has been trying to claw back from the third-party dev community for the past year via the standard http interface? Such a library may be brittle, but it can't be much worse than the "yeah, we told you to do this a couple of months ago but now we changed our minds and you have two weeks to comply with our new policy" status that exists now?
gcampbell 3 days ago 0 replies      
The deadline has been pushed back two weeks to June 14: http://groups.google.com/group/twitter-development-talk/msg/...
ashbrahma 4 days ago 0 replies      
"I can't think of any reason why Twitter would force native apps through OAuth other than to create a hurdle that steers users toward Twitter's own official native clients" > I think this nails it.
terhechte 4 days ago 1 reply      
It's clear that Twitter wants to move innovation in their ecosystem away from native clients that duplicate their exiting functionality. Instead they seem to be keen to support projects that offer innovative ways of displaying, sorting, or working with Twitter's firehose.

Instagram does something similar. Their API terms of use read:
"You cannot replicate the core user experience of Instagram.com"

I guess it is a matter of keeping potential future monetization options.

philfreo 4 days ago 1 reply      
The flow of OAuth on mobile is not nearly as bad when the app opens Safari to the OAuth screen, and when the user hits accept/reject they get sent to a URI like myappname://oauth which the iPhone app can register to mean relaunch the app
guan 4 days ago 1 reply      
Twitter has shown quite a lack of taste in recent months (e.g. dickbar). I wouldn't be surprised if they simply hadn't thought about these issues, and that it's not a sinister plan to further encourage use of the official Twitter apps.
neovive 4 days ago 1 reply      
On a related note. Did anyone else notice today's removal of the "status" query string variable and the switch solely to "Web Intents"? http://dev.twitter.com/pages/intents. I believe many Twitter sharing buttons used the simpler query string approach over the full API with OAuth.
leon_ 3 days ago 0 replies      
The last time I looked xAuth was not available for everyone. You had to request access to it and they often wouldn't give you the access.

I didn't get xAuth for my apps so I had to go the OAuth way. And I believe only a few popular apps got xAuth.

drivebyacct2 4 days ago 1 reply      
I'm not giving my username and password to my online accounts to random native or web apps when the service in online account in question provides oAuth.
daveman692 4 days ago 1 reply      
This would become quite a bit simpler if they also moved to OAuth 2.0 (bearer tokens over SSL) instead of sticking with 1.1 (HMAC signatures).
zyb09 4 days ago 0 replies      
Yes! I'm glad finally someone like Gruber shared his opinion on this. Integrating Twitter in native apps has been a huge pain for me and trying to explain clients why they can't have a native branded user/password dialog in the app (like "all" the other apps) is really tedious. For such a big player like Twitter they made it really cumbersome for 3rd partys to do simple tasks like posting a tweet.
buddydvd 3 days ago 0 replies      
Browser-based OAuth flow (like Facebook's new iOS SDK -- the one that avoids using embedded webview) has two advantages:

1.) Single sign on. If you're already logged in to the site in the browser, you don't have to enter your user/password again. Also, if you don't trust the app invoking the web browser, you can always exit the app and pre-login to site with the web browser before running the app again.

2.) Optional interstitial pages. Sometimes, your account may be accessed from some questionable location. The OAuth flow enables challenging users with additional security questions before giving authorization to the app (e.g. Facebook's identify-your-friends'-faces challenge, enter-your-birthday challenge, etc.)

nhangen 3 days ago 0 replies      
Isn't Facebook doing the same thing? In fact, I just got an email from them today that they're forcing the issue and all devs must adopt oAuth by September.
joe_the_user 4 days ago 1 reply      

I'm designing a Twitter desktop client from the ground-up with Oauth. It is annoyingly over-complexified but doable. I suppose I can take a grim pleasure that others will have to suffer with me...

tomkarlo 4 days ago 0 replies      
What if Twitter decides to start putting ads for its own native clients on the OAuth screen? Given recent history, is there any reason this would be a surprise?
ak1394 4 days ago 1 reply      
Wow. I guess I'll be shutting down my feature-phone twitter client because of it. It's been in life-support mode for about a year, but I guess that's the end of it.
ashbrahma 4 days ago 0 replies      
Ryan Sarver (@rsarver) has posted a response with updates based on feedback:


beerglass 3 days ago 0 replies      
The biggest issue with Twitter oAuth sign-in that we have faced as developers is that the Twitter sign-in page does not work at all or is not optimized for feature phones with smaller screens and not running Webkit based browser. Always wished that Twitter provided a URL - twitter.com/appname that users could go to and assign all permissions and got a simple key + PIN that they could enter in our app to access their tweets.
BlazingFrog 4 days ago 2 replies      
> "So long as you remain within the app, there's no security advantage for OAuth in an embedded web view over xAuth"

Yes there is. I don't trust the developer enough to give her/him my user ID and password so OAuth works for me.

grandalf 4 days ago 1 reply      
If Twitter were simply to implement Oauth2 this would not be an issue.
kqueue 4 days ago 0 replies      
twitter xAuth is not secure. Why do you want me to hand over my username/password to a third party service?
chopsueyar 3 days ago 0 replies      
Your CSS fonts are tiny.
Rickasaurus 4 days ago 0 replies      
Cry me a river of data mined tears.
Javascript Bitcoin Miner bitcoin.org
218 points by pizza  2 days ago   133 comments top 27
cookiecaper 2 days ago  replies      
It is bad to use a bunch of the user's CPU without any notice. They will probably notice that your site makes their computer slow and never come back again. Also, once they find out you've been using their CPU power/electricity/battery life surreptitiously for private, unshared gain, you will probably have some angry customers.

Additionally, does this automatically hook in to slush's pool or something? Bitcoin mining is practically useless on CPU; even the fastest CPUs out get way, way less than 10mhash. The average length of time to find a block at 9999khash and current difficulty is 1200+ days, so even that estimate is over-optimistic, so this isn't worth anything if your users don't sit on your site for 5 years+, unless it's hooked into a pool or some other contraption to pay on shares instead of blocks.

pygy_ 2 days ago 1 reply      
Going meta:

I've seen in the last few weeks apparently relevant and polite posts that had been flagged dead[1]. One of these was a post by jashkenas in a CoffeeScrit thread. This one could hardly have been more on topic.

Is there a new moderation policy, or is it a bot with a happy trigger?

[1] In this thread, http://news.ycombinator.com/item?id=2566826 , a post by jhuckestein, and http://news.ycombinator.com/item?id=2566797 by csomar.

kristiandupont 2 days ago 2 replies      
Regarding angry visitors, I think it is completely fair if you just inform them of what is going on.

In a way, this is the perfect internet model: I offer my content for free but visitors pay me with cpu cycles. It's superior to the ad-model because it pays according to time spent on the page regardless of who the audience is.

It's too bad that it's infeasible because of the very low rate.

zyfo 2 days ago 3 replies      
I hope this doesn't catch on. BItcoin got many merits against current currencies. This wouldn't be one of them.

That said, it's a nice proof-of-concept. Is there anyway to block this type of use of CPU without blocking JS?

ck2 2 days ago 1 reply      
You need a year's worth of 3ghz dual core cpu power to make 50 bitcoins.

This is some impressive code but not practical.

And I don't think visitors are going to like you maxing out their cpu.

HardyLeung 2 days ago 3 replies      
Javascript is way too slow compared to GPU, by at least a factor of 1000 or more. If you have 1M daily unique visitor and you manage to "steal" 10 CPU seconds from each of them, the amount of work would be equivalent to 1e6 * 10 / 1000 = 10000 seconds which is about 2.8 hours of one dedicated GPU-based mining machine.
paulirish 2 days ago 0 replies      
The source of their miner: http://dpaste.com/hold/544515/

It actually starts up a web worker with the exact same file and communicates with itself back and forth, the browser version to the worker version. Not the first time this technique has been used but it's still pretty new.

tlrobinson 2 days ago 1 reply      
Cute, but this is hardly worthwhile unless you have a massive number of users, in which case you probably don't want to piss them off by wasting their CPUs.

I'm getting about 13K hashes/sec with this JavaScript miner. For comparison, my GPU gives me 100M hashes/sec, and even my 12 CPU cores give me 10M hashes/sec with the official Bitcoin client.

So you'd need about 1000 concurrent users at all times to match a single machine. EngineYard SHA1 contestants who used this approach had the same problem.

Now, if Native Client was widely deployed, or you could somehow rig up WebGL...

motters 2 days ago 1 reply      
If there is a Bitcoin bubble you can be sure that there will be people doing things like this, regardless of whether it's ethical or not. From the site visitor's point of view they're not getting a cut of the mined coins, so their high CPU usage is purely a waste and annoyance. If widely deployed, this sort of browser based CPU wasting enterprise could bring Bitcoin into disrepute and be an excuse for governments to treat it as a cyber-threat.
Klonoar 2 days ago 1 reply      
Neat! Distributed computing with JS is an awesome tech trick, some friends and I did something similar back during Node Knockout (MapRejuice: https://github.com/ryanmcgrath/maprejuice).

Curious to see what you guys think of the ethical side of it though - do you let this run on mobile, etc? This will almost definitely cause extra battery drain on mobile devices, you think it's fine to have this happen without user consent? ;)

vegai 2 days ago 1 reply      
Great. So now we will have to start blocking Javascript code from sites we don't trust.
yatsyk 2 days ago 1 reply      
Idea for browser extension: display warning icon if tab uses all cpu.
peterbraden 2 days ago 1 reply      
on the ethics of this thing - most people seem to think that using a users cpu without permission is unethical.

My browser is often brought to it's knees by badly written flash ads - is there a difference?

rgbrgb 2 days ago 3 replies      
Very interested to see if this could actually be an alternative to ad revenue.
magicseth 2 days ago 0 replies      
On my machine with chrome, I had to open it up in 4 separate tabs in order to peg all of my cores. It got pretty warm pretty quickly.
ccarpenterg 2 days ago 2 replies      
Idea: Screensavers with a bitcoin miner. Like SETI@home. Bitcoin@home!
naughtysriram 2 days ago 2 replies      
what if a virus or malware or an adware installs a bitcoin miner and starts mining on zombie machines? wouldn't that be productive?
aarlo 2 days ago 2 replies      
So why does the bitcoin economy reward spending processing power?

I guess our economy does too (quant finance)

BCM43 2 days ago 0 replies      
If this gets more people to install noscirpt, I'll consider it a good thing.
esrauch 2 days ago 1 reply      
Anyone care to calculate the actual expected revenue you could get from this?
mikegagnon 2 days ago 0 replies      
PluraProcessing.com pays site owners to farm out computations to their clients. According to PP, site owners can make about $2.60/month/user. The major catch is that the system only works well when visitors have long visit durations (e.g. web-based video games). I presume PP necessitates long visit-durations because short visits won't yield enough computational resources to make computations economical.
dave1010uk 2 days ago 1 reply      
Someone could make a URL shortening service that frames sites, including the mining JS. Users could sign up and get a % from the mined coins on links that they share.

As many people are pointing out that GPUs are faster for mining that CPUs, would you be able to make use of a GPU with WebGL (or GPU-accelerated Flash)? I guess the GPU computations don't fall in the spec of WebGL though.

naughtysriram 2 days ago 1 reply      
Just used google's closure compiler http://closure-compiler.appspot.com/home on http://bitp.it/jsMiner.js and it saved some 4.11%. While compiling on advanced mode i get lot of warnings.
tobylane 2 days ago 0 replies      
How long till Adblock adds a bitcoin-block? Can't be soon enough imo.
anonymous 2 days ago 0 replies      
Bored with bitcoin.
One technical flaw and your 'currency' vanishes.
bitcoin 2 days ago 0 replies      
Just don't end up like this guy who lost $50k USD in Bitcoin earlier today.


peteretep 2 days ago 0 replies      
This is a neat-trick, and I ♥ Javascript, so even better.

In terms of ramping this up to actually be a viable revenue source... I guess you'd need a browser plugin which was hard-core about making sure you agreed to usage, and verified to the server that you were actually doing the mining you'd agreed to - and that could tap in to the GPU.

But then, if Bitcoins become worth something meaningful, wouldn't we all be using our GPU most of the time to be generating them anyway? In which case, the website starts asking you for the opportunity cost of using your GPU instead, and you know how much that's worth, and boom, micropayments.

System for generic, decentralized, unstoppable Internet anonymity google.com
211 points by tete  1 day ago   40 comments top 17
nikcub 1 day ago 0 replies      
skip the wiki page, here is the DEFCON presentation in quickview:


and the whitepaper:


joe_the_user 1 day ago 2 replies      
There is already Freenet which had/has similar ambitions.

The problem with this stuff is that immediately tossing all the possible anonymity features onto to your app makes it so utterly seperate from the net that you can't get a critical of mass interest (and your speed really bogs-down but that is secondary/solvable).

What I'd like to see instead is something like an escalating series of counter-measures that each user can trigger at the point they're cut-off from "ordinary" communication - alternative dns when regular dns is messed-with, alternative pipes when they start filtering ordinary sockets, etc.

But make it one app that initially does simple for the user so it get widespread but with the proviso that the apps would do enough discovery that you could "go stealth" when the time came - and have the apps be doing discovery in the meantime.

Attaching MAFIA-Fire to a "social sharing" app like "tribler" http://www.tribler.org/trac seems like a start.

hedgehog 20 hours ago 0 replies      
Might work for piracy but unfortunately it looks like they punted on issues that would help use by activists. Design assumption #1 (white paper section 3.1): "The traffic of every node in the network is assumed to be eavesdropped on (individually, but not globally in a fully correlated fashion) by an external party."

A state-level adversary can instrument their major ISPs, put a bunch of nodes on the network, push traffic through the network and do analyze the resulting traffic. Once they figure out who they want to question it's pretty simple, the mere presence of the software on your computer would be incriminating.

I think right now social networking sites are the best game in town because they have legitimate non-activist uses so they won't automatically get you in trouble. To improve on them resistance to traffic analysis and on-client footprint both need to be dealt with or the tool needs to be really popular for some innocuous application.

It is a really interesting set of problems though.

pshc 1 day ago 3 replies      
The whitepaper is an interesting read. The "large data throughput" bullet-point is justified by the claim that no intermediary forwarding node has any idea whether it's talking to another intermediary node or the one of the actual endpoints. So once you have a buzzing network of anonymized nodes with large volumes of anonymous traffic, you can open up a direct connection to your buddy and transfer at high speed. Later, you can claim with "reasonable doubt" that you couldn't have possibly known whether or not they were a forwarding node or an endpoint in that conversation. (You can also claim that you didn't know whether or not YOU were a forwarding node!) This seems reasonable to me so long as you're transferring at a rate comparable to the average throughput, though I'm not sure how you could determine that.

Well, I'm not really familiar with this sort of distributed scheme, so that might be old hat, insanely insecure, or what have you.

ezyang 1 day ago 0 replies      
One important difference of Phantom from systems like Tor is that it doesn't seek primarily to be an anonymous way to access the Internet, but to be an anonymized network separate from the Internet. You can do this with Tor as well, but that was never really the emphasis.
nextparadigms 16 hours ago 1 reply      
I think he should change the name before it gets any kind of mainstream adoption...or maybe way before that. It's bad enough that such properties imply usage by the "evil-doers". You shouldn't give it a name that sounds like it's something used by evil-doers, too, which might actually be the worst part. Politicians never bother to learn about something in-depth anyway. All it matters is if it sounds bad or good, then they'll vote for it or against it.
cookiecaper 1 day ago 2 replies      
The link is pretty scarce on details, basically just a bulleted list of abstract nice-to-haves for a theoretical anonymous network. More detail would be greatly appreciated; users shouldn't have to go into the code to find out how something like this works.

For instance, how is this an improvement over I2P? Phantom should really take a note from I2P's website on what constitutes an adequate amount of exposition to get people to learn about and try your anonymous network.

plainOldText 1 day ago 0 replies      
This seems like an interesting idea/solution to one of Internet's issues.
The challenge however is how do you persuade enough people to start using it? And then the more people use it the more important it becomes and people just won't stop using it.

Facebook is a typical example of how important is to have people adopt a technology. Prior to Facebook was MySpace, yet the former managed to impose and finally replaced the latter because more and more people started using Facebook. With Twitter it's pretty much the same adoption process. Because most people into micro-blogging use it, it is now virtually impossible to come up with another micro-blogging platform that can replace Twitter. And the conversation could go on forever with countless examples.

I'm sure there are so many great ideas out there that get wasted just because people won't start adopting them.

berntb 1 day ago 1 reply      
Off topic:

What did happen to the torrent anonymity proxies, that was in the media a year or two ago? Are they used, but not discussed in the media?

AndrewMoffat 1 day ago 0 replies      
I like the idea, but I won't use it, because I don't think "enough" people will use it.
shii 1 day ago 0 replies      
As submitted here more than 2 months ago when he (Magnus) released the protocol and paper originally: http://apps.ycombinator.com/item?id=2336429
nextparadigms 1 day ago 0 replies      
Could this be combined with a P2P mesh network like http://www.mondonet.org and also work from mobile phones? They seem to have similar goals.
eschulte 1 day ago 1 reply      
white-paper describing the protocol (from the wiki)


meow 1 day ago 1 reply      
Can some one explain how this protocol compensates for DNS level blocking ?
sixwing 1 day ago 1 reply      
I wonder how this would compare to TeleHash - http://TeleHash.org
hallowtech 1 day ago 0 replies      
I was actually thinking about this a couple hours before I saw this. Crazy. Just not about the anonymity part. One thing I came up with was that instead of a trusted website bootstrapper to show a new node to the swarm, one of the nodes could update a DNS record to point to itself. If that node fails, another node is choosen to update the record.
sneak 1 day ago 2 replies      
Not a technical point, but"

Anonymity/privacy software written by a bunch of people with gmail addresses? Does that strike anyone else as weird?

       cached 23 May 2011 02:11:01 GMT