hacker news with inline top comments    .. more ..    20 Apr 2011 News
home   ask   best   7 years ago   
Hashify.me - store entire website content in the URL hashify.me
332 points by kevinburke 8 hours ago   91 comments top 31
points by dpcan 8 hours ago replies      
I see this as a remarkable answer to the problem of needing to view a cached version of the website.

For example, what if a URL were posted to Hacker News, but after the URL was a ?hasifyme=THEHASH, where THEHASH was the Hash of the website linked-to.

This way, if the URL could not be loaded because the server load was to high, you could just forward the URL to Hashify.me and the cache of the plain text from the website would still then be readable.

Boom, instant cache of the website content stored right in the URL!!!!

points by kwantam 7 hours ago replies      
Last week on a whim I whipped up a URL shortener that expires the forwarded URL after one week[1]. Using that plus hashify, you can essentially make expiring web pages.

[1] pygm.us

points by danielsoneg 8 hours ago replies      
Oh, Bit.ly's gonna _Love_ you guys.

Seriousy, though - awesome hack.

points by powera 6 hours ago replies      
This is pointless. It's impossible to create two pages that link to each other, for one. Also, as noted, most browsers won't allow URLs greater than 2k in size.
points by gojomo 8 hours ago replies      
With a name like 'Hashify', I'm surprised they don't also offer the option of putting the content into the '#fragment' portion of the URL. Then, not even the hashify.net site would need to receive and decode the full URL; they'd just send down a small bit of constant Javascript that rebuilds the page from the #fragment.
points by Steve0 23 minutes ago replies      
This reminds me of the old tiny-url file system: http://tech.slashdot.org/story/05/10/25/0350222/TinyDisk-A-F...
points by Groxx 8 hours ago replies      
A fantastic abuse of technology. That's one heck of a URL.
points by shazow 7 hours ago replies      
Here's a Python shortcut:

Instead of...

    from base64 import b64decode

You can do...


Encoding works too. As well as zip (foo.encode('zip')).

points by sbierwagen 1 hour ago replies      
So it's a reimplementation of data URIs, except it depends on two different sites being up and responding to replies, so it lacks even the tiny amount of usefulness data URIs have?

I can't think of a single use case where you would go, "Ah ha! Hashify would work perfectly for this!"

points by paolomaffei 7 hours ago replies      
"A hash function is any well-defined procedure or mathematical function that converts a large, possibly variable-sized amount of data into a small datum"

Hashify is not really a hash, is it?

points by antimatter15 8 hours ago replies      
I hacked together an encrypted (aes 256) read/write "database" once with the bitty API as the persistence backend.

However, this site disappoints me, it doesn't seem to do anything other than what a data URL can do, except it's vulnerable to downtime because of a centralized website.

Edit: for those of you unfamiliar with what a data URL is. You an store a HTML or image document using a URL like data:text/HTML;base64,hashifystuffhere

points by iamwil 6 hours ago replies      
I wonder if the equivalent of a quine for this is possible.
points by aneth 59 minutes ago replies      
How long before the bit.ly namespace is exhausted?
points by jules 6 hours ago replies      
So in effect, you're using bit.ly as a webhost. Url shorteners might not be completely useless after all.
points by pedalpete 6 hours ago replies      
Clearly this is awesome, I'm curious as to what lead you to build it? Understanding that you weren't solving a 'problem', but you've created something really compelling here.

Care to give a peak into how you came up with it?

points by riobard 8 hours ago replies      
What about gzipping the content first?
points by yakto 8 hours ago replies      
points by yalogin 1 hour ago replies      
What is the purpose of this? The URL is already pointing to the store - the actual site which hosts the page. Instead now we have a shortened URL which stores the document. So they just took away the distributed nature of the URL and put it all in one store (bitly).
points by bct 7 hours ago replies      
What are the differences between this and a data: URI? Just the shortener and that it can use out-of-band Javascript for the editor?
points by aj700 6 hours ago replies      
would be a good text "host" but needs clones, so that when it disappears in a few years I can still easily convert my urls back into the document therein. that's the one problem these text host sites have. they never last. this gets around this by hosting nothing, merely converting, but still.

and using bit.libya. i dont trust it.

isn't this also somewhat censorship resistant. since the hashify url without its bitly can be put anywhere on the web that is writable, thus making multiple copies available in a covert way.

points by kqueue 7 hours ago replies      
This is going to break in cases where the request line grows above 8k-16k. Many browsers/proxies implement limits on headers/request lines, for good reasons.

It's a very cool idea though.

points by strayer 1 hour ago replies      
Isn't it a "page" or "document", and not a "website"?
points by hElvis 7 hours ago replies      
I am just coding the same thing right now (began a week ago). Also had the idea to use bit.ly as shortener (because of its api) and make use of multiple shortened links to store the data. Right before looking at HN I was doing some research for a good js compressing algo.

On the one hand i am a bit disappointed (that i am too late), but on the other hand hashify.me is made far better I could make it. Great realisation.

points by mlinksva 8 hours ago replies      
Nice hack, though odd name given that no hashing occurs.
points by blantonl 7 hours ago replies      
I could see this as a very useful implementation for HTML5/Mobile Web sites.

Consider the user experience for the target site on a mobile platform. You have already loaded the site on your mobile device before even taking action, so when you click the link the response is much faster than requesting the site at the click.

