Hacker News new | past | comments | ask | show | jobs | submit login
bar.foo (bar.foo)
246 points by jingwen on Feb 29, 2016 | hide | past | web | favorite | 116 comments

So now I finally know who made that awful smart compose thing in gmail [1] (the one that hides all but 2 lines of the message that you're trying to write, most of the time): Maria what have you done ?!!!

[1] https://bar.foo/gmail.html

Google finally added an preference setting that provides a reasonably sized compose window, but (presumably) in keeping with their new interface guidelines, it's well hidden to prevent accidental discovery.

To change it, you need to open a compose window and click on the "down arrow" in the lower right corner. You can then choose the option "Default to full screen". It still pretends to be a pop-up window, but it's large enough for real use.

Arguably, this is a reasonable place to put this setting: it affects only the compose window, so the setting is only accessible from the compose window. But personally I never would have found it without searching the web for a solution.

"It's really an exciting field because you can have a group of 2, 3 or 4 people produce something that is used by hundreds of millions or billions of people using your software and benefiting from the capabilities that it has. There are very few careers where small groups of people can have this kind of influence..."

Why do they need tens of thousands of engineers, then?

They make a ton of things - if you're part of the 10 person team working on let's say - the "Search" button - clearly millions of people are using your software - but the impressive part isn't the UI of that button it's the "magic" behind it.

I'm guessing Jeff Dean is not a typical Google engineer.

For whatever reason the non-technical public has this impression of Google engineers (or just engineers in general) as really smart people who do things they don't understand.

This is the impression typical Google engineers have of Jeff Dean.

To make hundreds of projects, obvilusly.

I would say most of Google's products that eventually reach the bigger mass are black swans. Best way to reproduce them? Add a lot of stress, tens of thousands of engineers is quite lot stress.

I literally facepalmed at your comment. Google does so much that it's a miracle they get all this done with tens of thousands of engineers. Companies that create CRUD operations have upto 200k employees doing just that.

What companies have 200k employees to build CRUD operations?

Yeah that's a bullshit claim right there. IBM might be one of the only companies in the world with O(200K) engineers, and I sincerely hope parent comment doesn't think IBM does CRUD.

IBM does six hours of meetings, two hours of CRUD, and then four more hours in the evening fixing a problem the offshore dev team delivered without testing.

And at the same time they managed to ship Watson.

The initial team was less than 15 people.

> "During 2007, the IBM team was given three to five years and a staff of 15 people to solve the problems" [1]

[1]: https://en.wikipedia.org/wiki/Watson_(computer)#cite_note-ny...

Right! This stabs at the heart of the issue, which is that some engineers gets to play the cool games (in fact very few), while most engineers are answering support tickets or putting out on-call fires. And this is no different than anything else, it's all about who you know.

Regardless of truth - this made me laugh out loud :D

What is going to infinity when you are measuring the asymptotic upper bound of IBM's engineer count?

Besides, O(constant) is pretty low.

Cognizant, Infosys, Wipro, TCS etc..

Nice try, Google, but most of us are not willing to relocate to the overpriced and not very family-friendly areas where your offices are.

Also no remote work either. To be honest I totally understand Google's approach here - let the young and bright live their entire lives on campuses, dump them when they're no longer productive or want family or just life outside of work.

You should visit Google - Orange county. It's an awesome office in a great location and it's family friendly :).

(I work there)

Heh, I always get a bit of a giggle when I read sentences like this that end with a ":)" or similar emoji.

I have this weird mental image of your desk being being suspended above a tank of sea bass with lasers, and unless you tell me about how awesome the office is on hacker news, they're going to lower you in.

So you comply, but you include that little emoji at the end as a subtle cue that maybe not all is as it seems.

I really hope I'm not responsible for you being fed to the sea bass.

I think that is just a habit(or reflective of my state of mind). They do not sacrifice employees for good reviews on Hacker News (at least not that I am aware of...).

