hacker news with inline top comments    .. more ..    18 Sep 2012 Best
home   ask   best   7 years ago   
Realtime Web Messaging over Animated Gifs github.com
567 points by old_sound  4 days ago   104 comments top 33
jere 4 days ago 5 replies      
I am convinced HN is the Pinterest of software.

Someone made a coffee table out of old crates? Pin. Someone made a fence out of old wood pallets? Pin.

Someone made a realtime messaging library out of animated gifs? Upvote.

simonw 4 days ago 3 replies      
I've seen this technique once before... Ka-Ping Yee built a demo that did this back in 1999: http://zesty.ca/chat/

It's an awesome hack, cool to see it being rediscovered/reinvented after so much time!

arscan 4 days ago 4 replies      
This is awesome -- you never know when a solution like this might come in handy.

Wayyyyy back in the day (NS4, IE4 day) I used the width / height of an image the browser polled every few seconds as a transport mechanism... the only other option (refreshing a hidden frame) caused an irritating "page refresh" clicking noise. This was before XMLHttpRequest obviously and was enough bandwidth for our needs. It worked so well that I believe its still being used in production systems.

I haven't looked at the javascript generated in this animated gif solution, but I assume that it does some stuff that wouldn't work in the pre-IE6 browsers. It would be extremely amazing if it did though.

emp_ 4 days ago 5 replies      
> sadly we are in mid September here in the northern hemisphere.

I am in the south and can confirm we are also in September, will report back with news.


joezydeco 3 days ago 1 reply      
So when you read about countries like Venezuela installing proxies in front of Twitter before an upcoming election [1], is there a potential to use this technique to tunnel information into areas that normally would suppress it?

[1] http://orvtech.com/en/general/gobierno-venezolano-elecciones...

benwerd 3 days ago 0 replies      
First person to turn a 90s animated GIF divider into an actual live progress bar with API wins the Internet.
thebigshane 3 days ago 2 replies      
No one has mentioned these specific use cases yet...

1) live charts and graphs of server loads

2) interactive maps (instead of loading new images, just append)

3) I'm also thinking of some kind of captcha, where the user waits for the server to show a certain image and then can submit a comment and the server would know which submits were valid based on timestamp... or something.

4) weather, temperature, stocks

5) collaborative drawing applet? (would still require ajax though)

richthegeek 4 days ago 1 reply      
I did something similar for cheap (insecure) desktop streaming a few years ago.

Roughly, use scrot (or similar screen capturing command line tool) to take a screenshot of the desktop and then encode it into a gif frame. Repeat once per second. Boom, your desktop is now a gif.

The main problem with this approach is that transmitting stuff via gif (low-color bitmaps, remember) is painfully slow even with modern internet.

That said, could probably be very useful in some instances!

dkroy 4 days ago 0 replies      
That is extremely clever, this just goes to show that if you know how something works inside and out you can come up with clever hacks.
crisnoble 4 days ago 3 replies      
If realtime messaging is a new and cool thing, what were chat rooms back in the day? not realtime? Am I missing something? I don't remember needing reloading those pages...

All that aside, this is amazing.

fmax30 4 days ago 1 reply      
It would be much cooler if you were to send the video stream to the gif instead of the booring old messages. Very cool though. Just think if something like this with video was invented back in the days of IE6 , it would have been the skype of its day.
aggronn 4 days ago 1 reply      
Does this work on the iphone? I expect this would be a great alternative to socket.io for mobile that doesn't support websockets or flash.
eliaskg 4 days ago 2 replies      
Would it be possible to use <canvas> for extracting pixel information as binary data?
metatation 2 days ago 0 replies      
I get the humor of this library, but in reality wouldn't you just use HTTP 1.1 chunked transfer encoding instead? According to http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol, that would even work with your IE 2 users.
king_jester 3 days ago 1 reply      
This is pretty cool. I don't know if I would use this in production, as people with epilepsy usually disable GIFs to protect themselves, so this tech would probably fail (usually people use an extension or set the browser to only load frame 1 of the GIF and stop).
eslachance 4 days ago 2 replies      
That's pretty amazing, and it's really too bad that this technique wasn't actually available years before... (or was it?)
barbs 3 days ago 0 replies      
"The awesome image that illustrates this page was given by the internet."
That excellent gif is from "Tim and Eric Awesome Show, Great Job!" Just thought I'd give proper credit where it's due.
dag11 4 days ago 0 replies      
You can also use image streams: http://minipenguin.com/?p=647
peterwwillis 3 days ago 0 replies      
How exactly is this a better approach than multipart/x-mixed-replace, which is designed to push new messages from the server to the client in a stream until the server decides to stop?
kragen 3 days ago 1 reply      
The original chat system from 1999 from which he took inspiration was written by Ka-Ping Yee, not an anonymous hacker.
Phargo 3 days ago 2 replies      
Couldn't this be used to add another layer of security to a conversation? If there is a way to generate gifs on the fly that contained what you wished to say, it could be used to mask your message from basic text screening and copy/paste.


macca321 4 days ago 0 replies      
does it work in email clients?
dotborg 4 days ago 1 reply      
there is no client side code or am I missing something?

how do I decode my data from animated gif in javascript?

mikemoka 3 days ago 0 replies      
if flash wasn't dying already I would have asked if this could have been useful to enable flash games or videos on the ipad... but the answer would have probably been "no" anyway
k2xl 3 days ago 0 replies      
Question: Could this be used for screen sharing?
Xosofox 4 days ago 0 replies      
Combine this with a client side JavaScript based OCR implementation, and you could even send TEXT in real-time.

Imagine the possibilities !!11!1

jcfrei 4 days ago 0 replies      
hacking at its finest. while real life use cases are debatable the implementation is very, very cool.
samet 4 days ago 0 replies      
Very clever hack.
foxwoods 2 days ago 0 replies      
make a QR code stream, and decode it in browser.
Xosofox 4 days ago 0 replies      
GIF... that's soooo geocities...

Very clever

gifplus 4 days ago 0 replies      
I'm crying. I always wanted one of these. I'm so happy.
zoowar 3 days ago 0 replies      
From the example,
;; go and open http://localhost:8081/ in Safari or IE6

IE6, are you serious?

khangtoh 3 days ago 0 replies      
This is just wrong and needs to die and go away. It's probably fun to read for the 1st minute.
Sh.py github.com
477 points by daenz  1 day ago   63 comments top 26
Sidnicious 1 day ago 3 replies      
So, this feature:


Lets you replace `expect` with Python code pretty darn easily.

SoftwareMaven 1 day ago 1 reply      
I like PBS (now sh.py) for certain use cases. If I'm writing an actual shell script, I think it is brilliant. It keeps the script focused on the task at hand instead of Python's somewhat painful process communication.

On the other hand, if I have an application that needs to communicate with a subprocess as a small piece of the whole, I'll use other methods that are less "magical". It's not that I'm inherently against magic, but rather that, in that use case, I generally want very explicit control over what is happening.

jon6 1 day ago 2 replies      
I spent a few minutes trying to figure out how to install the thing so for anyone that is equally as lost

    $ pip install sh

or goto the github page https://github.com/amoffat/sh

arturadib 23 hours ago 1 reply      
Definitely neat, but of course platform-dependent.

Due to the cross-platform needs of Mozilla's PDF.js build scripts, we've been writing a Node.js lib on top of Node's APIs that enables you to write shell-like scripts that run seamlessly on multiple platforms:


Like Sh.py, you can (if you must) also run external commands, either synchronously or asynchronously.

russelldavis 1 day ago 1 reply      
For a similar library with a slightly different take, check out plumbum:


Here's the explanation on the differences:

"The project has been inspired by PBS of Andrew Moffat, and has borrowed some of his ideas (namely treating programs like functions and the nice trick for importing commands). However, I felt there was too much magic going on in PBS, and that the syntax wasn't what I had in mind when I came to write shell-like programs. I contacted Andrew about these issues, but he wanted to keep PBS this way. Other than that, the two libraries go in different directions, where Plumbum attempts to provide a more wholesome approach."

saikat 1 day ago 2 replies      
For anyone looking for a nice subprocess library for Ruby, my friend Greg released one earlier this week - https://github.com/gdb/rubysh
sartakdotorg 1 day ago 1 reply      
Perl has this too: https://metacpan.org/module/Shell

Written in 1994, by Larry himself!

subhobroto 1 day ago 1 reply      
I have found this extremely useful - used it to write many things - from a set of scripts that bootstrap chef server onto a node from scratch to a file chunking program that optimizes log files to align with hadoop block sizes using multiprocessing and this. It made a lot of things very easy.

This version introduces many positive changes: specially 'Iterating over output' that I have been waiting for a long time.

Andrew wants to increase his support for MacOS and would like to have test results from "python setup.py test" (to run the whole test suite). One identified bug is: http://bugs.python.org/issue15898

I would love to see more people use this to simplify their work!

If anyone is interested in looking into the scripts I wrote to see what's possible, let me know.

philp 1 day ago 1 reply      
Could somebody explain to me how this is different from envoy? https://github.com/kennethreitz/envoy

Not meant as a snide remark; genuinely curious.

AntiRush 1 day ago 1 reply      
I wrote something similar on top of nodejs to simplify some problems at Game Closure.


It's probably not ready for prime time - past it's initial use cases it hasn't been tested much. Things like sh.py and jash are a really neat solution for some problems.

notatoad 1 day ago 0 replies      
This is beautiful. Thank you.
jlgreco 1 day ago 0 replies      
Rather tempting to use this with aa Python REPL to replace a more traditional shell.
nvmc 12 hours ago 0 replies      
I foresee a lot of frustrated users trying to google things about this project.
nimrody 1 day ago 1 reply      
Throwing exceptions when a command returns non-zero exit status is very useful indeed. However, this isn't very different from using the shell's own && operator.

I still believe that wrapping shell commands with functions is the way to go. Functions can intelligently check their arguments and prevent propagation of dangerous (or otherwise obviously incorrect) arguments.

forgotusername 1 day ago 0 replies      
It's worse than that. It replaces sys.modules['sh'] with something that isn't a types.ModuleType in the middle of the module's initialization.

Cute, but definitely on the list of things I'd remove on sight if encountered in a commercial project.

nodesocket 1 day ago 0 replies      
Founder of Commando.io (http://commando.io) here. The tutorial on SSH was particularly interesting, since we are doing some of the same sort of things to help with orchestration of servers. Currently we are using `libssh2` via a PHP module, but switching to a sparkling new node.js interface for the SSH and SCP connections and executions shortly.
ragmondo 1 day ago 0 replies      
I would rather have py.sh ... a unix shell running python.
riffraff 1 day ago 1 reply      
for those wondering how "import madeupname" works, basically the incantation is:

    # unless __name__ == "__main__" 
self = sys.modules[__name__]
# SelfWrapper has a custom __getattr__
sys.modules[__name__] = SelfWrapper(self)

which seems somewhat unpythonesque (aren't import hooks supposed to be used for this?) but it's cool and I hadn't seen it before.

arnarbi 1 day ago 1 reply      
What happens to the order of keyword arguments?
ompemi 16 hours ago 0 replies      
It saved my day, I expected partials with cwd parameter and they were there. I used this instead of GitPython + manual popen for some git management tasks.
bthomas 1 day ago 1 reply      
Do the python3 print statements imply anything about whether it's compatible with python2?

And what's the best way to quickly look and see which versions a package is compatible with?

OrdojanAndrius 1 day ago 0 replies      
Ohh this looks awesome, I wish it would work for windows thought.
maskedinvader 11 hours ago 0 replies      
this is awesome, thank you for posting
scdoshi 1 day ago 1 reply      
This is cool. Could have used it yesterday, literally.
SIULHT 1 day ago 2 replies      
Does this include scp/rsync?
esschul 1 day ago 1 reply      
Hey, just like groovy's "".execute()
Pdf.js: PDF Reader in JavaScript github.com
360 points by pykello  4 days ago   89 comments top 28
jowiar 4 days ago 7 replies      
1) From a technical perspective, this is damn cool - exceedingly well done. Color me very impressed.

2) I hope I never actually see anyone using this on a website, attempting to make things "easier." Between Scribd and Slideshare, and Adobe trying to force its hideous crash-prone plugins into my browser, there are already enough people making a mess out of what is one of the more well-thought-out aspects of OS X. Give me a link to a PDF, which Preview.app handles in wonderful fashion any day.

3) It would make a sweet browser plugin on browser-in-a-box platforms and other platforms that don't have a nice native implementation (which upon further reading seems to be the goal).

jpallen 4 days ago 1 reply      
I'm really excited for this for http://www.sharelatex.com and other similar sites that are actually generating a PDF for you. With native PDF viewers there is no way to interact with the viewer via javascript and even just having the viewer stay on the same page when your reload a document (with minor changes) is impossible. Pdf.js means that we'll be able to do this easily, as well as other cool things like letting letting the user sync between the PDF and source.
ianb 4 days ago 3 replies      
I use this a lot, and it really does work. It renders everything, and renders it well. The one thing that doesn't work is maps " just too many vectors, and Javascript/Canvas/etc just can't keep up. Otherwise I'm very happy and don't feel nearly as much resentment towards PDFs as I used to.
Mizza 4 days ago 0 replies      
XSS injections on these are gonna be fun..
winter_blue 4 days ago 0 replies      
I used to use PDF.js for a while (on Linux), until I switched to KParts because it was having difficulty rendering certain kinds of PDF documents. KParts uses the same underlying engine that powers Okular (KDE's default PDF reader.) It renders everything properly and is much faster than PDF.js. It reminded me of Foxit on Windows. KParts might be only available on Linux though...
cpeterso 4 days ago 0 replies      
Firefox already bundles the pdf.js reader. See https://bugzil.la/714712.
thebigshane 3 days ago 1 reply      
Two questions:

1) In Firefox 15, the demo page adds two new options to my right click menu: Rotate clockwise and Rotate Counter-clockwise. Is Firefox recognizing pdf.js (since it appears that they are related) or pdf.js adding menu options? I didn't know JS could do that.

2) Isn't Javascript an embeddable language inside PDFs? I'm pretty sure I read that javascript is used, not necessarily for animations but for run-time dynamic layouts. If that's true, is pdf.js "eval"-ing that javascript?

wheaties 4 days ago 3 replies      
Now if someone would just do this for .docx, .xlsx, and such I'd be set.
bpatrianakos 2 days ago 1 reply      
I came across this a few months ago while trying to implement a solution for turning HTML into PDFs server side. This is definitely cool and useful but it's usefulness is limited for now as native PDF readers on the desktop are preferable. Even on iOS the built in reader is nicely done. Chrome on Windows and Mac always opens PDFs in a tab and handles it well I think. That said, this can definitely be of use in Chromebook type situations. I'm sure it'll end up in Firefox OS too which I have hi expectations for. The awesome thing about Firefox OS is that it's all JavaScript and good old fashioned web technologies under the hood so this will fit right in.

So alas, I'm still searching for an easy way to convert HTML to PDF server or client side. I haven't looked at the code yet but I do wonder if one could get that functionality out of this if they wrestled with it enough. (I know there are other ways to turn HTML to PDF but a client or server side script to do so really is the best solution for my situation).

Roritharr 4 days ago 3 replies      
i've stumbled upon PDF.js a while ago because i was looking for js tool that allows me to extract data from pdfs... sadly i'm still looking for a good lib to do just that.
mwexler 3 days ago 0 replies      
I presume that copy to clipboard could be added to this as well, yes? Cool project.
dutchbrit 4 days ago 0 replies      
As a big user of PDF.js, I have to say it's great for basic PDF documents. However, complex vectors don't render nicely with this
senko 4 days ago 0 replies      
I have first seen this a year ago (when it was publicly announced, IIRC). It was a cute tech demo but easily broken, and quite slow.

This ... is mind blowing.

uams 4 days ago 1 reply      
This is super cool.

While I can't imagine myself using it anytime soon, it's clear that web applications are improving at a far faster rate then native applications and, with t large enough, the first derivative means that web will eclipse native.

This seems like an academic exercise at the moment; it's to prove that you can replicate a native experience only.

However, it seems that this could be vastly improved by playing to the strengths of the internet. The only online apps that have beat native ones so far have been because of cloud storage and collaboration. First, use filepicker.io or something so this can open my online files. Second, bake some collaboration into it.

Aissen 3 days ago 0 replies      
It's in Firefox since version Firefox 14, but disabled by default. Activable with "preview in Firefox" in options/filetypes/pdf.
andrewla 3 days ago 0 replies      
Just as interesting, in my mind, is the inverse library -- jspdf [1] lets you create pdfs in javascript. For automatic document generation, I find I can quickly whip something up in jsbin or jsfiddle that will give me a pdf I can download and do whatever I want with.

[1] http://jspdf.com/

chj 4 days ago 1 reply      
This is amazing, but sadly slow.
davedx 4 days ago 0 replies      
The demo looks really impressive, well done. Adding this to my toolbox! :)
famoreira 4 days ago 1 reply      
This is pretty cool! Anyone knows if there is support for PDF annotations?
jrl 3 days ago 0 replies      
This is great, I love it. I can read PDF files without leaving the browser, in any browser. I find it slightly distracting to switch to a third-party application.
klr 4 days ago 2 replies      
I have this error with Firefox 9.0.1:

currentPage is undefined http://mozilla.github.com/pdf.js/web/viewer.js Line 285

tete 4 days ago 0 replies      
Works nicely since it is Firefox's default viewer. No more need to install a one, yay!
gbraad 3 days ago 0 replies      
Next up, a good ePub reader for use in firefox and firefoxos. Breaking free of the only two rendering engines in use...
jjmanton 4 days ago 0 replies      
from someone who has worked a lot with PDF, excellent work.
3ds 4 days ago 0 replies      
On Firefox OS this will be the default PDF viewer.
leberwurstsaft 3 days ago 1 reply      
On an iOS device with retina display it's awfully blurry, probably just not rendering to a big enough canvas.
antonpug 4 days ago 0 replies      
Sweet. Going to keep this in mind for when my site needs a pdf viewer. Awesome tool
dude8 3 days ago 0 replies      
Good Job!!
Gallery of free HTML snippets for Twitter Bootstrap bootsnipp.com
335 points by madh  4 days ago   64 comments top 21
superasn 4 days ago 3 replies      
Great site! Other good bootstrap related stuff:

http://wrapbootstrap.com / http://bootswatch.com - for themes, http://bootstrap-forms.heroku.com for quick form building

msurguy 3 days ago 0 replies      
Bootsnipp creator here...
Oh my loving God, this is amazing to end up on Hacker news on the second day of the creation being online... Thanks to you guys it's so popular now.

I will be working hard on making this a community instead of one author site, I do have a CMS that I build for this and it shouldn't be too hard to make this a community, it's just that I have to squeeze that in a full time and part time job, I made Bootsnipp thanks to being sick and absent from work for 2 days...

I appreciate your comments, please promote the site further and I will work hard on making it more personal to each of you.

bitdiffusion 4 days ago 0 replies      
Agreed - this is fantastic. Although the getbootstrap docs have some neat things in there - it's sometimes hard to differentiate what comes built-in vs. what has been customized for the docs (and to extract the doc-specific functionality can be tricky).
nicholassmith 4 days ago 1 reply      
Good idea and some really useful stuff in there. As there's no licensing notes I'm guessing they're under permissive, share and share alike with credit?
billirvine 3 days ago 2 replies      
Why is there a movement to make every quickly-made website look like dull white/blue with a hint of beige? This is madness.

"Hack away on an app and have it look halfway decent" is a very, very poor attitude that portrays laziness and a disdain for the user. Halfway decent is the same as halfway sucks.

ukoki 4 days ago 0 replies      
Great work! As someone who relies waaaay too much on Twitter Bootstrap this is really useful - now to get round to adding my own Bootstrap idioms.
chrisfarms 4 days ago 1 reply      
Nice idea... would love to see it work a bit more like patterntap[1] where we could add our own snippets.

Allowing CSS/LESS (with a guideline to only use the built-in color variables) could be really cool too " I'll often have to add one or two lines of CSS to tweak a nice component.

[1] http://patterntap.com/

efields 3 days ago 1 reply      
Great work. I'd love to see these as TextExpander snippets. I might go ahead and do this this weekend…

EDIT: A thought I forgot:

I used to be a Bootstrap hater, but now I'm quite enamored with the project since a good SASS port has been maintained.

Bootstrap's biggest accomplishment (aside from its mere existence) is that it placed in the hands of a lot of different people " devs, designers, newbies, etc " a collection of modular css patterns and clean, semantic markup examples, like the ones you see on this link.

"But your markup shouldn't be littered with presentation classes!!!" " Bullshit. Your markup definitely shouldn't look like the mess of classes you find in Drupal output, but <div class="navbar">…<ul class="nav"> are a sane way to markup page elements. These classes say what the elements are, and could be styled an infinite number of ways depending on what kind of device its displayed on.

Likewise, Bootstrap's CSS is an excellent way to learn modular CSS patterns. ".dropdown {}, .dropdown-menu {}" is a much better approach than something like ".dropdown ul". What if that UL changes? "UL is a lousy element here!" says a future dev on the team.

I'll agree that .pull-left and .span-9 are terrible, but not everything's perfect. It'd have to use SASS instead of LESS before it was perfect, anyway ducks.

jenius 4 days ago 5 replies      
This makes me want to cry. What happened to design and having a good-looking and creative interface?
baseh 3 days ago 1 reply      
Here is another similar project though its Sublime text editor targeted.


I wish there was a way to auto-convert these snippets for popular text editors. Somehow copy-pasting html from web-pages sounds so... 20th century.

aaronbrethorst 4 days ago 1 reply      
Neat! Please add Haml as an output format for your HTML snippets.
ryangallen 4 days ago 1 reply      
Bootstrap is great but I'm worried that it's style is getting overused and tired like a pop song on FM radio.
rodolphoarruda 4 days ago 0 replies      
I like the progress bar example... its fun is a real eye catcher
draz 3 days ago 1 reply      
suggestion: it would be nice if people could request examples, and others could submit code snippets
conradfr 4 days ago 0 replies      
Not bad.

Never thought of doing the buttons on page 2 with an icon on top and a text underneath.

jarsj 3 days ago 1 reply      
This is good. Can you add some voting thingie. There is a lot of trivial stuff, easily available on the bootstrap documentation itself.
philjones88 4 days ago 0 replies      
Really useful site, especially for those developers like myself that are "design challenged" :)
drstk 4 days ago 1 reply      
I was JUST looking for something like this yesterday. Could become very useful if you keep at it, I'll definitely be checking back from time to time. One minor nitpick: perhaps normalize the height of your snippets in the main grid view?
nodesocket 4 days ago 0 replies      
Really nice, and some great snips already added. Would love to see additional login snippets.
cduser 4 days ago 1 reply      
This is great, but why am I not able to add snippets?
BaconJuice 3 days ago 0 replies      
Great site, thank you!
CoffeeScript: less typing, bad readability ceronman.com
327 points by dcu  21 hours ago   204 comments top 41
jashkenas 20 hours ago 1 reply      
Most of the bad code examples in this post are taken from the CoffeeScript compiler itself. For that I have to say "mea culpa". There's a lot of overly clever and dense bits that have accrued in the compiler over time -- sometimes due to the tangly nature of the codebase, but also sometimes because we tend to use the self-hosted compiler as a test bed for edge cases of combining different language features together.

If you're looking for more regular style, this style guide is a better place to start:


crazygringo 19 hours ago 8 replies      
This is a fantastic post -- I feel like I've run into all these crazy "gotchas" over the past year, and more.

And the worst part of it is, nearly all the confusing/ambiguous/different compilation examples given rely on the undocumented rules CoffeeScript uses for parsing. It's amazing that, still, CoffeeScript's entire documentation is basically a "getting started" guide, and there is simply no reference documentation.

ilaksh 19 hours ago 10 replies      
Just because you CAN do something in CoffeeScript doesn't mean you SHOULD, or should ALL of the time. Just like in JavaScript where, if you want, you can write all of your code on one line, but you shouldn't.

    action true
option1: 1
option2: 2

If you really use CoffeeScript regularly, that isn't confusing. I don't usually write it that way though. I would do this:

  options =
a: 1
b: 2
action true, options

doSomething () -> 'hello' just isn't valid code.

Usually I would write

    doSomething ->
return 'hello'

or maybe

    doSomething -> 'hello'

If you write it the way he did, the parenthesis are confusing.

For this one:

    action = (token, i) ->
@tokens.splice i, 0, @generate 'CALL_END', ')', token[2]