points by micheljansen 7 hours ago replies      
At my workplace, this completely freaks out our corporate proxy, so no go :(
points by brndnhy 6 hours ago replies      

Apache responds with an HTTP code 414-Request URI Too Large once the URI reaches around 8K in length.

Default limits exist in several load balancers as well.

points by theoa 8 hours ago replies      
Hashify.me seems to be overloaded for the moment. Nevertheless a brilliant and delightful concept!
points by petegrif 7 hours ago replies      
extremely cool
points by codejoust 5 hours ago replies      
Finally, an easy and quick way to decode base64 hashes.
points by sweis 7 hours ago replies      
The Sad, Beautiful Fact That We're All Going To Miss Almost Everything npr.org
125 points by adambyrtek 5 hours ago   48 comments top 20
points by grellas 4 hours ago replies      
I truly believe nearly everyone realizes that it is impossible to experience all or nearly all of what is important to cultivate in one lifetime.

Beyond that, perception tends to be affected by one's age. When I was young (e.g., in my 20s), all the possibilities of the world seemed open to me and it was just going to be a question of what I would do first - I put everything else into the category "I'll get to that when I have time." I had done a lot to develop my talents and knowledge base, and in a range of areas to boot. But my reading of the "great works" trailed off following college. Time was too limited to get to most of them. But, some day, yes, I would do so. I had never learned to play an instrument. But, when I had time, I would learn piano. I had limited time to do non-business travel, but some day I would make it up.

Of course, "some day" one day comes and you quickly realize that many unrealized hopes and dreams would never in fact be realized. And that includes becoming cultivated in a range of areas. When this fact first strikes you, it truly is depressing. For me, it was the first time in my life that I started to feel "old" (feeling old is not so much chronological as it is a state of mind). You become overwhelmed with the fact that you will never keep up with all the new trends and you will never have the time to fill all the holes in your knowledge base or to do all the things you dreamed of doing.

In time, though, I came to make peace with this sense of restlessness. Life is too short to do everything but life is more than ample enough to do important things, things that count beyond the mundane routines of daily existence. This life is but a breath or, as my 100-year-old grandmother said shortly before she passed on, everything that she had experienced to that point was "but a blink." When you can get to that stage and say, "no regrets" for a life well-led, you can have peace with your finite capacities and your finite existence in this world. There is much that is beautiful to do in this life. You don't need to do it all. You just need to do it well.

points by Umalu 3 hours ago replies      
When I turned 40 I figured my odds of living another 40 years were pretty good. I then figured that if I continued to read one book a week (my average) for the rest of my life, I would read another 2,080 books. That sounds like a lot but really it isn't, especially when one considers how many great books there are out there that one hasn't read. Many more than 2,080! So now when I consider reading another book I ask myself if it looks good enough to be one of my 2,080. Many books do not make that cut. I think it's been a good filter and I expect as I grow older, and I have fewer and fewer books looks left to read, I will get even more selective in what I read.
points by pstack 3 hours ago replies      
I'm not much for repeating content. That's why I don't like to buy DVDs or build a collection of things. Music is an exception, but as far as film and books -- I have zero interest in experiencing the exact same content repeatedly. I could not consume all the wonderful content in ten life times, so I'm not going to short myself something that I have yet to enjoy, because I have to read a book the fourth time or see a movie the tenth time.

My first thought in response to this actually deviated from the intention of the topic. You see, I am constantly amazed at humanity. For all the stupidity and evil, we have a capacity for overwhelming kindness, compassion, ambition, and ingenuity.

Few days ever go by that I don't see something that makes me have a moment of extreme pride in this species (and I wonder if other species from other planets out there in the great beyond would share any of the same appreciation).

Anyway, those thoughts are usually followed directly by the realization that life is so painfully short. Too brief. No matter what fantastic accomplishments I witness in my few remaining decades on this blue ball, I will miss out on everything that comes after. I probably won't be alive when we discover other life in the universe. When we accomplish teleportation and long distance space travel. When we have kick ass robots that we can have conversations with. When we do everything that nobody can even conceive of, today.

I wonder, would anyone take up the offer if it was given, to be in some sort of stasis that allowed you to awake for one year every hundred years? You'd miss out on all relationships and so much life, but you'd also experience a year of life every century, well into the 31st century (and probably beyond, if medical science could extend your life another forty years at some point, there).

I'm tempted. I can't say I'd do it with absolute certainty, but I would have to think very long and hard about the chance for such a prolonged journey. Plus, I bet girls in 3011 are total sluts.

points by gwern 4 hours ago replies      
The overwhelming amount of material has a number of implications; when I realized just how much stuff was out there, it occurred to me that this implied a lot of things about people's true esthetic preferences and the justifications for intellectual property. Ironically, I then wrote a long essay on it: http://www.gwern.net/Culture%20is%20not%20about%20esthetics....

(I include a number of statistics on how much stuff, exactly. Skip down to http://www.gwern.net/Culture%20is%20not%20about%20esthetics.... where the numbers go into the billions.)

points by jonnathanson 3 hours ago replies      
Certainly one way of looking at my time on Earth is to ask what I've consumed and what I haven't. What I've read and what I haven't. What I've seen and what I havent.

In some ways, the more motivating question for me is: what have I produced? If time is an input, what is my output? I would hope that I'm converting time as efficiently as possible into great output, though I know that's often not the case. But framing my life in this way -- as the processing of time into something tangible -- keeps me focused, energized, and productive.

points by te_chris 33 minutes ago replies      
Reminds me of Umberto Eco's response when asked why he kept such a vast library and how many had he read: He responded (paraphrasing) that "the key wasn't how much I've read, but how much I've yet to read and learn".

As far as I'm concerned abundance is great because there's just so much to learn and be surprised by in the world!

points by paganel 7 minutes ago replies      
As far as classical literature goes, if you're read Balzac, Stendhal and Tolstoy then you've read them all. Problem solved :)
points by jswinghammer 3 hours ago replies      
What's more sad I suppose is that what a few people have decided to be worth reading is probably just a subset of what's actually great out there to discover. I read a lot of classic literature and philosophy not working through any list but rather trying to be less ignorant than I was yesterday.

I routinely go back to re-read things I've read before though. That's really what defines what books I got something out of reading. I'm probably never going to read Plato again if I have a choice in the matter but I'm currently returning to Cicero and then reading Augustine of Hippo whose major works I read years ago. I've also read the Bible more times than I could count.

Thankfully there aren't too many new computer books worth reading or I'd never get around to reading these old books.

points by coop11 29 minutes ago replies      
For better and for worse, the tools that have come along with the information revolution foster what seems to be a much broader, yet more shallow perspective.

For example, lets consider the fact that it takes .19 seconds to find someone's personal distillation of Darwin's Origin of Species. I can now get a summary of one of the great scientific discoveries in less than 1000 characters and be back to reading Facebook updates without blinking an eye.

I didn't read a single word from the original work. I never touched on the years of toil, thought and research that become obvious only after you hear it in Darwin's words. To draw a relevant analogy, its like we are adding layers of abstraction to information. Wikipedia is just the high-level, interpreted view that hides all the nitty gritty details we don't need to worry about anymore. So how often will we need to dive into the inner-workings in the future?

The question becomes is this satisfying? Is it "good enough" to just read the cliff notes? I hate to say it but I think yes. We will end up with an increasing number of "instant experts" who know a little about a lot. And the craftsman - the true specialists - will probably just fade away with the rest of the irrelevant details.

points by JSig 3 hours ago replies      
While reading this, I kept thinking of the excellent Twilight Zone episode "Time Enough at Last."

In it, The book loving protagonist survives the "end of the world" and, after being all alone, is ready to kill himself. But once he stumbles upon the library, he realizes he has the rest of his life to read whatever he wants. Of course, things don't go as planned.

points by AngryParsley 4 hours ago replies      
Excellent article, although it seems to assume that the average quality of content has stayed constant over time. I don't think that's the case. Take music, for example. In the past, we were limited in the types of sounds we could make. Nowadays, with the help of computers, musicians can create any sound they can imagine. A similar thing has happened with television and movies. Technology has allowed a wider range of content to be created. It's also made it easier to create high-quality content.
points by kingkawn 34 minutes ago replies      
Imagine all the things that are as of yet unknown that we will miss. This dwarfs the knowable to infinity.
points by mmcconnell1618 4 hours ago replies      
I realized long ago that the rate of change in technology makes it impossible to have a significant knowledge of something as varied as computer science. There are so many avenues to explore from electrical engineering to manufacturing to compiler design, languages, HTML, UX, design and color theory and that's just the surface. It is sad that one person can not possibly have the time to experience all aspects of their craft but it means that specialists become unique and important players.
points by jroid 2 hours ago replies      

The true joy of life is the trip, not the destination

points by alecco 3 hours ago replies      
There's just too much out there. Try to make things that replicate (subjective|probabilistic) good in the universe. Also this:


(It applies beyond academia, too)

points by aforty 3 hours ago replies      
I'm going to sound really illiterate but who reads two books a week? I read a ton, as most programmers do but I read perhaps one or two [fictional] books PER YEAR.
points by davidrupp 4 hours ago replies      
This is exactly what I've been thinking recently about computer science / programming. There's just so much to read / learn / practice / improve. Nice to have it put in perspective. Gotta learn to surrender more.
points by teyc 1 hour ago replies      
I've just been discussing this point with my daughter a couple of weekends ago. The same I suspect applies to all the cool programming languages I wanted to learn.
points by brianstorms 1 hour ago replies      
And the ironic fact is that I'm going to miss almost everything in that article because it is presented as faint grey text on a white background.


(too bright, didn't read)

points by dools 1 hour ago replies      
Forget books, I feel this way just about The Simpsons.
What Happens When Solar Power Is as Cheap as Coal fastcompany.com
9 points by rblion 38 minutes ago   discuss
Anatomy of a Failed Pitch at Startup Weekend randomdrivel.com
8 points by erik_p 1 hour ago   6 comments top 3
points by entangld 57 minutes ago replies      
You looked like a lot of fun. I wish we'd been on the same team.
points by Skywing 53 minutes ago replies      
One thing I learned from these startup weekends, too, is that it's just one weekend. You weren't necessarily forced or desperate to find a team or co-founder there, especially with it being your first startup weekend-style event. It's just a mindset.
points by neworbit 51 minutes ago replies      
Eek, I imagine the dropbox guys would hate you for turning them into the RIAA's latest target
JavaScript PDP11 emulator running Unix V6 aiju.de
80 points by sedachv 9 hours ago   17 comments top 10
points by angusgr 5 hours ago replies      
The source code is quite readable as well. pdp11.js has cases for stepping each instruction. 2Mb hard disk image loaded into an array via an ajax request (rk05.js)

Is it possible to benchmark this on a modern PC/browser, against a real PDP-11?

points by jws 4 hours ago replies      
The question is, how do I mount my RL02 pack with the software I saved?

(That's a 14" removable platter drive that stored 5 million bytes! Amazing. A couple decades and the media is essentially unreadable. I suppose someone with a STM could work it out.)

points by enf 6 hours ago replies      
Pretty amazing. My tips to anyone else trying this out:

* Remember that cd was spelled chdir in v6

* "stty -lcase" will make it stop putting everything in caps

points by olegp 1 hour ago replies      
Would be awesome to see someone try this on Node or Akshell (http://www.akshell.com/ide/) and see how it performs on server side V8. Could even add a real time, multi-user console to it.
points by st3fan 4 hours ago replies      
Pretty awesome. I compiled HELLO.C. Took a minute, but it works.
points by angusgr 4 hours ago replies      
It'd be extra awesome if it also emulated a front panel
points by wtracy 5 hours ago replies      
This emulator and this codebase need to get together:
points by cygwin98 2 hours ago replies      
# pwd


# vi

vi: not found

Wow, it's like I was traveling in a time machine back to 70's and saw Ken Thompson hacking. One thing that has always taken for granted is that vi is the ubiquitous editor in Unix world, it's NOT true, :)

points by tectonic 4 hours ago replies      
# date

Fri Oct 10 12:33:34 EDT 1975

points by tectonic 4 hours ago replies      
It sure isn't happy about `rm-rf /`
Ask HN: I hate the code in my popular open source app; do I put it on my resume?
49 points by rsp 3 hours ago   33 comments top 23
points by dpritchett 2 hours ago replies      
Of course you put it in there!

Try something like "Created X-PHP app in 2001. With one million downloads, X-PHP powers [large_number] sites as tracked by netcraft. (link here)"

You can't leave something like that out, it's an impressive accomplishment and ignoring it due to some PHP sensitivity is a bad idea.

The one and only purpose of a resume is to catch the eye of a reviewer and thus score you an interview. Once they see that you've published a 1M-download app and call you in for an interview then you can tell them what you've learned in the past ten years.

Think of it in terms of conversion rates. Some small percentage of resume readers are going to request an interview. Some smaller percentage of those are going to make an offer. You don't want to self-select your way out of that first pool.

Edit: I have old projects on my github that are ugly too. I put my misgivings in the readme. "This was written 5 years ago, it could stand to be modernized, the interesting parts are here (link)."

points by jbyers 1 hour ago replies      

I interviewed and eventually hired the developer of a name-brand open source project years ago. I asked him about parts of the code, and after I hired him he confessed that he thought it was game over right at that moment of the interview: he was embarrassed about the PHP he'd written.

I didn't care a bit. He was a fantastic engineer, he recognized what he no longer liked about his old code, and most importantly he created and shipped a huge, popular project. Very few people can say that.

Claim it, be proud of it, and be prepared to talk about the mistakes you made.

That engineer, by the way, has now been at Google for years. He's doing just fine.

points by ohyes 2 hours ago replies      
You are supposed to hate your code.

If you don't hate it, you aren't trying hard enough.

I would not equate hating the code with the code being something to be ashamed of.

I hate every goddamn piece of code I write.

points by jrockway 2 hours ago replies      
Nobody has ever written perfect code. So don't worry about it; writing code and being able look at it critically are both rare skills, and will look great in an interview.

It's much better to say "I wrote xxx and hate yyy design feature" than to say "I've never done anything".

points by nl 2 hours ago replies      
Hell yeah!

If you are lucky they might even ask you about it in an interview, and then you'll get a chance to explain how & why you'd do things differently.

More likely, though, they'll see the name of it and go oh, I've heard of that - it seems to be used a bit so it can't be total crap and put you in the "interview this person" pile.

points by Confusion 28 minutes ago replies      
I agree with all the comments, but one question remains: would the interviewer think like we do? You could argue that you shouldn't want to work there in such a case, but the interviewer may not be representative of your direct colleagues. How large would that risk be?
points by covati 1 hour ago replies      
I definitely agree with the comments here. I don't know one good developer who doesn't want to rewrite 50% of what they previously written. That rate always goes up to about %100 if it's written when they were anywhere near new to a language.

The fact that you belted something out that was useful and stable enough to still be active is a testament to your intelligence - and that is what a good potential hire employer is looking for.

BTW, you looking for a job in Durham? http://argylesocial.com/jobs/durham-nc-software-engineering-...


points by giis 6 minutes ago replies      
Are you saying,you didn't learn a single thing with that project?
If you learned something out of it (whether its design part or coding part) you must add it to your resume. You can tell interviewers you didn't follow any coding standards with that project. But now you are started to follow them. Open source project always add more value :D
points by kellanem 1 hour ago replies      
As the creator of MagpieRSS I know exactly what you're talking about.

And yes, you include it. There are skills demonstrated in a popular open source project which are interesting and relevant, and very very few people are proud of the code they wrote in 2001, no matter who they are or what they do.

points by zmmmmm 1 hour ago replies      
Definitely put it on.

In a backhanded way there is actually value that you can work effectively with "bad" code. Many places that are hiring are hiding their own shameful secret : they hate their own code. Sometimes something they are even screening for is to make sure the person is not going to baulk when they discover the reality of the code they are now involved in and who will be pragmatic enough to work with it try and make it better rather than declare it's a disaster and not their fault.

points by jarin 2 hours ago replies      
I would say yes, especially if you have newer code you can show off as well. Code can always be refactored and improved, but knowing (and making) what users want isn't something they teach in school!
points by Kaizyn 16 minutes ago replies      
If you hate the code that much and you've been working on it for 9 years, why haven't you gone back and "fixed" the ugly broken bits?
points by PStamatiou 1 hour ago replies      
I have been thinking about something similar. I'm shutting down my first startup (circa 2007) in 3 months and thinking about open sourcing the code. Several have asked me about that. Thing is it was my first Rails app and one of my earlier attempts on working on a large web app.. so I'm not exactly proud of my code either..
points by cdavid 38 minutes ago replies      
If it has been used by millions users, it cannot be bad code on every front. For example, maybe the architecture sucks, etc... but this came after you already had many users, so you could not change it easily: that's inherent to most projects out there, and the ability to deal with it is one of the most valuable skill you could look for in a prospect hire.
points by jonburs 54 minutes ago replies      
Absolutely, you should -- for everything already said here, and more. When you interview with a company do they ask you about the project? Have their developers looked at the code in enough detail to question the design decision you've made and see what you've learned since then?
points by cincinnatus 1 hour ago replies      
Everything you wrote more than six months ago is crap, or should be. If it isn't you've stopped growing as a developer.

Anyone looking to hire you either grasps this, or isn't a sound enough developer to see past the popularity of the package. Either way you win.

points by pixeloution 2 hours ago replies      
Have to ask: what's the app? If it something thats not only popular buy well thought of -- well, you can always mention in an interview how you're unhappy with it and how you'd improve it today.

Most programmers - myself included - look at things we did last year, two years ago, etc and think "how awful is this?". I've yet to meet someone who doesn't.

points by staunch 1 hour ago replies      
Make sure you include sample code that shows your recent good code. If they think all your code looks like that it's going to be a big negative.
points by georgieporgie 1 hour ago replies      
If you put it on GitHub, wouldn't it create the impression that you had recently written it, due to the timestamps?

If I were you, I'd milk that app's notoriety for all it's worth, though I might not make it too easy for people to find the code. Oh, and don't be ashamed of your baby. Even ugly babies are worthy of bragging if they're popular.

points by jhuni 14 minutes ago replies      
Yes. Experience, even with crap, is useful.
points by secos 2 hours ago replies      
I would say something along the lines of what you said here. You were new, there are a few things you'd have done differently now (and list what those are) but that people love it and its not your primary interest anymore, etc.
points by gte910h 2 hours ago replies      
Yes, you put it on, and say 2001-2008 on it.
points by hoshing 1 hour ago replies      
Yes, put it.
At the end of the day , everybody hates the code (that's the earned maturity/knowledge)
YouTube Videos Now Served in WebM youtube-global.blogspot.com
98 points by abraham 10 hours ago   41 comments top 10
points by Terretta 8 hours ago replies      
Anyone wanting to try hosting their own HD or SD video portfolio in WebM can try http://www.vive.ly/ which is like parts of Dropbox, Zencoder, and Hulu in a blender, for original video files you want backed up, encoded, and published publicly or privately -- without the YouTube problems of giving up your copyrights or having competitor videos promoted alongside yours.

Drop your originals in a folder, we encode into SD and HD in H.264, Ogg, and WebM, and build you a mini-Hulu video site that works in Flash, Silverlight, or HTML5 across browsers. You can also download the encoded files for use elsewhere, embed them, or rebrand the video site with your own logo and domain name.

Use our Hacker News invite code hd4yc to sign up free, and let us know what you think of the WebM encodes. We encode all the files in parallel, and the video pages update as the versions become available, so you may have to wait a bit for the WebM encodes to finish.

points by Samuel_Michon 8 hours ago replies      
From the article:

"Currently, there are countless devices used to record videos and hundreds of different video file formats."

H.264 is by far the most common. I don't know of any video camera or DSLR that records to WebM or Theora.

"certain web browsers that you use to view video online only accept certain ‘codecs' - or programs used to encode, transmit and playback video files - and others require plug-ins (converters) to integrate the video file with the browser."

"Certain web browsers"? Chrome and Firefox are the only ones that don't support H.264 natively. To view video on those browsers, it needs to be routed through a plug-in like Flash (standard on Chrome) or QuickTime. Browsers like Internet Explorer and Safari support the majority of all web video, right out of the box, no plug-ins needed. On mobile devices, the situation is even more obvious. Android is the only OS with support for WebM, and no mobile devices have hardware acceleration for WebM, draining your device's battery in no-time. However, all modern smartphones and tablets have support for H.264, most of them with hardware acceleration.

I'm all for an open source alternative to H.264. If it's at least as good and free to use, then I hope that it will become the standard; for the web, in desktop operating systems, for mobile devices, for video cameras and DSLRs. I'm just not convinced WebM is that alternative. It's unclear whether WebM is as good as H.264, and it's unclear whether it's free to use.

points by jrnkntl 9 hours ago replies      

   "nearly 6 years of video is uploaded to YouTube every day"

I knew it was a huge amount every day, but this just blows my mind.

points by mikeryan 9 hours ago replies      
It will be interesting to see if there's a noticeable quality difference. Right now WebM is not comprable to H.264 except the baseline codec.

Its openness allows anyone to improve the format and its integrations, resulting in a better experience for you in the long-term - This line doesn't jive at all with my understanding of the VP8 codec. I thought implementations were left to devs, but the format was locked and didn't have room to be improved on? Either way the whole spec seems to be built around avoiding H.264 patent suite and "improving" on it is a minefield.

points by aw3c2 9 hours ago replies      

  opt-in trial

Wasn't it like that from the beginning? Seeing the headline I assumed this was big news and they changed to WebM as the default.

points by kinetik 9 hours ago replies      
This is great to see. Another step forward for the open web.
points by antimatter15 7 hours ago replies      

    So far we've already transcoded videos that make up 99% of views on the site
or nearly 30% of all videos into WebM

There really isn't much of a long tail on YouTube, it seems. It's sort of worrisome that google could throw away seventy percent of the videos with the vast majority of users not caring.

points by steve-howard 9 hours ago replies      
The summary is that new videos are being transcoded to WebM, whereas the rest is going to take a while. The fact that the transcoding is already partially underway and I haven't noticed any difference probably speaks well for how the transition has been going (admittedly, I generally keep my browsers very up-to-date). EDIT: Aaah, just noticed the opt-in part.
points by ww520 7 hours ago replies      
This is great news. I hope the player can pick the WebM format automatically based on the device capacity. Save a lot of headache for developers.
points by bpeebles 7 hours ago replies      
It's good they're doing this, but since I've switched to a browser with WebM support a few months ago, and opted-in to the trial, I've run across only a couple of videos not in WebM.
Subscriptions work? $1,800 in donations during live podcast twistlist.co
4 points by jasonmcalacanis 40 minutes ago   2 comments top 2
points by pstack 9 minutes ago replies      
I wonder how many of those people thought they were donating to Leo Laporte, due to the sleazy use of the "This Week In . . . " branding for a similar network doing similar content in a similar medium.
points by rrhoover 36 minutes ago replies      
I'd like to see more content producers adopt this model. As a long time TWiST fan, I gladly donated.

I actually wrote a short blog post about this model and twistlist.co a few hours ago: http://ryanhoover.me/post/4768633874/please-take-my-money-mr... /unashamedplug

Working Best at Coffee Shops theatlantic.com
210 points by GiraffeNecktie 15 hours ago   79 comments top 37
points by edw519 13 hours ago replies      
Not my experience. Here's why...

A coffee shop and a laptop are convenient, even fun ways to produce mediocre content. A blog entry, email, maybe even cleaning up a few lines of code. But as most programmers know, sooner or later, you have to enter another mode to get that additional "oomph" to get the important critical-path work done. Some call it "the zone".

In fact we just talked about this the other day:


A coffee shop is probably the best way to think you've entered the zone without actually entering the zone. The can be very dangerous. You've had a good time surrounded by like minded people (kinda like being here at hn), but you've never actually transcended anything really important.

I spend time at the library one or more times per week, sometimes just to get out of the office. It's fun to think and get transactions done, but fortunately, I have an internal guide that tells me, "Time to get back to the silence, large screen, and comfortable chair of the office to get the real work done."

I realize that this isn't the same experience as others, but I still often want to ask them, "Did you really get done what you wanted to get done in the coffee shop?"

This subject reminds me of a great line from Joel Spolsky's "Hitting the High Notes":


"Five Antonio Salieris won't produce Mozart's Requiem. Ever. Not if they work for 100 years."

My version:

"Five workers in the coffee shop won't produce the killer work that one in a dedicated space can produce. Ever. Not if they drink 100 lattes."

points by mechanical_fish 14 hours ago replies      
My theory is subtly different from these. I sometimes call it "ambient sociability".

Humans are pack creatures. If you put us in solitary confinement we go insane. This is generally true even for introverted people; only on the far edge of the bell curve do you find people who crave absolute solitude for weeks or months on end (and these people tend to be really odd, and it's often hard to tell if the oddness is cause or effect.)

However, as every reader of programming productivity books knows, being surrounded by a bunch of people that is constantly interrupting you makes it hard to focus. And so civic design has evolved the library, the coffeeshop, and the coworking space: Places where you can be alone yet also surrounded by people.

The secret is to surround yourself with people who don't have the same agenda as you. Then you won't often be interrupted by things that break your focus: The staff might occasionally ask to refill your coffee, and you'll get interrupted if the building catches fire, but otherwise you can work on your own thing.

points by timr 12 hours ago replies      
I realize that I'm fighting the tide, but I'm going to ask anyway: please don't do this very often. And when you do, please have basic respect for other people, purchase from the business frequently (every hour or so, at minimum), limit your total seat time to an hour if the place is crowded, and don't be "that guy" -- the dude spread over two tables, with the laptop stand, the iPad, the backup drive, the portable keyboard, mouse, etc.

There's nothing worse than walking into an otherwise pleasant cafe and being unable to sit because the place is filled with laptop zombies and/or dudes (and it's always dudes) holding "business" meetings. In San Francisco and Seattle, there are dozens of cheap co-working facilities, but you still can't get a seat to eat lunch in a place like Coffee Bar or the Creamery for all of the nerds that crowd in between 9AM and 5PM.

Finally, if you find yourself working at a cafe for eight hours a day, every day, you're abusing the system. Go to a co-working facility, and pay the minimal amount of money for a desk. If you can afford paying for multiple coffees every day, you can afford a co-working space. If you can't afford either, you should work at home, or in a library. The coffee shop is not your personal, low-rent office space.

points by gwern 7 hours ago replies      
> ...when we are alone in a public place, we have a fear of "having no purpose". If we are in a public place and it looks like that we have no business there, it may not seem socially appropriate. In coffee-shops it is okay to be there to drink coffee but loitering is definitely not allowed by coffee-shop owners, so coffee-shops patrons deploy different methods to look "busy". Being disengaged is our big social fear, especially in public spaces, and people try to cover their "being there" with an acceptable visible activity.

This reminds me of http://lesswrong.com/lw/2qv/antiakrasia_remote_monitoring_ex... - 2 guys using VNC to simulate the patrons of the coffee shop. You can't help but feel that someone might be watching & judging you, and that prods you into doing something more creditable.

Why does it work? My own opinion is that it's a hack on hyperbolic discounting (http://en.wikipedia.org/wiki/Hyperbolic_discounting): we are wired to over-value short-term gratification, so small penalties or shifts in difficulty can put our desires back in whack to where they should rationally be.

Hence, melatonin can help you maintain the right sleep schedule & not stay up on HN all night because it makes you sleepy (http://www.gwern.net/Melatonin.html#self-discipline); but this perspective cuts both ways - if you can make yourself do things with small shifts in penalties/rewards, small shifts in penalties/rewards can stop you from doing things, hence you should 'beware trivial inconveniences' (http://lesswrong.com/lw/f1/beware_trivial_inconveniences/).

points by T_S_ 13 hours ago replies      
If you are in the Bay Area check out Hacker Dojo in Mountain View. If you want, you can think of it as a coffee shop with

1) Free coffee. Open 24 hours.

2) Screens you can hook up if needed.

3) Other coffee drinkers who also hack.

4) Very fast internet connection.

5) Happy hour on Friday, when you need to lose the caffeine edge.

Guests are welcome. There is a box for voluntary suggested donation. Membership is $100 per month. Remember the "no free cup of coffee" theorem. :)