/note-to-self: I should really find out if there is a hidden room somewhere in this office where this happens

Family-friendly in that they let you work remotely on occasion, or are you required to be at the office less than 40 hours a week?

Both. I have a 7 month old and just finished working on a decently sized project (amp-analytics[1]). Both my team and manager have been super supportive through the process. I don't remember when I worked full 40 hours a week (that does not mean the work did not get done. Just that I could work when the child allowed me to.) Except for working from home on occasions (1-2 days a month), I didn't work remotely much so I do not know the policies around it.

[1] https://www.ampproject.org/docs/reference/extended/amp-analy...

Seattle, NYC and Boston aren't that bad. As well as most of the satellite offices, but it's hard getting placed there.

Not compared to Helsinki, Edinburgh, or other places!

The two Seattle offices are both in fairly family friendly locations. The Freemont neighborhood and Kirland (a suburb).

(I don't work for google... I just know stuff)

I don't know if I'd say most.

As a correlation to this site, there is a secret programming challenge within google at: http://www.google.com/foobar/

You have to get invited to it (via searching the correct keywords, etc. I got invited when googling about dependency injection). It is a series of programming challenges that get really difficult. But after completing them, I got a final round interview at Google, which was pretty cool.

I've been working through them and the difficulty has been all over the map. I've gotten a couple of [what I thought were] moderately hard, whereas one problem basically had a very complicated phrasing, but the answer ended up being [length of the input vector] - 1, plus some other trivial ones.

It's pretty fun though, even if you're not looking for an interview.

Does anybody know if it only invites you if you're in specific countries?

I do not know about inviting - as I was only invited in the US. However, when they asked for which office I wanted to interview, I chose from the global list of offices.

Maybe it's too early on a Monday and my reading comprehension is off, but I'm not sure I get the point of this. Is this just a fancy blog for engineering stories as a means of hiring more engineers? If so, I'm not sure the magazine-like reporting style is speaking to me here. I'd much rather see these types of stories in a first-person, conversational blog format. But maybe I'm missing the point, or I'm the wrong target.

Companies like Google used to traditionally pick the best engineers because they were years ahead in mentality.

That is not the case anymore and there are a lot more people who choose to work for other companies - even large ones.

It only makes sense that among the ton of other effort Google pours towards hiring good engineers it does this.

This is just a marketing venue.

To me the most interesting of these was the solution to collaborative editing in Google Docs. Sadly the description provided is a helicopter view. It appears to reference OT[1] and is suggestive of the event sourced pattern[2]. My interest is piqued; can anyone reference an in-depth publication/paper on the D&I of their "collaboration engine"?

[1] https://en.wikipedia.org/wiki/Operational_transformation

[2] http://martinfowler.com/eaaDev/EventSourcing.html

Google Wave used operational transformation in their protocol[1]. I've always assumed that the lessons learned on Wave got reused in the Google Docs rewrite.

[1] http://www.waveprotocol.org/whitepapers/operational-transfor...

Not sure if this is what you're looking for but I've been working on a collaborative coding environment for clojurescript lately and am implementing the algorithm from this (incredibly readable) paper https://neil.fraser.name/writing/sync/

Minor factual correction: The Google Docs article on this site says "When Google launched Docs in 2012"... but Docs launched way earlier than that (Feb 2007 according to https://www.google.com/webhp?q=when%20did%20google%20docs%20...).

FWIW, it was actually 2006:


However, the realtime collaboration described in this article came from a ground-up rewrite, really an entirely new product, that did launch in 2012 or thereabouts. The original Google Docs word processor would synchronize at intervals, on the order of every 15 to 30 seconds. The new architecture is much more realtime. It also contained a completely new approach to in-browser editing, doing away with content-editable in favor of a pure JavaScript editing+layout engine that allowed for pagination and other features not supported by browser content-editable implementations.

(Source: I was part of Writely - the startup that became the word processing side of Docs. We launched around June 2005, were acquired by Google in March 2006, quietly relaunched on Google infrastructure at the end of June, and I don't recall the exact launch date of the combined "Docs & Spreadsheets" product but October 2006, as stated in the article linked above, sounds about right. My only involvement in the rewrite was to hand that team a list of reasons I thought that what they wanted to do wasn't possible.)

Such hover, Much animation.

One thing I find interesting about programming forums is without fail, a good portion of every discussion divulges into off topic, largely useless and redundant commentary on one of the following:

- Page uses JavaScript (when it doesn't need to)

- The page uses too many animations

- The page size is too large

While I love hacker news discussion for the most part, these reoccurring themes seem to never, ever die.

If a page breaks when I have Javascript disabled I just assume I am a bizarro troglodyte and deserve it.

I don't know why people assume they somehow deserve to see the page and then complain about it.

You're not a bizarro X or Y, you just gave up on expecting that front end web developers have some professional pride and self-restraint left to not use a ton of JS frameworks plus 3rd party tracking and advertising for the simplest HTML documents.

I've occasionally been known to let my annoyance get the better of me, and post a complaint about the article. Many times it's because an article exhibits a "helpful" feature that frustrates the way I use my computer; the NY Times, for example, changes the text size when I double click to highlight a word.

I do feel like nobody's interested in hearing it most of the time, but I also feel like such a comment would naturally fall near the bottom, out of the way of any real discussion that might crop up but above the trolls. What's so wrong with having a tangential but not harmful comment on what's annoying us about the medium?

It becomes relevant when the point of a web site is completely lost due to its fluff.

In this case, I was so distracted by the constant animation/scroll pattern that I couldn’t be bothered to read to the end.

Also, the engineering mindset is such that we are going to care about the engine. Take a pilot on a scenic helicopter tour, and he's going to be at least a bit interested in your helicopter and how it functions, and have more opinions on that rather than the scenic part. Likewise, show a webpage to a group of engineers and developers... and we're going to have opinions on your site.

You can point people to dang's comment here: https://news.ycombinator.com/item?id=9238739

> A reader emailed to complain about how this and other HN discussions often become derailed by off-topic carping about blog design. I agree completely. Could there be a more classic form of bikeshedding? It would seem parodic if it weren't sadly real. This has become more of a thing on HN lately. It needs to become less of a thing.

> I don't mean to pick on you personally, or just on this one comment. (Your second sentence alone, by the way, would have been a helpful contribution.) The problem is the tedious stampedes such comments spawn.

That's because there is a big part of the HN reader community which only gets as technical as discussing the relative merits of various kinds of ovals, and maybe even sometimes the JS behind the UI. That's what they know, so that's what they talk about. And there's nothing wrong with that, really.

If we don't complain when designers do these awful things, what will motivate them to stop?

To you, it's odd that our recruiting propaganda had to be outsourced when the message is roughly: Google engineers are very capable.

Perhaps because Google engineers are very capable it's not worth using their time on a small marketing site.

It's the specific irony of the situation. Like outsourcing a "MADE IN THE USA" poster to be made...outside the USA.

Reminds me the geeky asciiart ad of Chrome for Linux.

Someone should tell those bright engineers that hover doesn't work on mobile.

How do I register a .foo domain? Namecheap asks me to "make offer" and various other domain registrars ask me to "pre-order".

For all the new gTLDs you can go to nic.tld to find WHOIS info and usually a list of registrars. In this case nic.foo goes to Google's registry, which doesn't seem to offer the TLD for sale yet (or if it ever will).

Ask Google to let you. http://arstechnica.com/business/2012/06/blog-lol-foo-google-...

Namecheap & others are trying to scam you.

Cool site, but it's really too bad Google isn't willing to open up offices outside of California (like, say, Portland? :) ). I'd like to see them innovate the remote teams space, but maybe that's too difficult a challenge for them?

> Cool site, but it's really too bad Google isn't willing to open up offices outside of California (like, say, Portland? :) ).

Uh, Google has offices all over the world (including major engineering in other US cities).


> Cool site, but it's really too bad Google isn't willing to open up offices outside of California (like, say, Portland? :) )

