hacker news with inline top comments    .. more ..    13 Nov 2013 Best
home   ask   best   6 years ago   
The second operating system hiding in every mobile phone osnews.com
820 points by thomholwerda  16 hours ago   217 comments top 45
ChuckMcM 11 hours ago 7 replies      
One of the side effects of software eating the world is that the world becomes more exploitable. I expect that over time we may see the emergence of general 'software building codes' much like there are physical building codes, and more importantly liability associated with failing to provably meet such codes.

The current 'random person implements firmware that controls the this chip' practice and the 'no warranty etc etc' disclaimers will, I predict, be replaced by manufacturers who are willing to warrant their code.

mey 13 hours ago 4 replies      
There is actually a 3rd inside the SIM as wellhttp://en.wikipedia.org/wiki/Subscriber_identity_module#Desi...

This is what Java Card was developed to run on.

If you are interested in getting lower level access to your radio, you could look at the defunct http://openmoko.com/freerunner.html project or the resurrection of the Freeruner, http://www.openphoenux.org/

britta 15 hours ago 1 reply      
Baseband hacking is how people made software-based carrier unlocks for iPhone 2G, 3G, 3GS, and 4 (GSM). Those exploits are somewhat documented here: http://theiphonewiki.com/wiki/Baseband_Device#Exploits
rcfox 12 hours ago 4 replies      
Coming from a background of developing audio hardware drivers for the Blackberry (I worked on the last generation and current generation before getting bored and leaving a year ago), I can tell you that even if the baseband were able to turn on auto-answering, (I have no idea if that's possible, by the way) it wouldn't know how to configure the microphone and speakers to allow for recording or playback unless it convinced the application processor to help.

If you are concerned about your Blackberry spying on you, there's a special "security plug" that you can insert into the headphone jack which will short all of the pins to ground, disabling the microphone. I assume other phones support this as well.

noselasd 19 minutes ago 0 replies      
Though about GSM, if you want to learn more:

* http://osmocom.org

* http://www.youtube.com/watch?v=xOp_wtsHAe8

* http://www.youtube.com/watch?v=_0LCgxe24Po

* http://www.youtube.com/watch?v=9cBJV3yTaQo

* http://www.youtube.com/watch?v=9cBJV3yTaQo

Your phone has GSM, even if you're only on 3G or 4G networks though (unless it's a pure CDMA phone) - and the concepts are anyway quite similar in 3G/4G networks an phones.

InTheSwiss 15 hours ago 5 replies      
I am assuming that the RTOS has direct and full unrestricted access to the hardware such as the camera and microphone? If so then I would also assume that an over the air attack to silently suck data from the camera and microphone would be pretty easy for those with access to the RTOS (such as governments)?

I know there has been software to do just this in the past on some Nokia devices but I would assume (I am doing that a lot in this post!) it is just as possible in pretty much every mobile phone?

Anyone with knowledge of this care to comment on my assumptions?

agumonkey 8 hours ago 0 replies      
Nowadays processors are so tiny and cheap, they're everywhere.

# batteries

IIRC most battery charging circuits also have a dedicated real time ~OS running. http://www.youtube.com/watch?v=dlSBQ5b6Pdw

# hard drives

Also recently someone did run linux in its hard drive controller (which is a set of arm cores, ~v9 and m3)

HaD intro : http://hackaday.com/2013/08/02/sprite_tm-ohm2013-talk-hackin...

Direct link : http://spritesmods.com/?art=hddhack

headgasket 15 hours ago 1 reply      
... The voice came from an oblong metal plaque like a dulled mirror ... The instrument (the telescreen, it was called) could be dimmed, but there was no way of shutting it off completely. (1.1.3)

Oceanians live in a constant state of being monitored by the Party, through the use of advanced, invasive technology.

It was terribly dangerous to let your thoughts wander when you were in any public place or within range of a telescreen. The smallest thing could give you away. A nervous tic, an unconscious look of anxiety, a habit of muttering to yourself anything that carried with it the suggestion of abnormality, of having something to hide. In any case, to wear an improper expression on your face (to look incredulous when a victory was announced, for example) was itself a punishable offense. There was even a word for it in Newspeak: facecrime, it was called. (1.5.65)

Is the the google input box a door to the world or a window into your mind?

How many fingers do you see?

jared314 15 hours ago 1 reply      
There is also a second OS hiding in your computer right now! (There might even be a third, or forth, depending on your hardware configuration and manufacturer.)

Proprietary BIOS software has suffered the same issues for the last twenty+ years.

sehugg 15 hours ago 0 replies      
While we can sort-of assume that the base stations in cell towers operated by large carriers are "safe"


niels_olson 12 hours ago 1 reply      
For all the "NSA's probably in on this", remember this also leaves openings for China, Russia, and possibly others to get in on this.
gwu78 1 hour ago 0 replies      
Maybe the future is in making calls over the Internet, not a private cellular network?

Or maybe the future is in open source software defined radio?

I never tried it, but I heard OpenMoko could run BSD.

In any event, I hope the future is one where I can read, modify and compile the source for my handheld's bootloader and operating system, as I currently can do with my laptop's bootloader and operating system.

spc476 12 hours ago 0 replies      
Quite possibly a third or fourth OS as well ... http://boston.conman.org/2013/01/22.2
_stephan 15 hours ago 1 reply      
"Lastly, the baseband processor is usually the master processor, whereas the application processor (which runs the mobile operating system) is the slave."

Can maybe somebody explain what this means exactly? Could the baseband processor/OS be used as an attack vector to exploit the main mobile OS? Could the OS protect itself from this?

_ak 4 hours ago 2 replies      
I talked to a friend of mine who is an engineer at Qualcomm, and he said the article is exaggerated and out-dated. Current basebands don't use REX OS anymore, and they put mitigation mechanisms in place, so this piece seems like FUD.
buo 15 hours ago 0 replies      
For an example of an open-source GSM implementation that would allow one to build a base station, see http://en.wikipedia.org/wiki/OpenBTS . There are lots of videos about it on youtube where you can see it in action.
lgeek 2 hours ago 0 replies      
And then there's also TrustZone[0] so don't be surprised if there's an additional hypervisor or RTOS running on the main application processor.

[0] http://www.arm.com/products/processors/technologies/trustzon...

mindslight 14 hours ago 1 reply      
I think we'd all be better off and get to a user-centric mobile experience a lot sooner by isolating the network communication in a dedicated device.

I'm toying with the idea that next time I have to upgrade my mobile (hopefully not soon), a better way to go is something like mifi + netbook + smart watch (+ maybe some compact chorded keyboard).

Procrastes 15 hours ago 4 replies      
"That complexity is exactly one of the reasons why it's not easy to write your own baseband implementation. The list of standards that describe just GSM is unimaginably long - and that's only GSM. Now you need to add UMTS, HSDPA, and so on, and so forth. And, of course, everything is covered by a ridiculously complex set of patents. To top it all off, communication authorities require baseband software to be certified."

This is HN.

I don't think implementing a replacement is all that daunting given enough time and money. I wonder if there's a business model that will pay for it?

Jagat 15 hours ago 0 replies      
Even BIOS can be considered as a second OS hiding in your PC.
pslam 13 hours ago 3 replies      
The second operating system hiding in every mobile phone? Really?

There's a ridiculous number of operating systems hiding in every mobile phone. What do you think runs on the GPU? What about bluetooth, wifi and GPS? What about all those sensors? The camera interface? The video acceleration? The SIM card? The NAND flash?

Try harder.

fayyazkl 9 hours ago 1 reply      
Often the RTOS is not exactly free, but not entirely closed either. A while back, i used to work on Nucleus RTOS by Mentor Graphics with a pretty impressive global foot print http://en.wikipedia.org/wiki/Nucleus_RTOS. It used to be sold as an api (with source code given to customers) who developed applications based upon it. I have written portions (IPsec/IKE, SNMP, Ipv6) of its networking stack and at least all of its customers have access to source code. It is pretty well written with very decent coding conventions and can be compared to any good well known open source project (VLC, even Linux kernel). Then there are others such as Wind River's VxWorks among the more popular ones. Though i am not very sure of its licensing model, but it is pretty well recognized and established in the embedded world. Just that these are not as well known in the over all software community but rather more restricted towards those in the embedded industry.
atlantic 5 hours ago 0 replies      
I wonder if there is any relation between this set of vulnerabilities and the Datong system used by the UK authorities to mimic/replace mobile phone base stations. http://www.wired.com/threatlevel/2011/10/datong-surveillance...
melvinmt 13 hours ago 0 replies      
> This is such low-level, complex software that I would guess very few people in the world actually understand everything that's going on here.

I would not be surprised if the NSA would employ quite a few of them.

informatimago 16 hours ago 6 replies      
Waiting for the next Snowden.

In the meantime, you can use your smartphone inside a Faraday cage. Wrapping it in aluminium should help.

jjoe 13 hours ago 1 reply      
It shouldn't come as a surprise that you're not "offline" unless you take the battery out of your phone and wait a good minute or so. And there's no wireless power source "force feeding" your phone...

This is well known to anyone who's done DSP optimization work for any of the wireless carriers.

meson2k 13 hours ago 0 replies      
MSM6280 is 7 years old. The author has no clue how advanced these RTOS have become now and the kind of effort that goes into security at a system level e.g. xpu, smmu etc.
hngiszmo 11 hours ago 0 replies      
I would donate for somebody setting up a server that streams audio (and video, ) from all phones in reach. With bitcoin this could even be pulled off anonymously. I would hope for such a server streaming data from financial districts, one at a time would finally lead to something to change about this. Donations would help buy antennas and rent space in financial districts.
diminish 9 hours ago 0 replies      
Ohh every phone of mine crashes in a 20 min subway travel since 10 years no matter Android, Symbian.. It must be this RTOS.
ricw 15 hours ago 2 replies      
This is all a bit over the top. Yes, the baseband may be compromisable, that doesn't mean that the operating system is. Your photos, data etc should be safe as long as there aren't further exploits (which of course exist).

Furthermore, i have yet to hear of a slave high level operating system to the baseband. iOS or android being initialised and commanded by a secondary baseband OS would just be a bizarre setup. That of course does not mean that the baseband doesn't pass commands to the high level OS. Though if the interface is well shielded, exploiting it could be tough (correct me if I'm wrong, but I don't think baseband exploits exist for iPhone 5/5s).

Now, I'm sure the NSA however have some interesting possibilities that Angela Merkel would be all to keen to know about ;).

coldskull 10 hours ago 0 replies      
as someone who closely works on qualcomm baseband processors, i can say that security is one of the top priorities of qualcomm. There are whole bunches of teams dedicated to sec/vuln analysis. Not saying that the issues mentioned in the article did not occur...but I believe that those probably occured in older chips (a few generations older)

standard disclaimerViews above are personal and do not reflect views of Qualcomm

ivanhoe 8 hours ago 1 reply      
It's one of those rare cases (like BIOS too) where obscurity actually means more security...
dreamfactory 12 hours ago 0 replies      
So maybe a relevant question as we move away from desktop computing is whether your mobile device can be identified through online activity, such as commenting, searching, email etc. This would be useful for locating dissidents.
est 14 hours ago 2 replies      
Cant wait Tegra 4i hacking allows unrestricted i500 SDR platform access :D
chris_mahan 13 hours ago 1 reply      
After reading all the comments, I'm beginning to think the Butlerian Jihad may not be such a bad thing after all...
wfunction 9 hours ago 0 replies      
The NSA has probably already figured this out.
maxk42 15 hours ago 0 replies      
> By design

Of course -- all the telecoms have been in bed with the NSA for decades. That's how you play ball in the US.

devx 15 hours ago 1 reply      
No wonder not only NSA, but also FBI and probably other agencies exploit these like crazy by using fake towers or other methods.
Maven911 10 hours ago 0 replies      
St microelectronics is a firm who provides radio chipsets for apparently 80% of all phones out there
memracom 10 hours ago 1 reply      
Does anyone know if the Firefox OS replaces these proprietary RTOSes?
itazula 10 hours ago 0 replies      
What about TRON? http://www.t-engine.org/
noyesno 15 hours ago 0 replies      
The link to the ETSI 3GPP specs is a bit silly: it shows not only all the related specs but also all the versions of those docs.
dola 15 hours ago 0 replies      
And then there is also the one on the SIM doing all the encryption and authentication stuff...
hiley 9 hours ago 0 replies      
Who makes the baseband software? Those who make it I guess are more inclined to fix the bugs (because there are paying customers), at least in areas that they can fix...
general_failure 15 hours ago 1 reply      
I was expecting this OS to be the browser. The browser really is another OS these days especially with all the new HTML5 specs (firefox OS being the proponent of such things).

The way HTML5 is progressing it might even beat the API of the OS it seems! For example, the OS itself might have no contacts API but the browser has HTML5 API to access them!

Why You Should Never Use MongoDB sarahmei.com
505 points by hyperpape  1 day ago   324 comments top 69
dasil003 1 day ago 3 replies      
There is a good reason that relational databases have long been the default data store for new apps: they are fundamentally a hedge on how you query your data. A fully-normalized database is a space-efficient representation of some data model which can be queried reasonably efficiently from any angle with a bit of careful indexing.

Of course relational databases being a hedge, are not optimal for anything. For any particular data access pattern there's probably an easy way to make it faster using x or y nosql data store. However as the article points out, before you decide to go that route you better be pretty certain that you know exactly how you are going to use your data today and for all time. You also should probably have some pretty serious known scalability requirements otherwise it could be premature optimization.

Neither of these things are true for a startup, so I'd say startups should definitely stay away from Mongo unless they really know what they are doing. Being ignorant of SQL and attracted by the "flexibility" of schema-less data stores powered by javascript is definitely the wrong reason to look at Mongo.

gmjoe 1 day ago 8 replies      
> Seven-table joins. Ugh.

What? That's what relationship databases are for. And seven is nothing. Properly indexed, that's probably super-super-fast.

This is the equivalent of a C programmer saying "dereferencing a pointer, ugh". Or a PHP programmer saying "associative arrays, ugh".

I think this attitude comes from a similar place as JavaScript-hate. A lot of people have to write JavaScript, but aren't good at JavaScript, so they don't take time to learn the language, and then when it doesn't do what they expect or fit their preconceived notions, they blame it for being a crappy language, when it's really just their own lack of investment.

Likewise, I'm amazed at people who hate relational databases or joins, because they never bothered to learn SQL and how indexes work and how joins work, discover that their badly-written query is slow and CPU-hogging, and then blame relational databases, when it's really just their own lack of experience.

Joins are good, people. They're the whole point of relational databases. But they're like pointers -- very powerful, but you need to use them properly.

(Their only negative is that they don't scale beyond a single database server, but given database server capabilities these days, you'll be very lucky to ever run into this limitation, for most products.)

just2n 1 day ago 8 replies      
I once tried to insert a screw using a hammer. I'll be writing my article "Why You Should Never Use A Hammer" shortly.

And here's the crux of the problem with this article, and of so many articles like it:

"When youre picking a data store"

"a", as in singular. There is no rule in building software that says you have to use 1 tool to do everything.

m_mueller 1 day ago 4 replies      
I don't know much about MongoDB, but I've been using a lot of CouchDB for my current project. Am I correctly assuming that MongoDB has no equivalent for CouchDB views? Because if it had, all these scenarios shouldn't be a problem.

Here's how relational lookups are efficiently solved in CouchDB:

- You create a view that maps all relational keys contained in a document, keyed by the document's id.

- Say you have a bunch of documents to look up, since you need to display a list of them. You first query the relational view with all the ids at once and you get back a list of relational keys. Then you query the '_all' view with those relational keys at once and you get a collection of all related documents - all pretty quickly, since you never need to scan over anything (couchDB basically enforces this by having almost no features that will require a scan).

- If you have multiple levels of relations (analogous to multiple joins in RDBMs), just extract they keys from above document collection and repeat the first two steps, updating the final collection. You therefore need two view lookups per relational level.

All this can be done in RDBMs with less code, but what I like about Couch is how it forces me to create the correct indexes and therefore be fast.

However, if my assumption about MongoDB is correct, I have to ask why so many people seem to be using it - it would obviously only be suitable in edge cases.

asdasf 1 day ago 4 replies      
>Seven-table joins. Ugh.

Where does this attitude come from in the first place? Even when I was just first learning SQL the notion of doing multiple joins was never off-putting or scary. Quite the contrary, the fact that joining two relations produces a relation which I can then use in more joins seemed like a perfectly elegant abstraction.

>On my laptop, PostgreSQL takes about a minute to get denormalized data for 12,000 episodes


JangoSteve 1 day ago 9 replies      
As others have pointed out, this article can basically be summarized as, "don't use MongoDB for data that is largely relational in nature."

Mongo (or most document stores) are good for data that is naturally nested and silo'd. An example would be an app where each user account is storing and accessing only their own data. E.g. something like a todo list, or a note-taking app, would be examples where Mongo may be beneficial to use.

A distributed social network, I would have assumed, would be the antithesis of the intended use-case for a document store. I would have to imagine a distributed social network's data would be almost entirely relational. This is what relational databases are for.

Justsignedup 1 day ago 2 replies      
SQL is actaully a rediculously elegant language at expressing data, and relationships. NOT a good general purpose language. So I tend to always favor sql for relational data, actually most data.

queues, caches, etc = nosql solution. They tend to have much more features around performance to handle the needs of these problems, but not much in terms of relational data.

If you study relational databases and what they do, you will quickly find the insane amount of work done by the optimizer and the data joiner. That work is not trivial to replicate even on a specific problem, and ridiculously hard to generalize.

And so this article's assertion that mongodb is an excellent caching engine, but a poor data store is very accurate in my eyes.

chaz 1 day ago 2 replies      
Linkbait title aside, it's actually a helpful example for directing a database novice on when to not use a document store. I could have used this post a few times in the past few years.
kcorbitt 1 day ago 3 replies      
I've seen a fair number of articles over the last couple of years comparing the strengths and weaknesses relational/document-store/graph databases. What I've never seen adequately addressed is why that tradeoff even has to exist. Is there some fundamental axiom like the CAP theorem explaining why a database like MongoDB couldn't implement foreign keys and indexing, or why an SQL couldn't implement document storage to go along with its relational goodness?

In fact, as far as I can tell (never having used it), Postgres's Hstore appears to offer the same advantages as a document store, without sacrificing the ability to add relations when necessary. Where's the downside?

scbrg 1 day ago 4 replies      
I must have read a dozen (conservative estimate) articles now all called "Why you should never use MongoDB ever" - or permutation thereof.Each and every one of them ought to have been called "I knew fuckall about MongoDB and started writing my software as if it was a full ACID compliant RDBMS and it bit me."

There are essentially two points that always come up:

1. Oh my God it's not relational!

Well, you could argue that if you move from a type of software that is specifically called RELATIONAL Database Management System to one that isn't, one of the things you may lose is relation handling. Do your homework and deal with it.

2. Oh my God it doesn't have transactions!

This is, arguably, slightly less obvious, and in combination with #1 can cause issues. There are practices to work around it, but it is hardly to be considered a surprise.

I keep stumbling on these stories - but still these are the two major issues that are raised. I'm starting to get a bit puzzled by the fact that these things are still considered surprises.

In either case, I'm happily using MongoDB. It has its fair share of quirks and limitations, but it also has its advantages. Learn about the advantages and disadvantages, and try to avoid locking too large parts of your code to the storage backend and you'll be fine.

FWIW, I think the real benefit of MongoDB is flexibility w/r to schema and datamodel changes. It fits very, very well with a development process which is based on refactoring and minor redesigns when new requirements are defined. I much prefer that over the "guess everything three years in advance" model, and MongoDB has served us well in that respect.

raverbashing 1 day ago 3 replies      
Really, in some places it hurts

* We stored each show as a document in MongoDB containing all of its nested information, including cast member*

I've seen this in people using MongoDB and the bough the BS that because "it's a document store" there should be no link between documents.

People leave their brain at the door, swallow "best practices" without questioning and when it bites them then suddenly it's the fault of technology.

" or using references and doing joins in your application code (double ugh), when you have links between documents"

1) MongoDB offers MapReduce so you can join things inside the DB. 2) What's the problem to have links between documents? Really? Looks like another case of "best practice BS" to me

colinbartlett 1 day ago 2 replies      
This is ridiculous linkbait bullshit.

Anyone who dismisses document stores entirely has lost all my respect. It wasn't the right solution for your problem, but it might be the right solution for many others.

ryanobjc 1 day ago 0 replies      
They say never jump in an argument late... but here goes...

There is a lot of people arguing in the positive for polyglot persistence. The arguments sound pretty appealing - hammer, nail, etc - on the face of it.

But as you dig deeper into reality, you start to realize that polyglot persistence isn't always practically a great idea.

The primary issue to me boils down to safety. This is your data, often the only thing of value in a company (outside the staff/team). Losing it is cannot happen. Taking it from there, we stumble across the deeper issue that all databases are extremely difficult to run. DBAs dont get paid $250k/year for nothing. These systems are complex, have deep and far reaching impacts, and often take years to master.

Given that perspective, I think it then makes the decision to use a single database technology for all primary storage needs totally practical and in fact the only rational choice possible.

meritt 1 day ago 1 reply      
OP should have been using a graph database. Ranting about MongoDB because it doesn't support what it's not designed to support is a bit silly. A RDBMS would have been just as poor of a choice here.
3327 1 day ago 0 replies      
This is a well known and well document "down side" of mongo. Frankly the analysis of your article is jeopardized by your first line stating, "I am not a database designer". Mongo has its downsides that are well known, but there are also very good reasons to use Mongodb too. although its a lengthy article with good examples it states nothing more than an obvious caveat mongo has which is well known and documented.
hkarthik 1 day ago 7 replies      
>> Some folks say graph databases are more natural, but Im not going to cover those here, since graph databases are too niche to be put into production.

Is this really true? It sounds like both relational DBs and document DBs are a poor choice for the social network problem posed. I've actually dealt with this exact problem at my last job when we started on Mongo, went to Postgres, and ultimately realized we traded one set of problems for another.

I'd love to see a response blog post from a Graph DB expert that can break down the problem so that laymen like myself can understand the implementation.

DigitalSea 1 day ago 1 reply      
So in other words, they misused MongoDB and because of that are telling people not to use it? Wow. Seems to be a case of "a bad mechanic will always blame his tools".

In the right hands MongoDB can be a great asset. The problem here is that Diaspora chose MongoDB when it was very immature and it seems the choice was based on hype more so that mapped out requirements. This is where proper planning for a large scale application will spot these kinds of problems before they get to the development stage.

Later versions of MongoDB are much better and the upcoming planned changes will take it many steps in the right direction towards being a viable alternative to a traditional RDBMS. Having said that, it's not a silver bullet and MongoDB is not for everything.

10Gen are exceptionally great at marketing Mongo and I get the feeling they have kind of trapped Foursquare who have been using it in production for a couple of years or so now. Having said that with exception of that one 11 hour outage Foursquare encountered, MongoDB seems to be working really well for them and they seem to be capturing more than just check-in data.

I still think with proper planning pulling off a social network with MongoDB is possible. I am currently building a social networking type application, not on the scale of Facebook but it does share some parallels. I've planned and mapped out a viable structure and how it all connects, prototyping and testing seems to indicate that MongoDB is up to the task, but we'll see.

Axsuul 1 day ago 7 replies      
Can anyone explain what are some actual real-life good uses for MongoDB?
ecaron 1 day ago 0 replies      
The best thing about this article is it demonstrates the problem with pg's "The submission must match the title" policy.
edude03 1 day ago 1 reply      
I hate link bait like this.

The real title should be "Why you should never use a tool without investigating it's intended use case"

exclusiv 1 day ago 0 replies      
Do NOT use MongoDB unless you understand it and how your data will be queried. Joins like the author mentions by ID is not a bad thing. If you aren't sure how you are going to query your data, then go with SQL.

With a schemaless store like Mongo, I've found you actually have to think a LOT more about how you will be retrieving your information before you write any code.

SQL can save your ass because it is so flexible. You can have a shitty schema and make it work in the short term until you fix the problem.

I wrote many interactive social apps (fantasy game apps) on Facebook and it worked incredibly well and this was before MongoDB added a lot of things like the aggregation framework.

The speed of development with MongoDB is remarkable. The replica sets are awesome and admin is cake.

It sounds like the author chose it without thinking about their data and querying upfront. I can understand the frustration but it wasn't MongoDB's fault.

This is a big deal for MongoDB: https://jira.mongodb.org/browse/SERVER-142.

Let's say you have comments embedded on a document and you want to query a collection for matches based on a filter. If you do that, you'll get all of the embedded comments back for each match and then have to filter on the client. IMO, when the feature above is added, MongoDB will become more usable for more use cases that web developers see.

electrichead 1 day ago 1 reply      
I'm going to reiterate as others have done - this is an area where a good graph database would blow all the others out of the water. I am currently using neo4j for a web app and find it to be extremely good in terms of performance. There is really only one downside to using a graph database - they are not really scalable horizontally as you might want. They need a fair bit of resources. But in terms of querying, they would be unparalleled in this particular use-case.

They are also not in infancy - they are in use in many places where you wouldn't expect them and which aren't discussed. One big area is network management - at least one major telecom uses a particular graph db to manage nodes in real-time.

kylemaxwell 1 day ago 0 replies      
"You should never use MongoDB [the way we did]". For some use cases, it would be a terrible decision, as this project learned. In others, it works fine, even with the "eventually consistent" sort of thing. I knew it would go bad when the author immediately started talking about web apps from the get-go, because (as unusual as this may seem to some subset of developers) not everything is a webapp.
pkorzeniewski 1 day ago 0 replies      
All things aside, the main problem I had with MongoDB when I've tried to use it in one of my projects (in NodeJS) was the way to query data. I know, there are some libraries for that, but it's just pain in the ass to make complex queries - something which would be an easy JOIN in SQL, in MongoDB is a big pile of callbacks and long, chained method calls. It was just hard to maintain, and the data structure flexbility didn't make it easier which led to a completely messed up database.
neokya 1 day ago 1 reply      
Though title sounds like a link bait, this is actually eye opening article for database layman like me. Very clearly written.

Now, what is MongoDB fit for? Most of the web applications are what author gives example, complex and having inter-relationships. Can someone light up?

andrelaszlo 1 day ago 0 replies      
I'm not arguing against this article, they seem to have made some poor choices along the road, but to say "you should never use MongoDB" is silly - even if you add "...for relational data". It has it's obvious drawbacks, of course, but MongoDB is way more than just a caching layer.

Here's some social networks that are running MongoDB: http://www.mongodb.org/about/production-deployments/#social-...

The list includes Foursquare. They have been running Mongo as their main storage engine for about four years now. They migrated away from MySQL, as discussed in this video:


jwwest 1 day ago 1 reply      
Link bait title aside, I'm a little bored with these "We don't like x, so you shouldn't use it" articles.

The main downside of MongoDB is that it's new. This means less knowledge of best practices, incomplete or missing support in third party integrations, and feature-lacking tools. It also takes a different approach to architecting systems than you would take when using a SQL approach.

mcgwiz 1 day ago 0 replies      
I give Diaspora and the author kudos for the effective hatebait title, though I would have preferred "Study the documentation/source of all mission critical components carefully."

Reading through the article, I saw similarities between their issues and ones I've encountered. However, having skeptically studied MongoDB's docs and tested its behavior, I had a very good idea early that MongoDB preferred idempotent, append-only, and eventual-consistent data, with two-phase commit being the nuclear option (and that boxen-wise, the high-memory ones are preferred).

Regarding denormalization storage, invalidation is indeed a tricky issue. A CQRS approach with a durable event queue between the command/domain and an idempotent denormalization system elegantly yields an exceptional scalability:complexity ratio. In the end, I built a performant, flexible app that's been a joy to work on and operate.

I see pain similar to Diaspora's as a result of "move fast, break things" culture taken to the extreme. No planning or basic research of any kind is expected anymore. I know (from experience watching people pick technologies they barely understand and try to IntelliSense their way to delivery) that I'm in the minority, but I've always preferred to read a book cover-to-cover (or traverse a website depth-first) before adopting a technology in earnest, because I know I don't know what I don't know.

No1 1 day ago 3 replies      
The whole post hinges on the statement:

"When MongoDB is all you have, its a cache with no backing store behind it. It will become inconsistent. Not eventually consistent just plain, flat-out inconsistent, for all time."

OK, here is a chance to share a little insight. At what point did Mongo become hopelessly inconsistent? Were you ever able to determine why? Why bother with cute pictures and verbose explanations of simple schemas when the conclusion is just that Mongo breaks no matter what without further explanation?

ukd1 1 day ago 0 replies      
This should read one of;

1. why you shouldn't use things you don't understand.2. I wish I'd rtfm with Mongo3. schema design for mongodb, what I wish I'd known

petepete 1 day ago 1 reply      
The 'main' app at my place of work uses MongoDB this way; it even implements a 'relationships' collection that is used for one-to-many 'joins' (ugh, just thinking about it makes me feel ill). Unfortunately, I joined when the initial write was nearing completion and was unable to steer the team in the right direction in time.

I just submitted a proposal for a ground-up rewrite; unless it's accepted I'll be leaving promptly.

bsaul 1 day ago 0 replies      
The most interesting part is to make a difference between your primary data store and your secondari(es) ones. For "friends of friends" queries you could definitely use graph dbs, for "tree hierarchical" data then a document based is good. Secondary dbs are chosen depending on queries. For analytics then choose columnar dbs or map/reduce friendly data stores, etc...

But primary db needs powerful querying possibilities, strong consistency and durability,as well as really good admin toolings. That's the "fall back", to be used as a last resort, but that's also the point of truth of your system.

Then comes optimizations, and pipe-like data processing to move data from primary to secondary dbs ( or to both in parallel).

That's why i've never been found of using new technologies such as mongodb or couchdb or anything like that for my primary db.

henryw 1 day ago 0 replies      
I was about to go all in with mongodb (w/ node) on my next project, including for the user table. But after this, I'm going have to re-evaluate it.

"Once we figured out that we had accidentally chosen a cache for our database, what did we do about it?"

"The only thing its good at is storing arbitrary pieces of JSON. Arbitrary, in this context, means that you dont care at all whats inside that JSON. You dont even look. There is no schema, not even an implicit schema"

"Ive heard many people talk about dropping MongoDB in to their web application as a replacement for MySQL or PostgreSQL. There are no circumstances under which that is a good idea."

"I suggest taking a look at PostgreSQLs hstore"

ezmobius 1 day ago 0 replies      
You thought you wanted to use a document store until you realized that redis+postgres was actually what you needed :P
crystaln 1 day ago 0 replies      
There are very few use cases that can be solved with mongo that can't be solved equally well using nosql inspired features of Postgres and other simple tools.

Data often has relational characteristics we don't anticipate. That's why we build flexible schemas. Mongo schemas have none of that of flexibility.

quizotic 1 day ago 2 replies      
Funny thread!

MongoDB's query performance is typically sub millisecond, and rarely as much as 5ms. I don't think you can through the postgres/mysql parser in 5ms, much less optimizer, planner, and execution stack. Couple that speed with a dead simple API, and you've got a thing of beauty.

So yeah, if you don't care about ms latencies, if you've got a fixed rectangular schema, if want to write queries with lots of joins, if you need ACID guarantees ... etc ... then by all means pick your favorite RDBMS.

OTOH, when you need to manipulate relatively self-contained objects quickly, when those objects don't have a fixed schema, when availability is more important to you than immediate consistency, then why would you choose anything other than MongoDB?

lafar6502 1 day ago 0 replies      
Oh, God, an advisory article by people who have just learned what a relational db is. What's next?
lynchdt 1 day ago 0 replies      
Over the past year we have from scratch built a significant web-application with MongoDB. We also have a social graph. We build infinite-scroll activity feeds on the fly. We handle multiple writes per second and 10s of reads per second. We have hundreds of thousands of users. We have 100 million documents, growing nicely. We've forced square pegs into round holes on occasion, but nothing we were too surprised about.

It seems like you walked into to your database technology choice with your eyes fully shut. Given even a modicum of of preparation - e.g. reading the MongoDB documentation - you would have asserted the social graph use case to be a challenging one with a data-store in which relations are unnatural.

Then - because you realized you may have a sub-optimal solution, you optimize it by changing technology. And then decide to join this ridiculous anti-MongoDB internet bandwagon.

For somebody who builds "4-6 web-applications per year" and has deployed "most of the data-stores you've heard about - and some you haven't" this seems surprising.

Or perhaps not, actually.

auggierose 1 day ago 0 replies      
This seems to be a case of incompetent programmers doing jobs which are way over their heads. Just saying. Well, if it doesn't kill them, they'll learn from it.
beat 1 day ago 0 replies      
Consider Neo4J.

The fail mode here for MongoDB (complex non-hierarchical relationships) is a win mode for Neo4J. Hierarchies are just a special case of graphs. Use a proper graph database, and you can actually represent the relationships based the domain model, without the clumsiness of hierarchical NoSQL or even worse clumsiness of RDBMS.

buckbova 1 day ago 0 replies      
Not sure why it has to be one or the other.

It seems perfectly reasonable to store the users profile information and media in mongodb and your likes and comments in a relational db.

wehadfun 1 day ago 0 replies      
This was the best explanation of MongoDB I've read.
hobs 1 day ago 0 replies      
To be fair, I work in SQL constantly, but someone saying "7 table joins ugh" all I can think is really?

Maybe I have spent too much time in the TSQL world, but I regularly see things with 20+ joins without blinking.

cnp 1 day ago 0 replies      
What a FANTASTIC write up! So much clarity here.
gress 1 day ago 1 reply      
Many comments attacking the author of original article, but not a single one addressing the arguments.
leccine 21 hours ago 0 replies      
I find it fascinating that people misunderstand data so much even 2013 that they end up implementing a totally inefficient solution without actual data modeling and design. The most missed point is usually querying. Focusing on the how do I write data first can lead to disasters like this. Why don't everybody start with the "how do I query this dataset in this shape?" question first?
jliptzin 1 day ago 0 replies      
It's certainly not a one size fits all solution, but saying NEVER use it for anything is a little strong. I've been using it in production now for 6 months on a fairly well trafficked site without a single disruption that wasn't the fault of application layer code.
memracom 1 day ago 0 replies      
Many boosters of NoSQL forget that relational database engines are not all the same. They evolve, and are no longer the same as they were 10 years ago when people started building NoSQL engines. In particular, PostgreSQL is not the same as Oracle or MySQL, and PostgreSQL has been evolving quite a lot in recent years to make it a stronger competitor wih NoSQL.
khailey 1 day ago 0 replies      
Putting together a social network schema and keeping performance in check is less than evident. It's a problem that many have to tackle such as facebook, twitter, linkedin, flickr etc. Here is a blog article discussing some of the issues and approaches: http://www.kylehailey.com/facebook-schema-and-peformance/
danso 1 day ago 0 replies      
My advice to the OP: Re-jigger this article and retitle it: "The Data-Design of Social Networks". That would be a worthwhile read and I appreciate the detail that the OP goes into.

One of the subheads should be: "Why we picked the wrong data store and how we recovered from it"

And not to be snarky about it, but an alternative title is: Why Diaspora failed: because a Ruby on Rails programmer read an Etsy blog and thought they understood databases

eonil 1 day ago 0 replies      
(1) The author knew social data is a graph topology.(2) Also knew there's no true production level graph database solution in the market.(I doubt this but anyway, the author did)(3) And tried to store it into many ISOLATED trees - what MondgoDB offers.(4) Realized that's impossible.(5) Blame MongoDB for lack of graph connectivity feature.(6) Back to RDBMS for consistent graph connectivity.

None of this procedures does make sense.

I want to ask to the author. Did you really knew what the GRAPH is?

csense 1 day ago 0 replies      
I was never fully sold on the advantages of jumping on the NoSQL bandwagon. This article echoes a lot of the concerns I had when people were first getting excited about MongoDB.
exelius 1 day ago 0 replies      
+1 on all the linkbait comments. MongoDB was not a good fit for this project; but there are a great many projects where MongoDB is a great fit. If you were dumb enough to just start using MongoDB (or mySQL, or whatever) without matching it to your data model, that's on you.
mkohlmyr 1 day ago 0 replies      
.. For relational data. Is what the title should be. But that is far less effective linkbait.
seivan 1 day ago 0 replies      
These days I tend to use SQL for data, and Redis for complex relationships and graphs.It's good enough for me to combine those.Usually the relationships are stored with ids on ordered sets. And I just do an id lookup on postgresql.
hakcermani 1 day ago 0 replies      
I wonder why this is such a surprise and all this hoopla ...http://docs.mongodb.org/manual/faq/fundamentals/#what-are-ty...

The big advantage of mongo (as other nosql dbs) is the dynamic schema. Try adding a new column to your sql database ..

dgregd 1 day ago 0 replies      
I hope that Mozilla guys will also learn that lesson. They helped Microsoft to kill WebSQL. So instead of SQLite, we have terrible IndexDB inside browsers.
LouisSayers 1 day ago 0 replies      
How about this for an article: Why you should never use a Microwave.

I tried toasting my toast in the microwave and it didn't work so good.

How about you use a document store for documents, and a graph db for graphs? Of course mongo won't work for data with loads of relationships in it, because it's not meant for that.

Next time take your bread out of the microwave and put it in the toaster - I guarantee you'll get better results.

marvwhere 1 day ago 0 replies      
TL;DR would be nice =/

all in all i do not see all problems u see, we running mongo with elastic search on 30k unique page per day, and we do not have big problems.

AsymetricCom 1 day ago 0 replies      
LMFAO at startups using hot new technology so they can throw back the technical debt back in their willfully ignorant investors' laps. Then the business suits come back thinking "yeah we want a feature that makes us as useful and powerful as IMDB, that site looks so dated, we'll steal their market easy. Yeah just add actors. Piece of cake right? Shouldn't take you more than a day." Hahahahhaha.
bibstha 16 hours ago 0 replies      
Is it also the case of all other nosql databases like Cassandra or CouchDB etc?
johnymontana 1 day ago 0 replies      
The article mentions that they considered a graph database, but considered it too niche for production. Is that the general opinion on graph databases (like neo4j) at this point? Not production ready? This project seems like a perfect application for a graph database.
weddpros 1 day ago 0 replies      
The problem described here is about the lack of transactions only... The relational nature of pgsql or mysql is not what makes a difference when you want "all or nothing" insertions or updates...
devanti 1 day ago 1 reply      
someone misused mongodb, and now they're blaming mongodb for it.