points by datapimp 14 hours ago replies      
My theory is that by opening up myself to the possibility of meeting a woman keeps me on my toes and harnesses my darwinian energy which I then channel into my work. Working at home in my underwear doesn't create this psychological situation.
points by kariatx 14 hours ago replies      
I am probably the last person on HN to realize this. I've been working at home for ages (like since Hanson was still a popular band), and I'm really finding out how wacky the long term psychological effects are.

Spending too much time at home makes me more negative about everything. In particular, I'm starting to wonder if working from my home office makes me a little too pessimistic about my business and less willing to take risks. I feel pretty crabby about work when I'm working from my home desk, but as this article points out, working at a coffee shop makes my work seem cooler. That shift in attitude is a revelation both for productivity and creativity.

points by alexknowshtml 56 minutes ago replies      
I recently went on our company retreat and spent 7 days in the Spanish countryside.

The last 2 days of the trip, we were in Barcelona.

While the entire trip was productive for important reasons (Wildbit is an entirely distributed and international team and spending social time with the team was extremely valuable and enjoyable), I found more inspiration and motivation from the couple of days in the city compared to the peacefulness of the countryside.

I wrote more about the experience here:


Of note:
"Noisy environments provide sort of a filter to cut through the noise in my head. Sort of like panning for gold, if everything goes well, all of the cruft fades away and I'm left with some nugget of gold."

points by ezy 12 hours ago replies      
I love taking a break from home working and hitting a coffee shop. For me, it's just a way to improve my mood. Similarly, I'll break out the lawn chair and sit outside to work -- that is just as effective emotionally, but not quite as practical (glare, no real table, etc.)

My only gripe with coffee shops is the bathroom break. No way am I leaving a $2000 laptop on a desk unattended, but after a few cups of anything, you have to go. Sometimes I'll ask someone to watch it for me, but if there's no one who's around consistently or who seems trustworthy, this can't always work. So I end up packing up my shit then unpacking it again...

points by famousactress 14 hours ago replies      
I agree with working in restaurants. The coffee shops near me that have wifi are full of telecommuters gaming for the tables with power outlets. For some reason I find it way more distracting to be surrounded by other remote employees oogling their laptops than I do people eating or drinking coffee.

In my area there are a few restaraunt/bars however that have great wifi, few remote employees, food that isn't scones, and better music. Also, they're completely dead in between meal times so no one minds if I hang out from noon to 4pm.

points by ben1040 13 hours ago replies      
I like the theory they posit about the social expectation to look busy.

It's why I often take a walk down to the university library to work. There's a long-standing social expectation that when you go to the library, you're there to do serious things and be productive. You're not going there to yak with your friends on IM, read HN, or surf Reddit for funny cat pictures, which is what I will invariably find myself doing if I were at home. So I put my head down and get to work!

Going to the library to work is one way I can find the motivation to still put in 5 hours on a side project even after putting in an 8 hour work day. I sit down at a table there and can immediately get traction on my projects.

It doesn't hurt either that the library is a few blocks from my house, is open until 1 AM, and sells good coffee. I am going to have to find another good nearby place that's open late though because the library is only open 8-5 in the summer.

points by city41 13 hours ago replies      
I completely agree with this article. My problem is sacrificing my two glorious 24" monitors for a tiny laptop screen. I feel the sacrificed real estate really bites into the productivity gains of being in a place like a coffee shop.
points by blhack 11 hours ago replies      
There is an interesting social accountability aspect to working in a coffee shop, for me at least.

I work best with something playing in the background. A movie, some futurama, some always sunny in philadelphia, etc. Or I work best with 30-40 minutes of code code code code followed by a few minutes of playing minecraft, or reddit, or facebook, or something, followed by more coding.

When I'm at "work", in my office, I can't really just zone out and play futurama on one of my monitors. That would be totally inappropriate, and I would probably get called out on it by one of my coworkers.