Google has teams in Portland and the office has grown enough that they just got a new building: http://www.google.com/about/careers/locations/portland/

where can you get a foo domain... all my google searches came up with nothing.

IANA website says it's administrated by Google: https://www.iana.org/domains/root/db/foo.html

However, they don't advertise it: https://www.registry.google/about/domains.html

So there may be no way.

That's really crappy on their part, like the .dev controversy.

According to Gandi.net (a domain registrar), .FOO will be released "soon." https://www.gandi.net/domain/gtld/foo/news

Note that they've said "soon" for a while, so don't hold your breath on this!

Regardless of the content the design of that website is pretty great. The pages load almost instantly! Can anyone with more front-end knowledge tell me what's going on under the hood?

Off-topic in a way but discovered through this domain's nic.foo : Interesting that Google now has .google but search.google isn't a thing yet. :)

http://com.google/ is though...

Must be getting desperate to find talent.

This fails to resolve for me:

    Host bar.foo not found: 2(SERVFAIL)



they really needed to register a .foo TLD for this?

I think its interesting that the original term 'fubar', which has an adult and cynical meaning, has morphed into something that literally could mean anything: 'foo' 'bar'. The fact that this thing that has no real meaning is meaningful enough to warrant a TLD, is perhaps fubar in its truest form?

