Hacker News new | comments | ask | show | jobs | submit login
Google Shares Experience of Using Ubuntu in their Offices (ubuntuvibes.com)
151 points by arb99 on May 12, 2012 | hide | past | web | favorite | 119 comments

What I'm curious about is how much control they are willing to give their developers over their workstations. At a previous company they had trouble because the developers needed administrator access to their Windows systems because they needed to install a lot of different software and run many things in administrative mode (server development). It was a constant tension between developers and security. I wonder how it is with Linux, which might have more fine-grained controls and an easier way to install per-user software.

I'm surprised xmonad got a mention. I interpreted it as a window manager that didn't have much traction outside of the Haskell community, particularly with all the configuration being done in Haskell. Perhaps it was just an example of an one of the more strange requests.

That said, I love xmonad. People keep asking me for help with their Gnome desktops and I have to shrug and point out I don't really use Gnome if I can get away with it.

(I work at Google)

A few employees in particularly security-sensitive positions don't have full root, and have to use "sudo" with a whitelist of commands, allowed packages, and so on. It's fairly easy to get packages added to the whitelist, by filing a request with the security team.

Users who need to run insecure operating systems, or need to install arbitrary packages, use heavily sandboxed VMs.

Two members of my current team used xmonad before I got here, and I've helped two more to convert. I anticipate there will be more conversions after Precise comes along and forces everyone off GNOME 2. To my knowledge, none of them know anything about Haskell.

What I am fascinated is the widespread migration caused by unity. In my circle, users have moved distributions to mint and debian, changed to using twm, dwm and xmonad. The despair at unity was caused by the bugs, and the fact that the ubuntu android distro required a proper screen to be utilised properly. It was not caused by the concept, but the implementation. If the user unfriendliness caused by unity was intended to support smartphones and smaller screen devices, why does the mobile unity require an external screen? Baffling! The user decisions made were relatively permanent. The users who made changes don't seem to be swayed by assertions that more recent versions of ubuntu have better implementations of unity.

Why did you feel forced to switch distros? My company just switched from RHEL to Ubuntu so we developers could have a < 7 year old OS release for our daily desktop use, and Unity was installed by default on our new Ubuntu desktops. I don't like Unity, but I simply replaced it with my two favourite window managers via 'apt-get install fluxbox awesome'. There is no need to replace your whole distro because you don't like the default window manager.

Ubuntu packages are extensively modified to work with Unity. Often, the Ubuntu patches cause bugs that are not present in upstream.

This is why I have moved my laptop to Debian, and will move my desktop and server when I have the spare time.

You're right in jumping to the conclusion that I also switched. I didn't feel forced to switch, but I did feel like trying something else out. I can't speak for anyone else's reasoning. I have a perception that if I'm not using the defaults, I'm more likely to run in to problems with more difficult solutions.

The other question I asked myself: "If they are going to make changes in this manner, what else will they do?"

I figured there'd be less hassle in future with something more stable. I put Debian on out of curiosity as to how different Debian is from Ubuntu. I'd gone with Mint before but the one I got logged me in with no password required, which was a bit unsettling.

> There is no need to replace your whole distro because you don't like the default window manager.

It's... a Google thing.

I haven't gotten around to planning around Unity yet, but I'm not surprised by this. It's classic Google culture to just throw the baby out with the bathwater and build the damn thing over, (presumedly) better. Funny to see it happen on an individual level!

I know I am planning on using Unity 12.04 to push desktop Linux on some relatives who still are running XP. Considering getting them over to 7 would be just as much labor and 8 is significantly worse than Unity ever was, now is prime time for switching them off the sinking M$ ship.

I am fascinated by the preference for Xmonad as an alternative to Unity/Gnome Shell.

Would Gnome 2 -> XFCE or Gnome 2 -> Gnome Classic not make more sense?

Or is it more along the lines of: we have to change anyway so lets have a look at a workflow that really fits how we work?

I say this as a humble end user who has gone dwm/dmenu -> Unity with 12.04

GNOME Classic is really just a thin skin over GNOME 3; it doesn't have any of the useful features that the GNOME team removed from their software.

XFCE and KDE just aren't very popular in my area, though I don't know why. I have seen people discuss moving to KDE on internal mailing lists, so there is some interest elsewhere in the company.