And if I'm at home, I have the dog wanting to play, or the roomate wanting to go out, or a really awesome stereo begging to be played with, or a garage full of DIY projects...

The coffee shop is right in the butter zone. I would never sit there for 8 hours watching Futurama, but I don't feel bad if I watch a bit of it. The pressure to not look like an idiot is enough to keep me focused, and the freedom to do whatever I want helps keep me relaxed.

It's perfect. This is made better by the fact that my local coffee shop has nice little works-spaces for people to use.

(If you're a Phoenician, the coffee shop I'm talking about is Xtreme Bean in Tempe)

points by mhb 9 hours ago replies      
Perhaps if more restaurants or bars had wifi I too would work at them.

It is a little weird that despite the assertion that this arrangement is such a productivity multiplier, many people prefer to be concerned about WiFi availability rather than spend the ~$50/month for a cell modem enabling them to make the world their cafe.

Luckily Hemingway brought paper and a pen with him.

points by joshklein 11 hours ago replies      
I think whether you work best in a one kind of ambient atmosphere versus another (a place of social interactions versus a place of quiet) depends on whether you are an introvert or an extrovert.

Introverts and extroverts are equally able to function and enjoy both environments, but an introvert has to "turn it on" in a social atmosphere, and therefore needs quiet alone time to recharge his batteries. An extrovert is the opposite; he has to "zone himself in" to make use of quiet alone time, and needs social time to recharge his batteries.

I think extroverts are the people who enjoy the ambience of the coffee shop, drawing energy from the hustle and bustle around them. Introverts find this more taxing; they're just as able to do work, but they'd probably be more productive in a quiet study room.

points by Goladus 9 hours ago replies      
I am just noticing this. I currently work in a semi-cramped office with two other guys, but it's connected to a modern steel/glass high-rise building designed for academic research. It has a gorgeous, large cafeteria on the second floor. It's pleasant enough and there's enough activity during the morning and afternoon that it's a perfect place to work. Usually there are about 5-10 people using the cafeteria to work at any given time, plus there are lounge chairs situated at various points in the nearby hallways that can work as well.

I am less likely to get distracted with stupid internet crap when I'm in the public space. I find it relaxing, and I don't have the nagging feeling that by sitting at my office desk chair I'm wasting my life. Often those feelings are worth it all by themselves, even if there's no productivity change.

However, there are definitely distractions, and I find that I'm usually unable to get fully focused in a public space. I am often drawn to someone walking by or annoyed by a random smell. For difficult technical work, silence and peace are usually more conducive, as well as my multi-monitor setup and fast, wired ethernet connections.

But for stuff like reading email, and correspondence, knocking minor items off your todo list, and defeating a procrastination block, being in a public space seems to help a lot.

points by geebee 14 hours ago replies      
Working at coffee shops, for some reason, just feels really great. I learned calculus in coffee shops, and I really enjoy coding in them now. I hadn't thought of restaurants - that was a good idea about showing up in the early afternoon, when they won't need the table for a while.

I do have a personal rule - no being a coffee shop mooch. I make sure I buy something every now and then if I'm going to sit there for hours.

Diners are also a pretty excellent place to work. Even staid, corporate ones actually do the trick for me, but places with a bit of character tend to be more fun.

I actually think a coffee shop culture may be a key component to a creative environment. I attended UC San Diego as an undergrad, and while it has some wonderful qualities, I think it is missing the coffee shop scene you get at an urban campus (Berkeley and Washington are a couple of good west coast examples), where there's a seamless transition from the university to the coffee shops immediately next to it. Don't get me wrong, the coffee shops in the beach towns around San Diego are pretty great, and full of students studying, but when you surround a university with them, you get a kind of magic.

points by hugh3 14 hours ago replies      
I've tried working outside the office. Usually I can get intensive work done in short bursts, but it's too tempting to go take a walk and set up your temporary office in some other location for a while. "You've been in this cafe for too long, you should go to the library... this library is dark and ugly, why not go sit on a bench outside? This bench isn't really comfortable and the screen is too glary... but hey, it's time for lunch and there's a really great place only twenty minutes' walk away..." Finally I get to the end of the day and figure out I've done about four good twenty-minute periods of work and had a really nice stroll in the Botanical Gardens.
points by daimyoyo 14 hours ago replies      
Perhaps it's because I'm introverted, but I have always had the exact opposite reaction. Before I could afford to have Internet at my house, I had to use coffee shops to get work done online, and it was almost unbearable. The noise was a constant distraction, the smell of roasted coffee quickly became something I couldn't stand, and most of all, I hated being bunched up against everyone else. I suppose each experience will be different, but now that I've had the pleasure of working at home, I wouldn't want to go back if I had a choice.
points by rmason 13 hours ago replies      
I need it to be fairly quiet to code with few distractions. Yet many of my friends have to listen to loud music or they can't write code at all. It may be ADD but it seems they need to distract a part of their brain to be able to concentrate on the task.

Though I haven't much experience with them coworking spaces are much better because you can bounce ideas off other developers. I think there's a commaraderie as well that enhances the experience for me.

points by kadavy 5 hours ago replies      
I practically have my coffee shop productivity down to a science. I have certain places for brainstorming, certain places for when I want some quiet & solitude, & certain places for when I want to feel relaxed vs. focused. I've written a good deal of my book at a very well-featured Whole Foods in Chicago.

I also meet up with other entrepreneurs at a coffee shop every Wednesday. It's great for exchanging ideas, or just having someone to watch your laptop while you go to the bathroom: http://jellychicago.com

When I lived in SF, I started compiling information on various coffee shops, based upon how good they were to work at. I kept track of if they had open outlets, and how the staff acted towards people on laptops. It might be a bit out of date, but here it is: http://moworking.pbworks.com/w/page/10316102/San-Francisco-B...

points by scrrr 14 hours ago replies      
I'd speculate that most people are more effective when they feel observed and having strangers around you creates that situation.

Now coming to think about it I think this is why they had posters of the leader in "1984" everywhere.

points by orbitingpluto 13 hours ago replies      
If I hit a wall I have to change things up. If I'm not getting $#!7 done in the office, I go to a cafe. Productivity at a cafe is never as high, but I chock that up to screen real estate. One monitor for Eclipse and one monitor for docs. Otherwise I'm wasting time flipping.
points by emehrkay 13 hours ago replies      
I love being the "typical apple hipster" at the coffee shop or bookstore or panera with my macbook open and textmate filling my screen.

You know what's boring? Track practice for 9 year olds, but it is a great time to sit and code. I churn out so much code while those little legs move around the track.

I just love not working in the house. It's crazy since I absolutely love looking at how people have their home offices setup on sites like wherewedowhatwedo.com and lifehacker's featured workspaces. forgot about http://www.deskography.org/

points by kmfrk 12 hours ago replies      
I've tried finding something similar in my (European) country, too. Unfortunately, we don't have any Starbucks, and I find the silence in libraries to be too loud for my taste.

I've found two "eh" coffee shops, but one's always crowded and has poor ventilation, and the other one cranks up the music as if to scare people into only buying take-away, while the coffee-grinder or blender makes it impossible to get anything done on the same floor.

I've actually considered doing a start-up coffee shop to address this very thing, but it's to big an undertaking at the moment. And I'd rather do it in a country that seems to respect that culture already, which renders the idea somewhat moot.

points by kayoone 12 hours ago replies      
Ive been working from home since late 2006 until early 2011. I was pretty happy with it despite always having the feeling of not getting enough done.

I now work in an office in my own startup and simply love it. Conversations with other engineers, the whole energy of people working on the same thing in the same room and actually being able to differentiate between work and being at home are things i really really love right now.

I now have to commute 20min (one way) by car, but i dont really care. Sitting at home all the time and having your highlight of the day being a walk to the grocery store is depressing after several years ;)

I wouldnt want to work in a coffeeshop though, maybe as a writer, but as an engineer i need my large screens, comfy chair and big desk.

points by nate 13 hours ago replies      
I read in Esquire or Wired or somewhere (I'm having trouble finding the source online) that smells change our perception of time. Baby powder slows down time for us. Coffee beans speed it up. Perhaps we frequent coffee shops to get work done, because we want the work or workday to get done faster.
points by daydream 14 hours ago replies      
At both the office and home distractions abound. Different distractions, and there's generally less at home, but they're the types of distractions I either can or need to engage with.

At a coffeeshop there are distractions, but they generally aren't ones I can or feel compelled to engage with. For me, it's easier to focus on the task at hand.

points by pacaro 13 hours ago replies      
"My headphones, they saved my life"

I work at a larger company, on a team with ~30 devs, my role is less about how much code I produce personally, and more about how I help the entire team produce code.

However, there are still days when what matters is me getting shit done - when those days come I pull on a pair of headphones (decent DJ cans) and put my entire music collection on random (which is less "random" than I'd like, but HN already knows that) - volume set to the lowest audible level.

This works for me: 1) the headphones are a subtle (and therefore more effective) Do-Not-Disturb sign; 2) the ambient conversations are eliminated (which is why DJ cans with high passive noise reduction are better); 3) It helps shrink the world down to the space of me and the problem to be solved.

Changing my environment also works: shutting an office door (if you have one); working in a conference room; cafeteria; coffee shop; park; library; at home at the kitchen counter - but all of those require that I _visibly_ isolate myself from the team, the headphones are more like a psychological invisibility cloak or SEP field.

points by spjwebster 11 hours ago replies      
My take on this is that there's a little part of my brain that wants (nay, needs) to be distracted so that I can actually get on with working. It can be a TV in the next room, a movie or video game soundtrack pumping in my headphones, or a coffee shop full of people and white noise. If that part of my brain isn't distracted by these things, it interrupts the main thread and I find myself lost in HN, my feeds, the BBC website… anywhere but my work.
points by RobertKohr 12 hours ago replies      
Anyone know a good mp3/ogg of coffeeshop sounds? That might be entertaining to play on headphones to pretend that you are at a coffee house.

Better yet if a coffee shop sets up an audio stream :)

points by mpg33 14 hours ago replies      
I find this works for me when i working on "output" related tasks..such as assignments, projects (ie creating something).

However when I am trying to learn/study and retain information I find I need a mostly quiet area.

points by coffeenut 12 hours ago replies      
FWIW, parts of Windows Server 2003 were written at Starbucks ;)
points by bxr 13 hours ago replies      
I think that many of the points hint at it, but don't directly address the fact that the work space is inherently temporary. If I were to get up right now and go use one of our lab bench computers I'd be getting more done even though its not 20 feet away from my desk. Nothing else would change, anyone who came to or called my desk would still get to me, it wouldn't change the hour I leave. I think our designated workspaces can get us into a rut that leads to less productivity.
points by MatthewB 13 hours ago replies      
I never liked working at coffee shops when I was working for myself. For me the best place to work is at home. Working at home can be very difficult but if you have the discipline and a quiet work space it can be very productive.

Definitely don't have a TV in the same room as you work. Also, playing music with headphones is great to get in the "zone."

points by michaelty 14 hours ago replies      
Just needs to be a clean and well-lighted place.
points by ericmoritz 14 hours ago replies      
plus there's an endless supply of coffee; that does wonders for productivity.
Why are you not using a SSD yet? debuggable.com
6 points by trustfundbaby 1 hour ago   3 comments top 2
points by ENOTTY 50 minutes ago replies      
Because it costs an outrageous amount of money. I'm waiting for further development of hybrid drives, which are SSDs combined with a traditional hard drive for mass storage, but seen as one drive by the OS. The SSD is basically used a huge read cache. Current models of hybrid drives from Seagate have only 4 GB of SSD cache, which I don't feel is large enough.
points by dlsspy 25 minutes ago replies      
I'm on my second in this machine. Burned through the first one. It had a rough death.
Why PHP Was a Ghetto codefury.net
137 points by vlucas 12 hours ago   109 comments top 23
points by hapless 11 hours ago replies      
"5. Arguably the best documentation for any language"

I should very much like to see that argument.

My impression of PHP documentation (after using it for three of the last five years) is that it's a endless pile of bullshit whose primary content is in user comments on the doc pages.

That's the core library. Third party libraries are typically wholly uncommented and undocumented.

points by krobertson 2 minutes ago replies      
"In it's pizza-faced adolescent years (pre-5.0)"

Really? It took 5 major releases and 9 years?

Ruby and Python have been around as long or longer, but seemed to get the language basics/semantics down earlier. They also grew a lot slower compared to PHP.

