U.S. To Ban Laptops in All Cabins of Flights from Europe - <AUTHOR> http://www.thedailybeast.com/articles/2017/05/10/u-s-to-ban-laptops-in-all-cabins-of-flights-from-europe?n=1 <comment><USER3> Previous discussion from 10 hours ago: [https://news.ycombinator.com/item?id=14311073](https://news.ycombinator.com/item?id=14311073) (56 points, 19 comments)

</comment><comment><USER4> OK, fine, so I just won't travel to the USA anymore. I'm sure I don't want my laptop to end like my suitcase (which has been seriously damaged somewhere between the Europe and the USA airports).

There are so many more interesting places in the world. If the USA doesn't want my money, I think that's not my problem.

<comment><USER5> The only relevant quote in the article is:

> _DHS said in a statement to The Daily Beast: "No final decisions have been > made on expanding the restriction on large electronic devices in aircraft > cabins; however, it is under consideration. DHS continues to evaluate the > threat environment and will make changes when necessary to keep air > travelers safe."_

The ban may happen, but at this point we don't know.

</comment></comment><comment><USER6> No worries. For a few hundred dollars, I'm sure you'll be able to register as a certified patriotic laptop carrier. Everything will go back to normal and the airline will get to collect yet another fee for something we used to get for free.

And we're totally safer from terrorists as a result.

<comment><USER7> Don't forget about the extra revenue for the airlines from selling more movies on seatback displays.

<comment><USER8> What seatback displays? Many airlines (the US3 at least) are moving towards the WiFi+bring-your-own-device model.

<comment><USER9> The ones that you fly long distance with, like say from Europe to Australia.

<comment><USER8> The US3 (American, Delta, United) are moving towards BYOD even on long haul. Some foreign carriers are as well.