The two people I helped convert have, to my knowledge, not bothered with customising xmonad. They just copied my config, changed a keybinding or two, and then left it alone.

Could you point out some of the useful features removed in GNOME 3 not available in fallback mode?

I switched from GNOME 2 -> GNOME 3 -> GNOME 3 fallback + Xmonad. I tried to find a suitable alternative to GNOME 3 (Cinnamon, Unity, KDE, XFCE) but was excited to find out about fallback mode.

It essentially behaves like GNOME 2 for me, except now I use Xmonad for WM instead of Mutter / Metacity.

A few of my personal pet peeves (note: every disgruntled user has their own, largely disjoint set):

1. The applet to inhibit screen sleeping went away. Without it, I often look up from working on a hard problem to discover that my screens have been blanked out.

2. Something GNOME-ish keeps grabbing my mouse, and won't let it go until I log in with SSH and start killall-ing anything with "gnome" in the process name. It happens once a day or so, I haven't been able to purposefully reproduce it, and it's really annoying.

3. The settings applet was neutered. It now looks like a cheap knockoff of MacOS's system settings, except somehow with even less functionality. It also seems like the GNOME developers simply forgot about it until about a month before the release, because many features that appear to be present are barely functional. For example, Appearance -> Theme only changes gtk3 themes, and most of the gtk2 themes don't have a gtk3 counterpart, so now about half of my apps don't look like the other half. Another example: the new settings applet stores network proxy settings somewhere weird now, so neither Firefox nor Chrome find my proxy settings any more.

4. About half of the GNOME configuration has moved to gconf to dconf, but there's no rhyme or reason as to which half. When I discovered the new settings applet, I tried to change stuff with gconf/dconf, except I have no idea how to figure out which applications use what settings storage backend.

5. A lot of applications don't have key bindings any more, or had them greatly reduced. GNOME 2 was pretty good about this, but many GNOME 3 applications are completely unusable without using the mouse.

> 1. The applet to inhibit screen sleeping went away. Without it, I often look up from working on a hard problem to discover that my screens have been blanked out.

The Presentation Mode shell extension fixes this - adds an option to the drop-down menu on the power meter to turn on presentation mode, disabling screen blanking & locking.

> 4. About half of the GNOME configuration has moved to gconf to dconf, but there's no rhyme or reason as to which half. When I discovered the new settings applet, I tried to change stuff with gconf/dconf, except I have no idea how to figure out which applications use what settings storage backend.

I think finishing this migration is a work-in-progress.

Don't have immediate solutions for the rest of your gripes. Gnome 3 seems to be a love-it-or-hate-it thing; I find it to be great (modulo a few bugs and quirks, but it isn't everyone's cup of tea.

"2. Something GNOME-ish keeps grabbing my mouse, and won't let it go until I log in with SSH and start killall-ing anything with "gnome" in the process name. It happens once a day or so, I haven't been able to purposefully reproduce it, and it's really annoying."

That is a bug, I've not seen that on Ubuntu 12.04 using Unity or GS all through the testing period.

I gathered from what jmillikin said that it is certainly a bug, but it was probably not reported during the testing period for the same reason jmillikin didn't report it: it appears to be hard to reproduce.

Is there a tool (akin to xev) that would display which process currently has control of the mouse? I would think that tracking down the process that has grabbed the mouse would be the necessary first step toward stopping it from doing so.

I am surprised Google security would let you disable the screensaver anyway.

I wasn't able to figure out how to remove the top and bottom panels (the window list thing at the bottom and the shutdown button thing on top).

I like vertical real estate (would like to merge them into one, like I could with Ubuntu 10.10). And I like no toolbars on on top (to make it easier to click on my firefox tabs (see below)).

My favorite GUI customization is to remove the "decorations" (window frame, title bar etc) of maximized windows (to get a little more vertical space). This also makes firefox's "tabs on top" feature look the same on Linux and Windows.

You can do it with Compiz+XFCE (which I did in 10.10). Compiz isn't working for me under XFCE in 12.04, so I'm using a PyGTK script I found on the Net to do this.

If you're using Gnome 3 fallback you can add / remove applets like Gnome 2. The only difference is you have to alt + right-click on a panel / applet instead of just a regular right-click.