-- first of all, you always want to indent two spaces. But the main problem with that is in CoffeeScript you do need to use parenthesis after the first call because your code will be unreadable otherwise. You just can't write it the way he did.

    moveTo 10,

doSomething 1,

doSomething 1,

Those are ridiculous examples. No one does that. You just write moveTo 10, 20, 10

    doSomething (->
'hello'), 1

Indentation is significant in CoffeeScript, just like it is in Python. Just having a parenthesis shouldn't change that. Anyway, what I do is this:

    somethingDo = (ms, func) ->
doSomething func, ms

and then I can just write

    somethingDo 1, ->

action(key: value, option: value, otherValue)

You don't write it like that if the function takes two objects. You would probably just write

    action {key: value}, {option: value}, otherValue

x = {
key3: value3

This is called destructuring assignment, and its part of the new ECMAScript. Its useful to not have to repeat key1, key2 everywhere when the variable with the value has the same name as the object property. The extra curly braces are just necessary to differentiate from the normal syntax.

Sometimes yes/no or on/off are more readable than true/false. That's an advantage.

    x = 1 if y != 0;

Don't use semicolons in CoffeeScript. I also don't put if statements at the end of a line because I don't believe that is very readable for most people including me. Also, in CoffeeScript its probably better to use isnt instead of !=, although rather than !=, you would want !==.

    if y isnt 0
x = 1

I'm not that sure about the use of unless, although it probably is a little bit more readable overall.

  break for [tag], i in @tokens when tag isnt 'TERMINATOR'
@tokens.splice 0, i if i

He says that is supposed to delete TERMINATOR from tokens. I tested it, it doesn't do anything, and the second example of the correct way doesn't work either. I think he meant this:

    filtered = []
for token, i in tokens
if not (i is 0 and token is 'TERMINATOR')
filtered.push token

i += block.call this, token, i, tokens while token = tokens[i]

Another example of something you CAN do in CoffeeScript but shouldn't. Actually it is a bad idea in general. I think a CoffeeScript programmer would actually write something like this:

    class Parser      
block: (token) =>
@currentNode.push new Token(token)
parse: =>
for token in tokens
@block token

I would never write something like 'mainModule.moduleCache and= {}'

Instead of

    js = (parser.parse lexer.tokenize code).compile options

I would write

    tokens = lexer.tokenize code
parsed = parser.parse tokens
js = parsed.compile options

smacktoward 19 hours ago 4 replies      
I don't have a strong opinion on the article itself (it seems well-reasoned to me, but I don't use CoffeeScript personally so who knows)... but the comments attached to it are hilarious.

I think CoffeeScript has great readability, because I've taken the time to learn how it works.

If you have to take the time to learn how to read something, it's not easily readable.

CoffeeScript is only hard to read if you try to read it with a JavaScript mindset.