[http://www.airliners.net/forum/viewtopic.php?t=1358839](http://www.airliners.net/forum/viewtopic.php?t=1358839)

</comment></comment></comment></comment></comment><comment><USER10> Flying is already such a dreadful thing. Even a one hour flight takes 5-7 hours when you count in all the extras. In my experience, a 1 hour flight like London - Brussels, is not much faster than a 7 hour flight like London - <USER2> York. Airports are a text book study in what monopoly and fear mongering politicians do.

\- On the day of the flight you go from your departure city to the airport somewhere far away in the outskirts. That's easily an hour, in places like New York or London it can be significantly more.

\- Depending on whether it's a domestic flight or an intercontinental flight, and depending on the airline, you are asked to show up anywhere from 30 minutes to 3 hours before the flight.

\- In the airport, you sometimes go through four or five or six lines where you are checked; There is a check in, might be baggage drop, there is security, passport check by, check at the the gate, and sometimes even again when entering the airport.

Once you are through security you are forced to spend time in what is basically an overpriced shopping mall but dragging around your coat and carry- on.

If you fly with a budget airline, or if you fly to America, you are often forced to wait in crowded waiting areas at the gate, usually without seating for everyone.

Sometimes you are stuffed in a bus that takes you from the gate to the plane. These busses are literally stuffed like a Japanese metro.

On the plane, you often wait in your chair before takeoff because a connecting flight with passengers has not arrived on time or because the runway is too full.

The flight itself is rarely comfortable, but that's the necessary part of the trip. Most flights could not be much faster than they are, except on long distance flights if supersonic planes were allowed.

At the arrival, you sometimes wait again at the tarmac.

Then you go through passport control again.

You warit for luggage.

And you need transportation from the airport into the destination city.

Upon arrival, you have spent what amounts to a full working day or more, even for short flights, and you are exhausted. If someone could take away all the assaults on passengers that the whole airport experience is packed with, flying would be much better, with or without your laptop.

<comment><USER11> What do you think could be improved/changed in the future?

I agree that the process is overly tedious to an unnecessary degree. I have read that test have shown that TSA security( or check-in security in general) is more for show (providing sense of security) then actually being effective. In addition to that the statistics even say that risks of airplane failures are far lower then other risks.

Yet there seems to be a trend in banning and restricting more and more from airplane travel. And many people, that I know, think these restrictions are good.

<comment><USER10> Given that today's airplanes need several km runway to take off and to land, and that people often need to transfer from one plane to another, we are probably not going to have many more airports per city than we already have in a foreseeable future.

But if an airport terminal could just be a series of small waiting rooms, one for each plane, sort of like today's gates but where where you met up directly at the gate with your luggage 30 min before. Then everything from passports to tickets, to body scan and luggage, was checked once, just once, and then you boarded the plane through at least two jet bridges (front and back on a normal plane). End of story. Those who wanted could show up an hour before, and they would get a small rebate and not have to wait in line, and those who wanted could show up 30 min before, and they would pay a little more and wait in line. And the plane should not wait for anyone who's not there 30 min before takeoff.

Could you board a standard narrowbody plane with 150-200 passengers in 30 minutes (if none of them opted for early boarding)? Two jet bridges, each with at least 2 security lines with scans/pad downs of passengers, a couple of luggage dumps with scans of luggage (I imagine it could largely be done automatically). A normal narrowbody plane with 150-200 seats means each line should handle 75-100 passengers in 30 minutes. That's around 3 passengers per minute or 20 sec per passenger. Should be possible. But I think many would opt to meet up shortly before and save a bit of money.

Same in the other end. You would pick up luggage directly at the plane, and have your passport checked immediately as you enter the terminal.

Much of the waiting in airports is because airports want passengers to mix up in the shopping mall before check-in and takeoff.

<comment><USER12> There are airports which have something like this, but generally it's very expensive to maintain so many separate security checkpoints.

In the US, the Kansas City airport was originally designed and built before any type of security checkpoints were present in airports, as a series of horseshoe-shaped terminals. Now, each terminal is internally divided into groups of a few departure gates each, and each one has its own security checkpoint. This is extremely convenient for people coming to the airport -- when I lived there, I could arrive 45 minutes prior to my flight, knowing I would get through security and be at the gate by 30 minutes before departure (which is when boarding begins). On the other hand, there are very few amenities beyond the checkpoints; toilets had to be installed, and there are a few counters selling food, but only one area that I know of has a real restaurant available inside.

And it will almost certainly be torn down and completely rebuilt with a centralized single security checkpoint, because operating it in the current setup is too expensive.

</comment></comment></comment></comment><comment><USER13> Yet another reason not to visit the US... I wonder how many billion dollars the current administration will cost the states.

<comment><USER14> At this point it's not about the current administration, it's about the trend line over 3 administrations. In choosing to do business in the US, I'm introducing a dependency that will last for several years at least.

For my own work I've had a preference for non-US clients for several years now.

<comment><USER15> The most shocking thing to me personally is that Americans seem to think these developments are new, radical changes to the course of American policies.

I wonder how many of these things would have been possible without all the groundwork laid since 2001 (e.g. the Sept 2001 changes allowing the POTUS to call military strikes without Congress approval, the PATRIOT Act enabling mass surveillance, the ridiculous growth of the TSA security theatre, the creation of the Department of Homeland Security, etc etc). I guess it's easier to just blame the status quo on the elected buffoon than to acknowledge the overall trajectory of US politics.

<comment><USER16> That's been building for 50 years. Lookup the "Project for a New American Century"... and that's from the nineties.

At the backbone of all of this is the military Industrial complex and security complexes that defeat any sane measure to remove their stranglehold over political discourse.

</comment></comment></comment></comment><comment><USER17> Any of you that follow Bruce Schneier might remember he has these "movie plot" contests, to come up with plausible threats which would incur another bit of security theatre.

The winner in 2007 was a plot where _water_ would have to be banned... [https://www.schneier.com/blog/archives/2007/06/second_moviep...](https://www.schneier.com/blog/archives/2007/06/second_movieplo.html)

<comment><USER18> TL;DR, take some sodium metal onto a plane, drop it in water. As one of the first comments said, it's not plausible:

> Not plausible. I've seen a half-pound of reagent-quality sodium dropped in a > river. The sodium burned violently; the chunk shattered; the expanding gas > launched broken bits out of the river, which landed back in the water and > kept on burning. Nothing, however, with enough force to make me believe it > would cause a full-on explosion.

> Further, sodium oxidizes in air; sodium metal fashioned into any innocuous > item and exposed to air (as any innocuous metal item I can think of would > be) would have reacted away a great deal of its mass in the air between > packing and getting on a plane. There's a reason sodium is normally stored > in kerosene or some other liquid it won't react with. Dropping oxidized > sodium into water is a far less interesting reaction.

</comment></comment><comment><USER19> So what happens if the terrorist first flies to canada... Then the US? Or what if they are already in the US? Is there something so special about the bomb that it can't be made anywhere?

I'm just wondering how this does anything but ensure that battery fires will never be put out.

<comment><USER20> The logical conclusion of all this is that in the foreseeable future laptops will be banned from the cabins of _all_ flights, regardless of origin or destination. :/

(Of course, the decision to ban laptops on flights from Europe has not yet been finalised, so this is all still speculation at this point.)

</comment></comment><comment><USER21> So they can backdoor them without you even noticing. Wonderful

<comment><USER22> Even if this is not the current ulterior motive and the reason is really a terror threat, this will eventually happen. It's just all to convenient if a foreign diplomat or businessman is coming to your country to take out the laptop and quickly insert a firmware backdoor.

Why would we expect a country that bugged the German Chancellor or provided malware that was inserted by another five-eyes partner into the telephone system that the EU administration used, not to (ab)use this opportunity?

Once this is in effect, don't travel to the US with a laptop.

</comment></comment><comment><USER23> Who enforces that ban? It's a bit sad that the European countries will go along with the ban. If they were a bit more confident, they could say "nope". Or give out a directive that every passenger must be sternly reminded that Laptops are banned, and they the (EU) security personel shall turn a blind eye. Europe doesn't have to go along with every crazy idea, it is (at least still) stronger than it thinks.

<comment><USER24> The airlines enforce it, who must if they want to keep being allowed to operate flights to the US.

<comment><USER25> Yet they also operate under EU law so it would be enough to make this practice illegal.

I am afraid that EU goverments will bow to US rules. Or maybe this will be the final straw?

<comment><USER15> The US could deny airlines which don't implement the ban entry into US airspace. The US could also forbid them from landing in the US. The US could also raid the planes after landing or arrest anyone carrying a laptop bag that wasn't checked in as luggage. The US could do any of these things and there would be nothing the EU could do about it because they all would happen outside EU jurisdiction.

As a European citizen I'm not sure what you believe the EU could practically do to prevent such a ban as long as it is only about flights into the US or within the US. It's literally none of our business.

</comment></comment></comment></comment><comment><USER26> That's a bit of a pain. I wonder why a laptop bomb would cause problems in the cabin but not in the cargo hold.

<comment><USER27> A laptop bomb would presumably be fairly small in size and would probably have to be placed directly against some sensitive part of the plane in order to be effective. The cargo hold meanwhile is already reinforced and any bomb would most likely end up in a middle of a lot of baggage that would absorb most of the blast. It would probably force the plane to make an emergency landing but it's unlikely to be catastrophic.

<comment><USER28> The risk with laptops in the cargo hold isn't the blast force of explosions causing a hull breach, but fires. Now any terrorist who wants to bring down a plane simply needs to rig their laptop batteries to catch on fire, which is much, _much_ easier to do than rigging it to explode.

<comment><USER29> Doesn't planes have automated extinguishers in the cargo hull? I actually don't know, but it is something I would assume.

<comment><USER30> Batteries contain their own oxidiser and fuel, so the only way of extinguishing a better fire is to remove the heat (fire triangle: fuel, oxidiser, heat).

The best lay-person's method for extinguishing battery fires is flooding with cold water, which will be hard on an airplane at the best of times.

</comment></comment></comment></comment></comment><comment><USER31> So all the terrorists have to do is convince the USA they've figured out how to hide bombs in humans and they'll ban humans from flights.

<comment><USER32> I know you're joking but it seems like it is possible that Richard Reid the shoe bomber could have inserted the explosives inside a plastic bag and then put that inside himself (either swallow it or in the rectum) and then remove the explosive in the airplane bathroom and ignited it. Not sure why they have not done this already.

<comment><USER33> In Gibson's _Count Zero_ , Turner was almost killed by a "Slamhound", an exploding dog trained to find him. I vaguely recall that the dog's liver was replaced by explosive.

<comment><USER34> Sounds vaguely like the Soviet anti-tank dogs from WW2:

[https://en.wikipedia.org/wiki/Anti- tank_dog](https://en.wikipedia.org/wiki/Anti-tank_dog)

<comment><USER33> Wow. That's crazy. And it didn't work, either. But humans arguably wouldn't get confused so readily.

Even so, they'd just X-ray all passengers.

<comment><USER35> There already exist commercial _transmission_ (not backscatter!) full-body x-ray security scanners. They are used in prisons now, but there's no reason they can't be used in airports.

</comment></comment></comment></comment></comment></comment><comment><USER36> The September 11 attacks were domestic US flights of US airlines. So why only target flights coming from Europe?

<comment><USER37> Honestly, I suspect this might be a convenient way to be able to spend more time breaking into the laptops of travelers without the travelers noticing.

<comment><USER15> Again, why not include domestic flights?

...

Actually I think this will be extended to domestic flights sooner rather than later.

</comment></comment></comment><comment><USER38> What, is it so much better if a bomb goes off while in checked in luggage? What about fires? Stupidest thing ever. We do have security checks, oh wait, they are just for show and to annoy everyone.

"Oh no! It's dangerous, terrorists might do that! Let's make a rule that has no positive effect!"

Arriving in the US and being asked to give up all your keys and passwords is nothing new. "It's because we need to check for illegal content".

Cause that makes sense, if someone had something to hide nothing would stop them from downloading it over the thing called the Internet... /s

Americans are damn stupid, and other countries are doing similar stupid things.

</comment><comment><USER39> I do wonder how many laptop bombs have endangered planes so far - vs. actual Li-ion battery fires.

Force laptops in the holds and watch planes crash when the inevitable battery fire happens. This policy will likely kill more people than the terrorist menace it is meant to protect against.

And that doesn't even consider the loss of business, because people simply won't fly without a laptop (or put it in the hold - considering how checked baggage is routinely treated). Not everyone is traveling for leisure and for business people a laptop is essential.

<comment><USER40> I don't agree that a laptop on a flight is "essential" for business people. While I always notice very few people using laptops on business class flights, after all the point of flying business class is so that you can get some rest to arrive fresh to work, one area where you do see laptop use is in business class lounges. Unfortunately this ban will affect that as you cant check-in hold luggage after departing the lounge.

That said I think people are blowing this way out of proportion, the point of your business trip should not be to do work on your laptop during the flight.. Surely you are making the trip to do something important and relevant on the other side. If your company wants you in a meeting on Monday morning on the other side of the Atlantic then I am sorry but not being able to use your laptop on a flight has nothing to do with the business justification for your trip. God forbid you actually get a break from working 24/7 on your flight. Why are people complaining about this..

<comment><USER41> I think you are missing the point. It isn't that business travelers need their laptops during the flight, but that most don't check any luggage at all. When I was flying for business, I only traveled with hand luggage. No need to deal with the hassle of checking a bag, when all my clothes for the next few days can fit into a carry on bag.

<comment><USER40> Ah yes, that is true. My trips tend to be longer in nature so I normally have checked in luggage.

</comment></comment></comment></comment><comment><USER42> This is a major pain if you're flying with small children. On long flights, tablets are an absolute godsend...

</comment><comment><USER43> > Laptops and tablets denied access to the cabin and added to checked baggage > means that devices with a history of lithium-ion battery fires could set off > a deadly conflagration in a cargo hold — where no one can put out the fires.

Very funny.

We get the message "Europe is a terrorist breeding soil".

</comment><comment><USER44> Is "thedailybeast" a reliable source?

<comment><USER45> Nope

[https://news.ycombinator.com/item?id=14311758](https://news.ycombinator.com/item?id=14311758)

 _edit_ maybe, given the child comment's claim.

</comment></comment><comment><USER46> We have been scanning laptops separately for years... I am surprised that the scanners have not a common database of laptop scans to detect all the differences. So all the original laptops (no part modified) would get a clearance.

</comment><comment><USER47> Yes! Next up, as a pedestrian, I am twice as likely to die unintentionally from a railway crossing than terrorism. Let's ban trains. We need a catchy slogan to sell it, so let's ban planes, trains, and automobiles!

</comment><comment><USER48> Good job, xkcd: [https://xkcd.com/651/](https://xkcd.com/651/)

As a bonus, here's what the TSA thought about laptops in 2009: [http://forums.xkcd.com/viewtopic.php?t=46966](http://forums.xkcd.com/viewtopic.php?t=46966)

</comment><comment><USER49> That anyone still carries a laptop to the US suprises me, considering any client data you have on it they already have the right to demand an unencrypted copy of.

<comment><USER50> No they don't have "right". Just because a government does something doesn't mean they have the right

<comment><USER49> The right they have is to deny you entry if you refuse to hand over passwords for your devices. If you are US citizen I think they cannot deny you entry but can take your devices for a period of days.

[https://www.eff.org/press/releases/digital-privacy-us- border...](https://www.eff.org/press/releases/digital-privacy-us-border-new- how-guide-eff)

[https://www.engadget.com/2017/03/03/the-border-patrol-can- ta...](https://www.engadget.com/2017/03/03/the-border-patrol-can-take-your- password-now-what/)

[https://www.eff.org/deeplinks/2017/04/bill-rights-border- fif...](https://www.eff.org/deeplinks/2017/04/bill-rights-border-fifth- amendment-protections-account-passwords-and-device)

</comment></comment></comment><comment><USER51> Considering your laptop was already going to be searched and probably have all your data copied, I'm not sure this ban is terribly harmful anymore. You're probably better off leaving the laptop at home (or securely locked, encrypted, etc in checked luggage) anyway.

<comment><USER39> It is not harmful - until the battery in one of those laptops fails and sets the plane on fire. With nobody to catch and extinguish it in the hold (the common halon suppression systems are ineffective against battery fires).

It will probably kill more people than those terrorist laptop bombs it is supposed to protect from.

</comment></comment><comment><USER52> Goodbye cppnow, you were my most precious yearly enjoyment.

</comment><comment><USER53> One of the advantageous to living in California is that when I go overseas, I can tell people I'm Californian, rather than American.

Because people's ideas of CA is 1) LA/Hollywood, 2) SF/SV, 3) Yosemite / Tahoe, you get a pretty different response.

<comment><USER54> If you told me you were "Californian", I would give you a really weird stare, think for a moment, and then reply with "Oh, American?", while wondering if you thought California was a country.

And even then, very few will know the cultural difference between, say, California and Tennessee or Alabama. Just like an American might think of China as one thing with one culture, we generally view USA as one thing with one culture.

<comment><USER55> Total anecdote, but I'm from Tennessee and went to Auburn University (AL), so I guess I'm exactly that, but when I travel abroad (Europe, Middle East, Ukraine) I always tell people "I'm from Memphis, TN" and, almost invariably, the response is "oooohh! Elvis!" It's a fun conversation starter, providing a humanizing connection beyond 'America'.

<comment><USER54> Ah, yes, Elvis. Everyone knows Elvis.

It's actually quite relevant - You can be absolutely sure that people know the connection between Elvis and Memphis, but they're just names to most people, and unless Memphis is full of Elvis replicas (well, it probably is), they'll know nothing about the city or the state from that bite of information.

</comment></comment></comment></comment><comment><USER56> In x years we will all get undressed and proceed to board wrapped in the airline issued sheets.

If this is what it takes to defeat terrorists, I'm all for it...and more :)

</comment><comment><USER57> Before jumping to conclusions we should acknowledge perhaps that US intelligence is hearing increased "chatter" or intel thus the reason for this policy.

<comment><USER58> Terrorists are not dumb, if laptops are banned from flights from Europe whey will use other flights, like domestic flights or flights coming from Canada.

</comment></comment><comment><USER59> A lot of comments very critical on the ban. America has intel - and good intel from a raid - that shows that ISIS has the capability and intent to hide a bomb inside laptop batteries to blow up passenger planes containing lots of people. Don't the American people have the right to take steps to protect themselves from this?

This is a simple requirement that laptops be checked baggage and not carry on. That hardly seems draconian or extreme by any measure. I realize that this will inconvenience some people but against the very real and imminent threat of an actual discovered terrorist plans to use a laptop to blow up a plane, this seems like a very reasonable and rational step.

If certain people don't want to visit or do business with America for that reason . . . I don't think it's such a terrible loss to lose dealing with people who are so self centered that they would demand that Americans risk the very real threat of deadly terrorist attacks rather than suffer the minor inconvenience of being required to check their laptops during flights.

<comment><USER60> I think the core of the issue here is that at some point, the nuisance outweighs the risk. How long will this ban be in place? Until the terrorists forget how to make laptop bombs? In the meantime, how many hours of productive work is being lost?

To put it another way, let's say the US got intelligence that terrorists now are able to make bombs out of, say, shoes. Should everyone be forced to remove their shoes before boarding? A silly and contrived example, to be sure, but it is meant to illustrate a point: Where do we draw the line between safety and inconvenience?

<comment><USER39> Uh, didn't we have the mandatory shoe removal for a while already after the shoe bomber? Shoe removal is still commonly demanded if the metal detector gets triggered and many places have special shoe scanning devices too.

And we still have the liquid ban, thanks to one plot that wasn't even realistic to start with.

So sadly "safety" and security theater where you get to show to your electorate that you are "doing something about it" will always win over inconvenience and common sense.</comment></comment></comment>


Don't sudo pip - <AUTHOR> https://pages.charlesreid1.com/dont-sudo-pip/#about <comment><USER2> Or grunt, npm, gem, etc... etc... etc...

I don't know about brew and the MacOS ecosystem.

<comment><USER3> Brew is broken by design - it installs programs in /usr/local _without_ requiring root permissions. You cannot in fact run it as root, it won't let you.

I'll wait for the home brew maintainers to tell me I'm wrong and that their approach is perfectly fine, despite being at odds with the standards set by every commercial and open source operating system on the planet.</comment></comment>


The Victorian Inventor of the Wheelie - <AUTHOR> http://theappendix.net/blog/2014/4/the-inventor-of-the-wheelie

<comment><USER2> The Star bicycle [0] was around in the 1880s, a bicycle with the small wheel in the front so as to make it more difficult to go over the front (a common problem). It's difficult, due to the ratcheting pedal mechanism, but it can be wheelied. The Eagle [1], which used conventional pedals (well, conventional compared to the state-of-the-art at that time), can easily wheelie. In fact, my experience has been that one needs to be a little careful not to fall off the back. (Source: member of The Wheelmen [2], an antique bicycle club, since a kid. Have ridden both Eagles and Stars, as well as other death-traps of the day.)

Point being, there were bicycles before the "safety" that could be wheelied and probably were (I'm confident there's a picture somewhere, period or modern, but a quick search didn't find anything). So I'm skeptical that Canary was the first to ride a bicycle on its back wheel.

Now, that's not to say that Canary wasn't an impressive rider. I've put thousands of miles on bicycles from that era, and not only are they difficult to ride well, they're so dangerous that there's no way they could be sold today (EDIT: come to think of it, everyone I know that has put any serious miles on highwheelers has been seriously hurt at some point, including myself. The 1886 Columbia I currently own I bought from my uncle after it nearly killed him.). Riding down the Capital steps on a highwheeler? Not on my most bold and daring of days. The pictures from the article demonstrate that the man knew his way around a highwheeler. But I doubt he was the first person to ever raise the front of wheel of a bicycle.

[0] [http://en.wikipedia.org/wiki/American_Star_Bicycle](http://en.wikipedia.org/wiki/American_Star_Bicycle) [1] [http://en.wikipedia.org/wiki/Eagle_Bicycle_Manufacturing_Com...](http://en.wikipedia.org/wiki/Eagle_Bicycle_Manufacturing_Company) [2] [http://www.thewheelmen.org/](http://www.thewheelmen.org/)</comment>


Tell HN: Massive abuse of Google's DMCA process - <AUTHOR> A seemingly legal copyright enforcement company has been employing some very shady tactics for the past few years.
They spider the entire website, and submit the crawled links to Google for removal in small batches. Now, what they're doing is without the question of a doubt illegal. But due to the sheer amount of notices they send out, at least 50% of them will go through just fine. I'm talking tens of millions of removed pages.
Considering that subtlety is not one of my strong suits. I'll be blunt: Does Google even care that a few shady guys are manipulating SERP's and costing them resources probably better spent elsewhere.
I guess it's something to think about. <comment><USER2> Just for clarification are you saying they submit all the pages on a website whether that page contains infringed content or not and leave it up to Google to determine if it actually does?

<comment><AUTHOR> Correct. If they actually reported infringing content, there wouldn't be an issue to begin with.

</comment></comment><comment><USER3> Maybe worth including some contact information e.g. an anonymous email so if someone from Google sees they can reach you

</comment><comment><USER4> Is this Entrua International? They are scumbags and I hope somebody fights back

</comment><comment><USER5> is it a reputation management service, or does it appear to be acting in a way that aligns with one?</comment>


How did Google manage to screw up Google finance so badly? - <AUTHOR> It's so bad now, that I've actually started going back to Yahoo, which I had nearly forgotten even existed. <comment><USER2> I've often wondered this. When I was at Google (c. 2011) there was one dev on the Google Finance frontend, and he was pretty good - IIRC he did my ActionScript readability review. Maybe he left and whatever skeleton crew is there now is actively fucking it up?

I'm wondering if Google Finance is also a casualty of Google's campaign to kill Flash. Notice that they got rid of the Flash charting widget, and now there are no charts whatsoever on the home page, and a barebones static chart for individual stocks. Probably some edict came down from on high that you can't use that widget anymore, and there's nobody left working on the project to replace it with anything useful.

I've gone back to Yahoo Finance too.

</comment><comment><USER3> Gmail, Google Maps, Google Fiance, Yahoo Finance, Reddit, Netflix and NewEgg.com are all significantly less useful/usable than they used to be.

We need a term for when a company purposefully makes their website worse. It's kinda like the digital equivalent of planned obsolescence.</comment>


Ask HN: Review our startup: Cloudy - let your friends decide - <AUTHOR>

Cloudy is a free iPhone app that lets you quickly and easily ask groups of friends for their opinions. The basic pitch is: "Need help making a decision? Let your friends decide for you!"
Direct iTunes link: http://itunes.apple.com/app/cloudy/id417694713?mt=8
Website: http://www.askcloudy.com
Our team consists of two students at and one recent graduate of Washington University in St. Louis, and we've been working on Cloudy for about a year.
We'd love to get feedback on a few specific areas:
- The design and functionality of the app
- The concept itself
- The SMS functionality (that is, how questions are sent by SMS if you pick a recipient that isn't a Cloudy user)
- Requiring Facebook for login (we're certainly willing to add a traditional login option, if users seem to want it)
- Our marketing copy, both in the App Store description and on the website
- Whether we should focus on improving the iPhone experience for a while or quickly move on to Android
- Anything else! <comment><USER2> Clickable - iTunes: <http://itunes.apple.com/app/cloudy/id417694713?mt=8>

Website: <http://www.askcloudy.com>

I downloaded and played with this quite a bit - its actually really cool. I especially like that your "questionees" don't need to have the app in order to participate.

</comment><comment><USER3> Wow really solid app. Why is it free?

</comment><comment><USER4> Works really nicely, and great interface. Keep iterating, I'll test it with my friends for you

</comment><comment><USER5> Really cool app. Looking forward to an android version and blocking individual users from spamming me with texts though. Keep up the good work!</comment>


Parliament seizes cache of Facebook internal papers - <AUTHOR> https://www.theguardian.com/technology/2018/nov/24/mps-seize-cache-facebook-internal-papers <comment><USER2> This is Sovereign power in action, being the power that each country has to escalate when people or companies do not behave according to their norms. We generally don't see it a lot but when it happens results can be severe.

It serves as a good warning that when doing business in any country you need to abide by the written and unwritten codes of conduct for that country. Two other less pleasant examples are Assange and Khashoggi.

<comment><USER3> Exactly. I'm very happy with this turn of events. In repeatedly turning down the British Parliament's request to testify, Zuckerberg displayed a stunning level of arrogance, and brought this upon himself.

<comment><USER4> I thought he was quite right to turn them down. He doesn't owe a foreign government his presence to answer to them unless he's got a warrant for his arrest.

I could imagine that there are implications for tech companies now operating in the UK if they're subject to raids by the British police force. It sets a dangerous precedent.

<comment><USER5> Why does it set a dangerous precedent?

Facebook in the UK is wholly subject to the decisions of Facebook in the US. He may not be a British subject, but his business operates in the UK. All business in the UK should be subject to UK law and regulation and the officers accountable. It should not matter if the law is old or the company has a head office elsewhere. Same for companies operating in other countries.

If I choose to start operating my business in the USA I would reasonably expect to be subject to US law, and accountable to it.

<comment><USER6> It sets the dangerous precedents of foreign governments imposing rules on internet companies that have no "real" local presence.

And before you ask what's wrong with that, let's not forget that Saudi Arabia, China, and I'm sure 5 other countries have forced Facebook/Google/Microsoft/... to hand over data and then used it to execute gays and dissidents. Even in the UK case, it's pushing hard for these companies to just hand over all data they have to their secret service (not even limited to UK citizens).

You know, to "protect the children".

<comment><USER7> By making their products available to users in the country they effect the people of that country. They ARE present.

<comment><USER8> Eh, you could argue about the making available to access for a long time either way. But there is a much more straight to point argument: they want, and take, money from UK customers (advertisers). If they want to keep doing that, they need to follow UK laws.

It's like how your little website may do things that are not ok in country X and you don't care, but if you want people and businesses from country X to be able to spend money on your website then you need to care.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I found an article about the ongoing Six4Three case in CA [1]. From the article:

> David Godkin, Six4Three's lead counsel said: "We believe the public has a > right to see the evidence and are confident the evidence clearly > demonstrates the truth of our allegations, and much more."

I have little-to-no legal understanding, but it seems to me that it was in Six4Three's interest to have these documents seized and perhaps released to the public? I see others here talking of how bold of a move this was for Parliament and that it wouldn't have worked if Six4Three simply refused. However, if Six4Three was trying to get the documents released anyways, was this really that bold of a move? Seems to me its more just giving Six4Three an excuse to leak the documents.

1: [https://www.theguardian.com/technology/2018/may/24/mark- zuck...](https://www.theguardian.com/technology/2018/may/24/mark-zuckerberg- set-up-fraudulent-scheme-weaponise-data-facebook-court-case-alleges)

</comment><comment><USER10> _" In another exceptional move, parliament sent a serjeant at arms to his hotel with a final warning and a two-hour deadline to comply with its order. When the software firm founder failed to do so, it's understood he was escorted to parliament. He was told he risked fines and even imprisonment if he didn't hand over the documents."_

Wow. I've never heard of the British parliament being this assertive before.

<comment><USER11> Many consider these powers to be essentially spent: they have not been exercised to any significant extent in a very long time, and since then various changes (e.g. the need to comply with the European Convention on Human Rights) have put them on very shaky ground. If he had refused to go along with the Serjeant at Arms, I suspect nothing would have happened because parliament is keen to avoid a small constitutional crisis over these powers, and to avoid losing even the power of threatening to actually use them. In particular the power to compel witnesses, documents and so on in a process that is entirely separate from the courts could conceivably breach the right to freedom of expression as protected by the ECHR.

I am surprised that he actually complied with this order, especially as the article says the documents were under a US court order _restricting_ their dissemination/publication, but maybe what happened is the Serjeant at Arms appeared with these scary warnings, his lawyers didn't know quite what to do, so they just did what they were told even if they probably didn't have to.

It will be interesting to see what the US court makes of its order being broken due to the order of a foreign legislature.

\-- A source on the status of these powers: [https://www.bbc.co.uk/news/uk- politics-18875266](https://www.bbc.co.uk/news/uk-politics-18875266)

<comment><USER12> Given that his company is suing Facebook, he was possibly quite happy to comply. He doesn't seem to have lost out, and got a historical trip in the bargain.

</comment></comment></comment><comment><USER13> Background on Six4Three's lawsuit against Facebook:

 _Is Facebook a publisher? In public it says no, but in court it says yes_ [7/3/2018]

[https://news.ycombinator.com/item?id=17462238](https://news.ycombinator.com/item?id=17462238)

</comment><comment><USER14> From a different case a few years ago, a good description of Contempt of Parliament and the power of the Searjent at Arms in such a situation - "Mike Ashley: Could Sports Direct boss be jailed in Big Ben?": [https://www.bbc.co.uk/news/uk-england- derbyshire-35783408](https://www.bbc.co.uk/news/uk-england- derbyshire-35783408)

</comment><comment><USER15>
      Facebook really aren't afraid of a British man in tights or
      willing to reform without regulation. That's why Zuckerberg
      hasn't turned up to the Commons, & they are appealing the UK
      ICO's important but tiny fine. Time for the EU to move on
      them, and I believe that's inevitable.

—Claude Moraes MEP (the chair of the EU committee that is leading investigation into Facebook and Cambridge Analytica)

[https://twitter.com/Claude_Moraes/status/1066486777136013317](https://twitter.com/Claude_Moraes/status/1066486777136013317)

</comment><comment><USER16> In June, the Open Markets Institute [0] filed an amicus brief opposing Facebook's motion to seal records in the case, arguing this matter "greatly implicates the public interest. [1]"

[0] [https://openmarketsinstitute.org/articles/six4three-v- facebo...](https://openmarketsinstitute.org/articles/six4three-v-facebook-et- al-omi-amicus-brief)

[1] [https://openmarketsinstitute.org/wp- content/uploads/2018/06/...](https://openmarketsinstitute.org/wp- content/uploads/2018/06/06.05-OMI-Amicus-Brief-Opposing-FB-Motion-to- Seal-.pdf)

</comment><comment><USER17> One should ask: Was the Six4Three executive lured to the UK on a pretext, specifically with the intent of seizing the FB documents?

<comment><USER10> Possible, but doesn't seem likely somehow.

What's more interesting is how the committee knew the documents were in the UK. It wouldn't aurprise me if the UK intelligence services tipped the off, with tacit apprival from the government.

<comment><USER18> They were not in the UK, which makes this a really really bad plan.

The person was in the UK, and they ordered them to produce specifically protected non-UK documents that they don't own, simply have access to.

To give an analogy, imagine taking a random contractor to your company, who is passing through the UK, and forcing them, under pain of jail time, to login to your VPN and produce records that the contractor happens to have access to, but doesn't own, control, do anything with etc.

Now imagine if that contractor was really an officer of a company suing you, and the access was also being forced upon your company and only being allowed on a temporary basis by a court.

The only reason they would ever get away with such a thing is because everyone hates facebook.

Six4three can and should be held liable in a US court for this (though that is unlikely).

<comment><USER19> Is that (not being allowed to hold copies of the documents from discovery) standard practice in such cases, did I miss a reference in the article or what's the reason to assume that the "documents weren't in the UK"? I'd assume various legal aspects treat the VPN access scenario differently than carrying a copy that gets seized, despite the result being basically the same?

<comment><USER18> 1\. You would not be allowed to take such documents on a random business trip to the UK. You are required to protect and treat them as confidential. If you were going to expose them to legal counsel in the UK for some reason, you would have had to seek the court's permission, etc.

2\. The reason to assume is it because the story essentially implies it.

They didn't stop the guy and confiscate the stuff he had, they ordered him to produce them. If he had them with them, they wouldn't have to order him to do that. They would just escort him to his hotel room and take them :)

3\. The story is also wrong about contempt, etc, at least on the set of facts they present.

The correct answer is to say "I am a citizen of the US, i am not the legal holder or custodian of these documents, i would like to speak to my embassy immediately". Let it be fought over in court.

Especially given our president, he would have made a big scene over the UK doing this to a US citizen, minimum.

Six4three LLC is a US company, its founder, ted kramer, is, as far as i can tell from court docs, a us citizen. They are not represented by an UK law firm.

(FWIW: all of this is why i suspect this was secret deal by six4three done to embarrass facebook)

<comment><USER20> I was also thinking the same thing about the "secret deal" thing since 643 had previously fought Facebook in court and there might be some bad blood there. But the guy is a US citizen so it'd be very risky to intentionally pull a stunt like that when a US court ordered him to keep the documents sealed.

I agree it seems this was a pretty major incident and people are letting their hatred of Zuckerberg blind them to it.

In essence the 643 guy was threatened with UK jail if he didn't produce the documents. And threatened with US jail if he did. Over something that he did not own or had any part in creating. I'm no expert but it seems like a rights violation. He didn't do anything illegal.

Do embassies really step in in this case? If not, what would be the correct process to untangle oneself.

<comment><USER18> Yeah. If you are being threatened with legal process in a foreign country, step #1 is always "contact your embassy". This is actually one of the main reasons they exist.

If they let you, your embassy should be helping (at the very least, understand your rights/options, etc. They generally will not provide legal advice but can give you an overview)

If they don't let you, then either: 1\. What is happening is very very illegal (IE they are not supposed to be detaining you)

or

2\. You are about to be accused of something so serious they think it's worth creating an incident over.

or

3\. You are in a banana republic :)

Outside of #3, it's valuable to understand where you stand anyway.

<comment><USER21> _If you are being threatened with legal process in a foreign country, step #1 is always "contact your embassy"._

I've always known this to be good advice in a criminal context, but not political ones like this unless to relay that the USG in general should intervene. I have not heard that the guy was detained.

I really don't think an embassy has the juice to go up against UK Parliament, the current US Ambassador to the UK is a old-money Republican fundraiser with a history degree, whose most recent accomplishment is owning the New York Jets NFL team.

Also, do we know that he _didn 't_ contact the embassy?

<comment><USER18> He was in fact detained by the sergeant in arms, according to the articles I've read.

The rest I agree with, but the goal would be to give Facebook a chance to intervene

<comment><USER21> Would it qualify as a detainment under both US and UK law, or possibly only US?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Looks like Six4Three is at fault here. It should have protected the papers to be not accessible by whoever is outside the US. We will see more of this as national jurisdictions collide with the international internet.

<comment><USER20> I'm not entirely sure that's the case. The guy is the CEO.

So let's say he can't access it from the UK. The UK guys tell him "give us the documents or you go to jail". Well then he could ask an employee who is currently in the US to unlock them for him, maybe even give them his password. Basically, there is usually a way to get things done if there is a threat of jail pending.

The greater issue is how the UK was allowed to even do something like this to a person who hadn't done anything illegal.

<comment><USER22> Well, he can tell his employees beforehand to only accept such order if he is in the US. Otherwise the documents should not leave the country. Then he would have to reply that he is unable to provide access to the documents.

Another reply suggested that he should have contacted the US embassy and ask that he is forced to commit a crime in the US by UK. This would have lifted it to a diplomatic level.

From the circumstances it sounds possible that he wanted the documents published and was happy to be forced.

</comment></comment></comment><comment><USER23> How can some rando small company manage to get access to FB internal emails over some dinky app, while parliament has to resort to such extreme methods?

<comment><USER24> Due to their lawsuit with FB in the USA. I imagine those documents were obtained by court order. Pretty bold move by the UK gov. Looking forward to the leakage of said documents.

<comment><USER25> >Pretty bold move by the UK gov.

This wasn't the UK _government_ , though, but Parliament through its Commons Digital, Culture, Media and Sport Committee.

Parliament doesn't allow government ministers to be members of parliamentary committees, only backbenchers, as Committees are one of the main ways that Parliament holds the government to account.

<comment><USER26> > This wasn't the UK _government_

In American usage, "the government" is the totality of the body which exercises sovereign authority. All MPs, minister or backbencher, are part of the government, because Parliament is a government body. Similarly, any official action by any part of Parliament is an action of the British government.

<comment><USER27> I believe it's normal to use the language of the context/subject, that a brand new Congressman is part of the US government but the chairman of a Parliament select committee isn't. Other times that chairmain could be considered part of the government, such as when he follows the whip on a vote.

<comment><USER26> It's normal for everyone to use their own language. We refer to the Chinese government, not the Chinese zhengfu. And the same criteria that let us know that the Chinese "全国人大" is part of a "government", despite the Chinese preferring not to use that word, also let us know that the British "Parliament" is part of a "government", despite the British preferring not to use that word.

<comment><USER27> Different meaning of language. If you're American, is May the prime minister or the president of the UK?

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> Could easily be that Six4three notified the UK ahead of time that Kramer would be in London. Provides a good opportunity to leak the data without being in contempt

</comment><comment><USER29> I have always thought companies like FB ought to be legally required to erase any and as much stored personal information from their databases as a user requires.

In other words, I ought to be able to specify that I only allow my activity to be stored for one week, anything older than that should be erased from all databases and backups. Same with personal information, controlled and owned by the user, not the service.

<comment><USER30> Isn't this one of the requirements of the gdpr compliance? I want to get to that in the us, but it's going to be like pot laws. Liberal states will do it first, conservatives will try to stop it in the us congress, and it's possible the will of the majority will change.

<comment><USER31> You can ask them to delete your data, but unless their only legal basis for having it was your consent, they may be able to refuse. [0] They'd have to argue to the regulator that their interest in retaining it should override your interest in deleting it.

You also aren't allowed to dictate how specifically your data is processed, so you can't just boss them around. You only get to choose which data, for which purposes, by whom, and only if the processing requires [1] your consent.

[0] [https://gdpr-info.eu/issues/right-to-be-forgotten/](https://gdpr- info.eu/issues/right-to-be-forgotten/)

[1] [https://gdpr-info.eu/issues/consent/](https://gdpr- info.eu/issues/consent/)

</comment></comment></comment><comment><USER32> Following AMP links makes me sad. Here's the real link:

[https://www.theguardian.com/technology/2018/nov/24/mps- seize...](https://www.theguardian.com/technology/2018/nov/24/mps-seize-cache- facebook-internal-papers)

<comment><USER9> I didn't realize it was an AMP link until I clicked and saw that it had been blocked. I have a growing hosts block list specifically for AMP hosts. If anyone else wishes to block some AMP hosts, here is the link: [https://github.com/lightswitch05/hosts/blob/master/amp- hosts...](https://github.com/lightswitch05/hosts/blob/master/amp-hosts- extended.txt)

I don't use Google anymore, so the list only has 362 at the moment, but I keep adding more as I find them. Pull requests are welcome!

</comment></comment><comment><USER33> The irony - it looks like uk did Cambridge Analytica themselves. They took data about one entity, in a very shady way, through a third party.</comment>


ReSharper and ViEmu Productivity Webinar Recording - <AUTHOR> http://blog.jetbrains.com/blog/2012/11/02/resharper-viemu-productivity-webinar-recording/ In this webinar James Kovacs showcases how ReSharper and ViEmu can be used together to increase your coding productivity within Microsoft Visual Studio. <comment><USER2> Resharper is too unreliable to be productive from experience. We bought a crap load of licenses but after about a month, devs were uninstalling it.

It's ok for tiny projects, but not medium to large sized ones.

<comment><USER3> I have been using ReSharper for years in enterprise level projects. Even if all you use it for is code browsing I think it is still worth it. What did you find wrong with it in large projects?

<comment><USER2> Slow, crashy, buggy.

<comment><USER3> Odd, I have used it in solutions with dozens of project, hundreds of code files and ten's of thousands of lines of code and never experienced an issue. I will admit when you first open it in large solutions it takes a little bit for it to cache what it needs. Of course I have had problems with other products that everyone else claimed was fine so to each their own I suppose. Do you have a tool you use in place of ReSharper to solve it's niche?

</comment></comment></comment></comment><comment><USER4> I watched it live and it was very beginner oriented. If you know vim and are decently familiar with ReSharper then this isn't for you.</comment>


Ask HN: What books had the greatest effect on how you structure your code? - <AUTHOR> It'd be interesting to know what books have had the greatest effect on how you structure your code and projects? <comment><USER2> Code Complete, Steve McConnell. [http://www.stevemcconnell.com/cc.htm](http://www.stevemcconnell.com/cc.htm)

One of the best books on programming style and function, backed up with actual research for the recommendations.

<comment><USER3> Same opinion. I always recommend it to my programming students.

Also, The Pragmatic Programmer is good, for topics both about programming and beyond programming per se.

<comment><USER4> Ditto for both books, though I prefer _The Effective Engineer_ to _The Pragmatic Programmer_. I found that quite a bit of the tactical advice in _TPP_ is already standard practice (e.g. "always use source control"). Comparatively, _TEE_ has more of an emphasis on project planning and team/company health, and I found that more useful for my work.

<comment><USER3> Thanks for the tip.

</comment></comment></comment></comment><comment><USER5> "Patterns of Enterprise Application Architecture" by Martin Fowler made a big difference for me at the time. Also, "Domain Driven Design" by Eric Evans. Both have a focus on high level architecture.

Of books that are more on the craft of programming, "Refactoring" (Also Fowler) is good. And I enjoyed "Practical Common Lisp" by Peter Seibel too.

In general, I suspect that the value of a book has more to do with where the reader is, than where the book is.

</comment><comment><USER6> Thinking Forth; Software Tools; SICP; Abstraction and Specification in Program Development; Essentials of Programming Languages; Paradigms of AI Programming; I'd like to list something about OO too, but no book I know really measures up to learning from other programmers. But there's Mark S. Miller's thesis Robust Composition.

(in roughly chronological order. As you can see from the chronology, it took me a long time to start to like OOP.)

<comment><USER7> Here I was thinking, "I was never really influenced by books. I just read and wrote a lot of code." But you've reminded me that it's just wrong. Thinking Forth. Nearly 35 years later it _still_ probably dominates my approach.

Edit: Just realised that it is available under a CC license: [http://thinking- forth.sourceforge.net/](http://thinking-forth.sourceforge.net/)

<comment><USER3> >Thinking Forth. Nearly 35 years later it still probably dominates my approach.

That's interesting. Can you elaborate on why you think it dominates your approach? I'm interested because I had read a good amount of Starting Forth by Leo Brodie some years ago, and liked the language, and had played around with it a bit (only got access to a Forth system for a short time, so could not go deeply into it, on the practical side). But I remember liking the language. I don't think I have read Thinking Forth.

<comment><USER6> For me the biggest influences underemphasized in other sources are to be alert for relentless simplification, for 'mechanical sympathy', for ways changing your problem could make it much simpler to solve -- and that there's an agility in using a simpler programming system like a Forth which you grok and can change as you need to, which can sometimes outweigh the leverage of a big one that comes with lots of stuff already done for you. These are useful points of view even with Forth being almost never the most practical tool now. Its day was already passing when I learned it in the 80s.

Also, though I don't think this was quite in the book, it helped lead me to the idea of refactoring and its synergy with automated testing almost a decade before the idea started spreading.

<comment><USER7> Yes, this is pretty much the same as me. The focus of Thinking Forth (as much as I remember it -- I should re-read it now that I can download it) is about creating small words that you can compose. The idea was that you could interactively tests the words as you were writing the code. FORTH is a bit like Smalltalk in that the environment is always loaded, so you're always jumping in and out of the editor to try things.

Later when I learned about refactoring and TDD, it felt really natural. Until now I hadn't made the connection, but it was exactly the same thing I was doing when I was writing FORTH code.

I also program everything bottom up, rather than top down. I'm pretty sure this is from the influence Thinking Forth had on me as a programmer. I'll make a mental sketch of how things will fit together overall, pick a spot, drill down and then start building the pieces I'm going to need. I refactor as I go. Finally I plug everything together. This also leads me to do subsystem decomposition very, very late in the process. Only after I've built the pieces do I start thinking about where they should ultimately end up. This makes refactoring a lot easier: first when you are building the pieces because you don't have to jump through hoops to get at things, and second when you are assembling because the pieces will naturally fall into places based on what data they interact with. If you have problems understanding where a piece should go, then it's a good indication that you have more refactoring to do.

Some people hate the way I do evolutionary design :-) It works for me, though.

<comment><USER6> Good points. Another influence I think it had: an attitude like "what one fool can do, another can". While this doesn't directly affect how you organize programs, it can arm you against cargo-culting what you read elsewhere. You do have to watch out for culting up Forth!

</comment></comment></comment></comment></comment></comment><comment><USER8> Hands-down, Practical Object-Oriented Design in Ruby ([http://www.poodr.com/](http://www.poodr.com/)) - some of it I don't agree with but it's all wonderfully put-together: clear and concise, with wonderful examples. Much more about OO design than Ruby, non-Rubyists will get 98% of the value out of it that Rubyists would.

<comment><USER9> I'm glad to see someone posted this book. I think it's far undervalued. Definitely a must read. The Ruby written could be completely replaced by pseudo code, and it wouldn't change the lessons taught.

</comment></comment><comment><USER10> Of lesser-known books, Avdi Grimm's "Confident Ruby": [http://www.confidentruby.com/](http://www.confidentruby.com/)

Learning Ruby itself was a huge influence to me; hadn't considered that a language should be designed to make programmers "happy", as Matz said. "Confident Ruby" was one of several books that had this human-happiness focus. "Confident" is broken down into patterns, many of which can be found in books like Sandi Metz's POODR, but as a semi-experienced programmer, Grimm's way of writing really appealed to me.

Even the title of the book itself was revelatory to me. The idea that the functions and methods and conventions we create should be rooted in a "confident" mentality (such as the old adage of being promiscuous in what a function accepts, and strict in what it returns) really improved the way I designed code. Not just in terms of technical proficiency, but with less cognitive burden, which ultimately leads to the elegant simplicity we desire in our work.

<comment><USER11> Ruby makes programmers happy while they're writing their sexy new code base. It makes them cry when it's time to refactor it.

<comment><USER12> I don't know why you're being voted down.. even Avdi Grimm supports that:

[http://www.virtuouscode.com/2015/08/11/what-its-like-to- come...](http://www.virtuouscode.com/2015/08/11/what-its-like-to-come-back-to- a-ruby-project-after-6-months/)

<comment><USER10> I didn't downvote but I suspect whoever did saw the GP comment as bashing Ruby and being off-topic, even though some of my comment talked about Ruby's philosophy as a whole (though I felt it was important to include the context in which Grimm's philosophy is grounded).

FWIW, I almost never use Ruby today, having switched to Python for both teaching and development purposes. That doesn't mean that learning Ruby didn't influence me. For starters, it taught me the dangers of giving programmers too much syntactic freedom :).

</comment></comment></comment></comment><comment><USER13> On LISP, by Paul Graham. LISP was the second language I learned in college, but only after 6 years programming Java and C# that I came back and really learned LISP. It was when I realized that I was doing everything wrong. For example design patterns exists because OO has serious problems that we don't find in a functional programming language and you only see this when you understand both paradigms.

<comment><USER14> Design patterns exist because common solutions to problems exist, not because OO has serious problems. I understand both paradigms and Lisp is hardly free of design patterns. Every time you pass a lambda to a higher order function you're using a strategy pattern. If you only see design patterns as problems with OO, you're missing the point of design patterns. All languages have design patterns. Common design pattern in Lisp, with-X macros to deal with scoped resource cleanup.

<comment><USER15> Are Design Patterns really so out of fashion with the youth of today that nobody here mentions _Design Patterns_ as their answer?

Because it is mine, for better or worse. It took me from understanding OO to understanding how to build large systems with OO, writing maintainable code and using proper encapsulation. A much deeper work than _Code Complete_ (though the latter is worth reading too).

I have used functional languages as well (ML, Lisp; not Haskell yet though I think I get what monads are; plus I write a lot of Python, C++, JS in functional style) but I have yet to use them for any project as big. I hope I get the chance to one day. But for now Design Patterns gets my vote.

<comment><USER16> I'm nearing 50 so I'm hardly a youth.

[http://www.perlmonks.org/?node_id=133399](http://www.perlmonks.org/?node_id=133399) does a very good job of explaining why _Design Patterns_ is a book to be careful with. By contrast _Code Complete_ won't steer people wrong.

See [https://steve-yegge.blogspot.com/2006/03/execution-in- kingdo...](https://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of- nouns.html) for a cautionary tale about how a pursuit of OO purity can result in great verbosity, hiding intent behind a barrage of patterns. Resulting in code that I, for one, would rather not work with.

<comment><USER15> Agree on both those fronts, if you're not careful. Still dp influenced my coding more than any other book to date, which was the original question.

<comment><USER16> As to that, _Design Patterns_ did not influence my coding style very much. By contrast _Code Complete_ was the first book that I read about how to structure code, and I've gained more from it on multiple rereads. I consider it a much better book.

But then again I'm hardly enthusiastic about OO. See [http://www.perlmonks.org/?node_id=318257](http://www.perlmonks.org/?node_id=318257) for more on my perspective.

</comment></comment></comment></comment></comment></comment><comment><USER17> Refactoring: Improving the Design of Existing Code

After reading I began to think about programming as an algebraic transformation from one system to another, in doing so radically reduced the amount of errors I made.

<comment><USER18> I got this when it first came out, I was kind of doing it in a "gut feeling" kind of way, but this made me think of it more as a discipline, and solidified the idea of micro improvements and let me drop the idea of trying to get it exactly right the first time.

</comment></comment><comment><USER19> It surprised me just how huge the impact was of reading about Flow-based Programming years ago (J Paul Morrison's book, though, his site is probably a sufficient substitute [http://www.jpaulmorrison.com/fbp/](http://www.jpaulmorrison.com/fbp/))

Of course, in recent times, it has become all that much more relevant to me as I began working in data science/engineering space. Even though it's not specifically about code structure for a particular language, it addresses a common flaw in most programming approaches that seem to treat all functionality as a servant of the current context which is strange and silly and not how anything works in physical information processing so why do it in code?

A somewhat common pattern that maps well to FBP is "Railway Oriented Programming." Though FBP in full takes this well beyond simply shooting errors along in sideband to the happy path.

</comment><comment><USER20> _Literate Programming_ , Knuth. My methods have evolved since I first read and started toying with the ideas here, but this is where it started.

[http://www-cs-faculty.stanford.edu/~uno/lp.html](http://www-cs- faculty.stanford.edu/~uno/lp.html)

</comment><comment><USER21> Essays, not books, but ... everything Ken Iverson wrote:

The Description of Finite Sequential Processes [http://www.jsoftware.com/papers/DFSP.htm](http://www.jsoftware.com/papers/DFSP.htm) (see e.g. the concrete implementation of the Simplex algorithm , the hamming code corrector). It shows that, with the right primitives and notation, a lot of things are simple and elegant. It's not an necessarily an easy read (depending on your math level and background), but it is a very rewarding one.

Notation as a tool of thought [http://www.jsoftware.com/papers/tot.htm](http://www.jsoftware.com/papers/tot.htm) \- a longer introduction.

Bottom line: a different take on abstraction. It makes a huge difference when you peel most abstraction layers.

</comment><comment><USER22> The Art of Unix Programming, Eric S. Raymond. [http://www.catb.org/esr/writings/taoup/html/](http://www.catb.org/esr/writings/taoup/html/)

I'm still trying to achieve everything he advocates, but what I've managed so far has been extremely beneficial.

</comment><comment><USER23> Refactoring. If I could shove that book down every coder's throat in the world I would. Or, if I could even just get them to use extract method like ... half the times they should I'd consider that to be a major historical achievement.

</comment><comment><USER24> Clean Code by Robert C. Martin

This helped me break my analysis paralysis when it came to figuring out how to organize my code.

<comment><USER25> Excellent recommendation.

The examples are written in Java but it doesn't matter too much as most concepts covered in the book are language agnostic.

</comment></comment><comment><USER26> The Little Lisper by Dan Friedman. It is probably 30 years out of publication but I pulled it off of my shelf the other day, reread it, and the next day I noticed that my code had improved. It is a quick read, nothing earth shattering, but you will be amazed by what you have forgotten.

</comment><comment><USER27> Game Programming Patterns - without a doubt. Own it in print, but usually only read it online. To me it's a more exciting read than the GoF book

[http://gameprogrammingpatterns.com/contents.html](http://gameprogrammingpatterns.com/contents.html)

<comment><USER28> Thanks for providing online version. Where I am staying I cannot purchase most of these books mentioned in this thread.

</comment></comment><comment><USER29> For C#, Framework Design Guidelines by Cwalina & Abrams. Very clear and concise pointers for well structured and easy to read code. It's a little out of date now though, wish they'd update it to a third edition.

<comment><USER30> A lot of the design guidelines in that book carry forward many other technologies. A really great read.

</comment></comment><comment><USER31> SICP made the biggest difference; it really changed the way I approach mutability and state management in everything I write (To name just this).

</comment><comment><USER32> The Art of the Metaobject Protocol

[https://mitpress.mit.edu/books/art-metaobject- protocol](https://mitpress.mit.edu/books/art-metaobject-protocol)

</comment><comment><USER33> How To Write Unmaintainable Code by Roedy Green.

The best way to write better code is to avoid writing it badly in the first place. But you need to know how to write bad code to write code better than it. Definitely a different way of learning how to write good code, also a good laugh for anyone in industry.

<comment><USER34> I am almost tempted to bring it into work and frighten my manager with it :)

</comment></comment><comment><USER35> Writing Basic Adventure Programs for the TRS-80. [1]

It contains this gem [2], which is pretty much how every program works. I occasionally riff off this diagram for work as an inside joke with myself.

1: [http://www.trs-80.org/writing-basic-adventure-programs- for-t...](http://www.trs-80.org/writing-basic-adventure-programs-for-the- trs-80/)

2: [https://imgur.com/gallery/Vz63D](https://imgur.com/gallery/Vz63D)

</comment><comment><USER36> Not a book, but the game spacechem [1] made all my code start being more influenced by the actor model [2] without me really realising it.

[1] [https://en.wikipedia.org/wiki/SpaceChem](https://en.wikipedia.org/wiki/SpaceChem)

[2] [https://en.wikipedia.org/wiki/Actor_model](https://en.wikipedia.org/wiki/Actor_model)

</comment><comment><USER37> For a modern look at systems design i highly recommend "Designing Data- Intensive Applications (DDIA)" By Martin Kleppmann. Not really about structuring code, but I think stepping back and realizing your code is part of a larger system is very illuminating and influence how you write code.

[http://dataintensive.net/](http://dataintensive.net/)

</comment><comment><USER38> A Mentoring Course in Smalltalk[0]. I was really surprised, after reading and really loving Design Patterns, that there was still so much to say about OO design.

I did love Design Patterns a lot though. Purely Functional Data Structures by Chris Okasaki was also really useful for Haskell, as was Real World Haskell.

Programming Prolog probably had a bigger influence on my Prolog than the other books, even though I read Art of Prolog and Prolog Programming in Depth first. Especially the latest edition, it's a really beautiful book.

[0]: [http://www.lulu.com/us/en/shop/andres-valloud/a-mentoring- co...](http://www.lulu.com/us/en/shop/andres-valloud/a-mentoring-course-on- smalltalk/paperback/product-3788890.html)

</comment><comment><USER39> Probably the book that surprised me the most, was "Designing Active Server Pages" by Scott Mitchell[1] - bought for next to nothing in a sale clearing out old titles. I don't really program in VBscript or on the .net platform - but the book demonstrates how much improvement it is possible to get in a server-side template language (eg: like PHP, ColdFusion) with a bit of mindfulness to how code is structured.

I'm not sure I would recommend it today, but at the time I read it, in the mid 2000s, it did change my view on these "unmaintainable" technology stacks. I later came across the fusebox architecture/pattern, originally from ColdFusion - and realized that many PHP programmers had skipped some history, ending up reinventing code structure, sometimes badly.

Note that fusebox has grown and changed, I'm mostly talking about the fundamental ideas, and I don't think the later "port" to using XML was a very elegant or good idea. For those interested, see:

[https://en.wikipedia.org/wiki/Fusebox_(programming)#Fusebox_...](https://en.wikipedia.org/wiki/Fusebox_\(programming\)#Fusebox_.28version_1.29) and most of the rest of that page.

[1] [http://shop.oreilly.com/product/9780596000448.do](http://shop.oreilly.com/product/9780596000448.do)

</comment><comment><USER40> Very old, but "C traps and pitfalls": [http://www.goodreads.com/book/show/706807.C_Traps_and_Pitfal...](http://www.goodreads.com/book/show/706807.C_Traps_and_Pitfalls)

It's essentially a list of anti-patterns to avoid. But crucial to it is the idea of clarity and avoiding misinterpretation by either human or compiler.

</comment><comment><USER41> SICP (w/ Brian Harvey's CS61A lectures) influenced how I approach abstraction _a lot_. Its "baby brother" _How to Design Programs_, with its design recipe approach, ingrained testing and iterative refinement in me early on.

_Head First Design Patterns_ is a great influence too when it comes to OO- abstraction, for good and bad.

<comment><USER42> I'll second HTDP. A close read of the preface is worth your time even if the deliberate pace of the rest of the book isn't your cup of tea. The data-first approach to design is a breath of fresh air.

</comment></comment><comment><USER43> At the risk of being labeled a dinosaur, this is still prob. the best book I ever read on structuring code:

[https://www.amazon.com/Reliable-Software-Through- Composite-D...](https://www.amazon.com/Reliable-Software-Through-Composite- Design/dp/0884052842/ref=asap_bc?ie=UTF8)

</comment><comment><USER44> Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems by Miro Samek.

[https://www.amazon.com/Practical-UML-Statecharts-Event- Drive...](https://www.amazon.com/Practical-UML-Statecharts-Event-Driven- Programming/dp/0750687061/)

</comment><comment><USER45> Clojure Applied by Ben Vandergrift and Alex Miller. That and Rich Hickey's Greatest Hits ([https://changelog.com/posts/rich-hickeys-greatest- hits](https://changelog.com/posts/rich-hickeys-greatest-hits)).

<comment><USER46> I haven't read that many coding textbooks not specific to a language but the Joy of Clojure probably slapped me with the most ideas I'd never seen before. Not sure it made me a better developer in the short run, but I'd like to think that it will in the long run.

</comment></comment><comment><USER47> "The Practice of Programming" by Kernighan & Pike, especially chapters 3, 4, 8 and 9.

[http://www.cs.princeton.edu/~bwk/tpop.webpage/](http://www.cs.princeton.edu/~bwk/tpop.webpage/)

</comment><comment><USER48> Alexandrescu's Modern C++ design taught me how to template properly.

Also, Scott Meyers's books were very helpful.

The design of the D standard library has also been very influential on my code (Mainly convincing me of the benefits of ranges over iterator)

</comment><comment><USER49> Clean Code

</comment><comment><USER50> Classic essay on unmaintainable-code.

[https://github.com/Droogans/unmaintainable- code](https://github.com/Droogans/unmaintainable-code)

</comment><comment><USER51> Kent Beck'a Smalltalk book. I've never used Smalltalk but it transfers to any dynamic OOP language. (It also used to be $25, yikes what happened?)

</comment><comment><USER52> * Douglas Hofstadter - Gödel, Escher, Bach: an Eternal Golden Braid

* Fred Brooks - Design Of Design

* Fred Brooks - The Mythical Man month

* Eric J. Evans - Domain Driven Design

* Design Patterns: Elements of Reusable Object-Oriented Software

* Kent Beck - Extreme Programming Explained

* Kent Beck - Planning Extreme Programming

* Michael C. Feathers - Working Effectively with Legacy Code

* Daniel Kahneman - Thinking, Fast and Slow

[EDIT] Correct the author for legacy code

<comment><USER53> I've just recently bought "Gödel, Escher, Bach" \-- looking shortly to start it. Curious, how did it influenced you in connection to programming?

<comment><USER52> Just like the other non programming book on the list(Thinking Fast and Slow) GEB is a lot about perception to me.

Understanding that nothing is purely logical nor is it purely expressionistic; by pigeonholing your perception of any design whether it be Code, Math or Art to either Logic xor Expression you are blinding yourself

The other angle for GEB is design

I read GEB along with Design of Design years ago following my mentor at the times suggestion, I would highly recommend doing this. Think of it as the Gödel, Escher, Bach, Brooks (Although Brook's writing style can be laborious at times) Recognizing patterns in all design work helped my understand my own design process better.

<comment><USER53> That's fascinating. Just ordered Design of Design to supplement GEB. Thanks!

</comment></comment></comment></comment><comment><USER54> Jon Bentley, _Writing Efficient Programs_ and Kernighan & Ritchie's _C Programming Language_.

</comment><comment><USER55> Programming using GNU Smalltalk [http://stephane.ducasse.free.fr/FreeBooks/Gnu/ProgrammingUsi...](http://stephane.ducasse.free.fr/FreeBooks/Gnu/ProgrammingUsingGnuSmalltalk.pdf)

</comment><comment><USER56> Javascript: The Good Parts

</comment><comment><USER57> The pragmatic programmer

</comment><comment><USER58> The Life-Changing Magic of Tidying Up by Marie Kondo

</comment><comment><USER59> Does anyone else here never read programming books?

<comment><USER60> They are a great ladder for when one wishes to climb up the shoulders of giants. Much can be learned in blogs, but long-form text is not that easily replaced.

That said, my books-to-read list is ever growing as well...

</comment></comment><comment><USER61> _Dependency Injection in .NET_ by Mark Seemann was the trigger that started my transition from someone basically writing "script spaghetti" in an OO language to someone that could actually decompose a conceptual set of processes into decoupled parts and assemble a software system from them.

It came along at just the right moment in my career, when I was struggling to understand how I could build things in a more elegant way. I picked up the book thinking I was going to learn about some esoteric design pattern, and came away with a much better understanding of the languages I was using and all of the other design patterns I thought I had learned about previously. It's clear, concise, and focuses on _concepts_ over specific tools and libraries, but most importantly it's practical - it has real, practical code examples and explains how to actually build an object-oriented system. It's such a stark contrast with most presentations I've seen of the Gang of Four patterns and of SOLID, which usually come with really weak examples that aren't helpful or motivational.

Everything snowballed from there. I started using composition a lot more than inheritance, I started identifying problems with side effects and eliminating them, I started writing real unit tests, I was able to better critique other peoples' code. I felt like I was finally using the tools available to me in the way they were supposed to be used.

What's funny and satisfying to me is following the author's blog and seeing that he has since moved on to focus primarily on F# and functional programming, which I naturally started to do myself after more practice with the concepts in his book. Once you start decoupling things well, and you've built a few systems big enough that you have trouble finding the actual implementation of your IWhatever and an AbstractSingletonProxyFactoryBean actually does solve your problem pretty well even as you realize the insanity of it, the encapsulating borders of classes and the need to assign everything to a noun start to feel more like a hindrance rather than a guide.

That said, I still think that most of the world's code written in object- oriented languages would be better off if everyone using them had brief, practical training to understand the value of specifying the behavior of an object through the interfaces it depends on, giving it other objects that implement those interfaces right when you create it, and doing all that creation up front (or specifying other objects that can defer that creation to later). I still see so much C# code from developers at all levels who clearly create classes only because the language offers it and it seems like the right thing to do, randomly jamming methods and fields into classes with names vaguely related to the domain, calling static methods to access databases and external services, and proudly adding unit tests for their one loose little function that mushes strings together. I push this book as hard as I can on junior devs.

<comment><USER62> +1, This book is real gate opener for my career.

</comment></comment><comment><USER63> SICP

</comment><comment><USER64> Head First Design Patterns by Eric Freeman Design patterns by GoF Code Complete by Steve McConnel

</comment><comment><USER65> for me, there is no special book effect my code style, the greatest effect is read source code of projects I am interested in.

</comment><comment><USER66> "Implementation Patterns"

</comment><comment><USER67> Scott Meyers Effective C++

</comment><comment><USER68> all modern programming books are footnotes to Kernighan and Ritchie

</comment><comment><USER69> Joy Of Clojure

</comment><comment><USER70> work effectively with legacy code

</comment><comment><USER71> Digital Design and Computer Architecture (Harris & Harris)

Why? Because we software engineers can learn a lot from the hardware guys. Almost every piece of software I write these days contains some finite state machines (technically, every program is a finite state machine, where the binary string that makes up all your variables at a given point in time is one state, that insight alone is valuable, but I mean with explicit states in the code) - in fact, they often make up the core structure and uphold some strong invariants that make reasoning about the code simpler. And if one finite state machine does not do it, then you can nest them and keep all the benefits.

</comment><comment><USER14> Smalltalk Best Practice Patterns by Kent Beck. Refactoring by Martin Fowler. Design Patterns by the Gang of Four. Domain Driven Design by Eric Evans.

</comment><comment><USER72> As a programmer in training who has both Clean Code and Code Complete in a queue on the edge of my desk, I'm following this thread to decide which goes first, or if they both get sold in mint condition.

<comment><USER73> Code complete is a classic.

Clean code will teach you how writing 3 line functions is a best practice. It's an overhyped, overrated book which is more damaging than helpful and one of the very few I couldn't stand to read until the end due to the authors' dogmatic views.

<comment><USER74> That's interesting, I had the complete opposite reaction to clean code. As a person that recommends this book, with full heart, to every developer, I'd like to hear any details you could spare re: why you believe it's damaging? Maybe you can provide some examples of well-written codebases and why you believe they're such? And maybe you could comment on why you feel Clean Code's principles harm readability with some examples?

I find it painful working with codebases that don't use most of the principles re:

\- Write code like good stories: Code should read like a story, methodically descending the call graph method by method; each working at one level of abstraction.

For example, why is string manipulation littered all over this function that's supposed to be dealing with consolidating reports? Ugh. I like when one function stays at one level of abstraction

\- Factor out conditions into descriptive methods: I shouldn't have to sit and read through 5 logical operators, some arithmetic, and method calls in 1 'if' conditional, to understand _why_ we're doing all this.

Once again, this goes back to having your code read like a story. Factor it out into a descriptive function, so that I can understand at a glance and deep dive if necessary.

\- Comments are a failure: This applies 99.99% of the time. It's almost comical when someone leaves behind a comment that could be eliminated by factoring something out into a descriptive method call instead.

There's a lot of other great stuff in Clean Code that I'm forgetting off the top of my head. (It's been awhile since I last looked over it.)

I've come across very few code bases that are a literal pleasure to read. [https://github.com/jekyll/jekyll](https://github.com/jekyll/jekyll) is one of the cleanest codebases that comes to mind immediately. And on the other side of the coin, [https://github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) is one of the dirtiest.

If anyone wants more details/expansion, let me know and I'll reloop. (On my phone right now.)

<comment><USER75> The problem with Clean Code is, just as the post you replied on said, it's very dogmatic. A problem I often see people who quote Clean Code do is that they take its principles to the extreme.

An example is tons of tiny methods of 1-3 lines each. Sure splitting up methods is good practice but it's painful to read code where you continuously have to "go to definition". There is an article written about this by John Carmack here [http://number- none.com/blow/john_carmack_on_inlined_code.htm...](http://number- none.com/blow/john_carmack_on_inlined_code.html)

Another example is the "comment are a failure" mindset. Sure I don't need comments that say this code is doing an addition between two numbers, but a piece of code doing some complex business logic definitely benefits from a comment explaining what the hell it's doing. No amount of function-splitting and function-naming can replace such comments. Yet all too often people who read Clean Code treat comments as some sort of abominations that has to be avoided at all cost.

<comment><USER74> A dogmatic book does not make a dogmatic person. And if that's a "problem", then that's rather a problem with the person reading the book.

Please provide examples of such codebases you're talking about.

One justification of modularity is to hide details. Thus avoiding the need to "go to definition". If the tests pass and the name is descriptive, then you should understand the method without needing the details.

For example, Jekyll's Site#process [1] provides a high-level overview of how the site is built. It reads like simple, plain, easy-to-understand English. Now, I've chosen to dive into Site#write [2]; it tells me that for each site file, we're going to write it out to its destination, as long as it's supposed to be regenerated. Awesome, that's easy to understand.

Say I want to write another method that operates on all the site files. I don't need to know how Jekyll finds all the site files. Heck, they could be in specific directories... or it could pull configuration over the network... or they could be provided through command-line arguments. Who cares! I just use Site#each_site_file because it's an implementation detail.

And yes, Jekyll provides little 1-3 line helper methods like Site#incremetal? [3] all over the place to codify conditionals. These are extremely helpful.

On the other side of the coin, do you know what this conditional is for [4] in Kubernetes? I can't for the life of me understand its purpose without being _forced_ to look into the details. It'd be much easier to read if it was extracted out into its own descriptive method such as _activeMultiNodeInterface_ maybe? I don't know because I literally don't know the intention of that conditional. The original developer could've made their intention far more clear to subsequent developers had they extracted it out.

I find your citation of Carmack underwhelming for two reasons: (1) he's writing to a very specific target audience -- game developers, and (2) he admits himself, "The whole point of modularity is to hide details, while I am advocating increased awareness of details." Carmack is in no way supporting the idea that "it's painful to read code where you continuously have to 'go to definition'". In fact, quite the opposite, he's advocating a very specific recommendation to a very specific type of developer working on a very specific type of project. Simple as that.

You'd do best to provide some examples and empirical data supporting your assertions.

[1]: [https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site...](https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site.rb#L69)

[2]: [https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site...](https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site.rb#L208)

[3]: [https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site...](https://github.com/jekyll/jekyll/blob/master/lib/jekyll/site.rb#L347)

[4]: [https://github.com/kubernetes/kubernetes/blob/master/pkg/kub...](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/network/kubenet/kubenet_linux.go#L203)

</comment></comment></comment></comment></comment><comment><USER76> JavaScript, the Good Parts

</comment><comment><USER77> Alice in Wonderland

</comment><comment><USER78> Fountainhead

</comment><comment><USER79> Are _books_ still state of the art in 2017?

I would assume all the best knowledge could be found online for free by now.

<comment><USER56> Books are useful for a couple of reasons.

1) It can do wonders for focus to disable your network connection, open a book, and work through examples (but maybe I just get distracted easily). This actually applies for most tasks that involve a computer and don't need the internet.

2) Not specific to print, but a book that covers a topic in a structured, beginning-to-end way can help reduce gaps in one's knowledge. I learned a bit of BASH by just googling around and reading Stack Overflow, but reading The Linux Command Line ([https://www.nostarch.com/tlcl](https://www.nostarch.com/tlcl)) taught me things I wouldn't have gotten in 10 years of stack overflow browsing.</comment></comment>


Classkick – Software Engineer – Emph. iOS Expertise - <AUTHOR>

Classkick | Software Engineer | Emph. iOS expertise
http://bit.ly/1tQ7tnj
Classkick ensures every student gets the help they need.
Just a few months after releasing, we're still growing at high double digits wk/wk with 100K+ downloads and users in 70 countries, from 100% organic growth. We are building a top notch engineering team and looking for hackers and pirates who want to change education with us.
One co-founder is a Googler and Teach For America alum, the other was a space shuttle engineer and founder of an award winning chapter of Engineers w/o Borders. Based in Chicago.
* Competitive salary & equity * Comprehensive health insurance plan * Flextime * Unlimited vacation <comment><USER2> duplicate of [https://news.ycombinator.com/item?id=8980321](https://news.ycombinator.com/item?id=8980321) (inside the who-is-hiring thread)</comment>


Product Managers, What Is It You Do Again? - <AUTHOR> http://panelpicker.sxsw.com/vote/68329 <comment><AUTHOR> I figured HN was as good of a place as any to start this discussion and seed topics. What is it you think Product Managers do? What have you observed that you hate/love/try to ignore?

</comment><comment><USER2> This is a great topic. Product managers like other roles come in different shapes and sizes. Some are great at strategy and some are stronger at execution. It's incredibly important to hire appropriately (based on team and need) and to set clear expectations on the product manager's role and impact. That said, what are the shared tools, methods and behaviors that all product managers should bring to work every day? Really interested to hear more on this.</comment>


Ask HN: What Motivates You? - <AUTHOR>

Some of us here seem very motivated (or is it stubborn? :-). What keeps you going at working on that big project and not giving up? <comment><USER3> Spite. Spite is a great motivator. "I'll show them," so you keep at it. (Why do I feel I need to put _this_ footnote in: That you know and understand WTF you're doing and not be blindly delusional. Spite is reasonable, rational opposition; not having your head up your ass.)

<comment><USER4> Yes, make em pay for kicking your ass in high school.

</comment></comment><comment><USER5> Well, that's a question with no easy answer. I mean, sure, I want to be wealthy, in terms of pure, raw, green $$$$. But I don't necessarily want $$$ for it's own sake. I don't need a super fancy house, super fancy car, etc. (although I'm not necessarily saying I wouldn't indulge a bit if I make it big), but what I really want is more freedom... basically, enough money to constitute "FU money" so that I'm not beholden to a tyrannical dipshit manager in some inane, soulless mega-corp with a kafkaesque bureaucracy and Dilbert style PHBs. I'd also like more freedom to travel and explore, and $$$ helps with those things.

But perhaps an even bigger reason is simply my need to prove something, both to myself and to the world. Growing up fairly poor in a rural part of the South, and being the shy, awkward, geeky kid through most of my school years, I felt a touch of resentment for the guys with the fancy cars, the pretty girls, blah, etc. Not to mention the rich people in the fancy house who lived around where I lived, but who were in a different world in a sense. I - <USER2> after all these years - still feel a need to prove that I'm just as good as they are, and just as capable of achieving whatever I set out to do.

And I'm still pissed off about not getting voted "most likely to succeed" in my high-school senior class. :-)

<comment><AUTHOR> Cool, sounds a lot like my answer. Money doesn't really push me all that much-- yet. I'm still in college so that might have something to do with it. Right now it's more intrinsic for me.

</comment></comment><comment><USER6> At the risk of sounding BarneyStinsonian my answer would simply be "'cause it's awesome!".

Seriously, if you really like what you do motivation comes by itself. If each time you think of something related to it you go "yeah, awesome". If each time you improve it (by polishing the idea in your mind or over email/irc with your partners, or by adding a feature, or by fixing that bug) words like "awesome" come to your mind, then the motivation is auto-generated. But I truely believe this can only be acheived —at least if you're honest with yourself— if the thing we're talking about is the top idea[1] in your mind.

[1] <http://paulgraham.com/top.html>

<comment><AUTHOR> Awesome! :)

</comment></comment><comment><USER7> The joy of solving a problem that nobody has solved before. Of course it's big and hard; if it weren't big and hard, somebody would've done it already! That, combined with setting smaller, shorter-term sub-goals, so I can get a little bit of satisfaction as often as possible to overcome the occasional frustration.

</comment><comment><USER8> For me it's the pressure of my peers that will flame and bash me in public on the social networks that keeps me plugging away.

</comment><comment><USER9> Good health. The better I feel, the easier it is to get things done.

(A lot of "rationalization" is, I've found over time, only so much hand waving.)

</comment><comment><USER4> Sweet sweet cash. Green baby.</comment>


Giggl: How you can get paid to create memes - <AUTHOR> https://www.giggl.club/ <comment><USER2> V cool! Pretty fascinated by the amount of memes that are made (voluntarily?). Always wondered who are making the millions of memes flowing around the internet, and what drives to them to put in the creative effort and roll them out. The Vox documentary on YT somewhat takes on these questions, but who these people are, their drive for this, is still mysterious to me. A bid of an odd thought, but I'm very unsure, whether offering material rewards actually will activate them more than the random voluntary model.

<comment><USER3> Agree on this! Another thing to point out is the fact that a majority of memes are created "in the moment" of important events for example, and thus benefitting from virality. Not sure if brands can leverage this effectively through a competiton-based platform.

</comment></comment><comment><USER4> Interesting concept. The market for such an idea is definitely growing, looking no further than the aftermath of the Playstation 5 launch and the memes it caused. However the question is if brands will be bold enough to use memes frequently for their advertisements? Not every single one will be a hit initially.

</comment><comment><USER5> Why haven't anyone thought of this before??

</comment><comment><USER6> I love this concept!</comment>