"Today we moved into our new Facebook building" - <AUTHOR> https://www.facebook.com/photo.php?fbid=10101999874192881 <comment><USER3> I would literally switch jobs (and perhaps careers, if every company was like this) if forced to work in an open office like this. I cannot work that way; I can't focus.

I realize that I'm adding nothing constructive to this thread; I don't care. Maybe some manager somewhere will see this and a hundred other anecdotal opinions and think twice about open offices.

I am the opposite of a prima donna. _I just want to work._ I want to make awesome stuff, keep my skills sharp and make the company some money. Preferably lots of it.

I'd be fine with an office that's literally 5x5', a desk, a door, a wifi connection, and some shared working areas for when it's time to collaborate. Because yes, collaboration is crucial (and fun) but if I have to hunt all over the damn building for a bit of quiet space (that might not even be avaiable) when it's time to bear down and do some solo coding then this is not going to work.

Hell, I'll even bring my own damn desk, chair, and laptop. Supplied my own laptop to my last two jobs. No big deal. I'm an engineer; I get paid decently. But I need a freaking _place_ to _focus_ for at _least_ half of any given working week - and sometimes, for close to the entire week.

I don't need: famous guest speakers, catered food, fancy architecture, anything. I wouldn't even care if the office was a poorly-insulated garage that gets cold in the winter. I'll bring my own $20 space heater that will heat a 5x5' office just fine.

What I can't have, if you want me to get any work done, is multiple simultaneous conversations taking place five feet away from my head all day long.

<comment><USER4> This is why I only work remotely.

Too many tech companies are up their own asses with how hip and cool their offices are. I just want to work when I want, how I want, and in an environment of my own choosing. I 100% understand that collaboration needs to take place at certain times and I really do enjoy the collaboration of remote work with other employees. However the "collaboration" that takes place in these types of offices is just wheel spinning and time wasting. It truly is the art of not working. It's all about how you look in front of managers (who are really only interested in asses in chairs and looking good to their managers...the cycle of doing nothing continues).

I really prefer having all hands with other remote employees 6-10 times per year where everyone is together in the same room. The meetings and collaboration that comes out of these is much more meaningful. Time is of the essence so we make it count.

<comment><USER5> "However the "collaboration" that takes place in these types of offices is just wheel spinning and time wasting."

I enjoyed how you phrased that. I work at a giant multinational and yes yes I know all about the stereotype that innovation only comes from the tiny little startups on HN, but innovation flows both ways, like it or not, and over the last decade one megacorp major cultural shift I've seen is collaboration only happens in email because its documented and highly accountable. If you really want to share opinions or idea or requirements or demands in a verifiable documented backed up permanent fashion then you put it in email. You don't have a "real" opinion until its written down and sent in email.

If you just want to talk about sports or the weather or gossip about colleagues or lie to someones face about a due date or product change or a spec, you exclusively do that verbally on the phone or in a meeting or text. Non email based collaboration is seen as a fake waste of time, because, lets face it, it is. If you're too much of a coward or crook to put your name to a statement, then its not worth reading. If someone refuses to document what they're saying in email or a bug ticket they are pretty much treated as liars or ignored. Its an interesting cultural shift. I have one older boss (yeah office space style I have a couple bosses, informally) who is all about the "personal" nature of a phone call or meeting, but its always super ineffective. He's still a nice guy and overall a good manager, but "old people thinking" is holding him back compared to the other mgmt who have moved on with the times.