points by rickmb 10 hours ago replies      
PHP has now split into different factions. Those like the WordPress community, who still party like it's 1999, and those around the major frameworks, libraries and testing and QA tools, who've taken their cues from Django, Rails and such.

The two have so very little in common they might as well be using different languages.

I'm oversimplifying of course. There are a number of large an quite successful communities that fall somewhere in between, like Drupal. The point is, neither the communities nor the code they write have much in common other than having PHP somewhere deep at the core. There is no "this is what PHP is like" anymore, and that hasn't been the case for over half a decade.

points by dasil003 10 hours ago replies      
I left PHP in 2005 because it felt like I wasn't learning anything anymore. At the time I thought it was the warts, but in retrospect it's definitely the community. The problem is that every good piece of open source PHP is drowned out by a hundred shitty spaghetti projects.

When I picked up Rails, everything clicked right away because it directly addressed so many of the shortcomings of how things were done in PHP. Digging deeper in the Ruby community I found a genuine passion for pulling in great ideas and advancing the state of the art. Ruby has shitty projects too, but the good stuff is more prominent and easier to find.

After 5 years with Ruby I'm not particularly eager to leave, but I do feel the urge to pick up another language to expand my horizons once more. Preferably something with a high density of good ideas, like Haskell.

I know PHP has evolved and is quite capable as a language, but the only way I would touch it again is if I was working on a project that was interesting for bigger reasons (eg. Facebook).