You're about 40 years too late to complain about foo and bar being debased: https://en.wikipedia.org/wiki/Metasyntactic_variable

not complaining, just observing. I realize that we have been bastardizing TLDs for a long time to cleverly apply them to programming terms (I'm looking at you .io). Perhaps '.foo' is the TLD that could mean anything?

yeah but foo bar has been associated with programming since forever - its like "fizz", "buzz" - inb4 the .buzz domain ? or hello."world"? I can't believe ICANN would actually let you register these (as long as you can pay for it)..

Your comment follows a worrying trend I've been seeing on HN:

1) Start humbly by saying you might be wrong / you're not sure / ...

2) Criticize the work showed in the link from your personal opinion, without real arguments.

3) End in the same way: "Just saying." "I hope I'm wrong".

Yes, this "just a fancy blog for engineering stories as a means of hiring more engineers". I'm not sure how one can say such a precise thing without being sure.

We detached this subthread from https://news.ycombinator.com/item?id=11195895 and marked it off-topic.

Edit: I should probably add that it isn't halflings' comment alone, but the fact that the entire discussion went massively meta, that made this subthread problematic.

Ouch, just noticed how far this went. Will avoid starting meta flamewars in the future!

I find it confusing that you detached the thread that was actually commenting about the actual article, but then left the thread that was commenting about the <now detached> comment's style.

It would have made much more sense to leave @morley's original comment wondering if the actual post, "Is this just a fancy blog for engineering stories as a means of hiring more engineers?" and instead detached @hafling's comment about @morley's comment style.

That's exactly what we did! Why did it seem otherwise?

You broke off (detached; are NOT showing) the comment that IS ACTUALLY RELATED to the original post.

You left the comment that was commenting on the commenting style of the detached post.

It seems like you detached the WRONG comment, hence my confusion.

I'm pretty sure you're mistaken. We didn't touch the original, on-topic comment (11195956) at all. It's right where it always was.

"Detached" means we disconnected a reply (11195956) from its original parent (11195956) and moved it to the top level instead. That moved all its child comments too. Then we marked the entire subthread offtopic, which moves it lower on the page.

Definitely 'caused confusion, in particular:

A) @hafling's comment (11195956) now looks like it is directly referencing the parent discussion (therefore it's lost its context).