It seems to work extremely well, especially with multi-office, multi-timezone, multi-national, multi-company teams. (edited to add, and this factors into the "scalability" mantra heard so often on HN... don't set yourself up to fail, operate like a big company from the start) And violating the "new way" by only communicating verbally or in meetings seems to dismally fail fairly often.

This large company innovation will probably spread to the smaller companies sooner or later.

<comment><USER6> This is interesting to me, because I work at a large company and I've found it to be orchestrated slightly differently. If you want/need something done here, the fastest way is to set up a face to face appointment and put yourself in someone else's calendar. If you don't, things will drag on for months of email back and forth. If you do, things might last two hours, you'll probably leave with a solid plan, and then usually someone sends a 'summary' email that lists every commitment made in that meeting (which keeps everyone honest) along with the dates people agreed to get them done by. If there's disputes about that, they're then handled there, but if you seem to always get the wrong idea from meetings (or always dispute what you said in them), it'd probably reflect badly on you.

<comment><USER7> I've worked with plenty of people who seem to believe that. It's really frustrating when someone derails an informative, productive, asynchronous email discussion with "let's just have a meeting" or "here, let me just call you" as though dropping everything and sitting around waiting for people to finish their sentences will somehow make the underlying problems easier to reason about.

I guess it must work for them, and I have gathered over the years that I must be something of an outlier in my comfort with and preference for communication via writing, but god I wish we could just cancel all meetings forever and just solve things simply and quickly via email.

This is one of the reasons working for Microsoft was an exercise in misery. People who haven't worked there have trouble believing me when I describe the amount of time people there routinely waste in bullshit status meetings. It was maddening.

</comment></comment></comment></comment></comment><comment><USER8> People always talk about the terrible NOISE in open office plans.

For me, I hate the feeling of BEING WATCHED. It's just unnerving. There's people all around me with low cube walls...

* I want to stare ahead as I focus - someone's looking at me.

* I have my big headphones on and am rocking to the music - someone's looking at me.

* I wanna put my head down on desk and think - someone's looking at me.

* I check gmail - someone's looking at me

* redit break - someone's looking at me

* I scrape off dry snot caused by the super-dry office air - someone's looking at me.

* I'm working - someone's looking at me

I just can't be in my own head when I'm so surrounded by people... always there... always right. behind. me.

<comment><USER9> I second this. For me it's not even about being watched. It's that unnerving feeling of presence of other people that often makes me unable to focus in open-space setting at work. I had that since forever - even as a kid I aways closed the door to my room. I'm usually the last person to leave the office and when I see a cow-orker of mine staying late I start to feel irritated (saying in my head "hey, this was supposed to be my time for focused work!").

Funny thing is - I'm not an antisocial person. I _love_ people. Just not when I'm trying to focus on something. Then the very presence of others makes me nervous.

And yes, when I'm focused, I like to talk to myself out loud, lie down on a couch to think, rock to music and draw a lot (when designing something). All those things look silly and I'm uncomfortable doing any of it when not alone.

<comment><USER10> Being around people usually engages various parts of the brain that are involved in being aware of the local situation. Even if you're not interacting to someone, some amount of monitoring happens to maintain the brain's model of the local environment that we actually experience. This would include stuff like tracing the locations of people/stuff in the room, checks of stuff like body language or subtle social indicators, and probably a long list of other tiny checks that we never really notice consciously.

The problem is that some of the areas of the brain that do that processing are also used when handling other complex tasks such as programming. This overloading of processing areas will vary from person to person, of course.

This problem is the main reason I could never work in an open office, and have serious productivity problems even ion an office shared with only one other person. It's not that they are interrupting constantly or otherwise distracting in the commonly-used sense. If there are people around, I have to be _aware_ of them, which wastes mental CPU time and introduces cache-flushing context switches at annoying times.

</comment></comment></comment><comment><USER11> _a single room that fits thousands of people._

What a nightmare.

These "glass palace" offices may work for bankers or marketing teams. For programmers you could just as well plant their desks into the middle of a mall.

<comment><USER12> The offensive part is the people who say that open offices are MORE EFFICIENT than a traditional office. I have a hard time believing that one.

Given how high programmer salaries are, the productivity loss due to open offices is almost definitely more than the office space savings.

It seems like an introvert/extrovert thing. The introverts would prefer a quiet working space (and they're usually the best workers), but extroverts want the easy communication (and they're usually the bosses).

Even small team rooms of 4-10 people get annoying when the other person has a smelly meal, has a cold, prefers a different temperature, or listens to music on his headphones so loudly I can hear it.

One of my favorite jokes is when a job ad says "We provide headphones so you can concentrate!" as a serious job perk. How about a quiet space?

<comment><USER13> I love how $100 billion companies with a hair (~11%) shy pf a billion - <USER2> _billion_ users, active, d-a-i-l-y and run by 9,199 employees (for a company value of $1 million per empoyee down to every last employee including someone taking out the trash, and likewise meaning each and every last employee has whole army divisions, a _hundred_ thousand users, they account for --) - suddenly doesn't know as much - to an OFFENSIVE extent - about productivity as someone who has time to post 5 paragraphs about it. There is someonething offensive here indeed.

* 3-4 month old figures: [http://newsroom.fb.com/company-info/](http://newsroom.fb.com/company-info/)

<comment><USER14> Congratulations, you just attributed luck to skill and established that when you had luck you somehow have any idea what you are doing. Nokia was very big once. Was.

</comment></comment></comment></comment><comment><USER15> Here's an article with a bunch of sizzling Instagram shots from people who got to take the first look: [http://www.popularmechanics.com/culture/web/news/a14830/face...](http://www.popularmechanics.com/culture/web/news/a14830/facebook- mpk20-headquarters-frank-gehry/)

I'm really impressed by how non-gimmicky this Gehry building looks on the outside, and it seems like they really did a good job designing whatever space isn't consumed by the open plan.

<comment><USER16> No pictures of day to day work space, alas.

<comment><USER17> I saw this one from Chris Marra

[https://www.facebook.com/photo.php?fbid=10204715357418943](https://www.facebook.com/photo.php?fbid=10204715357418943)

<comment> j-c-m Ah, that is Zuckberg and Schrep embracing the open floor plan by commandeering a conference room for a small two person meeting.

<comment><USER17> 'Open floor plan' doesn't mean there's no leeway if you want to have a private discussion, or a meeting with more than 2-3 people for more than 5 minutes.

</comment></comment></comment></comment></comment><comment> jack-r-abbit I'm not going to get into the debate of open floor plans vs individual offices since most people already have their opinions and I see pros & cons to both. That debate aside, I think that roof top green space is absolutely awesome. I would love to see more of those being built into new buildings.

<comment><USER18> The fact that there is even a debate means not everyone likes it, therefore, it shouldn't be forced on everyone.

<comment><USER19> So we should get rid of building codes, too?

<comment><USER18> Workplace setup is almost strictly a matter of preference.

<comment><USER19> It's not about a workplace setup, it's about responsible energy production.

</comment></comment></comment></comment></comment><comment><USER20> Having worked as researcher/dev in both private office and open space setup, I am absolutely convinced that private offices are way more productive than open office setup for researchers and developers. Most, if not all, of my colleagues feel the same. In fact, I don't think I will ever accept an offer from a mature company (not startup) which houses its developers in open space.

<comment><USER21> For me, open office + headphones = private office. At a vastly reduced cost. I know that doesn't work for everyone though.

<comment><USER22> It also equals hearing loss, but that doesn't show up on the company balance sheets.

<comment><USER23> Closed cans or IEMs allow you to have very little (or no) audio volume while still blocking outside noise.

<comment><USER11> And both tend to get very uncomfortable when worn for extended periods of time.

<comment><USER23> Totally agree. I think offices should be default with optional communal areas, not the opposite (communal offices with limited private work rooms).

</comment></comment></comment></comment></comment></comment><comment><USER24> I believe that this whole "open office" concept is driven by the idea that an observed worker is a "productive" worker and that it's actually true to a certain extent. Sure, you may be less productive in an open office when you're actually bearing down on something but the management is assured that you're doing something work related within the boundaries of the company's cultural definition of "productive".

It's an old-school, assembly line style of thinking. An open floorplan gives the impression of vulnerability, you won't goof off on HN or reddit when you know somebody _could_ be looking. A loss in crunchtime productivity may be worth it if the employees would otherwise spend 2 hours a day wasting time privately. The culture determines the amount of time spent socializing in plain view but the open office completely kills any attempt to spend company time on non-work activities in private.

I work outside the tech bubble but even with my limited experience, I know that the more company provided distractions (a 9 acre park, free snacks in the breakroom, etc), the less you'll be allowed to actually do anything _but_ work.

</comment><comment><USER25> It's like we're going back to the industrial golden age where all a companies workers would get subsidized cookiecutter housing and certain amenities close to the plant. You never have to leave your employer bubble now.

The conditions have never been better to work remotely, yet I guess another way to eliminate commutes is to make your workplace so livable you never leave (much). :)

<comment><USER26> Just like a foxcon!

</comment></comment><comment><USER27> I've worked in offices with cubes, in co-working spaces, remotely (for a long time), and now in an open plan with around 200 people.. I have never been more productive than the time I worked remotely. The constant distractions in an open plan are bad enough with 200, I can't even imagine how it is with thousands.

<comment><USER28> I don't like people looking at my screens. I've never had a problem with the quality or quantity of my work, but as soon as someone see youtube open blasting out music. Hackernews, reddit, facebook all open, someone soon complains. That's just how I work.

I think of it like a sausage factory, the boss loves the product but doesn't want to know how it's made. Leave me to work in my own way.

</comment></comment><comment><USER29> > Our goal was to create the perfect engineering space for our teams to work > together. [...] To do this, _we designed the largest open floor plan in the > world_ — a single room that fits thousands of people.

Almost reads like an Onion article. I'm sure that they thought this through though before spending so much money.

</comment><comment><USER30> I never thought I'd see the phrase "a single room that fits thousands of people" in a description of an office building...

<comment><USER31> Especially as a positive attribute...

</comment></comment><comment><USER32> Not being snide, but I REALLY do want to see a picture of a work desk (imagine it would be one of those standing/sitting electronic ones) and a chair and a computer! Or is that confidential info?

<comment><USER33> [http://i.imgur.com/20rCfSM.jpg](http://i.imgur.com/20rCfSM.jpg)

<comment><USER8> Humor prohibited.

</comment></comment></comment><comment><USER34> Reminds me of the episode of "Better Off Ted" where they invent an itchy chair and it increases productivity because workers can't get too comfortable. In focus group testing, they find a maximum limit of uncomfortableness before people start jumping out of windows.

I keep thinking the latest announcement of "gigantic open floor plan" is going to be that stroke too far. But I have also learned to be disappointed.

<comment><USER35> That show was truly prescient in many ways. Man do I miss it.

</comment></comment><comment><USER36> My least and most favorite topic rears it's head again. The open floor plan. Here's what I've come to think is about perfect:

The open floor plan, with +-3 hour start/end time to your 8 hour work day (from say, 8:30-5), with optional hour lunch (paid or unpaid depending on policy/culture).

Think about it.. there are definitely collaboration benefits to be had with the open floorplan. The contrast to that is always the "engineer needs alone time" bit. I get it, I work well both ways, but as others have said, you can't do all of either all of the time. That's where true flexibility in working schedule comes in.

Like your quiet time? Come in at 6 and leave at 3. Or come in at 11, and leave at 7. The bulk of the office will tend to come in near the societal norm of 9-5, especially those who like the collaborative bit the most, and that leaves you the ends to pick from. Entire office likes to get together for group hour long lunches? Skip it and work. The idea is, if you honestly can't fit the work you need to do into blocks of time at the ends or middle of the day when the office naturally quiets down, you've got a bigger problem than the distractions of the office. The idea that you must have 8 hours of quiet or near quiet to do your job means you're not that good at doing your job, or your job role is too demanding for a reasonable person to do. If it's truly the case, you're likely SO good at what you do someone's noticed and you're getting what you want already.

<comment><USER37> Why should people that would like some quiet time (which is needed for all of us) have to come in at non-standard hours. That sucks.

I think the bigger issue is how we've all been duped into how the open-plan offices "work" from MBA dicks.

<comment><USER36> The "MBA dicks" didn't start this, we did, like it or not. All the agile, write stuff on sticky-notes, stand up meetings did this, not managers looking to cut costs. They may have benefited, embraced an idea, and exploited it, for sure, but this didn't come from higher up.

The problem is, they do work - for a lot of people. Things are getting done, at the biggest companies (case in point, the original article). People can complain and I'm right there with you - I love my quiet, but you have to adapt, and an engineer that can't adapt isn't much of an engineer, in my opinion. There's an army of people who can adapt working at these "god forsaken hideous open offices" which must then be "gender discriminating experienced engineers" when they can't work like it's 1990 anymore.

This is the new reality. We don't have to write COBOL or VB or Pascal anymore, we don't have to wear suits, and most of us are paid really well, taken very seriously as a profession and in high demand.

That comes with a little bit of give for all that take.

</comment></comment></comment><comment><USER38> The funniest thing about all of these "office design" photos that I see of big companies.

"Where does the actual work get done?" Why are those photos never included.

</comment><comment><USER39> I currently work with people across the world, Indians, Chinese, French and people from various other nationalities. This open office thing makes it just worst. The most annoying thing I have come to face until now is the part where people from the same country start aggregating in groups over the floor talking in their own native languages. Constant chatter over simplest and silliest of the issues, previous night's dinner, pranks they played with their room mates and what not.

Over a period of I've noticed the best way to handle has been to just tune out. I mean just be completely irresponsive to anything happening around you. Unfortunately I've been told many times by my manager that certain cultures can consider as being rude.

Its almost like the office is now a community center for people to just gather around and chat.

<comment><USER40> The fact they're not speaking English is not relevant, so I think this just boils down to "having to hear other languages makes me uncomfortable". If you just didn't want to have distracting talking happen around you, then you would not have included the bit about the languages. Simply from a distraction standpoint, foreign languages that sound nothing like English are probably better, since you lose your ability to eavesdrop.

<comment><USER41> It would make collaboration tough though. The whole point of open office plans is to improve communication (actually it's so the boss can look over your shoulder, but I digress).

</comment></comment></comment><comment><USER38> What I find most strange about all of the photos of office design for "big companies"

Where does the actual work get done? Why are those pictures never included?

<comment><USER42> > What I find most strange about all of the photos of office design for "big > companies"

> The funniest thing about all of these "office design" photos that I see of > big companies.

Are you A/B testing your comments?

<comment><USER38> Ack! No. I was mobile and it pinged me to login after generating the comment, then brought me to a blank screen. I'd thought I lost my comment.

That's a good idea though..If only I had the time

</comment></comment></comment><comment><USER43> I'm genuinely worried about people with sensory oversensitivity problems. Personally I shudder to even _think_ about spending time in a building like that one; those uneven lines painted in the common rooms, bright orange walls, breathtaking vertical spaces - I mean, sure, they do look impressive in photographs, but what about employees who get nauseous and/or dizzy just from _looking_ at that kind of architecture all day long? This may sound silly, but considering how a significant portion of the IT workforce comes from the intersection of extreme introversion and Asperger's, this should be a genuine concern for any equal opportunity employee, especially in that sector.

</comment><comment><USER44> Pretty soon, offices will be filled with chairs the fit two and three-person keyboards.

I don't even want to think about how the whole "open office" philosophy will influence future restroom design.

<comment><USER45> Okay, this is not really on-topic at all. But someone has finally given me the opening to rant about the state of public restroom design :-)

I spend a lot of time working out of cafes, both for my job and when I'm working on some personal project. ~4-8 hours a day in a cafe plus a coffee every 90 minutes or so and plenty of water means I have a lot of experience with coffee shop public restrooms. And almost all of them are terribly designed.

The worst problem, common to almost all cafes, is that a place with a capacity of ~40 people or so will have two single-user _gendered_ restrooms. By this I mean there is a label or picture on each door indicating "Male" or "Female". This is a problem for a number of reasons, including that it creates issues for trans and genderqueer people, but also that it inevitably creates situations where there is a queue for one restroom (because of a user who is taking their time, for whatever reason) while the other is empty. Of course, someone could jump out of the queue and use the empty restroom, but there's a social norm that we generally must abide that forbids this.

Another inefficiency is that faucets for washing up tend to be locked in the same single-user room as toilets. This causes backups when a person needs to use the faucet but someone else is using the toilet or vice versa. Plenty of people just pop into a single-user restroom to adjust their hair or wash their hands or whatever.

In something like 9 years of working consistently out of cafes, I've seen just two that have what I consider to be well-designed restroom facilities: the Starbucks at Main & Olympic in Santa Monica, CA, USA and Sightglass Coffee in SoMa, San Franciso, CA, USA. Each have an open, shared sink area with a glut of faucets and two to four single-user toilets behind locked doors opening out into it. I've never seen a line for the restrooms at these cafes, although I don't know if that's because of good design or because no one wants to use such weird restrooms ;-)

<comment><USER46> Where are you based? San Francisco "strongly urges" single-occupancy restrooms to be unisex. I've worked out of a fair number of SF cafes and I think this is noticeably less of a problem there than in other cities.

[http://sf-hrc.org/compliance-guidelines-prohibit-gender-iden...](http://sf- hrc.org/compliance-guidelines-prohibit-gender-identity-discrimination)

<comment><USER45> I'm based out of Santa Monica and Los Angeles. Sightglass is the only large cafe I've been to in San Francisco. I'm glad to hear this is the norm up there!

Here in Southern California, West Hollywood recently passed a similar ordinance that prohibits gendered single-user restrooms in public spaces and businesses.

[http://www.latimes.com/local/lanow/la-me-ln-weho-gender- neut...](http://www.latimes.com/local/lanow/la-me-ln-weho-gender-neutral- restroom-20150113-story.html)

</comment></comment></comment></comment><comment><USER47> Besides the productivity aspect, its a reflection of single dimensional focus of Zuckerberg. If facebook continues to be a platform of social collaboration between people, then the team building it has to live it as well. Given that the developers spend major part of their day at office, this idea would be unconsciously forced into them every day. They would be more social and collaborative in presence of other human beings (or will learn to be). This is what facebook is about.

</comment><comment><USER31> A 9 acre open work space sounds awful. With Facebook's money and Gehry's skills it's sad that a big box store and surface parking lot is what came out in the end.

</comment><comment><USER48> Everytime I see this kind of "new building" news, I'm reminded of the genial "Plans and Plants" chapter of the Parkinson's Law book (by C. Northcote Parkinson, natch).

Worth a look. I've seen it in action up close.

<comment><USER49> Fascinating; starts on page 25..

[http://sas2.elte.hu/tg/ptorv/Parkinson-s- Law.pdf](http://sas2.elte.hu/tg/ptorv/Parkinson-s-Law.pdf)

</comment></comment><comment><USER50> On the general discussion of open vs closed work space:

IMO there are four types of mutually exclusive workspaces in a tech office setting: Open collaboration, library time, telephone booths, and small to large general assembly.

These four, while briefly explained, highlight their purpose for optimal productivity in the day to day workflow.

Specifically, library time would be an open space for work but with an implied quiet noise level. In contrast open collaboration is similar but without the noise level restriction. Both spaces would live in separate areas not near each other for understood respect in work style.

Just my 2 cents. :-)

</comment><comment><USER51> On a positive note:

>>On the roof is a 9-acre park with walking trails and many outdoor spaces to sit and work.

That's awesome.

</comment><comment><USER52> Oh look it looks like every other boring Valley building that caters to the <25 yr old crowd only.

</comment><comment><USER53> But will it still have the iconic

        H|A
        -+-
        C|K

entrance that the old building had?

</comment><comment><USER54> My gripe with open plan offices is that I spend a lot of the day overhearing a bunch of shit I have zero interest in.

I used to work at a consulting company, and I'd be in an open plan office with 5 other teams, working on 5 other projects. Everyone was working through engineering decisions that were unrelated to my own.

If everyone's on the same team, at least, there is some saving grace to the open plan office - you overhear stuff that you might be able to contribute to.

</comment><comment><USER55> I wonder how you get around the giant room, and how its space is demarcated. How do you meet up with someone else who is in a faraway part of the room?

<comment> jack-r-abbit Probably the same way people do it at companies that occupy several separate buildings in a complex. You walk.

<comment><USER55> I'm asking how you know where to walk to. Sheesh.

<comment><USER56> Facebook has Wayfinders that provide an interactive touch screen map all over campus. Type in a name and it shows you where they are, relative to where you are. Super handy.

<comment><USER55> Ooh, nice!

</comment></comment></comment></comment></comment><comment><USER57> I think the type of office space needs to meet the group's work. If solitary quiet work is required, you need either lots of quiet spots or a liberal telecommuting policy. If you need lots of communication, open is fine.

I'm surprised that open works there, but Zuckerberg is a developer and has hired most of the senior team. They must have data that it works for them.

<comment><USER58> > Facebook's engineering director Jocelyn Goldfein spoke about open office > plans during her recent talk at Stanford. She explicitly stated that it > decreases her team's productivity, but that it was embraced because it > promotes "openness" which is a core value at Facebook.

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

<comment><USER57> It takes courage to fess up to that!

</comment></comment></comment><comment><USER59> Hasn't this been open for a long time? I was there a few months ago and it was so bizarre. Like being at Disney Land or on a movie set, everything was perfect. I got pretty creeped out after spending the day there, that being said I could probably get used to working there, but could never deal with an open office.

</comment><comment><USER60> I also hate open office plans. Everyone needs a little bit of privacy if not much during their work.

I won't feel good if my manager/co-worker comes to my desk at the time when I was just switching to some music on youtube. It can give a wrong impression of you even when you know you were not doing the wrong thing.

</comment><comment><USER61> I will never work in an open office plan. It's one of the items on my "prima donna" list. Despite the name I'm pretty serious, and while some of this list represents things that others might not be able to avoid, or even agree with because they are personal preferences, all of the items are the result of bad experiences or missteps I've experienced directly at a job in the past.

I know some may object to these. That's ok, this is my list. I'll answer questions though and I'm open to suggestions.

Here's my list, developed over 25 years working for companies, mostly startups:

Never work...

0\. where you're not getting equity along with a paycheck, or where you can't ask the CFO how many shares are outstanding on a fully diluted basis, and get an answer, during your interview.

1\. for a manager who is not an engineer, unless you're the CTO.

2\. Think twice working for any "tech" company where the CEO is not an engineer, or technically proficient. (Tim Cook is technically proficient, Jeff Bezos is not.)

3\. in an open office plan.

4\. for a company that shows disrespect for employees in other ways. Companies try to hide so you have to look close.

5\. for a company that uses cult behavior, eg: "magic phrases" like Amazon's "Today is Day One!!", or that has a management book that all employees are supposed to read (if said book is of the pop-management variety)

6\. for a company that doesn't provide you a convenient parking space at their expense (you should be working remote anyway!)

7\. for a company that doesn't provide flex hours. Flex needs to really mean flex. Midnight to 8AM is an acceptable work schedule.

8\. for any company with standup meetings, or other pointless meetings. (yeah yeah, all of the previous "SCRUM" teams have been "doing it wrong", so that just means nobodies doing it "right")

9\. on a team where mandatory meetings happen more than twice a year

10\. for a company that employs stack ranking, in any form.

11\. for less than 3 weeks of vacation a year

12\. for a "starter" salary that will be "made up later", unless this is a startup and you're getting a significant chunk of equity- eg: shares valued at most recent round of investment, or a $1M valuation if no investment, EXCEEDS the lost income.

12\. for equity with a vesting schedule with an initial cliff longer than 90 days, (30 days is appropriate)

13\. for equity with a vesting schedule over 4 years (and only 4 for > %5 equity)

14\. for a company that has taken money from dishonest or unethical VCs (I know a lot of the bad ones but check "the funded" for reviews)

15\. for a company that doesn't hire ops engineers, but expects developers to be "on call"

16\. for a company that has a lot of restrictions about vacation and doesn't treat it as real (eg: you don't get all your days when you leave, bad PTO policies, etc)

17\. in any office without adequate bathrooms, this includes any buildings where people are packed like sardines. combine the gender ratio of tech companies with more than %100 occupancy and the bathrooms are insufficient

18\. in any setup with less than a dual thunderbolt display, or single 35"4k monitory.

19\. on windows on a regular basis

20\. where my development machine can't be a Mac

<comment><USER62> Really? All of this is on your list? If I asked for 3 mandatory meetings a year you're NEVER going to work at my company?

How do you go through life being so rigid on such relatively trivial issues?

<comment><USER53> Yeah, no kidding. I started thinking, "What makes you so fucking cool and unique to deserve all of this? Have you seen what people in India have to put up with to get a tech job? Why do you consider yourself better than them?"

<comment><USER63> That's not a very convincing line of reasoning at all. It's just the classic "there are starving children in Africa" slippery slope argument. What happened to striving for better? There's nothing wrong with that.

Worse, it seems to unfairly distort things as well. On what basis have you concluded that this person thinks he's better than people from India?

And I think except for a few bullet points he's not asking for much that isn't pretty normal in the US. My first job out of college satisfied bullet points

1,2,3,4,5,6,8,10,11,12A,14,15,16,17,18,19,20.

I left out most of the equity-based ones simply because the company didn't do equity. I left off 7 even though we had very flexible hours. They just weren't so flexible that you could work at night.

<comment><USER53> That's not what a slippery slope argument is. I am not arguing that some event must follow inevitably from the other without presenting an argument for why this follows.

Anyway, what bugs me so much is the entitlement. Sure, maybe you can find a job like that. But what makes you think that you deserve it?

And yes, there is a problem with being entitled. The world is already too full of selfish assholes. I really would not want to work with someone who is looking for so many reasons to be unhappy with a job.

<comment><USER63> I suppose I really don't understand your argument. You're suggesting that someone in a position to strive for more shouldn't do so because there are other people who aren't in such a position?

If nobody tries to raise the standard, then it will never be raised. Based on his other posts, this guy is the CTO of a small startup. Maybe in a year or two he'll be hiring and providing these benefits to others. How's that a bad thing?

I understand being turned off by entitlement. But, really, calling the guy who's advocating for better environments for workers and employees an asshole seems backwards. If we're going to call anyone an asshole, surely it would be the people fighting in the opposite direction.

I think you're taking for granted the centuries of work that it's taken to get even to where we are now. Read about what working conditions were like a century ago or more. Go read about the horrors of being a chimney sweep. We don't have to endure that sort of treatment anymore because people were entitled and whiny and constantly strove for better conditions. Let's do the same for those who will follow us another 200 years from now.

Also, whoever is going on a downvote spree on everyone here, I invite you to simply enter the discussion instead. I've downvoted nobody.

<comment><USER62> The problem with the list is the attitude. I would rather not work with people who have lists like this.

I'm not a special snowflake. I like solving problems and doing meaningful work that contributes to the well being of others in some way. Those are my only requirements. Everything else is flexible.

And the list reads like a tour rider ([http://en.wikipedia.org/wiki/Rider_%28theater%29](http://en.wikipedia.org/wiki/Rider_%28theater%29)), not some attempt at advancing worker's rights.

<comment><USER63> I completely understand where you're coming from. I've had a coworker like that before and it can be a real downer to be around someone who just seems like nothing is ever quite good enough.

I guess I was trying to give the person the benefit of the doubt and not assume that he's like that on the job. Maybe he is. But he also might just be picky about where he works but great once he's made a decision. I guess I don't see the point of worrying about which way it is because it doesn't matter -- his point is only to list red flags about companies that he's built from experience, and I see value in sharing that with others.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER64> So what is this giant open space going to look like when people begin to work VR displays primarily? When most people work with opaque glasses silent and staring off...

(co?)incidentally that could make such a room _almost_ bearable as a work environment, personally...

<comment><USER65> When you enter the metaverse, you'll arrive in a virtual open office, and you'll see / hear / all your coworkers working in the same virtual room.

<comment><USER64> Yes but how will I smell them?? hmm app idea. There could be places like that... one could be in several spaces, like chatrooms/channels. Most lobbies on the internet are filled with noobs and cat memes though...

</comment></comment></comment><comment><USER66> Literally, a walled garden.

I guess it fits well with the platform attitude. Employees are just another component of the platform. Make them happy, keep them at work longer hours, derive more value from them.

</comment><comment><USER67> Remember folks that if you are in open plan offices, most of the time they pump _white noise_ through speakers in the ceiling to prevent sound travel. Think about that for a second.

</comment><comment><USER68> Would be interesting to hear feedback from folks actually working in that building in a good 6 months, let us know how it turns out.

</comment><comment><USER69> Facebook HQ moves to a different building: the third most interesting or important thing happening in the world right now.

</comment><comment><USER70> How did they put a 9-acre park on the roof?

<comment><USER71> they made a building that covers 9 acres and put dirt and grass and trees on top of it.

<comment><USER70> Yes, obviously, but how is it possible for the building to withstand the weight of the dirt, grass and trees?

<comment><USER72> If you design for 100 story buildings, you can design for a few story building with dirt on top.

<comment><USER73> It's fixing the leaks in 20 years that's the problem. But I guess the building just has to outlast the company...

<comment><USER71> Nah, we've gotten pretty good at sealing concrete. You put enough tar and landscaping fabric under there, it'll last a while.

</comment></comment></comment></comment></comment></comment><comment><USER74> Can the windows be opened?

Opening a window is very important for a lot of people, including myself.

</comment><comment><USER75> Call it what you want, Zuck. It's still a giant warehouse sweatshop. I work in an open office now. Never. Again. Fuck that. Could you imagine the sound of a hundred conversations going on, at once? "Wear headphones." Thanks, but I'd rather not damage my hearing. Where is OSHA when you need them. This is a factory and you need hearing protectors. Not headphones. 85 dBA. If you can't hear a person four feet away for most of the day, your employer is breaking the law.

</comment><comment><USER76> Coming soon, company-owned archologies[0] so you never have to leave your dot- com bubble.

[0] [http://simcity.wikia.com/wiki/Arcology](http://simcity.wikia.com/wiki/Arcology)

<comment><USER77> Don't worry, Google is working on it: [http://singularityhub.com/2015/03/11/googles-new- headquarter...](http://singularityhub.com/2015/03/11/googles-new-headquarters- to-be-a-chrysalis-of-glass-fabric-and-movable-office-space/)

</comment></comment><comment><USER78> I'm surprised that I'm the only one to mention the (in this case, young, preening, "hip" and twinkish) elephant in the room behind this open-plan nonsense. _Age discrimination_. In a Daniel Day-Lewis _There Will Be Blood_ voice, "Aaaaagggge discrimination, Eli, you boy!"

Companies use these horrible office layouts for a number of reasons, and not all are so distasteful: everyone else is doing it, they're cheap, and they take good pictures for marketing because they "look busy". But, when you get to the core of it and the leadership behind this open-plan fetishism, it's all about age discrimination.

Life changes make people less able to handle the chronic visibility (especially from behind) that these offices inflict. For women, pregnancy will do the trick. Men tend to like open-plan offices less after having children as well, because when you have kids you no longer perceive the world as free of danger, due to having a biological imperative to protect another creature, and you stop believing in the "nothing to hide" bullshit that convinces people to accept such invasions into their privacy. But even in childless people, the ability to handle the needless stress inflicted by open-plan offices seems to decline around age 30.

There's also a stress that comes from incoherent noise when it comes from all angles. This is something that scuba divers are aware of, because of the way water plays with sound. It can exacerbate the "blue orb phenomenon" that can cause an open-water freak-out (which sounds, presumably unintentionally, similar to an open-office panic attack).

This is especially bad for technology. The cruelty of software's age discrimination is that it takes 10-20 years just to be good at this stuff. People are pressured to leave the industry long before their prime.

Oh, and there's a 1 to 2 percent per year chance, even in healthy people, that you get a life-altering anxiety or panic disorder if you do knowledge work in an open-plan office. (They aren't as bad for less cognitively intense tasks.) That doesn't show up in the marketing materials, and the casualty rate is low enough that few people talk about it, but it's a factor as well.</comment>


R vs Python Speed Comparison for Bootstrapping - <AUTHOR> http://climateecology.wordpress.com/2013/08/19/r-vs-python-speed-comparison-for-bootstrapping/

<comment><USER2> The comments here are better: [http://climateecology.wordpress.com/2013/08/19/r-vs- python-s...](http://climateecology.wordpress.com/2013/08/19/r-vs-python-speed- comparison-for-bootstrapping/)

<comment><USER3> Thanks for the link. The comment that indicates how bad the comparison was:

>Hadley Wickham: It's a bit of an unfair comparison because you're comparing R's high-level lm function with Python's low-level sm.OLS. If you use R's low- level equivalent, lm.fit, you'll find R is much much faster (~10s -> ~1s) on my machine.

<comment><USER4> Thanks for this. Everyone I know who uses R raves about how fast it is, so it was surprising to see the claim go the other way around.

<comment><USER5> Are you serious ? Rarely have I heard "R" and "fast" mentioned in the same sentence (the current one being one such exception:). In fact, only in the world of R would anyone call Python super fast. That line made me chuckle. R's strength lies elsewhere, no other programming language has such an exhaustive/encyclopedic ecosystem of third party statistical libraries. And of course there is ggplot.

Regarding speed comparisons I would also like to add that such comparisons end up being a pissing matches where both camps end up comparing external functions implemented in C. So at some point it stops being comparison of the core language implementation.

I do some decent amount of statistical and machine learning related coding and I dont like R. Its not the speed that I mind, or the lack of. I find programming in R very error prone. It could well be a personal failing, but I cannot keep track of its weird inconsistencies and special edge cases. The other gripe I have about it is that there are very few books that tries to teach it systematically, more often than not these books are styled as a grab bag of tricks and incantations.

The speed problem of R is in the process of being addressed by quite a few alternative rewrites. Radford Neal is writing one, Luke Tierney is writing one, then there is Riposte.

A side comment I would like to make is that it always warms my heart to know that people who have made their distinguished mark in stats theory (Neal and Tierny certainly have) also have a lot of interest in programming. In fact I have observed that if they are really really good, there seems to be a correlation. Though this is clearly anecdotal. I bring this up because there is also the "all talk no code variety" and I have no problems with that if that "talk" was good. My problem is with the schmoozing variety, sometimes inhabiting positions of influence and prominence, that has no idea what they are talking about, their knowledge seemingly gleaned form reading overstated popular articles about algorithms and techniques, the cosmopolitans of research if you will. My advice to aspiring grad students, learn to recognize them and stay away if you do not want to be them. A good signal is to check how many recent first author or single author paper does the researcher have and whether he or she writes nontrivial code. This is usually indicative of how much commitment and excitement the person has for his/her craft.

<comment><USER3> >there are very few books that tries to teach it systematically

This book helped me a lot because it goes into how the core language works, something that is (sadly) almost always ignored by people who learn and teach R: [http://www.amazon.com/Software-Data-Analysis-Programming- Sta...](http://www.amazon.com/Software-Data-Analysis-Programming- Statistics/dp/0387759352)

As far as speed, R is a lot like similar numeric tools/languages. It's designed to be very high level, building on top of heavily optimized subroutines written in lower level languages. This is why the kind of comparisons in the article are silly: almost every language will end up being the same speed because they're all just calling the same basic BLAS routines N times with virtually zero overhead (relative to the inner loop).

</comment></comment></comment></comment></comment><comment><USER6> Would you add Julia for comparison?</comment>


My Weekly Review Habit - <AUTHOR> https://www.benkuhn.net/weekly/ <comment><USER2> I enjoyed this. I was raised Catholic and they had a similar kind of thing, but on a day-by-day basis. Before you went to bed you would think back over your day, reflecting on your behavior -- what you did right and what you did wrong. More of a moral inventory than a gauge of personal efficiency.

I'm an older person nearing retirement, so my situation is different. But I can't help thinking that focussing on efficiency to this extent is detrimental. Jacques Ellul would say that "la technique" has taken over your life.

I found your post on ultra-bright interior lighting to be very interesting. I think I would go with two mega-bright lamps without fans than one giga-bright fan that needs one.

<comment><USER3> I actually ended up making v2 of the ultra-bright light out of 3 7-way socket splitters and 21 100w-equivalent normal bulbs[1]. No fans needed, higher CRI and I got the bulbs during a 50% sale so was cheaper IIRC :)

[1]: [https://www.homedepot.com/p/Cree-100W-Equivalent- Daylight-50...](https://www.homedepot.com/p/Cree-100W-Equivalent- Daylight-5000K-A21-Dimmable-Exceptional-Light-Quality-LED-Light-Bulb- TA21-16050MDFH25-12DE26-1-11/304006413)

<comment><USER2> Thanks for the update!</comment></comment></comment>


Great use of cyber-squatting - <AUTHOR> http://sunfoil.co.za/ <comment><AUTHOR> For some background, Sunfoil is a lubricants company that has bought the advertising rights for their logo on the cricket field. They seem to have no digital presence so some charity hijacked their domain for their own altruistic agenda. The Proteas are the South African cricket team.</comment>


Reading Paine from the Left - <AUTHOR> https://www.jacobinmag.com/2015/03/thomas-paine-american-revolution-common-sense/ <comment><AUTHOR> There's been a few discussions on hn regarding universal basic income, and I found the points related in the last third of this article quite interesting, and would like to hear how the hn community responds:

> This is a universal capital grant, not a basic income. Paine wants to make > everyone the owner of productive property.

> (...) The ground-rent he proposes would take the form of a 10 percent > inheritance tax on all estates. The value of these inheritances, he > realizes, includes "what is called personal, as well as . . . landed > property," and there is no clear way of parsing out the two.

> Personal property is the effect of society; and it is as impossible for an > individual to acquire personal property without the aid of society, as it is > for him to make land originally. Separate an individual from society, and > give him an island or a continent to possess, and he cannot acquire personal > property. He cannot be rich. So inseparably are the means connected with the > end, in all cases, that where the former do not exist the latter cannot be > obtained. All accumulation, therefore, of personal property, beyond what a > man's own hands produce, is derived to him by living in society; and he owes > on every principle of justice, of gratitude, and of civilization, a part of > that accumulation back again to society from whence the whole came.

> "if we examine the case minutely it will be found that the accumulation of > personal property is, in many instances, the effect of paying too little for > the labour that produced it; the consequence of which is, that the working > hand perishes in old age, and the employer abounds in affluence." Here Paine > sees property to be the result of the exploitation of labor by capital.</comment>


Show HN: gofeed, a robust RSS and Atom Parser for Go - <AUTHOR> https://github.com/mmcdole/gofeed <comment><USER2> Wow, this is great. I built a web scraper in Go a while back that had feed support, and this is exactly what you end up writing. You need the title, description, items, etc, but you really don't care if it's RSS or ATOM. So you translate all that crazy into some common format before you start working with it.

I love how comprehensive this is. I didn't even know a lot of the ways you list to get the different RSS properties. :D

</comment><comment><USER3> This is pretty rad. Is there a way to customize this for non-RSS feeds, or is this pretty much tailored for RSS/Atom feeds?

<comment><AUTHOR> What is another feed format you'd like to see supported?

If you have some custom thing you could take a look goxpp[0] which is the XML Pull Parser I wrote to use in gofeed.

[0] [https://github.com/mmcdole/goxpp](https://github.com/mmcdole/goxpp)

<comment><USER4> The selfoss reader [0] has a nice concept of extending the format of the incoming data feeds, would be also a very nice feature for your code. Even nicer it would be if new incoming data formats could be configured in yaml files without having to recompile.

the selfoss author mentions these kind of data:

* RSS Feeds * Images from a RSS Feed * Images from deviantArt Users * Images from tumblr * Your twitter timeline * Tweets of a twitter user * heise News with full content * golem News with full content * MMOSpy News with full content * RSS Feeds with readability

certainly not the most important sources, but it gives an idea about how diverse data sources are on the net today, so limiting to rss and atom is not a good idea. maybe some people would like to add facebook streams or other "social" sources.

Also please take a look at the extensive testing suite of feedparser [1] - lots of feeds there, that will break any naive assumption about how clean real life data will be.

[0] [http://selfoss.aditu.de/](http://selfoss.aditu.de/) [1] [https://github.com/kurtmckee/feedparser/tree/develop/tests](https://github.com/kurtmckee/feedparser/tree/develop/tests)

<comment><AUTHOR> I've actually already ported hundreds of test cases from Mark Pilgrim's feedparser.

<comment><USER4> ah, that is great! I think feedparser has the biggest collection of obscure feeds, it is an awesome collection of what to expect in the wild. If you know some more sources of weird feeds produced by "modern web software", please tell me, thanks!

</comment></comment></comment></comment></comment><comment><USER5> I read it as "goofed" at first.</comment>


Show HN: Xkcd-1930 Generator - <AUTHOR> https://staab.github.io/xkcd-1930/ <comment><USER2> Yes! This needed to happen. Thank you.</comment>


A Doodle Camera Based on Google's Quick Draw and Built on a Raspberry Pi - <AUTHOR> https://www.diyphotography.net/this-instant-camera-turns-everything-you-shoot-into-cartoon-doodles/ <comment><AUTHOR> The project is open source and the Github is here [https://github.com/danmacnish/cartoonify](https://github.com/danmacnish/cartoonify)

I wonder if it would be feasible to port it to Android using Kivy or similar. I really want this on my phone.</comment>


Nobel Prizes in Literature Awarded to Peter Handke and Olga Tokarczuk - <AUTHOR> https://www.cnn.com/style/article/nobel-prize-literature-2019-intl/index.html <comment><USER2> People in Kosovo are quite upset at the Nobel committee for awarding the prize to Peter Handke, since he has always been an unabashed supporter and sympathizer of Slobodan Milosevic, who holds great responsibility for the Yugoslav wars in the 90s and the numerous war crimes perpetrated in them.

[https://balkaninsight.com/2019/10/10/slobodan-milosevic- symp...](https://balkaninsight.com/2019/10/10/slobodan-milosevic-sympathiser- awarded-nobel-literature-prize/)</comment>


1776: The Revolt Against Austerity - <AUTHOR> http://www.nybooks.com/blogs/nyrblog/2015/may/20/1776-revolt-against-austerity/ <comment><USER2> Austerity means reducing government debt by increased taxation and/or reduced government spending. And yet the author talks about slavery, mercantilism, immigration, settlement, representation in Parliament and a lot more. Why put Austerity in the title at all?

<comment><USER3> In the article:

"Britain's national debt had risen to £122 million, or over 150 percent of the Gross Domestic Product" ... "the British government abruptly changed course."

so the policies were about reducing the debt. The other stuff was part of the policies. I'll give you that the slavery stuff seems a bit distantly related.

</comment></comment><comment><USER4> As an aside:

 _" [T]hey believed that after a slight economic adjustment the gradual elimination of slavery would create a more diverse and dynamic economy."_

It's amazing to me how close we came to having a totally different society.

<comment><USER5> An Act for the Gradual Abolition of Slavery, passed by the Pennsylvania legislature on 1 March 1780, was one of the first attempts by a government in the Western Hemisphere to begin an abolition of slavery [] [http://www.ushistory.org/presidentshouse/history/gradual.htm](http://www.ushistory.org/presidentshouse/history/gradual.htm)

Wasn't likely to be picked up by the southern states. Was part of the foundations of the Absolutionist movement and also the reason why Pennsylvania was a force for the end of slavery for the history of it's congressmen (For the most part).

</comment></comment><comment><USER6> Where can I read more about the claim that many of the founders believed that slavery was bad from an economic perspective because slaves are not consumers? Is this supported by modern economic thought? Was this view held by southern founders?

<comment><USER7> Two years prior to the invention of the cotton gin the US (as it was at the time) as a whole produced only 900 tons of cotton a year. With the invention of the cotton gin production increased greatly as one of the major limiting factors had been removed by the invention of the gin. This lead to a land rush for cotton cultivation; the Alabama Fever. Now the limiting factor was farm hands; this lead to a big increase in the slave trade.

Obviously there was a slave trade prior to the invention of the cotton gin (1793, well after the Declaration of Independence (US)), but the significant growth of the slave trade in the US occurred after the invention of the cotton gin (which lead to the massive growth of the cotton trade; especially in the US southern states as they had a better climate for cotton growth).

<comment><USER8> It's just depressing reading this that the solution to a labor shortage was to buy bonded slaves.

I know it's something certainly not unique to the american south and it's still going on today. I guess the contrast to the declaration of independence and slavery is so telling. Most other slavery occurs under the watch of despots.

<comment><USER9> The problem with the labor shortage was less that there was insufficient free labor available, but rather that the wages that would be demanded by free labor under these circumstances would be much higher than the subsistence level required by slaves, which would reduce the profitability for the upper- class plantation owners.

Evsey Domar wrote a famous paper in 1970, arguing that slavery/serfdom may be instituted when there is a lot of available land and few available workers, citing episodes in Europe in the Middle Ages, Russia's eastward expansion, and the US South.

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

</comment></comment></comment></comment><comment><USER10> The author of the article is inaccurate. The Declaration of Independence made it quite clear the reasons colonists separated from Britain.

[http://www.archives.gov/exhibits/charters/declaration_transc...](http://www.archives.gov/exhibits/charters/declaration_transcript.html)

The British government was forcing colonists to house their troops, which allowed them "free" housing and food. It also acted as a mechanism to restrict free speech and to spy on the colonists. Who would speak against what the King and government was doing if you had his soldiers living in your house?

The British government was also eliminating laws the colonists had made for themselves, and instantiating his own. The government was kidnapping people, taking them overseas to be tried for false crimes. The government started domestic insurrections.

The government also regulated the colonists' trade with other countries, trying to enrich itself and pay for its irresponsible Keynesian "stimulus". Therefore the government also imposed taxes on the colonists, without giving them any representation in parliament. The government actually tried to compromise with a lower tax, but the colonists were unwilling to have no say in their government, hence the Boston Tea Party (a demonstration against taxes).

The government also created a multitude of new government offices and harassed the colonists with regulations of every sort. The government also hired mercenaries to terrorize towns, causing great damage and death. They additionally conscripted colonists into their army to fight their own towns.

All of this the colonists called tyranny, and you can read more in the Declaration.

So the colonists were not revolting because government was not spending enough. They decided to form their own government which was only funded by import duties (and in the early times, taxes on "vice" products like snuff). No income tax, no social security tax, no death tax, no gift tax, nothing.

It was this practically non-existent government (yet a respect and protection of private property) that allowed the United States to go from a 3rd world nation to the most powerful nation on earth. By 1900, the US was a scientific and manufacturing powerhouse. Permanent income taxes and a central bank would not come around till 1913.

<comment><USER11> The US government was not weak or non-existent until the 1900s. It was actually quite aggressive and strong, relatively speaking, from roughly 1789 onwards, and especially after the Civil War in the 1860s.

The _first_ US government, founded under the Articles of Confederation, ended in abysmal failure only a few years after it was formed because it was "practically non-existent" when its own army revolted (the Whiskey Rebellion). This resulted in the US Constitution, which dramatically strengthened the powers of the federal government, and the Bill of Rights, which placed some limits on the powers of the _federal_ government, but essentially no limits on the powers of the _state_ government. (Some of those limits would be extended to the state governments after the Civil War via the 14th Amendment).

Nor were the early years of US history a libertarian wonderland. Despite the Bill of Rights, the First Congress passed numerous laws restricting free speech, including for example, the Sedition Act, which prohibited any criticisms of the government that could be deemed "scandalous" or having the intent to bring the US government, Congress, or the President "into contempt or disrepute." Almost all states had laws restricting when businesses could be open, and almost all states had morality-based laws that many people would find offensive by today's standards. Many roads, bridges, and many waterways were subject to private monopolies granting their owners the right to levy tolls.

Though the Industrial Revolution began around the same time as the founding of the U.S., the US economy remained largely agrarian until the 1840s, when the completion of a _national_ water transportation system along the Great Lakes powered industrial growth in the Northeast.

</comment></comment><comment><USER12> It is not austerity, it increased taxes without a say in teh matter.

Author is trying to say it is American to live beyond our means, when from 1779 to 1930 it was the opposite. Sad.</comment>


What is the probability your vote will make a difference?  [pdf] - <AUTHOR> http://www.stat.columbia.edu/~cook/movabletype/mlm/probdecisive.pdf

<comment><USER2> This paper focuses specifically on US presidential elections, though the broad principles are applicable to other elections.

One of the authors is Nate Silver (of fivethirtyeight.com), who has probably spent as much time doing statistics on US presidential election results as just about anyone else in the world. Another is Andrew Gelman, who's no slouch either. Academically he's got way more depth than Nate Silver, but he isn't as focused on elections. Authors Gelman and Edlin wrote a paper about why it might be rational (in utility-maximizing terms) to vote that's famous enough that I've read it (which isn't necessarily very famous).

One-sentence summary (though the whole thing is only 9 pages long and not terribly scary): in a US election, your chance of deciding the election if you vote ranges from about 1 in 10^7 in swing states to about 1 in 10^10 or less in very one-sided states. The average vote, in some sense, has about one chance in 60 million of being decisive.

<comment><USER3> the next statistic i want to see is the number of people effected by political advertisements...or say this paper.

</comment></comment><comment><USER4> This fails to take into account margins of error. An election won by one vote would result in suits over the count being within the margin of error. In some states any result within a certain margin is decided by other means, including runoffs or even coin flips (though I'm not sure how this would apply in the case of a federal election).

The hubbub over Coleman vs. Franken showed its not as simple as guy wins by 1 vote, gets elected.

</comment><comment><USER5> Voting is like innoculation.

I do not merely vote for a 'mainstream' candidate to ensure that my choice gets in. I also vote so that 'extreme' candidates are excluded. A vote for a mainstream candidate is an innoculation for society against extremist diseases.

It is vanishingly unlikely that my vote will be at the exact tipping point, ie a hanging chad county in Florida. It is also unlikely that my innoculation against killer flu will be the one innocluation that stops the spread of the virus. But from society's point of view it does not matter - the more who are innoculated, the safer society is.

Similarly, the more people who vote the more candidates need to pander to the mainstream opinion, not the extremist. In general we become safer.

This all breaks down if mainstream opinion is actually 'wrong'. But thats a different issue.

PS

Here in the UK the fascist BNP have got two MEPs and will be controversially appearing on a wellknown politics talk show. Innoculations need to be kept up.

</comment><comment><USER6> The assumption they make is that the payoff for voting on a decision is linearly proportional to the number of people the decision affects.

In my case, that's not true - i don't get utility from telling other people what to do. Quite frankly, the assumption that people enjoy telling others what to do scares me. I'd like to think it isn't true, but something tells me that's just idealism.

<comment><USER7> It's not about _you_ telling other people what to do, it's about picking _someone else_ who will be telling people what to do. Nothing you do will change the fact that _somebody_ will be selected; all you can do is influence the choice. Unless all candidates are (by your evaluation) of equal merit, voting for the one you prefer is (disregarding any costs of participation) pretty much by definition going to influence how much utility you get. And, unless you assign nonlinear utility (or none at all) to the experiences of other people, the number of people impacted is obviously going to be, in the limit, linearly proportional to the utility payoff.

Gratuitous example: Political Candidate X runs on a platform that he will indefinitely imprison and torture 0.1% of the population, but only people that you personally have never (and will never meet). His opponent, Candidate Y, runs on a platform of doing absolutely nothing in office. How does the utility of voting for Candidate Y differ depending on whether the relevant population is a thousand people, or ten million?</comment></comment>


Show HN: Earthquake Notifications from USGS using Twilio - <AUTHOR>

Earthquakes Monitor is a app for Windows Phone that sends voice notifications in near real time whenever an earthquake event has occurred near your location. The app is based on data published by USGS and Twilio.
Demo video : http://youtu.be/x5hg7Oxh-jI
Any feedback or ideas for improvement would be highly appreciated.
Thanks ,George. <comment><AUTHOR> Clickable <http://youtu.be/x5hg7Oxh-jI></comment>


New Professional Networking App NextSociety - <AUTHOR> http://techcrunch.com/2014/05/02/new-networking-app-nextsociety-helps-you-find-your-most-relevant-connections-for-any-purpose/

<comment><AUTHOR> Anybody feedback?</comment>


Vim-startify - <AUTHOR> https://github.com/mhinz/vim-startify

<comment><USER2> Does anyone know if there is something similar for Xmonad (or any other Window Manger)? When I occasionally have to reboot my computer (I blame Chrome), I hate having to set up all my windows again.

<comment><USER3> import XMonad.Actions.SpawnOn

spawnOn "1:browser" "chromium-browser"

</comment></comment><comment><USER4> neat, could use some more exposition to vim users :)

know any good resources or even a blog with vim-only news?

<comment><USER5> vimcasts.org and usevim.com are great resources.</comment></comment>


Ask HN: Are there any iOS/Android apps that work with game consoles? - <AUTHOR> http://www.quora.com/Are-there-any-examples-of-iOS-and-Android-apps-that-work-with-game-consoles

<comment><USER2> The closest you can come to a write once, run on all platforms is possibly Unity. They all have different development platforms, you can't just create a game and hope that it will run on all platforms.

<comment><AUTHOR> Got that - but what I'm asking is, has anyone even written an app for iOS or Android that works with either of the consoles? Not looking for something that has worked with all, just something that has worked with one, who did it, how they did it, how much it cost and what it was written for.</comment></comment>


Show HN: Hummingbird - Preview Mockups on Devices in Realtime - <AUTHOR> http://blog.vivekpanyam.com/hummingbird-preview-mockups-on-devices-in-realtime/?hn <comment><USER2> This post set off the voting ring detector, but I'm restoring it because we want to see original work on HN.

A voting ring is when people get friends to upvote their post. This is against the rules. We want stories to be on HN because they're good, not because they were promoted.

All: Please don't do this; just take your chances with HN's randomness. If a post is solid and hasn't gotten any attention yet, a couple of reposts is ok. Questions are welcome at firstname.lastname@example.com.

<comment><USER3> I really like the approach you're taking to moderation. Leading by example and providing constructive advice is definitely the way to go. Great job with everything so far.

<comment><USER2> Thanks (to both of you) for saying so!

Definitely not everything, but there's nothing wrong with a learning curve.

</comment></comment></comment><comment><USER4> "Preview Mockups on Devices in Realtime" \- Does this say exactly what you want it to say, because it's the very first thing I read, and I need to understand it before I read any further. What this said to me, on first impression, is a way to see final renders of a URL on different browsers and running on different devices. Only later am I thinking this connects to Photoshop actually?

Scrolling down, I don't understand the huge picture of a bird. Switch the white to transparent, the blue to white, and put it small in the top-left corner I think. But you know it looks too much like twitter, you probably will want to change it. One random suggestion to make it distinct; add a tablet with a wireframe, and the hummingbird is feeding off it.

"Hummingbird lets you preview designs and webpages from your computer on devices in realtime." Did you consider adding the word 'target' almost anywhere you say devices? Is it "designs and webpages" or "webpage designs"? Is it devices, or browsers? I guess "devices' browsers" actually.

Maybe a table with what devices you support. I think that would make it immediately clear what you were doing. You could also have a 'Preview' which shows how you used hummingbird running against your own site.

"Hummingbird works on Android and on any browser that supports websockets (Safari on iOS, IE 10 on Windows Phone, Chrome and Firefox on desktops...)." OK, now reality is starting to sink in. I'm going to need to possess each one of these devices... and have it setup and configured... It's not really HTML Preview Service.

It would be nice to mention you are releasing under MIT license on the main page. I looked for the source for Android and iOS builds, but it's not up on Github yet, so I guess at this point it's not quite fully released. But everything is brand new as of today, so no problem to wait and see when it comes.

I'd love a screen capture of the installation process, and example output. Even better, show me how this fits in your workflow and how it makes you work faster. If you can fit a compelling demo in under a minute, I would put it at the top/center.

I think it would be cool on the site to tell us if this is a hobby project, MVP, or what are YOUR goals with this? Just switch into first person and go for it :-)

<comment><USER5> I am with @zaroth in that the name + bird does not quite work. Furthermore the page above the fold image of the camera does not do it for me. I wish I could suggest a better name for the product but I am of ideas. 'Hummingbird' to me sounds too close to 'Thunderbird', which probably isn't used a lot, but is close enough to be confusing to me.

I also felt that the write up was written from the programmer point of view, not the user. It is all well and good knowing how it works, but, if something is to be useful you want to see what it does and have some setup steps - it is a different perspective on the write up.

Criticisms aside this does appear to be a reasonable product to solve some reasonable need. Anyone care to brainstorm some branding/naming ideas?

<comment><AUTHOR> Thanks for the feedback! I'm working on a site that should make everything a lot clearer.

<comment><AUTHOR> Here it is: [http://vivekpanyam.github.io/Hummingbird/](http://vivekpanyam.github.io/Hummingbird/)

Let me know what you think!

</comment></comment></comment></comment><comment><AUTHOR> TL;DR: An open source, cross platform Skala Preview/ Sketch Mirror that also works with HTML

</comment><comment><USER6> Great work!

Except find it a little ironic the page doesn't look right on my mobile browser (iphone safari) , header is all chopped off.

</comment><comment><USER7> Might have a hard time using "Hummingbird" as a name:

[http://connectivity.opentext.com/](http://connectivity.opentext.com/)</comment>


What happens if you remove randomness from Doom? - <AUTHOR> http://jmtd.net/log/deterministic_doom/ <comment><USER2> Even the "randomness" is deterministic. The fixed, repeating table is an optimization, but it's also completely necessary for multiplayer to work.

Doom does things very differently to how more recent multiplayer FPS multiplayer works. Every player's host machine has identical state. That's not as superficial as things like score, who is alive/dead, etc - it's exact positions or all entities, their metadata... all the way down to _the next number to be picked by the random number generator_.

This is updated every tick (30Hz? can't remember) and every machine needs to synchronize with every other within that tick, or the game _slows down_. If you've ever played Doom over a modem, you know what it's like when someone has bad settings which result in high latency - in this case, poor frame rate. The data sent between machines consists of the _inputs_ \- e.g rotation, movement, fire, talk - and not higher level constructions such as motion vectors.

So it's entirely necessary that the "random" number generator is not so random at all. It's fairly hilarious to see the results of messing with it, though :)

It does make me think that cheats (not that I ever cheated) were missing a trick. If they knew what the next number to be pulled from the random number generator was, they could, for example, delay firing a weapon by a frame or two, to get more damage. Probably other more interesting things I can't think of immediately. If there was ever a bot vs bot Doom competition, this is something you'd definitely want to consider.

<comment><USER3> Yes. By the way this feature of Doom was allowing nice and symmetric multiplayer over slow modem or network lines. Only small client-side packets were send through the network (think keystrokes/mouse movement updates).

As a different example Quake was designed using a client/server model with hugely asymmetric packet sizes (~40 bytes for client->server packet and ~800 bytes for the opposite direction).

As a teenager at around 1996-1997 I once tried to re-factor Quake to use the same model as Doom - run server/client combo on both machines with servers synchronized using exact same random generator seeds / etc. Spend about two months on that, but it had proved to be very difficult - the sync between the servers was inevitably lost due to some indeterminism in the code that I couldn't uncover. Maximum that I was able to achieve was around two seconds running in sync. And I still don't know where the sync was getting lost ;)

Learned a lot from that experience, big thank you to John Carmack (and the Id Software team) for writing that code as good and clean as he/(they) did...

<comment><USER4> Probably floating-point oddities. The bane of deterministic programming everywhere.

<comment><USER5> Floating point is deterministic.

<comment><USER4> If only. Even something as simple as this, where x and y and a are floating- point values:

        if( a == x/y )
          assert( a == x/y );

Is legally allowed to trigger (!). Worse, it's also legally allowed to not trigger.

That's right. The above can be legally compiled to always trigger, or never trigger, or even to sometimes trigger (although this is rare in practice).

Why? C / C++ allow floats to be stored with excess precision. And they lose that excess precision when spilled to RAM. And GCC isn't deterministic. So x/y may be pulled out as a common subexpression and spilled to a register after the first usage, and it triggers. And then the next time it isn't, and it doesn't. (Effectively, the difference between this:

        temp = x/y
        if( a == temp) {
          spill(temp);
          assert( a == temp );
        }

and this:

        temp = x/y
        if( a == temp) {
          assert( a == temp );
        }

Yes, it'll (generally - though the standard doesn't dictate that it will be!) be deterministic in terms of always with a given example in an single binary triggering or not triggering, but that is irrelevant, as binaries aren't cross-platform and you aren't always loading exactly the same binaries of the dynamic libraries you've linked to.

You can (most of the time) work around this by manually setting FPU precision (note that you need to change the precision of both the mantissa and exponent, as otherwise you can still end up with issues). (Except that you, in C++ at least, have to work deep magic - you have to set it _before_ main even runs, because you can end up with problems with static initialization otherwise.) And in the process losing compatibility. And finding that random code you call occasionally resets things. Or random code you _don 't_ call (a classic example: the printer driver!). And using exactly one of float or double throughout. And hoping that none of the libraries you use ever resets FPU precision for anything, or uses the other of float or double itself. (And hope that your OS properly saves / restores the FPU everywhere, though this has largely become a non-issue).

And, worst of all, you've got to hope that the compiler performs constant folding with the same level of care as you've just taken.

Look at these:

[https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323)

[https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37845](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37845)

[http://yosefk.com/blog/consistency-how-to-defeat-the- purpose...](http://yosefk.com/blog/consistency-how-to-defeat-the-purpose-of- ieee-floating-point.html)

[http://gafferongames.com/networking-for-game- programmers/flo...](http://gafferongames.com/networking-for-game- programmers/floating-point-determinism/)

[http://www.yosoygames.com.ar/wp/2013/07/on-floating-point- de...](http://www.yosoygames.com.ar/wp/2013/07/on-floating-point-determinism/)

<comment><USER6> Yes, we got bitten by this when using an algorithm with a k-means clustering step in the middle; minor perturbation in the least significant bits could change which cluster an item got assigned to, which would then result in massive changes to the eventual output.

(Relatedly, several ASIC and FPGA tools suffer from nonlinearity so badly that they will let you specify the random seed at the start and/or do multiple runs with different seeds to pick the best result)

<comment><USER4> That bad? Yow.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This instantly reminded me of the (true) story where people were able to cheat an online poker game because the site released its source to "prove" its fairness/randomness, showing that the deck was shuffled from a fixed state using a standard RNG with the time of day (in ms) as the seed.

Of course this meant there were only 86,400,000 possible decks, people could generate all the possible decks ahead of time and as soon as cards would be revealed in the game they could easily match the hand being played to the limited set of possibilities. Essentially they had foresight of which cards were coming out. Furthermore, once a few decks were matched up you could vastly reduce the set of possibilities even further by working out the approximate time of day on the server.

<comment><USER8> This is PlanetPoker[0]

The gist of it is their algorithm never chose the last card in the array to swap with, and the last card was never guaranteed to be the last card. They also committed the common mistake of implementing the "naive" shuffle, which is not equally distributed.

[0] [http://www.cigital.com/papers/download/developer_gambling.ph...](http://www.cigital.com/papers/download/developer_gambling.php)

</comment></comment><comment><USER9> > _Monsters do not make different death noises at different times; only one is > played for each category of monster._

This, BTW, is a really interesting trick that Doom pulled. There's actually only a single death sound for each type of monster.* But for some monsters, the game plays it back at a random speed--also changing the frequency, like an audiotape on fast-forward--so it becomes a brief shriek, a drawn-out groan, or something in between. This gives an impressive variety of sounds without adding extra memory-heavy samples.

Hardly anyone was aware of this as far as I can tell, which is a testament to how well it worked. I only noticed it when playing a goofy little mod that turned zombie sergeants into Energizer bunnies and played the "still going" clip when you killed them. The effect is obvious when there's actual speech involved.

*Not counting the "splatter" sound when you gib any of the gibbable critters.

<comment><USER9> On further consideration, I think it only does this with imps and the various zombies, which are the only monsters that you're likely to mow down at a rate of several per second--it might have been specifically intended to stop zombie fragfests from sounding like an echo chamber.

<comment><USER10> Hi, article author here: it was the pitch shifting behaviour in particular that I wanted to explore when I modified the random table. Early versions of doom (<1.4) did it, but they accidentally removed that feature with a rework of sound code in 1.4 and onwards (including all versions of doom 2). It was originally applied to all but two sound effects, with special casing for chainsaw sounds (less variance afaik).

There were, however, three distinct zombie death noises, independent of pitch shifting.

<comment><USER9> Interesting! Are the three zombie death sounds perhaps speed-shifted versions of the same original? My recollection (it's been a while) is that zombies made dramatically different sounds on death but--once I started looking for it-- they all seemed to be speed-shifted versions of the same sound, while pitch- shifting in other sounds was subtle enough that I never noticed it. If pitch- shifting normally applied equally to most sounds, that implies that there was something else going on with the zombie noises I recall.

Or maybe I'm completely confused because I haven't played it since the '90s. Might be time to give it another try...

<comment><USER10> The three zombie death sounds are on this page [http://www.wolfensteingoodies.com/archives/olddoom/music.htm](http://www.wolfensteingoodies.com/archives/olddoom/music.htm)

</comment></comment></comment></comment></comment><comment><USER11> When I added friendly monsters and Wolf3D dogs to Doom, I tweaked the randomness to make the dog behavior more life-like.

Friendly monsters go after enemy targets, but absent any targets, they follow you in semi-random motions, but they stay a comfortable distance away from you, except when getting onto a platform or other crowded space.

Disclaimer: I'm the author of MBF.

<comment><USER11> Also, demo reproduction was a huge issue. We had to do all kinds of versioning to make sure that a demo which was recorded with one version of Doom/Boom/MBF/etc. was faithfully replayed with the current version. One tiny mistake, and the whole demo could go into a tailspin. This sometimes meant we had to preserve bugs like Lost Soul stuck-in-wall bugs.

<comment><USER11> Oh, and randomness could have fixed the monster-stuck-in-doorjam bug, which is easily reproduced in E2M4 with the Baron by the blue key. The code assumed that if a monster was "in" a door sector and was blocked, then the door simply needed to be opened, and then the monster could continue in its current direction. Better would be to rotate the monster's direction randomly to help them to get out of the sticky situation. That was our fix in Boom.

</comment></comment></comment><comment><USER12> Beautiful. This article made me smile. I also like that the author gave a simple "how-to" at the end in case I wanted to try it myself (i do!).

</comment><comment><USER13> It might be better to call this Low Probability Doom-- indeed, it's deterministic, but so would changing the random number generator to a counter.

The impacts being discussed are mostly the effect of playing the unluckiest game of doom possible. :)

</comment><comment><USER14> Videos of such experiments would be greatly appreciated.

<comment><USER10> Took me a while but here you go [https://www.youtube.com/watch?v=SvfJoy1rjmo](https://www.youtube.com/watch?v=SvfJoy1rjmo)

</comment></comment><comment><USER15> I'm always impressed by the simple ingenuity of the Doom source code and the immersive environment it creates.

</comment><comment><USER16> PRNG determinism is widely utilized in TAS (Tool-Assisted Speedrun, basically a game played using tools such as frame advance and save states to simulate a "omnipotent" player.) to manipulate games to achieve favourable outcomes. Usually the game code is reverse engineered and a Lua script is created that searches forward in the RNG outcomes to find the ones you want, it is then up to the runner to execute actions in the game that give you that state.

One example of this technique which I particularly like is the "100% Souls" run of Aria of Sorrow, where the normally very grindy process of getting enemy soul drops is trivialized by making sure that every enemy will drop a soul the first time it's killed: [https://www.youtube.com/watch?v=DfkJpzBoJ-M](https://www.youtube.com/watch?v=DfkJpzBoJ-M)

</comment><comment><USER17> I'm intrigued by this:

> I hex-edited the binary and replaced the random number lookup table with > static values

If you have a look up table that you randomly look up, doesn't that mean you already have a random source? In this case, why need a random look up table at all?

<comment><USER18> It reads the next number in the list, it's not a random lookup. See [https://github.com/id- Software/DOOM/blob/master/linuxdoom-1....](https://github.com/id- Software/DOOM/blob/master/linuxdoom-1.10/m_random.c)

<comment><USER19> Doesn't that already make it deterministic though? It's always the same sequence of "random" numbers, even before replacing the lookup table it should've been deterministic.

</comment></comment></comment><comment><USER20> This is neat... since Doom is open source, why not make the binaries available for a quick romp?

Also, try $80 as well as $00 and $FF?

(Yeah, I'm lazy)

<comment><USER21> It's very easy to compile any port. I personally recommend you to try Chocolate Doom.

<comment><USER22> yaay it compiled!

Just grabbing an IWAD, I'm looking forward to trying this! Thanks for the suggestion

</comment></comment></comment><comment><USER9> > _The chance of monster in-fighting is never, or a certainty. The player is > either mute, or cries in pain whenever he 's hurt._

This is interesting. I thought that both of those things were deterministic to begin with--monsters that get hit by other monsters will go after the offender until it's dead or something else hits them, and the player makes the "pained gasp" sound effect every time he's hit.

<comment><USER23> OP is wrong about Doom's determinism I guess, it is already deterministic, random values are predefined. He just set them to constant, so his random is literaly "int random() {return 4;}", still deterministic but not 'random'

<comment><USER9> Regular Doom may not be random in the mathematical sense, but it is as far as a player is concerned. In combat, pulls from the "random number" pool are happening fast enough that I don't believe it could be exploited in any meaningful way.

What I meant was, I hadn't thought that infighting target choice and player pain-noise referred to the "random" pool at all. I thought they were 100% predictable in the original game. I wonder where the randomness actually comes in.

<comment><USER23> Timings of user input probably.

</comment></comment></comment></comment><comment><USER24> It's interesting that such a simple implementation of randomness works so well, in particular enemy in-fighting and their decision to pursue or not. I'm sure when you're playing, you end up anthropomorphizing many of these decisions.

<comment><USER25> Note that these decisions might still be "intelligent" (to a certain degree, i.e. not actually random but based on reasoning) without that hack.

But there might be a small chance involved where the entity would do another thing than the algorithmically determined action, and depending on how the values are interpreted this then triggers, the overriding of the game AI now just happens every time.

</comment></comment><comment><USER26> Wish there had been videos posted!

<comment><USER10> Yeah a video would be a good way to demonstrate this but it would take a lot of editing to do properly and I ran out of time last night and really wanted to get this out. I might post a follow up video later.

</comment></comment><comment><USER27> > The chance of monster in-fighting is never, or a certainty.

Still seem a little random, though</comment>


Why Software Sucks - <AUTHOR> https://hjerpbakk.com/blog/2019/05/31/why-software-sucks <comment><USER2> It's always bothered me how software teams view internal and external users differently. We'll spend lavishly on designing an amazing experience for customers... But internal users are stuck clicking through 500 VB6 forms to get anything done.

Companies forget that selling more isn't the only way to make money; cutting internal costs can also make you more money. A happy team is a productive team, and a streamlined team is a productive team. More productivity means less people you have to hire and train.

But hey, that comes out of a different budget and our internal people are already being paid peanuts, so work on this feature the sales team claims will help them sell more. Operations people are just there to clean up the crap no one else will, right? (/sarcasm)

</comment><comment><USER3> I'm sure many of us can relate to this article. There's only a very small handful of real-life software that I've felt embodied our ideals of design, contruction, clarity of organization, performance, reliability..

> Software development has borrowed its working language in part from > _architects and builders_ , but this is the worst mistake we ever did. The > language itself makes everybody underestimate the difficulty in everything > we do.

I wonder what other metaphors we can use, which would be more appropriate/insightful to describe and understand the software development process.

<comment><USER4> I think architecture is a fine metaphor for actually constructing software, just no one treats software the way we treat architecture.

Imagine putting an architect on a plane, and during the flight briefly explaining some elements of a house to be built: It needs to be 2 stories and have a big kitchen, open concept, 4 bedrooms. Something like that, yes? How long will that take?

I couldn't possibly say! Well, just give me a range. Etc.

So the plane lands and the architect wonders exactly where he is. This is a plot in a forest. Before we can begin we need to clear these trees and get plumbing and electricity hooked up... Hey, you didn't mention any of this in your estimate!

Now we are months behind schedule but the groundwork is finally laid. We are really behind the 8 ball schedule-wise! Just do a quickie job the rest of the way, ok?

But when the architect goes to hire carpenters he discovers they only speak French! Didn't you know you this house is being built in France? I forgot to mention it. You speak that language, right? Well, figure it out. You are the architect after all.

<comment><USER3> My goodness, you're right.. And the poor architect often doubles as the carpenter, plumber, unqualified electrician..

When the house is halfway built, we ask the architect to add a basement floor with temperature remotely controlled via a spotty WiFi signal. Oh, and a satellite dish on the roof too, after all we're practicing "agile architecture"!</comment></comment></comment>


What is the best payment service for escrow type payments? - <AUTHOR>

We are building a service that will allow users to pay each other and we get a percentage.  So we need to store the money until service is rendered and then distribute the money.
If you are familiar with airbnb, its a similar payment model but not the same industry.
What is the best service to integrate with for this? <comment><USER2> You're going to need to be PCI compliant either way, so you might as well store the payment in escrow internally. At least make a few cents of interest.

<comment><AUTHOR> If we pass the card over to a service and let them do everything we wont have to be, will we?

At least thats the type of service i'm looking for.</comment></comment>