points by edw 11 hours ago replies      
A lot of my designer friends love Drupal, and they wonder why the veins in my neck and forehead start to bulge when they mention it. They love it because it allows them do things that they never could have imagined, whereas I despise it because it does badly what any competent Django or ROR developer could do in more quickly and maintainably. (Yes, I know, there's a Drupal module that solves that problem…)

I mention Drupal because I find its "the node is our hammer and all solutions are nails, er content management systems" approach to doing things is a perfect example of the PHP google-then-copy-and-paste programming caricature that is all too often true.

But the author's correct: to the extent that PHP sucks, it sucks not because of PHP itself but the culture that surrounds it. In my experience, everyone's a noob, an advanced noob that is eager to share their bad habits, or callused actual experts who assume that you are one of the aforementioned noobs and assume you have the cognitive capacity of an overripe banana.

I know several PHP developers who I respect"Hi, Sunny and Tom!"but they seem to exist outside the PHP space-time continuum.

points by there 11 hours ago replies      
Rasmus generally promotes abstention from using frameworks, and the use of PHP as more of a templating language.

from watching a recent talk (http://ontwik.com/php/php-performance-by-rasmus-lerdorf/) he gave, i didn't get the impression that he hated frameworks, but more that he hated most php frameworks because they were slow.

in the video he says a big problem with current frameworks is that they deploy to production the same code used in development, which still includes all of the knobs and extra includes that have to be pulled in on every request to support things that aren't used. he would rather see frameworks turn code into a streamlined bundle of code that gets pushed to production.

points by runevault 11 hours ago replies      
I find it amusing how hyper-specific he gets in the comments defending PHPs speed, saying comparing it to even Python is unfair because it bytecode compiles to save time.

To me, that sounds more like a flaw in PHP that it doesn't save bytecode and reuse that if the underlying source has not changed, not a defensible reason to claim it is faster than other "similar" languages.

points by jallmann 8 hours ago replies      
CodeIgniter is really not that nice. Maybe it seems cool for the uninitiated, but it is just a PHP clone of Rails. CI and kin can't hold a candle because the expressive power of Rails doesn't come from the framework itself, but from Ruby.

There are a few times when the choice between one language over another is more of a pragmatic issue rather than one of taste, and Ruby's ease in creating DSLs (and hence, Rails) is a perfect example.

As TFA mentioned, Ramsus Lerdorf has the right idea. PHP is a templating language. Contorting it into a general purpose language and squeezing a Web framework out of that is unpleasant when there are so many nicer alternatives available. I almost feel bad for Rasmus; people are using his language, taking it beyond its intended scope, and giving it a bad name for that.

points by compay 8 hours ago replies      
I posted some generally supportive comments on his post, but dared to point out that PHP's interpreter is in fact rather slow compared to pretty much everything else, so he shouldn't claim that PHP has "maybe the best speed and scalability among script-based languages." I ended up getting attacked as some kind of PHP hater.

If PHP has a reputation as a ghetto, it's in part because of cocksure noobs like this who think they know everything and are impossible to have a rational conversation with.

points by EGreg 9 hours ago replies      
There is a reason why facebook used PHP, wordpress is in PHP, and a lot of other tools are also. PHP is popular, it's easy to find developers who will write it in it, and it's also easy to find PHP hosting for noobs. When there is a popular platform, you will get lots of apps written on it.

That said, the high art of PHP was always to make really performant apps while having your code as organized as possible. These days, this is being done very well with files, autoloading, and opcode caching. If you do things this way, Rasmus would be happy, and things would be fast.

I am a PHP developer. A lot of what I saw in the past few years was frameworks like Cake and symfony that basically copied Rails or brought some heavy techniques with a lot of overhead. This is not the PHP way. If you want to see a framework that does things in a more PHP way, I would humbly submit my own:


It's open source. It's called PHP On Pie for a reason: because it's easy and it uses real PHP techniques, not tries to emulate Ruby or Python. PHP has its own beauty, such as arrays which can support numeric and string indexes at the same time.

All this said, these days PHP is outdated for large sites. Not because there is a lot of crap written in it -- which I agree with. But because it still works only synchronously, and the culture is too server-heavy. Large sites should be written like this:

  Clients (browser, etc.) do most of the interface logic.

Components should render themselves using javascript, and only use the server for data

Server does web services (REST, socket push, etc.)

Server should not have to do things synchronously.

Node.js rocks in this respect. Unlike PHP, I can literally issue 10 independent queries to 10 different databases and combine the results as they come in. In PHP, I would have to issue this stuff sequentially. That's slow.

The second thing in PHP is fixable. People should move most of the logic (that doesn't need authentication) to the client side, and then write all their web services in a very simple way. Stop generating all your HTML on the server. Check out




points by nickik 8 hours ago replies      
the bad:

>Ugly syntax

The syntax is not that importent (the semantics are the BIG problem) but you are right. What to expect from somebody that didn't even want to read a hole parser book (not blaming him i think there boring too but if you don't want to read a parser book implment a lisp)

>Lack of some necessary features that other languages have (prior to 5.3, namespacing, closures)

Having a feature in the language is good but not worth a lot if there not idiomatic to use.

>Inconsistent function naming, usage, and other quirks
Inconsistency is te big word. Everywhere. Nobody thought about what is done how, where or why.

>The fact that 80-90% of PHP projects are probably gigantic piles of shit


The "good":

> Standards (not universal, but generally a flavor of MVC for most projects, and little procedural crap)

1. Application Design is more then just MVC.
2. Most PHP Code produced still suckes. Sure there are frameworks and standards know but how many % of the people writing php know this? I know lots of people how get tough php just like 10 years ago and if they are not really into programming (like people here) the will never learn the good stuff.

Having "Standards" and people using them is a diffrence.

>A very low barrier to entry
True. Php was just at the right place at the right time.

> Speed & Scalability (maybe the best among script-based languages)

From most benchmarks I have seen php was really slow. Isnt it compiling to bytecode witch then gets inerpreted?

There are projects like HipHop and phc but I havn't seen really good numbers for them.

Are there good up-to-date benchmarks to support this?

> A great unit testing framework

What language that could has somewhat the same scope as php does not have really good testing frameworks?

> Arguably the best documentation for any language

Read some compents in this thread to see peoples opinions on that.

points by andjones 10 hours ago replies      
The fact that many PHP projects end up in unmaintainable spaghetti code is a mark against the programmer and not the language.

Take your average PHP programmer and force him/her to code in Ruby and the same mess will result.

The fact that PHP has so many "noob" programmer is indicative of its success in creating so many great projects and websites. We have made PHP so easy that even your grandmother can do it.

From the article:

If you are capable of making wise software design decisions, PHP is a great choice to build your web application with.

points by myearwood 9 hours ago replies      
PHP works .On everything. Ruby on Rails is clunky and complicated, and Python is not supported a lot of web hosting plans.If you have millions of dollars in VC funding and your own dedicated servers, Than feel free to use the latest and greatest web languages. Meanwhile, let the rest of us mere mortals use PHP without making us feel inadequate or unintelligent.
points by Egregore 11 hours ago replies      
PHP is popular because of low barrier to deploy. All hosting providers offer PHP, while with other technologies you'll have to shop a little.
points by hackernewz 9 hours ago replies      
ZF and CI are horrible examples of coding practices. They are extreme examples of "make a class for everything because you can". ZF file and directory structure is at odds with PHP 6's namespaces, in fact it will probably have to be completely thrown away to make way for a ZF 2.

CI doesn't even have the base class of any "controller" defined anywhere for you to read. It is created on the fly every request. This guy is a noob and doesn't understand what good programming is.

points by Staydecent 11 hours ago replies      
I agree with the post, and have come to hate PHP less. But the main reason I choose python or ruby (when I have the choice) is because of the syntax. I'm not sure the proper term, but I find you have to write more characters, as apposed to ruby or python, to say the same thing.
points by sigzero 6 hours ago replies      
He uses "was" like it still isn't.
points by alecco 6 hours ago replies      
points by kouiskas 4 hours ago replies      
Average developers blame the language for their inability to make the best use of it. Good developers are too busy writing great code with the tools they have at hand to care.

Some languages have strengths for particular applications, but spaghetti can be written in anything.

And why should you care if 99% of the rest of the world writes shit code with the language you use, as long as your own house is clean?

points by MatthewPhillips 10 hours ago replies      
The author points to the recently good support for frameworks (specifically MVC), but hasn't there been a bit of a backlash against overly opinionated frameworks and a move to more lightweight frameworks like Sinatra? Isn't PHP going to just be behind on this trend as well?
points by briancray 12 hours ago replies      
Bad title, good points.
points by thespace 8 hours ago replies      
Php is still a ghetto. The author brings up some interesting points but the other web languages have jumped pretty far ahead of php. Python is laughable compared to php anymore.
points by xstring 9 hours ago replies      
and who are you. writing perlcode all in one file not even using 'use warnings' nor using getoptlong and so on. poor skills but lots of noise here.
QuickSilver for Mac Lives lovequicksilver.com
165 points by GeneralMaximus 14 hours ago   50 comments top 15
points by greattypo 11 hours ago replies      
Really glad to see this picked up!

I know Quicksilver has had some false starts before..




I'm curious - are these efforts building on each other, or is everyone starting from scratch each time?

points by justinchen 13 hours ago replies      
I've moved on to Alfred. http://www.alfredapp.com/
points by p0ppe 12 hours ago replies      
I changed to LaunchBar (http://www.obdev.at/products/launchbar/) about a year ago. No complaints so far and I also like supporting an independent developer.
points by ionfish 13 hours ago replies      
I just switched back to Quicksilver after trying Alfred for a bit. The basic reason was that Quicksilver's search is better and more easily customised: it finds the things I'm looking for, and given that the whole point of using such things is to improve one's productivity (by cutting out the whole "Open Finder, dig down through the file hierarchy, finally manage to open the file, directory or application being searched for" process), it doesn't really matter to me how well its competitors do in other areas.
points by mambodog 10 hours ago replies      
For me, cmd+space (Spotlight) has been quite sufficient, and it's right there out of the box.
points by krosaen 12 hours ago replies      
too bad the spinoff project within google, Quick Search Box (same guy who started quick silver was involved), didn't really ever gain traction and has not been actively developed in a while, it had promise:


points by glenjamin 11 hours ago replies      
For the uninitiated, what does this do that spotlight doesn't?

The mac is the only platform where I haven't felt the need for a decent launcher app!

points by angusgr 4 hours ago replies      
If anyone's looking for alternatives on other platforms, I find "GNOME Do" quite good on GNOME/Linux and "Launchy" is decent for Windows.
points by snewe 13 hours ago replies      
points by dedward 5 hours ago replies      
That's good news - does anyone else know what to do about the problem with the Shelf plugin and the Shelf popping up unwanted all the time? (whenever windows or apps are closed, perhaps even when they are opened sometimes, sometimes when quicksilver is invoked - very flaky)
points by beck5 13 hours ago replies      
I have found Alfred a very polished alternative and a little more robust than quicksilver has been over the past couple of years.
points by jh3 13 hours ago replies      
It's been "living." This is just an update, correct?
points by blaenk 5 hours ago replies      
Anyone know if I have to have a plugin installed to use the "Latest Download" and other proxy objects? Nothing seems to come up for me when I type that.
points by lovskogen 9 hours ago replies      
I'm just doing QS for the global shortcuts, anyone know of a native way of launching apps from keyboard shortcuts?
points by shubhamgoel 5 hours ago replies      
great.. but I have switched to alfred and love it
Have you ever printed a boarding pass? bbryson.com
154 points by kilian 10 hours ago   43 comments top 8
points by mcantelon 8 hours ago replies      
tldr: Man prints out his boarding pass in large format. Delight ensues.
points by kilian 9 hours ago replies      
Not a single person making a fuss about a "non-standard" boarding pass is something I wouldn't have guessed at all. Happiness all around :)
points by evanw 9 hours ago replies      
It looks like we've broken his web server. Here's a cached version: https://webcache.googleusercontent.com/search?q=cache:a4-v04...
points by patrickk 9 hours ago replies      
It would also be cool if you printed your boarding pass to PDF, but instead of printing a giant-sized version, loading it onto an Amazon Kindle and presenting that at the gate. Test Amazon's claim of being just like paper to the limit. Can't see why it wouldn't work.
points by davidmurphy 9 hours ago replies      
This makes me happy. =)
points by stretchwithme 9 hours ago replies      
good one. I love it when take something and muck around with our expectations of it. Isn't that one thing art is supposed to do?
points by perokreco 8 hours ago replies      
The article is down, but on-topic, I know bunch of large airlines(EasyJet for example) that let you present boarding pass on your smartphone so you do not have to print it.
points by blahblahblah 6 hours ago replies      
Glad he had fun because that's kind of an expensive boarding pass. When I've printed posters at Kinko's before, it usually comes out to about $40 for a 1 meter^2 poster.
Some technical details on Watson ibm.com
31 points by nl 5 hours ago   5 comments top 3
points by bhousel 29 minutes ago replies      
I'm not sold on the efficacy of clinical decision support systems (like Watson) in healthcare.

Here is a recent study comparing quality of care using EHR/CDSS and without: http://archinte.ama-assn.org/cgi/content/abstract/archintern...

"Our findings indicate no consistent association between EHRs and CDS and better quality. These results raise concerns about the ability of health information technology to fundamentally alter outpatient care quality."

points by CountHackulus 2 hours ago replies      
Nice to hear about all the open source projects that went into this. I'd hope that the work that IBM did on those projects was contributed back to them and not just squirled away on some mainframe.
points by mikecuesta 3 hours ago replies      
Wow, incredible article. I don't think many people truly understand the potential this has for Healthcare.
The Node Beginner Book nodebeginner.org
244 points by shawndumas 17 hours ago   43 comments top 11
points by nailer 16 hours ago replies      
Good things:

- Tells me what I'll make with the tutorial right up front.

- Lets me know exactly what prerequisite knowledge is (I can tick all those boxes, good).

- Aimed at folks who know traditional backend languages and some JS but aren't JS Gods (a lot of node tutes seem to assume complete JS mastery).

No bad things so far!

Thanks Mr Dumas.

points by yardie 15 hours ago replies      
This will be an invaluable guide in the future but I think it needs more work. Hello World has been covered everywhere so it's utility as an intro is pointless if you are already a programmer or are familiar with programming.

The guides I find most useful, in addition to references, are the ones that have you build an application from the ground up. So that you start to understand the pros and cons of the language you are trying to learn. I already know how to do Hello World, I already know how to create a node server, what I want is a bit more context, like building a simple messaging server, how to create and use simple frameworks, whats even more appreciated is tutorials and samples about the stuff already built-in.

This is one of the reason why I like working with Apple and Microsoft. They give you tons and tons of sample code that compiles and work. Want access to process information? Here's how. Want to use the camera? Here's how.

It would be great to have a simple CRUD node app that connects to MySQL. That usually gets me 75% of the way there.

points by ManuelKiessling 15 hours ago replies      
Hi all,

I'm the author of The Node Beginner Book. Thanks for discussing it here.

Your input is a great help. I see the points WA makes regarding the bad things.

It's true that it's yet another Node tutorial chewing around on the web server / web app stuff; but I think for the people I'm addressing it's still the most useful scenario because it allows to understand how a full fledged app is put together, and is a great example to explain all of the fundamental concepts, new JavaScript ones and conventional ones (because it might makes sense to understand what stuff is done differently and what is done in a known fashion).

So nothing really new here - I hope where this tutorial differs is that it (arguably) might be the first "one-stop" tutorial for Node to get beginners started. Not more not less.

Every other resource I could find forced me to google around to fill the gaps - while this is not a bad thing per se, I think sometimes it's nice to have something that really guides you from A to Z.

Like, for example, http://ruby.railstutorial.org/. If I manage to create something that's only 10% as cool, I'm going to be very happy :-)

points by city41 15 hours ago replies      
I'm still trying to understand how node actually works. I'm just about to start digging through its source code. It seems most people view node as a magical mystery that they don't understand why it works, just that it does. How is a single threaded app doing things in parallel? Is it like a game loop where it iterates through all its pending operations and gives each a slice of time to progress forward? Are deeper parts of node multi threaded? The callbacks being called serially makes perfect sense, its the parallelness of the actual operations that confuses me.
points by brown9-2 16 hours ago replies      
A little confusing that the title refers to "Node" rather than "node.js".
points by RyanMcGreal 15 hours ago replies      
This was a well-written, easy-to-follow introduction, but I'd gladly pay money for an actual Node book that takes the reader from introduction to mastery.
points by d0m 16 hours ago replies      
I suggest using syntax highlighting in code examples.
points by Apocryphon 11 hours ago replies      
I've asked this already (http://news.ycombinator.com/item?id=2447840) but what books on JS are good for someone who wants to go into development with Node? Most texts that I know of deal with client-side JS. Right now I'm just reading Eloquent Javascript + JavaScript: the Good Parts, but I would like to see if there's any other books that would be good, especially for someone new to closures.
points by rmason 13 hours ago replies      
I second the need for a good CRUD example. Also "clear" instructions on running NODE on Windows would be a big help.
points by rick_bc 8 hours ago replies      
Kind of off-topic, but I don't really understand what Node.js is about until this presentation.


points by hutushen222 16 hours ago replies      
Though I learn only a little JavaScript, I will try it while I have a block time.
Now, just save it to my personal archive.
The Origins of Altruism - Edward O. Wilson's Alternate Theory boston.com
8 points by mhb 2 hours ago   6 comments top 3
points by Stormbringer 15 minutes ago replies      
Having followed for a while the various debates about evolution (except Intelligent Design, I've got no time for that), I am continually amazed by how unscientific the people upholding the scientific status quo are.

I understand that they would circle the wagons to repel attacks by the 'ignorant savages' outside of their own group... but to see them behave the same way against 'one of their own' is quite remarkable. I wonder if it is just a knee-jerk reaction they have developed... that anyone who even questions their pet theory is attacked as not knowing what they are talking about. How can someone claim to be 'rational' and yet at the same time be making ad hominem attacks against one of the founders of a field and claiming that he doesn't know what he is talking about? The levels of self deception implicit in that are simply staggering.

I liked the quote in the article that a scientist who can't change his mind isn't much of a scientist at all.

points by colanderman 1 hour ago replies      
Without any prior knowledge on the subject, it seemed obvious to me that the reason altruism exists is the same reason our bodies' cells don't attack each other. Groups of coöperating individuals have a much higher chance of surviving than groups of naïvely self-serving individuals.

I was surprised to find this is the "alternate" theory:

> Under certain circumstances, groups of cooperators can out-compete groups of non-cooperators, thereby ensuring that their genes " including the ones that predispose them to cooperation " are handed down to future generations.

Surely others have thought of this idea before, as it seems to me much simpler than kin selection. Why was it not until the 21st century that this idea has gained even a modicum of traction?

points by st4lz 11 minutes ago replies      
I had the impression that precise arguments for each hypothesis are completely not important, and it looks more like being about politics than science.

If we assume that groups of cooperators can out-compete groups of non-cooperators (called 'heresy') as complete and true, we challenge Dawkin's atheism.

Why I design at Google ryskamp.org
42 points by jamesjyu 7 hours ago   8 comments top 2
points by kes 3 hours ago replies      
Long-term, I want my design work to influence the direction of large groups and societies, and to do that I need to learn how to work with and persuade people who aren't inclined or required to listen to professional designers.

I think that this is the most important bit.

points by staunch 4 hours ago replies      
Are there any examples of amazing (Apple-quality) design coming out of Google?
The Economist magazine pension issue harvard.edu
21 points by samh 2 hours ago   14 comments top 5
points by high5ths 2 hours ago replies      
I like this blog (other entries of which have been posted here before), but I find it a bit misleading that it shows up on HN as coming from "harvard.edu" -- which I assume to be Harvard's official web portal. (Clicking through reveals it to be a posting on blogs.law.harvard.edu, which provides free blog webspace to anyone with a Harvard-affiliated email address.)

Am I just being too picky?

points by dman 1 hour ago replies      
I wonder if at some point some sections of society will voluntarily move to less efficient methods of production to generate employment - aka resurrecting the self sufficient village.
points by jshort 1 hour ago replies      
I think the article may be attempting to show how dire the situation is. Or that the fix may lie in some form of equality of pensions throughout the work force, still a hard thing to fix.

With unemployment at such a high level today, increasing the retirement age would keep all of the baby boomers employed, rather than leaving the work force. It does not look good any way you look at it.

points by strayer 1 hour ago replies      
The first paragraph describes a common structure of the articles in The Economist, which goes a long way towards explaining why it is so satisfying to read.
points by chrismealy 1 hour ago replies      
If economic growth averages 2% for the next 35 years America will be twice as rich as it is now. We can provide for old folks now, just like we did 35 years ago, and we can definitely do it 35 years from now. This is just another rich dude complaining about the proles.
New York Startups: True Grit tomasztunguz.com
4 points by ttunguz 1 hour ago   discuss
72% of iPad users do not own an iPhone fabcapo.com
32 points by sinzone 6 hours ago   23 comments top 7
points by tomkarlo 4 hours ago replies      
I have an iPhone and an iPad and I don't even bother to sync my music to my iPad - why would I when I always have the iPhone with me anyway, and I have Pandora on the iPad as a backup? It just eats up space I could be using for movies and other things more appropriate to the iPad.

Frankly, I also don't bother to sync my iTunes to my work laptop (which is where I spent the most time sitting around) and I notice that people at the office don't seem to any more either, they just use their phones. It's partially because it's not really any easier to listen to music on your computer any more than an iPhone or Android phone.

Feel like there's an assumption here that an iPad is a giant iPhone and I think that's as faulty as considering it a tiny laptop and evaluating it on that basis. Just not the same.

points by hartror 1 hour ago replies      
Scratching my head how they collected this data. The comScore MobiLens[1] site doesn't seem to be any more forthcoming than the report[2] itself.

Anecdotally I don't know anyone who owns an iPad that doesn't own an iPhone. Not saying they don't exist but it does make the report a little hard to swallow when there is no insight into their research methods.

[1] http://comscore.com/Products_Services/Product_Index/MobiLens

[2] http://www.comscore.com/Press_Events/Press_Releases/2011/4/A...

points by albemuth 4 hours ago replies      
That's got to be a tough number to swallow for RIM since they're making the Playbook somewhat dependent on having a BB as well.
points by kadavy 5 hours ago replies      
Nice opportunity for Apple to use the iPad as an entry-point for customers. It worked for the iPod, which I think made a lot of people more comfortable with the idea of using Apple products; and probably prompted many people's first MacBook purchases.
points by rflrob 4 hours ago replies      
The author seems to be assuming that all iPad owners have or will soon have a smartphone. I don't know that this is the case: my mom got my grandmother an iPad, but there's no way she needs a smartphone for anything.
points by cschep 5 hours ago replies      
I am a long time iPhone user who just picked up an iPad 2. I still find myself consistently reaching for my phone when the iPad is just as close by. Possibly habit, but I definitely think these products are very different and don't "need" each other at all. Not something I think I "got" until having them both around and letting my brain decide between them.
points by michaelpinto 3 hours ago replies      
I find myself using both devices in very different ways " for example I'll listen to an audio book on my iPhone but read an eBook on my iPad. I realize that both formats are "mobile devices" but in many ways they each feel like their own category in terms of usability. I also notice that I use the iPhone for very quick tasks while I'm standing and on the go (i.e. multitasking) " while the iPad is best if you want to ignore everything else around you.
Bug 647959 " Add Honest Achmed's root certificate mozilla.org
154 points by there 11 hours ago   76 comments top 7
points by ra 5 hours ago replies      
The problem is that we are forced to trust a particular CA because the company we are dealing with chose to buy their certificate from that particular CA.

Whilst PKI provides solutions for this [1], they are not really practical in SSL.

In any case, that's not how it works in the real world.

In the real world, Achmed's uncles do trust Achmed, and might well trust him to validate the identity of a business partner.

In essence, that's the logic behind PGP.

What if SSL could be enhanced to allow PGP verification of counterparties? That way anyone could become the equivalent of a root CA, but your value would only be as good as your reputation / integrity.

Trusted entities, like the governments, could vouch for the keys of their agencies - or other governments.

Friends and Family could vouch for each others keys, businesses for their partners... etc etc.

Unlike PKI, PGP would enable counterparties to establish their identiy by having many validating partners (paid and unpaid), as opposed to the one single root CA that is available.

As well as bringing the source of trust closer to the relying party (really, I live in Australia, who the hell is Comodo anyway?), the network of trust that would result could be articulated in the browser in many different ways.

eg: 25 of your friends and 600 businesses agree that this is the identity of Visa.

Twenty years ago this wouldn't have worked. But today, we could use the root CA SSL system to bootstrap a network of trust that becomes independent of the old hierarchy.

I hope all that makes sense.

[1] eg: certificate revocation, or even the user removing the root CA from her own key store.

points by hartror 1 hour ago replies      
All of this talk reminds me of Rainbow's End by Vernor Vinge, a near future novel set in a future where augmented reality is ubiquitous. As part of the climax of the book there is talk of revoking a root certificate which would cause most of European commerce to grid to a halt.

Vinge is a computer scientist so the whole thing reads very well from a hacker's perspective. Also it won the Hugo & Locus awards in 2007. Am a big fan.

Wikipedia Entry: http://en.wikipedia.org/wiki/Rainbows_End

Buy it: http://www.amazon.com/Rainbows-End-Vernor-Vinge/dp/081253636...

points by adulau 9 hours ago replies      
For the curious, the procedure for applying to be included as a CA : https://wiki.mozilla.org/CA:How_to_apply and https://wiki.mozilla.org/CA:Recommended_Practices

and the list of included certificate with their audit "certificate: http://www.mozilla.org/projects/security/certs/included/ or the pending list: http://www.mozilla.org/projects/security/certs/pending/

As long as Mr. Honest Achmed is able to provide the appropriate audit certificate...

points by pnathan 10 hours ago replies      
Achmed is honest. He even says so.

Give him a root cert, certainly errors won't happen more than once, and anyway it would be an honest slip-up.

points by tlrobinson 10 hours ago replies      
Is this a satirical response to something Mozilla did?
points by Groxx 9 hours ago replies      


points by bdr 10 hours ago replies      
This is kind of racist.
My book (Essentials of Metaheuristics) officially in paperback gmu.edu
27 points by SeanLuke 6 hours ago   11 comments top 6
points by SeanLuke 6 hours ago replies      
[I am the author]

Last year I put out this book as a free open text, and posted about it on HackerNews. I was asked, often when the book would be out in physical form.

Now that it's available on Amazon officially (and also Lulu), I guess I can announce it. Thanks to everyone for all your feedback, corrections, and updates so far.

In case you're wondering what a metaheuristic is: it's the buzzword for stochastic optimization methods such as genetic algorithms, ant colony optimization, simulated annealing, and so on.

points by chegra84 49 minutes ago replies      
[Constructive Criticism]

1. Needs More examples - Examples gives a reader different avenues for understanding the problem better. Let's say they didn't understanding Genetic Algorithm on the first go, they would be multiple opportunity to understand it with more examples. Enhancing the chance that they understand the material and recommend it to friends.

2. Give real code - Readers might not exactly get how mathematical symbols turns into code, but I think they will understand real code. You want to lower the barrier of entry to read your material. Many programmers never took Calculus I and II and most start like 12, don't limit your audience by being opaque.

3. Give readers exercise to test their knowledge - Reader should have some sign that they are understanding the material and giving exercise show them gaps in their understanding.

4. Give it a different name - Maybe "Essential AI Algorithms","Genetic Algorithms, Simulated Annealing and others" or "Optimisation Algorithm Bible", so that you wouldn't have to explain what is Metaheuristic

[/Constructive Criticism]

points by ay 5 hours ago replies      
Thanks for publishing it! Any chances you might push it in the Kindle format to Amazon as well ?

(And if my own experience re. price were of any interest - Kindle e-books in ~$10-$15 ballpark is what almost destroyed my budget this month:)

points by joshes 4 hours ago replies      
This is definitely a good read for beginners in the area and it does a good job of balancing both application of and theory behind the algorithms. Highly recommended.

Another good read which covers some of the same ground (also by a professor at George Mason University, Professor Kenneth De Jong) would be "Evolutionary Computation" http://www.amazon.com/Evolutionary-Computation-Kenneth-Jong/....

points by bartonfink 6 hours ago replies      
Thanks for publishing this. Just went to the top of my reading list.
points by dvfer 2 hours ago replies      
pretty high level for undergrad... i think...
Ask HN: How do you do graphic design?
18 points by jnhnum1 2 hours ago   13 comments top 9
points by bryne 1 minute ago replies      
As a graphic designer/artist: this question strikes me as funny because the frequent "how do I start programming" threads are always so matter-of-fact. 3-4 biblical texts get recommended, a handful of vetted resources bandied about, and then a minimal amount of hemming and hawing over which language to use.

As daunting and foreign as those threads seem to me, programming has a lot of known knowns - I can see where "how do I design" would be more daunting because it's such an unqualified expanse consisting almost completely of grey area. Stand before it, naked, putting yourself in the shoes of the designer, and imagine the horror of the client's most unspeakable words: "I can't explain it to you, but I'll know it when I see it."

All that aside, I think the advice that I've received from this community re: learning to program/hack is still sound as it applies to graphic design:

1) Have a project and work toward it. If you don't have one, make one. Be specific in your end goal.

This focus enables you to do the most important thing:

2) Steal like an artist. (via http://www.austinkleon.com/2011/03/30/how-to-steal-like-an-a...)

All the other advice in this thread is pretty legit. You probably don't even know what looks good, so don't start on your own. Do your research. Look at competitors in the space (or the closest you can find to it). Use open source/CC art. Follow the crumbs back to the artist's portfolios and see the other work they've done. Web and app design follows patterns and there are many pattern resources that you should use. Form follows function and usability should inform design: copy good patterns and make them great later. Copy copy copy.

And at the end of the day: hire a designer! It's a big ecosystem and we all need to eat.

points by d5tryr 2 minutes ago replies      
Icons, logos and marketing stuff are all very different tasks. Many designers will specialise in just those particular disciplines. To take them all on and expect to execute them in a manner which is professional and not distracting, is a big ask.

There are plenty of on-line resources(1) to get started, but be aware that a lot of learning will be required. And that means a lot of failures. If you don't want your failures to be a part of your product/brand etc. then you should hire a professional(2).

(1) -




(2) -



points by BasDirks 1 hour ago replies      
Thinking you have a decent sense of what looks good just doesn't cut it, unfortunately every human being is endowed with this belief, hence the general ugliness of the interwebs. I(/we) need to know more about your experience and abilities to give you better advice.

Logo's and "marketing stuff" are very different disciplines, although a good designer will be able to do both. A good logo makes the rest a lot easier.

The most sound general advice I can give you as a graphic designer is to focus on typography and whitespace.

points by njharman 51 minutes ago replies      
Search for and use open source, public domain, creative commons, etc art. Make note of the artists.

When you get money, go back and email the artist(s) you liked best and ask them if they'd be willing to do some commissioned work.

points by calbear81 1 hour ago replies      
I did most of the design work for our travel app (Room 77), it certainly can be learned especially since there are some well established app design patterns. If you are developing for iOS, most of the built-in libraries look pretty good and you won't need to do a lot of tweaking. I'm not as familiar with Android. Keep in mind that although you can learn graphic design, would your time be better used on other parts of the app?

I recommend the following resources:

1) Glyphish Pro icon pack - $25, pretty much everyone uses this high quality icon pack in their apps.

2) Tapworthy - Designing great apps - Great book with a lot of case studies and practical advice on grid based design, etc.