Most of what you want is available via extensions. The Panel Settings extension lets you turn on autohide, which addressed my primary gripe. devilspie works great with gnome3 to get rid of decorations.

Great, I'm just getting my head around people missing features in Gnome 2 so instead going to a 'bare backed' window manager like Xmonad.

I think it's largely a feeling of "what will they remove next"?

Say an engineer is a a daily user of ten particular GNOME 2 features. GNOME 3 removes four of them, and hides three more. At that point, the engineer is wondering what will happen to the rest when GNOME 3.3 comes out.

In contrast, environments which are explicitly intended to be customised very rarely disable or remove features. Someone who's been using the same configuration for ten years can know that if it works in release N, it'll probably work (maybe with a few minor tweaks) in release N+1.

It's worth noting that XMonad has many more features than Metacity; it's not bare-bones by any means. Converting to it isn't like converting to a minimalist WM.

That is an interesting way of looking at the situation; Jef Raskin's idea of 'monotony' in the interface (one way of doing everything and that way fixed) is clearly not what you guys want.

I take your point about Xmonad, and if you know Haskel you can add stuff as needed

The thing is that Gnome3 is relatively highly integrated, and contains implementations of various functionalities. Using a 3rd party tool tends not to work well, because the Gnome implementation conflicts.

Using a bare bones window manager doesn't cause the same issues. It's not as integrated, but you can mix and match parts more easily.

I see it as risk avoidance. The learning curve with the basic WMs is steep but a one-time cost. With richer WMs, You pay a tax with your time and productivity every time the UI designers f* with your s*. It seems like UI designers these days are about making BOLD MOVES without apologies.

Look into the Mate desktop - it's a rebuild of Gnome 2 with maintainable code. Best way for a test spin now is get the Linux Mint Debian Mate iso and try it in a VM. I actually like Unity, but in Mint the Mate desktop is my favorite, looking forward to Mint 13 with it as a default.

> Would Gnome 2 -> XFCE or Gnome 2 -> Gnome Classic not make more sense?

In my experience, the more minimal window managers such as XFCE, Open Box and so on required lots of configuration to get right. Furthermore, they don't give you a big advantage over something like Gnome or KDE, except for being more configurable. I'm using the tiling window manager dwm with minimal changes to the default config (added 2 shortcuts and changed some colors) for almost 3 years now. I think the pure simplicity and stability of the software is compelling compared to a minimal version of Gnome.

Amazingly, I moved from dwm/dmenu back into Unity a couple of months ago and don't see any need to move back too quickly (Ctrl-Super-left-arrow and Ctrl-Super-right-arrow provide a basic, way basic, tiling behaviour on Unity).

If you have a numpad, in Unity you can use ctrl-alt-[0-9].

    Ctrl-Alt-Numpad 7 - Place window in top left corner of screen.
    Ctrl-Alt-Numpad 8 - Place window in top half of screen.
    Ctrl-Alt-Numpad 9 - Place window in top right corner of screen.
    Ctrl-Alt-Numpad 5 - Center/Maximize the window in the middle of the screen. In 12.04 this toggles between maximize and restore state
    Ctrl-Alt-Numpad 1 - Place window in the bottom left corner of the screen.
    Ctrl-Alt-Numpad 2 - Place window in the bottom half of the screen.
    Ctrl-Alt-Numpad 3 - Place window in the bottom right corner of the screen.
    Ctrl-Alt-Numpad 0 - Maximize the current window.

i used to use xmonad + gnome2 (gnome2 for the desktop environment, xmonad as a replacement for the gnome window manager). now that gnome has dropped the ball, i've switched to xmonad + xfce. in either case, xmonad just replaces the window manager for me, not the entire desktop environment.

There's no contradiction between wanting to use Gnome and wanting to use XMonad. Personally, I think I slightly prefer the default Unity experience over Gnome 2, Windows 7, or Max OS - but its hard to customize in the ways I want. However, with a simple

  sudo aptitude install xmonad suckless-tools gnome-session-fallback
  sudo vim /usr/share/gnome-sessions/gnome-classic.session
and change the window manger to xmonad I'm happy as a clam.

My question is: why XMonad over one of the other tiling window managers, eg AwesomeWM? Just curious what XMonad has to offer that I may not know about (I personally use Musca).

