How Norwegian Air Upended Travel With Its Cheap Flights - <AUTHOR> https://www.fastcompany.com/40425836/how-norwegian-air-upended-travel-with-its-insanely-cheap-flights?utm_content=buffer2d42a&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer <comment><USER2> Norwegian borrowed the same play book Michael O'Leary (of Ryanair) used ~6 years earlier: putting in a big, bold order for new Boeing aircraft just as the aviation market was tanking (due to 9/11 in O'Leary's case and the GFC in Norwegian's). Anti-cycle is the cheapest time to buy lots of new planes (if you have the balls and investor backing to do it).

Underneath it all is the same operating model that allowed low cost carriers to flourish in the short-haul market: streamlined, standardized, modern, fuel efficient fleet; non-unionised crews; using cheaper secondary airports; flying direct; cramming in as many rotations in 24 hours as possible and flying outside of peak hours to get cheaper landing slots.

The new Boeing and Airbus models make the LCC approach increasingly viable for longer haul routes thanks to big fuel efficiency improvements and smarter cabin interiors/materials that boost pax load without sacrificing comfort. Oil prices are also helping since the price has remained low for so long now that even if an airline hedged the wrong way a few years ago they're now all enjoying better rates.

IAG (British Airways, Iberia) and Lufthansa are trying to get in on the action too with Level and Eurowings respectively.

<comment><USER3> A big difference with Ryanair and other low-cost airlines is that Norwegian stays away from dark UI patterns in their website/app, and also doesn't use the _" make it uncomfortable enough that you consider paying more, but not so uncomfortable that it stops you from using it"_ tactics in general. I think they'll be much better at customer retention.

<comment><USER4> You aren't kidding. We did a family vacation in Europe last year, and relied primarily on LCC's to do side trips. Buying tickets was like clicking through a Facebook clickbait story - packed with ads and confusingly named links that would add charges to your flight.

You pay extra for: checking luggage, carrying on luggage, selecting your seat in advance, selecting any seat that's not a middle seat.

And then -- for most LCC's, you MUST print your boarding pass at home, or pay a 50 Eur service fee. And many of them make you check in your own luggage, all the way to the belt.

<comment><USER5> > And many of them make you check in your own luggage, all the way to the > belt.

Is this uncommon in the US?

I'd much rather enter the airport, casually walk up to a touchscreen, print my boarding pass and label and drop off my baggage than queuing up in a long line when the check-in counter opens.

<comment><USER4> In the USA, it's not uncommon to check in at home and/or print your own boarding pass. It's far less common to print and attach your own luggage tags - United does it at SFO. However, US airline regs require that an employee checks your ID and compares it to the boarding pass before accepting luggage - so there's always a human in the loop.

However - a lot of Americans still aren't comfortable with this level of self- service, and want to go to a full-service counter.

What I was referring to specifically with LCC's is that they have zero personnel at the check-in counter -- self-checking your luggage isn't a nice option, it's mandatory. And there's not even a kiosk for printing your boarding pass (that would cost money to maintain, best to have you use your own paper and toner at home).

<comment><USER2> >(that would cost money to maintain, best to have you use your own paper and toner at home).

Or... you can board with your phone :)

</comment></comment></comment></comment></comment></comment><comment><USER6> Norwegian is at the better end of the low fare airlines. They don't use shady UI patterns (or ads!) on their website. They don't walk around the aisle selling lottery tickets. And they don't land on third tier airports with ridiculous transfer times to cities. Basically they work like a full service airline, but of course they only work from A to B and don't offer the fancy guarantees you need with more complicated bookings.

I regularly fly Norwegian but wouldn't fly Ryan again if my life depended on it.