points by damir 54 minutes ago replies      
I don't.

For web apps, I throw uncut, raw and basic app online and see if it rolls. When and only when I start getting signups and questions whether it will do X or Y, then and only then I start thinking about design.

I usually end up with either ripping ideas from some themeforrest theme and going my own route or just buy the theme and be done with it. Same for icons.

Bottom line is not to waste time.

points by smz 1 hour ago replies      
I understand your question is about icons and logos, but this might set you along the right path, as the post links to many other resources: http://paulstamatiou.com/startup-web-design-ux-crash-course

I'm still figuring it out myself.

points by bzupnick 1 hour ago replies      
i, as a web developer, have the same exact issue, im not an artist, yet i need it done. so i believe if your not good at something, dont pretend that you are. you just got to bite the bullet and say that if I try doing this: A) its not gonna be good anyway B) im going to waste time on bad designs. so personally, obviously taking my lack of design skills into account, i would hire someone OR partner with a designer. thats also a good option
points by duiker101 1 hour ago replies      
I think it depends, if you are doing a personal,or not very impprtant, app and you do not need awsome design i do it myself, but my skills are limited(like most programmers?) so, if i need really good graphics i think it' better to pay someone who can do some great stuff insted of having it for free but not too mich good. Anyeay depends also on your design skills.
Two Programs Enter, One Program Leaves codinghorror.com
117 points by gnosis 16 hours ago   30 comments top 10
points by raphar 5 hours ago replies      
I would like to share with you a funny story about Corewar:

5 or 6 years ago, a group of students at the local university organized a Corewar contest. The group of organizers were, how to say it, "theorethical nerds", some of them in their way to be professors (two of them are in fact professors today). Big egos too.

I was no more a student at the time so I didn't join the contest, but I commented about it to my girlfriend because I had read about Corewar before and found it interesting. My girl was a student and she liked so much what I told her, that she decided to compete herself.

I can say that when she is obsessed with something, as she got with the contest, she doesn´t stops at anything. So in less than a couple of weeks she had serveral 'strains' of working bots each with different behaviours and abilities. Until the last minute she was testing which were her bests programs to compete.

So, the day arrived, and the more or less 10 MALE ppl at the competition saw my girl, coming with no one but 3 (or 4) programs. I wish I could have been at the event because my girl beat them all and with all of her bots. They even disqualified one of her bots because it almost always tied (was a replicator)

I don't think they learned not to underestimate a confident blonde girl, but the contest was conveniently forgotten and Corewar was never mentioned again at the place :D.

points by jrbedard 15 hours ago replies      
Microsoft did something similar to promote the .NET framework in it's early days. They launched the Terrarium competition http://terrarium2.codeplex.com/ where you would code your creature's AI in C# or Managed C++ and ship it as a DLL that would compete against other peoples creatures.
points by arethuza 14 hours ago replies      
After watching that animation for a bit I can't help contemplating some combination of Core War and Minecraft.... :-)
points by rhettg 14 hours ago replies      
Back in the day I tried applying genetic algorithms to corewars as a high school science fair project.

I lost. They had no idea what was talking about. Early lesson in the importants of communicating technical ideas.

points by nuclear_eclipse 13 hours ago replies      
In university, we did something vaguely similar for class projects using Robocode: http://robocode.sourceforge.net/
points by sylvinus 14 hours ago replies      
I couldn't find a Javascript environment for running this. Anybody knows if it exists?

If not, who's up for a github night ? ;-)

points by aerique 14 hours ago replies      
Ah, good old Core Wars!