Because XMonad is library for writing your own window manager rather than just a pre-built window manager. That means that everything will always work exactly how you want it to because you're the one programming it.

Also, awesome used to crash a lot.

I don't use awesome myself so I don't know about it crashing, but it appears to be a base to build your own system from, in the sense that most of the functionality comes from extensions written in Lua.

Musca, my window manager of choice currently (though I am beginning to try out others too, just in case I'm missing something), is a very small WM with very few features, but a very simple way of extending it through scripting (in any language).

Musca itself is tiny: little under 4K lines of C (including whitespace and comments), the binary is about 190KB. It delegates its "menu" to dmenu. If you want anything else, you use external scripts or programs.

Well, personally I switched from AwesomeWM to XMonad and the main reasons were that I liked the way that XMonad handled multiple screens better, compile time checking of the configuration file, and better community documentation (though awesome's is decent).

The default widgets in awesome are nice, but if I'm going to be using a tiling WM as a drop in replacement in a desktop environment I just have to remove them in the config file.

Am I the only Ubuntu user that likes Unity? Then again it could just be because it reminds me of Macs and a Mac is my main machine.

I wanted to like Unity. However, until Ubuntu 12.04 it always was very slow.

In the past, I've found that compositing desktops (as implemented wit Gnome over the years, and now Unity) would interfere with some applications. I would assume they also interfere with games that want to use the GPU heavily. So, I spent quite a while trying to use Unity2d. While I was able to badger it mostly into working, it always felt very second class. On 12.04, it feels even more second class, and of course it is going to be removed in 12.10 anyway.

I do like the idea of a side bar. When I use OSX, I put the dock on a side. When I use Windows 7, I put the start bar on the side. I also love the idea of the HUD. On OSX I use Quicksilver, and on Windows I navigate the start menu by searching it. In the past I've used Gnome Do. When it comes to Unity's implementation though, I've found making .desktop files for applications I want to use that don't already come with them to be cumbersome and error prone. If I don't make a .desktop file, I can't launch it from the HUD, nor can I lock it to the launcher.

When it comes to altering the menus to place the menu bar at the top, this is a decent idea, but again the implementation feels poor. I don't like that the menus disappear until you hover over the bar. That makes it hard to know where I will want to point the mouse until I get over the bar to make it show me the menus. I suspect that this is one of the changes that makes this such a large fork of Gnome 3 BTW. I would have prefered that they put out a proof of concept first, then try to work with Gnome and GTK to make it an option that is merged in.

Despite all that, I still use Unity since I like Gnome3 and KDE even less. I recently tried LXDE and XFCE, but I they seem like an unpleasant jump back to the 90s. For one thing, I don't want to go back to managing my Start/Application menus, I want to keep search. For another thing, I like largish icons on the left or right.

I am currently watching the Cinnamon project. I think they look promising. I haven't gotten around to trying it out in a VM though.

There's also a substantial Awesome user base at Google; I think the choice of tiling window manager is largely based on peer usage.

Not at Google, but: I chose xmonad when I was making the switch because it seemed to be the most stable of the tiling window managers at the time.

I've stuck with it mostly out of inertia; I don't actually know much Haskell.

I avoided awesome because I'm not a fan of Lua. Not as a matter of ideology; I just don't enjoy working with it.

I used for about a year IceWM and I loved everything in it (I always have a single window in full screen) besides the fact that it resized a simple modal boxes (e.g. firefox asking for proxy credentials) to full screen, which was really ugly.

If I would switch (from XFCE) to xmonad, would it do such strange things to small modal boxes? I don't like to split my screen, I always have windows if full screen.

Do you know about XFCE and Alt-F11? The Alt-F11 keyboard shortcut (and the corresponding title bar menu command) in XFCE remove the window decorations and maximise what is left, so you get (say) the Web browser menu bar right at the top of the screen and the window covers any panels top and bottom.

I didn't know about that shortcut, it's really nice :)

But I still plan to test xmonad and see if it be a good fit for me.

That probably was a misconfiguration. IceWM has never done this on my system. Maybe you want to give it another chance :)