A social network will have a lot of relations -- so you should use a relational database.

Other web apps may not need as many relations (most mobile apps), in which mongodb is a superior solution

snambi 18 hours ago 0 replies      
Absolutely Agree.
halayli 1 day ago 2 replies      
Don't blame it on MongoDB if you are using the wrong tool for the job.
dreamdu5t 1 day ago 0 replies      
Like mongo queries but use SQL with node.js? Check out https://github.com/goodybag/mongo-sql
tayzco 1 day ago 1 reply      
This is just a naive article from a naive developer who shouldn't be responsible for choosing data stores in any project. 4-6 projects is a lot? I think you need to get your head out of your a (like most ruby devs ;).
lampe3 1 day ago 1 reply      
I Stopped clicking on titles like this...Titles with NEVER/ALWAYS/something in that direction are just there to make you click and mostly are not good articles.

Maybe this is i don't know... i don't clicked on it...

Nonplussed techcrunch.com
461 points by pearjuice  2 days ago   236 comments top 34
spodek 2 days ago 7 replies      
Experiences like this led me to leave Facebook, then LinkedIn, a while ago. I haven't deleted my Google+ account only because laziness and fear of an experience like the article's author prevent me from going to the site. People describe leaving as trendy, as if leaving had something to do with other people as opposed to the sites' own repellent behavior. For me leaving was easy and fun -- http://joshuaspodek.com/leaving-facebook-easy-and-fun. Experience has unequivocally shown me my life is better without them.

I have a feeling the market forces forcing Google, Facebook, et al into an arms race after your privacy and personal life will motivate people to leave more and more in favor of small players that do one thing well.

I expect people here will see the writing on the wall first that the sooner you get out the better. Yes, social networks have benefits, but they have costs too.

Deleting Facebook, Google+, LinkedIn, etc accounts improves your life. Deleting them earlier improves your life earlier.

itafroma 2 days ago 3 replies      
I am mostly for the ostensible cleaning up of YouTube comments, but what got me was that any time you share a YouTube video on Google+ proper or comment in a thread where someone shared a YouTube video, it automatically cross-posts what you said back to the comments underneath the video on YouTube. And that's not just for shares/comments going forward: it's everything you've ever shared publicly, ever. I'm now getting inane YouTube-level comments on stuff I shared months ago because I happened to share a popular YouTube video on Google+.

As part of the rare breed of people actually using Google+ proper, it's really turned me off from the whole thing. Even though I shared YouTube videos publicly and commented on publicly-viewable Google+ posts with YouTube videos, I intended to only post my comments and shares on Google+, not syndicated everywhere at a later date without additional consent[1] and especially not the cesspool that is the YouTube comment section. I don't really understand why anyone thought that'd be okay. And anecdote isn't data, but talking to other Google+ users I know, nobody seemed to be aware that this was going to happen: they all just thought the identities would be merged, but if you post on Google+, it'd stay on Google+.

[1]: I'm aware that there's probably some clause in their privacy policy that gave them the legal ability to do this, but Google is usually pretty decent when it comes to informing of changes to privacy/visibility options.

chimeracoder 2 days ago 4 replies      
I wonder how much engagement Google/Facebook/et. al. lose from people who are about to make a comment/post a status/etc., and then thing 'Hm, no - this is private now, but what about in a year when they automatically change my privacy settings without asking me?'

Put another way, imagine I am a teenager or college student who uses Facebook.

1. Start to upload a photo from my phone of me and my friends doing shots

2. Try to figure out how (on my phone!) to set privacy settings so that my younger brother (who is my Facebook friend) and my parents (who aren't, but use the Internet and sometimes Google my name) can't see it.

3. Remember that Facebook has a history of "expanding" privacy settings retroactively

4. Think "Ah, fuck it", and send a Snapchat to my friends instead.

In reality it's probably not that common right now, but hopefully that may increase in the future. You can only pull the rug out from under your users so many times before learn to walk along another path.

jurassic 2 days ago 2 replies      
> You know what? Forget it, I dont even want to comment any more. It was a dumb video anyway.

I went through this exact process and thought ("screw this, ugh!") several times before I just decided to stop hanging out on youtube and commenting on peoples' videos. I used to waste a huge amount of time doing this, but now I only sometimes watch things that others have discovered and shared with me. I don't comment or browse like I used to, and I'm sure their advertising revenue off of me has dropped off a cliff.

It also seems like the amount of intrusive/unskippable advertising has rocketed up, too, over the last couple of years while they were forcing G+ on the world. They're kidding themselves if they think I'm going to happily watch a 30 second ad before a 2 minute viral video.

I was annoyed/sad at first when they started making these changes, but now I realize I was mostly wasting my time doing that stuff anyway. So thanks, Google, for making your site less fun to use; it really has saved me a lot of time.

kmfrk 2 days ago 1 reply      
As someone who likes to avoid posting too much incriminating information on social network, I think the main problem of this trend is that the Internet is turning into No Country for Lurkers.

I can't even favourite nor like a video on YouTube anymore without being subjected to the whole carrousel of signing up for G+. I get the impression that there's some asshole at companies like Google creating a Markov chain for bumping head-first into a registration wall for the most inane lurker actions.

And this is not to mention the absolutely awful situation of being locked out of my own list of favourites, because I am now required to sign up for G+ to export them.

Don't you love the Silicon Valley CEOs who say they want to index the world's information and allow everyone to share it - except this is becoming increasingly impossible on their own platforms such as Facebook, Google, and Quora.

I get that companies have to make money, but I think the companies' business models are perfectly aligned with their personal philosophies.

petercooper 2 days ago 2 replies      
Its not that I find Google or even Google+ itself bad. But the connections between the account, the Google+ profile, the Google profile, the various websites and contact lists

This is totally it for me. I have a few Google accounts (an 'original' one and two Apps For Your Domain ones for e-mail and work) and it seems Google has made Plus accounts for each and I have things spread around them all. I've seen stories where people tried to "merge" accounts and ended up losing access to their mail, etc.. so rocking the boat doesn't seem worth it to me.

I don't mind Google's (usually great) services but it's the binding together that makes me wary.

devindotcom 2 days ago 3 replies      
Hey all. I'm the author. I don't really have much to add here except that I was afraid the article, which I dashed off as all that stuff was happening, would come off as whiny. Hope that isn't the case. Thanks for reading and linking.
venomsnake 2 days ago 3 replies      
Google has really lost its way to do UX. Google plus and youtube are not the one ones.

I have no permanent way to disable Youtube asking me to merge accounts except goat sacrifice and writing directly to Larry Page - "If I rejected you 25 time why do you think I will agree on the 26th"

I had to use Google Maps yesterday - the mobile app. Few things of notice - scale was never given on screen. Also there was not a way by which you could measure the distance between two points.

There are numerous inconsistencies between their products - why is google keep hidden when you are at drive google.com and on and on and on.

I think that this could be case of either no dogfooding or extreme dogfooding - either no one at google uses their own services or they use only google ones and have forgotten that people in the outside world are not so invested in the google ecosystem.

andyl 2 days ago 3 replies      
Google is starting to collapse under its own weight, as all behemoths eventually do.
lobster_johnson 2 days ago 0 replies      
I feel the pain. Just this week I deleted my Google+ account, or profile, or whatever it is. I never used G+ after initially signing up, so I had no use for it.

Deleting the account seems to have had no ill effects. The deletion page did warn me that "third party sign on" would stop working, and I do use the Google third party login via OAuth because some sites rely on it, but nothing broke. Is there some kind of different "login with G+"?

I also moved calendaring and reminders to Fruux [1], and I have previously moved my email and contacts to Fastmail, and my notes to Evernote. I'm still on GTalk via Adium, though -- is there a good replacement for that?

Moving away from the big provides feels good. It feels liberating, in fact. Google and Apple provide whole ecosystems of services, and they really, really want you to buy into their whole integrated system, and they design their systems to stretch their tendrils as far into your computing experience as possible.

At least with Apple that's core to their long-established philosophy -- integrated devices that just work -- but I'm a big believer in decentralization. I want to pick the best possible system that integrates with everything using open standards.

[1] https://fruux.com

[2] https://www.fastmail.fm/

bobbles 2 days ago 0 replies      
To remove your Google+ account but keep your Google services running, visit the following link:


To remove your Google+ account from YouTube:

Go to youtube settings: http://www.youtube.com/account

Click "Return name to <name>, and disconnect Google+ profile"

I was an early adopter to Google+ but screw it, I'm sick of dealing with this crap.

josteink 2 days ago 1 reply      
For those who consider deleting their G+ accounts:

Don't consider it if you're using Android, as some core apps will stop working then (like the photo-gallery).

Yup. It has come to this. Disable or delete your G+ account and your Android phone no longer works.

Google is getting pretty damn creepy. I sure hope the CM-team can come up with some decent replacement apps for all the stuff Google is fucking up these days.

Bahamut 2 days ago 4 replies      
I'm probably in the minority here, but I'm all for this change, largely because of the crappy anonymous comments you see out there on YouTube, which was the point of this transition in the first place.

However, forcing Google+ onto people does have me wary as well. I don't mind using Google+, but it seems like Google's way to slowly worm their way into people using its social component. I admittedly am not sure why it affects me, but something about that does rub me the wrong way (although not enough to ditch using Google services). It's not quite insidious, but it does feel like it gives off the vibe that we are the product, even more than usual.

jenius 2 days ago 5 replies      
I may be mistaken, but I think the entire point of this recent change was to force people to use their real names and faces rather than commenting anonymously (due to the fact that youtube comment sections are typically the worst things ever), and if so it seems like google has actually achieved it's goal.

Now, whether it's a good decision to make it difficult/impossible to anonymously comment on youtube videos is an entirely separate discussion that I'm not taking a side on (yet), but I'd be interested in seeing a discussion about that here.

Havoc 2 days ago 1 reply      
I've had it with the whole online social thing to be honest - it seems to lead to nothing but evil deceptive tactics like the dialog box in the article with only one option. The internet used to be fun...now I get the distinct impression that everyone is out to get me.
DigitalSea 2 days ago 0 replies      
I cannot agree with the sentiment of this article enough. The dropdown in my Youtube shows 3 different accounts. One using my personal email address and then another two which were created channels with the same name. One is linked to my Google+ account (my main one) and the other for some reason is linked to another Google+ account Google created for me. That's 3 different Google+ profiles created for the one email. This is a joke.
grandalf 2 days ago 2 replies      
The "real name" movement is an attempt to turn internet behavior into something more like a credit score.
saiko-chriskun 2 days ago 4 replies      
Again, am I really the only one here that doesn't care about all this? :P
hackaflocka 2 days ago 0 replies      
It's okay folks, Google is only doing what umpteen companies before it have done -- like a good citizen of the tech ecosphere it is paving the way for the next great company.
kmfrk 2 days ago 0 replies      
I'm leery enough about commenting on different sites that use Disqus as it is.
mattmcknight 2 days ago 0 replies      
It would be better to just drop YouTube comments. They are a usually a cesspool of flamewars that add little value to the content.
wambotron 1 day ago 0 replies      
At one point he says he wants to comment as something else so no one sees him comment, then he says he'll post it to facebook so everyone he knows sees his comment.

I'm not going to comment on anything else in the article, this just struck me as odd and obviously contradictory.

barrkel 2 days ago 0 replies      
Ever since Google Reader was discontinued, I no longer log in under my real account on my primary browser any more (I don't use Gmail's web interface either).

Frankly I think that's the way to go. Ideally, we'd have better identity support in our browsers to control which set of cookies to hand out based on which top-level URL we're visiting.

kamme 2 days ago 0 replies      
The people at Google are really pushing for broad adoption of G+. If you think about it, it's pretty logical as they know Facebook is only going downhill and they are trying to get everybody onboard. The reaction I'm hearing a lot however, is they are being too pushy.

I've even had a few people who accidentally signed up for a G+ account ask me how to delete it because they kept receiving 'Top X posts on G+' mails without knowing what it is. I don't think a lot of good things come with this kind of tactic.

scholia 2 days ago 1 reply      
Petitioning Google Google: Change the Youtube comment section back to its original form.


Stands at 80,445 supporters now.

BadassFractal 2 days ago 1 reply      
I've been trying to figure out how to delete Google+ for a while, without accidentally nuking some of the other services such as Picasa etc. Heard of folks losing a bunch of data (Youtube videos?) when they remove their G+ accounts, so that's a huge bummer.

Perhaps it's time to move on from Google Photos, flickr maybe? I don't want another social network.

davidgerard 2 days ago 0 replies      
Keep a separate Gmail/Google/G+ account for your phone and your desktop. If you want to get to your desktop email from your phone, Firefox for Android is less leaky than Chrome.
kunai 2 days ago 5 replies      
I was going to use Google Code for hosting my projects, but, after this fiasco, I think I'll just use Github instead.

Hey, at least I'll get to use a DVCS. :P

In all honesty, though, while this won't hurt Google right now, it's going to come back and bite them in the rear end soon enough. If they keep making these kinds of changes, what's next? Having to sign in to Google+ to use Android? A Google+ feed on the Chrome OS deskop? Requirements for Google+ account with "Developer Privileges" to download Go?

Again, this doesn't matter much now, but it's going to hurt them later. It happens to the best of everyone: Microsoft. Apple. Google.

amaks 2 days ago 1 reply      
"Now theres one less egg in my Google basket, and I never have to pay attention to anything that has the word Google+ in it again just like I did with LinkedIn (stop inviting me, everyone in the world), Pinterest, and a number of other things I had no use for."

Enough said. The dude is a typical Facebook user who is addicted to his only social network and upset about integration between YouTube and G+. Better commenting system and difficulty of creating fake user accounts will increase the quality of comments. I guess the people who complain like to troll or post some obnoxious comments, this explains the frustration.

raymondduke 2 days ago 0 replies      
What a bunch of whiny kids. The Google+ addition to YouTube is a great change.
xacaxulu 2 days ago 0 replies      
Don't build your life on other peoples digital plantations.
studio816 1 day ago 0 replies      
Hey Google, Facebook and others - please implement reddit-style commenting system. Thank you.
danso 2 days ago 0 replies      
The OP makes a good point. But I can't be the only one who wants to watch that bunny video now. Since you're using their work to make your blog post more visually compelling, why not actually link to it?

Here it is: http://www.youtube.com/watch?v=3_J0AMPPD34

cjg 2 days ago 4 replies      
Nonplussed is a dreadful word. It means either:1) so surprised and confused that one is unsure how to react;2) not disconcerted; unperturbed.

Definitions 1 and 2 are opposites. So, is he perturbed or not? "This is totally weird", or "this is weird, but I can so cope with it". Who knows.

Microsoft does away with stack ranking zdnet.com
442 points by cnahr  22 hours ago   146 comments top 32
Ensorceled 20 hours ago 8 replies      
One major thing I learned from 360 reviews is how bad developers are at judging each other or their manager.

I've had employees on probation for lack of productivity judged as excellent by their peers because of their ability to socialize their "abilities". I had the best developer on my team (a 10x developer if ever there was one) get slammed on technical ability rankings because of his prickly personality.

My VP and I used have quite the chuckle at all my "strengths" identified by my team and peers ... because they liked me and I was effective they attributed positive characteristics to me that I did not have.

ethomson 21 hours ago 8 replies      
This was seemingly inevitable whether this is actually useful or not. Microsoft has been getting increasing heat about our stack ranking system, both from employees and from external people.

But I don't think stack ranking is our problem. I think our problem is that we value this notion of the brilliant and excellent individual contributor instead of valuing employees that value teamwork and team problem solving. I suspect this is an institutional problem, having been started by exactly that sort of person.

It's this that causes the backstabbing and the mess that people attribute to "stack ranking". Until we put value in changing this culture, I don't see too much changing.