It is perhaps interesting to know that the next installment of the Google AI Challenge (http://ai-contest.com) is a couple of weeks away and it allows a wide range of programming languages.

points by alex_h 15 hours ago replies      
What happens if the instruction pointer for, say, process A, steps into the code space for another process, B? Does the simulator treat it as an illegal instruction causing A to lose? Or does process A continue, but executing B's code?
points by conflagration 8 hours ago replies      
The nice thing about them is that they are very short and so you can try a lot of different strategies, but there were also long scripts like Mule DNA. I think this is a great way to teach kids the basics of addressing and low level programming. I remember writing these bots for a friends computer science class, good times.
points by lycos1 14 hours ago replies      
This looks like a fun alternative to the typical weekend hackathon. I'll give it a whirl.
An Introduction to Compassionate Screen Scraping lethain.com
81 points by helwr 13 hours ago   24 comments top 6
points by runningdogx 9 hours ago replies      
Screen scraping is taking visual data and transforming it into structure data. A screen scraper would graphically capture a window and try to identify or pick out data. Bots for MMOs tend to do that, alnong with providing input to the MMO depending on what they "see".

Web or data scraping is what the article talks about. Still a hard problem, easily broken by minor changes to the scraped webpage, but not subject to the vagaries of OCR and computer vision or graphical interpretation problems, which is what I was expecting from the title.

points by jp 11 hours ago replies      
Pretending to be human is problematic if the server thinks you are a robot because of User-Agent, IP subnet (dynamic IP cloud systems) and DNS look-up patterns (CNN and similar sites).

So "behaving like a human" on HN might result in an IP ban because /x is denied in robots.txt. And this gets really funny when you get banned randomly because of dynamic IP addresses in cloud infrastructure.

points by hung 11 hours ago replies      
Caching is nice, but HTTP has a built-in method: conditional GETs. I wrote up a blog post on how to do this with App Engine but it should work generally in Python using urllib2.


points by eli 11 hours ago replies      
No mention of observing robots.txt?
points by storborg 9 hours ago replies      
The author makes some great suggestions, namely to cache heavily and throttle requests. However, they lost a lot of credibility for me with "screen scraper traffic should be indistinguishable from human traffic". Sorry, but that's BS--socially responsible scraping leaves control with the publisher. If the publisher doesn't want you scraping their content, you shouldn't try to fake a human in order to be able to.
points by dhruvbird 9 hours ago replies      
I can't help but mention that you should probably be using node.js with the jsdom module for such a task these days. You can get the complete power of jQuery with jsdom, making screen scraping child's play
Andreessen Horowitz Leads $1.75M Round In Freebie Marketplace Listia techcrunch.com
69 points by pg 12 hours ago   11 comments top 6
points by citizenkeys 8 hours ago replies      
points by izendejas 7 hours ago replies      
There is no such thing as a "free". And even though people aren't paying cash for these things, they're still having to earn money (listia credits) one-level removed from cash.

Having said that, these marketplaces make sense. It'd also be great if they offer even more interesting data to understand just how far consumers' irrationality goes. Understanding that alone makes this a valuable business in my mind.

points by rishi 11 hours ago replies      
I'm a huge fan of Listia. It is really impressive how they have turned giving away free stuff into a real business. Listia seems to really understand giving away badges and coins.
points by clofresh 2 hours ago replies      
Who pays for shipping?
points by bcx 6 hours ago replies      
Congrats guys.
points by mrwhy2k 12 hours ago replies      
A&H has been making some big investments, but this looks to be smaller, safer and perhaps a better bet for them.
Dropbox Lack of Security tirania.org
278 points by zdw 1 day ago   178 comments top 22
points by patio11 1 day ago replies      
This is the first time I've heard someone on HN actually ask for more security theatre. Sure, Dropbox could spend seven figures to get a ISOxxxx whatever consultancy to draw up a 125 page document describing their internal checks, do the obligatory all-hands yearly mandatory training where you have to get 10/10 questions right and question 1 is "A user has uploaded naked pictures of themselves to their account. True or false: it is permissible to download these and take them home with you.", etc etc.

And they'd be exactly where we are today:

1) Yes, we could look at your data any time we want to. This is an inevitable consequence of letting you look at your data any time you want to.

2) We promise not to abuse our power #1.

3) If you don't trust us on #2, you should not do business with us.

Except they'd be out seven figures.

points by thought_alarm 1 day ago replies      
Do a lot of people think that Dropbox is some sort of super-private service?

I'm no security expert, but do I hope it's obvious to most people that Dropbox wouldn't be able to do stuff like reset your password if they didn't have access to the contents of your files at some level. A truly secure and private service would look a lot different, and be much more complicated to set up. That's the tradeoff.

points by gergles 23 hours ago replies      
I don't care. I use Dropbox because of the unparalleled feature set and ease of integration. I have my taxes stored on Dropbox, along with a lot of other sensitive information. They're in an encrypted RAR file with a line-noise passphrase, just like they would be if I were storing them anywhere (including locally -- after all, what if Mallory steals your hard drive? Or, to parrot the most common movie plot threat, what if the NSA secretly breaks into your house when you're out at the movies and images all your disks then slips them back in without your knowledge?)

The features DB offers for sharing, web access, etc. are well worth the tradeoff, and I am ashamed to see the security pedants constantly pillorying Dropbox because it's not some imaginary "verified secure" system. They don't advertise to be that. A claim of "we encrypt your files with RSA" should be utterly meaningless to you without knowledge of how the key is controlled, and a few seconds' thought and examination of the feature set should inform you that yes, Dropbox has to have the key to decrypt the files. That doesn't make the claim of "your files are encrypted" any less true.

points by tlrobinson 1 day ago replies      
It always seemed obvious to me that Dropbox has access to your unencrypted files because they make them available to you through the web interface.
points by arashf 1 day ago replies      
hi there, arash from dropbox here. all data is (as we state in the referenced help article) encrypted before it's stored on the backend.

all data on dropbox can be made shareable and is web viewable. as a consequence, we do need the ability to decrypt in the cloud.

re. employee access to files - there are controls to prevent this. for example, even drew (founder/CEO), doesn't have physical access to our storage servers anymore.

for very sensitive data, there's always the option to use truecrypt (we even offer this as a recommendation in our security documentation: https://www.dropbox.com/terms#security)

points by kevinpet 1 hour ago replies      
This is the second completely unreasonable press attack on Dropbox. They are so unreasonable that I have trouble believing a reasonable person would think they are valid complaints unless they were trying to sell me a competing product.

Everyone with any security sense knows:
1. If someone gains access to your computer, and they can read your hard drive, and your computer can automatically log in to some service, then they can log in to that service.
2. If you can access the data without decrypting it locally, then your service provider can too. In a fantastically secure system, they will have decide to do and then wait for you to log in, but that's pretty unusual.

I predict next week we will get an article pointing out that I can get your files by breaking into your email account and then using the reset password feature.

points by csallen 18 hours ago replies      
Dropbox didn't lie. This is simply a misinterpretation (or misunderstanding) of what's meant by the phrase "Dropbox employees aren't able to access user files". It's not the same as saying "It's impossible." The fact is, if you send a company your unencrypted data, it's obviously possible for them to view it at some point. Otherwise they could never encrypt it in the first place. So when they say that employees aren't able to access it, they mean that they, as a company, choose not to access it.

A good analogy is the post office. Anyone who works there and handles your mail could, if they so desired, tear open your package and steal the cookies your mother sent you. We trust them anyway, because we know they take precautions to ensure it doesn't happen. Dropbox is the same, but even tougher (I doubt the average Dropbox employee has access to their decryption mechanisms, but plenty of people at the post office can unseal your envelopes).

That said, to not acknowledge it as even possible for the company you send your data to you be able to access that data seems, to me, a bit naive. That's not the promise they made, and so the claim that they lied is false.

points by runjake 14 hours ago replies      
All this press about Dropbox is getting ridiculous. I'm almost suspecting it's a hit job, but I'm wondering why people like De Caza are getting involved.

Pay attention to the two following rules. They are, and always have been true. Write them down if need be:

1.) The government can demand files from any US (and many non-US) companies. The company is then legally-obligated to turn them over.

In the past, the government has even successfully demanded data without the proper warrants (read about the VZW/AT&T/Qwest/NSA fiascos).

2.) Your cloud data is always subject to security breaches and provider employee abuse. Encrypt accordingly (I prefer DMG and TrueCrypt).

Why is this news? Did people not understand this?

points by donpark 23 hours ago replies      
Three points:

1. Sensationalism aside, Dropbox should review questionable security claims to reduce false sense of security if any. With millions of users, careless words formed out of marketing needs are no longer needed. What Dropbox users need now is more clear picture of what they are giving up to gain Dropbox's services.

2. The weakest security link is the user and their computer, not Dropbox which has enough financial incentives at stake to be diligent security wise. In the end, no computer open to external data or code is safe. What protect most users today is actually not security technologies but cost/benefit ratio to potential attackers, tempered by goal and scale. 99.9999% of Dropbox user data is useless to attackers and cost of mining questionable nuggets out continually expanding sea of data from 20 million users is not a trivial task.

3. While it's true that user must trust Dropbox in the end, some of its security measures could use strengthening even if it's just intended to raise the level of sophistication necessary to steal Dropbox data.

points by tzs 1 day ago replies      
It is possible to design a Dropbox-like system with the following properties:

1. Files are stored encrypted.

2. The service provider does not have the ability to arbitrarily decrypt the files. By "arbitrarily decrypt" I mean decrypt at any time they wish. They will be able to decrypt if the owner's client is actively connected.

3. When someone uploads a file that is identical to an existing file, it initially is stored separately, but in most cases can be eventually de-duplicated, without compromising #1 or #2.

I'll leave the details as a fun exercise.

points by icedpulleys 1 day ago replies      
Regardless of how you want to parse a company's public statements and written policies, it's the height of naivete to think that a data host (ANY host) wouldn't share your data with law enforcement or has encrypted data in such a way that they guarantee that no one can access it.

If you have sensitive data, encrypt it yourself. Encrypt it on your local drive, back up encrypted data, encrypt it before uploading it to Dropbox. Doing otherwise is akin to not having a proper backup process: it's either because of laziness or ignorance.

points by earl 1 day ago replies      
truecrypt ftw

If you're uncomfortable with dropbox, put a truecrypt partition right inside your dropbox folder.

points by zdw 1 day ago replies      
Couple this with the unencrypted metadata on mobile problem: https://grepular.com/Dropbox_Mobile_Less_Secure_Than_Dropbox...

And how their "encryption" on the server side is basically a lie, as they do dedupe on data: http://paranoia.dubfire.net/2011/04/how-dropbox-sacrifices-u...

I'm stunned that anyone would use them for anything for ephemeral data you wouldn't mind posting in public.

points by perlgeek 21 hours ago replies      
I don't know if that's how dropbox does it, but I could imagine that they have a master key to which normal employees don't have access, you need the founder and a trusted second person to retrieve it.

Thus their statement "Dropbox employees aren't able to access user files, and when troubleshooting an account" wouldn't be too far off the mark, and they can still make the data available to the government, on request and with higher effort.

points by jeffreyg 1 day ago replies      
There was a really good thread in /r/netsec a few days ago about encrypting your dropbox:


points by chrishenn 1 day ago replies      
Relying on others to safeguard/encrypt your personal data just doesn't make sense to me, in the same way that closed-source cryptography doesn't make sense.

If dropbox is claiming a false sense of security then that is an issue, but users that truly care about their data should resort to truecrypt or something where they are the only ones who control access. You can sync your files with dropbox and keep them safe with a truecrypt volume. Or if that is to much of a pain, only do so for sensitive files. Have your cake and eat it too!

points by grandalf 16 hours ago replies      
All US companies will comply with government requests for data, even Google, when a warrant is presented.

If you don't want anyone looking at your data, use your own strong encryption layer and hope that there's not a back door.

points by MetallicCloud 1 day ago replies      
Wouldn't they have to keep the keys on their servers? Otherwise when my computer dies, I wouldn't be able to access my files from a different computer.
points by joanou 1 day ago replies      
Dropbox is a good service, and I am sure file access is limited to a few employees, but I wouldn't use it for sensitive data or for a business. Any service where you do not control the encryption keys, e.g. Box.net, and myriad others will have the same issue. It's all about tradeoffs. Ultimately they can access your data. The truecrypt option may solve it for some but that means the whole archive has to be shared.

AltDrive unlimited online backup versions your files and allows you to control your encryption key. It runs on *nix, OSX, Windows, and other OSs. http://altdrive.com

points by kennywinker 1 day ago replies      
forgive me if I'm naive, but can file hashes be spoofed in any way? I'm thinking upload a bunch of files that hash to random numbers, then download the de-duplicated original files.

could someone more knowledgable in this area tell me if this is a credible threat?

points by davidmduarte 17 hours ago replies      
I don't use Dropbox because their app on my computer have access to my computer.
The data I could send to Dropbox are as secure as the data i send to a host or email server.
... or may I wrong. :)
points by jbverschoor 16 hours ago replies      
If I steal your ssh private key, I can do anything I want
       cached 20 April 2011 06:02:01 GMT