(I'm very happy using IceWM without taskbar, but with simdock, conky for date/time and cpu/network-monitor and stalonetray)

Developers have root on their workstations. Google doesn't believe in treating developers like the enemy.

Just like in every other sane tech company.

I wish...

Get a VM.

As an intern last summer with Google I had my personal Xmonad environment setup and running day 2 in the office.

So yeah, Google gives their developers plenty of control over their workstations :) And Xmonad rocks for productivity.

Where you using a multimonitor setup or just a single big monitor?

I found xmonad not so pleasant in multimonitor setup where it saw each monitor as a separate workspace.

I hated that concept too when I first switched to Xmonad, but after a few months I've come to appreciate that behavior. It allows me to keep one screen static while working on another.

This allows me to dedicate a workspace to communication (email, IM, etc), server, development, documentation, etc and move among them easily.

I've been using XMonad in a dual-monitor setup since I started working at Google in January... haven't had any problems with it. My general (rough) impression from walking around the New York office is that about one fifth of engineers here are using XMonad.

Really? I have not seen one other person that uses it. I haven't even heard it discussed, and I asked around a lot when I started. I'm surprised we have never discussed this, actually :)

I've looking for that feature for a while. I'm sold.

I have about a thousand different windows opened at the same time.

I used 2 monitors, and actually really preferred that model of behavior.

Lurking along this thread (google engineer), this is exactly what I want for my multi monitor setup! Chrome on one screen, everything else on another, programmable WM to make organizing that other screen natural.

I don't know too much about the Linux desktop scene, and I'm plenty productive as-is, so I didn't even bother looking. Thanks!

At my company almost everyone uses Windows (it's the official supported sytem) but I installed Linux on my box and no one had issues with this (I didn't ask for any permission, I just did it - as long as I do my work there shouldn't be any issues). We have some internal page for people using alternative OSes (Linux and MacOs, didn't see any other) and there is some kind of support with the availability of an VM image with all the office software that we use.

I really love that my company supports Windows only, because if they would support Linux it would mean that they would force me to use packages that I don't want to or take away my root access.

easier way to install per-user software.

Not "easy", but a real, functional option- compile from source in your home folder, targeting ~/bin, ~/lib, etc. The onus is entirely on the user, of course.

I work in the FDA, and it almost takes an act of congress to get root on developer workstations. Also we can't install software unless it's on the the MAT (master approved technologies) list. Which is pretty ironic, because we create software ourselves, which is of course not on that centrally maintained, slow to change list. So we're not sure if we're actually allowed to ever run the results of our compiles. Nobody wants to ask because we might not like the answer...

Bank of America was like that. One former colleague wanted shell logins on a windows box, but was denied permission to install cygwin sshd. So he wrote his own version that listened to a port and executed the unauthenticated command sent to that port. And that was 100% within policy.

It is reasonable to trust your developers but not trust unaudited third party code.

Unaudited third party code like Windows"?

Sounds like a David Foster Wallace short story there... go on ASK

"However, not many employees like new UI changes meant for consumers and not developers. Some of the Google employees also requested removing Unity and Gnome 3 and using xmonad instead."


Google is exactly the company that would use Ubuntu. They're not the company that would want unity. So WTF were they thinking?

Basically, some time on the earlier 2000's, someone decided the "secret" of a good Linux UI was a UI "for dummies". Whoever decided this was wrong, pathetic and contemptible. As alternative OS for an alternative desktop, Linux needs to be easy yes, but also powerful enough to give an exciting experience to those smart and adventurous people willing try something new, not a shitty copy of cartoonish UIs intended for morons. IE, the idiots who are targeted by Unity will not lift a finger to actually install it. The people who would try Ubuntu on their own deserve better than Unity.

I find the vitriol directed towards Unity puzzling, and regardless of your technical disagreements with the decisions its designers made, it's surely a tad over the top to call them "wrong, pathetic and contemptible".