Yes, why would anyone approach a tool pitched explicitly at JavaScript developers, whose "golden rule" is "it's just JavaScript" (see the top of http://coffeescript.org/), with a "JavaScript mindset"? Truly, it is a mystery.

crazygringo 19 hours ago 5 replies      
Question: am I the only one who's driven nuts by "if"s that come after the "then" part? E.g.:

    do_something(with, these, args) if im_supposed_to

I mean, the processor/interpreter always needs to evaluate the "if" first, so what purpose does it ever serve to put it after the "then"? To me, it just confuses things because it feels like code is getting executed backwards -- like crossing an intersection, and then checking to see if the light is green.

I know it works "in English" ("do this if that"), but when I scan other people's code I'll sometimes completely miss the "if" (sometimes it's just off the screen).

Are there any examples where this reverse-if actually helps, instead of harming, code intelligibility?

ricardobeat 18 hours ago 1 reply      
Though most examples are not something you'd write normally, this line is what kind of flopped the article for me:

    Given that CoffeeScript doesn't fix any of the
fundamental problems of JavaScript

same for a comment here:

    coffeescript doesn't bring much to table

There is so much coffeescript adds that I find these laughable:

    string interpolation 
multi-line strings
guarded loops (hasOwn...)
easy constructor/prototype definition (class)
avoiding global leaks/shadowing
function binding
splats, defaults
safe usage of reserved names
existential operator
chained comparisons
READABLE regular expressions

This just off the top of my head. These make a huge difference to writing code everyday. I've been writing CoffeeScript for 90% of my projects in the past 2.5 years and it pretty clearly affected my productivity for the better. I can only conclude that whoever says "coffeescript doesn't add anything" hasn't really used it for work.

Case in point, if you look at the linked article at the end you'll see an update by the author: I actually love CoffeeScript now that I've been writing it for a year.

tete 20 hours ago 1 reply      
I don't consider this article bad at all, because it really makes some good points.

However a lot of criticism seems to come from the fact that the author is a Python programmer and therefor wants CoffeeScript to be more like Python. No, I am not saying something like the author not understanding it isn't meant to be Python, but for example the implicit vs explicit debate is certainly a more philosophical view. Ask people who prefer other programming languages and they will have a different view. Hey, after all that's why there are so many, even if Ruby, Perl, Python, Falcon, etc. have very similar use cases.

My opinion for example is that dynamic languages are very implicit in first place so saying you don't want that (at all) doesn't make too much sense. I also don't have problems reading CoffeeScript, but occasionally had problems with very explicit languages being too verbose which can make it harder to follow. So looks like my mind works slightly different here.

But back to the article. There are lots of valid points. I think coding guidelines, which one should have working in a team, no matter what language could solve some of them. Some points look a bit like mixing different styles on purpose and at least can't see how you could find something like that in the wild. Just because you can code ugly, it doesn't mean you have to, but again that is more of an opinion. Some people like usually verbose languages, because they say they are easier to read, others like ones with shortcuts or where you have multiple options to express things, making it easier to read (for some people). I for example always enjoyed the fact that Perl has unless and until in place of negated if/while.

But that's more what you prefer. But hey, CoffeeScript is all Javascript, so if your team doesn't like it it's (comparatively) easy to step by step switch back.

debacle 21 hours ago 1 reply      
I find this review very even-handed. It doesn't really make any bold claims, but it does provide a slew of evidence.
andrewingram 20 hours ago 4 replies      
A few years ago I made an email campaign editor using JavaScript, I re-implemented it in CoffeeScript a few months ago. What I now want to do is re-implement it in the good JavaScript I've learned from reading the code that CoffeeScript generates.

There are some annoying parts of CoffeeScript. If your function takes callbacks as the first parameters, and another value as the second (such as setTimeout), you end up with some really awkward syntax. I've seen a lot of people define a delay method that swaps the parameters of setTimeout just so it's easier to use with CoffeeScript.

Like the author of the article, I have a Python background, but I've also written a lot of JavaScript, I love the syntactic sugar that CoffeeScript brings, but I hate reading CoffeeScript code. The project that my re-implemented email editor is used in has a hybrid of JavaScript and CoffeeScript code, and I'm not kidding when I say that everyone (myself included) groans when they have to work on the CoffeeScript parts.

cnp 20 hours ago 1 reply      
Personally, i write my CoffeeScript with as much syntax as possible, to keep it as readable as possible: as a rule, I always use parenthesis and commas while leveraging CoffeeScript's "good parts".

But that said, the last couple of projects I've written in pure JavaScript and it's actually made things much easier to go back and read. Like the author of this post, I too have had difficulty reading back over my old code and, at a glance, understanding precisely what's going on.

Over the past couple of months I've gone from being absolutely devoted to CoffeeScript to on the fence, mostly due to readability.

(I'd love to see a fork of CoffeeScript that forces syntax.)

cristianpascu 20 hours ago 1 reply      
I have recently implemented to quite large project with CoffeeScript, the most recent one for a full export to HTML for http://flairbuilder.com, and I have to say that CoffeeScript is a superb language. It's a pleasure to work with.

The kind of problems that the article points out are easy to spot. If small syntax changes yield significant output code, that will be immediately reflect in the program execution.

Plus, a decent code base will have unit testing in place, which should catch more intricate, harder to catch, unwanted code flavors.

deanotron 20 hours ago 1 reply      
I've been using coffeescript for about two years - I thought it was the best way to keep the pleasant aesthetic of python, which was my favorite language, and have been happy working with it ever since.

I just want to throw out a positive experience with it and to say that I don't support the author's premise of "here's some misleading things you can do with CS, therefore CS is unreadable". This applies to all languages, and 'fanciful' features and syntax should be avoided almost always in every language for the sake of readability.

There are MANY reasons not to use coffeescript, but JS is all functions all the time, and -> is my best friend.

mratzloff 19 hours ago 2 replies      

    Coming from Python [...]

For example, in C-like languages, you can omit curly brackets
after a conditional expression if you only have one statement:

if (condition)

But what happens if we add a new statement:

if (condition)

Of course, that doesn't seem to be an issue in Python, the language he's coming from.

Most of his points are similarly contrived and could be equally applied to Ruby, a language which doesn't require parentheses and quite a lot of developers seem to like, or Python which is similarly whitespace-dependent and quite a lot of developers also seem to like. But inflammatory headlines do drive traffic from HN...

    Given that CoffeeScript doesn't fix any of the fundamental problems of JavaScript

I think most developers who are well-versed with both JavaScript and CoffeeScript would disagree that CoffeeScript doesn't fix any of the problems with JavaScript. It certainly makes it easier to loop through object properties. It makes code more readable in a number of ways; post conditions, list comprehension-like syntax, simpler loops, the existential operator (`foo?`), and the maybe object-like syntax (`foo.bar?.baz?.quux`) are definitely improvements.

You can of course write bad code in any language, no matter how structured it is. I myself am about to embark on refactoring a massive, terribly-constructed Python system that processes millions of requests each day. The author didn't follow the strictures of the Python community at all. How is that any different from someone who exercises poor judgment when writing CoffeeScript? It's not.

eranation 18 hours ago 5 replies      
I guess I'm lonely in this world, but I really want a statically typed JavaScript alternative. Dart is nice, but no JS interop (yet), GWT is just Java, which is not the most fun thing in the world, ClojureScript is nice, but not static typed and Lisp is a bit too extreme for me, but the new Scala JS DSL seems worth waiting for.
sixbrx 20 hours ago 6 replies      
I haven't programmed in Coffeescript, but does it bother anyone else that new variables are introduced without "var"?

When reading js, seeing the "var" really helps me to know the programmer's intent that this is a new variable being introduced, not an attempt to reassign one that should already exist. Does CS have features that make this point mute?

TeeWEE 19 hours ago 0 replies      
The big point here: less characters for the same logic is not always better. Saying that you need less characters to write function x in coffeescript compared to javascript doesnt mean it is better.

Its all about syntax and semantics. Code from languages with a small and consistent syntax, one-way-to-do-it, and a easy semantics are easier to understand than languages with a lot of semantics.

For example, Scala is cool. But also overly complex. The same holds for C++. But languages like clojure are very simple to grasp and the semantics of these languages are very small.

mcantor 19 hours ago 0 replies      
Both statements do completely different different things, although they look very similar.

This is true for both CoffeeScript examples he gave and their resulting JavaScript.

latchkey 20 hours ago 0 replies      
I agree, it is too bad that CS has so many optional ways of doing things. That said, it is possible to write unreadable code in pretty much any language. If you have a good style guide and stick to it, it is easy to avoid all of these issues.
ojosilva 16 hours ago 1 reply      
After reading this, I felt the urge to classify key aspects of write and readability of the programming languages I've dealt with over the years.

How easy or fast it is...

  - to write what I want to achieve
- to write something that makes me feel creative
- to write something that makes me feel tidy, organized
- to write a syntax error
- to write a logical error
- to step into a "gotcha"
- to find that bug
- to grasp a short snipped
- to grasp a 20K loc app
- to read my own code 1 week later
- to read my own code 3 years later
- to read somebody else's code

Now trying to rate languages by these parameters is a tough job that I can't even imagine how to tackle. In many instances it doesn't even has to do with the language itself, but rather with my experience and relationship with it. But any exercise in this direction gives some food for thought while trying to find the right tool for the next job. Or something to think about when looking back at some of the choices I've made through my programming lifetime.

ryankshaw 18 hours ago 2 replies      
whenever I see something like this that tries to rag on coffeescript it seems like they all reference ryan florence's post from a while ago: http://ryanflorence.com/2011/case-against-coffeescript/

for the sake of clarification, ryan is sitting right next to me, writing coffeescript (as with all new code we write here at instructure, see: https://github.com/instructure/canvas-lms/tree/stable/app/co... )--and loving it. whatever "crazy gotchas" he found back then are obviously trivial to how much easier coffeescript makes life. it seems like every third tweet he makes is about how much he loves CS now: https://twitter.com/ryanflorence

Other than that, everything in this post just comes down to "just because you can doesn't mean you have to or should." disambiguate if helps make things readable

losvedir 9 hours ago 0 replies      
ParenthesEs is the plural, parenthesIs is the singular.

Normally I don't do the spelling/grammar thing, but it was consistently wrong in the article, and at least a half dozen comments here were getting it wrong, too, so I figured a public service announcement was in order.

gothy 20 hours ago 0 replies      
Using CS for about 1.5 years now.
Yes, there're ways to hurt yourself with bad CS code. This is also true for Python.

When developer writes some fancy one-liner in CS or Python and I'm reviewing his commit, I just ask him to come over and explain what this thing is doing. Sometimes it takes more than 20 second to read and explain even by author.
Then I say: "You wrote this line an hour ago and it's already hard for you to understand what it does. Imagine you'll need to change it in a month. You'll hate yourself. Go and rewrite this code explicitly to help yourself in the future."

If you force yourself and teammates to write explicit code, you get all the pluses of CoffeeScript avoiding bad readability.

armored_mammal 19 hours ago 0 replies      
I concur with the author. When I write CoffeeScript I often use a more explicit or more c-like style for things I find ridiculously ambiguous or hard to parse when reading quickly.

Particularly, if one line has lots of commas, I put parens all over the place because no matter what I do, having to manually parse the comma arrangements and figure out what's nested and what's a function does not go quickly. I also find myself writing explicit returns somewhat frequently just so it's much more clear what's being returned.

The overarching issue is that the syntax blurs rather than pops -- there are too many instances where things that are significantly different in function look nearly the same.

tharris0101 18 hours ago 0 replies      
This is exactly why I stopped using CoffeeScript. I hate Javascript so I was excited when I saw CS for the first time but after a while I realized I was doing two calculations in my head:

1: What is the JS that CS was generating?

2: What is the JS doing?

Maybe I just didn't give it enough time, but it seemed quicker and more reliable for me to just suffer through the JS syntax.

iamwil 20 hours ago 0 replies      
Some of the complaints in the OP aren't mistakes that I make often, so I guess I don't see them. Perhaps for someone that makes those types of mistakes often, it'd be a detriment, but so far, I've been happy with my coffeescript experience.
lucian303 17 hours ago 1 reply      
"readability is more important than writability for a programming language"

Couldn't agree with you more. Readability is measurable and considering that a lot of programmers come from C-type languages, I really don't see why people try to modify an existing formula (as badly implemented as that formula is in JS).

tl;dr: Let's face it, if you're using Coffeescript or similar because there are too many braces or parenthesis, perhaps you should quit development right now and take a class on basic algebra, quit that and save the world your horrific code. Seriously.

tjholowaychuk 16 hours ago 0 replies      
Great article, totally nails it. No "good" language design should be so ambiguous
rayiner 19 hours ago 0 replies      
I'm meh on significant indentation, but significant space characters is just a terrible idea. I blame Haskell.
dustingetz 19 hours ago 0 replies      
wow readability is about API design like requests vs urllib2: https://gist.github.com/973705

except when APIs get 100x bigger, API design becomes 100x more important. and using a language ecosystem that encourages good API design, over a language that is cobbled together and has no particular opinions about what good API design looks like[1] (or, even, bad opinions[2]), so that less experienced developers end up with decent output, is that much more important than concerns like parens, commas and braces. curly braces never made a project fail. shitty API design does.

[1] javascript!
[2] java!

sheesh. there are bad things about coffeescript, but this stuff hardly matters.

jtms 18 hours ago 1 reply      
CoffeeScript readability > Javascript readability

and that's all that matters to me

tylerlh 20 hours ago 0 replies      
Yeah, well that's just, like, your opinion, man. -- The Dude.

Personally, CoffeeScript has been my favorite thing to come about in the past few years.

beernutz 16 hours ago 0 replies      
Badly written code is badly written code in ANY language.
systems 11 hours ago 0 replies      
on one of the slide in this presentation i found this interesting ( https://speakerdeck.com/u/clkao/p/livescript-tax-free-javasc... )

   Javascritp + ruby  = coffeescript
coffescript + perl = coco
coco + haskell = livescript

So i think coffeescript is not the end of the line, and i think this mean, there is a serious need for a better javascript

jaysoo 20 hours ago 1 reply      
I myself enjoy using CoffeeScript, but I understand it might not be for everyone.

It's always good to look at the pro/cons before choosing a language, so I think discussions like this is good.

That being said, some of the problems this article points out can be addressed by going back to more JS style.

e.g. Not relying on implicit parentheses/commas/braces

I like the "Fancy" for loop because it's closer to what I do in Python (yes I know they are not exactly the same). Same thing with the "Tricky" if statements.

Also the redefinition shortcuts provided in CoffeeScript is pretty much what I do in plain JS anyway.


foo = foo || 'bar';


  foo or= 'bar'

viseztrance 20 hours ago 1 reply      
The moment you try to do simple things like concatenating a string you realise that javascript is a bit more tedious than it needs to be.

While nowadays I prefer coffeescript to js, I would rather have some syntactic sugar like scss is for css. I've looked into it but nothing has enough momentum to make me sure it will still be around in two years or so.

As a sidenote, while I mentioned I prefer CS, have you ever tried using a ternary operator? or pass a callback function in jquery (ex. the hover out event)? or just return "this".
There are so many things that feel so wrong.

gbin 18 hours ago 0 replies      
I had this same feeling programming in ruby few years ago when no formal language grammar was defined (with really weird problems with : vs [space]: AFAIR). Is it the same for CS ?
kin 20 hours ago 2 replies      
while the points in the article make sense and I agree, if you keep your Coffeescript code consistent I really don't suffer a readability problem, especially relative to JS where there's like 5x more code to go through
rimantas 20 hours ago 3 replies      
Seems like there are two types of developers: those who don't want even to hear about CoffeeScript and trying hard to find deficiencies in it and those who embraced it and feel unhappy every time they are forced to work with vanilla javascript again.
d0m 18 hours ago 0 replies      
Thanks for this post. This is actually how I feel about CS but could never actually explain it correctly. I find it very hard to read other people code because of all these implicit rules that are more often than not ambiguous. Yes, sometime it's shorter but not necessarily faster or easier to read.
tiglionabbit 18 hours ago 1 reply      
Oh dude, just learned something new from this article.
options = {
options = {
I have a lot of maps in my app that look just like that. It'll save me a lot of repetition.
paulbjensen 18 hours ago 0 replies      
I wrote Dashku entirely in CoffeeScript. It was a productivity boost, and for that I owe it my firstborn child.
Odd Things Happen When You Chop Up Cities and Stack Them Sideways npr.org
326 points by missechokit  21 hours ago   60 comments top 27
jballanc 20 hours ago 3 replies      
An interesting article, sure, but there's a small problem. The section of Istanbul that they've chosen (centered here: https://maps.google.com/?ll=41.044081,29.096603&spn=0.04...) is actually on the Anatolian side of the Bosphorus, and it's one of the newer neighborhoods. The streets are actually arranged like that because of the terrain, more than because of history.

That said, this is a case of being right for the wrong reason. Istanbul is an amazing city to walk through. It's like the worlds largest living maze, and you're never quite sure where you'll pop out.

For example, the first time I was there, we turned a corner down an alley to try and get to one of the main roads. The alley started out wide enough for us to walk three-abreast, but quickly narrowed. At some point I looked up and noticed that there was now a roof over our heads. Eventually the alley narrowed to where we had to turn sideways to squeeze past people coming in the opposite direction, and there were shop counters on either side. A few feet more, and we stepped out onto the main street we had been looking for. I turned around, but where I expected to see the alley was, instead, what looked like a regular store-front, identical to all those next to it on either side...

But you don't have to believe me. Yandex has great walking maps of Istanbul! Here's the location I was just describing: http://harita.yandex.com.tr/-/CVeLjW60

cobralibre 20 hours ago 1 reply      
Paris shouldn't be too surprising. While the city is quite old, it was reshaped and modernized in the mid-19th century.

See, for example: http://en.wikipedia.org/wiki/Haussmanns_renovation_of_Paris

samd 19 hours ago 1 reply      
Istanbul's layout is downright Byzantine.
jrockway 19 hours ago 3 replies      
all those crooked, lopsided, curvaceous streets, going off in so many directions, I can't help wondering, what would it be like to wander there?

It would be like the suburbs in the US. Houses are all on cul-de-sacs that wind around and eventually join larger streets which eventually join arterial streets. Pretty much like the map of Istanbul they chose.

LesZedCB 17 hours ago 0 replies      
I used to live in Istanbul, I actually lived in the section shown on this map. I can verify from walking hundreds of miles through those serpentine back roads that wandering Istanbul is a beautiful experience.
jpdoctor 18 hours ago 3 replies      
Would love to see Boston added. (Most believe that Boston city planners used the throw-spaghetti-against-the-wall method of city planning.)
stevenrace 20 hours ago 1 reply      
I've been transfixed with the idea of 'Digital Comparative Studies of Cities' (or some similar turn of phrase).

With the advent of mapping projects (GoogleMaps, Openstreetmap, etc), environmental sensor networks (my startup's area), and cheaper LiDAR arrays (for point cloud mappings of buildings and terrain...now in CMOS form) - we'll be able to quantify the homogeny of surbanization, architectural 'themes', road uniformity, development rates, etc over time.

There are lots of similarly clever projects cited on BLDGBlog [1] if you're into this kind of thing.

[1] http://bldgblog.blogspot.com/

stephth 13 hours ago 0 replies      
redcircle 18 hours ago 1 reply      
There seems to be a value judgement here: that curvy and uniquely shaped streets are superior in some way. This can be decided with objective evidence: look at how city districts flourish, and see whether it is related to the shape of the city blocks.
trentlott 1 hour ago 0 replies      
He never says what "odd things" happen. He just organizes blocks and then marvels at what it looks like in a completely boring way.

He spent all his allotted time making the figures, apparently, and took no time to thinking of anything interesting to say about it or describe these "odd things" he teases in the title.

portlander52232 19 hours ago 1 reply      
Allan Jacobs' book Great Streets contains dozens of this type of map, not chopped up, but showing the street systems all at the same scale. It's absolutely fascinating to compare 'Cisco to Houston to Paris to Venice. A highly recommended book. http://www.amazon.com/Great-Streets-Allan-B-Jacobs/dp/026260...
shocks 20 hours ago 1 reply      
I've always thought that American roads suck for exactly this reason.

They're so boring. -__-

jules 17 hours ago 0 replies      
Paris looks more homogeneous than it is simply because they analyzed a bigger area, or at least an area with more pieces. For example if you analyzed the entirety of Istanbul, then for almost every piece you could probably find a very similar piece elsewhere.
Alekanekelo 20 hours ago 1 reply      
Humorous post. I can't say that I am surprised by Paris dissected. All those small streets and alleys creates a lot of small segments and those small segments, when looked from above, will seem monotonous and all in the same shape. It seems that it is mostly the larger segments that are oddly shaped and that is not really surprising.
jboggan 19 hours ago 2 replies      
Glad to see this article is up on the front page. I submitted it two days ago and it never got traction.

Question about article submissions - in the past when I've submitted a duplicate article it takes me to that HN posting instead. What are the edge cases where identical articles get posted separately on HN?

SeanLuke 12 hours ago 0 replies      
Including Salt Lake City would be humorous.


MikeCodeAwesome 9 hours ago 0 replies      
I have a fondness for geography and maps, so I am delighted to see this posted here. Big Think covered this back in February, 2011: http://bigthink.com/strange-maps/502-hung-out-to-dry-a-taxon....

The above article is part of Big Think's Strange Maps, a fantastic blog which has many, many more interesting articles!

supreeth 12 hours ago 0 replies      
Love this project!
I'm curious to find out how Indian cities would hold up to this exercise. A city like Delhi that is made up of 7+ old and new cities, Mumbai which is sea front and hard pressed for real estate (which important city isn't?!) and Bangalore which has very old green parts and very new barren areas would all be fun to map.

One other interesting exercise would be to map the cities over time. A satellite view image from the 1960's and one from 2012. Could throw up interesting anthropomorphical results.

state 18 hours ago 0 replies      
We have so much rich geographical data and it's always refreshing to see someone (the artist / architect) asking simple questions about it. I'm much more excited about the work itself than Krulwich's commentary (for as much as I like him). Cities are rich with spatially disjoint points of similarity.
dm8 18 hours ago 0 replies      
I'd be curious to see how old cultural cities like Mumbai, Cairo etc. will look like when they are "chopped". I'm sure they won't look anything different from Istanbul.
minikomi 14 hours ago 0 replies      
Nice. Would love to see Tokyo. My guess is it would be a mix of NY and Istanbul chunks, depending on the area.
pbhjpbhj 19 hours ago 0 replies      
What are the odd things - I only scanned the article but it seemed pretty much to show expected results. The whole is more than the sum of parts.
galvanist 20 hours ago 0 replies      
This reminds me of Ursus Wehrli's work.
aw3c2 19 hours ago 0 replies      
Doesnt say anything about the sources or methology. I guess footways and the like were not used in this.
kristianp 13 hours ago 0 replies      
I don't find this interesting at all. What is the point of doing that?
Cherian 14 hours ago 1 reply      
Mumbai is an excellent case for dissection.
PilateDeGuerre 18 hours ago 0 replies      
The Situationists meets William S. Burroughs
Anonymous Donor Pays for College of Every Student in Kalamazoo nytimes.com
312 points by unfoldedorigami  4 days ago   119 comments top 24
kevinconroy 4 days ago 0 replies      
From Wikipedia:

"To receive a full scholarship, students must have attended Kalamazoo public schools since kindergarten. The program, unveiled at a November 10, 2005, Kalamazoo Board of Education meeting, is also viewed as an economic development tool for Kalamazoo. Since the Kalamazoo Promise was announced, enrollment in the school district has grown by 16%, test scores have improved, and a greater proportion of high-school graduates are attending college. In 2010 alone, the Kalamazoo Public School district saw enrollment rise 3% to 12,409."

Have to be there K-12 to get full tuition. There's a chart that shows the sliding scale based on your length of attendance. Most interesting part is that if you move in for the tail end of high school you get 0% covered to prevent people from temporarily joining the community just for the tuition.

  Attendance -> Proportion of full tuition
K"12 100%
1"12 95%
2"12 95%
3"12 95%
4"12 90%
5"12 85%
6"12 80%
7"12 75%
8"12 70%
9"12 65%
10"12 None
11"12 None
12 None


EDIT: Added table.

tokenadult 4 days ago 1 reply      
"The Promise was created against a backdrop of recent economic thought that considers investment in education better than nearly every other kind of developmental effort when it comes to promoting economic growth."

That's the kind of thinking that turned east Asia from a place of wretched poverty to a place of wealth in my lifetime.

alttag 4 days ago  replies      
Wow. That's neat.

I once had a conversation with a state legislator where he argued it wasn't the responsibility of government to provide grant and loan opportunities for higher education, and that by doing so, the federal government was disincentivizing saving and investing. Instead, he argued universities should be more market driven (which I will concede might introduce more price competition in the face of rapidly rising tuition rates). He was a firm believer that a university education should be something one works and sacrifices for.

In my elected position with public education at the time, I disagreed (and still disagree) with some of his claims, believing a subsidized higher education experience for a expanded pool of people is a long-term net gain compared to crime/prison costs and the cost of government-funded social safety net programs. (Although, again, college-student families admittedly qualify for most government assistance programs already, but this is hopefully a short-term rather than lifetime dependence.)

I'd love to see the long-term effects on the quality of life, debt, and employment prospects of these students.

unfoldedorigami 4 days ago 0 replies      
What's fascinating to me is that because it prevented the surrounding communities from growing at the expense of Kalamazoo, those districts invested even more in their schools and education infrastructure to compete with the city with The Promise. I would have predicted the exact opposite. Super interesting.
femto 4 days ago 2 replies      
On the assumption this is a good thing, let's say every town/state rolls such a scheme out. Now every student in the nation is having their tuition paid. It's also costing about the same amount as if the government levied taxes and paid the costs.

A negative, compared to government funding, is that the economy has lost mobility of labour. Getting a full scholarship requires the child to be enrolled from K-12. Loss of mobility might be a good thing, in that it prompts people to improve their local economy, rather than run away. Alternatively, it could lock people into a form of serfdom, unable to move to better their situation.

I'd advocate that a voucher system, whereby the government gives each student a voucher for the degree of their choice, would be preferable to the widespread adoption of "the promise".

beloch 4 days ago 2 replies      
I'd say the kids of Kalamazoo could use a break given the kind of stuff they have to deal with.


Note: The above Kalamazoo sheriff is probably not quite as paranoid as the story suggests since Kalamzoo has a murder rate almost 7 times higher than Calgary despite being roughtly 1/14'th the size. If Kalamazoo is that dangerous, it's natural to assume a much bigger city would be even more dangerous. Still, that's one sheriff I wouldn't want to run into in a Kalamazoo park, let alone a dark alley!

steiza 4 days ago 1 reply      
Only now as an adult, having grown up in southwest Michigan, do I appreciate how unusual the region is.

The amount of culture and philanthropy in area is very high considering the population. In Kalamazoo there's the Kalamazoo Area Math and Science Center (thank you Upjohn family), the Gilmore Keyboard Festival (thank you Gilmore family), the philanthropic work of the Stryker family, ... the list goes on and on.

About an hour north of Kalamazoo is Grand Rapids, another major Michigan metro area, which is also defined by philanthropy: Art Prize (thank you DeVos family) and the Fredrick Meijer sculpture park (thank you Meijer family), just to name a few.

Are all towns in the United States like this?

mahmud 4 days ago 6 replies      
What would be the unintended negative consequences of this?

It reminds me of the story of a West African king who went on a pilgrimage to Mecca. On his way to Arabia, the king gifted so much gold to all intervening communities that the price of gold crashed, taking with it the economies of North Africa and Arabia.

thewordis 4 days ago 0 replies      
I went to college there and live one city over (25 minute drive). There are a lot of wealthy people living in the area, multimillionaires in the suburbs, but also a lot of poverty. A _lot_ of poverty. I'm glad to see someone trying something new, even on such a small scale. I was almost tempted to look for housing within the Kzoo city limits because of the Promise, but I don't plan on having children any time soon. We need more such experiments and resultant data.
tete 4 days ago 0 replies      
Coming from a European country where we still have free university I think it's a good thing. Sadly things are changing. Now there are limitations, first universities where you have to pay and ever since this was introduced you can follow how the rankings fall and fall.

Note for people from the US: College/University is harder to attend to (graduating from high school is harder) and it's also harder to stay in there (or not take long), so it's still not like everyone can attend it which sucks, because the reason may besides personal problems may be the fact that you are not good at something you won't ever need again anyway. Also on personal experience stuff like math is completely different at college anyway, if you study CS.

sukuriant 4 days ago 3 replies      
And now. Whatever you do. No. Whatever. You. Do. Do. NOT. Turn back on this promise. Make it happen. No ifs, ands, or buts. Period.

And colleges. If somehow, something terrible happens, and the money stops coming in. Let those kids finish for free anyway. Anything less is the newest worst thing that could happen to these kids and then adults.

[edit: I am curious about the downvotes. From what I gathered, the people that these donors have chosen to help are the downtrodden of this area. Much of their life may have been spent in a world of people not fulfilling their world. Fathers leaving, etc. The last thing these kids need is for yet another promise to be left unfulfilled, be it by red-tape or just some series of unfortunate events. Despite that, these children need to have the results of the promise fulfilled.]

szpilman 4 days ago 0 replies      
I usually let out some man-tears on especially touching movie scenes, book passages, music verses and family occasions, but I'm pretty much sure this is the first time I couldn't hold it while reading an article. At least 5 times.

"The Promise" sounds like some utopian sci-fi plot, and the childrens' thank you notes for their unseen benefactors are more than heartwarming. These kind of investments that empower and multiply their effects are the farthest reaching long-term, and just brilliant.

Now I want to be a billionaire.

rmason 4 days ago 2 replies      
FYI Kalamazoo has three venture capital firms whereas to my knowledge Grand Rapids and Lansing have none. In fact until a few years ago there weren't any VC's in the Detroit city limits.
Dylan16807 4 days ago 1 reply      
With every added student, the school district gets another $7,250 from the state.

That's per year, right? That's very close to the $4,200/semester number. So the college payments are almost equivalent to extending education from K12 to K16. That means that this could be done, even without donations, across the country.

kqr2 4 days ago 1 reply      
Actually, it's donors (plural). They are collectively called the Kalamazoo Promise.


MikeCapone 4 days ago 1 reply      
If I had to guess at a glance, I'd say maybe Chuck Feeney:


wtvanhest 4 days ago 1 reply      
Scott's Tots?
gwern 4 days ago 0 replies      
Interesting how little effect they describe it as having on teen pregnancy and dropout rates.
dkroy 4 days ago 0 replies      
I am very jealous of these students, I entered my post college life in the hole like many other students. Luckily, the tech world is in a completely different state than the rest of the job world when it comes to looking for a place to practice your profession.
jeffpersonified 4 days ago 0 replies      
Having grown up in Michigan, this isn't anything particularly new. Kalamazoo has been at this for a while (perhaps the donor), and although it's phenomenal, I'm surprised it's at the top of HN.
grandalf 4 days ago 0 replies      
I wonder if Anonymous is taking credit for this.
carioca3 4 days ago 3 replies      
Anonymous? If memory serves me right it is the Stryker family that provides the scholarships.
jedmeyers 3 days ago 0 replies      
Scott's Tots
humanfromearth 4 days ago 0 replies      
It was batman!
Elon Musk: "I would like to die on Mars" businessweek.com
279 points by kposehn  3 days ago   139 comments top 31
shawnee_ 3 days ago 2 replies      
On the assumption that people will be living on earth for some time, Musk is cooking up plans for something he calls the Hyperloop. He won't share specifics but says it's some sort of tube capable of taking someone from downtown San Francisco to Los Angeles in 30 minutes. He calls it a “fifth mode of transportation”"the previous four being train, plane, automobile, and boat. “What you want is something that never crashes, that's at least twice as fast as a plane, that's solar powered and that leaves right when you arrive, so there is no waiting for a specific departure time,” Musk says. His friends claim he's had a Hyperloop technological breakthrough over the summer. “I'd like to talk to the governor and president about it,” Musk continues. “Because the $60 billion bullet train they're proposing in California would be the slowest bullet train in the world at the highest cost per mile. They're going for records in all the wrong ways.” The cost of the SF-LA Hyperloop would be in the $6 billion range, he says.

The estimated cost projections for the bullet train project keep getting bigger. I've seen estimates as high as $68 billion: and that is for construction alone (not including maintenance, etc). If Elon Musk can come up with a better idea, I hope we can remove enough of the red tape (that incidentally makes endeavors like this so expensive) to at least let him try.

Bud 3 days ago 5 replies      
Now that Jobs is gone, Elon is probably the coolest guy in the world. Can't wait to see what he comes up with in the next 10-20 years.
codex 3 days ago 6 replies      
Given Mars' weak gravitational field, extremely low atmospheric pressure, lack of breathable oxygen, deathly cold temperatures, and weak magnetic field (leading to high levels of radiation), he may well get his wish. Many others will likely get this wish against their will.

If he would like to get a taste of realistic Martian colonization here on Earth, may I suggest living underground in a windowless tank, surrounded by a partial vacuum, next to a nuclear reactor.

mej10 3 days ago 3 replies      
How about... you know, not dying? At least in the foreseeable future.

You can do a lot more awesome engineering and science and exploration if you don't die after ~80 years.

juiceandjuice 3 days ago 1 reply      
It's statements like this that have made me seriously consider applying for a job at SpaceX.
AYBABTME 3 days ago 1 reply      
I recently discovered who Elon Musk was and I'm always astonished to read about him, and realize that he seems to have all the dreams that I have; plus the money, the wisdom and the experience to accomplish them.

I never had a model or a 'hero' in my life, but I find it hard to deny Elon this role. He's kind of imposing himself to me.

For some parts, he pisses me off. He doing it removes me the feeling that my dreams were mine. On the other sides, my pride motivates me to accept his theft as a challenge to try at surpassing him.

Now I'm only 25, so I guess I still have the time required to get on par, if I keep working hard enough.

jboggan 3 days ago 0 replies      
I have always told myself that ending my days on another planet will be an absolute definition of success for myself no matter what else I don't manage to accomplish. It's a sufficient but not necessary condition. In ten years I hope to be working in a business related to space exploration.
johnnyg 3 days ago 0 replies      
Yeah, you and me both Mr. Musk.
damoncali 3 days ago 1 reply      
Enough of the hero worship. If Musk gets on one of his rockets in 15 years and launches it towards Mars, he will certainly die. Long before he reaches Mars.

Yes, he's a great, fascinating man. I enjoy observing this stuff as much as the next guy. But Good God - stop slobbering on yourselves. This is marketing fluff of the highest order.

vannevar 3 days ago 2 replies      
I love what Musk is doing, but both of his current engineering successes---Space X and Tesla---involve building well-understood vehicles, just faster and at less cost than competitors. Doing entirely novel projects like a manned mission to Mars or some new kind of mass transportation system are orders of magnitude more difficult and uncertain, and I think he's grossly underestimating the time and cost for either of his more ambitious new goals. I'd like to see him make plain vanilla space transportation and electric cars into business successes comparable to PayPal before he moves on to Mars and Hyperloop.
rdl 3 days ago 3 replies      
I'd prefer to not die, but dying on Mars would be ok if dying is necessary.
gnarbarian 3 days ago 1 reply      
That can be done for far less than establishing a long term colony there.
it 3 days ago 2 replies      
Saying it that way makes it sound like a new retirement community. Why not say he would like to live on Mars? Maybe because it's a dead planet and not very livable.
gtirloni 2 days ago 0 replies      
"SolarCity, where Musk is chairman of the board, is a player in the residential and commercial solar markets, with more than 28,000 customers, and is expected to go public imminently at a value of about $1.5 billion."

We're valuing crap, err FB, at $50 billion these days. Why is a company with actually something to offer to society getting valued at only $1.5bn ?

photorized 3 days ago 1 reply      
Re: “Boeing just took $20 billion and 10 years to improve the efficiency of their planes by 10 percent. That's pretty lame. I have a design in mind for a vertical liftoff supersonic jet that would be a really big improvement.”

I respect what the guy has done. But a vertical liftoff supersonic jet is going to be more difficult than anything he had encountered, including rockets.

Zenst 2 days ago 0 replies      
For those who fiscaly are less likely to get to Mars and still wish to die on Mars can always read this and smile:


on another less serious note I believe the chap in this news item will beat him too it:


    Most people want to die in peace, but when you have to go to another planet to get peace then you just know noise polution has got a little bit out of hand.

kilroy123 3 days ago 1 reply      
I sure hope SpaceX ends up being a success. I also hope, if successful, they put a lot of money toward research on carbon nano tubes.

Hopefully, they or some other organization, could move towards building a space elevator sometime in the next 50-100 years.

JVIDEL 2 days ago 0 replies      
I would like to die on Mars, just not on impact.

Easy, remember a few years ago when some guys at NASA proposed that the first guys to Mars should be in their early 60s?

That's because getting there is not the problem, the problem are the copious amounts of radiation you would absorb on the way which means that even if you make it back you probably wont live much more.

So what those guys proposed was sending old astronauts on a one-way trip.

mherdeg 3 days ago 0 replies      
It always astonishes me that not only did Heinlein invent the Segway ("The Road Must Roll"), he also invented the idea of people like Elon Musk (as D.D. Harriman in "Requiem").
eckyptang 2 days ago 0 replies      
Conincidentally, I actually had a rather lucid dream about this a few nights ago. I can see it is possible even with today's technology to get there and stay there. It's just a matter of cost and inclination.

We need to send lots and lots of larger seed probes out there first though - not the limited scope probes and landers we're using now, but general purpose, long life scouting probes with engineering, tooling and life support payloads.

philhippus 3 days ago 1 reply      
I wonder if the Hyperloop is a maglev propulsion system contained within a vacuum tube? That would essentially be space travel - on earth. It would also allow for efficient use of energy, as long as the vacuum could be easily maintained.
sfriedrich 3 days ago 0 replies      
Go Elon! Big vision. Big execution. They ARE delivering. Get's my motor revving.
the_mitsuhiko 3 days ago 0 replies      
I think dying on mars can be accomplished in a reasonable timely manner. Living on mars however might be hard.
benl 3 days ago 0 replies      
"Hopefully not on impact"
autophil 3 days ago 1 reply      
I would like to die on Mars. Oh brother.

How come "shut up and just do it" applies to everyone but Elon? Why does he only have to talk about doing something to be hailed a hero?

Start backing some of this stuff up with action Elon.

greesil 3 days ago 0 replies      
Or maybe die on the way there.

McCoy: Don't pander to me, kid. One tiny crack in the hull, and our blood boils in thirteen seconds. Solar flare might crop up, cook us in our seats. And wait till you're sitting pretty with a case of Andorian shingles. See if you're still so relaxed when your eyeballs are bleeding! Space is disease and danger wrapped in darkness and silence.

Substitute Andorian shingles with just going crazy being cooped up in a tiny ship.

knodi 3 days ago 0 replies      
Don't worry Mr Musk, you won't have to die pretty soon.
wooptoo 3 days ago 0 replies      
At first I thought they were talking about Elop from Nokia and I thought to myself 'yap, we could send him to mars tomorrow'.
stickhandle 3 days ago 0 replies      
a man of my generation sees a little of the Larry Ellison swagger about Elon Musk. I hope he does more.
badcrowd-JG-IW 3 days ago 0 replies      
DJ Lee Kalt. Vergeet hulle bestaan.
ceejayoz 3 days ago 0 replies      
Even the most pessimistic climate change predictions don't have Mars being more habitable than Earth in any imaginable future.
Dropbox dives into CoffeeScript dropbox.com
277 points by varenc  4 days ago   192 comments top 21
crazygringo 4 days ago  replies      
Where I work, we moved the project I work on to CoffeeScript about a year ago, and I've been using it ever since.

Putting syntactic sugar aside, while some things are very welcome (list comprehensions, ===, ?), there are two main reasons why I would be wary of using CoffeeScript again:

1. Complete lack of documentation for syntax. Because there are basically no more braces and parentheses, CoffeeScript just tries to guess what you're doing, as far as I can tell, based on a bunch of internal heuristics. Unfortunately, there's no way for me to learn how to write parseable code without constantly pasting into the coffeescript.org site, and seeing if CoffeeScript understands it or not. This is the first language I've ever used where the syntax rules are essentially unknowable, and a lot of time gets wasted trying to discover them through trial and error.

2. Unexpected side effects. For example, functions return the last evaluated value by default. If you're using $.each(), and your function's last line is something that returns false (like a separate function you call), then your $.each() loop will terminate unexpectedly early, since jQuery does that when it receives a false. So CoffeeScript isn't just a wrapper around JavaScript, but it really changes its behavior. Another example: CoffeeScript gets rid of function hoisting. A significant JavaScript feature, completely gone.

I personally am slower to code in CoffeeScript, because I know JavaScript 100% inside and out, but with CoffeeScript that isn't really possible, because so much of its implementation is undocumented. I mean, many times you're forced to end a line with a backslash in order to continue it, and even the existence of that necessary feature isn't mentioned once in the docs.

But a lot of people seem to love the syntax, and that seems to outweigh the negatives for them. I personally don't find JavaScript that ugly, but coding in a language I can't ever fully understand gives me a huge headache.

jlongster 4 days ago  replies      
This sounds so much like some geeks wanting to hack. That's it. There isn't really a good reason to convert a codebase with tens of thousands of lines of code from js to CoffeeScript.

Not that there's anything wrong with that. But seriously, every single problem with javascript they mention is never a problem for javascript developers. You simply learn what's broken, and deal with it. Dealing with it is usually one line of code (or even less), making sure you just use ===, etc. It's really not a problem.

These kinds of posts smell a little like FUD to me, which is what I have a problem with.

sync 4 days ago 8 replies      
Big, big fan of CoffeeScript and glad to see Dropbox hopping aboard.

That being said, some of their examples are lackluster.

  @originalStyle = {}
for k in ['top', 'left', 'width', 'height']
@originalStyle[k] = @element.style[k]

Should really be something like:

  @originalStyle = ['top', 'left', 'width', 'height'].reduce (hash, position) -> 
hash[position] = @element.style[position]
, {}

... though that shows off some CoffeeScript warts.


  Sharing =
init: (sf_info) ->
for list in [sf_info.current, sf_info.past]
for info in list
@_decode_sort_key info

Why aren't they using CoffeeScript classes?

  class Sharing
constructor: (sfInfo) ->

supersillyus 4 days ago 6 replies      
I agree with them on the readability issue mostly, but I don't understand the preference for parens-less function calls, especially where there are arguments.

Maybe it's a matter of training, but

   @_update_status_position(e, files)

looks much clearer to me than

   @_update_status_position e, files

BadassFractal 4 days ago 1 reply      
I'm a little surprised by the number of negative comments in this thread accusing the three Dropbox engineers of wasting company time.
malandrew 4 days ago 0 replies      
You guys should use MD5 digests of files instead of mtime for file change comparison.

mtime works fine until you want to add other steps that are dependent on the mtime of ephemeral files occuring previously in your process. Steps such as minification, uglification and comparison for uploading to a CDN all become a bit more complex if mtime is used since every compile step has the tendency to modify mtime so recompilations cascade through the process causing at best unnecessary processing and at worst weird edge cases if the order of middleware isn't taken into account (the middleware issues can be avoided with precompilation before production.

aaronbrethorst 4 days ago 2 replies      
"I had to be done [with Javascript] in ten days or something worse than JS would have happened."

I've heard this quote from Eich several times now, but I've never heard what the "worse than JS" alternative would have been. Anyone know?

geon 4 days ago 1 reply      
The first comparison is not fair. Audio is 1D, while code is 2D.

Obviously CoffeeScript is less cluttered, but JS is nowhere near as bad as the audio makes it sound.

AndyKelley 4 days ago 0 replies      
The middle code example can further be broken down[2] by using coco[1] instead of coffee-script.


    this.originalStyle = {};
['top', 'left', 'width', 'height'].each(function (k) {
this.originalStyle[k] = this.element.style[k];


    @originalStyle = {}
for k in ['top', 'left', 'width', 'height']
@originalStyle[k] = @element.style[k]


    @originalStyle = @element.style{'top', 'left', 'width', 'height'}

coco also solves a rather nasty variable scoping issue[3]

[1]: https://github.com/satyr/coco/
[2]: http://satyr.github.com/cup/#c:@originalStyle%20=%20@element...
[3]: https://github.com/jashkenas/coffee-script/issues/712

dustingetz 4 days ago 0 replies      
the question that should motivate a change like this:

what does new-language let your team accomplish that you can't accomplish with old-language?

question isn't answered in post, the answer is probably somewhere along a 2x increase in the complexity the same team can handle. i dunno if it is worth disturbing an existing codebase and the QA cost of making sure you didn't introduce any defects. meh. where i work, we have maybe 100k lines of javascript, and its not really a problem other than lack of types when refactoring imperative code, nothing near the scope of the problem of Java's lack of higher order functions.

jackfoxy 4 days ago 0 replies      
Speaking as someone who has managed coders writing far more lines of javascript than I will ever write, this is a better articulation of my belief that javascript should be generated from another language (CoffeeScript being the leader) than I could ever propose. Thanks Dropbox! This post should be read by everyone who writes or manages those who write javascript.
bostonaholic 4 days ago 7 replies      
}); is not a line of code. Please stop counting it as such. Here's a good rule of thumb:

"If it can be moved to the line above, without any other changes, it's not its own line of code."

The argument that CoffeeScript saves countless }); }); } } is invalid, IMO. I would even argue that function definitions are not lines of code. Example: (ruby)

def foo

0 lines of code.

BTW, I'm not a CoffeeScript hater, just trying to level the playing field.

funkiee 4 days ago 0 replies      
It's nice to see some more prominent companies using CoffeeScript that people could point to if they ever wanted to convince their boss.

Did any of the other Dropbox employees have a hard lead-in time getting used to the syntax in CoffeeScript? Would you say you run into a lot fewer syntax errors when running validation now?

kevincennis 4 days ago 0 replies      
Wait, they're looking forward to "Native CoffeeScript support in browsers, so that during development, we can avoid the compilation to JavaScript altogether."?

Is there something I don't know about?

lucian303 4 days ago 1 reply      
"We've heard many arguments for and against debuggability, and in the end, we convinced ourselves that it's easy only after jumping in and trying it."

So, in other words, you have only your own opinion and at best one (1) anecdotal experience. Congratulations! You've failed to prove your point from a logical perspective, let alone anything more!

skilesare 4 days ago 0 replies      
I tell my prospective clients that if their contractors/employees are still programming in js then they are stealing from them.

Coffee Script is clearer, more concise, more maintainable. It has made me 5x more efficient in writing code (just the reduction in scrolling is a massive time savings) and I've seen similar results with my developers.

It takes about 2 days to learn and has a significant long term benefit. Switch.

Ygg2 4 days ago 1 reply      
In our case, we avoided this problem entirely by instrumenting our server code: whenever someone reloads a Dropbox page running on their development server, it compare mtimes between .coffee files and compiled .js equivalents. Anything needing an update gets compiled.

I wonder how did they achieve this? Is this a feature of node.js or is this like an automated build system? I suspect the latter.

seangransee 4 days ago 0 replies      
this is great news! for people who prefer python-like syntax, coffeescript is a no-brainer. sites like js2coffee.com make it really easy to make the transition.
dotborg 4 days ago 0 replies      
Ctrl+Shift+F - does it work with CoffeeScript in Eclipse?

oh wait, no semicolons :/

MatthewPhillips 4 days ago 3 replies      

> Disclaimer: we love Python, and it's Dropbox's primary language, so we're probably biased.

pjmlp 4 days ago 0 replies      
As I only use the native application, I can care less.
Things I've quit doing at my desk justinjackson.ca
268 points by mijustin  1 day ago   94 comments top 23
jaysonelliot 1 day ago 9 replies      
I would add "Eating" to the list.

I eat at my desk all the time, and I really need to stop. When I eat at my desk, I'm generally eating things that aren't that healthy to begin with, snacking unnecessarily, and/or eating too quickly, and doing it in some misguided notion that I'm able to work and eat at the same time. I'm not actually productive at times like that, it just lets me deal with some illogical guilt I feel when I get up to go eat at a table with other people, or out by myself in the park near the office.

When I get up and go to lunch instead of eating at my desk, I'm taking a real break, I'm socializing, or taking time to think.

I gotta stop eating at my desk.

bajsejohannes 1 day ago 2 replies      
> Nobody does their best thinking sitting at their desk. When you reflect on your biggest “Ah-Ha!” moments, how many of them occurred while you were staring at a screen?

My biggest ah-ha moments are seldom staring at a screen*, but quite often it's at my desk with a paper and pen.

(The big exception is when doing profiling; the highest ah-ha-per-second ratio of all activities)

eckyptang 1 day ago 1 reply      
I quit working at my desk.

It's uncomfortable (despite considerable investment), takes a lot of space, has terrible lighting, is too hot or too cold and is eerily quiet. It's quite depressing really.

I tend to sit in the garden when it's not raining - good lighting, relaxing ambient noise and great air (which is really important). Plus you can get up and walk around regularly and focus on stuff that isn't right in front of you.

The only downside is bird crap and my neighbours think I'm insane.

praptak 1 day ago 3 replies      
Ad procrastinating: I remember someone (Paul Graham?) reporting that he configured a separate machine for procrastination-inducing activities so as to avoid the "just quickly check my feed while this is compiling" syndrome.
_delirium 1 day ago 4 replies      
#1 (thinking elsewhere, especially while taking a walk) is definitely true for me, but it does require being in a setting where you're allowed to leave the office for a few hours in the middle of the day to go for a walk in a nearby park. In academia or at your own startup, probably not a problem, but many companies aren't very accommodating of people leaving the office for hours at a time.
jakejake 1 day ago 1 reply      
I knew before I clicked that there was going to be something about a standing desk. I feel a subtle smugness coming from the standing desk crew that irks me a little.

But, as far as procrastinating I have definitely been slipping lately and need to lay off facebook, reddit, and (gulp) HN as well. Wait... what am I still doing here..!

hkmurakami 1 day ago 0 replies      
The "writing hut" part reminded me how Wallace Stegner's house / writing hut will be torn down in order to build a multi-million dollar monstrosity of a mansion [1]. :(


edit: apparently the writing hut will be preserved, though inaccessible to the public


AYBABTME 1 day ago 0 replies      
We should declare our desks sacred, and define a set of rituals to perform at those desks, to calm the Gods of Creativity and ask their forgiveness for all those sins we committed in their temple - the Desks.
Tooluka 1 day ago 1 reply      
And switch laptop for desktop computer. Reason is - you shouldn't do work at social station, at rest station and at sleep station. You should only work at work station.
RyanMcGreal 1 day ago 0 replies      
> Even better, I've felt more freedom to just walk away when I'm faced with a problem and need to do some thinking

I don't have a standing desk, but this is possibly my biggest incentive to consider getting one: if you're already standing, there's a lot less inertia to keep you from just walking away from your desk.

jseliger 1 day ago 1 reply      
Sitting: for the past 18 months I've been using a standing desk. I've realized that the best part isn't that I'm standing all day; it's that I'm not sitting.

I actually got a GeekDesk a while ago, and I think it's a better solution: I wouldn't want to sit or stand all the time.

ChuckMcM 1 day ago 1 reply      
I disagree about the socializing part, in part because so much of our socializing is driven through the same mechanism we might otherwise do work at. Perhaps Justin might have two desks, one that is the communication/socializing desk and one that is the execution/work desk.

Of course a number of people would love to do that where the TV ends up the display for your socializing function.

rbellio 17 hours ago 0 replies      
I like the ideas put forth in the article, thanks for the write-up. For me, it's really sometimes just finding what works best for the situation I'm in. I've found that sometimes the solitude of a library study desk can be the best place to get work done. At other times, sitting in a busy area (a cafe, a park, even public transit) can be invigorating and creates enough background as to allow me to focus more. The recliner in my living room has seen more than its fair share of use while sitting at my laptop typing away.

There are times when my mind races and I can't focus. I turn the lights off, close the shades and the only light and thereby focus becomes the monitor.

I look at this article and others that offer advice on finding that working place for yourself, or that motivation to ignore distractions and I see them more as tools than as rules. A man with a well supplied toolbox is more likely to find the one he needs when the time comes.

darkxanthos 1 day ago 1 reply      
I've been experimenting with getting away from my desk at home more often and taking breaks to play games and such. I use RescueTime to track what I end up doing and how much I end up working and if anything my productivity has only increased.

It's not a perfect measurement but it helps me to realize its not at all expensive to unchain myself from my desk.

electic 1 day ago 3 replies      
I would also add "drinking" to this list. It's never good to drink anything at your desk.
xiaoma 1 day ago 0 replies      
That desk seriously needs a nice 27" monitor before it can be a proper "workstation".
bkanber 1 day ago 1 reply      
I wrote an article very similar to this a few months ago. I make a similar argument: we need defined workspaces, and when we're there we shouldn't do anything but work.


brador 1 day ago 0 replies      
Best thing I ever did was move away from the desk unless working. Get a tablet for web browsing and keep your desk for work. I'd guess it's added 10 years minimum to my expected lifespan.
skibrah 1 day ago 0 replies      
I couldn't agree more regarding using a standing desk. The ability to stretch and move around makes working for long periods of time much more productive.
nodata 1 day ago 0 replies      
I call BS. Nobody has a desk that looks like that.
ybrs 1 day ago 0 replies      
imho; if he's talking about the desk in the picture, its positioned wrong, he needs to stare a wall all the time he is behind the desk.
thechut 1 day ago 2 replies      
You don't use a mouse?
poblano 1 day ago 6 replies      
Has anyone else switched to a standing desk setup? Do you like it?
Why I went from Python to Go (and not node.js) orel.li
267 points by zemo  3 days ago   190 comments top 28
ak217 3 days ago  replies      
Lots of sentiment, not much substance.

Concurrency support is possible in Python, without gevent-style monkey patching (or callback madness). Have a look at concurrent.futures and http://www.dabeaz.com/coroutines/index.html. It really needs a lot more work before it's part of the language's DNA, though. Also, pypy needs much wider adoption as quickly as possible, to address the speed problems (and its STM branch holds huge potential).

For me, Go's major shortcoming is its community's lack of focus on readability as compared to Python.

juddlyon 3 days ago  replies      
"... as a Python programmer, I was the member of an elite cabal of superhuman ultranerds, smarter than those childish Rails/JavaScript/PHP/whatever developers that couldn't write a bubble sort or comprehend even basic algorithmic complexity, but more in touch with reality than the grey-bearded wizards of Lisp/Haskell/whatever that sat in their caves/towers/whatever solving contrived, nonexistent problems for people that don't exist, or those insane Erlang programmers who are content writing sumerian cuneiform all day long."

This made me laugh, thank you.

stcredzero 3 days ago 1 reply      
If someone created a debugging environment for Go based on a VM, which also let one recompile source from within the debugger then continue execution, then it would be, for all intents and purposes, as productive and immediate as the old Smalltalk environments. You'd have the same small-grained cycles of inspecting state, modifying code, rewinding the stack to the place of your choosing, then getting immediate feedback.

Source code changes could be saved as log-structured patch files, which could then be thrown away or applied to the source tree as desired. One could also steal some ideas from the Smalltalk Change Log tool by adding similar editing, search, and filtering commands.

With tools like this, one could recompile for "interpreted debug mode," have complete visibility and control of runtime state to debug a problem, then take the resulting patch file and apply it to the source tree. It would be a best of both worlds scenario -- all the enhanced debugging of an interpreted runtime with the type safety and speed of compiled code.

it 3 days ago 1 reply      
It would help a bit if the article included at least roughly equivalent Go code next to the Python code. The Go code is wordier, but maybe it takes less time to write because it doesn't require as many decisions (libraries etc.) as with Python.

        package main;

import (

func main() {
hosts := []string { "www.google.com", "www.example.com", "www.python.org" }
c := make(chan string)
for _, h := range(hosts) {
go get_ip(h, c)
for i := 0; i < 3; i++ {

func get_ip(host string, c chan string) {
addrs, err := net.LookupHost(host)
if err != nil {
fmt.Println("Host not found:", host)
c <- host + ": <error>"
c <- host + ": " + addrs[0]

ricardobeat 3 days ago 3 replies      
Ah, code comparisons. I don't see much difference in the Go code vs Javascript, except for the extra comments and logging in the js. How about this?

    var cluster = require('cluster')
, http = require('http')
, os = require('os')

if (cluster.isMaster) {
} else {
http.createServer(function(req, res){
res.end('Hello world')

mietek 3 days ago  replies      
Dimissing Erlang and Haskell with a wave of the hand, while seriously considering node.js? Carry on, nothing to see here.
zzzeek 3 days ago 0 replies      
For small tasks in the background of a web request, you can just, you know, use a worker thread. This author seemed like he didn't even try regular threads, and went directly from one hyped meme to another. It's often the case that the GIL isn't much of an issue.
just2n 3 days ago 5 replies      
Another gonatic? I'm immediately reminded of the days when everyone who liked D proclaimed it would overtake C++ and rule the world with terrible, contrived examples: "let me show you why my language is better than yours by completely misunderstanding how to solve a problem, then implementing that broken/overengineered solution in your language, then compare it to something my language's API can do for me, just so we can see how much simpler that bad solution is in my language!"

The insight to async I/O is that this server, for this I/O bound task, will perform as well as your GOMAXPROCS example:

    require('http').createServer(function(req, res) {
res.end("hello world\n");

But it's a lot simpler. You don't need to bolt on parallelism when you don't actually need parallelism. There are valid reasons to use Go, and there are valid complaints against Node. I don't see any of either here.

bcoates 3 days ago 1 reply      
I'd like to see more detail about the real problem he was facing in python. It sounds like he mostly wants a non-blocking background job "I don't want to set up another daemon, I just want to send some email in the background!" Why not just use Queue (thread-safe, waitable, built-in) and a background thread(pool)?

There's an awful global lock on the actual execution of python code, but unless the problem is performance or contention worrying about it is premature.

antihero 3 days ago 1 reply      
I'd like to start porting a few of my little scripts to Go (that do pretty poor messy parallelism in Python), and I was wondering what a good resource/book type thing would be for people learning Go. Like, the equivalent of learn you some haskell or whatnot. Also some advice on "wtf library do I use for this".

Is there some sort of Go package manager? How does all this shit work?

niels_olson 3 days ago 4 replies      
I keep hearing about go. I am new-ish to programming. Only really getting started on my first project, which depends on pyparsing, which depends on other things. Is go something a novice should be attacking real-world problems with?
mathattack 3 days ago 0 replies      
I think we can cut the author some slack. He admits in the header to being a relative newbie. (Learned python less than a year ago, recently took Hacker School)
markmm 3 days ago 1 reply      
Wait a few weeks, for his followup article entitled "Why I came back to Python....two words...mature libraries"
zallarak 3 days ago 1 reply      
Very cool post. The code samples really make me want to try out Go when I get some time to do so. Thanks.
knodi 3 days ago 0 replies      
I'm in love with Go. I'm very close to deploying it in production.
srj55 3 days ago 3 replies      
"As a Django developer, there wasn't a straightforward and obvious way to just do things in the background on a page request. People suggested I try Celery, but I didn't like that option at all. A distributed task queue? What? I just want to do something in the background without making the user wait; I don't need some super comprehensive ultimate computing machine. The whole notion that I would need to set up and configure one of these supported brokers made my spidey sense tingle"

It's not really that hard. I just latch on to a broker that I'm already using elsewhere in my stack (Redis). Celery makes it super simple to run a command in the background.

realrocker 3 days ago 2 replies      
In Go, the coroutines are in the same thread. There is a single thread here too(just like node.js). Coroutines are just multiplexed to the one main thread. Multi-Core Processing is handled by coroutine internals too i.e. there may or may not be more than one threads and even if there are more than one threads, they too will be multiplexed with the one main thread.
tocomment 3 days ago 2 replies      
It it true there's no way to spawn a background task in Django without making the user wait?
Kiro 3 days ago 1 reply      
Why do you need concurrency to send an e-mail? Why do you need to do it in the background? Just trying to understand this concurrency thing...
electic 3 days ago 0 replies      
I am writing an article right now about how I went from Go to C++. Hope I can have something up here soon.
dgregd 3 days ago 0 replies      
According to Google Dart is better for web apps than Go.

Is it too early to switch from Python/Ruby to Go? Maybe it would be better to wait for Dart.

I known that Mozilla and MS won't support Dart however they also don't support Go.

richcollins 3 days ago 0 replies      
You should look at LuaJIT's coroutines as an option.
ishbits 2 days ago 0 replies      
What's wrong with good old threads. It's not that hard. And threading in Java will blow away any pseudo concurrency setup in python. Been there done that. Love python but just couldn't get the performance we needed.
rjurney 3 days ago 0 replies      
I'm always confused by these kinds of posts. You really only code in one language most of the time? I code in half a dozen every day.
se85 3 days ago 0 replies      
I prefer the node.js example given over the Go example.

Sure, the go example is shorter, but the JavaScript version reads much nicer (at least to me).

rWolfcastle 3 days ago 1 reply      
Based solely on this article, and this article alone, and knowing nothing more about Jordan Orelli, the conclusion I drew about the author is that he thinks "Java Web Programming" strictly refers to applets and nothing more.

narrows eyes...


sproketboy 3 days ago 1 reply      
Why would anyone go to Node.js? Serious question.
dude8 3 days ago 0 replies      
I would have to say the author of this article probably isn't that good.
Bill Gates: Books I Read this Summer thegatesnotes.com
261 points by clbrook  2 days ago   94 comments top 13
jacques_chester 2 days ago 0 replies      
I'm finding that writing reviews, even very surface-level reviews, of books I am reading is helping me to derive a lot more value from them.

Firstly, while reading, I find myself reflecting more on the book. After all -- I will be writing a review, I need to be an active participant.

Secondly, I find that books will often spark some thinking on a topic and the review will essentially morph into an essay. I wrote a 3000-word review of one book[1] that diverged into fuzzy logic, theories of jurisprudence and a few other areas in order to properly explain my reaction. Right now I'm writing a review of Waltzing with Bears that will diverge into financial accounting and a pet theory of mine about how tools create paradigms that shape entire bodies of knowledge.

Third, books can often be connected to one another. I find that my reviews tend to link to each other. Not because I am trying to drive internal link traffic (I'm basically a nobody in internet terms, it's not worth the bother). But book A will have tangentially touched on the topic of book B; or perhaps book C illuminates something only poorly discussed in book D. To the point where I refer to books from before I started reviewing with an "unreviewed" annotation.

Finally, some people find my reviews useful. My hobby is Olympic-style weightlifting and I do a lot of reading both on it directly and on allied subjects (eg, anatomy). Fellow strength nerds have found my reviews useful in helping them select books for their own libraries. It's nice when people give you positive feedback on something like that.

[1] http://chester.id.au/2012/04/09/review-drift-into-failure/

BadassFractal 2 days ago 6 replies      
Any thoughts on that Moonwalking With Einstein book? I'd love to improve information retention in my day to day life, especially in software. I'm not so much interested in remembering the to-do list as retaining broader concepts for long periods of time. I'm lucky enough to get to learn a ton of things every day, but my long term retention of them is terrible unless I spend considerable time applying these ideas in practice, which is often not practically possible. This leads to a lot of wasted time, it's as if I never even read the darn thing.

Often, and this is the sad part, I won't even bother reading something because I know I'll forget it almost immediately, unless I have a block of time available to dedicate to trying it out in practice.

For example, I'm really fond of the underpinnings of programming language design and compilers, and it's thousands over thousands of pages of information (most of it very interesting and useful to me), but I fail to retain the vast majority of the great info and need to continuously go back to the texts whenever I'm in doubt about something. There were a couple of valuable techniques recommended in Pragmatic Bookshelf's Pragmatic Thinking and Learning, such as "now pretend you have to teach this concept to your former self who knows nothing about this", which supposedly helps with retention and internalization into the brain's "web of known facts".

Is there anything like that in the book? Would it be of any help?

sixQuarks 2 days ago 2 replies      
It's kind of funny that he recommends: "Awakening Joy: 10 Steps That Will Put You on the Road to Real Happiness"

Step 1: Be worth billions of dollars

On a serious note, I realize that money doesn't buy happiness. Proven scientifically over and over again, people get used to their situations usually within 6 months, good or bad, and get back to their "normal" happiness levels regardless.

gbog 2 days ago  replies      
I find it very disturbing and revealing that such a high level and respected guy did read no real book, I mean real books that will be read in 50 years, literature or philosophy, or classics like Seneque, Proust, Montaigne, Austeen.

It maybe he read them all already? Probably not, because if you read Austeen you probably can't spend all your holidays reading self motivation books.

metatation 2 days ago 6 replies      
Surprising to me is that Amazon is charging more for the Kindle version than the hard cover of "Awakening Joy" ($19.34 vs $17.16): http://www.amazon.com/Awakening-Joy-Steps-That-Happiness/dp/...
ahquresh 2 days ago 3 replies      
I find it amazing that Bill Gates seems to still have the time and passion to read books that will help him grow as an individual with everything that he probably has going on in his life and everything he has accomplished. Over the past couple of years, I have personally have had a hard time keeping up with reading habits due to school and job demands. I still read, but look to reading as a relaxing activity as in picking up Game of Thrones for an hour when I have it. I guess that's what makes Bill Gates who he is.
at-fates-hands 2 days ago 0 replies      
The academically adrift book was quite interesting, although I disagree with the conclusion. For the most part, I find the first two years of college are really more about filtering out those who are there to party and those who are there to learn and get a degree. If the same results were achieved on third or fourth year students (assuming most students are in for 5 years these days), then I would be concerned.
additive 1 day ago 1 reply      
It's amusing to see Bill Gates upset about college students not learning much and many not finishing. He's a billionaire. But he's also a dropout. And now he's reading self-help books.

I'd like to see Bill Gates go back to school and earn a degree or two. Is that a bad thing to do? Why? He obviously has the time and money. But how dare I even suggest the idea? Who am I compared to Bill Gates? A mere plebian. So why would I suggest it? Beause it would be a great example to set. In my opinion. Not sure if he is a believer in setting examples and the tendency of young people to emulate "role models". Like, e.g., billionaire dropouts.

marcamillion 2 days ago 3 replies      
What's curious is that none of the links to the books are on Amazon. I wonder if he did that intentionally.

All of them go to the publisher - which seems a bit odd.

alid 2 days ago 0 replies      
Thanks for posting this! I look forward to reading Bill's full review of Academically Adrift - higher education is ripe for the disrupt.
sproketboy 1 day ago 0 replies      
The Road Ahead first edition? You know the one where you forgot to mention the world wide web and had to recall it?
chrismealy 2 days ago 2 replies      
Is there a HN filter to weed out "rich man has opinions" type stories?
Am I An Outlier, Or Are Apple Products No Longer Easy To Use? battellemedia.com
252 points by rkudeshi  4 days ago   254 comments top 41
jpxxx 4 days ago 3 replies      
Much of this is dopey nonsense but he's correctly describing a few Real Problems.

-- iOS devices blowing their asset layout and 'Othering' out is a Real Problem that used to happen far too often. The only fix beyond a backup+restore is to remove and re-add photos and music. If that doesn't work? Time to restore up to 60GB over USB2! Whee. Good luck explaining this to mom.

-- The built in Mac applications and frameworks are frightfully poor - it's unacceptable from a company that prides itself on quality. SyncServices is still a flaming travesty, Mail.app spontaneously corrupts messages and passwords, Spotlight can die in twenty different ways, iCal is a UI disaster, Address Book has completely broken sync options... the list goes on and on and on. Of all of these, I think Mail is the absolute worst. Three total rewrites and it's still neurotic on a good day.

-- iPhoto is goddamn slow. No matter what, no matter where, no matter when.

iOS is an order of magnitude more usable for two orders of magnitude more people with an order of magnitude fewer issues and two orders of magnitude fewer things to go wrong that makes an order of magnitude more money for them. So I think that's where he Lion's share (haha) of Apple's QA is spent. Sadly, I fear OS X will never receive that same level of care.

eckyptang 4 days ago  replies      
I'd agree. This is the sort of stuff that lead to me dumping my MacBook in 2009.

I found that most of OS X worked pretty well and the UI looked good, but when it came down to actually being consistent and productive, it fell over pretty quickly. There were a lot of nuances and rather basic problems which got in the way of literally everything I did from my iPod not playing certain mp3s (very frustrating!) to import and export problems in iWork, automator deadlocking, iCal losing data, Mail sending emtpy messages.

I had some hardware problems as well (not charging and cable fraying after about a month) and while they dealt with them instantly, they shouldn't have occured.

Not a great experience. I've switched to Lenovo and Windows and everything pretty much just works.

ghshephard 4 days ago  replies      
I've read the article front to back twice. Carefully - and I'm still not 100% certain whether it's a troll, or for real.

The interesting thing is, many of this persons problems come from Apple trying to support multiple platforms, instead of locking the person into a single unified environment.

Others (like iPhoto starting to suck after 10,000 pictures) were an issue in the first couple releases - but it's not uncommon for people to have north of 100,000 photos, and get reasonable performance in recent releases.

The difficulty hitting the search magnifying glass was interesting - I wasn't even aware that magnifying glass existed. You normally just scroll to the top - now I can do it faster. But - it makes sense - what's just one above the letter "A" - the search icon.

All in all - I'm believing it's an article whose genesis was a user who got hit by an edgecase/bug on their iPhone, and then turned it into a generic rant about all things Apple.

But the problems this person are having do seem to make it clear to me why, if anything, the OS X platform / iPhone are too flexible. There are lots (lots!) of users out there who would trade some of that flexibility for more predictable performance/ease of use.

And thus, Sandboxing.

zaptheimpaler 4 days ago 0 replies      
Absolutely. Apple always has, and always will cater to extremely simplistic use cases. Apple products are a lot like a conspicuously clean room - dont look around too much and you'll be fine, but the second you open that bulging cupboard, all the shit piled in there comes crashing down on you.

I still think that Mac OS (not necessarily iOS) is much much more reliable and has a better UI than Windows, but this brings to light an important point. Apple's software tends to have a lot of nasty little edge cases that you run into (and not as a power user either). Its also unfair to marginalize the view point as a minority (for example, until recently, you couldn't even properly set up google calendar to work with multiple calendars on iOS. the issue about a 19 GB other is definitely not an uncommon occurrence either). Further, its not functionality being sacrificed for aesthetics. It's aesthetics being prioritized over functionality consistently leading to bugs which we have to put up with for years.

DHowett 4 days ago 4 replies      
"I restored my phone" => "I lost all my apps and data": Did you not back it up? Did you not restore that backup? iTunes warns you that it will erase your phone and reset it to factory settings.

"I can't hit the tiny search button": Have you tried scrolling to the top of the list? The index bar's magnifying class is a mnemonic identifying that "the search is at the top of the list." When you scroll up there, in fact, it's shown at the top of the list.

You can disable keyboards you don't want. You can disable any keyboard you want save for the one tied to your phone's language. Why is Kanji even enabled if you don't want it there? Keyboards do not just turn themselves on (except when the phone's language has changed, but we do not see herein a rant about the phone suddenly displaying everything in Japanese.)

The other concerns outlined are honestly valid, these simply stuck out to me as being more than a little absurd. It wouldn't be a rant if it didn't involve every problem, no matter how insignificant, of which you could possibly think (and that's not necessarily a bad thing.)

PaulHoule 4 days ago 2 replies      
I've slowly fallen out of love with MacOS X. The final straw was when I installed Mountain Lion and a number of highly annoying things started to happen. (For instance, on reboot it would try to restart the game which switched the video mode to something my HDTV won't read)

Since then I've been booting it into Windows 7, and honestly I think Windows 7 has a better GUI than Mac OS. I'll grant that bash is better than CMD.EXE. In terms of bulls--t per mile on the desktop, I think Windows today does better than anything else, and it gets much better with Win8.

There's really a pervasive attitude in Mac software that I don't like. When I first used iMovie it took me a long time to figure out how to turn off the "Ken Burns Effect", which automatically applies zooms and pans to photos you add to a video. I'll grant it's a nice feature to have, but I feel that my creativity is disrespected when the default is turn on all the gimmicks.

chalst 4 days ago 1 reply      
Case in point: my last purchase of Apple hardware was a Mac Mini in December 2010. Nice installation, I like Time Machine. Max OS X Server is obviously a broken product, but there is a BSD-like OS underneath so no problem.

Two weeks later internet connection dies. After spending huge amounts of time investigating all kinds of things that seem that they might be relevant, I use the Time Machine "revert OS to a previous state" option and it works again. I spend more time on support forums, &c, and find out more about how to diagnose problems with the wireless, in case it happens again, which it does, 2 weeks later. With this new-found knowledge, I figure out that the firewall is blocking DHCP lease renewal, a problem easily fixed with an ipfw command. Every two weeks since then, 30 or so times, I guess, the same thing happens, and I have to fix this. I have stopped trying to understand why my installation of OSX seems to think it should periodically block DHCP lease renewal.

It's my impression that, based on my experience trying to find help, that the Mac OS user world is different to that for Linux or Windows in that the people who get known as Mac OS experts generally don't have much in the way of detailed knowledge of what the OS does at initialise (despite Singh's out-of-date documentation of that in Max OSX Internals), how to query device state, &c, but instead have cookery book knowledge of things like tricks you can do with the defaults command.

And this seems to be the way that Apple likes it. They make a polished product that you are not meant to mess with in ways they did not anticipate, with the OS exposing a limited API.

vosper 4 days ago 0 replies      
Welcome to Microsoft's world in the early/mid nineties - turns out software isn't as simple as we thought, and when you become really popular the 0.01% of turns out to be a lot of actual disaffected customers.
richardw 4 days ago 2 replies      
I think it's a case of optimization. You can either build a handles-all-situations MS-Office, or you can optimize for an 80/20. When your feature set grows out of the 80/20 you run into issues.

For me, a perfect example is locking/unlocking the pivot on the iPhone by double-clicking the home button, sliding the bottom bar rightwards, clicking an icon with a turny-lock on it. That's total madness, but I understand how it got there. When I finally discovered that I mailed all my iPhone-owning friends, none who knew the trick.

Similarly, killing apps that remain in memory. Double-click home, hold down one of the icons until all the in-memory apps show a (-), then delete each of them. Granny will never get that. I'd personally like a settings page that just lets me set a default on/off for in-memory for each app so I don't have to keep cleaning up apps that want to use GPS and memory.

So, rather than having 10 buttons on your iPhone you now have one button and have to use morse-code to tell the thing what you want. Rather than an ugly screen menu, you have to use Google to figure out how to take a screenshot or un-lock the swivel.

When all you have is a home-button, everything looks like a nail. Or something.

I've made similar optimizations/(later possible "mistakes") myself. I tend to put a lot of effort into few features to do exactly what's required, but that always has to be balanced with possible future feature expectations. It's possible to paint myself into a corner with that, so I often think "is this app meant to be 'tight' like an Apple app, or should I optimize for extensibility?"

lubujackson 3 days ago 1 reply      
It's amazing to me the level of cognitive dissonance many Apple fans have. Like the script of how easy and simple to use everything is can be so unrelated to their actual experience. If you've ever gone to the "Genius Bar" for any reason, you've wasted more time with customer service than I have in the last 10 years of using PCs. The problem is, when you have an issue of any size with Apple, there is just no way to resolve it yourself without nuking your system. I'm sure there are 1000 reasons why I'm supposedly wrong or trolling or whatever, but that's MY experience with Apple, minus what Apple would have me believe.
nicholassmith 4 days ago 2 replies      
I've been a Mac user for nearly a decade (and now I feel old), which isn't as long as some people but a bit longer than others and if I'm honest I have to agree with many things.

OS X has been through a couple of really big leaps really, which whilst I think were necessary they've come at a great cost in terms of usability. I'm going to pick on one Apple application for a minute, XCode.

I used XCode on Tiger, on a very late model iBook and did my final year uni project on it and it was great. It was a genuinely good, solid and stable IDE, very easy to use and very easy to navigate and work with. Then incrementally it started acquiring new functionality that was needed, then the UI changes started coming in, then more functionality, then more UI and also in a cycle it kept amassing additional cruft. It's now a lot more difficult to use, a lot more overbearing.

This is kind of where the entire platform is starting to shift, Apple has been forced to jump the platform ahead but it's trying too many clever things and adding more and more functionality at the expense of usability. I still think it's one of the nicer operating systems and I'm not going to be switching anytime soon, but it's definitely not as gloriously user friendly as it used to be. In my opinion, different strokes for different folks after all.

bede 4 days ago 3 replies      
Does anyone else feel that OS X has gone downhill since Snow Leopard?

I can sympathise with much if not all of what this guy is saying. My Aunt recently bought a new Mac, not really knowing how to use OS X. I'm pretty familiar with most versions of OS X, but found myself struggling to justify to her the usefulness of quite a lot of the UI mechanics of the OS. What annoyed me the most was that the parts of the OS she found most confusing seemed almost universally to have been introduced since 10.6.

The 10.7+ habit of remembering open windows seemed to flummox my Aunt and continues to irritate me on a daily basis. "But I closed that window, why has it come back?"

Take Mission Control. Exposé was incredibly simple conceptually and worked very well for most people. I don't hate Mission Control, but explaining its workings to my Aunt was somewhat difficult, and I'm still not convinced that it's better than Exposé.

I feel like a lot of the simplicity that originally attracted me to OS X has been convoluted recently. And don't get me started on stability, performance and skeuomorphism...

pooriaazimi 4 days ago 0 replies      
> Have you ever done a search in your iPhone contacts? You need the fingers of a poorly fed six-year-old to activate that search function. No, really, I must waste four or five minutes a day trying to make that damn thing work.

> Seriously, how can an adult finger ever touch that little search icon without either hitting the “A” or the “+”????

You're not supposed to touch the minuscule magnifying button; you're supposed to drag the content down to display the search button. This is standard in iOS (almost all system apps do this, and thanks to the "rubber banding" effect it must be pretty damn easy to discover.

But I think the fact that the OP hasn't discovered such a basic thing proves his point that maybe apple products aren't so easy to use anymore! (Though I personally disagree wholeheartedly. It's anecdotal so I don't get into that)

Derbasti 4 days ago 1 reply      
I am still using OSX, and modestly enjoying it. But I feel the same way the author does. (Here is my list of complaints: http://bastibe.de/how-apple-is-failing-me.html )

Still, I find that OSX is a fine environment to run Unix software. Most of my computer interaction these days revolves around Emacs, a terminal and a web browser. Which is fine. It is a nice system. But really, I used to feel that OSX had a certain elegance to it that other OSes lacked. And that feeling is fading. Thus, I doubt that my next computer will come with an Apple logo. And incidentally, neither will my next smartphone or tablet.


smoyer 4 days ago 0 replies      
One of the comments says "I have been developing my own theory that Apple products are the technological equivalent to junk food, psychologically fattening an already physically obese populace."

If you have a completely bullet-proof OS and your applications are solid, locking down the system should ultimately make it easier for the user. As soon as there are even minor flaws, locking the system down is going to keep the user from helping themselves.

I don't think this phenomena only applies to Apple products, there are similar issues with Android phones and even those of us creating web applications can create systems that frustrate our users. If you're putting a wall between a user and their data/assets, you could be next.

rickmb 4 days ago 0 replies      
Even though I'm a big Apple fanboy, I have to admit I avoid using Apple's desktop applications. The one exception is Mail.app, but even there I'm always eagerly looking for any possible alternative. iPhoto, Addressbook, iCal, none of those have ever appealed to me, and I've always use (mostly web-based) alternatives. And enough has already been said over the years over that piece of bloatware called iTunes.

So as far as I'm concerned, this isn't something new. IMO, with some rare exceptions, Apple has never been very good at application software.

padobson 4 days ago 1 reply      
Recent Story:

My 8 year old has an iPad that was setup by her and her grandmother. She recently had it replaced at the Apple Store because of a busted WIFI antenna.

A few days ago, she wanted to buy the 2.99 version of Draw Something. I happened to have a iTunes gift card worth 15 dollars. I opened her iTunes account on the iPad, punched in the gift card code, and the money was added to her account without ceremony.

So she goes to buy Draw Something,and 15 minutes later I hear "It's not working." I figure she must have broken something, so I take the iPad from her and click the 2.99 Draw Something button to download the app.

This is where the fun begins.

The App store asks for the username and password. We entered both. Then it tells us that the iTunes account has not been activated on the iPad, so we need to answer two security questions - I look at my daughter and my wife and only get blank expressions. I call my mother-in-law and she doesn't know either. So the next step is to reset the password by sending an email to a failsafe account - some AOL email address that nobody can access either.

Normally, at this point, I would just say we screwed up and start a new iTunes account - but why in the hell did they let us put the 15 dollar gift card on the account if they weren't going to let us do anything until the account was activated?

Epic fail.

shinratdr 2 days ago 0 replies      
> Have you ever done a search in your iPhone contacts? You need the fingers of a poorly fed six-year-old to activate that search function. No, really, I must waste four or five minutes a day trying to make that damn thing work.

> Seriously, how can an adult finger ever touch that little search icon without either hitting the “A” or the “+”????

Why exactly do I have a hard time believing someone this stupid would be as diligent as he claims to be in attempting to solve his issues?

I'm supposed to simultaneously believe that he is competent enough to understand and solve a corruption issue, yet he can't figure out the single most discoverable gesture on any phone, "swipe down"?

$20 says he restored his iPhone from the corrupted backup and then rushed off to write an article on the experience instead of performing the due diligence he claims he already has.

Bullshit. Nobody has this kind of laundry list of whining complaints unless their actual motivation to solve problems is almost zero. He sounds like one of those people that put all Apple products on this ridiculous pedestal where they are shit if they cause you any frustration or confusion ever.

Sorry, it's not magic. It's just a really nice computer. Expect some problems and issues, and expect to spend some time troubleshooting them. Just like any other machine on the planet.

If your first thought when seeing a 4x4 icon on a high res 3.5 inch touchscreen is "Stupid Apple, how am I supposed to hit that!?" then you are looking for things to complain about instead of actively trying to improve your experience with the phone by, oh I don't know... learning things?

Apple products are getting more complex and the older classics are getting bloated. There is an interesting discussion to be had on the topic. This isn't it. This couldn't be further from it. This article is basically just idiotic whining.

bkorte 4 days ago 2 replies      
So, your device hit an edge case bug. Why aren't you talking to Apple? They'll have a fix for it, get you to bring it in or send it in.

Worst case scenario your edge case cost you some data loss.

That certainly doesn't mean their products are no longer easy to use.

sohamsankaran 4 days ago 0 replies      
Several of the article's points really resonate, specifically the ones concerning iPhoto, the Internationalization 'feature' of iOS and iChat/iMessage.
It does seem, to me, that Apple has begun to sacrifice usability at the altar of aesthetics, or worse, are unable to engineer stable and resilient applications.
perfunctory 4 days ago 3 replies      
I really wonder why don't we see any new PC platforms coming to the market. Where are all the startups taking on Microsoft and Apple?

And by new I don't mean Linux.

angelortega 4 days ago 0 replies      
That's another myth. Apple products had never been easy to use. iTunes is heavy and cumbersome and play lists never work as expected. Wheel iPods had erratic behaviour and its random/shuffling were crap.

And please don't start talking about XCode and development in general.

Things have worsen these times. "Acceptably understandable" is not the same as "easy".

se85 4 days ago 0 replies      
I understand the authors experiences and how that may have tarnished his thoughts on Apple products.

Under normal operating conditions however which applies to the majority of iOS users out there, iOS is just as easy to use as it was when it first came out, it really hasn't changed that much from a UX point of view at all.

In regards to his gripes with OSX, well.... It is silly to expect any OS to be magical, even an Apple one. From a UX point of view it is better than every other OS, but from a package management point of view, Debian/Ubuntu is far superior to OSX and from a hardware support point of view, Windows beats both of them.

It seems the author wants the perfect OS, where problems never happen, unfortunately it doesn't exist yet, and it may never exist!

In the meantime, if you specifically want "ease of use", regardless of the authors troubles, your best bet for the meantime is the Apple ecosystem.

ajanuary 4 days ago 0 replies      
The search actually has the largest touch area of all the letters, because it extends to the top of the pane.

There are a lot of ways to get there:
* Tap the status bar, which takes you to the to of most scrollable areas.
* Be conservative, if you accidentally hit A, scroll up.
* Hold your finger down on the letters to activate scrubbing mode, then slide your finger to the top.

I'm not saying they're all perfect usability wise, but picking out search as a small touch target seems a little odd to me. But then I've probably spent a lot longer than most obsessing over every pixel and touch target of the UI.

To me it seems like a trade off. Is searching contacts important enough to have a big button for? Where would you put it without completely overhauling the iOS UI? Is it of more or equal importance than any of the current elements? Admittedly annecdotal, but I see far more people scrubbing to the first letter of the contact and flicking through the list, because typing takes time (though a 'hard to find/activate' search feature might contribute to that). It seems to me putting it where it is allows for a good cross-platform solution to an unobtrusive search function.

Joeri 3 days ago 0 replies      
From what I've noticed there are many apple issues experienced by a smallish set of users, which in aggregate affect many people, but not all with the same issues.

For me the list is: (1) early deterioration of plastic in macbook, (2) wifi connectivity issues on leopard, (3) wifi connectivity issues on snow leopard, (4) unexplained time machine failures, (5) major performance issues on lion. And that's just for my macs. My ipad suffered from unexplained app crashes every ten minutes, which were due to memory shortage problems that i could only solve by disabling mail sync (i use purely gmail in the browser now).

On the other side, with windows and android, i've had roughly the same amount of problems. In my experience, apple's stuff breaks as often, but has a different "feel".

forgottenpaswrd 4 days ago 0 replies      
This is like saying that my car is not easy to use as a bus for carrying 50 people. (In Africa you see cars with 15 people onboard).

If you have 10.000 photos and thousands of contacts you are not a normal user anymore, you are a pro and you need pro tools. I have tens of times more big photos in my computers, and huge videos but I don't use Iphoto, this would be so non sense, Iphoto would make a local copy of everything it touches, like iTunes.

Apple is selling this thing called iPads like hotcakes because the intended audience is normal people, people that can't use a pc, like my father, who are much much more than those that can.

inthewoods 4 days ago 0 replies      
I find iOS and the iPhone/iPad/iTunes interaction particularly frustrating - a case where it really should just work.

Some of my issues:
- Restoring from a backup does not, for some reason, does not consistently restore the folder structure - thus I spend an hour or two recreating the structure. Waste of time.
- iCloud syncs a lot of things - but for some reason does not allow me to sync apps. There should be an easy way to do this such that if I buy an app on my iPhone (and it is compatible with my iPad) it should be synced.
- Moving purchased music from one phone to another. Maybe somebody can enlighten me, but moving my iTunes purchased music from one device to another, as far as can tell, is still a stupid, manual process.
- In general, iTunes should be in the cloud - when I buy a new device, I should be able to enter my account information and then have it automatically pull down all my stuff - and offer me choices for what I want to pull. To me this seems so basic.

This is stuff that is all generated by the way my wife interacts with these technologies - and she gets very frustrated by the hoops that have to be jumped through to make it all work.

Next week, I'm likely buying my wife an iPhone 4S (AT&T or Verizon - suggestions from anyone in the Boston area?) I'm not looking forward to getting her setup - I anticipate pain.

enraged_camel 3 days ago 1 reply      
I was visiting home over summer, and my 85 year-old grandmother got a chance to use my iPad. I basically handed the device to her, went to the restroom, came back, and found her editing some photos of my sister she had just taken. She described the red-eye reduction feature as "magic."

Seriously, if my 85 year-old grandma can figure this stuff out, then the author is an outlier. Apple devices are ridiculously easy to use.

edit: gotta love it when people downvote without giving a reason. Must have hit a soft spot.

pnathan 3 days ago 0 replies      
I don't have his problems. I have other problems, not as bad (I've started to wonder about that Other space on the iPhone too...). I think this could be all summed up as: Desktop OS's ain't tablet OSs.

I don't like OSX Mountain Lion. I anticipate that 10.9 will be extra smartphoney, and I won't be upgrading. I will, however, be looking at well-designed Linux laptop solutions for my XFCE/Enlightenment needs.

Tichy 4 days ago 0 replies      
"you'll need to restore your iPhone to reclaim the space occupied by Other."

I can't get the picture out of my mind, of some mysterious entity creeping up on our iPhones like cancer. Soon they will all sync up with each other and then initiate the battle for world domination.

Come to think about it, the iPhones of the world might make for a pretty good attack vector for alien aggressors. A lot of earth's elite is bound to carry one around. If you can disable all of them at once, the rest of the battle might a walk in the garden.

unabridged 4 days ago 0 replies      
iOS has never been about easy to use, its been about hard to fuck up. I find it hard to believe that so many people who use windows but own an iphone/ipad are afraid of a filesystem. You show them a commercial where you plug an android phone/tablet in, then you are instantly dragging and dropping files just like a thumb drive without having to sync, then they are opening up an excel file using preinstalled open office (or for commericals airing on the internet maybe a video file being played using preinstalled vlc). Say the words "out of the box", no extra cost for these apps. If HTC and/or Samsung threw a hanful of programmers at porting open source apps to android and started this kind of advertising, iOS would be on the way out quickly.
dr_ 4 days ago 0 replies      
Just as a note to anyone with the same problem, I had difficulty renting a movie recently on my iPad because I was told I have no storage space available. This was unusual because I have hardly any photos on my iPad and almost no music. I later realized that movies that you rent, even after they expire, remain on your device and take up storage until you actually delete them.
sgdesign 4 days ago 0 replies      
To paraphrase Winston Churchill, Apple's products are the hardest to use, except for all the other product out there...
headShrinker 4 days ago 0 replies      
Intuitive design is a myth. This idea that a company could build something that is just simply better for everyone is a fallacy.

Apple products, considering their competition, are really good and believe it or not, cost effective.

However, some people do things that certain systems don't like. This isn't the users fault. They were not considered in the design of the software. Over 1,000 contacts; sorry. iWork and want to export your workflow to other suite; sorry. Music collection and you want to tag and organize in a way that iTunes wasn't designed to do; sorry.

I have been professionally troubleshooting Mac and PC computers for 13 years, and I have seen it all. One of my clients had 10,000 messages... in his inbox. Mac Mail would launch and freeze. Beach ball.

This idea that you don't have to do maintenance to a computer was started by Apple, and it's a fallacy too.

Apple has done a better job of assembling a set of well rounded tools for the average man, go out side of average and you are on your own. But then you are were you would be on any other platform. iPhoto not doing it anymore? Picasa. iTunes not doing it? Winamp or Songbird for mac. Mac Mail not doing it? thunderbird. Safari? Chrome.

I used to have an iPod 60GB and it would about every 4 month get harddrive corruption, then I would have wipe and transfer 60GB via USB. It would take hours. I haven't corrupted my iPhone yet.

I don't rock the boat, I try to stay average. I don't change default settings unless its to turn off face recognition or auto-copy. That being said, I have GBs of email going back 6 years (another 6y archived), a 12,000 song 70GB library, and 60GB Aperture library. While I have had my problems, I have never had catastrophic loss, and it works.

I am at a loss with all of this ragging. I know there are problem with programs, but that is the essence of programs, no one size fits all.

Hari_Seldon 4 days ago 0 replies      
Apple products are as good and better than they have always been, the problem is that users now have this entitled attitude and nothing is good enough for them. Witness the tech press' reaction to the iPhone 5, they're bored because it doesn't look new, irrespective of it's actual merits. it's very tedious and a shame to see this attitude here on HN, where the discussion threads were usually more considered and the level of debate generally higher.
willholloway 4 days ago 1 reply      
What Apple really gets right is it's hardware. The Macbook Air is in my opinion the best laptop on the market. The touch pad really shines. Apple gets the hardware support perfect.

That's where its greatness ends for me. OS X is just not as good for developers as Debian sid.

Debian wins for me hands down for three simple reasons:

1. Package management. With apt I can install any open source tool with one command, and update my entire system with another. Homebrew is a good effort, but just isn't nearly as good.

2. With Debian I can install any window manager I like without hack jobs. I like ratpoison because its simple and gets out of my way.

3. As a python hacker I like to develop on a system that is nearly identical to the server I deploy my code on. That is why I work in Debian.

I need OS X to run the hardware, but that is all. I do everything besides watch Netflix inside a virtualbox Debian sid install.

costacoast 4 days ago 0 replies      
I think he may be a bit more alarmist than I can agree with but I will definitely attest to the fact that Apple is having some serious UX growing pains as they try to accomodate the largest and most international user base they have had to date.

Possibly the best one-liner comes from one of the comments: "I have been developing my own theory that Apple products are the technological equivalent to junk food, psychologically fattening an already physically obese populace. Like the Sun newspaper their products are encouraging us to be lazy and dumb down our intellectual capacities."

dev1n 4 days ago 0 replies      
"This stuff is too complicated. There has to be a better way."

and to the comment on the blog saying how Apple is our "junk food."

Raspberry Pi might be the solution. It's literally a blank slate. Users, with some tech knowledge, have the ability to update and move stuff around without being dragged into an iCloud sort of mess. It's as clear as it gets IMO.

tacogordito 4 days ago 0 replies      
I was really disappointed when Apple started making their IPod's into touch screens. When I'm going for a run or walking around with my ipod in my pocket, theres nothing i despise more than pulling out my ipod, having to tap the specific spots of the screen 3 times just so i can skip to the next song. The click wheel used to be very easy to use. I could skip songs without taking it out of my pocket.
npguy 4 days ago 0 replies      
I think the issue is that user expectations have gone way up, and that results in disappointments that get amplified when coupled with frustrations.
randv 4 days ago 0 replies      
finding the search on contacts has never been easy on iphone!
Spanner: Google's Globally-Distributed Database research.google.com
240 points by SriniK  2 days ago   54 comments top 11
ChuckMcM 2 days ago 2 replies      
This was an interesting project at Google, it started when I was there, and it was breaking things when I left. It is too bad that Ken Thompson didn't get at least acknowledged for his role in making it happen.

I don't think it will be as influential as the original GFS was but its an important piece of work that folks should study.

linuxhansl 2 days ago 1 reply      
I work on HBase (the Apache version of BigTable). It makes me sad to see how far ahead Google is compared to the rest of the world. :)

The notion of uncertain time is ingenious.

lsb 2 days ago 3 replies      
Interestingly, the data storage seems similar to Rich Hickey's Datomic: "data is versioned, and each version is automatically timestamped with its commit time; old versions of data are subject to configurable garbage-collection policies; and applications can read data at old timestamps."
Nitramp 2 days ago 0 replies      
I think the major contribution in this paper is how to do consistent snapshot reads in a distributed system without a common reference clock, i.e. the use of True Time.

Many databases use some sort of MVCC, but they operate on a single node or in a closely connected cluster. This paper shows how to achieve the same properties in a system spanning continents.

linuxhansl 2 days ago 0 replies      
Another observation that struck me when I read this (and after reading the percolator and megastore papers) is how there is a convergence of the "traditional" relational DB world and the "new NoSQL" world.
Relational Databases are becoming more scalable, partially with new technology, partially by shedding features in some scenarios.
And the NoSQL stores, are becoming less so (it was really about "NoSQL" anyway, but that's a different story). All of these stores have layers or features that bring closer to the traditional SQL/relational model.

Spanner appears to strike a nice middle ground.

sudhirj 1 day ago 0 replies      
This looks like the High-Replicaiton datastore which is now the default in App Engine - Paxos replication, a choice between strong and eventual consistency and tablet sharding. Interesting that they've already built it and it's available for everyone to use.
moondowner 2 days ago 0 replies      
Another research publcation from Google that's more-than-worth reading.

These just pile up, I must find time and get my hands on them...

hellooo 2 days ago 1 reply      
Is spanner written in cc or java?
tete 2 days ago 0 replies      
Fun fact: Spanner means voyeur in German slang.

Anyway, looks like a very exciting project. One could come up with so many applications.

kleiba 2 days ago 1 reply      
Interestingly, "Spanner" is German for "voyeur". Coming from Google it's almost kind of ironic.
pwpwp 2 days ago 1 reply      
Transactions don't scale. They really need to use NoSQL.
Facebook explains what's wrong with the mobile web w3.org
237 points by patrickaljord  2 days ago   109 comments top 27
TazeTSchnitzel 2 days ago  replies      
Personally, I think the problem is people trying to be too clever, and loading too much content at once.

Loading tons of JavaScript means that Facebook loads very slowly on my phone on mobile internet. And what is it needed for? The most the JS needs to do is make a pop-down notifications panel, and do one or two AJAX requests to post comments and "like" items. Looking at the Network panel in Chrome, I see Facebook has pulled down 700KB of JavaScript. Why? How could they possibly need that much code?

Facebook also seems to think that sending full-size images down to my phone, instead of compressed previews, isn't a problem. No wonder the GPU memory is exhausted!

weej 2 days ago 1 reply      
Developers need to treat mobile computing more like 1980/90s micro computing.

You have limited resources with numerous environmental factors that need to be accounted for and respected (ex: bandwidth, latency, CPU, GPU, memory, UI/UX, async task handling, and most importantly BATTERY LIFE).

It is a different mindset when developing for mobile that needs to account for finite resources. If you're greedy, careless, or just don't really think through and test your app appropriately it makes for a horrible user experience.

Regarding the HTML5 vs. Native Apps:

HTML5/CSS/JS and frameworks that allow you to write once and convert to native apps (ex: Phone Gap) have their place. The core take away is that without developing native apps directly you'll never get to maximize the phone's hardware and performance will suffer. UIs will be sluggish and network IO suffers from high latency (wrappers).

HTML5/CSS/Javascript frameworks like Phone Gap cannot take full advantage of the hardware and SDK features like alarms, custom hardware access/config/acceleration, background services, and (taking advantage of) the standard UI controls (transitions, buttons, look ‘n feel).

If you're focusing on content display/information consumption and your app doesn't need to rely on high performance from hardware and the UI then HTML5 is most likely a good fit. If performance, high availability/background service, native look and feel and the such is critical to an app then native is a better route.

My 2 cents.

jlarocco 2 days ago 4 replies      
Almost all of their problems are due to them expecting mobile phones to behave exactly like desktop computers. And then they're unwilling to change anything on their side when they run into problems.

For example: "It's typically a problem on the newsfeed and on Timeline which use infinite scrolling (content is prefetched as the user scrolls down the app and appended) and end up containing large amounts of content (both text AND images). "

Well then don't use infinite scrolling when sending data to a phone and have a "next page" link. Problem solved. It's an easy solution with negligible end user consequences.

And there's a lot of whining about running out of memory because of "too much content". Then send less content. It's impossible for a person to see very much content at once on a phone, anyway, because the screen is less than 3x5 inches. You don't need to send a person's entire "timeline" just so they can see 3 entries at once.

Zenst 2 days ago 0 replies      
Hmmm what is that old saying, a good workman does not blame his tools! Mobiles today have more processing power than the old C64, Amiga and atari ST, STe, TT. probably combined.

If they are having issues with memory and that appears to be the crux then they need to redesign how there doing things. Just becasue you can chuck a blob of content at a desktop webbrowser and chew memory like it is going out of fasion does not mean you can be as lazy with your design when it comes to thinner clients like mobiles.

The best optimisations come from a good design and whilst there desktop model of doing things may work for them it does not mean the same approach can be taken with thinner clients that will notice you chucking a ton of content initialy.

The other thing is that all that Facebook are trying to do has been done in one form or another by others and to read about facebook in effect complaining how a entire platform is broken is not only wrong but concerning as there are people who will take what facebook say as gospil and it is far from it that this could end up being distorted if the tabloid news level types get hold of it.

No platform is perfect and there will always be area's you want to change but in this case it is facebook's approach that needs to change. I also have to question if it is facebook beyond some forum email post as it is not on there main site (not that I'd ever know).

Out of interest G+ works fine on my low memory android device, though the previous version was better IMHO for my device as the new version does cater for larger screens nd tablet factors more so I feel, but it still works fine.

I'll also confess to not ever touching a facebook application so when I read this I do wonder how bad they are and wonder how they compare in usage performance wise and would love to see a article comparing network usage and phone resource usage for typical actions like uploading a picture for a post or replying to a post with a picture in it, those type of things.

robomartin 2 days ago 1 reply      
I think a point is being lost here. It's easy to try to slice and dice FB and their app. The post is about what is needed to make mobile web apps better FOR EVERYONE. Don't discuss what FB can our could have done differently. It is obvious that they've looked at this long and hard. Their post is very valuable in bringing to the surface issues that affect the entire ecosystem, not just one app.
augustl 2 days ago 2 replies      
Another thing I really miss for single page web apps (mobile or not) is iOS style memory warings. It's an event that is emitted when you reach memory limits, and in it you should clear out everything that the user doesn't currently see (read: clear out as much as possible). This allows you to keep DOM subtrees in memory when you navigate the app, in order to make navigating back to previously seen sections of your app very snappy. At the same time you don't have to worry about infinite memory growth as the cached in memory DOM subtress will get nuked when the memory warning emits.
k2xl 2 days ago 1 reply      
"- Simple way to implement pull to refresh (via dedicated off-bound-scroll
events?). "

At first when I read this suggestion I thought it didn't seem like something to include. This would force every smart phone to support this type of scrolling wouldn't it?

I think there's an issue with many developers just doing too much on mobile web without realizing the limitations of the device they're using.

People today are used to developing on systems where they don't have to think about memory, hard drive space, or performance. But when you get to mobile web you have to think about these things AND more (screen resolutions, landscape vs portrait etc).

The problem with many suggestions for w3c is that they are often tied to what specific companies (ahem Apple) are integrating (or not).

In terms of the Facebook app, I (along with many others) have just been flabbergasted that they've not been able to make their app load fast. Tobie's post gives some great insight, but I don't think it's impossible to create a smooth, well run webview - especially when you have the resources Facebook has.

coliveira 2 days ago 1 reply      
This shows clearly that Facebook doesn't get mobile development. They are trying to shift the blame for poor application performance from themselves to the makers of mobile browsers. The point is that users don't care where the blame is, they just see poor performance. The sensible thing for them to do is to recognize that user experience is the most important thing and use the best vehicle to solve that problem, be it a very thin html5 client or a fully native app.
erichocean 2 days ago 1 reply      
Blossom[1] works around the scrolling issues by drawing everything in the UI to canvas elements, including "infinite" lists of the kind Facebook and Twitter favor.

Because the canvas element in lists are a fixed size, we never, ever hit against resource limits and it always stays snappy.

That's allowed us to use native scrolling (plus an async JavaScript helper) that works correctly on all supported mobile platforms (Safari, Chrome, Windows 8).

[1] https://github.com/erichocean/blossom

tmanderson 2 days ago 1 reply      
Is it just me, or did a lot of this come off as "why can't everything be done for me?"

The fact is, performance can never be ubiquitous, because there's always going to be many manufacturers with many different devices -- that while all implementing the same standards, handle things differently.

This problem is alleviated by the age-old web term "graceful degradation," and when done right, can be exactly that -- graceful. That's too hard though, right?

Developing front-end for the web is hard, and developing for the front-end of the web WELL is much harder. I always hated Facebook's app because it wreaked of shoddiness and flaunted it's lack of thoughtful development.

I can't help but feel that they went and hired a bunch of brilliant programmers that had zero experience developing for the web. Developing a front-end web app can be (and often is) a horrifying thing to any developer, because the environment is so volatile (and really, unlike any other development environment).

I'm extremely disappointed in Facebook because had they done things right, it could have been an awesome thing. Instead, they released a shitty hybrid app that was doing everything wrong, and then gave up and wrote this whiny and semi-ridiculous list of what they want because "things are just too darn hard."

rodh257 2 days ago 0 replies      
Lots of people are quick to jump on Facebook and claim that their well paid developers are just poor at their job. What I'd like to see is a list of html5 mobile apps that are as interactive as Facebook is, so that we can see the best practices in action. I'm struggling to come up with many that aren't simple blog/news sites. Is anyone able to point me towards some good ones?
photon137 2 days ago 0 replies      
It's not as if the hardware isn't capable of doing awesome stuff (case in point: the idTech 5 demo from John Carmack [1]) - the software using it also has to be well engineered.

Good engineering for managing hardware resources at the browser level is still lacking (at this moment, Chrome's various processes are eating up ~700MB of memory on my system - disgraceful!) - and that's what bites Facebook the most.

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

clebio 2 days ago 0 replies      
The part about needing better development support, debugging tools and such, for mobile browsers seems valid. I'm not familiar enough with that to really say, but I've felt similar things from my limited use of Chrome developer tools (in comparison to native linux options, or OS X's Instruments, etc.).

Having worked in telecom engineering for the past several years, I do think the network constraints are real. There are already several comments on this thread regarding limited resources, though more around the mobile device capabilities compared to desktops.

From a network perspective, for the mobile carriers, though, high-bandwidth streaming content and chatty apps are a big deal. The 'data explosion' (that we're just approaching the initial inflection point now) is essentially why most carriers are metered plans. Users want lots of content and the options for high-def streaming are only going to grow. Chatty, social, location-based services (aka SoLoMo) cause a lot of connections (since cellular radios kill battery, connections are torn down quickly).

The resource constraints now aren't the same as they were in the days of campus mainframes, or even the now waning days of fat-client PC desktops and laptops. But low-powered mobiles, running thin client apps over mobile networks, clearly have several constrained dimensions. Some of those won't change quickly. And there's some data to show that the slice of users whose _only_ internet access is over their mobile device is growing.

sabret00the 2 days ago 2 replies      
And there we have it. What I find super interesting is despite this setback for Facebook and the failure of ChromeOS, Mozilla will still push on with Firefox OS (B2G) when the resources are much needed elsewhere. Oh well...
realrocker 2 days ago 1 reply      
The chimera of using simple JS/CSS/HTML to develop mobile apps has failed. HTML5 and WebOS put up a good fight but they are obviously not enough. Maybe the direction to go from here would be to make native mobile app development simpler for the Web guys and not the other way around. Maybe something like the awesome Kivy Project which helps you develop solid opengl apps in python for multiple platforms: http://kivy.org/#home. I would love to see Facebook put their resources into something similar to this.
beefman 2 days ago 1 reply      
Can anyone explain why their mobile site works so much better than their HTML5 app did?
dfox 2 days ago 1 reply      
I somehow fail to understand what does device-UI specific concerns like "pull to refresh" and "momentum scrolling" (both of which are meaningful only for touch-centric UI) have to do with mobile Web as a platform (and specifically standardized HTML5/JS/whatever APIs).
stagas 23 hours ago 0 replies      
It isn't a matter of how much JavaScript or how many LOC you have. It's a matter of design. If they were designing something with a focus on excellent performance (which is what they really needed) instead of feature XYZ (which they thought they needed) then it would be an app with excellent performance. Don't blame the tools for bad design choices.
erichocean 2 days ago 2 replies      
### What's missing? ###

Mainly, dev tools on the device and/or easily accessible remotely.

Things we'd want to know more about as we develop:

#### Down memory lane ####

- Heap size,
- Object count,
- GC cycles,
- GPU buffer size,
- resource limits.

Arene't people just loading their mobile site in Chrome desktop, and profiling there? I guess I don't understand this one (although WebKit does have a remote debugging protocol now). If the site has bad numbers on the desktop, they're going to still be bad in other browsers (it's the same page/code after all).

Anyway, although I'm in hearty agreement that I'd like all of the things mentioned to improve, I'm not in agreement that it would have prevented me from making Facebook's HTML5 mobile site nice and zippy. :)

lttlrck 2 days ago 1 reply      
The admission that they couldn't figure out why their app was crashing is a pretty big indictment for a company in this space.... if they lacks tools, why didn't they write them and give them back to the community?

Or is it the case that they didn't even know what tools they lacked? The post certainly smells that way.

majani 2 days ago 0 replies      
I believe the main reason Facebook has been negligent on mobile is because of Opera Mini. It has handed Facebook a huge lifeline in mobile. Its been the only bearable way to use the mobile site since Facebook's inception, and chances are its the most common way of access.
devs1010 2 days ago 0 replies      
They just need to stop trying to push the limits of mobile devices and aim for a middle ground, not everyone has a top of the line smart phone and these sorts of issues are to be expected. I see plenty of opportunity in creating lightweight browser based web apps using an all javascript solution (node js backend, backbone or something front-end) and keeping things lighweight
mrwilliamchang 2 days ago 1 reply      
Given this list of concerns, I believe that Facebook made the right decision in switching from HTML5 to native. The downside for them is now they have to write native code to support both Android and iOS.
vital_sol 2 days ago 1 reply      
Infinite scrolling is what I hate most about Facebook UI.
lopatin 2 days ago 0 replies      
HN question: Why is post on the front page for days now?
obilgic 2 days ago 0 replies      
nohorse 2 days ago 0 replies      
Native apps allow for localizing of resources and using the full screen. Alternatives like PhoneGap allow for native HTML5/JS development. Titanium re-compiles HTML/JS to native, but you still need all the proper SDKs. Until the mobile vendors embrace web-as-native we'll never get native response out of web tools. WebOS did, but died, MS supports native HTML/JS for Windows 8 but not for phone. FireFox OS is hopeful but fringe for now.
WhatsApp is broken, really broken fileperms.org
236 points by espinchi  3 days ago   129 comments top 21
zachalexander 3 days ago 7 replies      
OT, but I'm intrigued by their business model.

I don't know the history, but currently, the Android app is free, and it says the use of the service is free for the first year, then will be $0.99 per year after that.

Meanwhile, the iOS app is $0.99 straight up.


(a) "Free for a year, $1/year after that" seems like an awful long time to wait for a payday, but if it works, and you get lots of free users, I bet you get more conversions in the long run than with a normal free/pro app business model.

(b) "Free in one store, paid in the other" is an interesting idea. If you can build up a large userbase of free Android users, and it's an inherently social app, your free Android users will tell their friends on iOS devices to get the app so they can communicate. They probably don't even know it's not free. It's like unintentional affiliate marketing.

(c) I realize (b) might not be an intentional choice by the developers, but a necessity due to the App Store perhaps not supporting pricing schemes like the one in (a).

lnanek2 3 days ago 0 replies      
This app has ridiculously penetration, however. I've met people who use this and no other app not out of the box before. In foreign countries it is easier to get someone to WhatsApp me than it is to get them to text my strange US number.

Sure they solved a pain that's very common, replacing expensive text messaging, but part of their success is how easy it is for users without annoying username/password hoops to step through. They should fix the security, although I don't do anything important over it anyway, but I can't say they went wrong by avoiding a classic username/password setup that might have been more secure from the start.

gsibble 3 days ago 6 replies      
I've been seriously considering creating a highly secure text messaging replacement. I'm aware of TextSecure but find it lacking (and only available on Android). I'd love to hear if you guys think it would be a worthwhile project.
koski 3 days ago 1 reply      
I'm a "open source guy". Very picky to pay of Anything.

I use the mentioned app with my Lady every day because it works so well on her iPhone too. The easy of sending photoes is just pure awesome. Never failed (during one year). It works so well I don't hesitate a second to pay a dollar of it when it asks for it.

Ps. Drunk in a bar and a regular guy next me agrees who did not agree on punch of other stuff.

ZoFreX 3 days ago 4 replies      
Yes, it's insecure by the standards we would normally apply to software. But let's be honest - this is competing against SMS, not XMPP, Skype, et al. How hard do you think it is for someone to sniff an SMS?
ollysb 3 days ago 4 replies      
I'd have thought a large majority of what's app users use it for chatting. I can't imagine they're particularly fussed about people sniffing their plans for meeting up that night. There are varying requirements for security...
fruscando 3 days ago 0 replies      
We should all start using our regular XMPP accounts now! Most of us already have one. If you have a Gmail, Fastmail, Lavabit, GMX, Ovi.com, Yandex email address, you are ready to go. All that's left to do: Install Xabber or IM+ on your smartphone! Btw, both support OTR end2end encryption!

If you also want to instant message on your laptop: The latest Thunderbird comes with XMPP support! Or give Jitsi, which supports end2end encryption, or one of the many alternatives a try! Enjoy!

GauntletWizard 3 days ago 3 replies      
How do apps like WhatsApp get popular? They offer inferior service in every way to builtins, and require that both parties have installed something. SMS is in every way better unless you don't have a texting plan, in that case, GTalk and iMessage are in every way better (And GTalk is even cross platform with several fairly simple XMPP clients on IOS). Who uses this shit?

I encountered the same thing recently with Raidcall. It's a shitty voice service that's in every way inferior to Skype, but trying to position itself as a competitor to Teamspeak (Which itself has been eclipsed on features and price by Mumble). Yet, somehow people will argue with you about it and evangelize it, without any sort of benefit comparison.

aw3c2 3 days ago 2 replies      
Sadly, normal free Jabber/XMPP does not seem to be a viable alternative. On Android, sure (though the clients are not too great at reconnecting/noticing-connection-loss/reporting-message-reception) but on iOS apparently you cannot run such things in the background. At least the situation was dire when I tried to convince some iOS friends to use XMPP instead of SMS last winter. http://monal.im/ looked most promising but turned out to crash or only work when active, I don't fully remember. Maybe it got better.
antirez 3 days ago 1 reply      
It's worse than that, in iOS devices the mac address is easy to predict. For instance my phone and my wife phone have the first four bytes the same.



So you can easily crack this by brute force without sniffing the device address at all.

morsch 3 days ago 1 reply      
No mention of this on their blog (in fact, no new posts since July). And no quick patch that pops up a box asking the user to assign a password. Since it's tied to a phone number/SIM card anyway, you could easily offer a password retrieval option via SMS.

I wonder what happens if a phone number (the login) is tied to a different IMEI (the password). This can happen when you transfer a phone number from one provider to another.

FuzzyDunlop 3 days ago 0 replies      
> "On iOS devices the password is generated from the devices WLAN MAC address"

On what planet is using this data a valid form of security? Anyone can get hold of a MAC address.

bvdbijl 3 days ago 1 reply      
I was working on a better whatsapp api than the mess that is whatsapi, do not have enough time though. It's based in wazapp which has an actual implementation of the binary packed xmpp transfer mechanism they use. Might upload it if someone's interested, it seems broken right now though
grk 3 days ago 12 replies      
So, what's the best alternative?
alpeb 3 days ago 0 replies      
Like Oscar Wilde once said, everything popular is wrong. Quality is well down in the list of things that matter to have a successful product.
denzil_correa 3 days ago 0 replies      
Just received an update on the iOS app stating "Full encryption for messages over mobile and WiFI".
rjzzleep 3 days ago 1 reply      
seriously though, why does it have to send the whole contact list EVERY time?

you close whatsapp remove the contact list permission, open it again, surprise, it won't work. -_-

pheraph 3 days ago 0 replies      
Does anybody know if the latest update changed anything on the security side?
norrs 3 days ago 1 reply      
Anyone know if deleting message history is enough to kill the history on their servers?
irfan 3 days ago 0 replies      
New version of whatsapp for iOS is there.
andrewljohnson 3 days ago 8 replies      
Did the author email the WhatsApp team to give them any chance to fix this before they splashed it across the internet for anyone to abuse? The article makes no mention of it, so I assume not.

In my opinion, the obscurity peeled off by this expose did more to endanger WhatsApp users than the bad programming. So, I can only conclude this post's main goal is page views. OP could easily warn them, and at least wait until they didn't do anything before publishing.

A Letter from a Scared Actress neilgaiman.com
229 points by cruiseback  6 hours ago   68 comments top 11
DanielBMarkham 4 hours ago 1 reply      
This is great story about current political issues.

I thought we didn't do great stories about current political issues on HN? I thought that by dragging in things like this, we only endlessly bicker about things NOT hacker-related.

Things that interest hackers? Sure. Things positioned to make hackers squabble? Not so much.

creamyhorror 5 hours ago 5 replies      
What I've been wishing could be done is to translate and spread messages on both sides of the divide. Everyone outside the Muslim world knows the film was a fraud and the actors were misled, and virtually everyone thinks it's stupid and unworthy of mention. But I see no mention in global media that the societies wracked by protests know this. Surely there must be some inklings of this trickling out in their media? Or is it so controlled that they only hear that America is screening the film everywhere?

Surely some people there would recognise that you can't blame an entire nation for the acts of one or two individuals who hold no particular power in the country. Or do the media and authorities in these countries portray the movie as being instigated or supported by the American government and wider society? Of course, if the film was merely a convenient scapegoat in order to get some good anti-Western riots going, then it's a much deeper problem and there's little to say.

What's terrible is that there's no communication between the ground on both sides. No one likes the film, but the common citizen doesn't seem to know that. What happened to the social media networks that we saw playing a big role in the Arab Spring?

This case is not much different from the Danish cartoons, but it just feels to me that there should have been some improvements in social media relations since that time. And what are they saying over there that we aren't hearing from our media and social networks? I'd love to see more things like this:


davidw 5 hours ago 5 replies      
Seems like it's all about the Islam movie, which is not really what I'd call 'Hacker News'.
jtheory 2 hours ago 1 reply      
One interesting twist to this...

If you were going to make a movie, with professional actors playing the roles, and your final goal was to create something that would be considered slanderous of Islam, there's are arguments in favor of keeping the actors in the dark about your actual intent.

Assuming that this fact would be easily discovered (and the actors could plausibly deny all accountability publicly), that does protect them quite a bit from most backlash; so you'd mostly be risking your own neck, not theirs.

In theory, anyway... in reality, the people who suffer the backlash will be, for example, IT workers at a US embassy with no connection to the film whatsoever.

And the actors, yes, will be protected somewhat, but not completely; and they'd probably prefer to be able to make the decision on whether they'd like that (reduced) backlash or not.

I suspect the theoretical protection is what the film creator had in mind, though.

Tichy 5 hours ago 0 replies      
Oh dear :-( Maybe she should get in touch with Salman Rushdie? I don't think talking or any rational arguments will do any good. Apparently there is already one Imam who proclaimed a death warrant for everybody involved in the film (Ahmed Fuad Aschusch - read that in a German magazine).
scotty79 3 hours ago 1 reply      
Something remotely related I found out recently:


fmax30 4 hours ago 1 reply      
The thing is that literate and educated muslims know that the film was made with evil intent ,it was dubbed over and that the characters did not know anything about what this project was actually about.
But the problem is that these literate and educated muslims don't go out and protest like madmen and savages.They will try to clear the misconception and show that Islam is the religion of peace.

The majority of the people who will be protesting violently out there are the ones who don't look for the facts. These are mostly brainwashed people who don't act on logic, they would not care if the actors knew anything about the movie or not. They would most probably just protest until the guy who made the movie is caught. But some of the people would actually want the whole cast taken down. And anyone who would try to reason with them (that they din't know anything about the movie) would get publicly humiliated and will be called a Zionist-agent.

lignuist 5 hours ago 1 reply      
Someone should translate the letter to arabic (I wish I could), to spread it in the islamic world.
swombat 5 hours ago 5 replies      
When do we take the people who do this and put them in jail? When their actions have led to souring of international relations? They have. When their actions lead to material damage? They have. When their actions lead to the deaths of human beings? They have.

Some guy thought it was within his right to manipulate this movie into existence and then do his best to make sure it was noticed and caused real damage. That this guy runs free while someone like Bradley Manning sits in isolation jail without a trial is outrageous.

chemcoder 1 hour ago 0 replies      
I think the problem has its roots in a totally different place. The roots of the problem which are distribution of the information and the interpretation of the same.

Considering the outburst of the voilence actually is because of interpretation of the some people. As the education system is bad maybe worse since the education does not have progressive values(i have not seen their education system and this is my guess). May be they are not at all educated or literate at all. Then the interpretation is then made for the general people by some dude who wants voilence . Also the media through which the information is distributed may be another set of idiots who distort or interpret things falsely .

A very example of a bad media can be seen in India where the news channel itself promotes superstition . I think America cannot win the war against terrorism unless it fights the roots of it -- education and media.

I think unless they stop sending soldiers and start sending teachers and administrators , there is no hope of freedom from religious fanatism .

pknerd 3 hours ago 0 replies      
Thanks Ana for showing up and many Thanks to Neil to publish it online.

P.S: For those who says it's not pertaining to HN, well the movie maker did do a _hack_ by altering the script later. So, it fits well for this site.

Warp Drive May Be More Feasible Than Thought, Scientists Say yahoo.com
227 points by mtgx  19 hours ago   128 comments top 15
powertower 2 minutes ago 0 replies      
I don't understand how the warp-bubble would travel through space-time faster than C, only that the space-craft traveling through that warp-bubble would. But the space-craft is stationary / in the center of it?
cryptoz 19 hours ago 3 replies      
> The only problem is, previous studies estimated the warp drive would require a minimum amount of energy about equal to the mass-energy of the planet Jupiter.

Uh, no. The "only problem" is that the concept relies on exotic matter, a hypothetical matter with 0 evidence for its existence (so far). See http://en.wikipedia.org/wiki/Exotic_matter

nessus42 17 hours ago  replies      
You can't have faster than light travel without violations of causality. And while the equations of General Relatively allow for universes where causality is routinely violated, the probability that we are in such a universe seems vanishingly small. E.g., just because you can violate causality does not mean that you can go back in time and kill your grandfather. If you were to try, something would stop you, as a universe in which you kill your own grandfather is not consistent with General Relativity.

A universe that gives you the means to go back in time and try to kill your grandfather, but then somehow always thwarts you, would be a very strange universe indeed.

Edit: To whoever down-voted me, have you taken any classes on General Relativity? I have.

In any case this is from Wikipedia:

Causality is not required by special or general relativity[citation needed], but is nonetheless generally considered a basic property of the universe that cannot be sensibly dispensed with. Because of this, most physicists[who?] expect that quantum gravity effects will preclude this option.[citation needed] An alternative is to conjecture that, while time travel is possible, it never leads to paradoxes; this is the Novikov self-consistency principle.

The "Novikov self-consistency principle" is the the one that states that you could try to create a time paradox, but that you would never be able to succeed. I.e., the universe would be a very strange place!

olalonde 15 hours ago 0 replies      
If this is really possible, it should increase the probability of having been contacted by advanced extraterrestrial civilizations. Maybe we're really alone after all :( http://en.wikipedia.org/wiki/Fermi_paradox
outworlder 15 hours ago 0 replies      
> An Alcubierre warp drive would involve a football-shape spacecraft attached to a large ring encircling it.

Obligatory Star Trek reference.

This seems close enough: http://www.ex-astris-scientia.org/schematics/surak-timur-niv...

CWIZO 18 hours ago  replies      
As much as it pains me to say this, but I think we have to invent some more advanced weapons before we start poking our heads out of our galaxy. Don't get me wrong, this is fantastic and I'm all tingly from excitement (this is the first time I've read about warp drives in the context of real science) ... but like I said, taking a stroll trough the galaxy with our bombs and finding a hostile alien world. Well we'd be screwed.

Just food for though here; this is from the Halo universe, where the timeline goes something like this: humans invent "warp drives", they colonize other worlds, soon this colonies start to rebel which leads to a massive space civil war. Later the aliens arrive and set to destroy all of humanity. Now, if it waren't for the civil war, humans would have no experience in space combat, and they wouldn't have developed more advance weapons which would later allowed them to defeat the alien threat.

gotrythis 12 hours ago 0 replies      
I skimmed through the responses, which seemed to be all about the execution, with little or no discussion or debate questioning if this is a good thing or not.

Even more than the idea excites me, I hope this fails miserably. We're at the Avatar stage of our evolution, not Star Trek.

I think this says it best: (no affiliation)

jayfuerstenberg 12 hours ago 0 replies      
At this point I'd settle for impulse and artificial gravity. That should be most of what is needed to get people to Mars and the moon.
johnnymonster 18 hours ago 2 replies      
How about we first build a space ship that travels anywhere near the speed of light?
dholowiski 14 hours ago 0 replies      
Exotic matter = Magic?
Rickasaurus 18 hours ago 0 replies      
Why, I always get my science from Yahoo news.
jstalin 19 hours ago 0 replies      
acqq 18 hours ago 0 replies      
heyrhett 19 hours ago 3 replies      
Warp speed is only 1/10th the speed of light.

As far as some news about faster than light travel, refer to:

The Pirate Bay - 9 years and still bloody runnin thepiratebay.se
226 points by m_for_monkey  2 days ago   136 comments top 9
Garbage 2 days ago 1 reply      
For the people, who can't access the direct site, here is the text of the blog:


sp332 2 days ago 2 replies      
I need a recording of this, I can't read it with the proper cadence.
klrr 2 days ago  replies      
I don't support illegal activity, but I believe this is a quest of freedom, not for getting stuff free as in free beer.
gl0wa 2 days ago 7 replies      
At least in some countries... In the UK we have: http://cl.ly/image/3m2C40432q0u
nacker 2 days ago 0 replies      
Thank God for the renegades, and the lives they lead
Far ahead of their time

Without the renegades, Lord knows where we'd be
When it comes to heroes, Renegades are mine

They railed against the crown, Another rag tag band
Declaring Independence

They laid their bodies down, won a bloody war,
And liberty for their descendents

Thanks to the renegades, we're free today

Thanks to the renegades, we're free today

Thank god for the renegades, and the lives they lead
Far ahead of their time

Without the renegades, Lord knows where we'd be

When it comes to heroes, Renegades are mine

Where are the renegades in the world today?

Who are the renegades in the world today?


And I am strangely impelled to add this link:


The Empire Never Ended!

XiaoPing 2 days ago 2 replies      
Yes, I cannot believe that those guys are still running. Amazing.
lucb1e 2 days ago 0 replies      
HTTP proxy for people who got TPB blocked: http://thepiratebay.se.ipv4.sixxs.org/blog/222
necenzurat 2 days ago 3 replies      
i poste the same fucking shit 8 hours ago and NO VOTES, https://news.ycombinator.com/item?id=4525973
52 Hertz: The Loneliest Whale in the World discovery.com
225 points by antimora  1 day ago   54 comments top 18
jws 1 day ago 1 reply      
There is a paper on 52 Hertz from 2004 which is locked securely in Elsevier's fortress, safe from inquisitive minds.

Fortunately the US Defense Technology Information Center has liberated a copy: http://www.dtic.mil/dtic/tr/fulltext/u2/a429410.pdf

I wish NOAA had those recordings at real speed instead of sped up 10 times. 52Hz is well within human hearing, it's a G#, 4 frets up from the bottom of a typical bass guitar. Typically the big whales are around the C that would be past the left end of the piano and beyond human hearing.

From the paper, there is an interesting statement about the capability of the Navy hydrophone systems:

The lack of calls before and after tracking periods appeared to be because the whale was not producing calls, and not due to the lack of the ability of the monitoring equipment to detect the sounds. As the tracks demonstrated, the monitoring system was not limited geographically, and appeared to detect these calls, usually on multiple arrays, whenever calls were produced in these deep-water regions.

paraschopra 1 day ago 5 replies      
It's fascinating! Though it's interesting to debate if we should apply humanly qualities such as loneliness to whales (or even other creatures). Does this whale really feel lonely (like we do)? Or is it just doing what its genetic program tells it to do? I don't recall where exactly I read, but I had read that the contribution of language is significant as far as human consciousness and feelings are concerned. It mentioned that animals have signals as a form of communication (show a ball, and dog would come over) but humans have signs. The whole conscious world is composed of signs for us and that is what makes us unique. It had further mentioned that even in aboriginal people who don't know much about modern cosmology, they still have a theory of some sort to signify the origin of world. Animals simply lack that kind of framework and therefore behave according to their genetic program or trainings.

Yes, the field was called semiotics and I recall reading about how a wandering bee doesn't give a damn to humans dancing and celebrating nearby.

aarghh 1 day ago 1 reply      
Brought Ray Bradbury's "The Foghorn" to mind - https://en.wikipedia.org/wiki/The_Fog_Horn
nhebb 1 day ago 1 reply      
Another mystery appears. I wonder what happened in 1993-1994 to get his migration path off by 90 degrees.


lifeisstillgood 1 day ago 0 replies      
That's it - for me the sound of one hand clapping now will always be heard at 52 Hz.

That's made my day. :-)

Hope Mr 52 Hertz Finds Mrs 52 Hertz soon. Cheers

brazzy 1 day ago 2 replies      
This has given me a sad.

Strange though that there aren't any attempts mentioned to actually get close and have a look at such an unusual specimen.

Zenst 1 day ago 3 replies      
The link to a normal Whale sound is the same link as this chap at 52 Hertz.

I do find his path tracks interesting and they do seem to have a central point and do wonder what is of note there, food!

Supprised no DNA samples have been taken, though I suspect we can't eliminate some form of polution inducing a genetic mutation. We have humans with high-pitched voices so anything is possible.

But fair play to the chap in carrying on trying to find a mate in over 20 years, now that is tenacity.

eck 1 day ago 0 replies      
Let's be clear. This guy operates at 52Hz, but he probably has more spatial resolution than cobra dane.
sageikosa 1 day ago 0 replies      
Evolution in action? For natural selection to work some critters have to end up on the losing team.
beedogs 1 day ago 1 reply      
the last two sentences of that story made me want to strangle the author. :|
pohl 23 hours ago 0 replies      
It would be interesting to fit her with a prosthesis that dynamically adjusts the frequencey and rebroadcasts the song in the normal range.
kahawe 1 day ago 2 replies      
I can understand that his migration routes are away from most other whales but one thing that keeps coming up, especially in the linked articles:

> And here's the cry of the lonely 52-Hertz whale, which no other whale can return -- as if whale songs weren't mournful enough.

Does anyone know whether this is true? Other whales could not hear/understand him even IF they were close-by because of the higher frequency? And he could not hear other whales either?? Both of these seem very unlikely to me, especially the second one, but I am no expert. I am just assuming if his signature is that of a baleen whale just at a higher frequency, wouldn't others still recognize that IF they were close?

If anything, following the human interpretation of this as the "poor lonely-heart whale", he just has to get out of his comfort zone and explore the waters more... this too "could be viewed as inspiration to anyone with a lonely heart"!

y4m4 1 day ago 1 reply      
Loneliness probably has a new meaning! - 52hz and 2 decades on - a whale trying to communicate has been so lonely in the vastness of sea. It is truly invigorating and unimaginable .. Their 10million years of evolution far greater than the Man himself must be a remarkable insight towards our own evolution. Reading this story i kind of feel moved and touched at a much deeper psychological level than ever ...
INTPenis 21 hours ago 0 replies      
Wow that's sad, aside from casual flings I've been living alone 7 years longer than this whale has been known to.
dogan 1 day ago 0 replies      
maybe he just want to be left alone
TobbenTM 1 day ago 0 replies      
Gosh, what a hipster.
U.S. Taxpayers Are Gouged on Mass Transit Costs bloomberg.com
223 points by tokenadult  3 days ago   213 comments top 23
bane 3 days ago 3 replies      
Absolutely, absurdly true. The D.C. metro is adding a new line, almost all of it will be above ground and on existing right-of-way reserved specifically for the eventual construction of the line decades ago and operate in fairly low density part of the system. It'll be 37km long and run $6.8 billion dollars. It'll have 29 stations.

Compare to the new Seoul Bundang line which is 32.8km with 28 stations in some of the most dense urban areas on the planet. It'll run a bit under $400 million to build or about 1/17th the cost.

Once open, it'll probably cost riders under a dollar for most trips, compared to over $3 on the DC Metro.

No matter how you figure it, cost of labor, eminent domain, legal, whatever, there's simply no way to figure the D.C. costs as making sense when a world away a similar line, in another developed country with far more difficult construction issues is much cheaper in every way possible.

robomartin 2 days ago  replies      
This article is one-sided. The problem is that it is aimed at the wrong side.

Yes, government purchasing and management of projects is a disaster. I have first hand experience in this realm. As a taxpayer you almost want to cry when you see it happen. I won't get into the nitty-gritty of the details. I saw, as an example, a government agency pay DOUBLE what they would have paid for a commodity computer accessory. They had bids (mine, among others, I am sure) that cut their costs in half. Yet, they went with the bid that doubled their costs. Why? Because those doing the buying were so incompetent and insecure that they wanted one supplier to provide all the components rather than allowing the best suppliers to come in and provide them with competitive pricing. It was "cover my ass" at it's best.

Let's not even mention the ridiculous rules that make it nearly impossible for small businesses to participate and expensive for others to do so.

To make matters worst, this particular contract was awarded to a foreign supplier. The funds came from Obama's "American Reinvestment and Recovery Act". Money that was supposed to create jobs in the US went out of the country. When confronted with this reality they came back saying that the company in question had sales offices in the US and that they had formed a corporation in the US and that this qualified them as a US entity. Holy crap!

I firmly believe that we'd do far better if government wasn't involved in most of this stuff. I'm not sure how that can happen, but the idea is appealing to me.

I said that the article is one-sided because it completely ignores on of the real reasons why these construction projects are so expensive and take so long: unionized workers. To put it plainly, their purpose in life is to rape the US taxpayer for as much as they can get and, in the process, provide themselves with as much pay, benefits, vacation and short work days as possible. And we keep paying for them once they retire in the form of ridiculous lifetime pensions. The real cost of that tunnel is probably far greater once you take into account having to pay those workers' pensions for life.

Examples of ridiculous union behavior abound. If you've ever had to work with or within a unionized system you've probably experienced the state of disbelief most rational people experience when they realize what's going on.

Take, as an example, doing a trade-show in NYC. I have dozens of examples of union bullshit, but I'll just mention one. We did a show where we needed to have a light turned off above our booth. That's it. The request was that simple: Please turn off the light above our booth. Of course, a union electrician had to do this. The fee? $368. Three hundred and sixty eight dollars for the guy to go over to the breaker panel and flip a switch.

OK, here's another. You are not allowed to plug in your devices into the electrical system. You know, what you do at home and at the office all the time. Nope, a union electrician has the necessary expertise to install an extension cord and plug in your computer into the AC outlet. I forget what the fee was for that, but it was ridiculous.

Our solution? We did all of our booth setup work at night. The union workers in the night shift are lazier than shit. They don't want to work. So, they let you do almost whatever you want as long as you let them sleep on the job. Sometimes you'd have to slip someone a hundred dollar bill to be left alone. Far better than dealing with their bullshit.

I have not had to work with unionized construction crews. I can only imagine how much worst the whole thing must be.

The best thing that could happen to this country is if unions were outlawed. Of course, that will never happen. I'd sure be nice though. Imagine, people actually having to work for a living. And, produce, behave, be responsible, be capable, compete, etc. What a concept.

Dont' get me started about the planned California high-speed rail. It's a $68 billion money grab designed to feed unions and keep politicians who favor them in power. The money will never be recovered. The line makes no sense whatsoever. Sick.

michaelochurch 3 days ago  replies      
Misleading title (in the current political environment) because the gouging is done by contractors who've figured out how to exploit an antiquated (lowest-bidder wins) system. The article is not suggesting that we have "too much" mass transit, but that we pay too much for what we get, and this is undeniably true.

The gouging doesn't stop once the infrastructure is built. U.S. transit is also expensive when delivered (it costs over $100 per person round-trip to go from New York to Harrisburg, PA; for two people, it's cheaper to drive). Finally, we pay again through exorbitant real estate prices because our transport infrastructure, in this country, is so poor.

kevinconroy 3 days ago 8 replies      
Seems questionable to me. Yes the Second Ave Subway is expensive, but how many cities are building new subway lines underground through incredibly dense existing infrastructure?

Also, US taxpayers may be making up for it by paying more upfront but less per ride (unless you live in DC or San Fran):

  City      Cost per Ride
Mexico $0.15
Beijing $0.29
Seoul $0.55
Moscow $0.69
Tokyo $1.68
Barcelona $1.76
NYC $1.96
Boston $2.00
Paris $2.25
Chicago $2.25
Toronto $2.37
Berlin $2.95
DC $3.08
San Fran $3.18
Stockholm $3.96
London $4.41

Source: http://www.treehugger.com/cars/subway-fares-around-the-world...

jt2190 3 days ago 1 reply      
I'm not trying to pick a fight here, but the United States strongly rejects, on a cultural level, the notion of a professional class of government employees. From the article:

  > A huge part of the problem is that agencies can't keep 
> their private contractors in check. Starved of funds and
> expertise for in-house planning, officials contract out
> the project management and early design concepts to
> private companies that have little incentive to keep
> costs down and quality up. And even when they know
> better, agencies are often forced by legislation, courts
> and politicians to make decisions that they know aren't
> in the public interest.

All you ever hear about at election time in the U.S. is "big government waste." My colleague from Spain tells me that in Spain everyone goes to work for the government, and that entrepreneurship is lacking. Perhaps that means that in order to have cost-efficient mass-transit projects in the U.S. we need a Spanish-style government and culture.

sutro 2 days ago 0 replies      
Consider: it took about 3 years in the heart of the Great Depression to build both the Golden Gate Bridge and the Bay Bridge. Since the 1989 quake, a project has been underway to rebuild the Bay Bridge's eastern span. That project continues today, 23 years later, at a huge multiple of the inflation-adjusted cost of the original bridge.
DenisM 2 days ago 3 replies      
FWIW, I spent some time researching the cost of tunnel-digging online, and off the top of my head, the costs were $30m/mile in India, $100m/mile in US, and $1b/mile in New York city.

The reason I dug through this was to explore possibility of building an entire city where all motorized transportation is under ground, and surface area is reserved for pedestrians, wheelchairs, and bicycles. IIRC, the cost of tunneling came out comparable to the cost of housing, so it's not a completely unreasonable idea. Imagine a 10km grid of 20-40 story residential buildings spaced out with trees and parks and bike/walk paths among them for miles on end? And an underground entrance every 1000 meters. No cars on the street, no noise, no traffic lights - go/ride where you please. Now if only I had the budget to build a brand-new city I would start now. :)

rickmb 3 days ago 1 reply      
Seems to me like the author is very selectively shopping in non-US examples in order to just go on an anti public-transport rant.

In most places in Europe costs of mass transit projects are notorious for spiraling out of control, and unlike the Madrid example other Western countries tend to do exactly the opposite and usually spend a lot more money on prestigious design and architecture of public works than is common in the US.

And that's okay, because besides the notoriously crappy and corrupt management of these projects by government officials, the results are worth it.

rayiner 2 days ago 0 replies      
American construction projects suffer from tremendous over-engineering. Here in Chicago we have the El and the Metra, which were built a hundred years or so ago. The El runs through the city mostly on elevated tracks above the existing roadways. The elevated tracks are supported by simple steel frameworks above the roadway. There's not a lot of room for stations, so they are simple platforms hovering over the intersections with stairs leading up to them. The floors are wood plank and there are some metal railings. The Metra is similarly simple. Metra tracks run on embankments across the city. They're simple dirt embankments with a retaining wall. Simple metal bridges cross the roadways, without a huge amount of clearance. The stations are mostly just wood and metal platforms with wooden railings, with wooden stairs leading up from street level. This all works really well--Metra is the busiest commuter rail system outside of NYC, shuttling 300,000 people into the downtown core every day.

Now, compare this to the new Silver line in DC. It's monstrously over-engineered, even though it runs on a dedicated right of way. Instead of running the train on a simple embankment in the middle of the road or on a simple raised platform, it runs on a huge elevated concrete platform: http://transportationnation.org/wp-content/uploads/2012/09/0...

And this is in a low-density suburban area!

Compare this to the El: http://marcel-marchon.com/img--117945132--Chicago-El-train--...

Transit does not need to cost a billion dollars per mile. Just build elevated metal-framework tracks above the existing roadways. It's cheap, durable, and actually much more pleasant for riders than going to a stifling underground subway station.

scottfr 3 days ago 2 replies      
I few years back I was thinking of running for the board of AC Transit in the bay area.

I did some research: the cost per mile to move a person on AC Transit was ~ $1.50 (total cost including subsidies, not what you pay). Compare that to a cost to pay for a cab to take you one mile of ~ $3.00.

So if you have two people in a cab, that cab is just as economically efficient as a bus. Literally, a car that waits for your call, comes right to your door, and chauffeurs you around, is as economically efficient as our bus system. This is crazy! We could replace AC Transit with a fleet of cabs.

Also, I've heard that the "Nextbus" system which makes those predictions for when the next bus is arriving makes most of their money fixing the next bus sensors. The reason the sensors are broken is AC Transit employees continually sabotage them because they hate being tracked.

Truly, it is an incredibly screwed up system. Anyways, I was too busy to run for the board of directors, but someone really need to fix AC Transit!

mcphilip 3 days ago 1 reply      
The recent article in Esquire about rebuilding the world trade center sheds a lot of light into the particularly inept NY & NJ Port Authority mentioned in this bloomberg piece.


ChrisNorstrom 2 days ago 1 reply      
I'm trying my best to see things from both side's point of view.

Maybe it has to do with Supply and Demand? Because Europe and Asia invest substantially more in their public transit networks, there's more of a market, more companies that build the networks, more competition, more experience, and more tried and true cheaper methods. While in the USA, we've got less public transit, less experience building it, a smaller market for building it, less companies that construct networks, and less competition between them, thus the cost is higher due to it being a specialty that few companies understand.

rdl 2 days ago 0 replies      
I wonder how much of the "libertarian" bias in the US overall is a result of the particular inefficiency of government projects in the US (obviously purely private projects are more efficient than US government funded projects), and how much is a cause (by forcing use of contractors/consultants).

Maybe this explains the difference between the US and Asia/Europe rationally, rather than as some major difference in philosophy given the same facts in each place.

ericdykstra 2 days ago 0 replies      
Whoa wait, this article is saying that [some significant subsection] of government projects is something like an order of magnitude inefficient? Hard to believe, I bet next we'll see articles saying that [some other significant subsection of government] is inefficient, too!
ianb 1 day ago 0 replies      
How do private companies arrange infrastructure-sized projects? Oil companies seem to have substantial arrangements like these. Railroads maintain a lot of infrastructure privately. I'm guessing these companies don't get gouged like the government, but they really have all the same issues, like internal corruption, the bid process, change orders, competing interests in the company, etc.
aswanson 2 days ago 0 replies      
What's even worse is that they overcharge on the same properties they gouge taxpayers on, that the taxpayer supposedly owns. Crossing the GW bridge? $12. Going up the turnpike from DE to NY? $13. Going from Jersey to Philly? $5.
devs1010 2 days ago 0 replies      
I spend probably $350 a month commuting in the SF Bay Area on public transit, its ridiculous but its my only option since traffic is bad and parking expensive enough to make public transit the better option by far
xbryanx 2 days ago 0 replies      
Seems like some of the comparisons being made here should be divided by average wage for skilled workers on these projects.
leeoniya 3 days ago 0 replies      
havent read it yet, too in love with appropriate mobius rail graphic
SODaniel 3 days ago 0 replies      
This I believe is NOT news.
001sky 3 days ago 1 reply      
Hollywood. Accounting.
angdis 3 days ago 3 replies      
A bunch of right-wing baloney. The transportation systems in NYC are what make that city even possible. It is very easy for an uncreative bean-counter to look at the price tag of public transportation systems and then not be able "add up" all the long term benefits of having a city where people and businesses can thrive and get around and that are enjoyable and aesthetic.

If you really want to talk about "gouging" the taxpayer, instead look at highway funding and regulations that practically enforce sprawl by requiring parking spaces, and multi-lane streets through urban cores.

The lightbulb reinvented kickstarter.com
222 points by shimms  2 days ago   129 comments top 33
ForrestN 2 days ago 11 replies      
From an efficiency/sustainability point of view, I have a basic discomfort with the idea of throwing away all the wifi/controller stuff each time you need a new bulb. I know LEDs don't run out very fast, but they do run out. This has cost implications too.

What about a setup where there are two levels of screw: the LED bulb screws into a fixture with the wifi stuff inside, which then screws into the light fixture? Then when the bulb goes out, you can just unscrew the LEDs without having to throw away all the other components.

Maybe there's something I'm missing though; I am by no means knowledgable about electronics.

bhousel 2 days ago 2 replies      
I like the idea of "f.lux for my house". Might improve my sleeping. This part of the project is potentially life-altering.

Lots of people in the comments are getting hung up on the "control your lights over wifi" aspect of this project, which is far less interesting. INSTEON is (AFAIK) the current best solution for home automation, and already does this pretty well: http://www.insteon.net/

It's backwards compatible with X10, uses both powerline and RF to send control signals, and each INSTEON device also functions as a repeater, so you're far less likely to run into poor signal issues that plagued X10.

eps 2 days ago 4 replies      
This. Is. Featurebloat.

Seriously, color changing? Dimming? Make a simple natural light bulb, a smartphone app and a wifi wall switch. Latter is far far more important than an ability to drown my kitchen in a shade of green. Keep it useful, damn it. Not a single home automation company gets this. Usability is a key to adoption.

meanguy 2 days ago 2 replies      
The home automation market has been an utter disaster for decades. I hoped the "green" movement would nudge it mainstream. Not yet, and Google even killed off their home electricity monitoring projects.

Here's a similar product:


No color change capability and requires some other stuff as part of the system, but once you start turning on lightbulbs you quickly realize you need relays and sensors to control other things, too. So then you want a "system." And the systems currently suck.

noonespecial 2 days ago 0 replies      
You guys need to expose a simple API so that I can program a home server to control many lights. Navigating a different screen for each light in my house would be a pain. You're essentially recreating part of the X10 ecosystem with wifi. At this point you should just buy a bunch if x10 and reimplent the features. They've had nearly 30 years to explore how people use this stuff.
buster 2 days ago 1 reply      
@title: Why does it explicitely mention the iPhone alone... like it was the only important gadget.. (yes the page says iPhone and Android). "from your smartphone" would have been better
BryanB55 1 day ago 2 replies      
I like it. Not that I want my entire house to be purple and green but they mentioned something about changing the light color when receiving a notification. I'm thinking it would be cool to have the light on my desk turn to red when Pingdom reports one of my websites offline. Or to have the lights flash red when my security cameras report motion.
tomkin 2 days ago 2 replies      
Unfortunately, I know from working on my own smarthome project that the "turn lights on or off based on location" is patented and secured already.
gkoberger 2 days ago 1 reply      
I wonder if it can be paired to multiple phones? Otherwise you'll end up with only one person who can turn the lights on or off.
coenhyde 2 days ago 2 replies      
This would be great for connecting up to a CI server or monitoring system. If a build breaks, flash red or maybe if the site goes down go to solid red.
ChuckMcM 1 day ago 1 reply      
This is one of those times where I wonder what these guys think Phillips, GE, and others are spending hundreds of millions, if not billions, of dollars on LED lighting solutions are doing. In some industries you can say "Oh they just don't get it" but lighting is so fashion driven and so fundamental to everything we do these entrenched players don't miss out on much.
stinos 2 days ago 2 replies      
nice idea, but unfortunately I do not see this becoming 'big' for a couple of reasons. For instance, even though one can buy LEDs advertised as having a 'warm' colour, the light produced is still rather harsh compared to halogen for instance. Most people do not want an entire house, or even a single room, lighted purely by LEDs. Same goes for the colour: on paper it's nice to read that colour can set a certain mood and such, but is there really any practical use? Who wants to sit in a blue/green/red room anyway? Another factor is that it seems to be a small subset of an actual existing but practical system: current domotica systems can be controlled by your smartphone, by a pc, over the internet, you name it. And there are already dozens of them.
JoshTriplett 1 day ago 2 replies      
I'd find this potentially interesting if I had any confidence that it wouldn't burn out in a few months like every other "lasts for years" bulb I've tried.
dakrisht 2 days ago 1 reply      
I like the project. It's neat. Also neat is watching the video and seeing hundreds of dollars pour into the Kickstarter project.

I guess the WiFi/logic controller is on-board each individual bulb? Then you would pair(?) the bulbs to the app?

If that's the case, I wonder what they're doing about security - since most anyone skilled would be able to hack different homes with different light setups.

Hopefully this doesn't get held up by patent trolls...

mmphosis 1 day ago 0 replies      
Very cool. 6 Watts, wifi controlled, colors and dimming, and plugs into a standard lightbulb socket. Mayhaps, the transformation from 110VAC adds to the complexity and possibly power consumption. Power over ethernet might be a better option. https://en.wikipedia.org/wiki/Power_over_Ethernet

We're using 12V with many white LEDs that consume .1 Watts powered entirely from the sun. The tiny 12V sockets have intially caused some problems because there are two prongs on the base and the base, and there appear to be different ways of wiring this.

alexchamberlain 2 days ago 2 replies      
Shame this uses WiFi rather than Power line networking; I'm sure it would be more efficient and future proof.
james33 1 day ago 0 replies      
Is it just me or is Kickstarter addicting? It seems like every week there is some new cool project posted and I can't help but back it. If something like this were at Walmart I probably wouldn't give it a second thought, but on Kickstarter I've already in for 2.
Wistar 2 days ago 1 reply      
If you had a few of these in your house a an iPhone camera app could be made that controls the lights so that you could compose the shot and the lighting. It could even briefly brighten the lights like a flash setup for just the duration of the exposure. That way the lighting needed for the moment of the shot needn't interfere with the ambience of the room.

Interesting things could be done by having lighting shifts programmed to change during video shots, too.

ollysb 2 days ago 1 reply      
I was pleased to see that you can use your existing switches. For the majority of cases I can't imagine anything more irritating than having to get my phone out, open up an app and find the right light control, just to turn the light on. It would definitely be convenient to switch all lights off when I go to bed though.

Coloured lighting seems a bit naff but maybe there are more subtle ways to use it than make your lounge look like a nightclub.

mayneack 1 day ago 0 replies      
Given the department of energy's smart grid/home/appliance goals. They might be better off with a DoE grant than a kickstarter (better for them, not necessarily better for consumers/taxpayers/etc)
Freestyler_3 2 days ago 2 replies      
Because I enjoy all the radio signal pollution and I want more.

Y won't they make this, but in the light bulb use the lan over power, then plug a lan over power adapter in where your router is. Connect it to the router, and you can then control it via your network (sorta like a media box). But then you have the problem that every lightbulb is a "computer" on the power network and I don't know how that would work.

sitharus 2 days ago 0 replies      
I've wanted to do this to my place for years, but I've always wanted to do it to improve the lighting - more smaller sources so you don't get blinding looking at the globe and better locations.

Alas I rent so I've never been able to do it, and $99 is a bit much for a pair of lightbulbs.

dakrisht 1 day ago 0 replies      
Crazy to see how they raised $100,000 in a little over 24-hours.
follower 2 days ago 0 replies      
A similar product which was doing the rounds recently: http://bluetoothbulb.com/
godsdead 2 days ago 3 replies      
$70 for ONE bulb, so that's $280 for 4 in one room, You could hack an LED bulb together to cheap using cables instead of Wifi, A better future proof idea would be to have a very very customizable app that you sell, An app that let's you interface with computer controlled Lights
vld 2 days ago 0 replies      
http://amzn.com/B006RJRBY6 - a similar product, but not so smart. I guess you could hook some IR blasters to a WiFi-enabled device (eg: OpenWRT router) and write software that replicates the same functionality.
jaxonrice 2 days ago 3 replies      
Wouldn't it make more sense to make the actual lightswitch wi-fi controllable rather than the lightbulb?
pfhorsworn 2 days ago 4 replies      
So, how would one go about connecting it a password protected network?
anonymouz 2 days ago 1 reply      
They claim that one can still use the existing switches in addition to controlling the bulbs via WiFi, and this is a feature that seems somewhat important for e.g. guests, situations when you don't have your phone on you, etc.

But I'm curious how it would work, switching of the light switch would also kill any fancy WiFi interface to the bulb.

prawn 2 days ago 0 replies      
Would jump at something like this for outdoor, solar lights.
Zash 1 day ago 0 replies      
and with IPv6, each light bulb can have its own globally unique address!
Robby2012 2 days ago 0 replies      
I love the project but I hope they've been really serious about security
Aardwolf 2 days ago 3 replies      
Why would anyone want to use something like a smartphone to control their lighting?

Smartphones are todays temporary fad, and will change every few years.

The lighting of your house, however, is supposed to last a few decades, unless you like totally redocorating every few years.

OSX password script for everyone to know songz.me
219 points by songzme  4 days ago   90 comments top 20
sil3ntmac 4 days ago 3 replies      
Ugh, the people I work with (I work for a security firm) consider this a "hack" as well. This is expected behavior! How do you expect your passwords to autofill across browsers? It is called the login keychain for a reason. If someone has access to your user account, and your user account has associated web passwords that can be summoned without re-entering your login password, then the logical conclusion is that your web passwords are not safe.

However, Keychain Access is perfectly secure as a dead-simple manual password manager. Just create a new keychain (I call mine "webpasses"), give it a password different than your login password, and manually save your web passwords in that. Yes you have to open Keychain Access every time you want to save (or copy the plaintext of) a password. Yes it's a bitch. But if you save your passwords in the correct format (description=website URL, username=website username) then Chrome and Safari will find it, ask for your "webpasses" keychain password, and autofill, no questions asked. Bonus points because you can save your new keychain in your dropbox and use it across multiple (osx) machines. I store all my credit card numbers in one keychain file, everything is AES encrypted IIRC so it's as good a solution as any as far as "one-password-auth" goes.


(note: I chose this solution because I am paranoid -- er, security conscious. The average user will NOT want to enter a password anytime he/she wants to autofill, and there's really no way to do this in a secure manner)

EDIT: grammar

dkokelley 4 days ago 1 reply      
First of all, if someone has unauthorized physical access to your device, you're pretty hosed. Especially if they happen to have a current logged in session. Forget passwords, they have cookies and mail.app and bookmarks. Second, if you must lend your computer to an untrusted person, use the Guest session. I just tried this and confirmed that there is no immediately obvious way for a person logged in to a guest session to access my keychain.

Knowing this, I will rewrite the opening line to the article.

Original line: "Here's a reason why you shouldn't let anyone use your computer."

My revised line: "Here's a reason why you shouldn't let [untrusted persons] use [a non-guest session on] your computer."

aidos 4 days ago 2 replies      
The reason this is strange behaviour is that when you try to access private info from within keychain you have to enter your user password each time. Using this command you just need to click on the allow button.

The keychain only allows applications that you authorize to access a given password, right? So for example, when I upgrade Transmit, it needs to ask for my permission to access the passwords again. Does that give it access to everything or just a specific password / set of passwords?

brockrockman 4 days ago 2 replies      
Hardly a security flaw. How do you expect Safari/Chrome autofill the same passwords? And after the password is auto-filled any JavaScript can access the input's value attribute.

I use this in my .emacs so Emacs can grab passwords from Keychain, but the same approach would work in bash too:
(defun find-keychain-password (host) ()
(condition-case nil
(let ((passstr (second (split-string (first (process-lines "/usr/bin/security" "find-internet-password" "-gs" host)) ": "))))
(substring passstr 1 (1- (length passstr))))
(error nil)))

jtokoph 4 days ago 4 replies      
You may want to setup autolocking:

1. Launch "Keychain Access".

2. Right click on "login" keychain.

3. Click "Change Settings for Keychain 'login'".

4. Check the "Lock after:" box.

5. Change the minutes of activity to whatever you want.

You have the option of auto-locking after zero minutes of inactivity.

javajosh 4 days ago 2 replies      
While it is shocking to see your passwords scroll by in plaintext, a careful consideration of how to fix the problem, one realizes that the offered solution really isn't good enough. Many applications require your passwords in order to run, and the Keychain is the way OSX apps get those passwords.

After a little thought, there are two solutions. First, and best, is to log out, and let your guest use a guest account. Or second, watch over the persons shoulder (which is probably a good idea anyway for the security conscious.)

But, personally my biggest concern is that it highlights how trivial it is for locally installed software to access my other passwords! It means that all of my passwords are only as protected as my least-trusted local app. And I have to say, my least trusted app is pretty untrusted. The only saving grace is that OSX asks me if I want to allow an app to access that password.

droithomme 4 days ago 1 reply      
Keychain Access and the general security model is poor.

There should be a way for web passwords that are saved from a browser to be restricted for use from a set of authorized browsers only, without also allowing any random program from just grabbing the plaintext.

From what I observe using this system, once you lock the entire keychain, then you have to unlock and relock it everytime you use a web password, or if you forget to relock, after authorizing one time access from the browser popup, it unlocks the whole keychain for the entire system. Unlocking my throwaway yahoo junk mail account in Safari should not also unlock the password to my banking account across the whole system.

This is not the best design and those who say "works as designed", in my opinion, are suffering from myopic tunnel vision where they assume a current design is the only possible design.

tlrobinson 4 days ago 1 reply      
Is 1Password more or less secure than Keychain? If my 1Password is unlocked can any application get passwords out of it?
kristopher 4 days ago 0 replies      
Apple provides an easy way to lock your desktop when you go for coffee. To set it up:

  1. Launch "Keychain Access".
2. Open Preferences from the "Keychain Access" menu
3. Check the option labeled "Show keychain status in menu bar"
4. (optional) While holding the cmd-key, click and drag the menu item over to the far right of the menu bar for easy access.


paupino_masano 4 days ago 2 replies      
Admittedly I was a bit shocked to see my passwords start pumping out: all I needed to do was click "Allow" and away it went. Why would keychain remain unlocked? Why doesn't that command need sudo? This seems like a pretty decent security flaw to me...
tomwalsham 4 days ago 1 reply      
A nice visible reason why the Rails/Node/OSX FOSS community really need to stop doing the following sort of thing for their installations (seen most recently on yeoman.io, but common to get.pow.cx, npm...)::

curl get.totallytrustworthyapp.io | bash

The above examples are obviously legit, but encouraging this kind of lazy access to even local privileges from arbitrary remote scripts (and Yeoman even asks for sudo in a super-friendly way), is the modern equivalent of padlock.gif on your payment page - training poor security practices.

kreek 4 days ago 0 replies      
Locking the keychain works until you unlock it from another app. If you enter your keychain password for Mail app or for a web password it becomes unlocked for the terminal command. Which is unexpected behavior as from within keychain, even if it is unlocked, you must reenter your password if you want to see a saved password.
muyuu 4 days ago 0 replies      
In Firefox and Chrome you can see all web passwords in plain text. It used to be the same in Safari but apparently not anymore. And that's when they don't leave their webmail logged in, which a lot of people do and they lend you their computer like nothing happened. This is often a master key to somebody's privacy, usually more critical than the kind of stuff have in their keychain most often (WLAN passwords and the like).

People around me are not the most security conscious, or they just know they can trust me.

I guess there's also the cultural bias to allow people "check their email" and stuff like that.

My keychain is always locked, I don't save sensitive web passwords in browsers, and I still don't let people use my computer unsupervised.

delinka 4 days ago 0 replies      
Or maybe, just maybe, you should never let random people use your computer under your account. Create an account for randoms, switch users before loaning them the keyboard.
leejoramo 4 days ago 1 reply      
I ran this command and for at least the first 10 items, I was prompted by a GUI dialog to allow the export of the keychain item. (I have close to 2,000 items in my keychain, so it is a small sample.)

I think that this is more of a lesson to:

1) Have reason able auto locking time outs setup via the Keychain and Screen Saver

2) when Keychain Access prompts you to access info that you should normally click "Allow" and not "Always Allow".

stuartd 4 days ago 2 replies      
I run as a non-admin user on Mountain Lion (stops the kids messing stuff up) and it sometimes has unexpected benefits - like in this case, when I run security dump-keychain -d ~/Library/Keychains/login.keychain in terminal the output is most definitely not plain text even after I press 'Allow' - see http://pastebin.com/TH63R9sM for a sample
corwinstephen 4 days ago 0 replies      
I'm totally going to use this for way more bad than good.
ninjac0der 4 days ago 0 replies      
Apple doesn't introduce security flaws. They are far to big and awesome for that. This is a clear compromise between security and user experience....
dhruvtv 4 days ago 1 reply      
How is this command line method any different/better than opening Keychain Access, clicking on each entry and checking 'Show Password'?
induscreep 4 days ago 1 reply      
ooh look I can access my .config folder on linux.
Steve Wozniak on Samsung patent verdict: ‘I hate it and I don't agree with it' thenextweb.com
217 points by talhof8  4 days ago   102 comments top 20
BenoitEssiambre 4 days ago 1 reply      
Wise man. The way I see it, Apple had a case regarding "trade dress". Some Samsung devices, for example the Galaxy Tab 10.1, do look too much like Apple products. However, the rest of the patents were ridiculous. If the bar for patent validity is going to be this low, most software developers will not be able to do a day's work without accidentally infringing on something. Every piece of software I've seen being built most certainly uses methods that are described somewhere in patents, especially if it is leading edge in terms of communicating, collecting, syncing or displaying information through the web or mobile devices. If court decisions keep going this way, it is going to become impossible to code legally without the costly burden of acquiring a patent war chest and a team of layers to defend your organisation. We might as well shut down the industry to newcomers.
creamyhorror 4 days ago 4 replies      
This will just get him disavowed as a cofounder of Apple by the hardcore supporters. Eventually no one will remember he helped start Apple and everyone will think Jobs was the only one. (edit: true enough that they already see him as the black sheep, the embarrassing uncle everyone tries to ignore)

No one cares what the "naive, idealistic" engineer clueless about business thinks. That's the battle we're fighting - to fix patents, we have to tell people how it's not mere idealism or ideology, but how real businesses can get squeezed out by patent trolls or assholes if software patents don't get reformed soon.

On the bright side, I'm noticing more friends getting Androids, even around this time when the iPhone 5 is being launched. Only the core Apple supporters are going straight for the iPhone. The tide may be turning and Apple losing a bit of its shine, at least in my circles.

ericdykstra 4 days ago 3 replies      
I hope he's right that this gets reversed.

Apple makes a lot of best-in-class products (and I know some people that think everything they make is best-in-class).

Do they think they need to do this kind of litigation to keep making products people will buy? Are they trying to discredit Samsung as copycats? Or is it just a case of "if it costs us $100m to pursue 10 lawsuits with a 5% chance of any one of them getting us a $1b reward, it's a positive business move" sort of thing?

robomartin 4 days ago 3 replies      
I am not taking sides. Don't have all the data. I'll just say that there's a huge difference between "Research & Development" and only "Development". The first is far more time consuming, risky and expensive. The second is a clear and guided roadmap that you simply follow to completion.

I used to be an idealist. I bought the whole idea of "just build a better product" without question. And so I did. Many years ago I embarked in the development of electronic products for a specific industry while trenching new territory and bringing new ideas to the user base. I opted not to file for patents because, well, they were expensive and I was going to just beat them with a better product. Or so I thought.

The first product took about a year and a half in R&D. Lots of work. Lots of problems to solve. Lots to learn. It finally got out and we did really good business right out of the gate. Hundreds of thousands of dollars per month. Eight months later competitors came out with devices offering about 60% of what we were doing at half the price.

It nearly killed the business. A six month month run with a hardware product isn't enough to recoup your R&D. Our competitors had the advantage of only having to do the "D" part because they copied and stole as much as they could. Never mind the fact that they did not have to trench new territory and actually test to see if there was a market there.

The lessons I learned during this period were invaluable (and very painful). Patents do have reason to exist and should not be ignored. People will cheat and steal in business the first chance they get. It takes a special kind of person to honor an agreement without the threat of serious financial harm through litigation if violated. People will violate NDA's and use them to get your ideas and insight under all kinds of pretenses.

Business is war. I was an idealist. An idiot. Live and learn.

I don't know about the Apple vs. Samsung issue. Frankly, I don't have the time to dive into the details. Even if it did, it would be a huge waste of my time as I have nothing to gain from such an exercise. Not taking sides, here's hoping that the courts get it right.

thechut 4 days ago 3 replies      
I've said it before and I will say it again. Apple needs to compete on, and thus focus on the quality of their products. Not sue everyone else into the ground because they feel threatened. Apple will just keep squeezing out incremental changes to their devices and suing everyone else until they are the only ones left standing.

Maybe they should let Woz run the company, he seems to be the last innovator left.

motoford 4 days ago 4 replies      
I can't believe these guys just called the Woz "infamous".
harshpotatoes 4 days ago 2 replies      
It's interesting that camera quality is so important for people, yet I find it difficult to find information on image quality beyond how many megapixels the sesnor has. The least they could do is tell me the sensor size/aperture size too.

You really have to search the specialized review sites to find good comparisons on image quality.

greghinch 4 days ago 0 replies      
I agree with the sentiment, admire respect the man for his contibutions to where technology is, but I really don't understand why Woz's opionion is solicited for every step that Apple of any time in the past 10 years has made. Even at the gestation of the company, his idea of how they should proceed was completely at odds with Jobs' (the latter actually wanted to turn a profit, among other things). I would call it safe to say modern Apple is all but devoid of Woz's influence
megaman821 4 days ago 1 reply      
Apple should have won a copyright case against Samsung clearly copying too much of the overall iPhone design. Instead Apple won a patent case which sucks for everyone, not just Samsung. A litigious Apple could use this win against other Android (and smart-phone in general) manufactures.
mycodebreaks 4 days ago 3 replies      
Turn-by-Turn navigation came on Android way earlier than it came with iPhone 5 yesterday.

How fair it is for Apple complain about stealing ideas?

headShrinker 4 days ago 2 replies      
We know Woz is an 'outside looking in' type person. His remarks remind me of all the people who are really upset with Apple for pursuing this lawsuit. People seem to have this conception that Apple saw an opportunity to sue the pants of a harmless company so it did. This is not the case at all. The two corporations were in meetings with lawyers for a year trying to iron out a deal. The deals fell through and they went to court.

The truth is everyone has been and is suing Apple, all the time. http://c4sif.org/2012/04/web-of-tech-patent-lawsuits-infogra... This graphic is now 9 month old. Truth is Apple is the most sued company in tech! I just don't get this 'down with Apple' mentality. It's completely irrational.

When Apple entered the phone telecom industry, it turned telecoms on their head. Apple started to take control from these awful companies (see my article on t-mobile: http://news.nucleusdevelopment.com/2012/09/11/t-mobile-infla...) and give it to consumers. Remember verizon didn't want any part of the iPhone because 'it gave the consumer too much control'?

Google and Samsung have been helping the telecoms regain control, allowing crapware and bloatware to go right back on the phones. That is one of the very things that Apple fought so hard to keep off their phones, and one of the main reasons Verizon didn't initially want Apple as a vendor. Not to mention, The spyware that gets installed with out our knowledge, ie: Carrier IQ. Controlling the software OS on the phones (ei: why it takes so long to get a new version of Android on your existing phone).

css771 4 days ago 0 replies      
Samsung may have copied the shapes and a few gestures like slide to unlock with the original galaxy s. But anyone who claims that it gave them a market advantage is being disingenuous.

Woz has always been rational about stuff and what he says. I hope the verdict gets overturned.

swang720 4 days ago 2 replies      
This is lazy journalism.

Will people stop posting what Steve Wozniak thinks about everything? Just because he's Steve Wozniak doesn't make him a foremost expert on everything related to technology. Does this quote add any insight or value at all?

“I don't agree with it " very small things I don't really call that innovative. I wish everybody would just agree to exchange all the patents and everybody can build the best forms they want to use everybody's technologies.”

npguy 4 days ago 0 replies      
Patents are living proof that ideas are overrated.
barista 4 days ago 1 reply      
I respect the guy but is he influential enough that it matters what he thinks?
kno 4 days ago 0 replies      
Why use expression like "The infamous engineer"? what does it mean? some writers just go overboard sometimes.
JimmaDaRustla 4 days ago 0 replies      
I love the head on that man's shoulders.
Empro 4 days ago 1 reply      
I feel like the craziness is only just beginning.
sigzero 4 days ago 0 replies      
So what? Really. His opinion isn't any more or any less valuable that anybody else.
the_expert 4 days ago 0 replies      
So how would things have turned out if we dropped all the software patent claims and Apple could only sue on trade dress?

Apple is a hardware company. A hardware enclosures design company, really; they outsource most everything to do with producingthe hardware. For a company like Apple, trade dress claims make sense. Software patents seem a little fishy.

(Even for software companies software patents are a bit fishy. That's why they've traditionally relied on copyright. And if I'm not mistaken that's why the USPTO is soon going to be issuing new rules and a new system to deal with software/business method patents since they cause so much concern.)

       cached 18 September 2012 15:11:01 GMT