(Disclaimer: my team at Microsoft is sort of odd - we're not in Redmond, and I don't see a lot of this backstabbing that is oft-reported. I do see our managers overvaluing the brilliant IC and I do see my organization undervaluing teamwork, but at least we're not doing that stupid game playing like joining weak teams to get great reviews.)

jrockway 21 hours ago 0 replies      
This sounds pretty good to me. If they actually implement what they wrote about here, I think Microsoft could become one of the better big companies to work at.

(I have a friend who works at BofA. They wanted him to take on a new project that he wasn't interested in. As a reward for agreeing, they went back to his old performance reviews and changed them from "Meets expectations" to "Exceeds expectations" and then promoted him for excellent performance. LOL.)

Shenglong 21 hours ago 7 replies      
We will continue to invest in a generous rewards budget, but there will no longer be a pre-determined targeted distribution. Managers and leaders will have flexibility to allocate rewards in the manner that best reflects the performance of their teams and individuals, as long as they stay within their compensation budget.

Is this not in effect the same as a curve? Giving higher bonuses to one person means giving lower bonuses to another. Giving everyone the same bonus discourages high performers from staying (and also working on the same team). People who receive little to no bonuses take the hint to leave, just as if they had received a 4 or a 5. Considering only 10% of employees receive a 4, and 5% receive a 5, I'm thinking that effectively, there has been no change.

pmh 22 hours ago 1 reply      
Interesting timing given the article and discussion yesterday [1] about other companies using stack ranking. I wonder (and to some extent hope) that the others follow suit.

[1]: https://news.ycombinator.com/item?id=6712717

Patrick_Devine 21 hours ago 1 reply      
This is good to see. The whole premise of stack ranking is fundamentally flawed.

Clearly there is a curve that when applied to an entire population shows that there are under-performers. So far, so good, however, the problem is that stack ranking isn't applied to the entire population since it's impossible to normalize the performance of each individual. Instead, companies that stack rank do it on a team-by-team basis, which is a statistically inaccurate sample of the population where there can be a lot of skew.

Since it's up to the manager to rank their employees, this causes a lot of problems. This is particularly a problem if the manager sucks at hiring, or over hires for their team, and there is a lot of chaff. There is a massive incentive to do this, because the more employees a manager has, the more corresponding perceived worth in the organization they'll have. Plus, if it comes time to cull, it's really easy to shield the favourite employees, even if they have performed poorly, without disrupting the organization.

On the flip side, if you're really, really careful about who you bring on board, your team is in a weaker position because there is no one to terminate. This means you get rid of good performers based on bullshit metrics. I saw this happen at a largish virtualization company where one of the best employees on our team was let go because he had some minor HR-ish type issue. This caused a big percentage of the team to be demoralized and ultimately leave.

gesman 21 hours ago 0 replies      
Stack ranking is created by management's inherent inability to trust people.

And that, in turn, is created by management's inability to trust in their own abilities. This is proved to be true in case of Ballmer and overall Microsoft's performance while under his leadership.

These changes are surely a positive sign for Microsoft.

mathattack 18 hours ago 1 reply      
Now that they get rid of it, I wonder if they're going to run into problems on the other extreme...

- Difficulty knowing who the best employees are.

- Employees surprised by layoffs. "I thought I was doing well."

- Managers slacking on giving constructive feedback.

Performance management is such a tough subject. Both extremes (ruthless stacking, and no-curve) have issues and I don't know a better solution.

alkonaut 20 hours ago 2 replies      
I wasn't aware that US companies ranked employees and used rankings when purging the workforce (when I think about it it's a pretty obvious idea). In countries with stronger labour laws "underperformance" basically isn't a reason to fire someone. The employer is responsible for the employees performance (training etc.). This can be frustrating in the software business when just a few really poor performers can really sink a team. Obviously forming a really elite team in the US is easy, since you can purge from the bottom, provided you don't affect morale too negatively. But how do you do it in countries where firing for underperformance isn't an option? It's really hard to get away from a bell-curve team.
jasonculbertson 19 hours ago 1 reply      
I saw the downfall of stack ranking immediately after a company I worked at was acquired by Microsoft. The workplace changed within a month from one focused on teamwork and support to Lord of the Flies. When the only way you can succeed is by being "better" then someone else you are forced to step upon others.

I believe that this is also the effect of working for a public company with a stock that hasn't moved in price in 10 years.

jmspring 21 hours ago 0 replies      
An interesting read related to the topic -- Sinovsky on performance evaluation and large orgs:


moca 13 hours ago 0 replies      
This is absolutely great for Microsoft and its employees. Grade by curve creates internal friction that is harmful to the team. I am a manager in a large company. I always suggested to grade by performance against job level. There is written requirement for each job level, it is relatively easy to measure against the written description by both managers and peers. Everyone has incentive to get salary raise, bigger bonus, promotion. There is no need to use internal competition to add more pressure.

On the other hand, the lower 5% people only cost about 2% of companies spending. It is not even worth to worry about it. You need to interview equivalent to 50% of employee count to replace that 5%, plus whole set of HR bandwidth to handle it. Microsoft has been losing a lot of value to fire lower 5% while keep a lower 5% CEO at the top for so many years.

bmohlenhoff 18 hours ago 0 replies      
It's nice that now they are going to value teamwork and collaboration more highly, but I don't see the lack of a curve making much of a difference in compensation level for the average contributor. The total size of the compensation budget is fixed, and they have to spend all of it.

Just because now 30% of the staff can fall into the Exceed Expectations bucket doesn't necessarily mean that the budget increases. The money gets divided differently, that's all.

It does seem like a positive change though if they can improve the culture of the workplace and minimize the amount of backstabbing, cronyism and political nonsense.

Todd 19 hours ago 0 replies      
This is a great move for the company. Especially now that so many competitors have internalized the process. It was the single most identifiable thing that poisoned the culture at the company. It will be interesting to see what they replace it with. The process certainly made it easier to make decisions higher up the chain (even if it was difficult for the managers and their direct reports).
ironchief 10 hours ago 1 reply      
By killing stack ranking, MSFT has taken low hanging PR fruit from the next CEO
SubuSS 19 hours ago 0 replies      
>We will continue to invest in a generous rewards budget, but there will no longer be a pre-determined targeted distribution. Managers and leaders will have flexibility to allocate rewards in the manner that best reflects the performance of their teams and individuals, as long as they stay within their compensation budget.

The compensation budget is the key part here. I don't know how this is going to account for:

- Failed products with smart developers and their retention.- Avg products with very smart developers- Less 'visible' projects. Those that management don't realize is necessary until you have no one working on it. (This happens a LOT in big companies).

All this can be solved by pumping a ton of money into this as they are alluding elsewhere though.

Overall the fact that they are taking feedback seriously and are working towards a solution is pretty positive though.

DenisM 21 hours ago 0 replies      
If I remember correctly, they promised that before, and all that came out was that "the curve" was still there, but hidden from sight and under a different name.
fluxon 18 hours ago 0 replies      
This is interesting in the context of https://news.ycombinator.com/item?id=6712717 "Why are Amazon, Facebook and Yahoo copying Microsoft's stack ranking system?" - the feature copying usually goes the other way.
ffrryuu 21 hours ago 0 replies      
Microsoft is having a horrible time hiring anyone due to the stack ranking. The rot is now too deep.
j_baker 20 hours ago 1 reply      
The last bullet point strikes me as incredibly odd. No ratings? How will managers determine raises and bonuses if they don't have a rating to determine whether the employee is meeting expectations or not?
mkramlich 20 hours ago 0 replies      
Good for them. I don't like Microsoft but I like to see any company getting smarter. It's hard enough as it is to find and keep good people. And there are pretty obvious alternate ways to identify and expel "dead wood" if that was their original justification for stack ranking.
joeldidit 5 hours ago 0 replies      
I'm glad this happened. It was a completely necessary move. I hope it's not just a surface change while they twist things to keep it all going. Backstabbing and not collaborating to ensure you're not the one at the bottom of the curve is no way to work. And having to worry about and deal with backstabbers everyday quickly leads to a toxic work environment. Good riddance.
tn13 16 hours ago 1 reply      
No one actually says stack ranking is bad. But in reality it is very effective in getting rid of few troublemakers.
curiousDog 21 hours ago 0 replies      
Looks like the process will be more peer driven. There'll probably still be ranking to find the top performers rather than weed out the bottom 10, which is good.
brosco45 14 hours ago 0 replies      
Best way is to do away with review and go with equal profit sharing instead. You don't even need to worry about levels/title, just call everyone a Vice President.
anmalhot 20 hours ago 0 replies      
i hope this will curb people from constant backstabbing that I witnessed during my short duration there. It was painful to watch very smart, bright people indulge in really pathetic behavior consciously to 'protect' themselves..
mbesto 17 hours ago 2 replies      
Curious - what's the origin of stack ranking? Was there any science (psychology/sociology) behind it?
kmeredith 15 hours ago 0 replies      
I'm a big fan of Dale Carnegie, http://en.wikipedia.org/wiki/How_to_Win_Friends_and_Influenc....

But, I think that leadership/true emotional control means that, even if someone is treating you wrongly or criticizing you, you can dissect the behavior, and then appeal to reason.

For example, I appreciate, and even invite, ruthless criticism ("go ahead and insult me if necessary") when getting feedback (on my code, performance, etc.)

The importance of having friends who can say, "you're an idiot - you don't understand X, Y, Z" is high.

Sometimes I dislike when, at previous jobs, I've had to mask the truth simply to avoid hurting someone's feelings. Because, if you hurt someone's feelings, that person will close up to you.

san86 20 hours ago 0 replies      
I kinda like what my employer does. There is a 1-5 ranking, but the distribution/buckets for bonus is determined after the reviews are complete. Of course, the concern here is that management "can" slot the buckets in a way that suits them, but I trust them enough to not do that..Due to this, no one knows "what needs to happen to get X bonus".. everyone is just trying to do their best to get to the highest score and the amount of cash you get depends on what bucket you fall under
cykho 17 hours ago 0 replies      
This is going to open the floodgates of deadwood. Stackranking at least forces hard choices. They just needed to adjust the curve by team performance. E.g. rockstar teams have more exceeds than underperforms and a failing team has more underperforms than exceeds. Under the most recent system the best way to get a review is to be an A player on the B team.
joeldidit 21 hours ago 0 replies      
I almost wet myself.
ujsfdo 21 hours ago 1 reply      
Bill Gates improved the world!
Hey developers, stop forcing me to login to unsubscribe
424 points by andrewhillman  3 days ago   132 comments top 54
sker 3 days ago 5 replies      
Companies like LinkedIn are training users (at least me) to report as spam instead of unsubscribing because it's an exercise in futility to try to opt-out of their spam.
morganb180 3 days ago 3 replies      
Edit: I missed the transactional part here. Transactional emails are excluded from CAN-SPAM. There's a test to figure out which is which: http://www.the-dma.org/press/PrimaryPurposeFactSheet.pdf

It's shitty UX regardless of whether it's a violation of law, IMO.

Original: It's a violation of CAN-SPAM law to put unsubscribe behind a login process. Asking for a password violates the requirement that no additional PII except for the email be required to process the opt-out.

From the FTC:

Honor opt-out requests promptly. Any opt-out mechanism you offer must be able to process opt-out requests for at least 30 days after you send your message. You must honor a recipients opt-out request within 10 business days. You cant charge a fee, require the recipient to give you any personally identifying information beyond an email address, or make the recipient take any step other than sending a reply email or visiting a single page on an Internet website as a condition for honoring an opt-out request.


tokenizer 3 days ago 0 replies      
As someone that works in email disseminations for large public companies across the globe, it's really bad idea to not have one click unsubscribes, due to the actual weight large email services weighting the act of a user marking an email as spam.

It's a crappy process to deal with, and can affect you for a critical day or two. An example being that one of clients collected email in a greasy was, and increased their email blasts from 25,000 to 75,000.

I'm sure they wanted to reach more people, but yahoo and a few others marked ALL of the messages as spam due to massive increase in volume from this client.

Advice: Do things in a non greasy way, and while you may grow slower because of it, your users, and their email providers, will like you more for it.

overshard 3 days ago 1 reply      
I have given up trying to unsub from many places, sometimes unsubing doesn't do anything, I generally just mark it as spam now days.
camus2 3 days ago 1 reply      
Easy for me , no direct "unsubscribing" => spam box. If you provide a newsletter the last thing you want is to be flagged as spam, so think about it.
ruswick 3 days ago 1 reply      
This is a deal-breaker for me, and I immediately delete my account on any service that attempts this type of bullshit.

If a service makes me log in to unsubscribe from their spam, they can be assured that it will be the last time I ever log into their service.

chilldream 3 days ago 2 replies      

This happens to me about twice a year (not a firstname.lastname, but a commonword.commonword. It's like a stupidity-driven dictionary attack). The worst companies I've had to deal with:

Steam - took me multiple emails over the course of weeks, and they actually made me send them screenshots to prove the account was mine. I only went to this much trouble because I have a legit Steam account. Especially funny since I casually told them that I was a hair trigger away from just resetting the idiot's password and hijacking his account.

AT&T - Flat-out refused to unsub me from someone else's phone bills. After several calls to AT&T I finally gave up and called the customer. An AT&T rep actually had the balls to tell me that making me do this was for the customer's protection.

koudi 3 days ago 4 replies      
This is really annoying. What I find more annoying is response like "We will process your request within 30 business days." (and after that period receive another spam). What could possibly take 30 business days to unsubscribe email? This is evil.

I would also like to see some sort of standard - like email header with link, that would unsubscribe you. Outlook/thunderbird/etc could just show button (probably next to "mark as spam" :)) and you couldjust click and be done. I think google tried something like this, but I've never heard of anyone else.

Cyranix 3 days ago 2 replies      
Hear, hear. If you're worried about legit customers getting unsubscribed against their will (because that is TOTALLY a significant occurrence...), you can have a dual approach. Unsubscribing without authentication sends one final message which has an undo link; unsubscribing while authenticated shows a confirmation on the site instead of the inbox.

I know, the "Here's an email to confirm that you hate our emails" message isn't anyone's favorite... but if it helps companies improve their unsubscription mechanisms, I can let it slide.

bobwatson 3 days ago 0 replies      
I share a name with dozens of people who all seem to have a common issue - they can't spell their own email address, so they use mine.

This means it's impossible for me to unsubscribe from all sorts of things, since 'forgot my password' with a lot of places requires a birthday, access to the phone that's on the account, answers to security questions, etc. etc.

If I click 'unsubscribe' and get asked to log in? I just go back and click 'Report Spam'.

daveid 3 days ago 0 replies      
I disagree, the most annoying thing is when the unsubscribe link leads you to a 404 page (or an "Untrusted SSL certificate" warning).
ryanbrunner 3 days ago 0 replies      
The one thing that you do need to consider with a complete one-click unsubscribe is whether your e-mail could be forwarded - if a user forwards an e-mail, it's possible that whoever recieved the message could unsubscribe on their behalf.

Probably the best thing to do, IMO, is a simple two click unsubscribe - take them to a page with their e-mail address already filled in, and just require them to click "OK" to confirm which address is being unsubscribed.

DHowett 3 days ago 1 reply      
I was recently bitten by the Freelancer/vWorker acquisition in this regard! I became "vw9916640" and hadto my knowledgeno password. This did not stop their unsubscribe form from prompting for the aforementioned unknown/nonexistent password.

I'm still getting e-mails from them to this day.

dreese 3 days ago 1 reply      
Yes. Especially when someone else mistyped their email address, you did not ask for confirmation, and now I get endless emails without the ability to sign out. So I just mark everything as spam, which I know isn't what you were hoping for. :)
Satoshietal 3 days ago 0 replies      
Especially when your email address has been signed up to dozens of mailing lists as some sort of perverted revenge via spam. I can't log in because I didn't create the account. The developer is doubly at fault for allowing an account to be created without confirming the email address.

My revenge is training Gmail that email from such senders is Junk and Spam. Eventually Gmail dumps them automatically, hopefully for everyone.

evadne 3 days ago 2 replies      
Oh, easy, I just mark all emails as spam.
lutusp 3 days ago 0 replies      
> There's nothing more annoying than clicking that 'unsubscribe' link at the bottom of your email only to be asked to login first.

But there's a reason, and to understand the reason, you need to understand something about the law.

You want to be taken off the mailing list of a company that technically is spamming you, violating the law. But if the company can get you to sign in first, you technically become a customer, and they can then spam you endlessly and legally.

But -- a company that requires you to sign in, in order to opt out, is breaking the law. The Can-Spam Act requires opt-out to be readily available and simple (see below). On that basis, sites that require signups to opt out are engaged in a criminal conspiracy.

From the law: "You must honor a recipients opt-out request within 10 business days. You cant charge a fee, require the recipient to give you any personally identifying information beyond an email address, or make the recipient take any step other than sending a reply email or visiting a single page on an Internet website as a condition for honoring an opt-out request."

-- http://www.business.ftc.gov/documents/bus61-can-spam-act-com...

They're breaking the law. They are criminals.

dredmorbius 3 days ago 0 replies      
Another side effect of such requirements: it means that even white-hat ops at the service itself cannot address the issue sanely.

At multiple gigs, at multiple sites, a significant amount of bounced mail consists of messages sent to long-term undeliverable addresses (in many cases: to domains which no longer exist, and/or have been tranferred, and/or the owning company has gone out of business: think Enron, AT&T's discontinued ISP network, Lehmann Brothers, etc.).

Even if I'd _wanted_ to create rules or write scripts to automatically process the messages, the login requirements generally meant that wasn't possible. Instead, these comprised both a significant amount of outbound mail queues and nondelivery notifications, potentially masking more serious issues (you've got to come to understand what notifications are effectively part of background noise vs. not).

Oh, and some of those domains still exist in some regards (e.g., there's a skeleton crew at Lehman winding down the firm), so you can't just blindly select entire domains.

File under continuing hassles of a conscientious admin's job.

bryanh 3 days ago 2 replies      
At Zapier, we jumped through a lot of extra hoops to make sure that emails are categorized and you can easily opt-out with a single click (no matter if you are logged in or not). Some emails cannot be opted out of (the only two right now are payment transactions and forgotten/reset password) but everything else can be.

We have a lot of other cool stuff in emails like single click logins, viewing pixels with custom payloads, our open source drip campaign mailer for Django, and much more. If there is any interest, I'd be happy to go into deeper detail.

delroth 3 days ago 1 reply      
If a sender does not let me unsubscribe without logging in, I usually end up (after 3 or 4 times clicking the unsubscribe link, getting frustrated, and deleting the email) adding a filter to automatically mark their emails as spam.
allochthon 3 days ago 0 replies      
I'm inclined to think requiring the login is an intentional choice in most cases rather than an oversight; it raises a barrier to unsubscribing, and can even make it impossible, if you never set up an account in the first place. It's sort of like saying you can unsubscribe if you like, without actually providing the option; it offers plausible deniability.

I just click on "Spam" and, if it continues, set up a filter to /dev/null.

apr 3 days ago 0 replies      

I never log in in such circumstances, I just hit the 'spam' button and that's that. I trust the email service to categorize the further emails accordingly and that's what usually happens.

eof 3 days ago 0 replies      
A more aggressive version of this I posted 1019 days ago: https://news.ycombinator.com/item?id=2139617
jonchui 1 day ago 0 replies      
+100000000 !!!!!!!!!!!!!

I can't think of how many times I've had to do this. I relaly like georgemcbay@'s idea to just mark as spam. Gonna do that from now on

j-s-f 3 days ago 0 replies      
If your unsubscribe isn't one click, or you don't have an unsubscribe, and I don't like your emails, the message gets marked as spam.
bilalq 3 days ago 2 replies      
On one hand, I do agree that it is very annoying. However, I can kind of understand.

There may be a way around this, but if no session was required, then couldn't someone just make a bunch of GET requests to the unsubscribe url for each user id and unsubscribe the entire user base?

jackmaney 3 days ago 1 reply      
It's also a violation of the CAN-SPAM act: http://business.ftc.gov/documents/bus61-can-spam-act-complia...

If I try to unsubscribe from an email list and am presented with a login prompt, I report the sender as spam without an instant of hesitation or regret.

quellhorst 3 days ago 0 replies      
If I have to login to unsubscribe, I block the sender and report the emails as spam.
FiloSottile 3 days ago 0 replies      
"If your newsletter doesn't have a single-click unsubscribe link, GMail surely has a single-click spam button"
joeblau 3 days ago 0 replies      
I mark those messages as spam. If enough people do that, Google will permanently allocate them where they belong.
hangonhn 3 days ago 0 replies      
Oh man! If I could vote you up more, I would.

A while back a forum spammer decided to use my Gmail address to spam forum sign-ups. I got Gmail to filter most of them into the trash (the spammer used a variation of my email address I don't use. Gmail allows variations in email addresses). Afterwards I wanted to clean things up and a lot of the senders require that I log in first to unsubscribe. That they would sign me up without verification is bad enough but requiring that I login to unsubscribe made it just too difficult. So now I just filter everything that was sent to that variation of my email and mark them all as spam.

Lose-lose for everyone.

dcoupl 3 days ago 0 replies      
Nitpick, but the person(s) who wrote the code are probably not the one(s) who make these sorts of decisions about how the product or service will handle un/subscription. More likely its the product manager(s) or other business person types.
rhizome 3 days ago 0 replies      
LinkedIn does it, why shouldn't they? LI is a successful, IPO'ed company, surely they wouldn't be doing anything detrimental.
drewhouston2 3 days ago 0 replies      
I always mark mails as spam if it takes more than one click to unsubscribe.
judk 3 days ago 1 reply      
Just press the SPAM button in your mealreader. Problem solved.
OnionChamp 2 days ago 0 replies      
If you're using gmail, just use the "filter messages like this" feature to make messages from the given address skip the inbox or be deleted on arrival.

So there's no reason to ever have to deal with the unsubscribe links in emails. It puzzles me that people that people who use gmail still complain about this stuff. Do people not know about this feature?

andresmh 3 days ago 0 replies      
I kinda gave up, and simply create an email filter that deletes any email from the domain name of the sender.
rothsa 3 days ago 0 replies      
Making it difficult to unsubscribe will also make it difficult for your mail to continue to deliver to inbox. It encourages people to report your mail as spam.
dmak 3 days ago 1 reply      
I usually just resort to the report spam button if I have to login.
xux 3 days ago 1 reply      
Not that I'm supporting login-to-unsubscribe system, but wouldn't requring just an email to unsubscribe allow anyone to unsubscribe you?
scosman 3 days ago 0 replies      
Reminder: some updates are needed regardless of unsubscribe state (such as change of TOS and changes to pricing). These are allowed under CAN-SPAM.

If you are still a user (you unsubscribed but didn't delete your account), expect much less mail, but not quite zero.

phillips1012 3 days ago 0 replies      
I always simply mark it as spam repeatedly until gmail auto-generated a filter to auto-spam it. It is spam and should be treated as such.
Demeno 3 days ago 0 replies      
Someone used my email on several children's games websites, and some of them started sending me emails without verifying, so I couldn't even unsubscribe at all because I wasn't the one that registered to that site... At least emailing their support got me out of that mailing list...
shahartal 3 days ago 0 replies      
A relevant post:http://shahart.al/2013/07/13/on-the-perils-of-owning-a-vanit...(Also - check out the reddit thread [link in text])
flippyhead 3 days ago 0 replies      
I usually try to hit unsubscribe first. If I'm not immediately unsubscribed, I just mark them as spam and move on.
bgaluszka 3 days ago 0 replies      
I wish they not only put one click unsubscribe link but also one click remove account from given service. I've noticed that removing account is is what I need more often than unsubscribe.
tomasien 3 days ago 0 replies      
parham 3 days ago 0 replies      
This is one of the most annoying things I've experienced! You can nuke all these emails if you add the "Unsubscribe" keyword to your filters.
ktran03 3 days ago 1 reply      
Agreed, that's very annoying. I'm still subscribed to a few emails I don't want, only because they make it so difficult to unsubscribe.
gesman 3 days ago 0 replies      
In case of "unsubscribe" - click on "Spam" link.
stefek99 3 days ago 0 replies      
Sorry, this is a darkpattern* (their deliberate action)

I also mark such email as spam.

vinitool76 3 days ago 0 replies      
Twitter does it the right way! Kudos!
motyar 3 days ago 0 replies      
tyilo 3 days ago 0 replies      
this x 10
Pyret: A new programming language from the creators of Racket pyret.org
383 points by sergimansilla  4 days ago   282 comments top 30
gizmo 4 days ago 10 replies      
Pyret looks like a there's a lot going on, based on the examples. It has implicit returns, special purpose syntax for data structures, iterators, assertions, refinements, etc. Having support for more stuff makes it less suitable as a teaching language, not more. Pyret looks like a has the good bits of Python plus a whole bunch of other cool stuff. But the language is pretty complex as a result.

Cool? Yup! Good for teaching? Probably not.

Take a look at the grammar and judge for yourself: https://github.com/brownplt/pyret-lang/blob/master/src/lang/...

terhechte 4 days ago 12 replies      
"""Pyret makes testing a natural part of the programming process. Functions can end in a where: clause that holds unit tests for the function. These assertions are checked dynamically."""

Fantastic idea! I'll keep that in mind, should be fairly easy to extend Lisps or other AST-Macro enabled languages (Elixir, Julia, Python) with such a functionality. I really like that. It makes it easy to work on a function and code tests down without switching contexts (files, workspaces, etc)

tbenst 3 days ago 2 replies      
I took CS019 with Shriram a few years back and immediately guessed the authors based on paradigms like making testing a natural part of the language and the encouragement to use annotations. In the class, we were taught a design process for Racket that will work very well for Pyret:

1. Identify the data - create data definitions (You are gixen x and expected to produce y)

2. Write concrete examples of the data (This is hard and takes time)

3. Write contract, purpose, header for functions (contract and header are annotations in Pyret, purpose should be a commented statement)

4. Write concrete examples of the function (This is hard and takes time. This means test cases!)

5. Write the template (This may only apply to recursion in Racket, but the idea is if you're dealing with a cons, you always have the same structure of checking if a cons? or empty? and must recur)

6. Fill in the template (ie, complete the function)

tinco 4 days ago 4 replies      
Why the superfluous syntax? I think remembering syntax like this is orthogonal to the goal of being easy to learn.

The syntax is basically Ruby + Python + Haskell. Each of those languages has a lighter, more intuitive and memorable syntax.

Why would the syntax be:

    data BinTree:      | leaf      | node(value, left, right)    end
Instead of just

    data BinTree = leaf | node(value, left, right)
The whole colon thing in Python is a mistake, it should have never been in Python, and it definitely not be repeated in other languages..

zem 3 days ago 0 replies      
I really love the surface design decisions taken here. Particularly

* ML-like syntax for algebraic datatypes and matching. ML got it right; it always seems a bit off when languages try to make ADTs look like some other syntactic construct

* the cyclic and graph declarations

* accessing datatype variants using an OO-like syntax. simply brilliant.

* non-significant whitespace. for all the pros and cons, autoindenting is something i hate to give up.

takikawa 4 days ago 0 replies      
Pyret has lots of nice ideas, looking forward to see it evolve.

That said, the title of this post is a bit misleading so I wanted to correct it. The group of people who develop Racket and Pyret are mostly disjoint. I'm not trying to diminish Pyret at all, but wanted to make sure the right people get the credit. You can find out who develops Pyret here: http://www.pyret.org/crew/

tel 4 days ago 2 replies      
Python-like syntax with pattern matching and recursive ADTs!? What a great idea!
colanderman 3 days ago 1 reply      
I can't find any documentation on the type system. In particular, I'm interested in how objects are typed (that they're both structurally typed and may be abstract is novel), and the capability of the type refinements.

I loathe template-based OO due to the possibility of monkey-patching but the fact that objects are immutable looks like it might ease this. (Generating efficient code might still be difficult.)

I don't see the use cases for the cyclic structure as presented. If your data at all resembles a database relation, then (a) you have scalar keys anyway so you don't need language support, and (b) you probably need to key off of more than one column.

The "method-as-fun" semantics seem weird. Given this code:

    o = { x(self): self.y end, y: 10 }    f = o.x
f() returns 10, as per the examples on the front page. But then:

    p = o.{y: 15}    q = { x: o.x, y: 15 }
Clearly p.x() should return 15, but what does q.x() return? It doesn't seem clear whether it should return 10 or 15. (Without reading through the reference manual (it's late), my guess would be that method definition is special-cased, so that the answer would be 10.)

kazagistar 3 days ago 2 replies      
Somehow, it looks a lot more like lua with a bunch of type-checks and tests added then like python. No named parameters, no generators, no comprehensions that I can see, no focus on iteration in general, no significant indentation, etc.

Instead: "end" syntax, unified number type, all blocks produce new scopes (not just functions), local variables are explicit instead of default, etc.

klrr 4 days ago 4 replies      
This project seems really promising, but I got one concern. Lisp's syntax have been one of its strength for beginners. Easy to learn, easy to solve common errors. I don't see the point of having Python-like syntax really, the user could learn other syntax after they've understood programming.
jdnier 3 days ago 1 reply      
> Most scripting languages don't support annotations for checking parameters and return values

PEP 3107 introduced function annotations to Python 3. The following syntax is valid:

    >>> def square(n: int) -> int:    ...     return n * n    ...    >>> square(3)    9
Nothing is done with annotations by default. Here's an article discussing this "unused feature": http://ceronman.com/2013/03/12/a-powerful-unused-feature-of-...

b6fan 3 days ago 1 reply      
The Ruby examples are unfair.

Ruby intentionally makes parenthesis optional. So `do_something` is `do_something()`.

For the first example,

  - method_as_fun = o.my-method  - method_as_fun(5) # not reached  + method_as_fun = o.method(:my_method)  + method_as_fun.call(5) # or method_as_fun[5]
And for the lexical scope thing,

  def f(x)    g = ->y {x + y}    g[2]  end  f(2)
Or, explicitly use class variables,

  def f(x)    @x = x    def g(y); @x + y; end    g(2)  end  f(2)

mageofmath 3 days ago 1 reply      
I also like the fact that you can put unit tests for helper functions that are inside of other functions. This means you can use the inputs to your outer function as part of the tests for an inner function, which has been hard to do in the past.
lars512 1 day ago 0 replies      
Incidentally, a Gist for installing Pyret using Marelle:


jimktrains2 3 days ago 0 replies      
Mostly OT: I've been working on the spec for a lang I'd like to implement at some point and would like feed back if anyone cares to give any?


garysweaver 3 days ago 1 reply      
> Most scripting languages don't support annotations for checking parameters and return values

I coded in Java for many years and Ruby for the last several, the lack of explicit type checking in method signatures or via annotations built into Ruby has not gotten in the way enough where I felt I needed to add something to decorate methods to do some generic form of type checking in Ruby. When I really need to check the type of an object sent into a method, it is typically a method that can handle different types, and in that case, I'll use respond_to?(...) to see that an object passed in as an argument responds to a method, use a case statement, is_a?(...), etc. but that is certainly not on every method- probably more like 1 in 20-30 methods.

Also, in the comparison section of the doc, OCaml and Python were represented, but not Ruby. As of late 2013, there are more jobs containing "Ruby" in the job description than "OCaml": http://www.indeed.com/jobtrends?q=ocaml%2C+ruby&l= So, imo it should give Ruby some love with a comparison.

kolev 3 days ago 0 replies      
I lot more Ruby-like than Python. Not sure why it both has ":" and "end" and the "|" is kinda ugly the way it's used.
yashodhan 3 days ago 0 replies      
dashes in function names! I'm in love.
progman 2 days ago 1 reply      
Pyret looks very promising. Keep on the good work!

But please remove the minus sign from identifiers! I am concerned that people may abstain from Pyret for this simple reason. It is really annoying to embrace every operator with blanks. That should be an optional job for the IDE to increase readibility.

By the way, is there already a raco exe for Pyret?

JulianMorrison 3 days ago 0 replies      
This looks like it could be useful as a way to prototype a real program.
pekk 4 days ago 2 replies      
Looks more like Ruby than Python, why the comparison to Python?
kerryritter 3 days ago 0 replies      
This doesn't seem like it would be easy for novices to grasp, though it looks like a solid language. For teaching, I think Quorum (http://www.quorumlanguage.com) seems like a stronger alternative (disclosure, I am a member of a CS senior project team building their web system).
dragonbonheur 3 days ago 1 reply      
Those "new" languages keep looking more and more like BASIC.
pcmonk 3 days ago 1 reply      
I wonder how well this integrates with Racket? I see that it's built with Racket, but I'd be curious if I could mix and match this with all my Racket code.
fedvasu 3 days ago 1 reply      
sounds like ML+contracts, but wait is it statically typed? Maybe not Racket folks hate types (with great dredd)
breezydon 3 days ago 0 replies      
Pyret is so hot these days.
mrcactu5 3 days ago 1 reply      
it sounds great to blend Python and Lisp!
mcpherson 2 days ago 0 replies      
functions are fun
kudu 4 days ago 0 replies      
> end


k_bx 3 days ago 0 replies      
> Python-inspired syntax for functions

> fun to-celsius(f):

> (f * (5 / 9)) - 32

> end

Wait a minute..

Occupy Wall Street activists buy $15m of Americans' personal debt theguardian.com
372 points by sdfjkl  22 hours ago   257 comments top 26
nostromo 20 hours ago 16 replies      
Random idea: If a creditor is about to sell your debt to a debt collector for pennies on the dollar, what if they were forced, by law, to give you right of first refusal?

For example: I owe a credit card company $20k, but I have defaulted on the loan. The credit card company is about to sell this debt to a collector for $1k, who will proceed to make my life miserable. If there were such a law, the credit card company would first have to offer the debt to me for $1k. In this scenario, I could indeed buy my own debt and we all could go on our merry way (except the debt collector).


noonespecial 20 hours ago 3 replies      
This demonstrates an interesting thing about medical debt in particular. They seem to be operating it almost like a market segmentation tool. The richest people simply pay the stated rate, everyone else pays the maximum rate that they are able as it travels down the debt staircase.

A more cynical way to look at it? When you get (really) sick, the price for care is everything you have, whatever that happens to be.

kingmanaz 17 hours ago 0 replies      
From Plutarch's "Lucullus":

"Lucullus now turned his attention to the cities in Asia, in order that, while he was at leisure from military enterprises, he might do something for the furtherance of justice and law. Through long lack of these, unspeakable and incredible misfortunes were rife in the province. Its people were plundered and reduced to slavery by the tax-gatherers and money-lenders. Families were forced to sell their comely sons and virgin daughters, and cities their votive offerings, pictures, and sacred statues. At last men had to surrender to their creditors and serve them as slaves, but what preceded this was far worse, tortures of rope, barrier, and horse; standing under the open sky in the blazing sun of summer, and in winter, being thrust into mud or ice. Slavery seemed, by comparison, to be disburdenment and peace. Such were the evils which Lucullus found in the cities, and in a short time he freed the oppressed from all of them."

"In the first place, he ordered that the monthly rate of interest should be reckoned at one per cent., and no more; in the second place, he cut off all interest that exceeded the principal; third, and most important of all, he ordained that the lender should receive not more than the fourth part of his debtor's income, and any lender who added interest to principal was deprived of the whole. Thus, in less than four years' time, the debts were all paid, and the properties restored to their owners unencumbered. This public debt had its origin in the twenty thousand talents which Sulla had laid upon Asia as a contribution, and twice this amount had been paid back to the money-lenders. Yet now, by reckoning usurious interest, they had brought the total debt up to a hundred and twenty thousand talents. These men, accordingly, considered themselves outraged, and raised a clamour against Lucullus at Rome. They also bribed some of the tribunes to proceed against him, being men of great influence, who had got many of the active politicians into their debt. Lucullus, however, was not only beloved by the peoples whom he had benefited, nay, other provinces also longed to have him set over them, and felicitated those whose good fortune it was to have such a governor."


biot 15 hours ago 1 reply      
It would be interesting had they sent letters to those whose debt they bought and explained exactly what they were doing. Then offer them one of three options:

  1. Pay 10 cents on the dollar. This covers their family's     debt and they pay it forward for two other families.  2. Pay 5 cents on the dollar. This covers them and they pay     it forward to one other family.  3. Pay nothing. Their debt is forgiven thanks to another     family having paid it forward.
If enough people opted for #1 or #2, the fund could be self-renewing and they could purchase ever-larger amounts of debt and keep it going.

pchristensen 20 hours ago 6 replies      
Good for them. Markets are working. If the emotional and social value of forgiving debt is worth more than the expected value of collecting on that debt, then capitalism is working! Who could be opposed to this?
ffrryuu 20 hours ago 2 replies      
One of things that I was always curious about is why the govt didn't restructure mortgage debt and re-value property back to pre-bubble levels

It would have cost the government $2 trillion to buy every sub-prime mortgage and retire it.

But that's Communism

Instead, the government (by way of the private bank known as "The Fed") gave $16 trillion - free and with no strings attached - to Wall Street, the very people who engineered the destruction of the American economy in 2008.

That's known as Capitalism

downandout 13 hours ago 0 replies      
That's all well and good until the IRS comes after these people for taxes on the value of the forgiven debt. Occupy essentially just indebted them to a much more formidable foe than a bill collector that must play by strict rules: the IRS.
harryh 20 hours ago 1 reply      
Did they ever figure out of the beneficiaries of this plan were going to have tax problems? When the idea was originally floated 6-12 months ago I remember that being a potentially large problem.
tete 1 hour ago 0 replies      
Wow, did you see that chart in their manual (page 32, PDF-wise or page 24 printed):


wil421 20 hours ago 8 replies      
Seems like a good idea...

How can I purchase my own debt? Rather than have someone else buy my debt at a reduced rate and abolish it, how about I buy my own?

brianbreslin 1 hour ago 0 replies      
what percentage of personal debt is medical related? That is typically the clearest case of "life threw them a curve-ball" situations where it was completely out of their control (usually).
krupan 20 hours ago 0 replies      
Nice to see people organizing and doing charitable things of their own accord.
LukeWalsh 20 hours ago 1 reply      
After my behavioral economics lecture this morning this is where my mind immediately went: http://ase.tufts.edu/econ/papers/separability.pdf

As much as people would like this to refute capitalism and standard economic models, it really just confirms that the models are incomplete and can be updated with continuing research in to human behavior.

Symmetry 20 hours ago 1 reply      
They still have to pay income tax on the abolished debt, but for someone in trouble like this that's probably at a pretty low marginal rate. The IRS doesn't want me paying for things by loaning the seller the price and then forgiving the debt as a way of getting around taxes, though that policy ends up being unfair in this situation.
thatthatis 20 hours ago 1 reply      
Can anyone explain where to go to buy debt like this?
jbnelson 18 hours ago 0 replies      
The Occupy Wall Street movement is frequently criticized as ineffectual, especially when compared to the Tea Party. (Here, ineffectual refers to their ability to induce legislative or regulatory change aligned with their respective movement; it is not a normative statement.) Adherents of OWS often state that it is a consequence of their movement's organic character or that it is intentional. (I find the later argument incredulous, kind of like saying, "I lost, but I wasn't really trying that hard.") In either case, this tactic could be highly persuasive.

Ross says,

   Our purpose in doing this, aside from helping some people along the way  there's certainly many, many people who are very thankful that their debts are abolished  our primary purpose was to spread information about the workings of this secondary debt market.
I suspect that spreading information about the "workings of the secondary debt market" is a very tall task. Certainly, they are getting a great deal of publicity, but I'm not convinced it will produce a lasting response. Yet, they have also purchased what I expect would be an atypically strong allegiance from almost 3,000 direct beneficiaries at about $5,000 each. They transmuted economic indebtedness for social obligation, by way of the rule of reciprocity. When you consider how vehemently, vocally, and persistently these individuals are likely to support OWS and their objectives, the influence purchased may be cheaper than traditional means (e.g. TV ads, direct mail, etc). And, it could be indirectly translated into more influence through votes.

brianbreslin 18 hours ago 3 replies      
Here is an idea, to steal from their idea I guess. What if we kickstarted a campaign to raise $50-100M to buy off random people's debts this same way they did? Target areas where people are hardest hit financially, softening the burden in those places a teeny bit?

Could also be used for buying up grossly underwater properties and issuing new loans to help people? Just a thought.

tehwalrus 19 hours ago 0 replies      
way to put your money where your mouth is. My respect for the Occupy movement just went up by an order of magnitude.
malandrew 18 hours ago 1 reply      
The biggest problem with this is that they just generating a taxable event and these people now owe taxes on the "income" they received from being pardoned.
knodi 16 hours ago 1 reply      
Where can an individual go to buy debt. I would love to buy some debt and forgive it for Christmas this year.
mathattack 18 hours ago 0 replies      
The unintended consequence of this activity is that if people start negotiating their debt down, the collection firms will pay less for it. As a result, the least credit-worthy are going to have to pay even more for credit, or will be less likely to get credit at all.
evan_ 17 hours ago 0 replies      
I wonder how long until we find out that this is actually being operated by the very banks that own the debt.
nerfhammer 20 hours ago 2 replies      
so can't I take out $36750 in loans, buy the debt for $1000, rinse and repeat?
bdcravens 17 hours ago 0 replies      
I wonder what the legality of a consumer debt collective would be.
kirbyk 13 hours ago 0 replies      
Why can't we scale this? Why aren't there nonforprofit's that allow people to donate and alleviate peoples debt?
jlgreco 20 hours ago 1 reply      
There's a joke about bailouts in here somewhere.
Bill Gates: My Plan to Improve Our World, and How You Can Help wired.com
359 points by digital55  1 day ago   317 comments top 32
spodek 23 hours ago 15 replies      
> "40 percent of Earths population is alive today because, in 1909, a German chemist named Fritz Haber figured out how to make synthetic ammonia."

More people living doesn't necessarily mean people living better lives. In a finite world with limits to growth, relaxing one bottleneck only leads to the next bottleneck.

(I use the term limits to growth in reference to the book Limits To Growth -- http://joshuaspodek.com/the_best_book_on_the_environment_eco... -- which strongly informs my perspective and I recommend to others as particularly relevant here. It offers a systems perspective -- http://joshuaspodek.com/systems-perspective-population -- necessary to create effective strategies to help everyone in the context of a finite planet.)

Reducing suffering caused by disease undoubtedly improves people's lives, but increasing the population without the ability to provide everyone resources doesn't. We know that simply having enough resources for everyone doesn't mean everyone will get enough resources. How we distribute resources matters and that's a social issue, not technical. Trying to solve social issues with technology doesn't work that well. Changing social patterns is much harder. Capitalism is great at increasing the pie, but poor at distributing it to those without capital.

I applaud his optimism and support for reducing suffering from disease and supporting education. I suspect he's helping create a world with similar fraction of people suffering versus happy, just more of them. And accelerating toward limits to growth, some of which we can't overcome with technology.

(If you challenge the belief that the planet has limits to growth or even that we're near any, I recommend the excellent blog "Do the Math" -- http://physics.ucsd.edu/do-the-math/post-index -- which looks at physical consequences to growth by a Caltech-trained physicist. I also recommend it if you like reading thoughtful, intelligent blogs by knowledgeable people who do the math behind what they talk about.)

Blahah 23 hours ago 13 replies      
"If you write great code or are an expert in genomics or know how to develop new seeds, Id encourage you to learn more about the problems of the poorest and see how you can help."

Check, check, check. And actually it was a previous article of Bill's that made me want to become a scientist, and now we're Gates funded to develop more efficient crops.

Coders of the world - we have awesome data to play with. Come and help :)

speleding 5 minutes ago 0 replies      
"Everyones life has equal value"

That's a very idealistic premise, but not very realistic. Surely he values the life of his children higher than that of some random hideous criminal.

tokenadult 13 hours ago 0 replies      
Bill Gates writes in the article kindly submitted here, after giving some examples of inventions, "Thanks to inventions like these, life has steadily gotten better. It can be easy to conclude otherwiseas I write this essay, more than 100,000 people have died in a civil war in Syria, and big problems like climate change are bearing down on us with no simple solution in sight. But if you take the long view, by almost any measure of progress we are living in historys greatest era. Wars are becoming less frequent. Life expectancy has more than doubled in the past century. More children than ever are going to primary school. The world is better than it has ever been."

And that is correct. I'll focus on the huge increase in life expectancy, since that is often discussed here on HN. The low-hanging fruit of increasing life expectancy is increasing it for young people, by reducing infant and child mortality. The Gates Foundation does a lot of work in developing and delivering vaccines to protect children against infectious diseases. That means mothers can be more sure of their children surviving infancy, and all over the world (as other comments here have already pointed out), that results in a "demographic transition," of families eventually having dramatically fewer children. Children who grow up healthy and survive to adulthood do a lot to transform societies from backwardness into development and innovation.

The increases in lifespan are occurring at the old end of the lifespan too.[1] (This is a point that is often specifically denied in HN discussions, so I thought I should draw attention to it here.) Life expectancy at age 40, at age 60, and at even higher ages is still rising throughout the developed countries of the world. The increase in lifespan in developed countries has been so steady for so long that a girl born in the developed world since the year 2000 has a better than even chance of celebrating her 100th birthday, with boys likely to live almost as long.[2] And this comes from steady, incremental progress in the prevention and treatment of disease and the maintenance of good general health, not at all from any path-breaking research in "life extension." This suggests that similar day-by-day improvements in human life can come about from simple, barely noticed better practice replacing former haphazard practice. The programmers who Bill Gates encourages to join in on solving problems of the world may be able to harness computer power to notice patterns in data that may improve health and longevity, environmental quality, recycling of natural resources, and a variety of other important aspects of human life little by little all over the world.

I read The Limits to Growth when I was a kid, soon after the book was published. It was the most spectacularly factually incorrect set of predictions of all the predictions of the future I have ever read. I think Bill Gates here is writing based on a better understanding of how the world works, and I expect when my daughter has her 100th birthday in the twenty-second century that she will enjoy a world almost unimaginably better for almost all people than the world we share today.

[1] http://www.scientificamerican.com/article.cfm?id=longevity-w...

[2] http://www.demographic-challenge.com/files/downloads/2eb51e2...


chernevik 22 hours ago 7 replies      
"Wars are becoming less frequent."

He wrote, as we approach the centenary of The War To End All Wars.

No one with an appreciation of human history would write such a thing. Nor would they imagine that the technological innovations between us and that war have been marginally more important than those in the century proceeding WW I. The Green Revolution is fine, but it seems hard to believe its productivity improvements outstrip those from the mechanization of agriculture, or the use of railroads to move grain. Polio prevention is awesome, but its gains pale before those from imposing simple sanitation codes and providing clean water.

And perhaps the "salvation through technology" set should reflect on the impact of the addition of mobilization by railroad to the diplomatic problems following the assassination of Ferdinand. Or on the confusion, to horrifying cost, of military and grand strategy by the introduction of the machine gun. The unintended consequences of those innovations, and the complete failure of technology to solve them, made for the costliest and stupidest war to its date.

By all means, pursue better and better technology. But the world's deepest and most serious problems have always been political, and always will be, and will always be beyond resolution by better gadgets.

pstuart 23 hours ago 3 replies      
Simple things that could be done now by simply "changing the rules"

1. Change "Foreign Aid" to be based on direct micro-loans rather than dumping excess agricultural commodities and destroying local markets and pumping money into corrupt governments that steal it.

2. End the Drug War. It's killing people and is the foundation of organized crime. And why grow food when you can make more money growing dope?

3. Recognize women's rights: unfettered access to contraception/abortion and education.

I realize the "sex" part of #3 may be controversial to some, but those who are offended can just fuck off.

cnlwsu 23 hours ago 3 replies      
It makes me feel incredibly guilty for how much a lot of people (myself) hated this man over things that seem so petty now a mere decade or so later.
zamalek 6 hours ago 0 replies      
Don't get me wrong, I love what Gates is doing. I do believe that while technology has given us so much, it comes with incredible costs.

> How far away do these women live? we wondered. Whos watching their children while theyre away?

I was born and raised in Zimbabwe (where the bush/wilderness is very similar to that of Kenya) and this specific quote really shows the good and the bad of technology and innovation. Those women walk miles to get water; technology can now use pipes or boreholes to bring water closer to people - giving them a slightly easier life. However, Bill fails to mention how these women approach this hardship - having come across many of these people during my hikes in youth I can testify that they are singing and laughing for the entire duration of those daily ordeals. You simply won't find a person with that attitude towards hardship in the first world/technology world. Their lives are hard, but they are happy. Our lives are easy, but the first world is struggling with depression[1]. Us people in the first world need to stop making the mistake of assuming that a hard life is an unhappy one. Bring these people water, bring them food, bring them vaccines - but don't destroy one of the last bastions of happiness on the planet with the internet and laziness.

As for their children and who is looking after them: they are looking after each other, playing in the dirt and in the sun, making their own toys out of sticks, old tires and coat hanger wire [2][3]. What are your children doing? Sitting on an iPad? Their parents don't have to worry about psychopaths or kidnappers - that is a first world problem in a very real way.

I'm a saying that what Bill is doing is wrong? No: he is making a very real and very positive difference in these people's lives. What I am saying is that us people in the first world need to stop assuming that technology solves problems. The reality is that technology replaces problems with other problems.

[1]: http://www.inquisitr.com/129438/depression-rates-higher-in-w...[2]: http://www.bsmarkham.com/mission/Africa/Apr%2005/huffs/18%20...[3]: http://www.losviajeros.net/fotos/africa/sudafrica/k_lesotho0...

erikpukinskis 20 hours ago 0 replies      
One of the things I really respect about Bill Gates is that he actually goes and talks to poor people. I know so many people who will go on and on about what poverty is and how to solve it, whether it's funding education or creating a culture of responsibility or whatever. But unless you're chatting with actual poor people, saying "hey how's it going?" at least every couple months, I just don't think you can really have a workable understanding of the problems.
tanvach 22 hours ago 2 replies      
Personally, I feel that the biggest problem in developing countries is corruption. Imagine all the wealth being created to disappear into bureaucracy. I've seen police bully businesses, engineering projects finish that is woefully substandard, rigged market competition, stolen aid money, abuse of monopoly, and so on. I truly feel that this is the sauce of problems many poor people face.

I really admire Bill Gates help with poverty and education. I only wish that people start looking into anti-corruption. Maybe we should start creating anti-corruption technologies.

antonius 23 hours ago 1 reply      
With all of the philanthropy that Bill and his wife are doing, my gut feeling is that centuries from now, Bill will go down as being remembered more so for his contributions to humanity than everything he did in his professional career. Regardless, a great human being.
Havoc 19 hours ago 0 replies      
Reading the article I can't help but feel awestruck at how lucky the global community is that Gates turned out the way he did.

Here is someone who thinks clear thoughts, behaves in an altruistic manner and has the raw power to make it happen - a near impossible combination in today's world.

And as if that is not spectacular enough he is in a position to persuade other rich people to follow suit.

JacksonGariety 22 hours ago 1 reply      
It's a common misconception that inherently social problems (drug abuse, mistreatment of children, crime, war) can be solved with technical solutions.

The answer isn't in a new drug or a new device or a new kind of weapon, it's in ourselves, and we don't need a foundation of rich entrepreneurs to catalyze this change.

a3voices 21 hours ago 3 replies      
The way to improve the world is to have a global minimum income. Give every person on Earth $5-10k per year, no strings attached. If you are living and breathing, you get the money.
mtalantikite 23 hours ago 8 replies      
"I tend to trace it back to a trip Melinda and I took to Africa in 1993. We went on a safari to see wild animals but ended up getting our first sustained look at extreme poverty"

All of us with privilege need to stop referring to the place as just 'Africa'. It's an incredibly diverse place, and just smacking that label on it to refer to every place on the continent trivializes the population.

Sure, the national boundaries are just some lines colonists in Europe drew on a map when divvying up the resources they were going to steal, but we need to be able to have a respect for people while we're talking about these problems.

Datsundere 1 hour ago 0 replies      
yetanotherphd 11 hours ago 0 replies      
When I was considering a career path, I thought a lot about this sort of thing. Should I devote my career to helping people in the greatest need? In the end, I decided I should not. Bill Gates correctly identifies the need for money to do the things he wants to do, but money comes from economic growth. And I believe that technological progress is a big driver of growth.

So I decided to make my career in advancing technological progress. Not necessarily hardware, in fact I'm a software engineer, but I want to work on things that push the boundaries. If I can write a library that makes 1% of programmers 10% more efficient, or saves academic researchers 1% of their time, that is probably a bigger contribution than I could make if I worked directly on global health.

outside1234 14 hours ago 0 replies      
"If you write great code or are an expert in genomics or know how to develop new seeds, Id encourage you to learn more about the problems of the poorest and see how you can help"

I feel like I'm a great coder but I have a hard time connecting the dots and seeing how I can help - am I the only one? I'd love to help - if folks know of opportunities, I'd love to hear about them.

chappi42 23 hours ago 1 reply      
It's great what he and Melinda are doing.

I'd put the focus much more towards reducing or even reversing the tremendous population growth. Malaria, Polio, fertilizers.. all about more people (yes it helps them, is good...; complicated, I don't know how to argue). But - if you ask the overstretched seas, overhunted animals and so on - less are needed. And each one will be more valuable.

patrickg_zill 21 hours ago 1 reply      
Maybe he could have Microsoft disclose the deal they made with the NSA over the purchase of Skype and the change in encryption practices. Or is that not the kind of improvement he is talking about?
ck2 21 hours ago 0 replies      
Good luck stopping religions that don't believe in birth control, which sadly the largest part of the population seems to follow, regardless where in the world they live - one of our last major presidential candidates has FIVE children.
amalag 19 hours ago 1 reply      
If you want to see real work on improving the rural Africa, we have to look at sustainability, not bringing Monsanto into every corner of the world with GMOs and ammonia fertilizers. This is the kind of work that is needed: http://workingvillages.org/about/

Getting African farmers into self sufficiency, not dependent on Monsanto or any oil company. There is nothing wrong with doing manual labor on a farm. Why should we measure progress by how many people stop working on a farm and work in a factory instead. We should aim to improve efficiencies on a farm not by minimizing the people per acre, but by maximizing the output per acre.

gesman 23 hours ago 2 replies      
Did anyone asked Bill Gates to fund research efforts that could potentially have global benefits?

Anyone succeeded?

rbanffy 22 hours ago 3 replies      
I know it will be a wildly unpopular question to ask but, after his own history at the helm of Microsoft, where he made most of the money he's using now, can we trust him?

Is there a way we can be sure his donations (and the donations of people and companies that decide to donate because he is doing so) are not furthering his own agenda and creating a market for the companies he invests in? Even if they are beneficial to the affected populations, can we call that philanthropy?

jjoe 21 hours ago 0 replies      
Now that's an outstanding man! I lived in Africa for almost half my life and not once did I step foot outside of my comfort zone in the north west. If anything I feel ashamed but thankfully enlightened and looking forward to take the initiative to do something, anything.
Thiz 21 hours ago 0 replies      
> 'That innovation is the key to a bright future'

The road to innovation is a minefield of patents and lawsuits.

darkFunction 21 hours ago 1 reply      
How can I contribute my skills as a programmer to directly help out charity organisations?
alexmchale 23 hours ago 1 reply      
Step 1: Stop pushing GMO foods on people who can't afford to choose otherwise.
era86 22 hours ago 0 replies      
One of the greatest philanthropist of our time.
ffrryuu 20 hours ago 0 replies      
Good jobs for everyone + managed population growth/stability.
humannature 8 hours ago 1 reply      
why is no one addressing the problem of overpopulation?
rogerthis 18 hours ago 0 replies      
Leave me alone.
From a Model S owner in Tennessee teslamotors.com
342 points by bcn  3 days ago   263 comments top 30
mcphilip 3 days ago 6 replies      
I'm glad the driver is safe. However, I'm not sure what posting this letter is supposed to accomplish other than show that the driver is still a Tesla supporter. The remainder of the letter seems to be (potentially) counterproductive in that it describes that the car being on fire wasn't as dangerous as it sounds. Tesla isn't going to be able to tackle a perception problem by promoting safety features of the car when in flames.
blahedo 3 days ago 7 replies      
We're reading this on Tesla's site, and they obviously wouldn't have posted it if it weren't at least somewhat flattering, so we have that lens to view it through.

But, the letter does raise the important idea that before we decry how awful the failure mode is ("the car caught on fire!"), it's worth considering what the alternative would be---what happens in similar situations in combustion engines?

ot 3 days ago 0 replies      
I wonder, if Tesla were to harden the protective shield of the battery pack and issue a recall for the existing vehicles, they could just deploy the new battery packs through the automatic battery swapping facilities in the supercharging stations.

The costs would probably be much lower than normal car recalls, and it would also be an interesting value proposition for the owners: "zero downtime, you get for free a safer car and a fresh battery".

Anyway, the more I hear about Model S the more it looks like an exceptional engineering feat.

jusben1369 3 days ago 1 reply      
I'm a big Tesla fan. I'd like to buy one. I like that they're changing our dependency upon gasoline vehicles. I like that they're taking big chances. Having said that, I find their communication style at times to be very disappointing. I hate the weird inference of "Thank God I was in my Tesla and only caught on fire. It would have been much worse in another car" Why do they have to do that? What proof do they have? They've had 3 car fires in the last 5 weeks out of 19,000 units on the road. Stop trying to turn a negative into some sort of positive. We get it's new technology. There probably will be things that need straightened out. The way they positioned their lease was cheesy. This is now cheesy II. Just say

"We take this VERY seriously. We don't think there is any structural issues here but we will continue to investigate. Rest assured if the data points to any possible issues we'll be fully transparent and make any adjustments necessary to ensure the safety of our customers." Not some hack rah rah piece on their blog.

nonchalance 3 days ago 4 replies      
Amusing how positive stories about tesla take the top spot on HN while news of the fire was quickly flagged off the front page.

Not to question what was said here, but:

> Had I not been in a Tesla, that object could have punched through the floor and caused me serious harm.

How is that the case? There are cars that are higher off the ground than a Tesla (where it wouldn't have a chance to punch through the floor) and most cars have material in the undercarriage to protect against small blows like this ...

coloneltcb 3 days ago 1 reply      
I love Teslas. If I had the disposable money (and the need of a fulltime car) I'd buy a Model S without hesitation. I think Elon Musk is a brilliant entrepreneur.

But this is tripe. I can smell PR and sanitized wordsmithing when I see it--and this post reeks. If that wasn't obvious by the medium of this post--The Official Tesla Blog.

Gee, how did it get up there? Do you think that maybe, just maybe, at some point in time the author was in contact with Tesla's PR department? And do you think Tesla PR decided to let someone post something with no oversight whatsoever? And this post just happened to be perfectly on message with the talking points Tesla PR had drafted up?

For all we know, every word of this is true, but in this format (a very defensive post on the Tesla Blog giving a 100% pro-Tesla version of the events), Tesla has no credibility. Why not have this person write about this in the user forums and then link to it from the official blog with a foreword from Elon?

underwater 3 days ago 4 replies      
He hit something at freeway speeds that lifted his car into the air yet continued driving, even after he was alerted the collision had caused significant damage to his car?
URSpider94 3 days ago 0 replies      
This reminds me of an accident in Illinois a decade ago, in which a couple lost all six of their children after running over a mud flap bracket that had fallen off of a semi.

The circumstances sound very much like the case described in the link -- the large piece of debris pierced the gas tank and generated sparks, igniting the vehicle in a matter of seconds.

(link at http://articles.chicagotribune.com/1994-11-10/news/941110023...)

Who knows exactly how an ICE vehicle would have performed in the current circumstance, or how a Tesla would have performed in the Illinois accident, but it's fair to say that a collision at speed with a large piece of road debris can easily destroy a car and prove fatal to the occupants.

ruswick 3 days ago 2 replies      
I don't understand how this is supposed to bolster Tesla's image.

The fact that the car alerted him to the fact that it was going to combust does not mean that it is OK that the car combusted.

Diederich 3 days ago 0 replies      
The other discussions about comparing and contrasting the energy densities and relative safeties of fuel versus high-density batteries are interesting and relevant to safety considerations.

The car, at this early stage of its evolution, handling the situation as elegantly as it did is just amazing.

However the various safety-related tradeoffs play out, it's obvious that the Model S is seriously and well engineered at every level.

I imagine the good folks in Palo Alto are already folding updates into the system. "Shit's on fire, yo! Pull over."

chrissnell 3 days ago 2 replies      
I'm glad your parents are safe but the design of their car was not what kept it from catching fire, it was more likely the fact that it was diesel. You can put a match to diesel fuel and it won't catch fire; it take a lot of heat and pressure to combust diesel.
stcredzero 3 days ago 1 reply      
I mentioned this in another thread about this incident. I was driving a mid 80's Volvo 850 in the early 2000's, and while turning around, I managed to run over a wheel stop and impale my car's oil pan on a piece of rebar sticking out from the top of the wheel stop. From what I remember, the oil pan on that particular year of Volvo station wagon was made out of aluminum of about the same thickness as the battery casing.

If an aluminum wall vessel like that is going to encounter a pointy piece of steel with all of the car's momentum behind it, the steel is going through! No getting around it. No designing around it. It's just physics.

There was no fire, but this resulted in all of the oil leaving my car's engine. All of the oil. No fire, but it created a situation where I could have wrecked the car and needed to pull over and stop the engine immediately, which I did only because I spotted the trail of oil in the rear view mirror. I never got a warning. In contrast, the Tesla told the driver something was up. IMO, the Tesla system was in better control of its incident and provided clearer and better information.

Lagged2Death 3 days ago 0 replies      
I am thankful to God that I was totally uninjured in any way from this impact. Had I not been in a Tesla, that object could have punched through the floor and caused me serious harm.

Oh really now, isn't this laying it on just a tad thick? How often does this happen? There's junk like this on the road all the time - how often are drivers and passengers actually shish-kabobed by any of it?

Tesla's damage-control, image-wise, is surely the envy of industry everywhere, though.

lumberjack 3 days ago 2 replies      
Is this the sort of thing that the guy ran over?


trothoun 3 days ago 1 reply      
This does make me wonder if the shape of the Tesla's underbody (very flat [1]) is such that debris is more likely to make a direct rather than glancing impact. Perhaps Tesla should take a leaf out medieval armor design and add more contour to the bottom of their car so that it can shed impacts more successfully.

[1] http://media.ed.edmunds-media.com/non-make/fe/fe_9171228_600...

teslathrowaway 3 days ago 3 replies      
> Had I not been in a Tesla, that object could have punched through the floor and caused me serious harm.

Clever misdirection.

rch 3 days ago 0 replies      
My first car was an early 80's Jeep Grand Cherokee that had been 'modified' by a previous owner. Whoever it was had ripped off anything that might have been EPA mandated, and had then pounded bolts into the vacant holes left in the exhaust manifold. It took months for my father, grandfather, and I to figure out where all the vacuum hoses should go, in order to get it to pass inspection. Even after extensive repairs, well beyond I've described here, the thing would bleed quart after quart of oil as it went down the road.

It still did alright for a while, but eventually caught on fire. It happened spontaneously and without warning, while driving home in the snow. No impacts or anything, the thing just overheated and went up in flames.

The reporting on these Tesla events make the vehicle sound like my $1 anti-EPA Jeep, but I think it is pretty clear there are a few differences.

skybrian 3 days ago 3 replies      
Just wondering, how does the ground clearance in a Tesla S compare to other cars?
Aardwolf 3 days ago 2 replies      
Does anyone know what actually cought fire? Can batteries catch fire due to being struck like that? If so, why did it take 5 minutes and how did the car electronics know about it beforehand?
gfodor 3 days ago 2 replies      
Is there literally any reason to believe that Tesla's are more predisposed to catching on fire? Surely hundreds of cars burn and some explode in the U.S. every day. Where are the apologies from their manufacturers?
justinph 3 days ago 0 replies      
These cars can raise and lower the suspension, right?

Might be useful to have it use scanning LiDAR and detect debris in the road, raise the vehicle when appropriate. They're working on a self-driving model, why not build that in.

ck2 3 days ago 0 replies      
Pretty sure I'd be dead and my car destroyed if I hit something like that at highway speeds.
rdl 3 days ago 2 replies      
I wonder if the Teslas should have explosive bolts to drop the battery pack if they detect a fire, then move the car away from it.
headgasket 3 days ago 3 replies      
You are holding it wrong, don't drive it over large metal objects at high speed.

I love the boldness of the Tesla, I'm truly impressed by the PR skill of Mr Musk and his team. Let's hope they have enough data now to diagnose.

kayoone 3 days ago 0 replies      
Not really ontopic but: Has anyone checked on the owner? Hes a MD, a bodybuilder and pretty successful in eating contests :)
adestefan 3 days ago 0 replies      
These are usually the stories where people point out the submarine term.
gandalfu 3 days ago 0 replies      
I ask the engineers here, how can the fires be prevented/mitigated?

- A different armor plate (titanium? kevlar?)- An automatic fire extinguishing system, perhaps piping grid inside the battery compartment that can feed a cooling agent to the damaged cell?

Is price the only constrain? Cost benefit?

robomartin 3 days ago 3 replies      
Water? On an electrical fire? Caused by Lithium-based chemistry? Not smart?

Tesla's make up less than 0.008% of the US passenger car fleet. Perhaps emergency workers are simply not aware of how to properly deal with electric vehicle accidents? Formula 1 had to deal with this as KERS starter to be introduced. I would be nowhere near a 375 Volt DC battery pack playing with water.

derleth 3 days ago 0 replies      
I wonder how much Tesla paid the author to write this.
hristov 3 days ago 1 reply      
So the moral of the story is that first I have to get a personal assistant and then I get a Tesla.
HTTP 2.0 to be HTTPS only w3.org
331 points by iand  5 hours ago   158 comments top 24
kristofferR 5 hours ago 13 replies      
This is a dumb idea unless CAs becomes automatic and free or are completely replaced by something better.

The reason why HTTPS isn't used more is because it's a major hassle and it's quite expensive (can easily double the yearly cost for smaller sites).

If using HTTP 2.0 requires buying SSL certificates, the smaller sites currently not using SSL will just be stuck on HTTP 1.1 forever.

ivanr 5 hours ago 2 replies      
Great decision! When Google started to work on SPDY and made it SSL-only, we saw what the future could be: people upgrade to the new protocol for performance, but get better security too. What's not to like! I was really afraid that the standardisation of HTTP/2.0 will break this, but now all seems well after all.

But this is not enough; we also need to work on opportunistic encryption, to be used for sites that do not use SSL today, without any certificates, in a completely transparent fashion that requires no end-user configuration. Such encryption would not be enough to defeat active main in the middle attacks, but it would defeat passive monitoring of non-encrypted communication.

To those complaining about the hassle of SSL: The biggest problem today is the fact that virtual SSL hosting (multiple sites sharing an IP address without sharing the certificate, otherwise known as Server Name Indication, or SNI) is not feasible. As soon as Windows XP (the only major platform that does not support SNI) goes away, SSL will become much easier; especially for hosted services.

That the cost (of certificates) is a problem is a myth. It might have been a problem in the past, but today there are so many CAs to choose from. There are CAs that give away free domain-validated certificates. There are CAs that give away free certificates to open source projects. And there are also companies that sell certificates for a couple of dollars only.

Obtaining certificates is, no doubt, a hassle, but the fact remains that CA-issued certificates is the only practical option to deploy a secure web site today. There are also some issues with latency, but perhaps with HTTP/2.0 (and some possible improvements in TLS 1.3) those are going to be minimised, too.

metabrew 5 hours ago 2 replies      
Here's hoping we have a viable, popular alternative to the current (expensive, corrupt..) system of SSL certificate signing long before HTTP(S) 2.0 becomes prevalent..
rlpb 5 hours ago 4 replies      
What will this mean for caching proxies? These can be really useful in datacentre environments.

For data that is nominally public anyway, I prefer to be able to stick a caching proxy somewhere, and rely on other means (eg. apt's gpg and hash verification) to ensure integrity.

The article says: "Alternate approaches to proxy caching (such as peer-to-peer caching protocols) may be proposed here or elsewhere, since traditional proxy caching use cases will no longer be met when TLS is in wider use."

pilif 3 hours ago 2 replies      
The main issue I have with HTTPS is that it's still not reliably possible to use name based virtual hosting over SSL because SNI isn't supported in some OS/Browser combinations that are still in heavy use (any IE on Windows XP, Android < 3).

This means that we're going to need many more IP addresses in cases where we want to host multiple HTTPs sites. This is a problem because we're running out of IPv4 addresses and IPv6 support within the range of systems not supporting SNI isn't that reliable either.

This might not matter that much in the future, because larger sites should still have enough IPv4 addresses, but it will hurt smaller sites.

In my case, I can't possibly offer SSL for all of our customers (most of them are using their own domain names, so no wildcard certificates) as back when I only got 32 addresses and it's next to impossible (and very, very expensive) to get more nowadays.

Millennium 2 hours ago 0 replies      
I can't say I agree with this. I am all for ubiquitous encryption, but this smacks of inappropriate mixing of layers. HTTP should not care about the underlying transport.

Someday, TLS will be replaced. I cannot imagine when this will happen, or what the replacement will be like; I am only certain that, given enough time, it will happen. When it does, HTTP should still work without modification. The proposed standard fails that test.

willvarfar 1 hour ago 0 replies      
It would be really sad if we have a new standard gaining momentum and forcing people to stay supporting broken SSL/TLS.

I hope they mandate using the newest TLS with the beast mitigation etc and also mandate perfect forward secrecy.

Generally, the whole CA approach also needs a rethink, but its less straightforward to trot out solutions to that problem. Hopefully Moxie and other experts will weigh in.

richbradshaw 5 hours ago 3 replies      
I'm not surprised, this does simplify things in many ways, and to be honest, there isn't a good reason not to use SSL anyway in many cases.

What we need next is a browser happy way to use HTTPS only for encryption and not for verification (yes, I know!), but it would make this migration much easier. This would reduce the reliance on CAs, and would make SSL certs free in many cases.

jjoe 27 minutes ago 0 replies      
The cost to have someone fix absolute/non-absolute href links will far exceed the cost of SSL or an extra IP. So expect to see a broken landscape of websites post implementation.
pdkl95 4 hours ago 0 replies      
With the way Firefox gives that scare-popup on a self-signed cert, mandating SSL would only make people that cannot afford (or cannot get) a signed cert into second-class citizens on the web. Remember that one of the primary benefits to "the internet" is that the all peers are equal as far as the network is concerned, and the barrier to entry for publication is reduced to zero.

Anything that ends up as a barrier to increase that cost only serves the interests of those that wish the internet could be reduced back to "cable tv", with gatekeepers able to regulate what is published while taking in a publication fee as tribute.

I am usually one pushing hard for encryption, but more PKI is not what is needed. The idea above about using DNS to distribute keys is a good idea; I would also suggest simply mandating that self-signed certificates [1] be treated fairly, without the scare-box. Either would still allow somebody to setup a home server with a simple apache/whatever install, no outside approval needed.

[1] - Note that I said "fairly", not "the same as authenticated certificates". Encryption without authentication is still a benefit, and should not be given the popup that scares people away currently. Just don't mark it as "secure" with the closed padlock!

RexRollman 4 hours ago 1 reply      
Won't this create the ability for a 3rd party to disable your site by having the CA revoked against your will? For example, in regards to a copyright issue?

Personally, I am against this, as I feel that this is a choice that should be made on a site by site basis.

photon137 2 hours ago 0 replies      
With Chrome rolling out AES GCM (and other browsers likely to follow suit) - this seems to be a really plausible future state of the world.
jimktrains2 2 hours ago 0 replies      
Wasn't this always part of the standard? What's new this time around?

<I'll save my rant for why I hate HTTP 2 for another time>

Michael_Murray 5 hours ago 4 replies      
This made me sigh.

Don't get me wrong... As a lifelong time security guy, I'm happy to see more encryption. But implementing more security at one layer adversely impacts security at other layers. (e.g. IDS)

We're really bad (as a species) at unintended consequences....

ollymorgs 5 hours ago 0 replies      
And what about WebSockets? I know it's a different specification, but we should be using wss:// too.
Sami_Lehtinen 59 minutes ago 0 replies      
PFS = Perfect Forward Security, wait, what? It's not perfect nor it's security. Great post.
anuraj 2 hours ago 0 replies      
Very good idea - will make snooping and tracking impossible. So end of targeted ads. If we can now snooze the surveillance regime as well - all the better.
itsbits 4 hours ago 0 replies      
Many small sites doesnt use certs like personal sites etc..why should i care as a blogger to make my site HTTPs..its cruel..
Torn 4 hours ago 1 reply      
So will this prevent NSA et al. spying? Or have we reached the stage where they have all of the relevant certs already embedded into their ISP black boxes?
fulafel 4 hours ago 0 replies      
Fun fact: Cert-free SSL used to work with some browsers, at least Mozilla, but then they disabled the anonymous SSL modes from the browser. I was using it and was saddened...
Yuioup 3 hours ago 0 replies      
Wasn't HTTP 2.0 a complete failure? I thought it was already obseleted.
maxk42 4 hours ago 2 replies      
Secure is good, but SSL is not the right protocol.
carsonreinke 2 hours ago 0 replies      
Sounds like just unneeded overhead for some situations
tls 4 hours ago 0 replies      
this + IX would be perfect
Heirloom Chemistry Set kickstarter.com
316 points by fr0sty  23 hours ago   126 comments top 26
csmuk 4 hours ago 2 replies      
I see a lot of reactionism on this thread regarding "kids and chemistry sets". I agree but disagree. With the right supervision, it's awesome. The latter is key.

I had multiple chemistry sets and am not dead and have all my fingers. In fact I was always, with the aid of reference books, mixing various things together purchased from every day shops, purchasing piles of fireworks and doing things frowned upon.

At my secondary school in the early 1990's we were allowed to help ourselves to stuff in the chemical larder as long as we told them what it was for and did the lab safety test first. It was stuffed full of small chunks of Uranium, sodium (under oil) and all sorts of nasty shit that could easily kill you without much notice.

Inevitably we passed that as too dangerous and proceeded to stock up on fumic nitric acid, formaldehyde and ammonia. This was done with supervision.

About two hours later, in a fume cupboard, we had 50g of RDX (C4 precursor) which was considerably more dangerous than the above. We carried this in a metal flask on a public bus to local GSK labs where they did NMR spectroscopy on it. People were interested and quite helpful there. Then we took it to the school field and blew 10g of it up with a magnesium taper. The rest was disposed of by the lab techns (probably by doing the same because they were slightly nuts).

We extracted Aspirin from willow, made RDX, various plastics, thermite, did glasswork, extracted our own DNA, made fireworks and countless other things I can't remember now that were cool.

Now we would be branded terrorists.

Chemistry was awesome and no one was hurt. My understanding for the universe from a physics and chemistry perspective is pretty good due to this.

I would buy this chemistry set in a second.

bradleyjg 23 hours ago 5 replies      
I'd always heard that children's chemistry sets got increasingly dumbed down because of a combination of direct regulation of common chemicals, under the rubric of both the War on Drugs and the War on Terror, and fear of tort liability.

Is that not the case?

erva 22 hours ago 3 replies      
As a resident of Kansas City and having visited John's store many times, I can tell you that this guys is amazing. He does hands on classes for kids (minimum age 7) on chemistry, archaeology, botany, geology, robotics/ electronics, wood working, etc. Just like this kit; he doesn't dumb down anything.

I turn into a kid every time I go into his store.

zokier 21 hours ago 3 replies      
Maybe I'm part of the problem, but I wouldn't let a kid to play with fully equipped chemistry set without supervision any more than I would let him/her play with loaded gun without supervision. Of course I also think that both activities are fine under supervision.

Anyways, I really really hope that anyone buying this for a kid is also prepared to spend time with the kid.

MrZongle2 23 hours ago 0 replies      
Finally, something "for the children" that I can get behind.
fr0sty 23 hours ago 2 replies      
Here is a link to the text of the manual that came with the original sets (warning: Comic Sans):


EDIT: Found a PDF as well:


gcv 20 hours ago 3 replies      
> it needs to be noted that some states do frown on its citizens owning chemical glassware.

Excuse me? Glassware?

lleatirt 22 hours ago 9 replies      
As a synthetic chemist, it really surprised me to see carbon tetrachloride featured prominently in one of the pictures on kickstarter. The use of this chemical is essentially nonexistent anymore due to its toxicity, carcinogenic properties, and danger to the environment. I'm all for letting kids learn with all manner of chemicals, but why bother with one that both academia and industry have essentially deprecated?
wuschel 2 hours ago 0 replies      
There is a difference between using a chemistry set to learn something about the world through analytics and creation/change of matter, and to play around with it.

I agree with csmuk wholeheartedly that it is the supervision that counts. A chemistry kit can be a great learning tool, but it is not something that should be taken as a toy to play around.

We all play, make mistakes, and learn due to those mistakes. But with chemistry those mistakes could show in the form of a hospital visit, chemical pollution, or long term poisoning. I had the fortune to survive an explosion in a lab unscathed, and I will not forget the day I saw my collegue burn 2 meters from me.

Proper training in chemistry is important for reasons of safety and for scientific understanding and reasoning. But let us face it, most people do not like chemistry at all in school. But blowing stuff up and making drugs a la Breaking Bad is cool. When I read the words RDX, CCl4, conc. H2SO4, Methylamine - a bit of TiCl4 perhaps - etc in this thread I imagine the kid with sparks in his eyes who wants to blow stuff up on new years eve.

So, how can one include proper attitude towards the materials inside this Chemistry Set without proper supervision?

whatusername 3 hours ago 0 replies      
Can anyone fill me in on what he is likely using for this: "a "Spit Fire, Save Matches" kit. Each kit will allow users to kindle a minimum of 10 campfires, fireplace fires, or charcoal pits by using two chemicals and a drop of spit." (at the $45 reward level)
trumbitta2 22 hours ago 0 replies      
I had the "plastic version" as a kid (11 years old)... so much fun!I ran all the experiments more than once, and felt like I was really learning something for the first time.

I had to wait till I got into computer science (at 18, pentium 75 era), to re-experience such a wonderful feeling.

aroch 23 hours ago 3 replies      
Oh man, this is rather tempting.
reasonnotreason 12 hours ago 1 reply      
I am pretty sure the set pictured would be illegal in the state of Texas without registering with the state. Maybe these laws have changed in the last decade, but they don't allow all manner of glassware.

Yep, here is the list.

(A) a condenser(B) a distilling apparatus(C) a vacuum drier(D) a three-neck or distilling flask(E) a tableting machine(F) an encapsulating machine(G) a filter, Buchner, or separatory funnel

(H) an Erlenmeyer, two-neck, or single-neck flask(I) a round-bottom, Florence, thermometer, or filtering flask(J) a Soxhlet extractor(K) a transformer(L) a flask heater(M) a heating mantel or(N) an adaptor tube

It sucks telling your kid she can't have a chemistry set because of this nonsense.

jmcqk6 17 hours ago 0 replies      
I purchased one of these years ago from this shop. It didn't come in a nice case or anything, but it contained great glassware and chemicals. It's stayed with me for years now. This is a great shop, and if you're ever in Parkville, MO (in the KC Metro Area), you should definitely check it out. The owners are very nice, and they're shop is full of wonder things.
rzt 22 hours ago 0 replies      
Wow, I passed through Kansas City a few months ago on a cross-country move and wish I knew about this store (and stopped in). I don't often fund kickstarters, but this one I could get behind something about it resonates with me.
codingdave 15 hours ago 1 reply      
I'm confused - he already has a store, already has demand for this product. There are even comments here from people saying they have already bought this set from this guy. Why does he need Kickstarter? He is not asking us to fund development of a new project, he is asking us to fund his supply chain.
rfrey 21 hours ago 2 replies      
Only ships to the United States, sadly for me and my son.
jimmcslim 15 hours ago 1 reply      
Feelings of nostalgia are frequently observed in subjects discussing chemistry sets, however this observation may be subject to survivorship bias...
benjamta 15 hours ago 0 replies      
Wow - I love this, love both the aims of this project and the look of the finished product. Fantastic stuff!

Can't wait to see one of these recreated next:


solarmist 23 hours ago 0 replies      
This is the chemistry set I've always wished I could find. Growing up I had a huge interest in chemistry, but never got a chance to play with it at all.
lechevalierd3on 20 hours ago 0 replies      
inches... the box dimensions are given in inches...
Fundlab 15 hours ago 0 replies      
This is so nicely packaged. I am definitely going to snag one up for the sake of curiosity
ssshanky 17 hours ago 0 replies      
I saw this vintage chemistry set at an antique store in Bisbee, AZ. It includes a booklet called "Senior Chemcraft Experiment Book -- Instructive and Fascinating Chemical Experiments -- The Porter Chemical Company, Hagerstown, Maryland" and something labelled "Bryan Chemical Illustrators -- An Exclusive Chemcraft Feature".


I recall thinking how fun it would be to have that set, as well as how risky it could be. I probably should've bought it.

vincefutr23 22 hours ago 1 reply      
is mercury included?
jyagmin 17 hours ago 0 replies      
This is so amazing, but probably dangerous.
auctiontheory 11 hours ago 2 replies      
Our project's greatest challenge has been producing the actual sets' boxes exactly to my specifications.

This sentence really rubs me the wrong way. It says to me that they really do not think about the possible consequences of distributing these to unsupervised kids. It's the "I just gave him the gun/alcohol, what he did after that is not my problem" point of view.

I'm not saying that all kids shouldn't have access to fully-loaded chemistry sets, but chemicals should be distributed with forethought, and this guy is clearly not thinking about what harm the chemicals can do. (He's thinking about how to design a nice case.)

Four years of Go golang.org
307 points by enneff  2 days ago   193 comments top 21
donutdan4114 2 days ago 3 replies      
I am only a beginner in Go, but what I have done so far, I have loved. It's a great alternative to your typical scripting languages like PHP, Perl, Python, Ruby, Node, etc, etc, etc... And simpler and funner to use than C/C++ IMO.

I really hope it keeps gaining momentum.

chetanahuja 2 days ago 1 reply      
Looks like Go is succeeding more in the space where scripting languages like Python and Ruby are dominant and less in it's original intended space (systems programming). Rob Pike has written about it too. I wonder if they see this as an opportunity missed or unexpected boon.
kevrone 2 days ago 0 replies      
We are writing/rewriting a lot of services at Timehop in Go. It's not quite as productive as programming in ruby, but it's surprisingly close (For simple services, anyhow) and its multiplexing characteristics seem pretty slick when you're used to using delayed_jobs in ruby.

However, if you do a lot of collection processing, you start to really itch for something like generics (Which can lead down some pretty interesting rabbit holes: http://blog.burntsushi.net/type-parametric-functions-golang). I think this is a pretty big feature to be missing, actually. I hope it comes soon in future updates. It's pretty frustrating to have to reimplement data structures that can accomodate custom structs.

But overall, it's very impressive, and a step in the right direction. I think we're approaching a golden age of programming languages, where syntax, expressiveness, and performance are all given equal seats at the table.

misnome 2 days ago 5 replies      
> "The state of the Go ecosystem after only four years is astounding. Compare Go in 2013 to Python in 1995 or Java in 1999. Or C++ in 1987!"

Wow! The state of C++ searches on google were 0 in 1987, as were searches for "Apples" and "Oranges" so go must be doing incredibly well to have infinity times the results!

craigyk 2 days ago 2 replies      
I want to like Go. There's definitely some parts that are great, but for a relatively new language there were missed opportunities to adopt awesome features in other PLs. There are also some internal inconsistencies that I find grating. These inconsistencies are particularly irksome given how opinionated Go is (and how much I agree with most of those opinions).
sergiotapia 2 days ago 2 replies      
I'm betting on Go at the moment, using it to build some little libraries and writing some dummy apps to test the waters.

Hopefully in 4 years when Golang developers are in demand, I have 4 years of experience under my belt. :)

knodi 2 days ago 2 replies      
I been using Go for a year now. Its hard to explain but for the most part I enjoy coding with Go. I could say i find it fun/enjoyable but that doesn't seem to convey the right feeling.
socksy 2 days ago 2 replies      
So I've given Go a try with a couple of projects, and I like it so far. However, I really don't like its "warnings are errors" feature in particular in respect to unused imports. If I comment out a line that uses an import, then it no longer compiles until I go to the top of the file and comment it out.

Has anyone come up with a good solution to this? Preferably using Vim tooling.

dhaivatpandya 2 days ago 0 replies      
I'm currently working on a Go project that is meant to sit above the Hadoop FS. Go has been absolutely brilliant to work with. Some of the design decisions make very little sense at first (e.g. no fields in interfaces, no real inheritance, etc.) but as I've used the language more and more, the reasoning behind them becomes clear.
ARolek 2 days ago 1 reply      
I spend about 30% of my time system side in Go, and the rest in Node.js. I'm working to migrate almost all of my time to Go. The language is fun to work in and, personally, the overall experience is much improved over Node.js. It's exciting to see the momentum behind the language and the great people who are attracted to it.
codeka 2 days ago 4 replies      
When I look at the Google Trends for "golang", China is the top region by a huge margin (the next highest region after China is Sweden at 30) [ http://i.imgur.com/XHW40kp.png ].

And the rise of interest in "golang" in general seems to correspond to the massive spike in China [ http://i.imgur.com/Y3oO2jf.png ].

I'm not really sure what that means...

martinvol 2 days ago 1 reply      
There is a fallacy in this quote: "The state of the Go ecosystem after only four years is astounding. Compare Go in 2013 to Python in 1995 or Java in 1999. Or C++ in 1987!"This comparison is more than unfair, in the 90's only a few people had an internet connection. Or Do you want to create Open Source projects by mail? Git or Subversion didn't even exist back then.Now imagine in 1987...
alok-g 2 days ago 7 replies      
Those experienced in Go, do you miss generics?
motter 2 days ago 0 replies      
If you're in London, you might like to come to the Go user group which I run with John Graham-Cumming:


Don't worry about the waitlist, people always drop out nearer the time.

AlexanderDhoore 2 days ago 0 replies      
I'll be at the Go room @ FOSDEM 2014! See you there.
islon 2 days ago 0 replies      
If hacker news is any indicator of success than go will become the most used programming language soon.

Yeah I was been ironic but go is quite a nice language =)

pjmlp 2 days ago 0 replies      
> If you're in Europe in February 2014, come along to the Go Devroom at FOSDEM 2014.

Ok, so now I really have to attend next year's FOSDEM.

Grue3 2 days ago 1 reply      
Does it have exceptions yet?
trungonnews 1 day ago 0 replies      
How many more years until Go gets named parameters?
chris-at 2 days ago 1 reply      
Does a chart without a y-dimension say anything at all?
mynames 2 days ago 2 replies      
Does anyone knows why there is no support for Go in Android?
Severing Ties with the NSA utexas.edu
299 points by dil8  1 day ago   81 comments top 7
genwin 1 day ago 3 replies      
Excellent. Ostracizing complicit people is the key to reducing bad behavior. Imagine if you did some real bad but legal thing and then no one would talk to you, not even your family, or even serve you in a restaurant. Others would think twice. I don't think it's as horrible a consequence as prison, where these people belong. (NSA folk flouted their oath to support the Constitution and defend it against domestic enemies.) If you changed your ways you could be forgiven.
pmorici 1 day ago 3 replies      
"But if any healing is possible, it would probably start with making the NSA and its ilk socially unacceptable"

I'm surprised people are suggesting this as a solution. I don't see how creating an us vs them mentality is helpful here given that when you get down to it they are basically just folks trying to make a living and feed their family like any one else. A better and more positive solution could be for a bunch of private sector companies who opposed what is going on here to get together and aggressively poach their employees. It's hard to build an evil empire when all your best engineers have been hired away.

theboss 1 day ago 10 replies      
This is stupid. You severe ties with the NSA but what about the FBI, CIA, DEA, DISA, DIA, the list goes on. What about contractors who do business for the NSA? The big primes. Lockheed, Grumman, SAIC, CGIFederal, BAE, Booz, etc.etc.

It's pointless to say you won't do business with one when they are all interconnected. Coming from someone raised in Beltway culture.

edit: It is also funny when people say things to the effect of "Beyond what conspiracy theorist could have ever imagined". I'm honestly surprised when people say they didn't know or expect this was happening.

mmanfrin 1 day ago 1 reply      
Doesn't the NSA employ something in the area of 25% of all Math PHDs in the US? This will be a tough severance.
xacaxulu 1 day ago 0 replies      
This is the intellectually honest thing to do. Bravo to the people who stand up to illegal government operations.
e3pi 1 day ago 0 replies      
The AMS needs a `Society of Concerned Mathematicians'. Collectively, it could voice and lobby with authority in DC. Neal Koblitz, of Elliptic Curve Cryptography, has been doing humanitarian crypto outreach for political dissent in Central America for decades.
FTL: Advanced Edition ftlgame.com
298 points by nuriaion  1 day ago   138 comments top 23
bstar77 1 day ago 7 replies      
This is one of the most perfectly balanced games I've ever played. I've come one shot from beating the end boss, but that final kill still evades me.

The great part about the game is that the beginning portion is actually quite strategic despite the battles being very easy. You really need to maximize your wins by either getting in as many battles as possible per sector or by killing opposing crews without destroying their ship. Your first 5 or so sectors really set the pace for the later game.

officemonkey 1 day ago 4 replies      
I think FTL captures the spirit of "Star Fleet Battles" and "Traveller" ship-boarding combat without the extreme crunchiness that the pen-and-paper RPGs were known for.

However nothing beats the Escape Velocity series. The writing, the "asteroids-like" space combat, the trading missions. It's what I wished EVE Online was.


austinz 1 day ago 0 replies      
I love FTL. I can beat it semi-reliably on Easy with a few of the ships, and occasionally on Normal. And that's part of the game's genius - there are quite a few practical ways you can build your ship and crew in preparation for the final boss, and each of the ships (and even layouts) is tailored towards facilitating a particular strategy. So even if you master one strategy, there are plenty more waiting to destroy you through your inexperience or ineptitude.
dshep 1 day ago 1 reply      
Brilliant game. Super excited for this.

If you haven't played FTL before, don't heed the complaints about the randomness, it's not as difficult or random as it may at first seem. And frankly failing in this game while you are learning the ropes is half the fun.

Spittie 1 day ago 1 reply      
FTL is great, I loved playing it on my computer, and I still love opening it for a game or two from time to time.

Too bad that they aren't releasing it for Android (for now). I would loved to play it on-the-go, and would easily pay again for it.

Still, it's great to see a free expansion. Thanks FTL Team!

asciimo 21 hours ago 1 reply      
I command-F'd for "music" but I see no hits. I think that the music in FTL is great, especially for coding. Here's a link to the FTL soundtrack and other great stuff by the artist, Ben Prunty: http://benprunty.bandcamp.com/
Keyframe 1 day ago 0 replies      
Friends, consider this a warning. If you are working on something important and/or have a deadline - AVOID this game at all costs.
codezero 1 day ago 3 replies      
This is a great rogue-like indie game. I highly recommend it. You should know, my recommendation is essentially a guarantee.
failrate 1 day ago 2 replies      
Not to whine (because this game is pure liquid gold straight into my brain meat), but the one thing I was hoping for was a new endgame as an alternative to the final boss.
devindotcom 1 day ago 0 replies      
One of the very first things I thought when I played this, right when it came out, was "god damn why don't I have this on my iPad?"

I knew in my heart they would come through. Really great game, can't wait to play it again.

mercurial 1 day ago 1 reply      
I didn't know they had Chris Avellone (main writer on Planescape Torment) on board.
anonymous 1 day ago 7 replies      
Too bad the unfair, uncontrollable, unmitigateable randomness turns this otherwise excellent game in a poor joke. There is no planning you can do, since every shop is random and there is nothing you can do if the game just decides to spawn precisely the kind of enemy that can kill you right then and there. All the different combat systems and options are good, but given that you have no idea what weapon drops you'll get, you can't do any planning ahead. Additionally, if you start having to run away from battles you fall behind the curve and there's no going back. You can't just scout the sector to find easy enemies to beat, because you have a very tight limit on how much exploring you can do. Once you fall behind the resource curve and have to run away from more and more encounters you're already dead.

I spent 15 hours with this game, did close to 40 attempts and only once got to sector 7. Usually I'd die around sector 4 or 5.

If you already have the game and like it, good for you. I just want to warn other people. My final opinion is: the devs don't understand statistics and randomness; go play nethack, it's easier.

dangayle 19 hours ago 0 replies      
I've played this game a thousand times, and I've still never beat it. That's one of the reasons I like some of these games like that.

I remember the first Final Fantasy where, sure, maybe you could sneak your way through to the boss. But he's going to kick your butt.

Same thing with FTL. The journey is only half of the battle. Being prepared after making it through in another game entirely.

presidentender 22 hours ago 1 reply      
I enjoyed (and highly recommend) FTL, but I don't think that a few new weapons gives me a reason to play it again.
otikik 1 day ago 0 replies      
+1 for FTL. A challenging game, expect to die a lot at the beginning.
Kiro 1 day ago 5 replies      
Is this like Star Command? I like the idea but Star Command was a disappointment. Just the same thing over and over again without any real depth. Unfortunately this looks just as battle focused so I'm skeptical.
titraxx 1 day ago 1 reply      
And the best part: it's a free expansion !
boksiora 1 day ago 0 replies      
This is one of the best games ever
danso 1 day ago 0 replies      
Thank god this hasn't come out yet. Easily the most addictive game I've played in years...I've lost whole weekends to it. I don't think my social life can take an upgrade to this game right now
alexmchale 1 day ago 0 replies      
Advanced edition? This game kicks my ass already!
Kiro 1 day ago 2 replies      
So should I play this or the vanilla version?
deaconblues 1 day ago 0 replies      
Great news. I'm absolutely abysmal at FTL, but I have fun every time I start it up.
tinco 1 day ago 1 reply      
So eh, what's interesting about this? Did they get funding? Are they using an interesting business model? Are they using a cool new technology? Is there something we can learn from them?

All I see is the announcement of a sequel to a modern popular game, what's going on?

Questions to ask your potential employer stefankendall.com
299 points by stefan_kendall  4 days ago   162 comments top 34
mcenedella 3 days ago 4 replies      
This is a terrific developer-specific list. The realism about acceptable answers is quite good.

Here's my own list of 20 interview questions, from a more generic business / process / employee life perspective:

1.What's the biggest change your group has gone through in the last year? Does your group feel like the recession is over and things are getting better, or are things still pretty bleak?

2.If I get the job, how do I earn a "gold star" on my performance review? What are the key accomplishments you'd like to see in this role over the next year?

3.What's your (or my future boss') leadership style?

4.About which competitor are you most worried?

5.How does sales / operations / technology / marketing / finance work around here? (I.e., groups other than the one you're looking to work in.)

6.What type of people are successful here? What type of people are not?

7.What's one thing that's key to this company's success that somebody from outside the company wouldn't know about?

8.How did you get your start in this industry? Why do you stay?

9.What are your group's best and worst working relationships with other groups in the company?

10.What keeps you up at night? What's your biggest worry these days?

11.What's the timeline for making a decision on this position? When should I get back in touch with you?

12.These are tough economic times, and every position is precious when it comes to the budget. Why did you decide to hire somebody for this position instead of the many other roles / jobs you could have hired for? What about this position made your prioritize it over others?

13.What is your reward system? Is it a star system / team-oriented / equity-based / bonus-based / "attaboy!"-based? Why is that your reward system? What do you guys hope to get out of it, and what actually happens when you put it into practice? What are the positives and the negatives of your reward system? If you could change any one thing, what would it be?

14.What information is shared with the employees (revenues, costs, operating metrics)? Is this an open-book shop, or do you play it closer to the vest? How is information shared? How do I get access to the information I need to be successful in this job?

15.If we have a very successful 2015, what would that look like? What will have have happened over the next 12 months? How does this position help achieve that?

16.How does the company / my future boss do performance reviews? How do I make the most of the performance review process to ensure that I'm doing the best I can for the company?

17.What is the rhythm to the work around here? Is there a time of year that it's all hands on deck and we're pulling all-nighters, or is it pretty consistent throughout the year? How about during the week / month? Is it pretty evenly spread throughout the week / month, or are there crunch days?

18.What type of industry / functional / skills-based experience and background are you looking for in the person who will fill this position? What would the "perfect" candidate look like? How do you assess my experience in comparison? What gaps do you see?

19.In my career, I've primarily enjoyed working with big / small / growing / independent / private / public / family-run companies. If that's the case, how successful will I be at your firm?

20.Who are the heroes at your company? What characteristics do the people who are most celebrated have in common with each other? Conversely, what are the characteristics that are common to the promising people you hired, but who then flamed out and failed or left? As I'm considering whether or not I'd be successful here, how should I think about the experiences of the heroes and of the flame-outs?

tptacek 2 days ago 0 replies      
I think this is a thing that everyone goes through in their career at some (or various) points: you take an inventory of what does and doesn't work about the roles you've held, and try to turn them into a qualifying questionnaire for future roles.

That's fine as far as it goes, but one of the things you'll learn as you progress is that superficial process issues are actually not at the core of effectiveness; talent, vision, and ability to execute are. You want to be careful that your questionnaires don't blind you to opportunities to work in radically different cultures/processes that will succeed for reasons you don't yet understand.

pasbesoin 3 days ago 5 replies      
The elephant in the room, for many of us: What would be my physical environment?

I like a challenging problem. I don't like fighting a bunch of extraneous noise and distraction while trying to concentrate on it. (Collaboration is just fine. Noise is not.)

I've yet to see a clear formula for addressing this concern in a neutral fashion (or, perceived as neutral or acceptable).

perlgeek 3 days ago 1 reply      
0) Do you use version control for your code, and if yes, what?

If they say "no" or "RCS", politely say that you don't want to be a part of that dev team. Unless they hire you as the only developer, and you see real chances of introducing some sanity.

This is not just about the way they store code; it's about the attitude towards tools. If they aren't aware of source/version control, or are aware but don't care, experience shows that they will be a huge pain to work with. Know a perfectly fine, open source library that does 90% of that task? Have fun getting permission to use it!

Silhouette 3 days ago 2 replies      
I'm not sure I'd agree with all of these. For example, the ones about automated testing or building internal tools sound a lot like "Do you like to work the same way I do?" and if the answer is no then the dubious assumption is that you know more about what this potential employer does than all of their existing staff. The list seems reasonable for the most part, though.

Aside from obvious questions about the kinds of projects you'd be working on and the skills and technologies involved, I used to rely on a few simple tests:

1. What is the employee turnover like, and if people have left recently, why? [This is a reasonably objective proxy for what the rank and file staff really think, and they collectively know this potential employer much better than me.]

2. Did they ask brain teaser type questions or do a pop-psych personality test in the interview? [Do their hiring practices suck, in which case even if they hired me, would I want to work with anyone else they hired? Also tends to indicate an unhealthy assumption of superiority and desire to conduct one-sided interviews, which is a red flag in its own right.]

3. Will they show me a sample of their production code and of the related documentation, and if so, what is it like? [If they won't and don't have a very good reason, my assumption is that they aren't confident their code will impress, which is not a good sign. If they will, what I see is about as good a marker for whether they're any good technically as any benchmark you can fit into an interview.]

4. What does the car park look like on the way in? [Far from scientific, but a handful of executive cars in reserved spaces and then nothing but old models in the few remaining spaces is rarely a good sign.]

5. Does the contract impose on my life outside of work? For example, would I need permission from the employer to take on an unrelated side job that had no bearing on my ability to work properly for them? Would they be claiming IP rights to any work I did unrelated to that employment, so that for example I couldn't release a hobby project as Open Source if I wanted to? [Any attempt to control life completely outside work is a fairly reliable red flag for a generally over-controlling attitude and/or a show run by HR/legal rather than sensible management or the people I'd actually be working with.]

pbiggar 3 days ago 1 reply      
Coming from the interviewer's standpoint, this is one of the best lists like this I've seen. Everything is relevant, they're all valuable questions, and their all fair to ask.

I would add that you should ask questions about the employer's business too, especially at a startup. How do you make money? When will you be profitable? What's your direction?

Bahamut 3 days ago 1 reply      
Questions I like to ask as a job candidate:

- Can I see the code base? (it lets me see a bit of app structure, code style, etc.)

- How is the company doing business-wise? (I like to see big success indicators like rapid growth)

- How flexible is the employer with regards to having to take emergency and/or scheduled time off work without being penalized for vacation (i.e. waiting for a package, or specific to me, reserve duty in the military)?

- How do you see me fitting in with the company initially? (I am flexible, but I would like to know what role I am being hired for, as job descriptions are often opaque or misleading)

Unspoken questions I'm looking to have answered by coming in for an interview as a job candidate:

- What is the dynamic between employees?

- What is the company culture?

- How intense is work at the place typically? (just for personal gauging purposes - this isn't a make or break thing, but it's something I want to know)

- Does the workplace treat its employees well? (do the employees look happy to be there?)

- How transparent is a company when answering my questions? Are the responses detailed? Is there something that is being hidden from me?

There are probably more questions I tend to want answered that are never spoken, but incumbent on me to take note of through observations. As a job seeker, you owe it to yourself to be as sharp as possible about your own future.

sbov 3 days ago 6 replies      
I don't quite get why internal tools are listed as "beware of". Internal tools are products too. At game companies they have teams dedicated to building just them. I'm sure most larger companies do too.
rch 3 days ago 0 replies      
> Why are you hiring?

This is a good one to ask, but tricky sometimes. I've heard answers along the lines of 'we keep positions open perpetually' for architects, systems analysts, data scientists, and the like. So I think to myself, that's great! It is fun to think I'll be a valued hire, and the friend who brought me in will eligible for a nice referral bonus. However, I am starting to think that if a company appropriately values experienced, talented leadership in the most challenging sectors of development, then these roles don't need to be 'always open' any more than entry level positions. My guess is that there's always a catch with companies that give this answer.

So what's a good answer? I'd prefer: 'we weren't hiring, but X thought we should meet you.'

ye 3 days ago 3 replies      
> We don't have tests. - Get out

Maybe it's an opportunity to introduce automated testing.

I've worked at many companies where my managers wouldn't allot any time to develop automated tests and change the deployment to accommodate them.

Many companies are just not aware, because they never hired the people who are familiar with automated testing.

davmar 3 days ago 2 replies      
i've been trying to determine why this list bothers me because it's seems so reasonable, but i think i found it.

this list helps you identify a "goldilocks" product company. it's narrowly targeted at a specific subset of product-based companies at a specific growth stage with a very opinionated view of how the company should be organized.

try answering any of these questions from the shoes of microsoft or a no-name early stage startup. you cannot win in either case. i can only see a company like airbnb or dropbox succeeding in answering these questions to his satisfaction.

kudos to the author for knowing what he wants and what makes him happy. i think candidates will most likely need to compromise on more than a couple of these points with most companies they interview with.

edit: i absolutely agree that candidates should interview the employer as much as they are interviewed. and i think this list is very good. what bothers me is that it's hard to answer positively to all these questions, so flexibility on the part of the candidate is probably an important thing :)

brianmcconnell 3 days ago 3 replies      
I would add a question about vacation policy as a signal about whether you want to work there.

Wrong answers: two weeks, or "unlimited" (because everyone knows there will be peer pressure not to use vacation time).

Right answer: four weeks, use it or lose it (as in, we want you to check out for a proper vacay a few times a year).

The definition of vacation = I am going to be on a beach/wherever, not checking email, probably drinking, and definitely not thinking about work.

Location is also important. If you have a 2-3 hour round trip commute each day, you'll hate your job no matter how interesting the work is.

Bahamut 3 days ago 0 replies      
In my case in my last interview, I asked to see some of the codebase. It was a less than ideal situation, and there were no unit tests for the frontend. However, I saw it as an opportunity to make an immediate impact on the dev process.

I ended up accepting the job, but I knew what situation I was entering and what to do to make a difference. Suffice it to say, it has been a great experience for all parties involved, and we took a demo and shipped a major product in under 2 months while solving many critical issues along the way, paving the road for smoother development in other concurrent & future projects.

tokenrove 3 days ago 1 reply      
Ten or fifteen years ago one of the fastest make or break questions I would ask was "what version control system do you use?" (and of course, whether they were using nothing(!) or ClearCase or VSS or CVS would immediately say a lot about the culture there); version control is ubiquitous now even in lousy companies, so I think "what is your code review process?" is my new favorite question to get some indicators of the development culture at a company.
btilly 3 days ago 0 replies      
I prefer questions that are specific, verifiable, and relevant to me. When they are specific and formatted differently, interviewers will often surprise themselves by being honest. Furthermore if there is anything that would be a deal breaker, you need to ask up front.

"Why and when did the last three people who left, leave?"

"How big is the team?"

"Due to family responsibilities, I need to work an odd schedule. How open are you to letting me start at noon and then work a full day?"

tgrass 3 days ago 1 reply      
To filter for those managers who will never be happy with anyone's work ask:"Who is your favorite employee? Why? How do you motivate them?"
edw519 3 days ago 2 replies      
Excellent list.

A few more:

- What will my typical day be like? (The answer will always start with "We don't have a typical day." So you say, "I know. Describe it as if there were one.")

- What will my life be like in 6 months? One year?

- What's the worst thing that can happen in the next 6 months? Next year?

- What's the probability we'll achieve our goals in the next 6 months? Next year?

Don't depend upon the answers but expect some very insightful discussion.

jakejake 3 days ago 0 replies      
These are all really good questions. I think it's a great idea to have some questions in mind when you interview. It shows that you are interested in making an investment in a company and not just looking for a paycheck.

I would probably spread these questions out over a few people and not hit the same person with 20 questions. I would also be cautious of making the interviewer feel embarrassed if they are not following SCRUM to the letter with 100% automated testing and code coverage. Because in real world situations we are often striving for that but we don't always get to do it perfectly by the book. So it won't help if you make them feel even worse about it!

dylam 3 days ago 0 replies      
I agree with most of the things here except for the last part of no. 9:

"Beware of "I built an internal tool that..." or "I built a flux capaciting tool that..." or "I rewrote an open source tool because...". Some developers like to jerk off to rebuilding the wheel and wasting business money on projects that strictly aren't required or useful to the business as a whole. Like I said, I like to build products. If you feel like you needed to rewrite the compiler, you're probably awful, and almost certainly wrong."

What about DevOps and people who work on improving the work flow for other developers?

Otherwise, great list.

dsr_ 3 days ago 0 replies      
I've never interviewed a candidate in person and not given them at least 20% of the scheduled time to ask questions about the company. I have only once accepted an offer from a company that didn't offer me a similar opportunity, and that acceptance was a major mistake.
thenerdfiles 3 days ago 4 replies      
"Do you use presentational CSS classes in markup, or do you fully utilize LESS/SASS?"

I think the answer here will explain everything. (Does this employer know/care? Am I about to dive into legacy practices? What does the bottom floor of the codebase look like?)

It draws a line.

raverbashing 3 days ago 0 replies      
Good list. N. 2 is a good catch really.

I would add another question. What's the development stack like. And by that I don't mean N.4

What I mean is: What's your source control system, bug tracker, (possibly) IDE/Editor, (possibly) other tools/environmental issues depending on the area (more usual in specific areas, embedded software for example)

namenotrequired 4 days ago 0 replies      
11. What's your reason for working here?
human_error 4 days ago 1 reply      
I had a job interview two days ago and the manager covered the first 9 questions before I asked (I had 1,2,3,4 and 6 on mind but he talked about all of those topics). I don't know if it's a good sign or a bad sign though.
erikb 3 days ago 0 replies      
I like the list. Just for me personally there are some differences. From experiences I like chaos more then organization, because I can make more out of the chaos for myself. I don't feel so well today? Well in a chaotic company I can just stay home or answer emails. When I feel energetic I can also convince my coworkers to get a major feature done or an ugly bug fixed that was laying around for months.

Also from some of my colleagues I see that not everybody is really interested in delivering results. Some are just fine with doing what they are told, then going home and caring about their family. When the whole department/company thinks like that, then the life of these people is much better. It's definitely not for every engineer, but I think it's good such spaces are out there!

j1z0 3 days ago 0 replies      
Given that I run a consulting company I spend a fair amount of time on each side of the interview table. Both recruiting for contractors to help with a project and trying to convince others that I'm the right guy / company to develop the system.

That being said I think this list of questions is excellent. I would be much more inclined to hire someone who asked these questions than someone that didn't.

Somewhat conversely as an interviewee I would be at least slightly concerned with a company if I had to ask these questions. This is basic ground that any good interviewer should cover in an interview and if thy don't they may not be looking for the type of development styles that I like most.

Interviewing is a two way thing both sides should be choosey and neither side should settle for something less than ideal. If we all found jobs / employee that we love then the workplace would be some much better off for it

aabalkan 3 days ago 0 replies      
Take a look at this post for specifically web developer positions:

"Questions to ask your future web dev employer"https://medium.com/what-i-learned-building/f7a161b5bc70

kapilkaisare 3 days ago 0 replies      
Instead of asking "What's the process like?", I'd try to avoid a buzzword-ed answer by asking instead "How long is an iteration? How are your teams structured (flat vs hierarchical)? Does each team have its own tester, or is there a separate QA division in the company?"
seiji 3 days ago 5 replies      
Practical questions that always bite me:

- When do we get paid? Every two weeks or twice a month? Every two weeks means your pay is essentially reduced by two entire paychecks. With "twice a month" your paycheck is $NET_SALARY/24. With "every two weeks" your paycheck is $NET_SALARY/26, meaning two months out of the year, you'll get three pay checks. But--the rest of the year, your salary is essentially reduced by ($NET_SALARY/26 * 2). You can't create a monthly budget out of two pay checks you get twice a year, six months apart.

Realistically, you aren't going to not go with an employer because they pay 26 times a year instead of 24. It's just something to be aware of since it reduces your practical salary by two entire paychecks.

- Are benefits included? It's a mild disappointing cognitive change to go from a job that pays full benefits to one that makes you pay $100/month for them.

- Meals/snacks/fruit? It's another mild disappointing cognitive change going from a company catering two meals a day to one charging $2 for a water from a third party vending machine.

- Are you lumping any bonuses in with the full salary you're offering? Be careful of HR starting your conversation with "Your total compensation is $80,000 per year" when they then mumble "That's a $45,000 base and a $35,000 bonus, paid out yearly at the end of your hire date anniversary." Your huge total comp package may make your ego feel good, but you can't budget against end of year bonuses.

- Stock is always imaginary unless you're at a public company. Always try to double or triple the base "options" they offer. Be wary of places that do 25% cliffs instead of 50% cliffs. 25% cliffs are just silly.

alex_hitchins 4 days ago 1 reply      
I think another important question to ask is will they will let you speak to the current team(s) and ask them questions. In my experience they are more likely to give honest answers.
rmc 3 days ago 0 replies      
Interview are not just a company evaluation a prospective employee, they are also a person evaluating a prospective employer.
jkbyc 3 days ago 0 replies      
The list may be good but I find this writing style off-putting
seivan 3 days ago 0 replies      
Regarding #2 what if a person wants to be both. What should one ask then?
Adirael 3 days ago 6 replies      
Both the company and the candidate, it's a two way process. The company is looking for a good fit and the candidate is doing the same.
Stop the NSA "Fake Fix" Bill eff.org
295 points by joshfraser  3 days ago   54 comments top 14
csandreasen 3 days ago 6 replies      
After reading the amendment, my take on it is that the EFF article is stating that the whole program needs to be scrapped and criticizing Feinstein for not doing so. Feinstein is apparently of the opinion that the program could be useful and her tactic is instead to put additional oversight in place. Here is what this bill does specify:

- Codifies that no message content may be collected under this authority

- Specifies that any queries against this data must have documentation showing "reasonable articulable suspicion that the selector is associated with international terrorism or activities in preparation thereof" (note that military/political/counter-espionage/etc. is not listed)

- A person meeting the above criteria who travels into the US may continue to be targeted for up to 72 hours. The Attorney General may grant an extension as an "emergency authorization".

- A record is to be made for each search against the database of the phone number searched for, the person who searched for it, date and time it occurred and documentation as to why the search was performed.

- The documentation for each search must be given to the FISC. The FISC is explicitly granted the ability to terminate any collection if it finds that the search was unlawful.

- Directs the FISC to appoint additional personnel with access to classified information and expertise in "privacy and civil liberties, intelligence collection, telecommunications, or any other area that may lend legal or technical expertise to the court." An annual report must be submitted to Congress on the number of personnel appointed.

- Any individual who circumvents access to the phone records database will be fined or imprisoned for up to 10 years.

- A semiannual report needs to be made to the House and Senate Intelligence Subcommittees with information on all electronic surveillance, physical searches and use of pen registers/trap and trace devices conducted under this act. The report needs to include the total number of requests made to the court, how many were approved/denied/modified, the names of any targets within the United States, compliance incidents, any emergency authorizations, etc. That information, along with any of the documentation mentioned above must be made available on request to the NSA Inspector General, the Intelligence Community Inspector General, DoJ and the Privacy and Civil Liberties Oversight Board

- An unclassified summary of all of the above information needs to be made available to each member of Congress.

MBlume 3 days ago 2 replies      
As a Californian I am never not ashamed to have Senator Feinstein representing me. Is there a "tech lobby"? If there is, why is its number one priority not fielding a decent primary challenger to oust this authoritarian disgrace to our state?
eridius 3 days ago 3 replies      
Crap. Senator Feinstein is my senator. I'm pretty sure sending her a letter isn't going to help.
001sky 3 days ago 0 replies      
Senator Feinstein is touting this proposal as a way to address the problems with uncontrolled NSA spying, but dont be fooled: its a fake fix.

Urgh. Person with something to lose, protecting her power and influence?

ddoolin 3 days ago 0 replies      
zmanian 2 days ago 0 replies      
There don't seem to be any obvious points leverage with which to apply pressure on Diane Feinstein. Her age, wealth and long term membership in Senate make her much less vulnerable to standard political tactics.

It seems that we need to manipulate the situation so that Diane Feinstein feels that is in her interests to support a more robust set of NSA reforms. I don't feel like I have a complete understand how Senator Feinstein perceives her interests.

nyarlathotep 3 days ago 0 replies      
I don't doubt the EFF, but I am automatically skeptical of anyone who tries to get me to take action without bothering to post the bill or even relevant excerpts.
codex 2 days ago 2 replies      
It's important to realize that the EFF is not a research institution--it is an advocacy institution. In other words, the EFF doesn't start off with an unbiased view of an issue and then decide what is in the public interest. Instead, it takes predictable positions on a number of issues, and those positions will never change no matter what the facts may turn out to be. After all, it was founded to push an agenda which was pre-defined in advance of its founding 25 years ago.

Therefore, you should never read EFF materials with blind credulity as many of the commentators on this post do. They put out propaganda like all advocacy groups do, and it's up to neutral third parties to filter it. To be fair, they're not as bad as other groups (NRA, anyone?) but if you read their output directly, it's up to you to pick out the disingenuous parts, if you can find them, and/or also read opposing views to get the full view. Otherwise, it's like a jury deciding a trial in which only one side presents their case. That's a shame, because I often agree with the EFF, yet I have to do a lot of work to unbend their reality distortion field.

kunai 3 days ago 1 reply      

How is she still in office? She's the spitting image of Dolores Umbridge; an authoritarian freak who has nothing better to do than make the lives of honest individuals completely arduous.

nroose 3 days ago 0 replies      
I saw a great bumper sticker today: "One nation under surveillance."
D9u 3 days ago 0 replies      
It is plain to see that our government servants are serving interests which are against "We the People."
sown 3 days ago 2 replies      
My first reaction was to call up my representatives ... but I wonder if doing so would put me on some kind of 'special' list.
samstave 2 days ago 0 replies      
Feinstein is a terrorist.

(Haha iOS attempts to autocorrect Feinstein to festering, perfect)

AsymetricCom 3 days ago 1 reply      
Good job EFF, when the bill gets inevitably defeated, you can claim a personal victory and solicit for more donations! Put it up with all your other accomplishments on your website you invested so much time and money into achieving.
Typhoon Haiyan kills 10,000 in Philippines theguardian.com
292 points by r0h1n  3 days ago   149 comments top 23
gexla 3 days ago 7 replies      
Wow, that's an insane death toll. To put this in perspective, last year, another super typhoon, Pablo, killed close to 2000 I believe. The year before that another devastating typhoon, Sendong, killed something like 1200. The Philippines regularly gets hit with 20 typhoons each year and the typhoon season isn't over. Each of the above mentioned typhoons hit in December. This has to be among the deadliest in Philippines history and the season isn't even over yet.

I'm located in the southern end of Negros Oriental, which was under warning signal 3 (out of 4) but we were on the edge of the storm. We got off very light. If it weren't for the news, we wouldn't have even thought that we might be affected by a typhoon.

Unfortunately, the Philippines isn't like Japan, where the country can mobilize the resources to make the country highly resistant to it's own nemesis of nature, earthquakes. Many of the people here live in bamboo / wooden structures which stand no chance against a strong typhoon. The most vulnerable are also the poorest. In Dumaguete, minimum wage is the equivalent of $6 per day, but that's a well paying job. Most businesses here use loopholes to pay employees half the minimum wage. The people who have lost their entire towns in the Philippines have no resources, nothing to eat and nowhere to go. There is no no longer a functioning economy. All they can do is wait for help.

I don't know if this has anything to do with global warning, but in the five years I have lived here, our area has been hit with two devastating typhoons in the past three years. Before that, strong typhoons hitting our area were rare. Though we dodged this bullet, the above mentioned typhoons hit us head on. If this is something that the Philippines can regularly expect due to changes in weather, then large portions of the country could become unlivable without huge changes.

This is the sort of area where we could really use some innovation. Typhoons bring a double threat of high winds and floods. Add volcanoes and earthquakes (just a few weeks ago we got hit with a 7.2 earthquake) and the Philippines is among the most dangerous places to live on the planet. We need low cost structures which can shield people from high winds, floods and earthquakes. Sure, we can hide in a shelter, but we can't deal with the possibility of losing our house and possessions every year.

Edit: Changed tornado to typhoon.Facepalm

Edit2: Recovery also can take a long time in the Philippines. Not far from where I live is an area with temporary structures (basically a squatter area) which was setup to be temporary. A year later and this area is still full. I suppose Katrina was similar with the temporary housing situation, but in this case we are talking a flimsy bamboo / wooden structure with plastic tarps on the sides. These structures could easily get wiped out by one of the 20 yearly typhoons which hit the Philippines every year.

Also, the people of New Orleans at least have government safety nets. The mayor of our city, Dumaguete, set aside something like $9,000 as an emergency fund in anticipation of Yolanda. Like I said, not a lot of resources here.

austenallred 2 days ago 1 reply      
If you are trying to find someone in the Philippines in the aftermath of the typhoon, you can try using one of these sources:

PeopleLocator (https://pl.nlm.nih.gov/)

Google PersonFinder (http://google.org/personfinder/2013-yolanda/query?role=seek)

alternate source for Google PersonFinder (http://google.org/personfinder/global/home.html)

Red Cross request for help restoring contact (http://familylinks.icrc.org/en/pages/home.aspx)

If you would like to donate, here are some organizations that could use your help:

Red Cross Philippines (http://www.redcross.org.ph/donate) via Paypal

Ayala Foundation's 'Laging Handa Fund' (Always Ready), overseas donors can use this online portal(http://feedthehungryphil.org/ayala-foundation-inc/) for donations

GlobalGiving.com(http://www.globalgiving.org/projects/philippines-disaster-re...). Credit and debit card donations accepted.

Save the Children (http://www.savethechildren.org/site/c.8rKLIXMGIpI4E/b.885610...). Save the Children has a team on the ground in Tacloban working to respond to this emergency.

Now, unfortunately we wait for lack of sanitation, clean water and associated disease to take their much higher toll.

The situation report has the following information:2,055,630 families or 9,497,847 persons were affected.

The number of confirmed casualties is still low, at 229. This number will inevitably increase drastically when response efforts proceed and communication lines are repaired.

The number of damaged houses is currently at 19,551 (13,191 have been totally destroyed)

A state of calamity has been declared in the province of Antique, as well as in Janiuay and Dumangas in the province of Iloilo

Flooding, landslides, and fallen trees blocked several roads, but most are now passable thanks to ongoing clearing operations *Several networks are still down but are in the process of being restored

jedbrown 3 days ago 2 replies      
"""It's worth reiterating that for all the obvious destructive power of sustained wind speeds of almost 200mph, it was the associated storm surge the rush of water into coastal areas which caused the worst damage in Tacloban, and most likely many of the deaths. The storm surge in Tacloban was estimated at 6m, sweeping away even concrete buildings, and bringing the sort of devastation so reminiscent of the Indian Ocean tsunami."""

The primary constraint seems to be infrastructure to evacuate and shelter people. Reliable forecast of storm surge location and magnitude would save lives by allocating those resources to the correct places. Doing this well involves improved simulation methods, but also designing observational strategies, such as where to make more accurate measurements of bathymetry (one of the leading sources of uncertainty in storm surge and tsunami prediction). Disclaimer: I work in a related field and have colleagues that develop methods for storm surge forecast.

rdl 3 days ago 8 replies      
I still don't get why the US Navy hasn't put an LHD or equivalent amphibious group into the relief effort -- it would be a great humanitarian thing, plus a show of strength for one of our key Pacific allies after the "pivot to Asia" -- a pretty clear implication that if we can put a battalion ashore to help hours after a hurricane, we can do similar things during a conflict. Extra points due to the huge number of USN sailors who come from the Philippines. It would be a super-cheap way to build US credibility in the region, help people, and deter future conflict.
ck2 3 days ago 6 replies      
US "news" is finally starting to cover this.

I mean 10K, that is just beyond devastating, it should be front page news for months. We lost 1800 with Katrina.

phektus 3 days ago 1 reply      
I came from the capital. My family lives beside Laguna lake in Taguig. Whenever there's a storm my village gets flooded (mainly due to poor flood control) and everything becomes hard in terms of dealing with your daily business. Obviously nothing in comparison to what Haiyan did to Tacloban city, but the panic induced by the thunder, the cold feeling from the rain, plus the fear of losing a lot from the waters and looters is still deeply etched in my brain.

Now I'm based in another country but I have lots of relatives in the area that was in the path of the storm. Also, this estimate came from just one area (although the worst hit). We are a hardy people but to get this every year coupled with the stress of knowing your officials are stealing a fair bit of what could have been used to help... well, kind of pulls you down.

AYBABTME 3 days ago 0 replies      
My wife is in Vietnam and I've been worried for days about where the typhoon would go (South or North). Its silly but I'm relieved it's avoiding the South.

When I was telling her about the storm, I realized that people are that more exposed to natural disasters since they don't usually store food. At least in her surrounding, people buy food off the market everyday and don't have reserves, leaving them completely exposed to any disaster affecting food supplies.

elleferrer 3 days ago 1 reply      
U.S. military will support typhoon recovery efforts in various ways.

The U.S. military announced that Secretary Chuck Hagel has directed troops to support these humanitarian missions. That includes deploying aircraft for search-and-rescue missions, bringing in aid and providing logistical support.

The U.S. force will be led by Marines out of Okinawa, Japan, according to two U.S. military officials. Other military services will participate.


elleferrer 3 days ago 5 replies      
Right now the important things needed are hospital ships, helicopters, medical supplies, drinking water, food and shelters... I feel so helpless donating just cash, so many lives need to be helped.
garg 3 days ago 2 replies      
News reports before the typhoon hit said 4000 people had been evacuated. Why only 4000? Lack of resources?

Now that the typhoon has devastated the philippines, the international community is sending aid, money, resources. Why can't the same be done before a disaster like this hits? I'm sure the millions pouring in now could have gone a long way to evacuate people or set up shelters, dams, pumps, before it killed 10,000+

And for the financially minded bureaucrat, I'd guess preventive measures would possibly cost less as well.

sandGorgon 3 days ago 3 replies      
can someone who is better informed than me compare the typhoon a few weeks back in orissa, India with 12 casualties and this one.

note - this isn't a rhetoric. I genuinely want to understand what is the reason for such a massive difference. I have financial interests in that exact part of India and actually have been thinking that the govt is pretty well prepared (given, well that it is India).

carrotsarm 3 days ago 4 replies      
This could have clearly been avoided. See what India did with Phalin, with an early warning system and planned evacuation: http://in.reuters.com/article/2013/10/13/india-cyclone-phail...

Less than 20 people died.

gesman 2 days ago 0 replies      
I donated a bit to: https://www.wfp.org/donate/typhoon

This thing needs lots of help now.

kimonos 1 day ago 0 replies      
I am from Negros Occidental, Philippines and we were spared from the destruction of Haiyan. But me and my family are continually praying for more help for the victims especially for those who lost their families. We are also thankful for people from other nations who extended their help. Filipinos will stand up and rise again! God bless us all!
frakkingcylons 2 days ago 0 replies      
The Boston Globe has a great series of photographs of the aftermath:


pajop 2 days ago 0 replies      
Philippine Disaster Recovery Foundation is accepting donations via http://brickbybrick.pdrf.org/yolanda here's the rest of the info on how you can help: http://www.rappler.com/move-ph/issues/disasters/43300-relief...
Udo 2 days ago 1 reply      
Does anyone know if Batangas (more specifically: Nasugbu) was hit badly?
clockwerx 2 days ago 0 replies      
For those looking to help, if you know the area or are an experienced mapper, http://tasks.hotosm.org
atmosx 3 days ago 1 reply      
Cheap, easy-to-assemble, open source technologies that will help communities to protect themselves will really change the world :-(
frank_boyd 2 days ago 0 replies      
And we all knew for a very long time now that this kind of disaster is due to climate change.

And we all don't seem to care at all. At least not enough to changer our patterns of consumption.

oakaz 2 days ago 1 reply      
How can we help this disaster as software engineers? Any ideas?
lazylizard 2 days ago 0 replies      
how about a humblebundle/indieroyale/indiegala/gog Haiyan bundle?
emanuelsaringan 3 days ago 2 replies      
I'll just leave this here: http://www.youtube.com/watch?v=LzxTXk1JCFw

To Americans: Is this even legit?

How long do disk drives last? backblaze.com
289 points by vayan  1 day ago   154 comments top 35
wazoox 23 hours ago 2 replies      
There are extremely large difference in reliability between different drives makes and models. Here are a couple of numbers (we're building storage servers, running 24/24 in various environments):

* my company installed about 4500 Seagate Barracuda ES2 (500 GB, 750 GB and mostly 1TB) between 2008 and 2010. These drives are utter crap, in 5 years we got about 1500 failures, much worse than the previous generation (250 GB to 750 GB Barracuda ES).

* After replacing several hundred drives, we decided to switch boats in 2010 and went with Hitachi (nowadays HGST). Of the roughly 3000 Hitachi/HGST drive used in the past 3 years, we had about 20 failures. Only one of the 200 Hitachi drives shipped between 2007 and 2009 failed. Most of the failed drives were 3 TB drives, ergo the 3 TB HGST HUA drives are less reliable than the 2 TB, themselves less reliable than the 1 TB model (which is by all measure, absolutely rock solid).

* Of the few WD drives we installed, we replaced about 10% in the past 3 years. Not exactly impressive, but not significant either.

* We replaced a number of Seagate Barracudas with Constellations, and these seem to be reliable so far, however the numbers aren't significant enough (only about 120 used in the past 2 years).

* About SSDs: SSDs are quite a hit and miss game. We started back in 2008 with M-Tron (now dead). M-Tron drives were horribly expensive, but my main compilation server still run on a bunch of these. Of all the M-Tron SSD we had (from 16 GB to 128 GB), none failed ever. There are 5 years old now, and still fast.

We've tried some other brands: Intel, SuperTalent... Some SuperTalent SSDs had terrible firmware, and the drives would crash under heavy load! They disappeared from the bus when stressed, but come back OK after a power cycle. Oh my...

So far unfortunately SSDs seem to be about as reliable as spinning rust. Latest generations fare better, and may actually best current hard drives ( we'll see in a few years how they retrospectively do).

drzaiusapelord 1 day ago 2 replies      
Sysadmin here. My experience:

1. Infant mortality. Drives fail after a couple months of use.

2. 3 year mark. This is where fails begin for typical work loads.

3. 4-6 year mark. This is when you can expect the drives that haven't failed earlier to fail. By this point, we're looking at 33% fail.

Interesting that my experiences roughly match up with Chart 1.

My experiences are 10 to 15k SAS drives. Slower moving 7200rpm drives? No idea. Haven't used them in servers in a while. They seem more of a crapshoot to me. SSD's, thus far, are even more of a crapshoot and we don't use them in servers and only hesitantly in desktops/laptops and only Intel.

velodrome 1 day ago 3 replies      
The hard disk drive quality has dropped over the last few years.

* Most consumer drives over 2TB have extremely poor reliability. Just check any Amazon or Newegg review (DOA and early mortality show up with more frequency). Yes, I know using reviews are not accurate but since there is no public information of drive failure rates there is not really much to go on.

* The reduction of manufacturer warranty since Thailand floods. Surprise, they never changed it back to the original 3 year warranty.

If you have a large array of disks, there is nothing to really to worry about. If you have a small set of drives, spend a little extra and get the "Black" or RE drives with 5 year warranty. Avoid any "Green" drive.

j45 19 hours ago 0 replies      
Managing harddrives, especially in redundant setups can be helped in one small way if you're sure to:

1) select the make and model of drive you want

2) buy the same model of drives from multiple vendors which have different serial and build numbers.. even if you're buying two drives, buy each from separate locations or vendors.

3) mix up the drives to make sure they don't die. place stickers of purchase date and invoice number on each drive to keep them straight.

This all.. because when one drive goes due to a defect or hitting a similar MTBF, other ones with a close by serial number or build number can tend to die around the same time for similar reasons.

From owning hard drives over 8 or 9 generations of replacing or upgrading since the 90's on all types of servers, desktops and laptops: The day you buy a new piece of equipment is the day you buy it's death. Manage the death proactively as it gets more and more tiring to deal with it each time.

smoyer 1 day ago 1 reply      
Backblaze may not know because they are "a company that keeps more than 25,000 disk drives spinning all the time". After 3-5 years, you'd better have a back-up of a drive you choose to spin down. Every drive I've lost (in the last 10-15 years and ignoring two failed controllers subject to a close lightning strike) failed to start back up when I had powered the machine off for maintenance.
nknighthb 1 day ago 1 reply      
These numbers line up nicely with what I've experienced on much smaller scales (I've never personally cared about more than a few hundred spinning drives at once), which is that in a nice mix of old, middle-aged, and new drives, 5-10% go kaput each year.

Incidentally, about "consumer-grade drives", the last time I looked into this, I was led to believe that if it's SATA and 7200RPM (or less), there's no hardware distinction. It's just firmware. Consumer drives try very hard to recover data from a bad sector, while Enterprise/RAID drives have a recovery time limit to prevent them being unnecessarily dropped from an array (which will have its own recovery mechanisms). That's it.

mgraczyk 20 hours ago 0 replies      
Microsoft did a metaanalysis on general hardware failure based on the error reports sent by literally millions of consumer PCs. Although the results weren't particularly interesting (Hard drives fail the most, with rates consistent with what backblaze observed in the posted link), I was impressed by the sheer volume of data available to the study.


toyg 1 day ago 2 replies      
If some of them live a long, long time, it makes it hard to compute the average. Also, a few outliers can throw off the average and make it less useful.

Proper statistical analysis would help you there.

brongondwana 1 day ago 1 reply      
I wonder how many will die before they age out of usefulness. If you're still spinning 250Gb hard disks which are using the same power and space that a 4Tb drive could be using - it might not actually be economically sensible to keep running them.

Certainly the old 9.1Gb SCSI disks that were so popular 10 years ago are well past be justifiable to give power to now.

mavhc 1 day ago 1 reply      
tl;dr: Here's some statistically significant data on how 25000 drives have worked over 4 years, please now comment on how the 3 drives you've owned died.
nether 1 day ago 2 replies      
Does ANYONE know what hard drives Google, Facebook, and Dropbox use at their datacenters? This 2006 article says Google buys Seagate: http://tech.fortune.cnn.com/2006/11/16/seagate-ceo-google-we....
thatthatis 1 day ago 2 replies      
Articles like this one are the reason I went with backblaze over carbonite. It may not mean their tech is any better, but it does 1) increase my confidence in them and 2) teach me something interesting each time. Both of those are, in my book, good reasons for giving them my money.
ck2 1 day ago 1 reply      
Part of the problem is the move by manufacturers to have consumers basically burn-in test their products for them as cost reduction and shift the expense to retailers.
JoeAltmaier 1 day ago 0 replies      
Its complicated. Here's a link to a paper modeling disk drive failure in data centers. tl;dr: its about half a percent per 1000 hrs operation.


bobbles 9 hours ago 0 replies      
Since there seem to be backblaze staff posting in the thread, is there anyway as a 'personal' (non-business) user to have multiple PCs configured with one account? Think of something like a family plan.

Can't seem to find relevant information on the website anywhere for this.

maratd 1 day ago 3 replies      
It depends on the warranty period of the drive. Your hard drive manufacturer knows precisely how long the drive will last and sets their warranty period to expire right before your drive gives up the ghost.
WatchDog 1 day ago 4 replies      
Do they plan on sharing any data on which vendors and models have the highest failure rates?
confluence 1 day ago 1 reply      
You can use default warranty information to figure out the lower bound on useful life. Companies price the value of the warranty into the product and perform statistical QA to ensure that 95%-99% of all products released will work correctly for the length of the standard warranty. Also added warranties aren't worth the cost. Just replace the product when it breaks.
dmourati 22 hours ago 3 replies      
Ugh. Backblaze is one of those companies with an extraordinarily poor design that they flout and "open source" as if anyone would follow their lead. Take a look at the physical design of their system and combine that with the published data. Consider that to remove any harddrive from their setup requires physically removing a 4u rackmount storage pod from the rack. http://blog.backblaze.com/2011/07/20/petabytes-on-a-budget-v...

Also, no hardware raid, battery, or cap.

Source: worked at Eye-Fi, built 2PB storage

nsxwolf 1 day ago 0 replies      
My oldest drive currently in use is the original 20MB disk on my IBM PS/2 Model 30.
Ellipsis753 1 day ago 2 replies      
Damn, my last two harddrives have failed in around 3 years exactly. Did I have bad luck or am I being too mean to them?My computer is on mostly all the time and is often reading files throughout the night (for slow uploads for example). Does it make a difference how often you read/write a drive or only the spun-up time? One died suddenly without any warning in the SMART data and the other got badblocks and started to struggle reading data.
cmer 1 day ago 2 replies      
Anybody knows how long floppy disks, diskettes and their respective drives last?

Odd question, but I've always been wondering. These things just seem to hast forever.

Semaphor 1 day ago 0 replies      
One pure storage disk I use has been alive with top S.M.A.R.T. values for over 8 years now. The one with more regular reads & writes is 5 years old now. And while I have local backups I'm now finally in the progress of uploading 800GB of (semi-) important data to backblaze. I'll probably be done in another month.
jankey 1 day ago 0 replies      
Approximately 40 PB raw storage in our datacentres here, half of them Supermicro servers with whatever disk that came, half HP Proliant with $$$ HP Enterprise class disks, all < 5 years old, so quite comparable to the Backblaze situation.

80% drives surviving after 5 years seems right, this is what we're seeing as well. The hardware is decommissioned faster then the drives fail.

pyGuru 1 day ago 2 replies      
Just out of curiosity, I wonder what the savings would amount to if this company used something like SpinRite to fix / recover failed drives? Although I've never used it from what I hear its pretty good at saving drives...
wrongc0ntinent 1 day ago 0 replies      
It'd be very useful to have more detailed information about read/write volume and capacity, MTBF should vary a lot depending on those. Until then I'll keep being paranoid.
headgasket 1 day ago 2 replies      
We dont know, but backblaze sure knows how to:1. print backblaze's brand as often as linguistically possible in the same article.2. Get to the top of HN over a 50 yrs old technology's failure rate without clustering for brand spin speed density etc. (read not much)

Am I unaware that there are new paid spots on the first page of HN? (it would make sense I guess, from a business perspective)

TIA to anyone that can be of help on this,cheerio, (and good luck to Blackblaze, backblaze a path to a backblazing success!)

mrottenkolber 1 day ago 0 replies      
Spot on, I have experienced my drives to either fail quite soon, or "never". I am still running one of my very early 40GB hard disks. It must be like 8 years old.
aaronz8 13 hours ago 0 replies      
I was going to say, I learned about this in class! Then I read the article and the link to "CMUs study."...My professor was one of the authors. Go Garth Gibson!
theandrewbailey 1 day ago 1 reply      
Extremely useful info here. Most of my HDs have been running for years and still work fine, but you go online, and all you read about is that HDs are horrendously unreliable and all fail after a year or two. (manufacturer propaganda, anyone?)

The optical drives I've had, on the other hand, are actually unreliable. They all seem to break down after about four years, and I don't use them all that often!

leapius 1 day ago 1 reply      
I think the floods has probably been a factor in reduced reliability. It took forever for prices to come down to where they were and the manufacturers are probably cutting corners everywhere to save costs. Why ramp up factories when the tech itself is on the way out?

I think this is most evident in the reduced warranty periods compared to before when 5 years was quite normal.

ffrryuu 20 hours ago 2 replies      
Has blackblaze budgeted for the cliff failure rate that is coming?
kimonos 9 hours ago 0 replies      
Wow! Great info in here!
kenneth_reitz 1 day ago 1 reply      
Not long.
Jenkin developers accidentally do "git push --force" to over 150 repos on github groups.google.com
262 points by jordigh  1 day ago   190 comments top 34
tjdetwiler 1 day ago 3 replies      
Githubs response:

Good news from GitHub: they have extracted the full list of SHA-1 before the forced push !Many thanks to Nathan Witmer :-)

See below the full CSV with the SHA-1.He created as well a branch named 'recovery' that points to the candidate point for restoring the master branch.

Hope this will help to sort out the remaining repos.


  > Hi Luca.  >  > Oh man, that sinking feeling!  >  > But, no worries: I've gone through each of the repos  listed above and done the following :  >  > * retrieved the SHA for the previous `master` before you force-pushed  > * created a branch called `recovery` pointing to each former master  >  > In some cases, these are the same.  >  > I can go further and reset the master refs to their former shas if you'd like, or you can recover these yourself. To do so, in each repo:  >  > $ git fetch  > $ git checkout master  > $ git reset --hard origin/recovery  > $ git push --force origin master  >  > I've attached a csv containing the shas (former master and forced master) for each branch, for your reference.  >  > Good luck!  >  > Nathan.

nathanb 1 day ago 16 replies      
Although the responsible developer's reaction and attitude are both commendable, one element of his response annoyed me: his continued assertion that he should not have been allowed to do this thing that he did.

I think it is a truism that systems which allow users to do interesting and clever things must also allow users to do remarkably stupid and wrong things.

Rather than focusing on how to prevent a user from doing a silly thing like this, I think a well-designed tool would easily allow the user to undo the silly thing he just did.

Unfortunately, all too often when a Bad Thing happens, the discussion tends to center around how to prevent this Bad Thing from happening again. This is often why those who make mistakes end up being demonized; their mistake has now limited the actions that every other user of the system can make, because the system will be modified to prevent other users from making the same mistake.

jrochkind1 1 day ago 2 replies      
Nobody's yet commented on... what is it you can do to force push to ~180 different git repos at once?

Normally, it would be difficult to do this even if you tried, no? 180 repos would usually be in a 180 different clone directories; what can you do that somehow force pushes them all at once, even ones you didn't mean to be working on at all?

In the thread, the person who made the mistake seems to suggest[1] it has something to do with a 'gerrit replication plug-in'? I am not familiar with gerrit. Anyone?

Mistakes will happen; but for a mistake to have this level of consequence took amplification, apparently by the 'gerrit replication plugin'? I'd be inclined to blame that software, rather than human error (or github permissions or lack thereof! If you have write access to a bunch of repos, of course you can mess them all up, no github permissions will ultimately change that. The curious thing remains how you manage to mess up a couple hundred of them in one click).

[1] https://groups.google.com/d/msg/jenkinsci-dev/-myjRIPcVwU/v8...

mercurial 1 day ago 1 reply      
That's some facepalm right here. That said, I do appreciate the reaction of the developer, taking responsibility for his mistake, starting remedial actions right away and discussing preventive measures for the future.
StefanKarpinski 1 day ago 2 replies      
Maybe a high-profile incident like this will finally convince GitHub to let you disallow force pushing to specific branches in repos like your project's master branch. I asked about this years ago and iirc was told there were no plans to implement such controls.
howeyc 1 day ago 1 reply      
I don't understand, does everyone in the organization have full commit privileges to all repositories?
jessaustin 1 day ago 1 reply      
Christopher Orr on the list suggested the following, which makes a great deal of sense to me:

One thing I sometimes do for repos where I have commit access, but don't want to push, is to clone the repository via HTTP. That way, any accidental attempts at pushing won't use my ssh key, and so GitHub will prompt me for my password.

matwood 1 day ago 3 replies      
Switch to Bitbucket. It is easy to selectively disable history rewriting and branch deletion on a per branch basis. I've been told that Github can also do this, but you have to email them.
Aqueous 1 day ago 0 replies      
I'm not sure if it contributed to this fiasco, but GitHub's team system is a bit backwards and screwed up. You create teams of people, that automatically have either pull, push/pull, or administrative permissions on every repository they touch. Then, when you go to the 'collaborators' section, you simply add those teams of people, without being able to see what access level you are awarding to that specific repository! It makes no sense. Either the permissions should be RIGHT next to the team name in the drop down or (much better) GitHub should decouple groups from the permissions they have, and permissions should be awarded on a per-repository basis. That you way you are granting X group of people Y permissions on Z repository. You are always explicitly granting a permissions level to a specific group of people, and no permissions are automatically added that you haven't explicitly signed off on for that repository.

Maybe there's some logic behind it, but I doubt it, and I'm really not sure if GitHub completely thought it through.

runn1ng 1 day ago 1 reply      
Can someone explain to me what exactly happened?

I don't really know what Jenkin is and what "git push --force" does.

blktiger 1 day ago 1 reply      
We've been using the prevent force push hook for Atlassian's Stash on my team to avoid situations like this. If you really need to force push, you can get around it by deleting the branch and re-creating the branch.
pnathan 1 day ago 0 replies      
Ouch, that hurts. On the plus side, they are looking into process fixing so it doesn't happen again. Not only that, the flameware level is zero (at this point). Major props to the Jenkins/Cloudbees people!

Further, because git is a DVCS, so long as someone has a valid recent clone, the pain is much less than, say, a centralized repo being corrupted.

kohsuke 1 day ago 1 reply      
Man, this is not how we wanted to be on Hacker News...
Osiris 1 day ago 0 replies      
Sometimes I have had to do a git push --force, usually when I want to amend a commit I pushed just a few minutes before and I know that no one else has used it.

However, I always do a --dry-run first on a force push just to verify that it's only going to update the one branch I expect it to.

Radim 1 day ago 0 replies      
An unfortunate accident. Makes me wonder though -- what is the worst a developer with full git commit access can do? (without having access to the actual server)

If someone sets out to mess up a repo ON PURPOSE, he can do force push. Can he also somehow trigger GC to preclude recovery? Do something else?

What are the attack vectors?

mey 1 day ago 5 replies      
This kind of situation has been one of my concerns about deploying git internally in a large corporate environment. What steps are appropriate to block this kind of update on a central repo? I don't see a human patch manager scaling.
Pxtl 1 day ago 0 replies      
So when do we do the obvious and start running version control on our version control history? Git the git? Revert our VC mistakes as easily as we revert our code ones?
timmow 20 hours ago 0 replies      
The number one feature I wish github would add is a setting to prevent force pushing to master, but allow a forced push to all other branches. This would allow us to use a branching model like http://scottchacon.com/2011/08/31/github-flow.html but we would still be able to rebase branches after code review, without the danger of rewriting history on the master branch. You can do something similar with client side hooks, but it would be nice if it was supported server side.
sarreph 1 day ago 0 replies      
It's called... Force Push?
smoyer 1 day ago 0 replies      
Everyone needs at least one frowning picture of themselves to post along with an apology. Props to Luca for the no-nonsense apology.
kohsuke 1 day ago 0 replies      
By the way, it is "Jenkins", not "Jenkin".
jonico 1 day ago 0 replies      
Force pushes are dangerous but turning them off completely prevents some valid use cases like pruning problematic IP or removing large binaries accidentally committed to a git repo. For those reasons, CollabNet ships with a Gerrit plugin that does not prevent history rewrites but records them in an immutable backup refs, sends emails and logs it properly. Recovery can be done on a self service basis and administrators can still delete those backup refs forever. The plugin also treats branch deletions like that.More details can be found on http://luksza.org/2012/cool-git-stuff-from-collabnet-potsdam...
InAnEmergency 1 day ago 0 replies      
yannk 1 day ago 0 replies      
It would be nice if Github was giving a UI control over force-push behavior.If you open a ticket they'll manually flip this repository settings on or off for you, but still... Maybe this is the wake up call: it's dangerous and doesn't scale?
Kiro 1 day ago 1 reply      
What does the --force flag do? I don't understand the description at http://git-scm.com/docs/git-push
filipedeschamps 1 day ago 0 replies      
Funny fact: Jenkins is all about continuous integration.
Estragon 1 day ago 1 reply      
Can the history simply be replayed into the repositories with the erroneous pushes skipped?
justinhj 1 day ago 0 replies      
This link just opens a google groups page with no content on my iPhone :(
DevUps 1 day ago 0 replies      
Ohhhhh... that feeling.
JSno 1 day ago 0 replies      
should it be "Jenkins" instead of "Jenkin" in title?
circa 1 day ago 1 reply      
Leroy Jenkins?
pearjuice 1 day ago 0 replies      
Can anyone mirror the link? Google Groups AJAX hell is not loading here.
pearjuice 1 day ago 0 replies      
Total mismanagement of repository access. Surprised this is the first time.
Groxx 1 day ago 2 replies      
I predict this will happen a LOT more often with git 2.0 changing the default push behavior to pushing all branches. If you've ever --force pushed over a temporary remote branch (e.g. to show something to a coworker), 2.0 will run the risk of overriding everything. Hooray!
End of Inception decoded [video] sourcefed.com
250 points by pavanlimo  1 day ago   115 comments top 21
gavanwoolery 1 day ago 6 replies      
Personally was not a big fan (hard to say that without sounding snooty) - the movie was mostly entertaining but was kind of pop-corn sci fi masquerading as deep sci fi. Too many plot holes filled with arbitrary mechanics. Edit: it may have been over my head, but I think it is perhaps in a movie's favor to be very clear in its purpose (without necessarily bludgeoning you with it)?
gabemart 1 day ago 1 reply      
The idea of Cobb's wedding ring as his totem has been discussed publicly as early as July 2010 [1], the month of the film's release.

[1] http://www.reddit.com/r/Inception/comments/cvk2i/is_cobbs_ri...

kybernetikos 1 day ago 1 reply      
The whole point of the ending is that Cobb does not care about whether he is in reality or not, as long as he is with his children.

To search for clues as to whether it's one or the other is to miss the point.

undershirt 1 day ago 0 replies      
I was beginning to wonder if it was just Hans Zimmer's score that masterfully carried my emotions at the end. But too jarring was the theme of exploring the depths of a shared psyche with your wife in an absolute, limitless world, then losing everything in yourself from a single mistake. The dream mechanism was a wonderful way of taking you from the sublime to the very feeling of hell.

Very glad to have read this subtle message from the director! A masterpiece in my mind.

dsego 23 hours ago 1 reply      
Here's a google talk by Kyle Johnson that discusses different interpretations of the film:

'Inception and Philosophy' http://www.youtube.com/watch?v=ginQNMiRu2w

AnonJ 1 day ago 1 reply      
This explanation is not totally convincing. The main issue is the OP actually just referred to very few scenes, while there is no proof that throughout all scenes this difference remained consistent. A more plausible explanation would be Nolan initially intended to use such a mechanism, but later decided to leave it out. However, since some of the scenes of the movie were already filmed, the ring could not be changed. It's obvious that Nolan put the spinning scene because he deliberately wanted to leave an equivocate ending. It's possible that in the beginning that wasn't his idea, and he changed it halfway through the movie. But what's clear is the ending was intended to be equivocate. He would not let such a vague "ring" mechanism co-exist with the spinning scene. That's far too strenuous.
nicholassmith 1 day ago 0 replies      
That was a real common theory around the time of the movies release, something I noticed on my second (or third) run through it. The bigger tell is that it's not his totem to start with, it belongs to Mal and as is pointed out you have to have something unique to you, something only you could know. I don't think it ever actually reveals what Cobb uses for his.
mrcactu5 23 hours ago 2 replies      
A kind of Stone-Age version of Inception is "La Vida Es Sueo" by Pedro Caldern de la Barca written in 1635.http://es.wikipedia.org/wiki/La_vida_es_sue%C3%B1o

It is a 3-act play where the Prince of Poland, Segismundo was imprisoned since birth due to a bad prediction by astrologers that he would be evil. However, Rosaura and Clarn arrange for his release.

  Nace el ave, y con las galas   que le dan belleza suma,    apenas es flor de pluma   o ramillete con alas,   cuando las etreas salas   corta con velocidad,   negndose a la piedad   del nido que deja en calma;   y teniendo yo ms alma,   tengo menos libertad?
Essentially that birds are free to fly around in the sky and naturally look beautiful. So why do I with more "soul" have less freedom ?

In Act 2, Segismundo contemplates his freedom and his relief turns into outrage. Indeed he rapes a women, throws a man over a cliff and murders another one.

In the 3rd act he is captured and thrown back in chains - the astrologers' prediction has been fulfilled.


Inception certainly takes this several iterations further putting dream inside dream inside dream. Yet, metaphysical questions of whather you are awake or dreaming have been around...

aredington 1 day ago 0 replies      
The ring is still ambiguous. It is never characterized properly as a totem (Cobb never uses it awake, that we see). If you interpret it as a symbolic representation of his mental affiliation with Mal, then:

a) At the end of the movie he is awake, and he really meets his children. The lack of the ring is consistent with all available evidence prior to this point because he only has the ring on when he is asleep.

b) At the end of the movie he has successfully escaped Limbo twice. Cobb has mastered his own psyche; he has achieved closure on Mal's death; he has finally embraced in his own mind that the Mal in the dream is just a ghost, and can be in the dream without the ring. He can dream again without Mal invading from his subconscious.

huhtenberg 23 hours ago 1 reply      
Wasn't the whole film a dream? How else could Sato buy an airline on a whim?
talles 23 hours ago 1 reply      
"since the movie came out 3 years ago"

wow 3 years already?

dabernathy89 1 day ago 1 reply      
They aren't the first ones to have noted this.
jjjeffrey 18 hours ago 0 replies      
Did anyone else find Inception to be basically straightforward (though interesting and enjoyable) with an insignificant binary question at the end?

There certainly may be more depth than I'm seeing, but there wasn't anything that made me need to wonder why anything happened the way it happened. As mentioned in the thread already, Momento's the one that isn't straightforward.

I'm not intentionally trolling---I suppose I probably am missing something. There just wasn't anything obviously confusing on the movie's surface for me.

sarreph 1 day ago 0 replies      
It only took him 26 playthroughs (66 hours), but by Jove did he figure it out!
aufreak3 21 hours ago 1 reply      
If the ring indeed indicates dream/reality, why does Cobb bother to spin the top .. since he already knows whether he's wearing the ring or not? .. or did he take off his ring even in his dream by that point?
adamb_ 1 day ago 2 replies      
Cinefile article at THE TOP of HN. Love it.
sidcool 23 hours ago 0 replies      
I read somewhere that his totem itself was flawed. For example, others totems had something different; a loaded dice. In dream, the dice would act normally, in reality it won't, that's the way to differentiate reality. Cobb's totem would topple in dream as well as in reality.

That's something I read and wondered.

PhilipDaineko 1 day ago 0 replies      
the ring could disappear because he finally realized that she died, hence it does not mean he is in the reality.
ryangripp 1 day ago 2 replies      
I watched this movie about 13 times in the theaters---and finally someone figured it out! Way to go!
ebbv 23 hours ago 0 replies      
Inception was a pretty good movie but people treating it like it's some deep, super-complicated work of genius makes me worry about them.
Why Japanese Web Design Is So Different randomwire.com
249 points by spinningarrow  1 day ago   122 comments top 33
CognitiveLens 1 day ago 6 replies      
The anecdotal cultural 'explanations' here are a little ridiculous without some real data to reference.

> Logographic-based languages... actually allow Japanese speakers to become comfortable with processing a lot of information in short period of time / space

not true - article with references: http://persquaremile.com/2011/12/21/which-reads-faster-chine...

> Japanese doesnt have italics or capital letters which limits the opportunities for adding visual punch that you get with latin alphabets

Italics and capital letters have little or nothing to do with how 'Western' web layouts are generally created, and are far from the only way to create emphasis or hierarchy in text.

> Language Barrier... Although much gets translated this still causes a delay in new technologies and trends being adopted

Is the claim that the Japanese are technologically behind the rest of the world? Why would web development/design be different than almost every other technical industry? This sounds much more like surface intuition than considered insight

> Risk Avoidance

This might help explain why Japanese websites look similar to each other, but not why they look different from 'Western' websites. You could make a similar claim about big sites like Microsoft and Yahoo that have copied the look an feel of Google, or the mass of slightly-modified Bootstrap-based 'Western' sites. Risk avoidance/copying is universal - it does not explain the difference between Japanese and non-Japanese websites.

> Consumer Behaviour - People require a high degree of assurance, by means of lengthy descriptions and technical specifications, before making a purchasing decision

Evidence, or is this just a personal observation?

> Advertising Rather than being seen as a tool to enable people Japanese companies often see the web as just another advertising platform to push their message across as loudly as possible

Haven't Google, MS, Yahoo, Facebook, Twitter, everyone demonstrated that this is the goal of what they're doing? It's not culturally unique.

> Urban Landscape

This has some research to back it up - Nisbett, Masuda, Shah, others

Other claims also read as casual inductive observations that don't hold up to much scrutiny. There probably are very interesting reasons why web design appears to be so culturally influenced, but this article doesn't really elucidate much.

/end rant

TelmoMenezes 1 day ago 5 replies      
I think it is also hard to be aware that you are in a trend when you are living it. Many of the things that pass as "clean design" at the moment are just a trend, and I promise you that they will look dated soon. This always happens. It happened with 80s hair, with 90s androgyny and it will happen again big text, extreme minimalist, big poetic photo backgrounds and so on.
ericdykstra 11 hours ago 1 reply      
I'm surprised this article got so many upvotes. It's a lot of anecdotal evidence, and even the anecdotes and websites they pointed out don't support the point that much.

http://yahoo.com and http://yahoo.co.jp both have similar, tight aesthetic with a lot going on.

http://youtube.com view in incognito if you are signed into an account http://nicovideo.jp are very similarly information-dense. I'd say Youtube's layout is even more jumbled with all the different column widths as you go down the page.

http://www.yomiuri.co.jp/ and http://newyorktimes.com are both very information-dense, with a lot of text on the page.

And these are the cherry-picked examples that this very article chose.

Here are some other sites that are among the most popular in Japan:

- http://naver.jp - Clean, Google-like simplicity

- http://www.ameba.jp/ - Very common splash page style front page, and inside is a very busy social-network-like page, but not really that much different from Facebook, except the ads are a bit more tastefully done.

- http://www.nifty.com/ - Yahoo-like portal

Do these sites really look that different to you? If your answer is yes, I'm going to guess that you probably don't read Japanese, and that it being an unfamiliar jumble of characters is what makes it look weird/different/intimidating. Look past that, though, and you'll see that the similar sites ended up at a similar conclusion, even if aren't mirror images.

verisimilidude 21 hours ago 3 replies      
One of these points is way off the mark. I'll add my own two cents.

Language Barrier - The web and most of the programming languages which drive it were designed by English speakers or western corporations and hence the majority of documentation and educational resources are also in English. Although much gets translated this still causes a delay in new technologies and trends being adopted.

1. Many of the Japanese coders I've met have put in the effort to learn English. They might not be able to carry fluent geopolitical conversations, but they do tend to have enough chops to read API docs and skim code. Most of the Japanese professionals I've met, in any trade, are ultra professional, and will do whatever it takes to stay on top of their craft, including learning English if needed.

2. It's easy to forget that some of these programming languages, notably Ruby, are actually from Japan. As recently as a few years ago, some of my favorite resources for Ruby were in Japanese, out in front of English.

3. Go to a Japanese bookstore and check out the section for programmers. More recent web languages/tech, like node.js, are not well represented. But then look to the next shelf and you'll see something like Unity stacked to the ceiling. It could be that Japanese coders would rather work on different kinds of projects, spend their time learning new tech in those domains instead of the web, and only see the web as a means to an end. I wouldn't consider this a "language barrier", but rather a difference in priorities.

helipad 1 day ago 3 replies      
There are good points made here. I suspect there's also a bit of herding going on.

In Germany, for example, it's pretty easy to find major websites which are fixed-width, left aligned and looking dated. There's no real geographic or historical reason for how it is, other than the fact that their neighbours have a similar style.

In a similar vein, many startups have similar designs. Even on the Internet, where you can connect with anyone in the world, there's a lot of tending towards those who are closest to you.

DanI-S 23 hours ago 3 replies      
> "Walking around Tokyo, I often get the feeling of being stuck in a 1980s vision of the future"

I'm British, living in the US, and I've always felt this way about America. I recently heard from an American friend that he felt exactly the same when visiting Britain.

Not sure what to make of it, but it's interesting!

leokun 1 day ago 1 reply      
It's not just Japan or asian websites. The further away you get from the silicon valley bubble, the more sites look like they are from the late 90's. It's not really even location specific, more how tuned in developers are to the bay area style. You can look at local news papers in the US for example, or even government sites. I think part of the reason is that there's a lot of design talent in the bay area, and the further removed one is from being involved, the less people care about things like flat design and having lots of space and less content, etc.
minikomi 17 hours ago 1 reply      
Good morning from Tokyo! Sites like Rakuten have more to do with in-house politics than Japanese design trends or a love for information density. http://bm.straightline.jp is a better guage of where he Japanese web design trends are headed. As you can see, there's a lot of echoes of flash heavy sites and flat one page designs, but little which represents the special kind of chaos large bottom up created sites like Yahoo or Rakuten. They're more akin to the million dollar website than anything else.
VLM 1 day ago 0 replies      
Is there a breakdown somewhere of two distinct groups of human activities:

Design where correctness is defined as optimizing some metric goal, like designing an electronic circuit for maximum performance at a fixed price, or the strongest bridge pylon for a fixed cost or perhaps for a fixed concrete volume.


Design where correctness is defined as a large group of people trying to imitate each other at an optimum distance as close as possible without introducing legal difficulties with accusations of direct copying and not failing at user interaction much worse than anyone else.

Web design and most software UI is obviously almost entirely in the latter category.

A huge source of disaster and trouble is people using language and attitudes from one category in the other category.

I'm not sure what to google / wikipedia for... this must be well trodden ground after a couple millenia of ladies high fashion clothing design, for example.

kyrra 23 hours ago 1 reply      
Semi-related story. I was doing a fan site for Final Fantasy XIV (mmo from Square Enix). It's interesting to see how things have to behave differently when a tech company has to deal with Japanese and English.

For tweets from their marketing department, they would write a tweet in Japanese first which would fit into a single tweet, but would spill over between 3 tweets when translated to English.

Within the FFXIV game, they had a chat box (like chat in many MMOs). The input field for typing in text only allowed 80 or so characters. This was fine for Japanese, but for English it was extremely limited. They fixed it soon after release, but it was something the dev team didn't realize as they were all Japanese.

iambateman 23 hours ago 4 replies      
Ok, there's some truth to this article, I'm not going to say the author is all wrong, but look at Amazon.com's home page and imagine you couldn't read English.


It would look really jumbled, incoherent, and poorly architected. Given that you can speak English, it's relatively easy to digest the nav, suggested books, ads, etc.

My guess is that there are cultural expectations driving their design choices (particularly in color scheme). But the biggest difference is probably the fact that their type appears impossibly complicated. Nothing more.

Pitarou 23 hours ago 2 replies      
A few more points:

- Compared to English, Japanese text can cram more information into an easily-skimmable space, but typing is slower, so cluttered, link-rich interfaces have an advantage. This may well explain why Yahoo! Japan's portal is so much more popular than Google's.

- I can well imagine that, in the minds of the staid gerontocrats who maintain an iron grip on Japanese corporate life, a website is merely a modern version of those "me! me! me!" brochures that get shoved in my mailbox every day. So it's natural that they would expect it to look like one.

- Japanese culture is not nearly as minimalist as its made out to be in the West. Minimalism has its place, of course, but in commercial spaces its all about competing for attention, to the point of sensory overload.

buster 1 day ago 2 replies      
I guess the cultural aspect is a big reason here. Everyone who has ever watched japanese television or has seen the nightlife of major japanese cities will be overwhelmed by the amound of screaming, blinking lights and information, it's quite different from the western point of view.. :
jrs99 23 hours ago 0 replies      
Even though there may be a cultural difference, it's not enough. Look at Modern Japanese architecture. There are tons of different styles. Some clean and minimal, others maximal and extremely busy.

Japan is a very pluralistic country and there are going to be all kinds of different styles and personalities there in any field you choose.

My feeling is that big companies take a long time to change design. In the US, sites like the new york times, Dell, yahoo, Ebay, Techcrunch, zappos all had, at one point recently, really old-looking or just plain bad websites.

Even amazon is busted. Try searching for something and navigating to the 10th page of your search results. amazon is a wasteland in terms of usability and design.

doctorstupid 1 day ago 2 replies      
The Japonic devotion to craftmanship does not typically extend into the virtual world. The culture certainly places an emphasis on physical goods.

I disagree in general with his statement, but Nobel Prize winner in physics Hideki Yukawa said that "The Japanese mentality is, in most cases, unfit for abstract thinking, and takes interest merely in tangible things".

peterjlee 17 hours ago 1 reply      
I feel like the author wrote this article with a bias that Western websites are better and more aesthetically pleasing because it's simpler.But those are all subjective matters and Asian users probably prefer what they have.I come from a Korean background and I visit many different Korean and American websites daily, including the ones mentioned in the article.While some of the reasons given may seem plausible, non of them were actually convincing.There isn't really a solid reason why Asian websites look like that.That's just how it was and users are familiar with it.Some people like Hacker News because it's simple, while some people don't like it because it's too simple.There's no better or worse, it's just a preference.

Also, those patterns are not unique to Asian websites.If you go to cnn.com or msn.com, they're not that different either.

jebblue 1 day ago 0 replies      
In the first picture I saw border navigation panels and a main center content area. Why is that "too many columns"? 1998 was a good year, web pages contained more information, not just text boxes super sized freakishly, low content, just large massive items on screens which have shrunk vertically the past several years which is far more of a conundrum to me. Making use of columns seems to make more sense now than it did in 1998. If anything, the Japanese are ahead of the curve. If screen sizes start growing vertically again then I could see your point.
adregan 13 hours ago 0 replies      
I see it like this:

I regularly used a fax machine at my job in Japan, and personal computers were not prevalent in my workplace. Businesses are very conservative and don't want to stand out.

In Japan, print is still the dominant way of spreading information. I always figured that the best designers ended up as print designersand my web developer friends used Dreamweaver.

Not only that, CSS is very inconsistent with its english: "visibility: visible" OK! so then the opposite is "visibility: invisible" right? No. It's hidden.

Segmentation 22 hours ago 0 replies      
Try searching .io domains regionally. You'll find Japan has modern designs out there.


bitwize 10 hours ago 0 replies      
Japanese web design tends to be broadly reflective of Japanese product packaging: cram as much textual info as will fit into limited space.

They have a U.S.-sized population and nearly U.S.-sized industrial base running inside a California-sized archipelago. They've gotten good at making the most of space.

candybar 23 hours ago 0 replies      
Most of this simply has to do with lack of disruption. Almost all sites tend to add clutter over time because new things need to be added and some stakeholders don't want old things removed. Sometimes the only way to get clean new design is to start over. My guess is that competition has been less fierce and/or has been won (rigged?) by incumbents more often than it has been in the US, leading to slower iteration and acceptance of less-than-ideal design by consumers.

Enterprise versus consumer apps is the same story - lack of disruption and consumer choice leads to decisions that make sense only to the middlemen.

melvinmt 22 hours ago 1 reply      
So I don't know what to make of http://apple.com/jp

Is it just cultural ignorance on Apple's behalf or do Japanese people secretly appreciate this design style (given the popularity of Apple products in Japan)?

okonomiyaki3000 15 hours ago 0 replies      
"Different" is a very diplomatic way of saying it. Probably better to just call it what it is: wrong. The link seems to be dead so I haven't even read the article but I do have some personal experience in the matter.

While there are a bunch of reasons for why it is the way it is, I think a big part of it is the goddamned Keitai. For a lot of Japanese, the only way they ever accessed the web was via their mobile phone. Until smartphones, this meant a very very dumbed down experience. Sadly, even now that smartphones are prevalent, there's still an attitude of "Let's wait and see if this smartphone fad keeps up for a while..."

smoyer 16 hours ago 2 replies      
404 - HN Effect :(

"Apache/2.2.8 (Ubuntu) mod_jk/1.2.25 mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.27 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g mod_perl/2.0.3 Perl/v5.8.8 Server at randomwire.com Port 80"

If this is your server, you shouldn't be giving so much information away. Make would-be attackers work a be at enumerating you.

sliverstorm 20 hours ago 0 replies      
To my knowledge, there isn't just a mobile legacy- the majority of Japanese still use a phone as their primary internet access device.
MichaelTieso 23 hours ago 2 replies      
There's actually some truth to this that is missing in the article. I had lived in China for awhile and it was so incredibly difficult to navigate Chinese websites. I'm using China as an example because the web designs are similar.

There was some study done awhile ago within China that I can't find the link to that compared the designs of a complicated site like sina.com.cn with text and images all over the place and compared it with a much simpler design that practiced white space and minimalism. It showed that the Chinese actually preferred complicated designs over simple designs. Having lived in China, this makes sense to me because of the culture. Simplicity and white space is not very well practiced. The "East Meets West" graphic by Yang Liu is probably a good example of some of the cultural differences.

joyeuse6701 23 hours ago 0 replies      
Bakemonogatari, watch an episode of that and you'll see how creative Japanese text and design can be. Unfortunately the websites don't follow that trend, and anime is certainly a creative outlet with significant freedoms. Would be nice to see a renaissance over there.
jccalhoun 19 hours ago 0 replies      
I find it interesting that a site that is posting about cultural trends is itself following one of the current western web site trends:narrow central column of text with tons and tons of empty white space on either side...
grmarcil 18 hours ago 0 replies      
To disagree with one of the smaller points in the article: Uniqlo's website is not a great counterpoint to the trend of bad/outdated web design. I like their clothing, but their website (although modern looking) is one of the worst user experiences out there.

Search is an afterthought, and if you want to get to something at the bottom of a category page, have fun wading through several dynamic sub-category load times.

zmonkeyz 11 hours ago 0 replies      
Interesting article. I really like Microsoft's metro design language but i often wonder how well it works out for asian languages.
LiweiZ 23 hours ago 0 replies      
One of my guess is that "applization"(I mean a web service becomes more and more like an app) has its role to play in current simple/clean/flat web design trend. A more app-like web service is more likely to require the app visual design. So this could be an interesting perspective to examine the development status of web design in different parts of the world.
Xelom 17 hours ago 0 replies      
Well, their adult content is also pretty different. Think about it.
VeejayRampay 1 day ago 1 reply      
Wow. So ethnocentrism. Much condescent.
Secret Trans-Pacific Partnership Agreement (TPP) wikileaks.org
257 points by shill  1 hour ago   69 comments top 10
nikcub 1 hour ago 0 replies      
The content isn't interesting[1] because bilateral free trade agreements are public[0], and having the USA force partners into accepting patent enforcement, copyright laws like the DMCA etc. are well known

What is a little interesting is the negotiations and diplomacy at work. You can see how each country is trying to further its own position and interest. Looking at this version of the document, it is impossible to see how a compromise will be reached since there are so many areas that are at complete opposite viewpoints - but you know that in a few weeks time an agreement will be announced as one side or another gives way (guess which!), and the public are nonethewiser.

Some are really good at watering things down, eg.

> The Parties shall endeavour to [US/SG propose: cooperate] [US oppose: establish a framework for cooperation] among their respective patent offices to facilitate

You can see already that they don't intend to cooperate. Establishing a framework? what the hell does that even mean ..

You can now see that Australia, Singapore and Mexico are on Team USA when it comes to copyright terms (Australia opposed it during the FTA negotiations), everybody else opposes, but they will eventually have to come around on this:

> [NZ/BN/MY/VN/CA/JP propose; US/AU/SG/MX oppose: The term of protection of a work, performance or phonogram shall be determined according to each Party's domestic law and the international agreements to which each Party is a party.]

[0] Here is USA - Australia: http://www.ustr.gov/trade-agreements/free-trade-agreements/a...

Here is NAFTA - https://www.nafta-sec-alena.org/Default.aspx?tabid=97&langua...

[1] It might not be interesting because we have seen a lot of this in completed deals previously, but it is very important. The USA enforces its business interest laws such as patent and copyright terms onto recipients of "free trade" agreements, in exchange for getting access to the non-protected part of their domestic market. This is why US laws are so important to the rest of the world, because we end up having to adopt them (this is what modern imperialism looks like).

AlexanderDhoore 1 hour ago 9 replies      
I really, really hope the culture of leaking information becomes so strong that governments will become incapable of keeping anything a secret. That would give me some hope for the future.

Anyone that leaks information is a fucking hero.

Edit: Stop attacking me personally. I'm talking about the government's privacy here, not mine (nor anyone else's). I actually think my privacy will improve if this becomes a reality.

pvnick 1 hour ago 1 reply      
This revelation proves Wikileaks is stil alive and relevant. I hope they see a renewed jolt of donations and interest. This is the organization of heroes that helped get Snowden to safety.

Also, I'm getting sick and tired of our "leaders" attempting to legislate free speech and intellectual property in secret through anti-democratic means. It's disgusting.

Edit: second paragraph

sker 24 minutes ago 0 replies      
Wikileaks again messing up the world's economy and putting lives at risk. Won't somebody shut them down?

On a more serious note, wasn't there a reward if they got their hands on this leak?

Also, as a mexican, it sucks that we're part of this treaty. So far Mexico has been a lawless wild west with regards to copyright enforcement.

mrspeaker 1 hour ago 0 replies      
It's fun seeing how important lil' old words can be!

    Each party shall provide [VN: oppose adequate and effective]    [VN propose: appropriate] remedies against the registration trafficking

sdoering 1 hour ago 1 reply      
JackFr 43 minutes ago 3 replies      
Am I the only one who is bothered by the fact that wikileaks isn't actually a wiki?
stevengg 1 hour ago 3 replies      
Any good overviews of this leak yet?
gesman 22 minutes ago 0 replies      
Would be great if someone to summarize this bloat of gibberish in human readable bullet-points format...
aferreira 1 hour ago 0 replies      
I'm actually more interested in the US-EU negotiations, I wonder how long that one's going to take :)
Simpsons in CSS pattle.github.io
222 points by pattle  2 days ago   77 comments top 26
krmmalik 2 days ago 2 replies      
Full Disclosure: He didn't ask me to do this, and I hope he doesn't mind.

This guy's been working on a freelance project for a Start-Up for me for the last few months as an all round front-end, back-end and UI/UX guy. Nothing but professionalism and great delivery all the way through. What i've loved about him most has been the fact that he's a great self-starter and has brought so many useful ideas to the table. Exactly what a Start-Up needs.

Also had the chance to meet him and his wife for Coffee a few weekends ago. Really nice guy.

If there are any Start-Ups here that are looking for a coder that has a very good sense of UI/UX, you should hire him. (my project is almost finished, so he'll be free soon).

I'm willing to personally vouch for his work ethic, credibility and talent.

Oh and all the work he did for me has been done remotely through BitBucket, email and Skype. I was very comfortable throughout in leaving him to his own devices.

He is the epitome of what it means to have a remote worker, so if you're a Start-Up outside of the UK thinking you can't hand him work because he's remote, think again.

Edit: Remote notes.

jstsch 2 days ago 12 replies      
No, stop it. Why is this #1 on HN right now? Just use SVG. This was fun as a demo a couple of years ago, but don't use this technique in production folks...
topherjaynes 2 days ago 1 reply      
So who's going to tackle the opening sequence of the Simpson's with pure CSS animations?
Artemis2 2 days ago 2 replies      
I can't even center text vertically in CSS... This is beautiful !
dpcan 1 day ago 1 reply      
There are already many tools that convert any image to pure CSS if you are interested in doing this. As well as using base64 in the img source, and javascript+canvas.

I suppose the value in doing this is that maybe an image could go right into an email to someone, or if you are hosting a page on the web somewhere that doesn't have the ability to upload images - but you still want to display one - just use CSS.

Otherwise - I'm not sure what this post is telling us. Did he do them by hand? Did he just convert some images using freely available tools? I'm not sure the value here other than to show people that there are other ways to display images in browsers than loading and showing the images themselves.

booop 2 days ago 1 reply      
Beautiful, and the CSS itself is beautifully organized.
gokhan 2 days ago 2 replies      
And here's one in Html tables: http://pastebin.com/XAUpNZ44

So what?

Segmentation 2 days ago 0 replies      
By the title, I was hoping this was the Simpsons opening done entirely in CSS using animations. I bet it's possible, but would require insane effort.

Still awesome though.

schnable 2 days ago 0 replies      
The claim on the blog is that this provide "obviously better performance" than an image, but is that true? Seems like browser could render an image faster that lots of CSS transforms.
andyroid 2 days ago 3 replies      
Wow, this has to be the most awesome "X in CSS" demos I've seen!As for performance, I can definitely see the decreased download size as beneficial, but what about rendering speed? All those elements and transforms must surely be heavier to render than a simple bitmap?I will definitely check back to see if/when more characters are added!
fest 2 days ago 2 replies      
I'm wondering, how hard could it be to write a tool which converts (at least a basic subset of) SVG to CSS.
avalaunch 2 days ago 0 replies      
Very impressive but where's Lisa?

Was she harder than the rest to get right?

apierre 2 days ago 0 replies      
"Everything done in CSS" fad makes me think this is the new ASCII art
dajo 2 days ago 0 replies      
When viewed in IE8 or lower, it looks like the animation from season 1!
shmerl 2 days ago 0 replies      
I think SVG makes more sense for this. CSS is not intended to be vector graphics format.
mayankkp 2 days ago 0 replies      
Awesome! Made me laugh just looking at the characters.Good work!
mrtbld 2 days ago 1 reply      
While I appreciate the effort, claiming that is it "pure CSS" is not true. The page is made out of 235 divs, and divs are not CSS but HTML.
elefont2 2 days ago 0 replies      
This is pretty cool. It makes we wonder if it would be possible to create an automatic SVG-to-CSS converter
exo_duz 2 days ago 1 reply      
Great Work! Looks real good. Hope he plans to do more :)
maddisc2 2 days ago 1 reply      
This is very cool. Great Work!
arpstick 2 days ago 2 replies      
It'd be cool if there was a tool to assist in the creation of such arts.
j2oomee 2 days ago 0 replies      
Interesting that Homer's line count is less than the rest. Homers simplicity is even reflected in CSS!
patatino 2 days ago 1 reply      
Amazing. How many hours of work?
kevonc 2 days ago 0 replies      
wow haha impressive
timjensen 1 day ago 0 replies      
okely dokely
Edward Snowden is Almost Broke time.com
223 points by imd23  10 hours ago   152 comments top 25
IvyMike 8 hours ago 3 replies      
I'm actually surprised he has any access to his money at all. I assumed all of his assets would have been frozen under some sort of murky fugitive/terrorist/organized crime laws.

Or maybe he took proactive steps to keep this from happening?

sinak 8 hours ago 1 reply      
I'll reach out in the morning to people/orgs in touch with him and see if taskforce.is can set up some way of getting money to him without a big legal risk.
gasull 10 hours ago 3 replies      
He could get Bitcoin address and ask for donations. I would be surprised if he didn't think about this already. He might not want to give the Government a excuse to ban Bitcoin.
GabrielF00 9 hours ago 1 reply      
What would be the legality of sending Snowden money? He's been charged with a crime and donations would enable him to live outside the country. Isn't that aiding and abetting a fugitive?
wehadfun 19 minutes ago 0 replies      
So what punishment would be he experience if he was to return?

It sounds like he is not "free" now. He would be a high profile prisoner. How bad would the government treat him?

tokenadult 1 hour ago 0 replies      
"The American fugitive, who revealed troves of classified information as he fled the country in May and is now living under temporary asylum in Russia, reportedly started at a job at an unnamed Russian website earlier this month."

How do computer industry salaries in Russia compare with government contractor salaries in the United States? And how much of whatever money people send to Snowden will end up with Snowden, and how much with Snowden's lawyer? (Another issue is whether the one-year asylum offered by Russia will be extended later or not. What will Snowden do if Russia decides not to continue to grant him permission to be in Russia and work there?)

a3voices 23 minutes ago 0 replies      
Snowden could write a book and make millions. This profit potential means he's not "broke" in the same sense a typical broke person is.
orenmazor 1 hour ago 0 replies      
So what you're telling us is that being a whistleblower and fleeing to Russia turns out to be a poor career move?
winfred 8 hours ago 2 replies      
What I want to know, is Snowden going to do his tax return this year in the US?
bobbles 10 hours ago 1 reply      
Surely there must be news organisations willing to pay for interviews?
imd23 10 hours ago 4 replies      
We should help him. How we the HN community could? I'd love to hear ideas from all of you.
mixmastamyk 7 hours ago 1 reply      
Don't have to help for now, says in the fourth paragraph he's got a new job.
brianbreslin 1 hour ago 1 reply      
would it be considered treason to send him money as a US citizen? I could imagine he could fetch a pretty penny consulting on russian sites about security issues (even if he isn't the top guy in the field, he has a crazy name recognition right now).
zerorbit 9 hours ago 3 replies      
His parents could set up a kickstarter/indiegogo/paypal. They wouldn't have to name Snowden in the plea for funds, could be named the "Freedom Fund". So, donators wouldn't be charged with aiding a felon.
vincie 9 hours ago 2 replies      
Let this be a warning to all you crazy kids out there thinking you can take on the man and not get busted.
DonGateley 8 hours ago 1 reply      
Would a contribution be tax deductible?
christiangenco 9 hours ago 1 reply      
What would happen if he ran out of money? Wouldn't Russia just... give him some? I can hardly think it would be in the diplomatic interest of Russia for Snowden to become unable to pay his lawyer.
veganarchocap 4 hours ago 0 replies      
We could set something up to donate to him? I think we owe him a hell of a lot. Allowing him to live comfortably is the least we can do. Do you think if a fund was set up it would be hijacked by the U.S?
Grue3 5 hours ago 0 replies      
Maybe he should ask Putin for some spare change.
kostyk 10 hours ago 2 replies      
i thought he got a job??
BlindRubyCoder 9 hours ago 0 replies      
I was wondering about this the other day. I'm sure someone will help him out.
hajderr 7 hours ago 1 reply      
At least he is free.
pmarca 9 hours ago 3 replies      
What? Treason doesn't pay?
dead_phish 9 hours ago 4 replies      
I have very little sympathy for his monetary plight. He made his bed, let him sleep in it.

Or rather, when your giant paycheck comes from the government, maybe torquing off that government in the most flamboyant way possible isn't the best of ideas.

GitHub's Explore Email github.com
213 points by Chris911  1 day ago   58 comments top 24
jmduke 1 day ago 5 replies      
As much as I love GitHub, I think the exploration paradigm could use a little work -- it seems to have something of a flywheel effect, where popular repositories receive more exposure, thus more stars/forks/watches, thus appear as 'trending', thus become more popular. (For example: currently trending as #3 in Python today is the official Django repository; and trending as #2 today is the official AirBNB javascript style guide, which has been boasting around 4,000 stars and hasn't been updated in around ten years.)

I'd kill for a GitHub StumbleUpon: click a button (filtering for, say, vertical or programming language) and get transported to a repository that has a baseline level of merit (say, at least three stars).

j_baker 1 day ago 0 replies      
I really like the way github is doing this. I'm irritated by the way other sites (linkedin, quora) automatically assume I must want their emails every X interval. I like that with github I can choose how frequently I get emails and that it's opt-in.
unknownian 1 day ago 1 reply      
Anyone else disappointed in the Explore page's redesign? It's harder to navigate and they deleted the Languages portal.
daGrevis 1 day ago 2 replies      
A bit confusing that there isn't any submit button or other indicator that shows me that my preference is saved.

Otherwise, a cool feature; didn't know about it until now.

diggan 1 day ago 1 reply      
Like it! Let's hope it comes in right time (before morning/during night in Spain) so I can read it with the morning coffee.

However, I would have loved to select which language/languages I'm interested in since if a project is in Python it's not as interesting for me as if it was in JavaScript.

richardburton 1 day ago 0 replies      
I built an iPhone app that shows you all of the trending repositories that use the languages you like. It's called Repo; if you're interested in checking it out, you can download it (for free) by going to:


kbar13 1 day ago 0 replies      
Would I just get emails for rethinkdb forever?

<realtalk>Bring back the old trending page!</realtalk>

Vilkku 1 day ago 0 replies      
Would be pretty great to have this as an RSS feed (one daily/weekly/monthly item). I hesitate to subscribe to the email, but I wouldn't mind getting a the daily version in my RSS feeds.

Now that I mention it, some kind of service where I could get all emails from as RSS would be pretty neat.

EDIT: Seems like there is one! http://www.mmmmail.com/ However, I'm hardly able to just change my github email to that and have password reset emails etc be available to the public in the RSS feed. Best solution would be some kind of Gmail filter, where all emails with a specific tag would be available in the feed.

jinx_xnij 1 day ago 0 replies      
I really liked the design that you use to choose which level of newsletter subscription you want to sign up for. Clean, simple, and straightforward.
_prometheus 1 day ago 0 replies      
It would be awesome if they tracked something like most used repositories, not just most starred. Like https://sourcegraph.com/repos
colinbartlett 1 day ago 0 replies      
Kudos for having the smoothest subscription process I've ever seen. One click, instant!
bloometal 1 day ago 1 reply      
For some reason I have a suspicion that Github Trending is game-able. I tweeted once about this suspect repo that had 3000+ stars and all it said was something like "Hello to all github trending viewers" or something along those lines.

Link to the author of that repo: https://github.com/mandatoryprogrammer

What remains of the repo is visible in his profile.

Anybody have a clue as to how he did it?

LukeWalsh 1 day ago 2 replies      
Firstly, I really love github explore. Having said that I still have yet to feel the need for one of these services that blindsides me with content just because I forgot I need it.

I understand that it drives more traffic to the site, but is it really worth saving the time of typing https://github.com/explore?

SnacksOnAPlane 1 day ago 0 replies      
Is there a way to set the Explore emails to go to a different address than the primary? I set my primary as my work address, because most of my repos are work-related, but I'd like this email to go to my gmail.
forlorn 1 day ago 0 replies      
I love to use http://www.githubarchive.org/ . Found it on 'Show HN' half a year ago or so.
vinhnx 1 day ago 0 replies      
I've been subscribing to GithubArchive for awhile now, they send me top new & watched repos right in my inbox daily. I think we should check it out:


himbeere 1 day ago 0 replies      
What about a filter which allows me to exclude repositories that use certain languages?
Xelom 1 day ago 0 replies      
I don't know everyone but exploring github day to day is an entertainment for me. Your thought about mail is good but doesn't work for some people.
dustin1114 1 day ago 0 replies      
Cool idea. I thought every day wouldn't be as special, so I went for every week. I'm looking forward to seeing some new projects...maybe some to contribute to.
yawaramin 1 day ago 0 replies      
How about an RSS/Atom feed? I'm not crazy about signing up for another email.

And what happened to the 'Ref Log'?

esja 1 day ago 2 replies      
I wish GitHub had a page like this: http://stackoverflow.com/users
xpop2027 1 day ago 0 replies      
Now that is the proper way to get someone to subscribe to emails.. so easy with great options.
zenburnmyface 1 day ago 1 reply      
My email is already too full -- how about a Twitter feed? My friend did this one:


caiob 1 day ago 0 replies      
Super duper. :)
Tetris and The Power Of CSS heydonworks.com
210 points by nej  2 days ago   46 comments top 16
ruswick 2 days ago 1 reply      
I love CSS's pseudo-selectors. In my opinion, they are the best part of CSS3 and are generally great.

However, I think the author's jabs at CSS pre-processors and their adherents are unsubstantiated and a little unfair. I don't see how using SASS precludes you from knowing about or using complex selectors. As the author points out, SASS is merely an efficient and more intuitive way to write classic CSS. The good parts of CSS are still the good parts of SASS, and by definition every feature of CSS is a feature of SASS. It doesn't really follow that using SASS predisposes you to be less knowledgeable about regular CSS.

If anything, people using SASS likely use many more complex styles and work on larger projects, and are probably know more about and actively use more aspects of CSS than do people who don't have a need for SASS.

kika 2 days ago 5 replies      
Am I the only one who clicked the link expecting to see the Tetris in pure CSS?

AskHN: is there a good online resource that actually explains the layout mechanics of the modern browser? Not a comprehensive CSS reference (there're lots of them) but fundamental principles? lmgtfy's welcome.

jmduke 2 days ago 1 reply      
I love this article except for the argument it makes about preprocessors. While I agree with the author that preprocessors do not replace the need for a deep understanding of CSS3, that doesn't mean that preprocessors are useless or bad; hell, the ability to nest rules alone saves me hours and hundreds of LOC.
martian 2 days ago 0 replies      
Geoffray Warnants did a simple CSS3 Tetris in 2011: https://developer.mozilla.org/en-US/demos/detail/tetris-css3...
rallison 2 days ago 1 reply      
Great article on what is definitely a couple of nice and powerful features. For those new to nth-child and last-child, they are both IE9 and above features [0] [1] (of course, all non-IE browsers have proper support).

[0] https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/:last-child

gpmcadam 2 days ago 0 replies      
Great article, however I won't be satisfied until someone provides me with a working CSS-only Tetris. Hmph!
cheapsteak 2 days ago 1 reply      

    li:nth-child(3n + 1):last-child {       float: none;       width: auto;    }    li:nth-child(3n + 2):last-child {        width: 66.666%;    }

stormbrew 2 days ago 0 replies      
I really don't get why this article starts off with a rant about less and sass. What do pre-processors have to do with anything demonstrated? Do they make these things harder somehow?
Bahamut 2 days ago 1 reply      
I know of this pseudo-selector. I've avoided really using it because of IE though.
peterhunt 2 days ago 2 replies      
While I agree with the premise that css preprocessors are overused, I can't stress enough that the use of complex css selectors is a really bad idea. Not only can it kill performance (or at least make it hard to reason about) it encourages tight implicit coupling between the style sheet and the document which generally leads to hard to maintain front ends.
fat0wl 2 days ago 2 replies      
Thanks for giving some credit to plain old CSS. I've used SASS & am starting to use LESS but I'm really appalled when job interviewers give me a strange look when I say I don't use them religiously.

Same with COffeeScript... let's get real, pre-processing is great and all but there are tons of scenarios where it's not worth it just to get around writing extra sets of brackets or duplicating a bit of CSS.

Surely there are logic-intensive places where it is a huge boon but then I'm surprised I don't see more people advocating the absolute need for something like Dart rather than pre-processors.

Anyway, I feel like when you go to corporate work they want you to know atomic level ("how do various browsers interpret this bit of css") whereas its the smaller companies who want to know how many lines of code you saved by using syntactic sugar ("do you use LESS or SASS?"). They're way impressed if you use it even if it's just saving you 10 lines of code per project... Just an observation about pre-processing / interviewing / code hipsterdom. :D

xarien 2 days ago 1 reply      
I'll toss my 2 cents in. People often forget that one of the biggest components of UX is page rendering speed. This solution while addressing a visual inconsistency will slow down the page considerably.
talles 2 days ago 0 replies      
"Did you think I was actually going to recreate Tetris in CSS? Sorry, no. Nobody needs to do that."

What a major let down :(

wesleyac 1 day ago 0 replies      
Aww, I was expecting a game of tetris in CSS.

But awesome all the same

Snowda 2 days ago 2 replies      
Would it be better to adjust the first element rather than the last one, as the first element is most likely to be the most important?
msoad 2 days ago 1 reply      
Is it a new thing? I zoom OUT for many articles that are shared here in order to read them easily.
What's wrong with Object-Oriented Programming and Functional Programming yinwang0.wordpress.com
209 points by roguelynn  1 day ago   134 comments top 31
tikhonj 1 day ago 5 replies      
This is a gross mischaracterization of functional programming and basically attacks a straw man--one that's lamentably common when talking about functional programming.

I'm going to repost a comment I wrote on the blog. It's long and really needs editing, but I hope it gets my thoughts across. I think the part about OOP is also misguided, but it's so obviously tacked on to a rant about functional programming that I just ignored it.

Haskells purity is not about getting rid of side-effects but about controlling side-effects. Its making side-effects first-class citizens: now you can write code that talks about having or not having them!

You can still have side-effects however you want, you just have to be explicit about it. To some extent, the fact that this uses monads is incidental: all thats important is that there is some IO type, some ST type and so onthe fact that they all form monads is almost an implementation detail. Thats why some of the most exciting Haskell featuresSTM, the IO manager and so onare all about effects. Clearly, Haskell more than acknowledges effects, so the entire diatribe about ignoring the existence of side-effects is attacking a straw man.

Besides, you cant simply replace a first-class system for managing effects with static analysis, without essentially reproducing the same restrictions. How would you do something like Haskells deterministic parallelism model or reliable STM or the very aggressive loop fusion (and general rewriting) Haskell uses? Theres a reason you dont see these things done nearly as well in any other languages: all of these fall apart as soon as you introduce side-effects, so you need some way to help the programmer ensure things like this are only used safely.

And this is exactly how types like IO and ST help make code safer. Sure, within an ST block, you have stateful code thats just as hard to analyze. But you can guarantee that this does not leak outside the block. Similarly, functions can rely on their inputs not doing anything untoward however theyre used. This allows you to explicitly state the assumptions about your inputs: how is this a bad thing? In turn, this makes writing code that takes advantage of these properties much easier: you can ask that your inputs do not cause side-effects in a way thats self-documenting and easy to verify. Then youre free to re-evaluate your inputs or call functions however many times you want, as concurrently as you want. At the extreme, this can even be used for security purposes: see Safe Haskell.

Sure you can write pure functions in any language. And you can write side-effecting procedures in Haskell too. But the difference is that Haskell lets you be explicit about whether you want side-effects or notits just another part of your interface. And this is how types like IO and ST help make your code easier to think about: any code that is not in a type like IO or ST can only depend on its arguments, making all the dependencies more explicit. (Note, again, how this is all independent of monadsits all about effects, and the types just happen to form monads.) This does not make static analysis too much easier, but that was never the pointthe goal is to make the code easier to think about, and knowing that there are no hidden state dependencies certainly does that. A static analyzer can follow data flow easily, but it requires quite a bit of thinking for the programmer to do the same!

The core motivation for managing effects la Haskell is not mathematical purity: its software engineering. We want code that is easier to think about, has better guarantees and is more modular. The goal is to make code less complex by removing hidden dependencies between distant parts of your program (mutable state) and the effect of evaluation on the meaning of your program (side-effects in general). You can refactor and move around most Haskell code without worrying about breaking its surroundings because any dependencies are explicit. You can extract something into a function, consolidate multiple function calls into one or split one into multiple and generally change your code up quite a bit without worrythese actions cannot change the codes correctness because effects are managed for you.

Ultimately, functional programming like Haskell is not just normal programming with side-effects outlawed. Instead, its a different basis for programming which allows you to manage side-effects explicitly. In this light, papers like solved problem but with monads are entirely reasonable: theyre about bringing things over to this new basis. And this goes the other way too: theres a reason why you dont see good STM, deterministic parallelism, stream fusion (and rewrite-rule optimizations in general), anything like DPH and anything like Safe Haskell in other languages.

weland 1 day ago 7 replies      
This article is remarkably low on arguments, despite being so long. Just a few of its gems:

> OOP is wrong because of its definition of an object, and its attempt of trying to fit everything into it. When that goes to the extreme, you arrive at the notion everything is an object. But this notion is wrong, because:> There exists things that are not objects. Functions are not objects.

This has two problems:

1. It's factually wrong. Smalltalk functions are first-class objects.

2. It fails to explain why that would be wrong (assuming it were, you know, true).

The author does give the (poor) examples of Python and Scala, which -- in his opinion -- incorrectly call a function an object, because only the __call__ and apply are the "function objects" one is trying to define, but they were "kidnapped" and jailed into their wrapping objects. IMO, this is ontologically incorrect. The same can be said of any object's definition: if I have an object called PlaneVector, the "vector object" itself would actually be only its x and y properties, which I have kidnapped and jailed into my object.

The fact that this structure (the object I'm defining in my programming language) is not the same as its counterpart in the world of ideas (i.e. the plane vector in maths) should be fairly obvious, despite using the same generic term (i.e. object) to denote both.

Behold, then, the straw man:

> Most OO languages also lack correct implementations of first-class functions. An extreme is Java, which doesnt allow functions to be passed as data at all. You can always wrap functions into objects and call them methods, but as I said, thats kidnapping. The lack of first-class functions is the major reason why there are so many design patterns in Java. Once you have first-class functions, you will need almost none of the design patterns.

There are a lot of things wrong with Java, of course, which does not mean that they are also issue of object-oriented programming. Inheritance (sorry...) doesn't work both ways: the fact that a Lexus is prohibitively expensive doesn't mean moving vehicles are prohibitively expensive.

I have less of a problem with the author's treatment of functional programming. What he's essentially trying to argue is that:

> Simulating them [side effects] with pure functions is doomed to be inefficient, complicated and even ugly. Have you noticed how easy it is to implement circular data structures or random number generators in C? The same is not true for Haskell.

IMO, this is true, but the isolation of side effects doesn't have to happen only by the ugly means he outlines next (i.e. monads) in every application. A typical CRUD application the web kids like to write can be written so that the only side effects involved are in fact modifications of the database, in which case the side effects are confined to SQL.

I also think there's an ontological error in this argument. Its foundation is that FP tries to "ignore" side effects even though they are real, but the examples the author gives are several layers of abstraction below. C also woefully ignores some of the side effects in the silicon (e.g. if you go low enough, calling a function with no side effects that does not even alter the state of the program will, in fact, alter the state of the underlying silicon, and quite substantially so), and I think it's reasonable to assume that we can't quite move the debate into which of those should be ignored or not.

All languages abstract the silicon away, and it's not only good that they do, it's what they were built for. I honestly don't miss hardwiring relays.

monjaro 1 day ago 1 reply      
This is a low quality article from someone who, given his qualifications, should know better.

The criticisms of functional programming languages range from trivially true (you can't be purely functional and have side effects) to incorrect (it is certainly not difficult to create a circular data structure in Haskell - it's easy given laziness).

The criticism of OOP is verging on nonsensical. Of course functions can be objects. A general definition of an object (following Cook somewhat) is something that satisfies an interface along with some form of dynamic dispatch. There is no reason why a function can't fall under that definition. The distinction between fundamental and derived isn't a technical argument, it's pseudo-philosophical junk. As several others have pointed out, the fact that Java doesn't have proper first-class functions is also utterly irrelevant. In fact, it is possible to program in a very pure OOP manner in any language with proper closures.

If the author is representative of the quality of researchers working on programming languages, it's no wonder the field seems stagnant.

aufreak3 23 hours ago 0 replies      
I was reminded of Anton van Straaten's "koan" on closures vs. objects with venerable master Qc Na [1] ... but I digress. This post is actually a troll post designed to re-ignite fiery discussions about which is the superior PoV - functional or oop - and I'm going to bite.

The only point I'm willing to give is the somewhat sane zen-like advise of "don't fall in love with your models".

Regarding OOP, I recall Alan Kay saying something to the effect of "OOP is not about objects. It's all about messages." which nicely points to the dualism between the two points of view.

    > There exists things that are not objects. Functions are not objects.
Well, objects are any "thing" that you can talk about, toss about in your head. Functions are certainly such "things" and count as "objects" in that sense. If we accept that "monotonic" is an adjective, i.e. an attribute of a noun, then the function described as "monotonic function" is an "object".

    > There exists things that are not pure. Side-effects are very real.
Um, how so? One notion that characterizes side-effects is irreversibility. You cannot unlaunch a rocket, for instance and so it counts as a "side effect" of the code "launch rocket". Despite that, when we look at the basic equations of quantum mechanics, they are all pure unitary! I mean, not only are they perfectly reversible, quantum "information" cannot be destroyed or even copied. So with fundamental physics we have the opposite question - how the hell do we get "side effects" out of this much purity at the core?

    > Also purely functional languages cause a huge cognitive cost. 
I call pure BS on this section. "Huge cognitive cost"? For whom? Wouldn't "structured programming" have placed huge cognitive costs to former "goto programmers"? It is more honest to just say "I don't understand monads, so I won't use them."

    > If you look deep into them, monads make programs complicated and hard to write
Again, "complicated" for whom and "hard" for whom? Is there some objective sense in which such declarations can be made? I, for one, have benefited greatly from learning about monads, reading monadic code and recognizing the pattern in existing code.

    > You can write pure functions in any language, but the important thing is, you should be allowed to use side-effects too.
Why? Who's to say you "should" this or "should not" that?

   > Everything starts to do harm when they are pursued to the extreme.
I'd say the exact opposite actually. Both OOP as well as the functional perspective here illuminate the programming world only when taken to the extreme. Until then, folks just keep arguing about what is functional and what is oop and what isn't. Haskell and Smalltalk/Self have done this favour for us by adopting these extreme dual perspectives.

[1] http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m...

jballanc 1 day ago 1 reply      
From a mathematical/theoretical point of view, this is an interesting article, but I think it misses the larger point of programming language paradigms. Yes, the PL researchers have their reasons for creating languages that are object oriented, functional, procedural, imperative, declarative, logical, etc. but those are rarely, if ever, the reason that programmers choose these languages.

Ultimately, the main purpose of a programming language is to convey intent to other programmers. If calling an object a function just because it has a `__call__` method makes it easier to convey intent, then it doesn't really matter that the object is not really a function. Personally, I'd be interested in any research into the ability to convey intent using these different paradigms.

j2kun 12 hours ago 0 replies      
It looks like the author prides himself on reinventing ideas. I've read a handful of his other posts, and he's "reinvented" the Y combinator, the proof of the halting problem, and other such things. It appears that, perhaps partially by a perpetual mishap with diction and connotation, the author claims that his reinventions are original ideas, his opinions are fact, or that his insights are somehow deeper or his arguments are better.

I see this happen all the time, with myself and with others, and I think it's a common thing in mathematics (the author is in CS, so he might not get exposed to this as much as I do). I've seen undergrads finally realize that calculus makes sense and explain how much deeper their understanding is now that they've really thought about it, and I smile and nod my head. I've myself touted my own deep understanding like it's not completely trivial to somebody with years of experience.

I think this article shares that sentiment. The author has thought of on his own accord what we all consider a dead and beaten horse, and is shouting his thoughts from his proverbial mountaintop: no paradigm is perfect for every situation.

Best of luck to him for all his thoughts, but he'd better learn when and where to curb his enthusiasm if he wants others to take him seriously. For the record, this doesn't apply to his personal blog. I expect sooner or later he'll have a post talking about how Haskell's pure style is all about giving the sculpter more clay.

dschiptsov 1 day ago 1 reply      
This is solved long ago, without taking any extremes. In short, a language should be mostly-functional, which means when you really need to overwrite a value you just do it. In well-researched languages, such as Scheme you have set!, in CLs you have setf.

All the monadic stuff (remember, that a monad is nothing but an ADT - Abstract Data Type) is already an extreme, because one must structure the code in a certain way. However, one could write monads in Scheme, there is absolutely nothing special about them.

I think that monad madness it is of the same nature as over-engineering madness that plagues OOP - wasting of time and effort on construction of vast, meaningless class hierarchies.

On the other hand, to find a balance is the most difficult task. Scala, it seems, is close enough, but the ugliness of static typing - parametrized types polymorphism is still here. On the other hand, it avoids mutation whenever possible, uses persistent data structures and first class functions, which results in a much more reasonable and predictable, and, as a consequence, reusable and manageable code (modularity with almost no side-effects).

Yet another point is that there are literally tens of implementations of OOP features for CLs and even Schemes, which might suggest to you that OOP is just a set of conventions and rules - how to reference and dispatch methods - nothing but pointers and procedures, which are the most fundamental abstractions in CS.

The big ideas from Lisps, like everything is a reference, values have type (tags) not variables (you don't need Nothing to be a subclass of everything,) together with first-class functions without side-effects is that good-enough set of features for a programming language.

The point is that so-called "best of the both words" was discovered long ago in classic Lisps and it could be loosely called a mostly-functional language.

LukeHoersten 23 hours ago 0 replies      
The author states the "extreme" case of OOP is "everything is an object" and the extreme case of FP is "purity."

The problem with this analogy is that everything being an object doesn't by you much. But in Haskell, the type system helps you keep track of what's pure and what's not. So having a type system that keeps track of purity buys you something: lots of pure and extremely easy to reason about code. Non-deterministic (unpure) code is the same difficulty to reason about in any language. Isolating it from pure code just reduces the amount of code which is difficult to reason about.

Ingon 1 day ago 2 replies      
This looks like an attack to functional programming mainly. And if you follow Haskell closely I think that the guys building it are well aware that the world is actually full of side effects. But the thing is that if they push the "pure" ideology to its limits they will uncover a number of useful things along the way. And that is the whole reason to stick to it. Maybe you don't find the usefulness of monads, but that doesn't mean that there is no value of composing part of you programs in this way. Otherwise you are stuck to the same old ways of doing things.

So going with pure has its benefits for all of us, but this does not mean that we should stick with something just because. Unfortunately the answer to most of the questions in programming/software development is: it depends.

eonil 1 day ago 0 replies      
The author should mention Smalltalk to talk about pure OOP. Not mentioning Smalltalk means the author didn't really researched the pure OOP. The author just tasted some OO style languages. I really don't understand how can the author argue about drawbacks of pure OOP with Python (which is more like procedural) or Scalar (which is more like functional).

Also in the middle of text, the author frequently mention most OO langauges which is nothing related to topic - extreme, pure OO language.

Mention about Haskell is pretty agreeable, but that drawback is already published on Haskell website, and that's why Haskell support impure operations.

I don't understand how can a Ph.D person can write this poor text.

stevecooperorg 1 day ago 1 reply      
Reminds me of this paper;

"The Interactive Nature of Computing: Refuting the Strong Church-Turing Thesis" -- http://cs.brown.edu/people/pw/strong-cct.pdf

"The theoretical nature of computing is currently based on what we call the mathematical worldview. We discuss this worldview next, contrasting it with the interactive worldview."

joe_the_user 1 day ago 1 reply      
This is an interesting article.

It is the first critique of functional programming I've read from someone who clearly knows their shit.

I plan to look at miniKanren more when I get the chance.

I done a fair amount of math though likely less than the author but I have a similar impression - the things that are hardest to understand aren't necessarily the best tool for every job, despite their beauty. And beautiful abstraction for its sake can be a dangerous anti-pattern as much as excess hacks and simplicity.

Tehnix 1 day ago 1 reply      

    Have you noticed how easy it is to implement circular     data structures or random number generators in C?     The same is not true for Haskell.
I might be wrong, but, isn't this a circular data structure (or, what they are referring to) http://www.haskell.org/haskellwiki/Tying_the_Knot ?

    In a language like Haskell, where Lists are defined     as Nil | Cons a (List a), creating data structures     like cyclic or doubly linked lists seems impossible.    However, this is not the case: laziness allows for     such definitions, and the procedure of doing so is     called tying the knot.

011011100 1 day ago 0 replies      
So does the author deny the existence of any sort of domain where these paradigms would be "right"? Or are they universally "wrong"? Also, he states a view or philosophy: "everything is an object" and then he says "this is wrong because I disagree. functions are not objects". Wow. If you remove the commentary about scala and python, which is irrelevant to his philosophical thesis, then what is his argument? And why is it not a matter of just having a different definition?
debacle 1 day ago 0 replies      
I think all this blog post really highlights is that you can get a PhD without understanding OOP or functional programming.
DanWaterworth 1 day ago 0 replies      
Functional programming wouldn't be useful if side-effects didn't exist. So, arguing that functional programming isn't useful because:

> There exists things that are not pure. Side-effects are very real.

Is nonsensical.

aklein 1 day ago 2 replies      
This person is pursuing a PhD in Computer Science?

"If you look deep into them, monads make programs complicated and hard to write, and monad transformers are just ugly hacks."

Wow. Just... wow.

username42 1 day ago 0 replies      
Nothing wrong with OO or pure FP. They combine very well in languages like scala. The author complains that "in Scala, functions are just objects with a method named apply" and complains also about "lack of first-class functions" in java. In fact, these languages supports clean modelisation of the algorithms using high level concepts. The target is a microprocessor that understand low-level imperative code with side-effects. If you look only at the first steps of the transformation, it may always look wrong. The distance between the code and the execution may make the program more difficult to analyse but it is a normal price for abstraction. The only thing that is wrong is that the author is looking at high level languages with a focus on low level semantic. The fact that "int" is not really an object in many languages is becoming more and more an implementation detail.
codygman 22 hours ago 0 replies      
I think that OP mistranslates "extreme functional programming" as "we never have side effects and compose functions".

Also what exactly is "extreme functional programming"? Only using functional programming paradigms and abstract data types instead of OOP paradigms and objects? Is "extreme functional programming" not taking advantage of do notation, ST monad, etc and only programming in pure functions thereby accomplishing nothing?

I think the author should have defined what he believed to be extreme OOP and extreme FP before going on such a diatribe (on mostly FP and haskell in particular, since others don't separate side effects).

zamalek 1 day ago 0 replies      
If we accept the author's argument; then what is the "correct" type of language? Hybrid? A functional-OOP-CES-actor-message-passing language?

In all seriousness I do think there is definitely room for something better than what we have today. I remember a quote saying that "compilers are build for computers, not humans" and I'm starting to agree with that more and more. Our minds are primitive and OOP, functional and threading is simply asking too much of them (proof: all software has bugs). So while the author might have called out OOP and functional in particular I think programming languages as a whole are lacking.

wes-exp 1 day ago 0 replies      
Though poorly articulated, I am with the author that OOP done wrong (e.g., Java) is horrible. It leads to FactoryFactoryFactory and a lot of insanity!
lukaseder 1 day ago 2 replies      
Sign. Yet another discussion full of trolling pros and cons of FP vs. OO

Guys, listen to Simon Peyton Jones himself: "Haskell is useless". He's discussing stuff with Erik Meijer in this video:


nickthemagicman 1 day ago 1 reply      
Is there a blend between the two? I really like loops...
sorincos 1 day ago 3 replies      
"The lack of first-class functions is the major reason why there are so many design patterns in Java. Once you have first-class functions, you will need almost none of the design patterns."

Now this is a very bold statement. I'm dying to hear more on how you can get rid of design patterns with first-class functions. Does it mean getting rid as in: sharing knowledge is not needed anymore and programming becomes art as we all head to the rapture?

drharris 1 day ago 0 replies      
I thought this was going to be one of those one-word websites that said "Nothing". There's nothing wrong with either OOP or FP, only something wrong when people misapply them.
anuraj 1 day ago 1 reply      
Use the tool that is apt for the job. Programming languages and paradigms are tools. Tools are not greater than end products - period.
cLeEOGPw 1 day ago 0 replies      
I think that despite all mistakes that are in the article all agree that extreme OOP and extreme FP are almost equally bad and the balance between those gives the best results.
jokoon 1 day ago 0 replies      
I don't know about you, but I find those debate a little depressing. A language will always have a certain flavour and angle to how it outputs or executes machine code. A language will always abstract thing so it can be better understood by a human brain.

There will always be a problem about orienting a language in a certain way, because there are not such thing as perfect when you design something, there are only compromises. A language orientation is a choice among many, and that will only better fit certain cases more than other.

Just be thankful to have working languages, and if you're not, just try to make one what either fit what you want, or try to have both OOP and functional features. I can't understand how people can actually criticize programming styles and language without trying to understand why such or such language is already great.

And by the way, you can't really weigh how a language is good or not, it's like benchmarking english or mandarin or spanish or french.

I'd just like to know how functionnal programming and OOP solve certain similar problems, and when it's better with one or another. Because let's be honest, programming style have nothing to do with theory, you can only judge when you have to engineer something.

eli_gottlieb 1 day ago 0 replies      
This ignores the rise of effect systems, which take monadic effect-handling and place it into the realm of static analysis, where it belongs.

Disciple is the future.

OhHeyItsE 1 day ago 1 reply      
Just http://www.scala-lang.org/ and everybody's happy :)
hawleyal 1 day ago 0 replies      
Complete nonsense.
The Big Data Brain Drain: Why Science is in Trouble jakevdp.github.io
201 points by plessthanpt05  4 days ago   94 comments top 19
ChristianMarks 4 days ago 4 replies      
Technical work, including indispensable scientific software development, tends to be considered of low academic value in academia. This is an ingrained attitude. I very recently left after having heard "oh, you're the technical guy" once too often from other academics.

Here's an example. The Globus Online grid ftp service web page intended for users adopts an overtly apologetic tone [1]. Users of this service are promised freedom from "low-value IT considerations and processes"--considerations and processes that the Globus Online team has humbly sought to undertake on their behalf. I have to laugh at the claim that there is "No need to involve your IT adminall you need is Globus Online." The message is that information technology is of low academic value--unless you happen to have been one of the authors of publications that came out of the Globus Online project. If not, your career is sidelined.

Software development, system administration, network administration and desktop support have become somewhat specialized in the past 30 years, but in the minds of some principal investigators and academic administrators, these very different activities are conflated. An expert in numerical methods, computational fluid dynamics and dynamic downscaling methods for climate assessment models is a seasoned web developer with a portfolio, fluent in jQuery, underscore, backbone, responsive websites with bootstrap, CSS3, HTML5, PostgreSQL, PostGIS, the Google maps API, Cartodb visualizations, as well as an Android developer conversant with the SPen library for the Galaxy Note 10.1. It's as much effort to stay current technically as it is to keep up in the scientific literature.

There are faint signs of improvement. On January 14th, the NSF revised the biosketch format by changing the Publications section to Products [2]. "This change makes clear that products may include, but are not limited to, publications, data sets, software, patents, and copyrights." The previous biosketch format was awkward for software developers, inventors and producers of data sets.

Recently, a number of prominent computer scientists, and scientific software developers affiliated with the Climate Code Foundation [3], published a Science Code Manifesto [4]. The manifesto includes the recommendation that "software contributions must be included in systems of scientific assessment, credit, and recognition." Software developers in the digital humanities may wish to add their names to the list of signatories.

Whether these developments reflect a broader understanding that software developers ought to enjoy greater recognition and opportunity for advancement in academia that they do currently remains to be seen. Greater career advancementopportunity for software developers, inventors and data set producers working in academiamight do something to address the Ph.D. overproduction problem.

But these developments were too little and too late for me. I left.

[1] https://www.globusonline.org/forusers/

[2] http://www.nsf.gov/pubs/2013/nsf13004/nsf13004.jsp

[3] http://climatecode.org/

[4] http://sciencecodemanifesto.org

brianberns 3 days ago 5 replies      
I'm a software developer working with big data, but I think the premise of this article ("the ability to effectively process data is superseding other more classical modes of research") is simply false.

The example problem domain ("automated language translation") is actually a stellar counter-example to the claim. Has anyone actually tried to use Google Translate for anything sophisticated? It's still truly horrible, by human standards. The field needs more research and deeper conceptual understanding, not less.

There may be some problems that can be solved by throwing software/hardware/data at them, but I don't think this is a good paradigm for the big unsolved problems in general.

analog31 3 days ago 1 reply      
It's a nice article, but it overlooks one fact: There needs to be a brain drain out of academia, because academia can't absorb more than a fraction of its own production of talent.
hharrison 4 days ago 6 replies      
This is so true. I'm in a Ph.D. program and everyone around me is wasting so much time by reinventing the wheel every time they need to code something. So I spend my time making libraries to help them out, but then I get scolded because that's time that's not going directly toward getting publications. And few people use my code because they don't trust software as up to the scientific standard unless (a) they spent thousands of dollars on it, a la MATLAB, or (b) they wrote it themselves and, e.g., take a mean by manually iterating over an array, "just to make sure" the mean is calculated correctly. Ugh. It doesn't matter how many tests I an point them to. I can't wait to get out of here and work somewhere where coding is appreciated, where I can actually get paid, and where I have some choice as to which state I live in.
joe_the_user 3 days ago 2 replies      

The situation is simpler.

Academia has become abjectly miserable and abusive in its practices. It no longer offers good but low-paid jobs for smart non-conformists, it just offers it's special brand of misery based on some long-past promise of this.

Given this, only the mediocre stay (and compounding it, anyone who stays has no reason to be better than mediocre). And that is a huge, huge loss to the whole project of the development of human knowledge, something that has a long history in Western society.

rubidium 3 days ago 1 reply      
"I have some serious doubts about whether the project will be able to attract a sufficient pool of applicants for these positions."

Really?? Certainly, academia has its inefficiencies, but if there is an area of academia that has an undersupply of PhD's, please correct me!

calhoun137 2 days ago 0 replies      
I am an example of this trend, having dropped out of a physics PhD program to pursue programming, and feeling great about the decision. There are two points which are not made by the author and which I think deserve to be mentioned:

1.) Scientific research is hard. It is very frustrating to spend all day working on something you can't be sure is going to even work. On the other hand, programming is easy, it's mostly monkey work. Sure there are places where you have to be clever and think things out carefully, but at the end of the day, when you write code it just feels like you have so much more to show than when you do research.

2.) In research, you need to get grant money to do anything, because research is expensive. So much time is then spent writing grant proposals, and even when you get money you still can't do everything you want because it's just too expensive and/or time consuming. I'm not talking about LHC money here, but just the standard money for a professor running a lab in a university.

In programming, you can work on (I'd estimate) 95+% of problems with nothing more than your computer and some old fashioned hard work. There are so many good, free to use open source libraries out there, making it pretty easy to jump into whatever field is interesting to you. Best of all, when you finish a project, there is no need to spend weeks writing a paper about it or any of the nonsense associated with that, you can just publish your code.

denzil_correa 4 days ago 4 replies      
HN really amazes me sometimes. I posted the exact same article with the exact same title 12 days ago [0] and didn't receive much traction. In fact, the only comment on the submission read

    this should have landed on the front page...
Anyways, I wonder if there is any explanation of this phenomena.

[0] https://news.ycombinator.com/item?id=6623501

wrongc0ntinent 4 days ago 0 replies      
Nicely written. A couple of things, somewhat independent of the economic issue: the "big data - dumb analysis" trend is bound to change, it's a matter of time till volume is not an advantage anymore. And the fact that "academia" is by no means a uniform discipline, some fields can only move ahead with the gathering of more data, while other fields need new testable hypotheses more.
marvin 4 days ago 3 replies      
This article has some incredible insights which have gone right past me. Thanks for sharing. I'm currently studying for a Masters degree which is centered on visualization techniques for exploring and analyzing large datasets.

I have found myself thinking many times that a position in the industry, where I can use my teaching, data processing and analysis skills to further some business goal, seems like a much more preferable option than sitting around writing research papers and applying for grants all day. Not to mention that academia pays less and has worse overtime conditions than any industry job I could concievably get.

This article really nails the key issues for why I am feeling this reluctance towards an acedemic career.

kriro 3 days ago 1 reply      
My basic line of argument is fairly simple. If you work at a university and your salary is paid via taxes you have an obligation to make your work available to the taxpayers.

This means the software you write should be open sourced and the papers and articles you write should be freely available.

I'll use the basic idea of this article as more fodder for that argument (it's even more important now because...Big Data ZOMG) in the future :)

I don't fully agree with the thought that writing software and papers are exclusive. With a little creativity you can get a paper or two out of most academic software development projects (granted they won't usually be the A-level "this advances my discipline" kind of papers but one can't only write those anyways imo).

001sky 3 days ago 1 reply      
"Simple models and a lot of data trump more elaborate models based on less data..."

If we make the leap and assume that this insight can be at least partially extended to fields beyond natural language processing, what we can expect is a situation in which domain knowledge is increasingly trumped by "mere" data-mining skills.

This is a great point. For many years, domain knowlege was merely such experience ex ante. In otherwords, the barrier to domain knowlege was access to data. In lieu of this, perhaps theory to estimate it. As data becomes larger, more free, and more amenable to analysis by a larger group of talent the "domain knowledge" itself as a barrier to entry (prestige, effectiveness) seemingly declines. Whle this is in theory good (more access, more analysis), there is probably a corralary that we should expect turf-wars and restriction to access, as those previously in positions of privledge fight to retain their status as "keepers of the keys".

otikik 3 days ago 0 replies      
> We always come across reports of how much talented Indians are and are conquering the world in the field of technology & business.

Um, I don't mean to be offensive, but I have never heard that.

robg 3 days ago 0 replies      
I'm an example of this trend. I trained for a decade in big data for neuroimaging. Then I realized I was working long hours with little upside beyond my own curiosity. I certainly wasn't changing the world in any tangible way. I had originally gone into neuroscience to understand my family's history of mental illness. Ten years later I was helping no one - not even myself.

I'm not convinced Big Science is in trouble though. Those who have the motivation and talent to stay in the academy will continue to do so. Yes, outstanding people will be lost but Science can progress from their contributions to commercial efforts. Geoff Hinton ends up at Google but we'll keep hearing from him the best use of his talents - the improvements to products we all use every day at a massive scale.

nn3 3 days ago 3 replies      
Re underpaid researchers:

The part that is always unclear to me is: there is lot of evidence that research/university budgets are growing at a high rate. Where does all that money go to. It doesn't seem to go to the people who actually do science.

That seems to be the fundamental problem here.

throwawayBio 3 days ago 0 replies      
Compensation is a huge issue. Unlike pure biologists, computational scientists have plenty of job opportunities outside of academia and pharma.

As a staff programmer at a prestigious institution, I was making about $50k. I left for a large company and a few short years on I'm at around $200k.

nekopa 3 days ago 0 replies      
My biggest worry is that it's not science that is in trouble, it's humanity as a whole that is in trouble.

The drain towards industry is to solve industry's problems: make a profit. And yes, these can be extremely interesting problems, and hard ones too.

But what would our current world look like if the scientists from the last 500 years had bent their minds to solve the problems of merchants? (and don't get me wrong, some of the problems merchants had evolved great solutions for mankind)

michaelochurch 4 days ago 0 replies      
Scientists in actual science are seriously underpaid, but there's a case of the Teacher-Executive Problem that's going to make it hard to fix that (http://michaelochurch.wordpress.com/2013/11/03/software-engi...). The more useful you are, the more need there is for many of you (individual "rock stars" are overrated in the real world) and the greater the implicit multiplier on improving your salary. Increasing scientific pay is has a bigger cost load than increasing executive pay because we actually need scientists (or teachers, in the original formulation of TEP) in significant numbers.

Society has reached a point where the academic route means practically begging for a job that won't even pay for a house, while the startup lottery offers, at least, a chance. (And finance, better yet, offers a high likelihood of being well-off.)

saraid216 3 days ago 1 reply      
I haven't read Wolfram's A New Kind of Science, but something tells me that this is a one page summary of it?
Why are Amazon, Facebook and Yahoo copying Microsoft's stack ranking system? 25hoursaday.com
188 points by nickmain  1 day ago   164 comments top 24
calinet6 1 day ago 12 replies      
Here's a question to which most people experience revulsion, but must be thought of and answered honestly:

Why not give everyone the same bonus based on company performance? Make it collective good.

You'll probably think of reasons, like "good people should be rewarded," or "people who do things wrong need to have consequences," but you must realize the alternative is this vile demotivational anti-pattern with even worse consequences.

The right way is to align the company goal with the individual goal, and do it simply and clearly.

American companies need to understand and follow Deming's principles (http://en.wikipedia.org/wiki/W._Edwards_Deming#Key_principle...), or we'll continue falling into the soul-sucking black hole we're already halfway into. He already knew all of this, every bit of what we're experiencing, and our objection to his ideas is nothing more than an ideological almost religious belief that the most effective way to motivate individuals is to rank, rate, measure, and reward them accordingly. In fact, those archaic methods of management only serve to demotivate and systemically destroy culture and productivity alike, and reduces the quality of whatever you produce, be it innovation or physical products.

We know this. Deming's ideas work. They are truth in writing, and knowledge in practice. He pulled Japan out of a post-war recession and made them legends of quality production for pete's sake. Why can't we learn?

brown9-2 1 day ago 10 replies      
The evil, destructive, part of stack ranking is when you need to apply the 20%/70%/10% breakdowns to all teams equally, meaning that even a team of 5 people needs to have one and only one "exceeds expectation" person and one person who "needs improvement", regardless of overall team level. It's not clear from this writeup that Amazon and Facebook are applying curves at such a micro level.
mseebach 1 day ago 3 replies      
So, the obvious pathologies of the Microsoft stack ranking model aside, what are the reasons that a company will want to do this?

The main reasons I can think of has to do with the dangers of getting comfortable in a large company.

It's very easy for a lazy manager to just hand out "A"s to everyone on the team and just cruise along. Slackers are poisonous, but painful to deal with for a conflict-shy, comfortable manager. Actually being forced to think critically about which of your employees are the top performance, and which aren't (and it's a mathematical fact that they're not going to be the same) is a useful tool to keep such a manager on his toes.

Another effect is simply to encourage a certain rate of churn in all teams, to get some fresh blood flowing through the system.

Stack-ranking directly forces the manager to use his human capacity for critical thinking to evaluate his employees, and in such is a useful distraction from that even more disastrous evaluation method: Objective metrics (hours worked, lines of code committed, bugs closed, sales numbers etc).

xal 1 day ago 8 replies      
So what's a better way to do it?

You need a documented system. If you don't have a documented system then there will be an undocumented system which is the same problem with less documentation.

ripvanwinkle 1 day ago 2 replies      
Isn't there a fundamental difference between the FB rule of restricting the top rating to just 2% of employees and the Microsoft rule of decreeing that there must be a bottom 10% of "poor quality , less talented, undesirable elements" in the workforce.

The FB system doesn't make the non 2% feel rejected and unhappy - it just makes it very hard to be crowned the superstar which I think most people find perfectly acceptable.

To address the relatively longer period of MS employee retention, Microsoft employees (esp the technical ones) in general work on a set of technologies (C#, NT Kernel, SharePoint,...) for which MS is the place to be. They build up expertise and then if they have to leave to join a comparable company, they need to rebuild in a different set of technologies most likely open source stuff of which there is very little in Microsoft.

Now if you are a Linux kernel hacker / Python guru/... at Google/Amazon the world is your oyster - everything you are good at transfers readily to companies/roles of similar stature outside.

Its almost like Microsoft technologies are a moat around its castle that keeps talent from leaving.

full disclosure I worked at Microsoft for about 7 years before leaving.

grumps 1 day ago 0 replies      
Standard Big 4 Consulting implementation. It provides value for a few years until employee realize that it's a lot easier to:

1. Get a job elsewhere2. Hide in mediocrity because the effort to achieve a high ranking is greater than the reward by a lot.

In my personal experience with force ranking systems, is that it also drives politics within the organization. As an example:

I once was skipped a promotion because when we went to demo a unit the shipping department did a poor job packing the prototype equipment that I had just spent an entire summer building. Due to the packing job, a single RS-232 pin because slightly unseated causing intermittent behaviors for one of many features. It was still the most successful demo the company had ever given. So success we received a request for pricing the Military 24 hours later, which is unheard of. Despite this the Chief Engineer blasted me for the failure, and our inability to find the issue on site (mind you he was there too). When I brought this up at my review I was indirectly told by my boss that he didn't agree with my rating/rank but it was over his head. After that, I practiced both Items 1 & 2 but discovered that my new company also followed this practice. So it was a rinse and repeat to make sure force ranking is not within my new companies.

joe_the_user 1 day ago 0 replies      
Facebook is the company that surprised me here.

Stackrank seems like umpteen other methods whose ultimate aim is to vacuuming people dry and discarding them. This "works" in the sense that if you can't motivate someone with the challenge, excitement and etc of working for you, there's always money, fear and the-other-etceteras.

Yahoo and Microsoft have lost all cachet to their workplace, and Amazon has always been innovative in the "our engineers have calculated exactly the profit made from turning off the air-conditioning in warehousing and legal has drafted the matching don't-ask, don't-tell contract" sense.

But Facebook using this seems like an indication they've reconciled themselves to being on the way down. That was quick.

lifeformed 1 day ago 1 reply      
My impression that these types of systems are more for culling than accurate performance review. Perhaps they need to drop a certain percentage of employees by some target date, and this is the most blame-free way to do it on a large scale.
progn 1 day ago 4 replies      
Eh. I'm in Facebook bootcamp now. Between this article about the ranking system, a truly uninspiring (to me --- YMMV) choice of teams to work on, and the press Facebook has been getting lately, I'm seriously considering parting ways and going somewhere else. Nobody can beat Facebook's pay or food, but what good is it if I feel like I lack direction and purpose? How much would it damage my career to say I tried FB bootcamp and didn't feel it was a match?
bmohlenhoff 1 day ago 0 replies      
Because it's easy and everyone else is doing it. Next question?
cnahr 1 day ago 1 reply      
It seems to me that stack ranking can only work for companies that are so attractive for new talent that any new hires are likely to be more valuable than the lowest-ranked current employees. Once a company is no longer so attractive, as seems to be the case with Microsoft today, you're actually pushing out better talent in exchange for worse.
SteveJS 1 day ago 0 replies      
"one person cannot be evaluated and paid in isolation of budgets" - SteveSi is just wrong on this. This is only true if you have a policy of highly differentiated pay for short term performance and/or have an "up or out policy". ... both of which are in effect at MS.

You can argue it's a bad idea not to have one or both of those policies, but it is certainly possible to have a review system based on what one did, rather than based on the necessary political fight over cutting up the budget pie.

michaelochurch 1 day ago 2 replies      
Why do these companies have Microsoft-style stack-ranking systems? Because many engineers are pussies who don't fight for themselves.

Imagine if that stack-ranking nonsense were done to a law firm. (Law firms have a very civilized way of managing people out into external promotions if they, after ~6 years, obviously aren't going to make partner. Google "Cravath model".) There'd be lawsuits galore. Attorneys would start legal process just to get embarrassing details (about said stack ranking, perhaps) into the public in discovery. Why? Because they (including the female ones) have balls.

Doctors and lawyers would never put up with MSFT-style stack-ranking. Bankers find clever ways to subvert and abuse it when it is imposed upon them.

But there are a lot of engineers who are just cowards, unwilling to stick up for themselves.

Example: in many companies, negative performance reviews are part of the transfer packet and impede mobility. Being (again) pussies who don't fight for themselves, many engineers just assume that's how things work. No, it's not. You can actually build a legal case on that alone. It's harassment (interference with job duties, here interpreted as using internal mobility opportunities) and already the start of a legal case-- if you get your shit together and start documenting. Use the right words and the bad review will go away.

Stack ranking isn't technically illegal, but if it renders immobile people who perform in good faith (i.e. don't flagrantly blow off job requirements) it does leave the company civilly liable for harassment charges-- interference with job duties. If software engineers collectively grew a pair, it would fall down within minutes.

anonymous 1 day ago 2 replies      
I'm more interested in why employees don't band together to game the system and ensure a given outcome, then split the winnings. Like a sort of a pyramid scheme - you and a buddy agree that this quarter it will be you who gets promoted and split the bonus/raise with your buddy. Then you get a third buddy and get him in on it if he agrees to let the second buddy be promoted this quarter. Now you're splitting 3 raises among 2 people. Then you get a fourth buddy in and promote the third one and so on. The system ends once the group has too many people at a high position. At that point any new employee joining the company at a low position is screwed, probably. Also at this point infighting will probably break out from people who don't want to split their raises with the ones with less money, given that they don't have a way of advancing any further. Obviously the only way to win at this is to be the very first person who, after everybody leaves, gets left with the highest position and highest salary. Which is why I called it a pyramid scheme.
WalterBright 1 day ago 0 replies      
> Why not give everyone the same bonus based on company performance? Make it collective good.

That pretty much happens when companies routinely provide stock to the employees.

grandalf 1 day ago 1 reply      
Inevitably some percentage of hiring decisions were flawed, either that they underestimated or overestimated the candidate's potential.

These kinds of ranking systems are a mechanism to correct for that error once there is a lot more information known about the employee.

gum_ina_package 1 day ago 1 reply      
The title of this post assumes MS's stack ranking system is bad. Based off of personal experience, MS has dramatically improved how they do stack ranking. All companies stack rank, even startups. The only difference is that when that is formalized, everyone is on the same page and culture is more transparent.
amaks 1 day ago 0 replies      
"Although there isnt forced ranking in place, it does looks like Google one-upped Amazon in making it difficult to climb up their corporate ladder by having a promotion process based on pleasing everyone."

This is not true. First, I think it's great that promotion-readiness is decided by an employee and not her manager(s). Second, when promotion packet is written, it gets reviewed by a promotion committee, most likely in another campus, and there is a very high likelihood that promotions are granted more objectively compared to the manager's peers (and up the chain, depending on a target level like it's done in Microsoft, long before peer feedback is written). Promotion committee decisions get reviewed and iterated to satisfy the promotion budget, and those lucky ones who meet the bar, get promoted. Sounds like a pretty fair system to me.

andrewkreid 1 day ago 0 replies      
The main takeaway here is that large companies have large-company pathologies. If you don't like that, work at smaller companies.
winslow 1 day ago 0 replies      
I recall Valve having a stack ranking system as well? I haven't heard anything bad about their ranking system though. Maybe it is different considering the lack of managers with the flat culture that makes it better.

EDIT: Article I found on MS vs Valve stack ranking.http://www.jpuddy.net/2012/stack-ranking-to-gain-team-insigh...

amaks 1 day ago 0 replies      
Of course there is a curve in all companies. The question is of interpretation how review scores get assigned (stab in my back and lunches with manager's peers like in Microsoft and perhaps in Amazon), or based on a peer reviews like in Google. Besides, to the best of my knowledge there is no fixed bottom 10% (or any number of percents) in Google/Facebook which ought to let go after each review period, compared to Microsoft.
unsupak 1 day ago 0 replies      
It depends on whether there are any checks so that such ranking systems are not abused. I know first hand that such systems are ripe for abuse by those who are connected. I know of an incident when a well connected long term employee performed very poorly and was put in the weeding out category. However because of his connections with Vice Presidents was able to engineer so that someone else was given his place in the ranking and fired. In a way a person was specifically hired to that team, reviews were engineered to give him a bad review in order to remove the well-connected but badly performing manager from the bottom list. This was not uncommon and would happen invariably in order to save the well connected but poorly performing person.
mbesto 1 day ago 0 replies      
SAP is too!
brosco45 1 day ago 0 replies      
Because they hired Microsoft managers.
Dear Facebook: You Suck refheap.com
187 points by Killswitch  3 days ago   143 comments top 42
benihana 3 days ago 10 replies      
I hate these kinds of posts. It's a guy who thinks he knows more than he does trying to tell the most successful social network in history how to make things 'better' for an extremely tiny sample size that he thinks is much more significant and representative. It's just so arrogant and short sighted and comes at it from such a limited perspective. That's bad enough, without it being coupled to the fact that facebook is completely free and optional and no one is forcing you to use it.
calinet6 2 days ago 1 reply      
I realized a while ago that they're really not trying to provide a good UX anymore. There are some complainers, but most people are locked in and mostly enjoy it. If you're smart you block people and prune your friends list wisely.

But then that damn news feed sort order keeps popping back to the default sort order... "Top Stories." It's a tiny little link; just large enough to exist. When the default is selected it just says "Sort". It's designed to be ignored. A UI anti-pattern used with intention. If they could remove it without a revolt, they surely would.

Facebook doesn't want you to have a good user experience: Facebook wants you to have a Facebook Experience. One that they control and provide, with information they get to choose, and other people get to buy. News stories are bought and sold and "Top Stories" is just another way to let them insert whatever the hell they want above the fold. That space goes to the highest bidder, or the highest generator of ad revenue, or the most viral stories they've algorithmically decided to enhance. It's a method of control designed not to improve the experience, but to forge the great machine and make it a more efficient way to guarantee a value proposition.

It's simple really. And it's not so bad, in the end. People have been complaining about TV commercials since their inception, but they're widely accepted and more valuable than ever. Facebook is just taking its place in the economic reality of media. They've grown up.

matthewmacleod 3 days ago 4 replies      
Okay - you've identified one particular scenario where Facebook didn't correctly work out what was important to you. But I'm curious to to what you think "let it be natural" actually means.

We can immediately discount a nave timeline of events. Say events will appear in the timeline when they originally happen that's not going to work, because it's be buried within an hour or two, regardless of the importance.

Maybe events' places in the timeline could be based on when they were last "updated", as in liked, commented on etc. that's probably more appropriate, but raises prioritisation questions. And let's say somebody catches up after a week, and comments on an older status - does everybody need to see it again?

So something more complex is required - the simple timeline's no longer appropriate, even in relatively straightforward cases, given the volume of friends that many users have. It seems pretty obvious then to build something like a friend graph, with edges weighted based on e.g. frequency of interaction and mutual friend count, and use that to weight news items. As far as I know, that's what Facebook is doing.

Personally, I do prefer the simple timeline but that's because I've been using Facebook since it was first available at my university, and I don't have a huge friend list. But I appreciate that's probably not applicable to most users, and when I do look at my news feed, it does seem to do a pretty good job of prioritising things I'm interested in - especially if you engage a little bit and downrank/hide posts that you don't want to see.

patrickaljord 3 days ago 2 replies      
Reminds me of this article from a week ago about how google maps sucked because it failed at a particular coffee shop query in SF a gentleman that happens to be a techcrunch writer did. Google Maps and Facebook are amazing services that try to guess what's more relevant to you and most of the time get it write. This in itself is a pretty amazing achievement. This is what we should be amazed at, not these few times those services get it wrong. The level of self-entitlement is high here, especially that we're talking free web services here. The day they always get it right is the day we get human like (edit: or rather god like mind reading) perfect AI, not happening any time soon guys. So in the meantime, relax and enjoy the show. Or stop using these services if they're that bad, or even better, build your own.
moron4hire 3 days ago 0 replies      
I think we're stuck in a culture of "friend scarcity". When meeting people in meat-space, you don't have the time capacity to be able to make deep, meaningful relationships with a lot of people. Facebook gives the illusion of giving you more time to engage friends on a deep level. You're not socializing in a work setting, you're chewing the fat over goofy cat pictures. You're (ostensibly) keeping up with "how are the wife and kids". And because our brains are wired to expect that to be a scarce resource, we gather as many "friends" as we can on Facebook.

It's also probably a learned response from us having gone through the early days of social networking. There just weren't as many people total on the internet back then. If there was a person you knew and they also had internet access, and they also used Facebook, it was somewhat more of a rare thing than it is today. You friended them because, again, you understood the Facebook friend to be a semi-scarce resource and human brains are hardwired to hoard scarce resources.

So now that we live in an era where sugary, salty, fatty foods and Facebook friends are no longer scarce resources, we gorge ourselves on them and have become obese as a result. "Facebook-friend-fat".

Sounds like it's time to cut out the empty calories and start exercising. Get rid of the people who post vapid shit, regardless of how well you think you know that person (how many times do we hear people make excuses for not eating better because it's uncomfortable?). And start posting better content of your own. One tends to get out what one puts in.

hawkharris 3 days ago 3 replies      
There are two types of social networks: the ones that everyone complains about, and the ones that no one uses.
moron4hire 3 days ago 0 replies      
If only there were a messaging system that was A) standardized, B) available world wide, C) decentralized from the control of one corporation, D) available on every platform, D.2) with instant notification on mobile devices, and E) everyone was already signed up for.


As far as I'm concerned, the only reason people like Facebook is because the email listserv is not very discoverable. Sometimes, you want to be included in the stream by default but don't want to participate right away. An email chain is too easy to exclude people.

I use Facebook only insomuch as I have friends who use it and send me messages through it. Most of my "social" interactions through the internet are through email now, with groups of friends setup on lists so we can tune in and out as we want. It's easier to search than Facebook's past, too.

k-mcgrady 3 days ago 2 replies      
Facebook ranking posts is something that IS needed - they just need to do a better job. I bet you'd see a lot more shit if they didn't bother ordering stuff.

>> "Stop what you're doing and just let it be natural."

If they did that you would probably miss a lot more stuff. Nobody wants to have to scroll back through their timeline to catch up on the important stuff they missed, and they don't want to have to wade through a ton of crap to find the important stuff.

xpose2000 3 days ago 0 replies      
Sounds like the author wants facebook to improve its popular posts algorithm and gave a great example of where it failed.

Very fair point, but why not just say that?

sakopov 2 days ago 0 replies      
I'd have to agree. Facebook is becoming the same trash that Myspace used to be a few years back. They seem to struggle even with ads. I don't know how many times I've logged into my Facebook account to see a Software Developer ad with a picture of a big ass/boobs next to the description. Their suggested posts are nothing but advertisement spam which has nothing to do with my likes and interests. Enter Google+. An entirely different experience. If anything, G+ feels more personal. Suggested posts are from users like me posting something worthwhile and interesting. My newsfeed consists of great content every single day. It seems like Facebook is already losing teens. If they don't realize that the chase for money has gone too far, they'll start dropping everyone else as well.
foresterh 3 days ago 3 replies      
I don't understand why people are "friends" with people they don't care about seeing updates on. Or why they don't ignore them. But I don't really use Facebook anymore so maybe that's not an option?

Try Google+... You choose who you want to see, and they don't have to choose to see you. Such a better way to get information you want. And circles and communities make that so much more useful.

Of course it probably helps that most of the people that spam Facebook with games they play and emotions they describe don't use Google+. Or I should say most people don't use Google+.

jdabgotra 2 days ago 0 replies      
You knock it off :)

Facebook is a for-profit company and you've agreed to their user agreements. They use proprietary software, they store your data, and they aren't liable to what happens to your data, much less liable for keeping you happy in exchange for you doing absolutely nothing but consume.

You aren't entitled to anything from them. Stop using it if you don't like it. Use something else or create something else. Life is not going to be served up for you on a platter without you doing anything for it, from the government, much less a large corporation which has no accountability towards you, who so blindly signed up, supported and agreed to let over all your personal content and social connections over to a for profit company. I'm confuse as to how people can feel this entitled without deserving anything due to not putting any work or ethical and moral reflection on how you use the Internet. Knock it off.

Sorry, your letter pissed me off. It pisses me off that it is #1 on Hacker News right now. Knock it off, everyone. I am a very liberal person but this sense of entitlement from middle class Internet users has to stop. It is the reflection of a society that consumes far more than in produces.

Excuse my rant.

mcgwiz 2 days ago 0 replies      
The root problem is not that Facebook is trying to maximize it's sustainability, or that this guy wants something for nothing, it's simply that for years, Facebook effectively set very clear expectations in the minds of users, and then stopped meeting them.

This, of course, is common with consumer web startups, where the prevailing wisdom is "grow Grow GROW!! ...and worry about monetization later". That's great only if you're gunning for a flip or acquihiring. Good to signal monetization intent, and how that might affect the experience, early. (Best to actually try monetizing early.)

kalleboo 2 days ago 0 replies      
I find Facebook's bozo filter actually works pretty well to filter out the crap I don't care about. That shift along with a few hints of "don't show this person on my news feed" has turned my Facebook from a cesspit to something that's not a chore to browse through.

The thing is, one one hand you have people complaining about all the trivial stuff they don't want to read invading their news feed, and on the other hand you have people complaining that Facebook are filtering their news feed too heavily and they want to see EVERYTHING. It's a difficult balance to make, and I'm sure they're continually tweaking it back and forth to find an equilibrium. The filtering/ranking has also gotten a LOT better since they first introduced it, when I was reaching for the "show in chronological order" button all the time.

hvass 3 days ago 0 replies      
There is no reason this should be trending as #1 on HN. A quip about Facebook's algorithm not getting a post right on time in front of you - and? What's the takeaway? What are the insights?
rebel 3 days ago 1 reply      
This is why I've started using Twitter more. All I want from my social media feed is a quick update on what my friends are doing. Twitter is simple and to the point. Facebook has evolved to a point where it's terrible for real-time communication, but it's the absolute best way to see someones history over a longer period of time. If I meet someone new I'd learn a lot more about them from their Facebook compared to their Twitter. I believe there's room for more than one social network and I think Twitter and FB have found non-competing paths.
BrandonRead 2 days ago 0 replies      
I have always loved computers and the internet.

But now I am frustrated with my use of the internet and the interconnectedness of everything. I dont like being a node in a graph full of properties, incoming, and outgoing edges. I dont like being inspected everyday, by the companies with the wealth to do so, like I am an anonymous bug in an experiment.

I dont like brands anymore. Even if the companies have great people, I still loathe a brand name. Its embedded; they spread it like an infectious disease. It pervades all spaces of the web. Of my webmy web personalized for me. They tell me what I need. I dont tell them. Because the algorithms are smart, really, they are. But they are blind to what mattersto what matters to me.

Maybe I am the sum of my likes. Maybe my interests help them learn so they can bring me the things they think Ill like.

It only makes it worse. Everything is too familiar, too formulaic, and all very much the same. For communication, I love the formula. Messages are sent to every different type of person you can imagine, and they can all understand perfectly well. But it is the message that is the problem. The message, as I said, is always the same. Its a tagline, a service, and a subscription fee.

Our technology is a burden to psychology. Within our society, it is a weapon. Its a tool. And its digging up and targeting you. The technology needs a divorce if it will help. It needs to divorce itself from corporate wealth, from unregulated self-interest that harms people. People are hurting and people or mourning, and people wake up in the morning with no hope for a future but keep on going because thats what they were told to do.

I wrote this yesterday and I was so delighted to see something so similar at the top of HN this afternoon.

tomasien 3 days ago 0 replies      
Anytime Facebook and Myspace get compared, I tune out immediately.

They have nothing in common, Facebook ate Myspace's lunch when it was 10 million users, this has nothing to do with what may kill a network with the entire US and 1 billion ACTIVE users. We have no idea what, if anything, will kill Facebook.

jeffehobbs 3 days ago 1 reply      
Well, yeah. It's awful. Don't use it.
forgottenpaswrd 2 days ago 1 reply      
Dear Nobody:

There are two kinds of people: people that do things(good or bad) and people that don't.

People that don't do anything love to criticize those that do. You will find them criticizing how bad other person dances in a party, but of course you won't find them dancing as is risky for them.

Well, yes, facebook sucks, but as the most important social network on earth, they suck less than the alternatives. If you have a better idea you are free to do something about it.

cormacrelf 3 days ago 0 replies      
I'm still a teenager, and though I have deactivated my account for exams, Facebook has been a large part of the culture among my friends and within my school.

I maintain that the best thing about it was text posts. People had a go at being witty or relevant or informative, and it seems everywhere you go on the site these qualities are suppressed. Text posts are truncated and offer a See More button, and images and other easily digestible content are prioritised.

This has two important effects:

=> News feeds are much quicker to skim, and are much less substantial, which leaves you unsatisfied even when you've seen everything new, so you stick around. I admit this is pretty good monetising strategy on Facebook's behalf.

=> People start moving to services which imitate the fast flash of attention model promoted by the news feed. That's Snapchat, for example. I feel similarly dissatisfied finding out that Alice and Sally got fake-Facebook-married-but-really-just-BFFLs-still for the sixth time as I do seeing some guy who's not really my friend doing a random snapchat of his mock-surprised face.

It strikes me that so few of my daily interactions online make me feel in any way connected. The best ones are still just talking to people via text or chat, and frankly I feel more connected to @ryanpequin, the comic artist who tweets with brutal honesty from the other side of the world, than most of the friends I see a few times a week.

I think Facebook almost hit the nail on the head regarding what teenagers wanted. They live in highly structured communities (schools) and Facebook made it easy to keep thoughts vaguely within communities simply by showing them to people via algorithms. Unfortunately now it doesn't have the same charm, and many of the people I know feel the same. But all our friends are on it, so we stay.

ibudiallo 3 days ago 0 replies      
Recently I was using google and facebook and despite all the whining we do, these are pretty good services. I even wrote about it[1]. Sure there is the privacy issue but cases like this post just make me angry a little. They find the tiniest error and make a very big deal about it.

[1] http://idiallo.com/blog/2013/11/privacy-aside-damn-good-serv...

vacipr 3 days ago 1 reply      
It's your own damn fault.This is what happends when you have too many useless friends on facebook.Start managing your newsfeed.
joebo 3 days ago 0 replies      
Is it possible to sort my feed by # of likes or # of comments in facebook? I see "sort by top stories", but I don't think that does it. It seems like more control over sorting and filtering would help.
sidcool 2 days ago 0 replies      
It's a very subjective article. I don't disagree totally with the sentiment behind it, but facebook is working hard pon retaining people. It surely do not want to lose users to messaging apps like WhatsApp etc., as reported by a recent article. I am sure they have the talent to bring something out new to keep people hooked.
bostonscott 2 days ago 0 replies      
I agree with the author, and i'd like to add privacy management to the list of things they suck at. The privacy setting experience is convoluted and not intuitive. It seems they've just continued to add new privacy features without thinking through the goals and objectives of various user-segments. Who has 60-minutes of free time to sort through all their options and nuances?
chrisweekly 2 days ago 1 reply      
What is the deal w the horizontal scrolling required to read the text on that site? "I'm a web developer" creds badly damaged if you can't present static text legibly on an iphone 4s. Didn't read the whole article, annoyed by both content and presentation. FB might suck but you aren't convincing anyone.
camus2 3 days ago 0 replies      
Dear OP: you sound like a spoiled teenager. i'm not even going to read your blogpost.
djhworld 3 days ago 0 replies      
This is why I deleted my facebook account about 8 months ago.

Never looked back.

circa 2 days ago 0 replies      
I feel very similar to this post. I used to enjoy browsing Facebook. I rarely bother with it other than messaging.

Twitter I have used since 2006 and still use it just as frequently as a few years ago.

Havoc 2 days ago 0 replies      
Not much money in dying moms unless you're an oncologist.
wickedOne 3 days ago 1 reply      
just wondering how good a "best friend" is when you rely on facebook status updates to keep in touch with her i might be old fashioned, but what happened with speaking to / seeing people irl?

"My 3rd cousin whom I haven't seen since a family reunion 10 years ago"so why is she in your feed to begin with?

to me this all sounds like a rant from someone blaming a website s/he's socially awkward

joeblau 3 days ago 2 replies      
Sounds like you need the Facebook 300 diet or #FB300D. Delete all but the 300 people you actually care about. I cut my users down from 900 and my feed has been a lot better.
sTevo-In-VA 2 days ago 0 replies      
Before I ditched facebook I got really good at using 'Adblock Plus Select an element to hide'.

After my class reunion I thought to myself, 'Do I really care about Mary's crafts, Farmville, and do I need people I hate prying into my private life?'.

So I am currently facebookless, lindedinless, & twitterless and don't miss the noise for a second.

babuskov 3 days ago 0 replies      
It seems to me that the first "mother" on line 17 should be changed to "friend".
darkbot 2 days ago 0 replies      
This the reason why I too hate Facebook. I've switched to Diaspora*, while being far from perfect it does at least not bury important stuff with some shady algorithm.
cmac2992 2 days ago 0 replies      
Wait... You want it to to be natural? That means you would likely have never seen that post with all the likes. The likes would have been irrelevant on a chronological news feed.
bestest 2 days ago 0 replies      
it's funny how people rant about things they don't understand and don't even try to understand them.

getting relevant stuff on your news feed is trivially simple on facebook, you don't even need to major in anything.

dysinger 2 days ago 0 replies      
Dear posters that post things like this: Did you delete your account? No? You Suck. Just delete your FB account. You'll feel better.
bestest 2 days ago 0 replies      
on the other hand though, it looks like someone needs to create a "Facebook Manual", for the ones unable to configure their news-feeds.
slvn 2 days ago 0 replies      
facebook? i have never been on facebook, but i happened to access my g+ 'home' page today (from another computer) and it was full... i usually don't go there it did not feel like 'home' at all...
       cached 13 November 2013 16:11:01 GMT