FWIW I recently switched to using Unity with 12.04 and overall have found it very useful and efficient. From a classic usability perspective (e.g., Fitts' Law), moving the application menu bar to the window is much more efficient. And I appreciate the speed and ease-of-use of the HUD.

My wife had an oldish laptop running Windows that was becoming increasingly slow and unreliable. Since 99% of her computer use is in a web browser, I installed Ubuntu and Chrome and it's as good as new.

My wife doesn't want an "exciting experience", she just wants the computer to work reliably. Same for me. Generally I don't particularly care what changes are made at the desktop level since most of my time is spent in applications or the shell, but for the record I appreciate and applaud the work that Ubuntu has put into Unity, and kudos to the designers for their good work.

My disagreement is philosophical, not technical.

The problems some people have with Unity might be bugs or simple design mistakes (that kind of stuff certainly appears in any large application and I'm sure Unity's developers were highly competent, well-intentioned and deserving of appreciation despite any bugs). However, the problem I have in particular with Unity is that it's intended to solve making easy stuff easy by making even slightly hard stuff impossible. I don't believe that's a good philosophy for an OS that's going to spread by word-of-mouth, that will inspire loyalty in its users. (if you read my post carefully, my vitriol is directed as those who put forward the "improvement by removing options". I'm sorry if I went a bit over the top. Linux does seem to have a heritage of blunt-to-the-point-of-rudeness expression).

I also believe that it is quite possible to create a graphic shell that satisfies both minimal users and more sophisticated users.

Please stop saying 'this'. Just reply with your comments. Thank you.

not this. 'this' is a shortcut to 'i concur' or any other phrase meaning agreement which would be in the comment anyway. isn't it shorter to just say 'this'?

Shorter doesn't automatically equal better. Keep the abbreviations where they belong: text messages. All online message board communication seems to be devolving slowly into text message speak and I don't think it is a good thing.

There is the 'upvote' button for that.

A UI that "makes sense" is a lot better than a UI "for dummies". If the time is taken to come up with an interface that's logical, consistent, and minimal, it will appeal both to people with no clue how to use it and those who use it constantly and expect a lot from it.

Linux in particular tends to dumb things down rather than simplify them, as if the distinction is completely lost. Then it buries all the complexity in these configuration files or in obscure nooks and crannies of the UI that only the most determined can find.

The "secret" is to bust your ass and come up with ideas that make sense, to lead with consistency. Unfortunately open-source tends to be design by committee of designed at all because of the collaborative nature of it.

If Linus Torvalds can have final say for the kernel, where are the others who hold similar sway over UI? Maybe it's that it's very hard for a designer to earn the respect of programmers because their skill sets are under-appreciated.

I always thought unity was designed for touch screens. Everything about it is fat for touching. I think Ubuntu wants to move to the touch screen device market.

And I find it very frustrating because I have no intention of touching any of my desktop screens.

I don't like Unity for my own daily computing. I prefer a tiling wm, often with all windows full screened. I tend to prefer minimal gui. My preference is especially strong because my laptop screen has a ten inch diagonal.

But on other machines that I've set up (for my self, and others), with a normal size screen, used primarily for web browsing and basic word processing, Unity is great. Widgets aren't "fat for touching", they're fat targets for easy clicks.

Unity has its flaws. It shouldn't be the only option. I do, however, believe it is getting better for a non-techie user.

Thank god, with this, I can finally say that there isn't a corner of the Internet that doesn't have irrational Unity hate. I'd bet money you've not used it for any serious amount of time.

I have used Unity in its 5.10/Ubuntu 12.04 incarnation for several months now and I rather like it on a medium sized monitor. Not so much on a netbook at 1024/600

But I'm not a programmer. I am an end user. Perhaps we will now see increasing differentiation between those who code and those who use?

> Perhaps we will now see increasing differentiation between those who code and those who use?

I personally hope for the opposite.

Yes, I like the idea that a teenager can get hold of a second hand laptop, put GNU/Linux on it and have the same tools that people at Google and Facebook and all use every day.

However, I suspect Canonical need to move the interface into a coherent, fairly tightly integrated stack appropriate to consumer devices so they can make some money and continue to provide a convenient base install and repository system (and pay wages).

The summary mentions "...won't be upgraded to Precise until next year because of a nasty Python 2.7 incompatibility bug." What's the bug?

I was curious about that too. If you listen to the video at 12:26 (http://www.youtube.com/watch?&v=fu3pT_9nb8o#t=746s), he has made that up as a reason why a team might not upgrade from Lucid to Precise, not that there is currently any such issue.

I have found at least 3 problems upgrading to Ubuntu 12.04. I have upgraded 4 of my servers and found the following problems.

1. The ia32-libs package uninstalled itself somehow, causing all my 32bit programs to fail start back up if they restarted.

2. @reboot cronjobs ran 2 minutes after the machine booted in kern.log. I accidentally started the programs manually because I thought they wouldn't run.

3. On a fresh install, the byobu network display doesn't show up.

I don't work at google, but my team is in the same boat because of this bug: http://bugs.python.org/issue10394

Moving to python3 wouldn't be too hard, except we have some really complicated cheetah templates, and cheetah apparently has no plans for supporting python3 any time soon.

7 minutes into the video and I am glad to hear Google is considering offering Google Drive for linux. A free Dropbox/Drive combo will fit my needs for the moment.

What Linux really needs is well documented protocols, not applications. See how integrated GTalk is in any Linux desktop and how differently is Skype treated.

At the same it is nice to have a nice client as a binary package just to kickstart the efforts, but it never a good long term plan.

That's what yegge's infamous platform rant was begging for. Google has been slow to appease, though. Controlling everything is more enticing to the ego of a manager.

Do you mean Linux needs Drive to offer "well documented protocols"?

Otherwise I don't know what "Linux[...] protocols" you're referring to or how it's relevant to GTalk vs. Skype, etc. Skype integrates poorly because it's locked down and has been neglected for... 4 years?

> Do you mean Linux needs Drive to offer "well documented protocols"?

Grandparent wrote:

>>> I am glad to hear Google is considering offering Google Drive for linux.

My point is that Google should not focus too much on developing yet another synchronisation program locked on Google Drive; what they should do is publishing and maintaining a detailed set of protocols that can be implemented by the existing synchronisation programs that are already well integrated in some Linux desktops (DejaDup, for example).

Skype integrated poorly in Linux desktops because there are no publicly accessible and complete Skype protocol specification. This makes it very hard to integrate it into current applications (the telepathy frameworks, for example). There are nice hacks like pidgin-skype: a bridge that interacts with Pidgin and relays user actions to an hidden Skype window, but they are unreliable hacks because they aim at a constantly moving target. (Well, not so moving now that Skype seems abandoned on Linux.)

Sorry for the misunderstanding. This is what I'd hoped you meant and I couldn't possibly agree more. Unfortunately, the propreitary nature of both products makes me skeptical about how likely this is to happen for Skype, maybe even Drive, although there are already oAuth APIs (That require a Chrome Web Store app nonetheless)

Direct link to video: http://youtu.be/fu3pT_9nb8o

Is that the same Thomas Bushnell who was the primary architect for HURD until he said he didn't think the GFDL was free enough and got kicked off the project by RMS for that heresy?

I didn't know about that incident, but it is definitely the same Thomas Bushnell.

I found it interesting they made a point about rebooting. Considering if you had people turn off their PC's at night, you could save almost double that when you take into account the energy it takes to run a PC and a single monitor. Although most employees I'm sure would be running dual monitors.

If they were indeed running Linux (which boots at least 5X faster than Windows) you could easily make an argument for the exact opposite.

But then you can't ssh to your desktop if you need it.

How does rebooting a workstation set them back a million dollars?

Well one place I worked, the entire network's DNS was hanging off the back of a single VAXstation running NetBSD. That was serving for 2350 machines. One day, someone accidentally fork bombed it via a bad script and when they power cycled it the disk popped. It took an entire day of 1500 people twiddling thumbs before they got it back...

They must have a turd that size somewhere ;-)

I think he meant rebooting everyone's workstation - at 35K employees even a couple minutes per person is something you probably want to avoid wasting.

I don't like this way of thinking. The two or even ten minutes you spend not using your PC are not lost. It could be a unique occasion to talk to your colleagues, it could be time well spent cleaning some papers. If you think by the minute if work, then you better start eating pills instead off lunch, use headphones during commute and check emails while watching sunset with gf. We ain't no robots, sir.

"The two or even ten minutes you spend not using your PC are not lost. It could be a unique occasion to talk to your colleagues, it could be time well spent cleaning some papers."

I think that is true if you control when the reboot happens. If it just happens then it might be at exactly the wrong time.

If you control when the reboot happens, you will plan something for it. What I think is absolutely necessary in our lives, even for those at Google, is a significant amount of unplanned events, unexpected experiences, or any other occasion to prove to yourself, to feel deeply inside, that you are not a robot.

Maybe it is personal, maybe it is cultural, or maybe it isn't: I don't like (an understatement) fully planned trips where you are told "the 8th of July at 10:45, you will get an artistic ecstasy in fron of the Taj-Mahal, the 9th [...]". I won't work on anything that has no risk to be hard to control and nothing unexpected can happen. I don't mind if my PC has to be off for 10 minutes.

("Disclaimer": I live in China, not in Switzerland.)

I work as a teacher. I can plan lessons as much as I like (and today I'm planning for an observed lesson next week or week after) but I can tell you, something unexpected always happens in the actual lesson. The plan lasts 20 minutes if that. The rest is 'reflection in action' to quote Schon.

My work (not Google) get compelled reboots sometimes for patches. We're able to delay them suitably long enough, so most of the time you just go ahead and shut down at the end of the day. Either that, or you hit reboot at lunch. Everything worthwhile is running in a VNC anyway, so you just reconnect to your VNC after your laptop boots back up.

Uptime on the VNCs lasts as long as physically possible (e.g., a full IT shutdown, or hardware failure on the machine)

Not sure, that is an interesting number. If they had 20,000 devs, with an average boot time of 10 min, at $5 a min (which seems high, if it's just salary), then it would cost them $1m. But given that developers don't work 24/7, and I also think that Google has less than 20k devs (the company is only 30k). But it could have to do with math outside of salary, such as power or maintenance costs. I think it was Google that did a study on how screen saver choice affected their power bill, so I wouldn't be surprised if they knew exactly how much a reboot cost.

You also have to consider the break in flow. A boot time of a minute, at the wrong time, can cost the mental context of the interrupted developers to get dumped on the floor. That costs a lot more than a minute to recover from.

Wish Google had mostly used Linux on desktops; would be a strong motivator for the rest of the world to get better hardware certifying for Linux.

Most of the big name hardware vendors are starting to get more serious about supporting Linux on their professional product lines. The bigger problem is that no attention is given to Linux on consumer gear and the components within are refreshed on such a frequent basis that keeping up is tough even when you try.

(Context: I'm the lead on hardware qualification for Goobuntu)

Google does mostly use Linux on desktops.

Isn't that exactly what this is about? Seems like Google uses Linux on everything according to the video.

I suppose it varies between office/department but when I interviewed there 2 years ago I saw nothing but MacBooks.

Those are laptops, which are dumb terminals running Chrome, not workstations. Workstations are Linux.

Most Google engineers use Linux on desktops. For a laptop, you get to choose between a Mac and a PC Laptop (running Linux as well).

You get a choice when you join: Macbook Pro, Macbook Air, or a couple of varieties of Thinkpad running Goobuntu.

How about Macbook Pro running Goobuntu?

Frowned upon for supportability reasons, even if you made it work with all the corp management stuff.

But like drbble said, laptops for engineers are mostly for Chrome, terminals, and NX/VNC sessions, since you can't code on them directly.

So they're exclusively thin clients presumably for security reasons? Is that the take away? Sorry if I'm being thick.

I wouldn't say they're exclusively thin clients; you can run more or less whatever apps you want (I use Omnifocus, Graffle, bunch of other stuff). But source code isn't allowed on laptop HDD's, so most engineers develop remotely on their workstations via SSH/remote-desktop.

Possibly because all of their products also have to work on OS X. Giving every developer a MacBook makes testing those products easier.

I will say this: Google has really good developer tools in general. I have had to spend far less time setting up software on my workstation than I ever have at any other job. Between using Ubuntu and some internal tools, I spend far less time installing software and more time writing software.

Although I should note that certain security systems are notoriously annoying to say the least.

I've written a post on our company blog about our heavy use of Ubuntu including Diskless fat-client workstations..


What's interesting, I think, is that "Linux", "GNU", "Red Hat" (who write most of the software), "BSD", "free software" are not mentioned in the main article.

Based on what I've seen here, Google needs to have more presentation skills classes.

I haven't watched the linked video yet, but my only complaint as a Google engineer about our employees as presenters is that engineers are often ineffective moderators.

Applications are open for YC Summer 2019

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