<comment><USER7> Note that some of their upcoming long haul stuff is to obscure airports: their new flights from Edinburgh are to "Providence/Boston T. F. Green Airport" which is an hour+ away from Boston. (Well, it's a totally reasonable airport for Providence, but marketing it as Boston is dubious!)

<comment><USER8> They fly direct to Logan and JFK from Gatwick. It probably doesn't make financial sense to connect "real" airports to relatively minor ones like Edinburgh.

<comment><USER7> United and American fly to Newark and JFK respectively direct from Edinburgh, FWIW. And United fly to Newark from Glasgow, 50 odd miles away, too.

</comment></comment></comment></comment><comment><USER9> I just leave those here in case you wonder how Norwegian works. They have brand new planes for efficiency on one hand but on the other, they screw their staff similar as to other budget airlines.

[https://www.quora.com/How-is-Norwegian-Air-so- cheap](https://www.quora.com/How-is-Norwegian-Air-so-cheap)

[https://skift.com/2016/10/10/norwegian-air-accused-by- critic...](https://skift.com/2016/10/10/norwegian-air-accused-by-critics-of- flouting-labor-standards-will-hire-u-s-pilots/)

"Norwegian's modus operandi does raise interesting questions. Should a carrier established in one country be allowed to offer wages typical of another? And should airline employees be given the same labor protections regardless of where they are located?"

[https://www.forbes.com/sites/realspin/2017/01/26/pot- kettle-...](https://www.forbes.com/sites/realspin/2017/01/26/pot-kettle-black- the-u-s-and-norwegian-air/#243ecb04169e)

<comment><USER10> One asshole move in recent history back in Norway was that when the pilots were threatening to strike over long shifts or some such, the company spun up a subsidiary, moved all the pilot employments to it, and leased foreign pilots to fly domestic routes.

All under the pretext that this was not circumventing the strike, because the pilots were not working for them but for the newly created subsidiary.

<comment><USER11> This just shows that strikes aren't really a good tool in a dynamic economy where you can just spin up companies as necessary, and would need (increasingly complex) legislation to keep them relevant.

The right political response should be to strengthen workers bargaining position---run the economy hot enough to turn the labour market into a sellers market, and keep enough social safety net that even just saying No without another job lined up would be feasible.

<comment><USER6> And ensure that authorities are powerful enough to just make swift decisions about things like this.

"Since this move accomplishes exactly the curcumvention of the strike, we consider the new company bound by the old company's agreements. Oblige by Monday or stop flying in Norway".

<comment><USER12> Why can't the company just fire the strikers and directly hire replacements?

<comment><USER13> In the US, this is often possible (see the Air Traffic Controllers situation), but I think in many countries in Europe, it's not always legal.

<comment><USER14> ATC was a different kettle of fish. As federal employees they were prohibited from striking, and the strike allegedly caused a public safety issue. If you break the law to strike, you get no protection.

(Police and school teachers have similar requirements in their contracts and will use "sick-outs" to apply pressure without a full strike)

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> When things go well with Norwegian it's a fantastic airline. But I've witnessed some absolutely awful experiences others have had - fights delayed 11 hours, some even more than that, leaving everyone stranded in the airport. Other times they've contracted out flights to a no-name airline that uses ancient planes with no in flight entertainment.

I'm happy to take Norwegian when I'm travelling by myself, as I'm content to take the risk. But if I'm travelling with family I'll usually avoid them.

<comment><USER16> To add to this, this is very much related to their schedule of keeping the aircraft in the air 3 hours per day more than other airlines.

If they get off schedule, they will have to drop flights or rent an aircraft and skip a flight to catch up.

</comment></comment><comment><USER17> It cost my girlfriend more to get to the Gatwick airport than it cost to fly to Madrid on Norweigan. We live in South London, let that sink in.

</comment><comment><USER18> For anyone travelling to Europe from the bay area, you can't beat Norwegian. They have nonstop flights from OAK to Stockholm and Oslo on brand new 787's for as cheap as <$300 each way. It's another $50 to anywhere in Europe from those two cities on the budget lines like Ryanair.

<comment><USER19> Some details:

\- They fly out of Oakland airport, OAK, not San Francisco Airport.

\- They don't fly non-stop to Oslo, apparently. Itineraries to Oslo from OAK connect in London, Gatwick.

\- OAK<->LGW September 18th - 24th indeed $499

\- OAK<->LGW July 3rd - 10th $1,189. So you'll still want to buy tickets well in advance.

<comment><USER20> > They don't fly non-stop to Oslo, apparently. Itineraries to Oslo from OAK > connect in London, Gatwick.

There is a non-stop flight, Norwegian Air Shuttle 7064. You can look at its flight path here: [https://flightaware.com/live/flight/NAX7064](https://flightaware.com/live/flight/NAX7064)

The flight leaving _tomorrow_ was $340 one way when I checked now. Round-trip, I was able to find a non-stop OAK--OSL ticket for $510 (similar September dates to yours).

</comment></comment></comment><comment><USER21> It's an amazing airline. Website and mobile apps are perfect. Planes are new and clean. You swipe your card below the entertainment system screen and order from there. Staff, especially when Thai, are outstanding. Prices are low and the "Premium" ticket class has generous room without being excessively expensive.

<comment><USER22> > You swipe your card below the entertainment system screen and order from > there.

Order what? Inflight videos?

<comment><USER23> Snacks, food, alcohol, etc.

IIRC, inflight entertainment is free. Scheduled meal costs extra at time of ticket purchase. Much better to bring your own food, or buy their decent snacks as you get hungry.

<comment><USER22> Oh wow I've never been on a transatlantic flight with pay-for food but I think it makes sense. I don't know why people feel the need to eat so frequently on flights and it clauses chaos for everyone while it's being served if you are in economy.

<comment><USER21> It's included in premium and paid for in economy. Some times they have steaks! The texture is quite a like sous vide. I have no idea how that's possible at that scale/altitude :-)

</comment></comment></comment></comment></comment><comment><USER24> Normally I fly Delta when taking the Boston <> London route, but Norwegian's prices have been too good to ignore of late, particularly one-way tickets (since I'm not always sure of my return date).

Will be interesting to see how Delta, American, et al react to Norwegian's Uber-esque pricing.

p.s. discovered Norwegian via Google Flights, which has supplanted pretty much every other airfare search option I used to use.

</comment><comment><USER25> The founder of Norwegian: [https://www.youtube.com/watch?v=0L0N0yYeUuY&feature=youtu.be...](https://www.youtube.com/watch?v=0L0N0yYeUuY&feature=youtu.be&t=1m39s)

</comment><comment><USER26> Meanwhile, the two top stories on nrk.no, the norwegian state supported news and tv network, are both about how Norwegian Air spoils peoples vacation with their cancellations and poor service.

</comment><comment><USER27> I love flying Norwegian.

I found a round-trip from Ft Lauderdale - Sweden for just $380 bucks in may but you have to be flexible around the dates.

You just can't find prices like that with other carriers.

<comment><USER28> Check WOW Air, they offer even cheaper flight between Europe and USA

<comment><USER29> True, but as far as I've seen they always have to route through Iceland, correct? Norwegian fly direct form several big European cities. Also, how do their planes / in flight entertainment etc compare to Norwegian?

</comment></comment></comment><comment><USER30> I hate flying any cheap airline, at 2m tall I don't fit in typical sardine can seats at all. I always pay more to get a better seat, which I don't mind, but often cheap airlines don't even offer better seat pitch except on exit rows and unless you are lucky you can never count on getting one.

Now that all airlines are getting into the cheap category, I fear eventually I can't fly at all.

<comment><USER31> I'm over 2m, and flew Norwegian last week. I just about fit into the seat, but it was very uncomfortable. I wouldn't want to fly for more than 2 hours at that kind of comfort level.

It is very frustrating just how much airlines fail to cater for tall passengers. They all have different rules for emergency exit seats, and the cost of upgrading can be quite high.

</comment></comment><comment> dorian-graph As someone living in Oslo, I don't find them terribly cheap for flying within Europe. It could be though that I've been spoilt on ticket prices from/to London. They do have decent sales sometimes, unlike EasyJet, Vueling, etc. whose sales barely amount to anything.

</comment><comment><USER32> I Love flying with Norwegian. Painful to say as a swede but they are my go-to low price airline.

<comment><USER33> I mistook a Swedish neighbour for being Norwegian, afterwards I felt stupid for this as clearly I had not been paying attention. (Her name begins with 'N' so that may be the cause of the 'senior moment'.)

As an English person living in England I have no idea whether getting someone's country 'almost right' is a hurtful thing. Is the Norwegian vs Swedish thing real? If so, is it for the reason I give - not paying attention - or is there more to it than that?

<comment><USER34> Swedish vs Norwegian is mostly playful banter. Our lives, culture, values and language are all very similar, so being mistaken for the other is no big deal as it doesn't have any particularly negative connotations attached.

<comment><USER5> Yeah, it's like being called a Canadian as an American.

<comment><USER35> Yeah I've had that happen to me many times, and vice-versa.

</comment></comment></comment></comment></comment><comment><USER36> I just flew with them from LAX to LGW. I think the experience was not bad, but the staff seemed sometimes pretty overwhelmed with the logistics of which passenger ordered what option.

</comment><comment><USER37> "The U.S. Department of Transportation, besieged with opposition from domestic airlines, labor unions, and other interest groups, took three years to approve Norwegian's transatlantic plan."

This is the same government under Obama and Democrats that allowed for consolidation of United buying Continental and American buying US Air which resulted in less competition.

The Democrats used to represent regular people instead of favoring special interests that result in higher prices.

Instead of allowing the legacy carriers to slow down Norwegian and other innovators, the legacies should copy them. They have much more capital and they can make it happen if they want to.

<comment><USER38> At what expense of high paying, quality, American jobs?

A huge cost advantage that NAI enjoys on many of their international flights is through a flag-of-convenience scheme. NAI is a Norwegian majority owned company but has established their base of operations for international flying in Ireland. Through this arrangement they are able to hire pilots and cabin crews under contracts and work rules of southeast Asia where wages are low and work rules are less restrictive. You might imagine how cutting costs in that regard might have an impact on quality of service and more importantly SAFETY.

If this precedent is allowed there is no doubt the major American airlines will do the same in the interest of remaining competitive but shockingly airlines in the US have actually resisted this in the interest of the jobs of American people. I can't speak to each airline individually but for example Delta Air Lines directly employs 80,000 people in addition to 10s of thousands of contractors. Multiply that by 3 or 4 and you're looking at a ton of well paying American jobs. Not to mention when is the last time you remember a fatality on a major US airline?

I think the flag-of-convenience scheme leads us down a slippery slope where getting the lowest bidding pilot cadets trumps safety.

<comment><USER37> > "At what expense of high paying, quality, American jobs?"

When I fly to Israel with a layover in Istanbul to visit friends in Istanbul, I am using Turkish pilots, thus depriving Americans of jobs. They are lower cost than many European pilots. Are you saying I shouldn't be flying Turkish Air? I don't understand? Incidentally, the flights from NYC to Istanbul use very modern planes and are staffed with very friendly staff.

Direct flights to Israel on El Al use Israeli pilots whom I guessing don't get paid as much as their American counterparts and yet, highly trained as probably almost all of them were in the Israeli Air Force.

So, please explain your position.

I am concerned with safety and in fact part my work deals with safety in healthcare. Airlines landing in US airports should be following FAA regulations. It is important that the FAA regulate this.

I encourage US domestic carriers to change the way they operate so that they can match the Norwegian fares while retaining American jobs.

But to complain that Norwegian is offering fares that make Europe more accessible for people with fixed or limited income is just wrong.

<comment><USER13> How would you "encourage US domestic carriers to change the way they operate so that they can match the Norwegian fares while retaining American jobs." I think the point is that that is impossible.

<comment><USER37> I don't agree. The consolidation of major carriers under Obama administration (United buying Continental, and American buying US Air) has reduced competition and thus higher fares, worse service.

They don't fly out of regional airports at least in NYC I think that is rare.

I"ll bet there are a lot of operational issues.

Delta, United and others own low-cost carriers (the famous United case where the senior was dragged off the plane screaming and kicking was not on United but a low cost fully owned subsidiary carrier of United) as it is, so they could have a low-cost carrier that travels to Europe. These low-cost wholly owned carriers are domestic only.

But none of them have them because they want to cannibalize the higher fares charged. They enjoy their margins.

Norwegian (like Amazon, like Uber) is in a contest to capture market share and thus may be willing to operate on thin margins or even take a short term loss to capture share. The major American carriers may not want to invest the money to retain share and prefer to use politics instead.

<comment><USER14> In good years, airlines have some of the lowest profit margins of any industry. Maybe instead of allowing a bunch of crappy carriers to come and go, it would be better to allow consolidation into a few majors. Ticket prices might be somewhat higher, but they would still be more affordable than they were when the industry was fully regulated.

<comment><USER37> EasyJet, Ryan Air, and Norwegian are not crappy carriers that come and go. Low profit margins have to do with an industry that by-and-large is a commodity. But prices have to do with operating costs and Norwegian and Ryan Air and Easy Jet have done a better job of controlling their operating costs than US carriers.</comment></comment></comment></comment></comment></comment></comment>


Apple's Shortcuts app lets Siri do everything - <AUTHOR> https://www.engadget.com/2018/06/04/apple-siri-shortcuts/ <comment><USER2> I think shortcuts are great for extending the reach of the functionality for Siri, but the main reason I avoid using Siri has nothing to do with "what" Siri can accomplish, but rather that it's just so stinking slow and unresponsive in comparison to Google Home. Just the delay in even prompting Siri to consider input is significantly worse than Amazon or Google's counterpart.

I feel like what I needed to see here from a Siri demo was increased speed and responsiveness on all the platforms and once we're past the performance issue then we can move on to capabilities.</comment>


Keep this in mind next time you correspond with an Aussie - <AUTHOR> http://www.guardian.co.uk/media/mind-your-language/2012/aug/10/mind-your-language-australia

<comment><AUTHOR> I find this kind of thing fascinating. Personal observations from New York are "go ahead" vs "after you" and finishing a transaction with "you're all set". Maybe I'll tone down the use of exclamation marks when corresponding with by British and American colleagues!</comment>


There Are No Experts in the Web Industry - atom-morgan http://www.adrianpelletier.com/2015/05/07/there-are-no-experts-in-the-web-industry/ <comment><USER2> I fundamentally disagree with this. New things for the web appear all the time, undeniably, but their appearance doesn't invalidate your expertise with older things, especially given that the new things are rarely either entirely novel or a complete replacement for the older things.

<comment><USER3> Thanks for the feedback. I do see your point as well; even though web languages and design techniques are constantly changing, our end goal is usually the same. However, I still run into too many web "experts" who think they've learned it all and, in my opinion, that's an outlook that will quickly make you obsolete on the web.

</comment></comment><comment><USER4> The author's final point is quite valid - to not become complacent about your expertise.

But the idea that expertise does not exist is flawed. I'm old enough to have been working online since before "the web", and while there are rapid changes in the specific toolkits, the core technology moves slower.

Sure, the hosting is now virtual not physical. SSL exists. Websockets exist. Javascript is its own beast now. The layers of caching and load balancing can be scary to us plain old developers. But the core HTTP request/response cycle, and the rendering and running of HTML and scripts has not had a fundamental paradigm change. DNS still drives end user connectivity, and the same old 7 layer network model still applies.

So yes, some things change, but don't throw the rest of it out just because you are picking up a new language or three. The picture is bigger than that.

<comment><USER3> Excellent comment, I fully agree with what you're saying. My intent was never to suggest "throwing out" previous knowledge but to instead recognize there's always more to learn and to keep building on that. Once you stop learning, the web quickly surpasses you.

<comment><USER5> I never stopped, and sometimes feel a little overwhelmed... I try to stay abreast of what's going on, even outside of what I'm working with. At least enough to have knowledge of what's on the horizon or in my peripheral...

That said, even with what I'm actively tracking, mostly JavaScript heavy web applications, Node/iojs, ES6/ES2015, ES7/ESNext, BabelJS, React, Riot, Mercury, Angular, etc.; It's a lot to keep up with. Everything gets to be pretty significant very quickly. That doesn't even include advances in .Net (ASP.Net/MVC, core-clr, etc), Java, Python, Go, the list goes on. It's impossible to _know_ every tool. But it is possible to know and understand the concepts behind web applications, which aren't changing quite as quickly. I understand how SPDY/HTTP2/WebSockets and even bits of WebRTC work. If you understand how the pieces fit together, and how to bend them to your will...

If you understand how web applications work, you might be an expert.

If you aren't afraid to look at and consider new tools, you might be an expert.

If you know when to be pragmatic about your software design, you might be an expert.

If you don't loosely apply a software design pattern because it kind of fits, you might be an expert.

There's no absolute, it's just a matter of knowing more than most, and being able to apply it in practice.

</comment></comment></comment><comment><USER6> This also means you'll only last if you enjoy the work. If you don't like it, learning a new framework every few months will make you go insane.

<comment><USER3> There's a lot of truth to that. Basically, if you don't enjoy learning all the time, web design/development is not for you.

<comment> atom-morgan This is huge in my opinion. I've noticed the market for labor in my area has changed quite a bit just over the past year and this is primarily about what framework employers expect you to know or be familiar with. This could be extremely frustrating for many people.

</comment></comment></comment><comment><USER7> An expert is not someone that knows everything, but someone that knows more than you... And enough to be resourceful, if we are talking about profesional work.

I'm pretty sure than the author knows way more about web development than his customers, so he's the expert then...

There are lots of "local experts" that do an amazing work pleasing their customers without having to know absolutely everything.

<comment><USER8> Yeah, I think missing that expertise is a spectrum and not a binary is a big mistake. There are plenty of sub-par programmers who would never survive in a high-skill environment, but who consistently satisfy their clients. This is an important reality to acknowledge and understand.

</comment></comment><comment><USER9> I've been doing webdevelopment for almost 15 years. And I think little has changed. Yes now we have transparency, animation, dropshadows, simple Ajax, and so on. But in the end we are still dealing with the same simple request and building webapps is still difficult.

<comment><USER10> [https://twitter.com/sriramk/status/589974366055636994](https://twitter.com/sriramk/status/589974366055636994) Original posted on 20th April, 2015

"It's 2015, The top story on HN is how to center text in CSS. Humanity's takeover by advanced AI might take a while."

</comment></comment><comment><USER11> I think his view of blacksmithing in history is pretty narrow and was constructive to fit his broader point. I'd assume the most respected blacksmiths were constantly testing different metals, weapon and armor types and shapes, smelting techniques, etc.

<comment><USER3> Fair enough and thanks for the comment. The point I was trying to illustrate was the pace at which technologies evolve and few are quicker than the web industry. I wholeheartedly agree that the best blacksmiths were constantly improving but it was relatively slow compared to how quickly the web changes (i.e. they didn't have new tools/materials to learn every single day).

<comment><USER12> What about doctors and lawyers? Their professions change day-to-day, and often at the whim of political leaders. Something as broad as "law" you can't be an expert in, but you can be an expert in patent law or family law or whatever.

<comment><USER3> That's an interesting point and I suppose if we broke it down and asked can you be an expert in just HTML or CSS, the answer would likely be yes. However, if that's _all_ you knew, you'd have a hard time being hired. The message I was trying to convey is to have a web career, you need to be constantly learn new things all the time.

Thanks for adding to the discussion.

</comment></comment></comment></comment><comment><USER13> One person I'd definitely consider an expert is John Lindquist ([https://egghead.io/](https://egghead.io/) and [https://github.com/johnlindquist](https://github.com/johnlindquist)) - <AUTHOR> just because he's always up to date but also because he's got some keen insights about many of those modern technologies (especially Angular). But as far as I can see tracking them is basically a full-time job, even for him.

</comment><comment><USER14> It used to be an expert was anyone at least 40 miles from home. I've always wondered how to frame that comment on an internet scale.

</comment><comment><USER12> There's a fundamental difference between knowing the language/framework of the week, and being an expert in something. Expertise does not necessarily imply broad-stroke coverage of available tools. It means you use the tools you have to their maximum potential, even finding novel uses for them.

</comment><comment><USER15> An old-timer I worked with once had this joke about experts:

What's an expert? Well, X is an unknown, and a spurt is a drip under pressure...

</comment><comment><USER16> Spot on. To me, It's also about constantly improving the "jack:master trade ratio" in a constantly evolving world.

</comment><comment><USER17> I think the only way to be close to an expert is to have total control over the web development process from start to finish, and re-use the same technologies that you have experience with. For example, if you've made 100 web apps in PHP and native JS, you will be much more productive and make higher quality software than someone who keeps jumping to new languages and frameworks.

<comment><USER18> Yeah, its an argument of Breadth vs. Depth of knowledge. An "expert" maintains a healthy portion of both.

</comment></comment><comment> lurcio</comment>


Ask HN: Won't emergency ventilator production destroy the ventilator business? - <AUTHOR> <comment><USER2> Perhaps so, but:

The new ventilators might not last. They might be banned due to low quality after the emergency passes. Some will be damaged by use. Parts might become unavailable.

New companies may enter the ventilator business. We still have the ventilator business, even if the companies change.

The demand might remain high. The disease could stick around. This isn't the first respiratory disease to start spreading right next to a Chinese biohazard lab, and likely won't be the last.

<comment><USER3> In one news article I read that a hospital was using very old ventilators that had few bells and whistles. Because despite that they do the job.

I'd assume that ventilators produced in an emergency would be as simple as possible.

</comment></comment><comment><USER4> A great deal of innovation will occur by smart minds released from the box and they will publish many design innovations which will act to bypass the vertical price controlled and patented etc towers of the old makers. All this will be released via open source methods anda general constructive frenzy will occur = more and better as well as cheaper ventilators. This is good, very good.

</comment><comment><USER5> It's one of many very sophisticated product lines. The companies will shift their focus and still innovate. From what I've read largest manufacturer is [https://en.wikipedia.org/wiki/Dr%C3%A4gerwerk](https://en.wikipedia.org/wiki/Dr%C3%A4gerwerk)

</comment><comment><AUTHOR> Who's going to need to buy a ventilator after this is over? There might be a small market for technical advancements.

</comment><comment><USER6> hopefully</comment>


How I hacked Digg - <AUTHOR> http://www.phoboslab.org/log/2008/06/how-i-hacked-digg <comment><USER2> I like how people that write these types of stories always justify it as trying to help out... "In the hope that digg would now listen, I sent them a second email."

So digg was supposed to jump on this problem and not worry about anything else apparently.

It always seemed akin to saying

 _"I saw an unlocked vehicle today and I think its important that all vehicles remain locked. Since they didn't come running out when I told them to lock the car, I put it in neutral and let it roll down a hill so that they will now heed the warning"_

While warning about possible vulnerabilities is helpful I have a hard time believing exploiting them is as well.

<comment><USER3> A better analogy would be "I saw an unlocked vehicle today and I think its important that all vehicles remain locked. Since they didn't come running out when I told them to lock the car, I opened the car and left a note on the dashboard stating I'd been in the car."

<comment><USER4> I disagree. I think the better analogy woudl be: "I saw an unlocked vehicle today and I think its important that all vehicles remain locked. Since they didn't come running out when I told them to lock the car, I [opened] the car and left a note on the dashboard stating I'd been in the car."

"And then I went into the bad part of town and distributed fliers all around about how the car at the corner of Main and Screwed had been left unlocked for a while and how it had a great stereo and iPod in it."

<comment><USER3> Still a bit off. "[going] into the bad part of town" would imply he went on some devious message board and there released the information with a flashy heading.

</comment></comment></comment></comment><comment><USER5> While I support full-disclosure, I don't think the author acted responsibly. He didn't give them enough time to respond, he didn't make any extra effort to contact digg's engineers and he also very publically bragged about it.

He didn't try to act modest and he used the buzzword 'hack' which appeals more to non-technical than to technical people. Publicity stunt if you ask me.

<comment><USER6> You seem surprised. Digg is one of the most popular sites on the Internet; the guy is (rightfully) proud that he can make it break horribly.

</comment></comment><comment><USER6> This is exactly what happens when you get a bit too excited about mixing presentation and logic. It's easy for "$foo" to slip into the HTML, and then your site gets hacked. This isn't really a PHP problem, but PHP certainly goes out of its way to encourage you to write bad code like this.

<comment><USER5> If you ask me, mixing presentation and logic is the core of most web development. They just missed a lot of opportunities for sanitizing data.

I also don't see how PHP goes 'out of its way'. It doesn't do anything, neither do most other web languages, you build or use existing frameworks and libraries to help with such tasks.

<comment><USER7> Here's how to safely output a variable in PHP:

<?php echo htmlspecialchars($name); ?>

Here's how to do the same thing in Django:

{{ name }}

That's the thing that bugs me most about PHP: it's not even a productive templating language!

<comment><USER8> I didn't realize Django is a language. Lets not compare frameworks to languages.

<comment><USER7> I personally think PHP it blurs the line between a language and framework. The "framework" part is the 20,000 builtin functions and the mechanism it provides for executing code as part of a dynamic web request.

In any case, my intent wasn't to compare Django to PHP, it was to point out that PHP's default way of outputting things really does make it inconvenient to write secure code - hence answering the parent post that argued that poor security had nothing to do with the language used.

</comment></comment></comment></comment></comment><comment><USER9> Who cares about digg? The site is going downhill, thanks to idiots posting "news" about their latest trip to WalMart and 10 reasons to hate Bush.

<comment><USER10> You've inspired me for some reason to defend the site (I'll admit to bias, check my profile). Digg is very highly trafficked site, and the content might not be to the liking of the people here, but it started just like most of the companies that inspire everyone here that I've interacted with. Along the way it's done some cool stuff, created jobs for coders and inspired a raft of imitators.

Don't know why you inspired me to speak up.

And concerning the current problem, avoiding XSS and CSRF holes demand vigilance, especially with the many, many demands put on programmers at startups. Perhaps only with php, but I think programmers are often clever enough to work around almost any constraints, and sometimes they see security as a constraint. Digg always attracted users interested in proving their mettle by finding security holes, and as a result the developers are pretty vigilant about fixing holes.

Concerning the content of digg, well, it's an adventure ;-). As it's grown, it's left lots of room in its wake for other (maybe better) communities to develop.

</comment></comment><comment><USER11> Oh!...we have ALL soooo wanted to hack digg, don't get me started on digg...see if I had a.....

</comment><comment><USER12> I thought the title of the article should read "How I cracked Digg". Go away cracker!</comment>


Region-based Memory Management - <AUTHOR> http://www.stephanboyer.com/post/60/region-based-memory-management

<comment><USER2> A question:

For sticky situation #1 ("You make a reference to some memory allocated to a region and try to use it outside the region."), the solution is reference counting - ("When we leave the region and it's time to deallocate the memory, we raise an error if the reference count is greater than zero.")

How does this work with circular references? I think, if I understood it correctly, that if you had a circularly referenced data structure you would get a RuntimeError as soon as the MemoryAllocator goes out of scope, as the reference count would be >0.</comment>


Ask YC: Finding a New Job as a (Semi)Recent College Grad - <AUTHOR>

I graduated in April 2007 and joined an established company in a software development position that seemed rather promising.  After spending nearly a year there, I can certainly see that it's not really a good fit for me.  I crave something much more technical than the role I currently occupy.
At this point, I realize I need to move on.  Only problem is, I really don't know how to conduct a job search.  I know that sounds ridiculous, but in college this was like shooting fish in a barrel.  Between job fairs and friends being employed at various places, paths to employment were bountiful.  Now I find myself wading through pages of uninteresting job postings on various internet sites.
All I'm looking for are interesting and challenging places (big or small) to work in the Bay Area that would hire a recent college grad.  Anyone know any quality job search websites? Also, I've heard good things about head hunters.  Anyone have any experience with them and/or recommendations?
Any suggestions at all would be fantastic.  Thanks. <comment><USER2> Good post here about finding a start up job: [http://ryanspoon.com/blog/2008/05/18/landing-a-great- start-u...](http://ryanspoon.com/blog/2008/05/18/landing-a-great-start-up-job- the-best-job-resources/)

Also, what's your skillset? Depending on, I have a couple available opportunities... how should we contact you?!

<comment><AUTHOR> Wow, totally missed this link before. Thanks.

As for my skill set, I'm most proficient in C++ and Java with most of my professional experience in the application development space. I have done quite a bit of web development personally and in the classroom, so I'm quite familiar with PHP, HTML and CSS as well,

While I'm more interested in staying in the app dev space, I really just want a challenging development role -- be it desktop apps, web apps, or what have you.

Also, I've updated my profile to contain my e-mail.

<comment><USER3> Not sure your email is actually on your profile. Maybe add it in txt in the about portion... I'd like to chat too!

<comment><AUTHOR> Ahh, yes. Now it's visible. Good call, thanks.

</comment></comment></comment></comment><comment><USER4> You pretty much answered your question, your friends, previous internships are the best bet.

Rather than looking for the right role, first look for the right company and then a development role that interests you.

Here's a list of companies for you to start your search: <http://www.crunchbase.com/companies>

good luck!

<comment><AUTHOR> Thanks for the feedback, prakash. Unfortunately, only one of my friends landed in the Bay Area and, yes, I've already been in contact with him. Just don't want to put all my eggs in one basket :)

</comment></comment><comment><USER5> Relax and network.

Do your homework on companies that are interesting to you and then try to interact with the employees or go straight for the hr dept.

</comment><comment><USER6> Pretty much in the same shoes as you. 2007 grad. 1 year in a big web company and looking for a change, so good timing on the post :)</comment>


Show HN: My friends just built a Bitcoin casino - <AUTHOR> http://bitino.com/ <comment><USER2> I gave it a shot with 0.1 BTC. Funds were available to start using a few seconds after I sent them. Went up a bit, got a 10, decided to cash out. Funds can't be withdrawn until the initial transfer has been confirmed 6 times (standard w/ bitcoins).

Fun, simple. GJ.

<comment><USER2> 6 confirmations finally occurred, was able to withdraw. So, all in all, no problems.

</comment></comment><comment><USER3> <http://bitino.com/about/> says I have to keep my game URL private otherwise people can steal my BitCoins, but there is no HTTPS? No deal.

<comment><USER4> Cut them some slack, this is obviously as MVP as it gets.

<comment><USER5> +1

<comment><USER6> can you clarify what was said above, are bitcoins held in the same way instawallet does?

</comment></comment></comment></comment><comment><USER7> "Bitino is a games company based in London."

Then you are breaking the law. UK-based gambling companies have to ensure that customers are over 18. Running a gambling game that uses anonymous payments goes against this principle!

<comment><USER8> You could still do identity verification using either a 3rd party service, or by getting sight of ID documentation. (Certified copies of passports posted out, for instance. Sounds mad, I know, but I worked at a gaming start up and we had to do that for some customers!)

In fact, you'll have to do that ANYWAY to be compliant, regardless of the method you use to fund accounts.

<comment><USER7> True, although by the time you've signed up and proven ID, you've lost the 'spontaneous' appeal of the site (making it quick and easy to have a bet). I guess the site still has the advantage of low-cost money transfers and no risk of chargebacks, so bitcoins may have a use here.

I wonder if it is possible to use bitcoins and comply with the UK gambling restrictions against money laundering? At first glance, it looks impossible, bitcoins being (supposedly) untraceable. However, you _might_ be able to comply if you insist that winnings are always paid back to the same bitcoin wallet that they came from. The justification here being that your website won't have 'washed' the money any further than it was already laundered.

<comment><USER8> Limiting the 'spontaneous' gambling is part of what you have to do to comply with Gaming Commission rules - you have to include ways to limit the amount of money deposited or gambled, and you have to provide a mechanism to self- exclude, or ban yourself from playing.

I'm more interested to see if these guys get shut down or if the Gaming Commission would turn a blind eye. I notice no available contact details on the site or domain name registration. (Good for avoiding the law, bad for making me trust you with my money.)

</comment></comment></comment></comment><comment><USER4> This mixing of algorithms and gambling in the provably fair section got me wondering: Couldn't one set up a kind of market for randomness? Basically you could buy and sell a variance in exchange for an expected value, and people that agree on a trade send bitcoin (or whatever) to a third party, which then draws and pays out the corresponding amount to each party.

It would make for some moderately interesting math, I wonder if there would be an interest in such a service? Basically casinos could then wrap this marketplace and have people gamble, with their expected gains being at a sort of market optimum.

<comment><USER9> I'm not sure if I understand, do you mean something like this? <http://gamesbyemail.com/News/DiceOMatic>

</comment></comment><comment><USER10> I don't really understand why "provably fair" would be so big deal. The house is winning always, no matter what. But I don't gamble myself, so perhaps I don't uderstand that world that well.

<comment><USER5> Provably fair means the shuffle and order of the cards are verifiably random and also that they cant be changed once the game has started.

Provably fair means you know exactly what you are dealing with before you start. Game payout odds are clearly displayed in the payout table.

<comment><USER11> My gut feeling is that since it's using a repeatable number-generator (without which it wouldn't be "provably fair" as you have described), it might be possible to game by client-side pre-evaluation of the sequence. Even if the whole sequence isn't finalized until the initial bitcoin transfer is made (I only have the information provided on the site to go on...), it might be possible (for example) to strategically transfer/commit, at a known/manageable cost, but simply not play the hand (abandon the transfer) unless the payout is greater than your expenses, circumventing the game's long-run behavior entirely. We don't have server code to look at (github?), but we all have access to python's libraries and can seed our own PRNG after the transfer in order to evaluate the hand/sequence.

</comment></comment></comment><comment><USER12> Is any of the equipment based in England? You might want to check the Gambling Commission website to check if you need a licence.

</comment><comment><USER13> Just curious, how this link was posted anew, since there was one on HN previously?

<http://news.ycombinator.com/item?id=5293812>

<comment><USER4> heh, it seems one has a trailing slash and the other doesn't. I knew the dupe detector could be tricked by a trailing #, but this is new to me.

<comment><USER13> ah - got it.

</comment></comment></comment><comment><USER14> I'm wondering about the security of the generators and hashes you use. SHA-256 is to my knowledge fine, however the Mersenne twister used by Python isn't (see <http://en.wikipedia.org/wiki/Mersenne_twister>, although there may be modifications in Python). You have little plaintext, so I can't really find anything obvious, but given the nature of the site, you may want to use something cryptographically secure.

</comment><comment><USER5> nothing like getting on the front page of HN when you are no way ready for it.

</comment><comment><USER15> I was saving the private URL's (e.g. <http://bitino.com/uQWyylFetc...>) to go back to and withdraw my cash later. (My browser cookies clear upon exit). The pages show the correct bitcoin balance, but they're not letting me withdraw! It says I haven't played a game, so even when I go ahead and play another, it still says "You haven't played yet!"

Could you fix this ASAP because I actually put a decent amount of money in this...

<comment><USER16> You posted 33 minutes ago. Give them a chance to reply and resolve your issue

<comment><USER15> Okay, I revoked the accusation. I'm afraid my instinct is to mistrust people by default. We'll soon see if my instincts are wrong.

</comment></comment></comment><comment><USER17> On initial glance, and I may be a million miles off here, it feels like the history section which shows payouts is rather redundant.

It seems like there's nothing to stop the casino inserting their own played games (either real but fixed, or entirely faked) to "adjust" the balance of historical payouts in one direction or another?

The concept of the public seeds is clever though

<comment><USER18> > The concept of the public seeds is clever though

It's what all the other bitcoin gambling websites do. I can't hotlink it, but visit here[0] and click "verification" in the top right.

[0]: <http://satoshidice.com/#>

</comment></comment><comment><USER19> I'd be concerned about running an online casino with a .com domain. The US government has a track record of seizing domains.

[http://www.wired.com/threatlevel/2012/03/feds-seize- foreign-...](http://www.wired.com/threatlevel/2012/03/feds-seize-foreign- sites/)

<comment><USER20> But this is what is really interesting about it. If the US government moves to shut this casino down, are they admitting that bitcoins are money?

<comment><USER5> we are not a casino. this is a tiny side product built by a couple of guys over a couple of days to explore bitcoin.

<comment><USER20> Why are you not a casino? People gamble with bitcoins and can win more bitcoins. Your site describes itself as "Win Bitcoins playing classic exciting gambling games at our Bitcoin Casino. Fair and Verified Games. Instant Withdrawals."

My apologies if I've mischaracterized you, but a casino is "a public room or building where gambling games are played." bitino seems to clearly be an online variant of that.

(Edit: can't grammar)

</comment></comment></comment></comment><comment><USER21> I like the idea, but I could not even see the menu! I had this annoying video overlaying the menu: <http://pbrd.co/Z60dPK> It seems like it stuck in place.

</comment><comment><USER5> you can see the game in action here - <http://bitino.com/about/>

<comment><USER22> FYI, there are a few typos in that page:

      "ammounts" should read "amounts"
      "Private Game URL's" does not need an apostrophe
      "You muse keep your game" should read "You must keep your game" (I'm guessing that one)

<comment><USER5> fixed. thanks

</comment></comment></comment><comment><USER23> Flagged. Bitcoin is a scam designed to make money for early adopters.

<comment><USER24> You are aware of the fact that YC funds at least one Bitcoin related start-up, right? Flagging this for being a scam is a bit ironic, in the Alanis Morissette sense.</comment></comment>


FreeBSD 10.0-ALPHA1 now available - <AUTHOR> http://lists.freebsd.org/pipermail/freebsd-snapshots/2013-September/000042.html

<comment><AUTHOR> Just some of the news of this release:

        Switched to Clang from GCC;
        KMS module for AMD graphic cards;
        NFSv4.1 client implementation;
        BHyVe hypervizor integration;
        New optmimizations for UFS/FFS filesystems;
        Default DNS server switched to Unbound and LDNS from BIND;
        Raspberry Pi adaptations;
        Better support for ARM CPUs;
        Virtio;
        CARP2;
        pf now can will work better on multi-core systems
        New iSCSI stack;
        TRIM and LZ4 compression for ZFS filesystem;
        User-space filesystems (FUSE);
        USB Audio 2.0;</comment>


Instagram Uses DMCA Complaint to Protect Users' "Copyrighted Works" - <AUTHOR> https://torrentfreak.com/instagram-uses-dmca-complaint-to-protect-users-copyrighted-works-200130/ <comment><AUTHOR> Instagram used a DMCA notice to take down some code on GitHub because they didn't like how it used their API. How is that even legal?

<comment><USER2> This seems perfectly in line with the DMCA, as much as I disagree with it:

\- DMCA, circumvention means that there is a user attempting to "descramble a scrambled work, to decrypt an encrypted work, or otherwise to avoid, bypass, remove, deactivate, or impair a technological measure, without the authority of the copyright owner"

\- trafficking in devices or tools that help other people circumvent access- control and copy-control measures

That being said, it seems to be overly largely used for spam</comment></comment>


Docker Containers Riddled with Graboid Crypto-Worm - <AUTHOR> https://threatpost.com/docker-containers-graboid-crypto-worm/149235/ <comment><USER2> I won't use an image that I can't see the dockerfile for, even just to try it. If the image isn't an official image I usually download the repo and build it.</comment>


Facebook Figured Out a Family Secret and Won't Tell Me How - <AUTHOR> http://gizmodo.com/facebook-figured-out-my-family-secrets-and-it-wont-tel-1797696163 <comment><USER2> The more data we give FaceBook, Google, Amazon the more powerful they become. There is a good chance we don't even realize we are giving them data due to agreements in place between companies. I can totally seeing Facebook buying genetic data from 23&me, or family tree data from ancestry and using that to recommend people.

<comment><USER3> That is why I will NOT do ancestry.com's DNA testing kit. I fear WHO will get that information and WHAT they will do with it in the future. Maybe when I get older an insurance company will deny me health coverage because I showed a genetic marker for cancer or heart disease or ...

Let alone what government agencies may have access to this stuff.

I want to find out where I am from but not at the expense of privacy.

This stuff freaks me out and people are just like "la dee dah here is my DNA". _blink_

<comment><USER4> It's easy to get someone's DNA though. Strand of hair, etc.

<comment><USER5> I have trouble thinking that even the most monopolistic of companies today would put in the effort to collect the DNA of literally everybody by finding strands of hair or the like. If you you send it to them, though, that's another story.

<comment><USER6> Google drove cars taking pictures of every street around the world and even sent people with camera backpacks up mountains and the like.

It's not hard to imagine them doing something similar with DNA, beginning in public spaces like restaurants and coffee shops, before pursuing further out nodes on the graph.

<comment><USER7> Streetview information is public, your dna is not, google would get sued out into oblivion if they did this.

<comment><USER8> Aren't the hair strands and fingerprints you leave on public surfaces also public, just like any part of your private property that happens to be visible from the street?

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> FB buys a shitload of data to 'connect the world' but they don't have to disclose sources unless related to serving ads. They obviously use data sources to make both personal connections and targeted advertising work. While I agree that FB shouldn't tell this user how they figured her family secrets out, they really should let users opt out of all data sources with a button. Currently, in order to opt out you need to go to the sources but nobody will ever know _all_ the sources. This person didn't do much research. Perhaps, rather than contact FB she should have spent time creating her recommended list for a while then opted out from the data providers discussed [https://www.facebook.com/help/494750870625830](https://www.facebook.com/help/494750870625830) then she could have done a comparison. Opting out takes a lot of time and I assume it takes a while for these systems to update the opt out information.

I strongly believe that when online companies have a lot of personal information like FB they should not assume users will have a better overall user experience if the service uses offline data that the user doesn't explicitly authorize to be used in conjunction with their online account/profile.

</comment><comment><USER10> Create an anonymous account on Twitter.

Use the tags #firstname #lastname #fb and add public personal details about someone you know who works at Facebook.

Here is how:

1\. Go to LinkedIn and search for people who work at FB 2\. Go to Google and find everything you can about the person (bonus points for finding some embarrassing stuff) 3\. Go to Twitter and use the tags and post the info

If enough people do it, it will give the folks who work at FB a real taste of what it feels like to be on the receiving end of such disconcerting revelations.

But it gets better - you can now use the tags to find intimate personal information about other people! Just search for folks who work at Facebook and go and look them up on Twitter. If you don't find anything juicy, then why not take a few minutes to add something? Since Mark himself has declared that we live in the age where "privacy is over", I am sure everyone he would be overjoyed to watch this unfold.

Besides, the aggregation of such information at a single place will allow us to slice and dice the data in interesting ways. Maybe we can ask the very smart fellas who work at FB to provide us some kind of open source tool to mine that information. I even have a suggestion for the name of such a tool: OpenDox

<comment><USER11> Regardless of how egregious Facebook's behavior, encouraging behavior that increases exposure of people's personal details is not an appropriate response. If you think it's wrong for Facebook to do it, it's just as wrong for anyone else.

</comment></comment><comment><USER12> > such as when a psychiatrist told me that her patients were being recommended > to one another, indirectly outing their medical issues.

Facebook keeps recommending to me (I'm over 45) a bunch of young women with anorexia. It's creepy as fuck, and I hate it. They do this because I visit different mental health hospitals.

It should be obvious: don't use hospitals as part of the recommendation algorithm.

<comment><USER13> How does FB know where you visit? Assuming you mean physically visit, not just browse to their FB page.

<comment><USER14> Every page you visit that has a like button on it, facebook knows you've visited that website.. porn, news, whatever.. they know what you're looking at on the internet.

Even if you don't have a facebook account, you still get a cookie so they follow you online and build a profile of your browsing habits.

</comment></comment></comment><comment><USER15> She forgot about searches. If you search for someone, and browse to their timeline (I am not sure how many times this needs to happen), you will eventually be recommended to that person as "someone they might know," and vice versa.

<comment><USER16> Unless you read something in the article that I missed this wasn't the case. The suggested person, Rebecca, appeared in her "people you might know" list and she didn't dig in to figure out who it was until after that happened.

What isn't clear to me is if the investigation into the PYMK suggestions was because of the appearance of Rebecca in Ms. Hill's list, or if she was discovered as a suggestion during the course of an unrelated investigation into how the PYMK suggestions list is generated. Owing to the types of research-driven journalism I've come in across from her in the past, it was probably the latter, but I didn't read anything that directly stated it (or if it was, I missed it).

</comment></comment><comment><USER17> I think it's fairly obvious your father probably has a number in his phone of your grandfather or one of the relatives and so does Rebecca so it joins the dots.

<comment><USER18> But how would Facebook know that, if her father doesn't use it?

<comment><USER14> Maybe her father has WhatsApp installed, or Instagram

</comment></comment></comment><comment><USER19> > "People don't always like some of their PYMK suggestions, so one action > people can take to control People You May Know is to 'X' out suggestions > that they are uninterested in," the spokesperson wrote via email.

...providing Facebook with one more datapoint. I tried to use Facebook while limiting the amount of data it could gather, but quickly realised that it's pretty much impossible.

My current strategy is to add somewhat random datapoints, like hitting random keys and liking/attending those. Still, the results that come up that way are still pre-sorted by Facebook, and there's still a lot of high-quality data I provide Facebook with for them to deduct _a lot_. I guess it's just a simple step to make their work more difficult, having to also incorporate that their data might perhaps not be perfect.

</comment><comment><USER20> Someday we're going to get a WE/Lifetime thriller/suspense movie where families in some dead end murder case find their suspect through the "people you may know" feature, and are completely ignored by police "for reasons".

</comment><comment><USER21> I just assume if the Facebook app is on a phone it will use all resources - microphone, camera, GPS, contacts, email, and other contents - to make connections. It's all-pervasive and really inescapable.

<comment><USER22> _inescapable_ if you use Facebook. Pretty easy to escape otherwise.

<comment><USER23> That's a myth. Facebook maintains detailed data profiles on non-users.

<comment> Digit-Al Absolutely right! If you think you can avoid the tentacles of the beast, just look up "facebook shadow profiles" and think again.

</comment></comment></comment></comment><comment><USER24> What do they mean they don't know how Facebook found out? Facebook imports your contacts and then it uses a combination of data you give it and public records data and it just builds linked lists it then walks.

       'John Porter': { records: '1215 Wash Ave,Akron,OH, 555-0001', siblings: 'James Porter' }

       'James Porter': { records: '1215 Wash Ave,Akron,OH, 555-8901, firstname.lastname@example.com', contacts: '555-0001, 555-1234', spouse: 'Rebecca Porter' }

       'Rebecca Porter': { records: '1215 Wash Ave,Akron,OH, 555-1234, facebook.com/rebeccap, email@example.com', contacts: '555-8901' }

       'Jim Hill': { records: '9030 Stine Blvd,Miami,FL, 555-5678, email@example.com', contacts: '555-2345', children: 'Kashmir Hill' }

       'Kashmir Hill': { records: '9030 Stine Blvd,Miami,FL 555-2345, facebook.com/kashmirh, firstname.lastname@example.com', contacts: '555-5678' }

Because FP and JH are not on Facebook, we do not have the data connecting the two, so we have to find a path between them with more data.

A very creepy link is possible. For years, companies like Facebook have been compiling profiles on the habits of users browsing the web via tracking cookies. Additional data is collected over time until they know virtually everything about all kinds of people, even if they've never signed up for any website ever. It is very possible that just by browsing the web randomly built up Jim and James's profiles, and searching for the same funeral home created a weak (but potential) connection, which could then be strengthened by mapping other data between their mutual contacts.

But I suspect a simpler explanation exists:

 _" My father was adopted by a man whose last name was Hill, and he didn't find out about his biological father until adulthood. [...] A few years ago, my father eventually did meet his biological father, along with two uncles and an aunt, when they sought him out during a trip back to Ohio for his mother's funeral. [...] My father had met [Rebecca's] husband in person that one time, after my grandmother's funeral. They exchanged emails, and my father had his number in his phone."_

So Kashmir's grandmother _died in Ohio_ , and her father _knew her_ , and _so did his biological father_ , and _so did Rebecca 's husband_. If the grandmother ever had a Facebook, and her son's and her son's father's phone numbers, she would provide a link between Jim and James, and thus a path from Kashmir to Rebecca. Rebecca might also have had Kashmir's grandmother's phone number. If the grandmother and grandfather also were ever married, or lived at the same address, public records could link them.

Regardless of the connection, if you add enough data from enough people over time, even if they are 6 or 7 or 8 links away from each other, the connections can be made, without even creepy tracking stuff.

(Apologies in advance for the huge post)</comment>


Google Keep's Already Shaky Ground - <AUTHOR> http://techcrunch.com/2013/03/18/google-keep-spring-cleaning/ <comment><USER2> Plus the product doesn't even work right with the page asking for me to reload it in a constant loop with only two small notes added via Chrome. Piece of junk.

<comment><USER3> so quick to dismiss it... who do you work for?</comment></comment>


Ask HN: Shifting from Security Consulting to pure development - <AUTHOR> How would one break into pure SRE roles after 4 years in cybersecurity consulting (network securtity). <comment><USER2> It might be hard as you need a demonstrable development experience. I'd assume most network security consultants don't really have that. Either have some open source projects on GitHub that demonstrate you are an actual programmer and can write decent code or get some development perm job (doesn't need to be SRE necessarily) for couple of years to build that experience.</comment>


Random in the wild - <AUTHOR> http://www.tedunangst.com/flak/post/random-in-the-wild

<comment><USER3> My own favourite random() in the wild bug is one that I've come across many many times:

        /* Generate a random number 0...5 inclusive */
        int r = random() % 6;

The problem is that this results in a bias towards certain values, because the random() return space is probably not a whole multiple of the number you are modding. It's easier if you think what would happen if RAND_MAX were "10". Then the results 0,1,2,3,4 each have two opportunities of being selected for r, but "5" only has one. So 5 is half as likely as any other number. Terrible!

Using float/double random()'s don't always help either, because floating point multiplication has non-uniform errors. Instead, what you really need is:

       int random_n(int top) {
           if (top <= 0) {
                return -1;
           }

           while(1) {
               int r = random(top);
               if (r < (RAND_MAX - (RAND_MAX % top))) {
                    return r;
               }
           }

           return -1;
        }

Although it's better to replace random() itself with something that uses real entropy.

<comment><USER4> On my machine RAND_MAX is 2^31-1. So getting the probability wrong in the way you describe means a relative error of one in two billion. That's really quite small for non-critical applications.

<comment><USER3> It's not so simple. The larger the modulus, the larger the error; up to a limit. If the modulus is 2^30 + 2^29 for example, then values of r in the range 0 ... 2^29 will be represented twice as often as values in the range (2^29 + 1) ... (2^30 + 2^29). This is much more significant error than one in two billion (it's close to 1 in 3, nearly ten orders of magnitude more significant).

Subtleties like this are hard to detect on code review, and even in testing ... the real lesson may be that the very interface behind random(void) is just broken. It really should be random(int) and take care of all of this for you, as many other languages/libraries do.

<comment><USER4> Yes, you are right, I didn't think of really large moduluses of magnitude comparable to RAND_MAX.

</comment></comment></comment></comment><comment><USER5> This sort of code is one of the motivations behind improving the random number generation facilities available in C++. If you're using C++ or you're using C and have the option to link with C++, I strongly recommend looking at the random number library introduced in C++11 [1]. In addition to letting you specify a statistical distribution (including a proper uniform distribution for both integral and floating-point types), it lets you choose between various PRNG engines with various trade-offs. It also provides a way to source hardware entropy with which to seed an engine, and it's all pretty easy to use.

*[1] en.cppreference.com/w/cpp/numeric

<comment><USER6> It's nice to make it clear what distribution you're going to get from a PRNG, or what the performance characteristics are going to be. But for cryptographic randomness (the subtext of 'tedunangst's post), what you _don 't_ want are a bunch of knobs and dials. What you generally need is a guarantee that your RNG interface is feeding you data from the system secure random number generator --- either urandom or CryptGenRandom.

I'm also not sure what "hardware" has to do with that guarantee.

One example I can think of where a standard library got this right is Golang:

[http://golang.org/pkg/crypto/rand/](http://golang.org/pkg/crypto/rand/)

<comment><USER7> FWIW, the C++ random number library is very much _not_ meant for cryptography. This is obvious when you see the weak guarantees given by std::random_device: on Windows, libstdc++ will actually use the Mersenne Twister with a hardcoded seed, _and this is standard-compliant_! Additionally, every engine included in the library is not cryptographic at all.

The Boost random library actually does the right thing, and states that boost::random_device must not be implemented where a proper source of random bits is not available. The standard tries to be all things to all people, and std::random_device ends up being useless for any serious application.

As a mathematical random number generation library, the C++ library is much superior to its Go counterpart, math/rand.

</comment></comment></comment><comment><USER8> I would've appreciated if you'd annotated each snippet with the source so as to make it easier for us to find the program it came from. One interesting question to ask next would be, what do these programs do with their random numbers? And so, does the quality of the stream or the non-repeatability of it matter at all?

<comment><USER9> Since he's mocking and snarking at each snippet, I think adding pointers to the sources would make it come off as an incitement to make fun of the authors, and rather more mean than he intended. An alternative would be to add direct citations but tone down the snark. I think Ted wanted to focus on the code examples themselves, and to make an overarching point about how "rand" is actually used in practice.

That said, if you want to figure it out, he did say they were "selected examples" from this list of projects: [http://marc.info/?l=openbsd- tech&m=141776286105814&w=2](http://marc.info/?l=openbsd- tech&m=141776286105814&w=2) Also, you may be able to google for exact text matches with the code. (You might find _other_ projects that have the exact same problem--but that is likely good enough.)

<comment><USER10> There was a particularly egregious example near the end that a simple Google search definitively found only one copy.

</comment></comment></comment><comment><USER11> My favourite bit is: "Take 16 bytes of random data. No, wait, make that 15 bytes. Then hash it to four bytes to really squeeze the entropy in. Then seed."

Good article

</comment><comment><USER12> With all the comments author makes about nonstandard and crazy behaviour, he actually misses some practical solutions and makes fun of them.

"The one operation that was not observed was substracting the pid from the time. More research into this subject is warranted."

It's actually simple (even if still not effective on pid wraparound) - <USER2> numbers grow, at a rate of at least 1 per program execution. Time grows at around 1 second per second. If you substituted pid from time, there's a good chance you would get the same seed by running the app twice in a row.

So it's added instead, so that it always grows. And we pretend the wraparound happens very rarely.

Broken behaviour? Sure. Practical solution that works for 99% cases where non- critical randomness is required? Definitely.

</comment><comment><USER13> For cryptography, there's really no reason to use rand(), mt_rand(), or the other insecure variants. No excuse, I should say.

Just use urandom. Or getentropy() if your OS supports it.

If you're not using it for cryptographic purposes, then I don't see why it matters. :)

<comment><USER14> There are all kinds of apps that might not need crypto quality randomness, but do at least need the random number streams to be different between invocations of the program! A Monte Carlo simulation that always gets the same results isn't going to be too hot. A game that seeds the RNG with 16 bits of entropy will be fine for a single player, but not for a community. (Think of FreeCell or Minesweeper in Windows, though those might even have been just 15 bits).

<comment><USER4> > A Monte Carlo simulation that always gets the same results isn't going to be > too hot.

A Monte Carlo simulation absolutely needs to be able to produce the same numbers every time if you want to have a hope of debugging it. In a release version, yes, sure. But even there, people will still have concerns about replicating other people's results, so being careful with random seeds is important.

<comment><USER15> There's a difference between "always uses the same seed" and "can be seeded for reproducibility". You probably want the latter and probably don't want the former.

</comment></comment></comment></comment><comment><USER16> > Perhaps there is a reason why software like Lua, Python, and Ruby all > include their own implementation of a Mersenne Twister.

As far as I know, Lua does not include Mersenne Twister. math.random() is just C rand().

<comment><USER17> Also MT still has to be seeded, it is not crypto-safe and its quality/computational load ratio is not too good.

<comment><USER18> It's far more complex than it needs to be. If you want a fast, high quality deterministic RNG, use something from the xorshift family.

<comment><USER19> This is a good article describing fast non-cryptographic RNGs: [http://www.drdobbs.com/tools/fast-high-quality-parallel- rand...](http://www.drdobbs.com/tools/fast-high-quality-parallel-random- number/229625477) [http://www.drdobbs.com/tools/fast-high-quality-parallel- rand...](http://www.drdobbs.com/tools/fast-high-quality-parallel-random- number/231000484)

CMRES is quite impressive, I get ~1500 MB/s out of it. Quite useful for generating large unique files for various testcases.</comment></comment></comment></comment>


Facebook's code quality problem - <AUTHOR> http://www.darkcoding.net/software/facebooks-code-quality-problem/ <comment><USER2> Funny, mostly because these three exhibits (and I'm pretty sure there's plenty others) are a blatant proof of the issue with hiring young programmers (read "no one over 30")...

The evidence here is three times "If brute force doesn't solve your problems, then you aren't using enough." which is the route chosen by uncultivated people in any domain. (myself included)

Among which I often hear: \- "Just add more RAM, it doesn't cost much nowadays!" \- "Just push it to <insert well-known hosting plaform, preferably A.z.n> using <insert overhyped virtualisation platform>" \- "Just use to NoSQL, it's faster!" (sigh)

<comment><USER3> Whenever my previous team leader would suggest "just" doing something I took it as a sign that he hadn't actually thought things through very thoroughly.

</comment></comment><comment><USER4> >Culture matters. The "Hack" and "Move fast and break things" culture must make it very hard for developers to focus on quality.

Every now and then production questions the business value for this. Recently my company released a new game feature and we had to throttle it back in a hacky way immediately as user did not like it. However the database calls and code are still being executed. Now the business does not want us to revert the code (or re-implement the throttle in proper way ) as they see no business value in that and fear of breaking other things as part of this "unnecessary" code changes.

I tried to explain that we just stopped the feature as it was an emergency as we did not have time to revert and re-push the server. This feature was well tested (not a brand new feature ) so we did not have a throttle . We found a hack and manage to stop the feature so that users are not outraged.

May be the right decision was not to tell about the hack to the business at all. They would have have to wait till we revert the code properly and re-push the server. But as an engineer you worry about the product as well, we I could not resist .

</comment><comment><USER5> I must say I haven't smiled so much as with Exhibit C: Our site works when the engineers go on holiday

In their defense I wouldn't be surprised if many companies had similar graphs especially as there was no Y axis and there is no cost associated with incidence, but still worth a chuckle.

As for just tossing more engineers at a problem it is going to be painful when they decide to stop adding engineers to work on the iOS app. Suddenly you don't have new devs with nothing on their plate ready to make new software, but all you have is engineers that are spending most (if not all) of their time maintaining what they have so there will be not many devs free to build stuff and those that are will take a while to get it done given the little free time they have to devote to the effort.

This has played out many times before at many other companies. Soon a little group will be formed to reduce the technical debt and improve the architecture. They will do their best, but have a hard time unless there is a fundamental shift in culture (think Microsoft with security in 2003).

</comment><comment><USER6> Pretty much everyone I know who is a programmer ( including myself ) has been receiving spammy non-solicited recruitment emails from Facebook ever since their IPO. I've been predicating this decline in code quality for years.

Facebook is also rather aggressive with their recruitment. I've specifically asked them on multiple occasions to NOT contact me with job offers. Facebook straight up ignores these requests. I've now been contacted by at least three separate Facebook recruiters. Mind you, I've NEVER applied to work for Facebook and I don't even have a Facebook profile.

<comment><USER7> They must be limiting these searches geographically, as I am in Dallas and have only been contacted by Facebook once, ever.

Amazon, on the other hand...

</comment></comment><comment><USER8> I'm sure a lot of people already suspected this, in 2013 a Facebook engineer proudly stated that they've hacked their way around a dalvik vm limitation[0] for their app to work on Android 2.2-2.3.

It's the attitude that "hacking things to work is okay" is causing extremely bad reliability issues even when using a top of the range android phone or latest iOS device.

Have they ever thought that maybe 18,000 classes is a bit too much?

Absolutely nightmarish way of working.

[0] [https://www.facebook.com/notes/facebook-engineering/under- th...](https://www.facebook.com/notes/facebook-engineering/under-the-hood- dalvik-patch-for-facebook-for-android/10151345597798920)

</comment><comment><USER9> Anyone who has spent enough time looking at the source code of projects like Apache Thrift and React can see this problem.

Look at the code on those projects and compare it to the code on project's like Google's Closure.

It's night and day.

<comment><USER10> Do you have any examples you can point to? Just curious.

</comment></comment><comment><USER11> It's in PHP, so what do you expect. ;) jk

<comment><USER12> Nearly 300B market cap - actually way more than I would expect. This elitist attitude needs to stop. The user doesn't give a shit about your technology. If your preferred technology mattered at all, you be able to compete easily at 1/1000th the scale at a minimum. Yet you cannot even do that.

<comment><USER13> this is a often used arguments but it seems to answer the wrong question :

facebook didn't become popular because it had technical abilities or qualities that no other companies had. i mt became popular because of good product features and good marketing ( in the most general sense). So, to them, using a bad technology wasn't such a big deal.

it doesn't mean php is good, it just means that some businesses can afford a bad technological stack. Even online ones.

now, as software developpers, we should try to use the best technology whenever we can ( with best being relative to the business constraints of course).

But commercial success and technological achievments are two different things. sometimes they're linked (think whatsapp), sometimes not.

<comment><USER12> I agree and you are saying the same thing I did. I just pointed out that dogging on a company's technology choice, because you don't like it, despite the company having ~300B market cap, is silly, especially since the article talks about iOS, the # of engineers, and their company culture of moving fast & breaking things. That has nothing to do with PHP itself.

It is extremely rare that an internet company fails because of their technology choices. At the end of the day - the user does not care about your technology. They only care about the user experience and the value your product delivers.

</comment></comment></comment></comment><comment><USER14> 429 devs for one app? WTH.</comment>


Ask HN: Python 2.7 book, any recommendations? - <AUTHOR>

Hi, I've just read trough the Python 2.7 tutorial and want to get in more deeply. I want a book targeted at beginners and it would be cool if it teaches programming too, not just the language.<p>Thanks. <comment><USER2> Dive Into Python is a good start, you can find it at:

\- <http://www.diveintopython.net/toc/index.html>

Of course you can also just buy the book.

If you're a bit more familiar to programming, try Zed Shaw's Learn Python The Hard Way:

\- <http://learnpythonthehardway.org/>

Though 'The Hard Way' is obviously not for the novice completely new to programming it does teach a bit more than just the language, things that make you into a better coder.

You'll also find a comprehensive list at:

\- <http://wiki.python.org/moin/BeginnersGuide/NonProgrammers>

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER3> I always recommend:

Think Python: How to Think Like a Computer Scientist <http://www.greenteapress.com/thinkpython/>

It's a pretty good overview of basic concepts of Computer Science, it's focus is Object-Oriented but does cover functional programming as well.

I would also pair any of the suggestions offered here with <http://pythontutor.com/> adding the visual component of program execution will help absorb the material much quicker and get you used to the nuances of python.

</comment><comment><USER4> To learn CS, Programming, and Python, I'm currently working through:

6.00x (MIT's edX Intro to CS course), Python <https://www.edx.org/courses/MITx/6.00x/2012_Fall/info>

CS101 (Udacity's Intro to CS course), Python [http://www.udacity.com/overview/Course/cs101/CourseRev/apr20...](http://www.udacity.com/overview/Course/cs101/CourseRev/apr2012)

Python the Hard way (Zed Shaw's online book), Python <http://learnpythonthehardway.org/book/>

Code Academy, (Python track), Python <http://www.codecademy.com/tracks/python>

I consider 6.00x and CS101 to be my CS foundation and Python Hard way and Code Academy to be brush-up on the Python/programming. Working through all these in tandem really hits my brain in 4 different but complementary angles.

</comment><comment><USER5> "A byte of Python" is the best book I've seen so far that caters to a beginner audience. All you need to know about computers to read this book is to how to save text files. Really engaging.

<http://www.swaroopch.com/notes/python/></comment>


The 21st century guide to platform trolling: Apple edition - <AUTHOR> http://arstechnica.com/apple/guides/2010/10/the-21st-century-guide-to-platform-trolling-apple-edition.ars

<comment><USER2> The irony is, of course, that this article is trolling. I got so far as where they pretended that the 13" macbook doesn't exist and gave up. Of course, there's no way anyone would ever use an iPad for the same purposes that people bought 12" laptops in the past.

I continue to take the position that ars technica is an Apple bashing site pretending to not be.</comment>


Heads-up limit Texas hold 'em poker solved by University of Alberta scientists - <AUTHOR> http://www.cbc.ca/news/technology/heads-up-limit-texas-hold-em-poker-solved-by-university-of-alberta-scientists-1.2893987

<comment><AUTHOR> See the paper here [http://www.sciencemag.org/content/347/6218/145](http://www.sciencemag.org/content/347/6218/145)

</comment><comment><USER2> FTA: This is limit poker with no-limit poker considered intractable</comment>


Video Editing in React Native - <AUTHOR> Hello
I am stuck with video editing in React Native.
If anyone here has any feedback/experience in this then please shoot me a message. I'd buy you coffee or a shot if you are in Palo Alto
Thanks in advance <comment><USER2> If anyone has any resources for iOS and AVFoundation, HMU.</comment>


US has spent 1,000,000,000,000 dollars ($1 trillion) on a failed war on drugs - <AUTHOR> http://www.unityrehab.com/rehab-corner/drug-rehab-instead-of-incarceration/

<comment><USER2> Why is this Hacker News? In my opinion, less is more, and we could use a little more focus on HN. Another sub HN, perhaps? :-)</comment>


The battle for Wikipedia's soul - <AUTHOR> http://www.economist.com/research/articlesBySubject/PrinterFriendly.cfm?story_id=10789354

<comment><USER2> This is pretty weak for the economist. I've been reading the same article, written in different words, for at least five years now.</comment>


Hell is a stylish shared office space - <AUTHOR> http://www.alphadevx.com/a/512-Hell-is-a-stylish-shared-office-space <comment><USER2> I spent nine and a half years with my own office (right out of school, too; I was quite lucky to have that) and while it wasn't much, it was mine. I then moved to a much better position with a more open concept. Not ultra-trendy- start-up open, but still with nine people in one room. The effect on my ability to concentrate has been very noticeable. If there is more than one conversation going on in the room, I need to get up and leave until it's over; I can't accomplish anything. I wouldn't go back to my previous position for anything, but I do miss my office.

</comment><comment><USER3> "Instead [at lunch] you will sit with your own company teammates, so that you can talk freely about your current projects and issues."

What seems more hellish to me, is teammates that can't shut up constantly talking about work during breaks.

While I see problems with shared office spaces, exchange with or people from sometimes completely different domains during breaks is the biggest plus for me. At least from experience in Switzerland and Colombia.

<comment><USER4> I apologise I'm super guilty of this, I don't like small talk and share next to no common interests with colleagues.

What would you prefer?

</comment></comment><comment><USER5> I sympathize with the author, open spaces were invented to function as a hipster panopticon and to maximize landlord gains.

But these rants sound very passive aggressive. Maybe it's a cultural difference which makes it harder for me to understand, but can't you just ask to turn on/off the heating, ask the dog owner not to let their animal invade your space, ask the office owner to alert you about repairs, etc.?

A simple solution i found to this problem is to work at old people cafes, or better yet in a retirement house.

Extra cozy, extra safe, nobody disturbs you, you get free cake/coffee/tea, freelance gigs and the occasional invite to date their daughters

<comment><AUTHOR> I have complained about some of these issues, but been ignored. I mentioned that in the blog entry. I really don't think it should be my job to roam around the building, asking people to keep the noise down, take their dogs back, stop hammering etc...

* Edit for typo

</comment></comment><comment><USER6> I can't imagine such a work situation appealing to anybody other than extreme penny-pinchers, or maybe fresh grads, straight out of colleges. This sounds exactly like trying to get work done in a university library or study hall. If you've never known anything better, or you're the kind of person that needs that social stimuli, I can imagine you might think it was normal enough; I couldn't do it then; I'd work alone in my room or buried in the stacks. And now? Forget about it.

<comment><USER7> I work for a fully-remote company and a number of our engineers choose to work from coworking spaces like WeWork. It's entirely their decision and I guess they miss the atmosphere and social interaction of an office.

<comment><USER8> Or they have kids (or spouses) too immature to respect the sanctity of the home office during working hours.

<comment><USER9> Not everyone has a home with a dedicated space to put a home office, either. When you have to work out of your bedroom, a distinct office away from home quickly becomes useful. Not every problem with remote work and distractions is a result of personality flaws.

</comment></comment></comment></comment><comment><USER10> We have a "private" office in a WeWork. For me the worst part is the desk itself, it's totally substandard as a task desk. Same with the chairs, people joke about the college analogy but I had better desking as a college student. Secondly, a lot of the interior decisions are questionable, such as the pendant light that casts glare on my monitor.

Also the music in the common areas is irritating and I even like some of the songs they play.

<comment><USER11> The WeWork environment is a nightmare. Fishtank offices, music they must buy by the MB blasted all over the place... and they charge as much as a nice private office in some corner of a larger business. All to be surrounded by hipsters with two-person marketing firms and no business plan. I assume they're going to help with networking. A basement is an infinitely better workspace.

</comment></comment><comment><USER12> I was just meeting/working at the largest WeWork anywhere, in Moorgate London. I like the atmosphere, my 'but' would be noise levels. It only takes one loud/noisy neighbour and your concentration is gone. Multiples of that makes it hard to have a meeting, where you may well also be disrupting someone else's day by making too much noise.

Therefore more sound proofing is needed...

<comment><USER13> I work remote and regularly work from coffee shops where the noise level is high. I find I am quite able to block out the noise/distractions fine in that environment.

I also go into the office occasionally (which is an open layout) and my productivity plummets. Less so because of the noise, but more so because the conversations being had around me have some relevance to me. And if I can help clarify something than I will interject. But the problem for me isn't noise, it is relevant noise where I subconsciously listen for something useful. Also with that you have people coming up to your and asking questions, because there is no indicator of "I'm busy right now" like a closed door in an office.

</comment></comment><comment><USER14> I think open shared office spaces are an effect of high rents in Sillicon valley and major capital cities. Startups having limited capital rarther spending it on employees salaries getting more head count. Shared space is not effective for concentrating during coding.

I doubt shared spaces has been evaluated for effectiveness versus personal office. Shared spaces may be a cause of people working remote.

<comment><USER15> Is there any advantage to a shared space? It seems like the sort of solution where you're working solo anyway, so there's no reason to have the team all there...

<comment><USER16> For small teams, the ability for people to jump into a conversation which began without them can have value.

If you are a 6-person team, and when two engineers say "Hey, we'll probably need a design for this", the designer can hear this (if not in deep concentration) and join the conversation without any slack messages needed. This sort of 'free triage' has some value, not sure if it's net advantage when accounting for distraction costs though.

Price is probably the clearest advantage: you can fit more people into an office without walls.

<comment><USER15> Sorry, I didn't mean an open office space - I mean literally a shared space, where you hotel desks, etc., and are surrounded by non-employees.

<comment><USER16> If you're solo programming, can be nice to have other people to have lunch with or discuss technical problems, but depends a lot on the atmosphere of the shared space and how sociable you are.

</comment></comment></comment></comment></comment><comment><USER17> It seems like every study and every data point is all saying the same thing: with exceptions made for meetings and occasional gatherings _when physical proximity actually matters_ the vast majority of tech workers prefer to telecommute themselves, are more productive when telecommuting, it's obviously cheaper for the company to not rent absurd amounts of space where they can pay employees to be physically present and less productive, etc.

So why exactly are we still having offices at all? Seems like if I were going to start a business today, I'd occasionally rent a meeting room and otherwise not have any real estate actually connected to it, aside from maybe a server room in my home or something. Why are we so obsessed with having physical locations for companies? Is this just a fad that won't die?

</comment><comment><USER18> I was very impressed by the WeWork offices in southern california. Modern, maze-like, soundproofed rooms, conference areas spread around (multiple floors). It was a little cumbersome to get in to with all the security, but was otherwise delightful.

</comment><comment><USER19> One unintended consequence of cramming 3-4x the amount of people into a building designed in the 60s/70s for offices is the influx of traffic. On top of that, parking becomes very problematic.

On top of that bathrooms and kitchens are harder to maintain, though admittedly those can be more easily remodeled.

May not be a huge deal in the city, but definitely in a lot of office parks in the 'burbs I've been in.

<comment><USER20> Silicon Valley: Welcome To The Gongsi Fong.

</comment></comment><comment><USER21> People working from home is not a failure of modern office design. It is a failure of the core concept of the office itself. It no longer has value to offer. Originally, factories were necessary because physical colocation of workers was physically necessary. It was a sacrifice, an overhead taken on that created its own problems but which paid for them in overall benefit. Those benefits are now gone. Offices are now dead weight, an inefficiency that will be eliminated (as will be the unfortunate few barnacles who cling to their underbelly and previously solved some of the problems offices invented). Maybe not tomorrow, but eventually they will. They destroy value, and add none.

</comment><comment><USER22> I've never worked at a WeWork, but I've worked at shared office spaces before and I never had issues with the other people renting offices. Maybe it's the clientele WeWork attracts.

</comment><comment><USER23> Not that I disagree with the specifics here, but I think there's a happy medium to find. Individual boxed offices for every employee is not efficient use of space most of time. While it's popular to kvetch about open plan offices now, when the pendulum swings back there's plenty to complain about the isolation and dead air of a private room (most are no bigger than closets).

Personally, I think the move towards working from home is tremendous. Perhaps it is a failure of office, but maybe that's okay. Offices are something of a hold-over from the days of the Empire State Building and insurance companies with 10,000 employees processing hand written forms. Maybe open plan offices with the expectation that most folks wont spend all their time there is a better default?

<comment><USER24> This blog post is complaining about office space shared with other companies in the Style of WeWork, not open plan office spaces.

<comment><USER23> My bad ... I tldr the whole thing and didn't get to the WeWork part :( #readerfail

</comment></comment></comment><comment><USER25> | Overhead lights that switch off after a certain time if no motion is detected. I have even had this happen to me in the toilets :-)

Ah, so you're the guy on his phone in the toilet, occupying a stall for way longer than necessary, while others have to wait. Thanks, buddy.

<comment><USER26> I've seen this too.

I think it's probably an ADA violation, because it must cause completely unnecessary problems for people with mobility issues (not everyone can easily wave their arms around over their head while using the restroom).

Edit: I actually know nothing about the legal nuances of the ADA, but it certainly seems to violate the generally understood spirit of the law.

<comment><USER27> We have this in our normal office, but it isn't motion detection it's sound and it's only in "power saving" mode after normal office hours. So if you are working late and going to be in the bathroom for more than 5 minutes you have to remember to clear your throat every few minutes.</comment></comment></comment>


Cognitive Dissonance: Why Your User's Brains Hurt - <AUTHOR> http://www.fuelyourcreativity.com/cognitive-dissonance-why-your-users-brains-hurt/

<comment><USER2> One thing that helps me in this sort of situation is that I've decided a lot of the time I don't need to make the "best" decision, I just need to make a "good" decision. The increase in "value" of picking the best option over another good option is less than the effort of figuring out which option is best.

One of the things that got me to that conclusion were managers at work who kept changing their mind about what needed doing.

We'd get half-way through one project, and then they'd decide that a second project was more important/valuable so we'd drop the first and start work on the second. Ditto with a third. The result being that although these successive projects were theoretically increasingly valuable to the company, the fact that none of them got completed meant almost no value was actually created! Not to mention morale was pretty terrible.

Pick one thing and _do it_. Even if you later find out it's not the best thing you could be doing, providing it's still a good thing to be doing, finish the job anyway. If the thing you're doing is useless (or worse), sure, fuhgeddaboutit. Until then, stick with a good decision, even if it's not the best.</comment>