B) Your comment about detaching it (11196963) references the comment it was detached from, BUT because a link to a sub-thread opens the linked sub-thread as a parent thread, it appears to be a brand-spanking new thread (if I haven't properly articulated this, click https://news.ycombinator.com/item?id=11195895 and you'll get the idea)

C) I don't see any indication that the offtopic sub-thread has been marked as offtopic.

Combining these, B makes it look like the relevant conversation has been completely detached from the relevant conversation, while A and C makes it look like the off-topic conversation has been left, but it's now lost it's context.

I absolutely agree, the sub-thread is off-topic. But the detachment result is just downright confusing!

I'd rather there be a visible flag that a sub-thread is off-topic with a way to collapse the off-topic thread (something I'd love to see anyway for several other reasons), maybe even auto-collapse an off-topic thread (somewhat similarly to the way dead-threads default to not being shown, and when they are shown they are flagged as such).

Just my thoughts after being really confused! (Kinda ironic, given my original comment on the sub-thread - https://news.ycombinator.com/item?id=11196732)

@dang - Special thanks for helping me understand what was going on!

edited: trying to make my statement slightly more clear

The right way to handle a direct reply to a comment is to detach its thread and leave its pronouns dangling?

What particular deficiency of the HN comment threading system is this particular act of moderation addressing?

Note the pointer to the original parent. Nothing is dangling.

One layer of indirection strikes me as about right for subthreads that go far off-topic (or violate the site rules).

I think that's the right approach when you're commenting based on your personal opinion, so I'm not sure what you find so worrying about that. This pattern has been the root of a lot of great discourse I've experienced both in person and in text forums.

I simply don't get it.

There is no sensible reason in using the various patterns -- such as to "start humbly by saying you might be wrong / you're not sure / ..." -- "to dull the edges of an opinion" when the commenter can simply prefix whatever he is saying with "In my opinion, " and be done with it.

Why call ourselves intelligent beings and rely on such archaic tricks?


Also, in regards to this pattern being "the root" of a lot of great discourse you have experienced in person (in particular) - what I can say is that I have found such patterns/ tricks to be only necessary when I'm feeling even the slightest malice towards the subject matter or the other person (requiring mellowing down the said feeling); in every other case, a straightforward/ direct stating of the opinion (with little to no adverse feelings involved) has been the most propitious course of action.

I've done it in spoken language since long before I heard of, yet alone used, the internet.

I rarely do it, "to dull the edges of an opinion". Instead, I do it to provide explicit context (e.g. this my opinion or my observation, similar to the way people will use 'IANAL' in discussion of a legal matter) and to let people know that I genuinely think I'm missing the point. The only way someone might be able to help fill in what I've missed is to explain what I see from my perspective. While most of the time, my perspective turns out to be pretty close to the mark, there have been times when I was really, really off, and someone was able to help provide the context necessary for comprehension.

In this particular case, I actually thought exactly the same thing as the original commentor and am glad to know that I'm not alone in my impression and subsequent confusion that "I think I'm missing the point"!

This is just how people should communicate with each other. It's polite, it invites others to be civil yet still argue with your point, and it doesn't appear arrogant.

If I enter a conversation where I'm unsure how the audience will interpret my opinion, I'll start by making sure everyone knows that I'm open minded, have an opinion, and have no expectation of others to have the same.

I'll follow-up with my thoughts on the matter, and close by reassuring my audience that it's just an opinion, I'd love to hear their arguments too, and yes, I AM confident in my views, but I've certainly been wrong in the past, so I'm all ears.

This comment also follows a worrying trend: Attempting to put a person down for ones own personal enjoyment while adding nothing to the actual discussion. The original comment was not perfect but it was at least on subject.

+1. Oh how I wish people weren't forcing me to read the endless qualifications and attempts at hedging. Just say what you have to say.

I have learned through crystal clear negative reinforcement that criticism on HN will be attacked on the most ridiculous, minor, red herring points imaginable. If you don't preface your comment with about half a page of disclaimers, prepare for three comments addressing inane edge cases and posing unrealistic demands.

Id love to be more curt. But a deep thread-war is the death of every comment, so preempting every possible rebuttal is your only choice. And on HN, every rebuttal is possible.

I hereby propose that we rename ourselves to Lawyer News, seeing how that's the kind of behavior we encourage here.

That is the kind of behavior encouraged by an engineering discipline. Our rules are even more strict than the ones lawyers deal with.

It's related to a paradigm I refer to as "Disagreement As The Engine Of Conversation State", or DATEOCS.

Basically, in order to react to something someone else said, you identify something that it's possible to disagree with or call into question.

This is why I generally prefer anonymous discussion forums (mainly chan-style ones). No upvotes just because your username has brand equity, no downvotes to censor opinions which go against a prevailing narrative, just raw evaluation of the content of each post.

If something is good, it lives on by being copied and reposted. You contribute for contribution's sake, alone.

The downside is that you have to manually wade through the low quality posts/trolls yourself, but I don't find this to be too big of a deal in practice.

So I'm just a HN reader, but this isn't a new trend. Folks have been doing it for ages. Just sayin'

I think you are right that critical HN comments tend to follow that format, however I fail to see why treating others with civility is a bad thing.

A lot of replies to this also start with "I think" or "I believe", which is another way of dulling the edges of a position.

I had the same reaction as morley and was hoping someone would give a better tldr of the site. I think your comment is much worse, it adds nothing to the current topic, except the part where you say "Yes, this [is] ...". And it derails the thread into a boring meta topic.

Oh no, a worrying trend of displaying humility and admitting the possibility that one might be mistaken! What will become of HN's core value of speaking arrogantly from a place of ignorance!

Well said. I feel like this is a response to how negativity or sarcasm even in small doses is dog piled on. I get that communities become toxic in this way but I think that on HN the pendulum has swung way too far to the other side, so to speak.

I think there are far more worrying trends in the world.

As an aside: I actually really like the way the marketing here speaks to me as an engineer, and the way we are generally in a place of understanding the context of our work in a world that doesn't understand the brass tacks of that work.

I believe this is an inherent effect of upvoting/downvoting. In an effort to protect against negative sentiment, qualifiers and requests for correction are included.

It's intended to dull the edges of an opinion (correct me if I'm wrong here, I'm not entirely sure).

That sounds nice.

Haters gonna hate, I've heard. But maybe one or two haters had second thoughts while adding insincere hedges and qualifications, and decided not to post their bilge after all? Or decided to read the original posting before commenting?

I'm going to hope so. The thought will make me read a hundred hedges and qualifications with a smile.

This is exactly correct and it happens on many sites that have upvoting and downvoting functionality (reddit and even digg back in the day had this; hell you can even find this on slashdot at times).

Ultimately I'm not convinced upvoting / downvoting is a good metric but I'm not sure what is better. The same goes or ordering; if you arrive at something on social media where you're the expert / can provide possibly the best feedback but there are already 100 comments on it? Good luck. You'll be drowned out.

This is a fun aside topic though :)

Nice self-referential hedging at the end :)

This is a result of HN's guidelines that say "It's explicitly okay to downvote based on disagreement", whereas for example Reddit's guidelines say "Downvote based on quality, not opinion". As a result, you get an aversion to disagreement, with a lot of "I think maybe.." and "I could be wrong.." phrases.

Why wouldn't it simply be the result of people trying to express their thoughts in an epistemically warranted way, instead of making a strong claim when they only have a hunch or suspicion?

Headline should be:

bar.foo: Stories from software engineers at Google

Most comments here are so off topic. No one has so far discussed about opportunities at Google and how can one get in.

Let's take this as a challenge guys

Well, the join us button just directs people to the standard Careers page, so I'm not sure what's interesting about that part.

I don't think that's off topic. I don't think that most of us here want to work for google, or at least feel the need to 'talk about how one can get in' I do think this is a cool website though I find the content kinda meh.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact