flwyd: (mail.app)
If you've put off migrating from Google Reader until this weekend, you're running out of time to pick a replacement. First, be sure to export your feed list with Google Takeout.

Google Reader had a lot of subtle bits that I really liked, and none of the replacement options perfectly replicate that experience. They have, however, had feature development in the last three years, so it's not all a wash of bummed-out nostalgia. Some options, with pros and cons from my perspective follow. Slashdot has some pointers and there are plenty of other lists floating around. Also note that you can set up a LiveJournal "user" for RSS feeds (if one doesn't exist for the feed you like) and read it on your friends page. This would probably be overwhelming for something like Slashdot or Boing Boing, though.
Feedly seems to be the majority choice.
Feedly started as a new UI on top of your Google Reader data. Prior to Reader's notice of impending doom they'd started a project to replace the Reader API on AppEngine. This API means there are several apps you can use which will all work from the same feed list and read/unread state. They've got a very modern web/app design, so if you're a crusty old hacker you might not like it. Sharing happens through any of a dozen or so popular web services, and Feedly tends to replace the original URL with its own shortened one.
Pros: Per-feed settings for post order and layout. Feeds can be in multiple groups and sorted arbitrarily. Algorithmic picks for interesting posts in each category. Magazine layout with article snippet for picking what to read. Good Android client, including quick reading of original article. Android client has a button to read the title text on XKCD.
Cons: They don't have a business model yet, so they might not be sustainable. There's no "full screen" mode on the web, which I liked for APOD and other large photos. They don't have an import/export UI yet, so keep your Reader zip file around and migrate by Monday.
NewsBlur is also fairly good.
NewsBlur is open source, with one guy doing most of the work. The service is free for up to 64 feeds and pretty cheap if you've got more. There are some features available only to premium users; unfortunately "arrow keys work like every other web page" is one of them. NewsBlur's key distinctive features are reading posts in "original" mode, with styling more like the blog's site, and a training-based article recommendation algorithm. It's got a lot of keystrokes, making feed consumption pretty efficient. Unfortunately, I've found a lot of the UI confusing and awkward. It's unclear to me how the training system works (which may be partly a UI issue), so I haven't used it much. If I like cat memes and dislike dog memes will it show me more cat memes, or will it just be confused about whether I like I Can Haz Cheezburger? NewsBlur has an official Android app with some warts and it's got some third-party clients as well. NewsBlur users can comment and share within the app; you can see other NewsBlur user comments under posts or you can limit it to just designated friends.
Pros: You can pay money for it; you can also use it for free. Good interaction for "read everything" mode. Lots of keyboard shortcuts. Reasonable Android app.
Cons: Awkward UI. Android client has some issues like trouble playing YouTube videos and sometimes missing posts. Training system is unclear, may take a while to be effective. Can't put feeds in multiple folders or sort items arbitrarily.
The Old Reader is kind of like Google Reader was circa 2009.
The Old Reader totally collapsed under the migration load of Google shutting down a service because it didn't get enough use. They've got more server power now, but I didn't spend much time with their app since it took a couple weeks to import my feeds. Their web UI is straightforward and familiar to Reader users. They've got in-app sharing, so if all your friends want to use it too, it's a good choice. They don't have an Android app yet.
BazQux also has a familiar Reader UI.
It's named for metasyntactic variables and is written in Haskell, which tells you something about their team. Its unique features include showing the blog's comments and easy subscription to people and pages on Facebook and Google+. As far as I can tell, they don't have any mobile apps yet. If you're really into blog comments, this would be a good choice. There's a 30-day free trial, after which you have to pay. In the first month of "OMG, gotta replace Reader," BazQux didn't stand out enough to warrant paying.
GoodNoows has a 2D card UI and a focus on news sources.
GoodNoows had the best source discovery of any of the apps I tried. I didn't use it much, though, because my brain still can't handle blocks of non-linear text on the web. Also, I don't like the new Google+ UI.
Digg and AOL have late entries into the fray.
Somehow, it seems both companies didn't realize that Google Reader was on life support, so they probably banged these apps out in three months. I haven't tried either. They might be good; they've probably got a team roughly the size of Feedly's working on them.

Any good RSS readers I've missed? My requirements: Read from a web browser on several computers and an Android tablet.
flwyd: (smoochie sunset)
Google Reader will be retired on July 1st. This makes me very sad.

Google products I use as a consumer, sorted by how much my life would suck without them:

  • Search
  • Maps
  • Reader
  • GMail (I host my primary email address and forward to gmail)
  • Docs
  • Google+
  • Calendar
  • YouTube
  • Blogger (other people's blogs)
  • Chrome
  • Android

I used Reader to find the current and previous places I lived. If I didn't get hired, there was a good chance I'd have found my eventual employer via Reader. I learned about Wave via Reader while traveling in Guatemala. Reader is my main source of insight into technology, linguistics, and astronomy. Reader provides the material for around 25% of my Google+ posts. I joined Twitter only after following all the Twits I cared about got too unwieldy in Reader. If I'd been hired in Mountain View, Reader would've been on the top 5 projects I wanted to work on.

Reader is a product that respects my attention. Unlike seemingly every other social product, it keeps track of the content I've seen and doesn't show it to me again. It tells me how much is new in each source so I don't get pulled into a casino random reward trap. I can read several related posts in sequence so that I'm not suddenly context switching between programming, politics, and pictures of cats. If I'm away from the Internet for a week, I can find and read the important/really interesting stuff to catch up. I can start reading something interesting, realize I don't have time to digest it fully, and know that I can come back to it later. I can read posts with (most of) the original formatting; with images in context; with text hyperlinked.

So... anyone got suggestions for a Reader replacement? I've got several RSS feeds on my LiveJournal friends page, which is great for comics but lousy for noisy feeds like Slashdot and BoingBoing.
Minimum viable feature set:

  • Add feed by URL
  • Web-based
  • Keep track of read items, unread count on each feed
  • Ability to read each feed independently
Bonus features:
  • Android app, read items kept in sync with web
  • Mark as unread/read later/star
  • Show all items (vs. only unread)
  • Read several feeds together
  • Social sharing buttons
  • Add feed bookmarklet
  • Search

Google Reader's usage is small compared to services like Facebook, Twitter, Google+, and probably even LiveJournal. But its many of its users are very devoted and tech savvy. I'd be willing to pay several bucks a month for a service like Reader. I think someone could make a viable business out of it.

flwyd: (xkcd don quixote)
... it's not the self-driving car project. But it is what I've been working on for quite a while.

Google Drive includes file sync programs for Mac and Windows; smart phone apps, online viewing of PDFs, Office documents, images, videos, and text; an updated organizational UI for the Google Docs list; a folder-focused UI; file search using OCR and Google Goggles image recognition, and a lot more. It's closely integrated with Google Docs, so you can use the same fine-grained sharing for photos of your kids, scanned tax documents, and CAD drawings as you can for a family budget or a short story.

Google Drive is a much more effective backup strategy than my previous "drag all the files from my old computer to my new computer, maybe twice" practice. By storing my old school papers and various projects in the cloud, I can access them anywhere, even if my house burns down or my laptoo gets stolen. I also took the opportunity to convert a lot of my AppleWorks 6 files to PDF to avoid proprietary format bitrot. Maybe I'll eventually gettgem up on my website.

Google Drive has been a long time coming and people have wanted it for a long time. I'm glad to have helped bring it to fruition.
flwyd: (requiem for a dream eye)
Here's something I've been working on recently at work: captions for videos in Google Docs. In addition to helping deaf and hard of hearing viewers understand your video, automatic translation lets anyone grok your video in their native language. Plus, having captions or a transcript associated with your video makes search easier.

Edit: oh yeah, if you know anyone who's fluent in ASL and interested in helping improve Google+'s Hangout feature, check out this post.

Google+Plus

Wednesday, June 29th, 2011 12:34 am
flwyd: (Taoist goddess Doumu)
Google announced the Google+ project today, which is a collection of features to make it easier to connect and share with people you know. At the heart of this is circles: groups of people that mirror some of the groupings we make in real life. There's the straightforward "I don't want to share the pictures of Saturday night's party with my coworkers" case. But circles can also be used with more nuance, too: the people I won't annoy by posting amusing links about bacon, the people who live near me, the people I feel comfortable talking about my sex life with… Circles aren't a new idea for many LiveJournal users, who've had access to friends groups for years, but it's a concept that's missing from many prominent places in today's Internet landscape.

As a Googler, I was asked to invite a few friends to the Google+ field trial, which started today. This will be an opportunity to find out how everyday people use and confuse the features. "Launch and iterate" is one of Google's mantras, and we know we'll need strong feedback and iteration now that we've got users that aren't all in the atypical "Google employees" circle. The system isn't adding new users right now, but if you're interested in an invite when they become available, leave me a comment. (If you've got an invite from someone else, feel free to add trevorstone at gmail to a circle of your choosing.)

On the flip side, I don't intend to cajole, pressure, or spam anyone into joining. If this isn't your bag, I won't flood your inbox with invites and notifications. And feel free to invite me to be social the old-fashioned way: email ;-)
flwyd: (octagonal door and path)
The feature I've been working on for the last several months launched today: Upload and watch videos from anywhere with Google Docs. From family videos to corporate meetings, videos can move from your desktop to the cloud!
flwyd: (bad decision dinosaur)
Facebook announced this week that when you visit Pandora for the first time, they'll hand over all of your friend information so Pandora can set up your station with music your friends like. This is the sort of "What were they thinking!?!" news I hear about Facebook every six months or so. The frequency of such moments is the main reason I don't have an account on Facebook. For the most part, Facebook's march toward making all your social information public wouldn't be a big deal if it had started that way. Nobody gets upset about Twitter followers or LiveJournal friends being public because they've always been that way. But when people provide information on the assumption it's private and then all of a sudden it's public, they tend to feel betrayed.

Tech Crunch included a screen shot of my Buzz post referencing that link in an article about Google engineers concerned about Facebook privacy. I don't know if they also write stories about Microsoft employees blogging about iPhones or Qwest employees tweeting about their Sprint service or Subway employees declaring the Double Down is gross.

On the other hand, Facebook made some positive announcements at f8 (is their conference really pronounced "fate?"). With Open Graph, you'll be able to build a social network out of pieces that aren't all housed in one place. So if you decide you don't like Facebook, you can move to a different site, but people can still "friend you." And you can add a little HTML to your blog and then someone can "like" it on Facebook or any other site supporting Open Graph.

The following is a Slashdot comment I posted in response to the assertion
once something hits the internet its out there, no privacy promise by a huge corporation is going to protect it.

BS. People send millions upon millions of email messages a day and have a reasonable expectation that their email providers and any SMTP hops along the way are going to keep them private. If a webmail provider suddenly decided that everyone's email address and all the addresses of all their contacts were to be public (unless you opt out), that would rightly be perceived as bad behavior and a violation of users' sensible assumptions. The path of least resistance opt-in flow for Google Buzz had the end result of publicly listing the names of some of folks frequent contacts (who'd also opted in). It created a big uproar and Google quickly changed the wording to make it clearer what would be public and how to keep it private.

I access my banking records through the Internet on a regular basis. I use this convenient system instead of paper and phone calls precisely because I trust the privacy promise provided by my bank. A bank that suddenly decided to make everyone's financial information available to the world on the web by default would quickly lose a lot of customers and get a big fine from the regulators. I don't think we need a Federal Department of Regulating Facebook, but I do think we have a right to expect companies to stick to their privacy promises and suffer customer-based consequences if they fail to live up to them.

One thing The Cloud can do better is give users control of their data. Google's Data Liberation Front is a good model: If a user decides they don't want to use a cloud provider's services for whatever reason, it should be easy to get all their data out of that company's control and import it in to a different cloud provider (if desired). Take it a step further: As a user of service A, I should be able to select certain information to share privately with my friend who uses service B. Like telephone companies and the post office, the service providers should transmit and present that information, but they should have no option to change the parties who can see it.


Caveat: Court orders and other legal actions can force a provider to reveal private information without the approval of that information's owner. This is true of banks, cloud providers, and internal IT departments. So yes, if you're planning an elaborate murder scheme on the Internet, don't assume it will only be seen by your co-conspirators. But if you're closeted at work and out to your friends, you have a right to expect your social network won't suddenly decide to make "Orientation: Gay" the first thing people see when they Google your name.
flwyd: (dogcow moof!)
To celebrate the new Google Docs editors, I've created a drawing that anyone can edit. Add something clever!
flwyd: (java logo)
Google's working on a lot of cool stuff, and they want to hire a few thousand engineers this year. In Boulder, we have openings for Google Docs (Java, JavaScript), Native Client/Chrome developer tools (C++), SketchUp (C++), and more. Here's the job posting. (Note that it reads as if candidates need to know both C++ and Java; either one is fine.)

Please let me know if you (or any of your friends) have any questions or if you're thinking of applying (in Boulder, Mountain View, or elsewhere. The Native Client stuff looks like it'll be a really fun and interesting project for folks into programming languages, compilers, graphics, and performance. Here's a video of several copies of Quake running inside a browser.

Google Reader Play

Saturday, March 13th, 2010 12:34 am
flwyd: (requiem for a dream eye)
I just used Google Reader Play and holy atom feed, that's the best user experience for informative time wasting I've seen in a long time. Snippets from Reader users' most-liked items, highlighting images both beautiful and informative. If you already use Google Reader, it'll take your own likes into account. If you've never used Google Reader, you can surf for endless hours without an account. http://www.google.com/reader/play/so awesome.
flwyd: (java logo)
Google just announced that you can upload any file and store it in Google Docs. For anyone who's asked "What do you do at Google?" this project is the answer.

Among other things, this service will let me
  • back up all the papers I wrote and projects I did in school (in case I drop my hard drive again)
  • upload a file at home if I need to print it at work or at Kinkos
  • share a folder of images with my brother and mom while we work on a website design
  • make a Creative Commons GIMP file, share it with the world, and upload some improvements people make
  • stick a DMG with a hard-to-find old program so I can install it whenever I get a new computer
  • upload a bunch of photos from a private event and share them with the folks who attended
… all without wasting people's email quota by attaching large files. (Note: This feature will be available to your user some time between an hour and a half ago and next week or so.)

When you put it like that, "I work on the documents list for Google Docs" sounds pretty exciting. I'm part of this new "It's all in the cloud" world!

Tech Support Elf

Thursday, December 24th, 2009 02:20 am
flwyd: (asia face of the earth relief)
NORAD intelligence reports indicate that Santa does not experience time the way we do. His Christmas Eve trip seems to take 24 hours to us, but to Santa it might last days, weeks or even months. Santa would not want to rush the important job of delivering presents to children and spreading Christmas to everyone, so the only logical conclusion is that Santa somehow functions within his own time-space continuum.
NORAD Tracks Santa FAQ
As a Colorado kid, I knew two things about NORAD: It's an air force base inside a mountain and every Christmas Eve they appear on local news to update viewers on the location of Santa.

In the high-tech 21st Century, you don't have to wait for the local news to tell you where Santa is; you can watch his progress live in Google Maps and even in 3D with Google Earth. The technology gets better and the cultural heritage lives on. Santa is perhaps the best example of the mythic process alive in contemporary society.

A "volunteer to answer tech support email" list got passed around Google, so I've been enjoying reading questions from kids, thanks from parents, and reminders that not everyone is as skilled at using a web browser as I am.

Naughty, nice, or both, I hope you all discover a wonderful gift soon. (Take that as metaphorically as you like.)

GSchwag

Saturday, December 19th, 2009 05:03 pm
flwyd: (Trevor cartoon abi-station.com/illustmak)
After two weeks of orientation and classes in Mountain View, I've spent a week in the Boulder office, where my desk and team reside. I'd committed code by Friday morning, which seemed like an impressive time scale to several people.

Joining Google right before the holiday season is a good way to optimize schwag. In three weeks, I've gotten the following Google-branded giveaways:
two T-shirts (one for Nooglers, one for Boulder)
a beanie-propeller hat and one with a broken propeller (also for Nooglers)
a Camelback water bottle
a notebook (paper? how quaint!)
an unreleased smart phone
a rain jacket
a messenger bag
a pint glass (from a coworker who was clearing out his excess company schwag)
and a team-building trip to a hockey game...
all while arriving at two holiday events too late to get a schwag scarf or took hat.

At this rate, by the time I've made a significant contribution to Google Docs, I'll have twenty shirts and a table full of random objects. Fortunately for my minimalist goals, I think I've passed peak object distribution season.
flwyd: (Trevor glowing grad macky auditorium)
In the Google Handbook, they start with the founders' letter to potential shareholders from the initial IPO as the best introduction to what Google is all about. "Don't be evil" is a good one sentence summary, but reading the whole thing shows how strikingly how different Google's approach is compared to the conventional Wall Street approach. The key phrase for me was A management team distracted by a series of short term targets is as pointless as a dieter stepping on a scale every half hour. More than anything, I think the ultimate cause of the financial crisis of 2008 was a focus at all levels on short-term profit over long-term sustainability. The founders' letter takes a firm stance in the opposite direction: long-term benefit is what matters.

This long-term focus leads to what makes Google an attractive place to work.[1] As one of the presenters during orientation noted, Google is sort of the world's largest graduate school. Your manager (faculty advisor in graduate school) will suggest that you do something. You're then free to do that or do something else. If you do something else, you'll be asked why. If you've got a good explanation, you can keep going. If it succeeds, that's great! If you fail, you'll look at what went wrong and then try something else. In the short-term, a lot of activities will fail. But in the long-term, the few successes will be great enough to justify all the false starts.


[1] I've averaged about three tasty fruit drinks a day. That and all the other famous perks provide short-term pleasure, but I wouldn't want to work for a company whose motto was "Make as much money as you can, regardless of how much evil you do," no matter how many smoothies and massages I got every day. What really interests me is long-term opportunities to learn from smart people and develop interesting software.
flwyd: (red succulent)
My favorite Google perk so far? There were two baskets of fresh persimmons in the cafeteria for lunch. Not only are you never more than 150 feet away from free food, it's succulent tasty free food.

Okay, so fresh persimmons might be more of a California perk than a specifically Google perk. I saw a guy yesterday with two persimmons in a bag, so I'd planned to go on a persimmon hunt anyway. But the copious free food illustrates Google's understanding of software engineers. Eating is part of programming.

Eating is also how humans bond.[1] So by having cafeterias and micro-kitchens all over campus, Google can foster natural communication in a community of significant size. At my previous job, I remember a lot of important decisions and designs that happened in the kitchen rather than in a meeting room.

Google firmly believes in open access within the organization -- by default, all documents employees create are visible to anyone else in the company. But with great knowledge comes great responsibility, and they rely on employees not to share that information with the outside world. So while I'd love to tell you how many people make it all the way from application to offer and the impressive size of Google's aggregate storage, those are things that competitors would love to know, so they'll have to remain private.[3] There's a strong history of public blogs talking about experiences at Google, so I'll still be able to share my perspectives and insights on things at a high level, and Google relies on word of mouth to get their message out. It's just that I need to make sure my "That's awesome!" response passes through a "Who can I share the awe with?" filter. I didn't have a problem with this at my last job, but information about Google is a lot more exciting than information about government record keeping.


[1] I think Steven Pinker's How The Mind Works quotes Dear Abby (or Emily Post?) about dating. It goes something like "A date should feature entertainment, food, and company. As time goes on, more and more company can replace entertainment, but food must always be present." I'd like to find the original quote, but my copy of HTMW is in storage and my several web searches had no luck.[2] Anybody have a proper cite? Update: Thanks to [livejournal.com profile] dr_tectonic for citing Miss Manners:
There are three possible parts to a date, of which at least two must be offered: entertainment, food, and affection. It is customary to begin a series of dates with a great deal of entertainment, a moderate amount of food, and the merest suggestion of affection. As the amount of affection increases, the entertainment can be reduced proportionately. When the affection IS the entertainment, we no longer call it dating. Under no circumstances can the food be omitted.


[2] The irony of failing in my first web search task after joining Google is not lost on me.

[3] There's probably also some degree of law and sausages at play. It's easy to abstractly be in favor of open communication, but sometimes you're better off not knowing.
flwyd: (Akershus Castle cobblestones)
At Halloween, Google sponsors a costume contest for engineers who dress up as their favorite line of code.
To help relieve the stress of being tied to their computers for such long hours, Google provides employees with free online-based massage therapy.
Google employees who are about to become mothers receive 12 weeks of maternity leave; aging female engineers now coming to terms with the fact they will likely never be mothers receive two weeks of "Crushing Sense of Incompleteness Leave." (It is 50% paid.)
— Cracked's 25 Secret Perks of Working at Google
One they missed: Notification when the Street View car will pass your office so you can line up outside to wave and be silly.

I'll be in Mountain View, CA for the first two weeks of December for my Noogler Orientation. (Yes, Google officially refers to new hires as Nooglers. So if I shake your hand, you'll be touched by my noogly appendage.) If you'll be in the Bay Area and want to hang out, send me an email to tstone (a) trevorstone.org. I arrive in San Jose before noon this Sunday, the 29th and leave on Friday evening the 11th. In the intervening weekend, I'll be visiting [livejournal.com profile] mollybzz a few hours up the coast, but I should have several weeknights free, plus this Sunday afternoon/evening. I'd also love to hear about places worth visiting while I'm out there; e.g., I'd like to take a hike on Sunday.
flwyd: (Vigelandsparken heels over head)
I've felt down or blue a lot in the past few days. At first, it was probably from eating milk chocolate fun size candy bars, but there was also a fair bit of self--doubt and existential moroseness. Thinking it through, I figured I'd internalized my perceived outside chance at getting hired by Google. Consciously, I knew my good answers were more frequent than even hits by guys in the World Series, but I had lots of time to think through all the little mistakes I made and things I said that, when written down without the full context of the moment, sound pretty dumb. I even had a dream in which I got a call with my recruiter and I asked for a list of reasons my points got docked.

So fully expecting I wouldn't get hired, but knowing that it wasn't a certain fate, I answered the phone this morning. I was pleasantly surprised elated to hear that the hiring committee was impressed and thinks I should be Google's next employee. As Neo said... Whoa.

There's still some paperwork and reference checking (but no pointer arithmetic) to do, so it'll be a week and change before I get an official offer, but I have now officially reached the easy part.

I could ask to be part of the Mountain View office, but I think it will be easier to start in Boulder with a closer group and a more familiar environment. If I decide later that California is the place to be, I can ask for a transfer. I'm sure I'll have a few chances to visit the fabled Googleplex in person regardless.

In summary: Yayberries!

Edit: I think the self-doubt I had is tied to doing consistently A minus work. My GPA was 3.8. My SAT and PSAT scores were high, but not high enough to qualify for merit scholarships or (probably) to get into top technical schools. A lot of code I've written has been good, but far from perfect. I spend time doing well-rounded things rather than being driven to near-perfection on a narrow band. While I'm generally happy, there's often a nagging sense that I could be top caliber, but I'm not quite. But since I'm clearly well above average, I'm not satisfied doing solid B work or being the big fish in a small pond. So the call I got this morning is a vote of confidence that I can be a growing fish in a big pond of excellence.
flwyd: (java logo)
I spent over five hours interviewing at Google's Boulder office yesterday. My visit came about a month after I submitted my résumé, via a connection who referred me, to Google's famously challenging hiring process. Before I arrived at Google's office, I'd had my résumé selected from a large pool (which is probably full of bad programmers), had a non-technical interview with a recruiter about background and goals, and aced a technical phone interview. A large majority of candidates are eliminated at each step (possibly excluding the non-technical interview), so before my on-site interview, I already knew I was in the top few percent of people who apply to Google.

Preparation

In the week or two leading up to the interview, I alternated between a Zen-like state of confidence ("I've gotten this far, so I'm good; my whiteboard flow is tight") to fears of gross incompetence ("It's been over a third of my life since I've taken a calculus class and have forgotten how to add infinite sums! I can't remember any non-search graph theory algorithms!"). All my college notes and textbooks are in an inaccessible corner of a storage unit in Lakewood, but fortunately Wikipedia has plenty of reference material, usually at least as clear as CLRS. Looking through TopCoder problems, remembering ACM problems, poking around related websites, and finding blog posts, I felt like I could work through a solution to most. I worked through some dynamic programming problems to make sure I could recognize when the technique was appropriate and how to step through it. I dug into the implementation of some sorting algorithms, several types of trees and heaps, discovering the Cartesian tree, my new favorite hammer. I read a bunch of stuff about graph theory, realizing I need to read a good non-academic book on the subject, preferably one that aims to build spatial intuitions along with algorithmic reasoning. I made sure formulæ for combinations and permutations were in working memory and that design patterns, scheduling, and java.{lang,util,util.concurrent} were in at least L3 cache. I didn't follow Stevey's advice to do practice interviews, but I gave enough interviews at my previous job to be comfortable writing code without compiler or IDE.

Execution

So, how did my Google interview go? It started with a really easy Java question. Some people tend to get insulted at this step, but I know that an amazing number of people get to in-person technical interviews and somehow can't actually write code in their favorite language. I then implemented a method to see if all the numbers in one sorted list were in the other. Pretty simple stuff, but it's easy to go astray. My interviewer initially thought there was a problem in my code (probably a spot many people goof up), but I'd thought of the case and dealt with it. I noted that if I handled that section of the code a little different, I could get rid of some duplicate code I'd originally noted was ugly but functional.

Other coding problems included determining if a word could be spelled from a set of letters, making a deep copy of a graph with loops, implementing an LRU cache, finding an individual who satisfies an inverse relationship with every other individual, and writing a unit test for a simple function of a double. I had a "thinko" on the graph copying problem and didn't notice it when I traced through the code, but as soon as my interviewer pointed it out, I quickly reworked the function to handle the issue. I floundered around on the LRU cache because I've spent so much time thinking about collections and data as separate concepts that I forgot that any type of object can be a linked list node.

My weakest interview of the day was probably the last, with a focus on OO design and type hierarchies. The interviewer asked me to talk about some good OO design I did, so I started working through the object model for one of the big projects I worked on. I didn't realize he was mainly looking for object hierarchies rather than object relations, and after a little while I realized this wasn't a good example. I shifted to another project which I put a lot of design work into, but like most of our code at my last job, the inheritance hierarchy was pretty flat, with lots of abstract factories. The interviewer proposed a problem domain and I worked through a possible object model. Like I usually do at initial design stages, I was thinking in terms of types and data responsibilities rather than (Java) classes and interfaces, and it seemed like he didn't like that I was characterizing some things as fields. Hopefully I showed an ability to explore variations on modeling after a day of talking and thinking after a night of nervous bouts of sleep and wakefulness.

Google Boulder

I finished almost every interview section with time to ask questions of the interviewer, which made me feel like I wasn't failing too badly. I got some helpful opinions about the development environment (every line of code given a formal review before it enters the massive Google source repository), the company structure (the HR management tree is not identical to the technical decision tree and both have bottom-up flow), surprises about Google (a couple guys were impressed with how well Google worked as a large organization and how well they could collaborate with other offices). At lunch, the site manager for the Boulder office showed me around, talked about what goes on at the office (mostly apps and SketchUp, but with plenty of folks working on other stuff), and gave me an opportunity to ask a lot of questions. The Boulder office is tiny compared to the Googleplex (though it's a little bigger than the last office I worked in). They don't have high tech toilets, but there were magazines in the stall and reminders about build system usage posted above the urinals. The reception area has two big screens, one with a live sample of Google queries (quite a few were in Spanish and Portuguese) and one with a movie loop of Google Earth visiting some neat-looking locations. The most obvious thing you see if you peer in the building's doors is a rock climbing wall. The room also has (IIRC) ping pong, foosball, and pool tables, a Rock Band station, a multi-arcade machine, and some comfy chairs that probably did automatic massage. From the cafeteria (free snacks and catered lunch every day) you can look down into this play area while eating solo or sit with a bunch of friends at tables with Google-colored chairs. Most people work in "pods," open 4- or 8-person cubicle-like structures designed for easy collaboration. I like this kind of setup (at my last office, most of the software engineers removed at least one cube wall), especially with good noise-cancelling headphones, but it's not for everybody. The interview invite said "Leave your suit at home, Google is business casual." Since it was the Friday before Halloween, I was tempted to come dressed as a pirate ("Let's call this variable 'r'!"), but figured a brightly-colored winter hat would be a good compromise. I was glad to see at least half the office was in the spirit, including a couple (who had their baby with them) dressed as Skywalker/Leia and a guy whose costume involved not wearing a shirt (I disturbed some coworkers one halloween with my shirtless satyr costume in a standup meeting). One of my interviewers was dressed as a caveman, but he excused himself by saying he was filling in for someone who was sick that day.

Conclusions

An interview is an opportunity for the company to evaluate you and for you to evaluate the company. In the latter case, Google definitely succeeds. I like their approach to software development, I like their famously outside-the-box company structure, I like the office environment. (I let the recruiter know I'm interested in both Boulder and Mountain View; I haven't visited the fabled Googleplex.) In the former case, I think I have an outside chance. The site manager didn't know precise numbers when I asked what percentage of people get hired after an on-site interview. He said it was less than 50% and more than 1%, and said 15% sounded like it was in the ballpark. I know I didn't have a perfect performance, but I did a lot of things right and recovered fairly gracefully from errors. I definitely did better than 85% of people I've interviewed, but I suspect Google's earlier filters are a lot tighter. The guys who interviewed me yesterday will send their notes (including exact copies of the code I wrote) and a rating to a hiring committee. That group will talk things over and make a decision; the longer I don't hear back the better my chances (on the principle that it's easier to identify someone who really sucks from someone who's really good).

It's important to remember that not everyone who's qualified to work at Google get a job offer at Google, which means that if I don't get hired, I can't conclude that I'm "not good enough." The mistakes I made (which would not be present if I'd been asked other random questions) might lead to enough lower marks that don't pass the bar. They might also decide that given the desire to hire X people and Y people worth hiring, I'm not one of the best X in Y. Blog comments are full of people who think the following is sound logic: "(1) I am an AWESOME programmar! (2) There's no way I could get through Google's interview process! (3) Therefore, Google's interview process sucks! (4) Google's been successful up 'til now, but they're going to fail! (5, optional) They've got too many smart single young guys who work hard, that's the problem!" or "You didn't get hired by Google? That's because you're too good for Google! [And, one assumes, better than all these folks.]" Contrary to the haters, most of the people I interviewed with looked to be over 35 and (I'm pretty sure) some have kids. Interviewers might naturally tend to be older and more experienced, but I didn't sense a monocultureculture stereotypical hot shot 20-something computer nerds. (There was a pretty high male-to-female ratio, but that's a problem much larger than Google.) Also contrary to the haters, if I don't get hired it's probably because I messed up, not because Google messed up. And hey, if I don't make it, I can always try again in a year or two with more experience and insight under my belt.

The Face of Search

Sunday, May 18th, 2008 07:39 pm
flwyd: (charbonneau ghost car)
Google advanced image search has an option to search just for faces. This means they have a program to inspect an image file and guess if it contains a face. This is something that humans are really good at, but computers take a lot of teaching to get right and Google seems to do a pretty good job.

Straightforward uses of this include searching for a country name to see natives and visitors, checking out the hair styles of "software engineers," searching for "bush" and seeing what portion are satirical versus serious, and turning "safe search" off and finding people sucking on your search terms (like "big"). But amusement can also be found by searching for terms which (without the "faces" option) are less likely to contain faces. Sometimes the results include nonhuman images which nevertheless have a similar structure to a face. Sometimes they include a statue or drawing. And sometimes the results have really awesome human faces. Try it yourself!

orangeoopswtf
Orange Butterfly
897 x 987 - 172k - jpg
www.hillsentertainments.co.uk
Oops! by JAM
500 x 619 - 52k - jpg
www.worth1000.com
December 01, 2007 in WTF?
479 x 400 - 26k - jpg
moldychum.typepad.com
mappietrevor
... Click map for Marysville
700 x 600 - 39k - jpg
www.brunosart.com
Pie vs. Cake - oneforthetable.com
516 x 511 - 41k - jpg
www.oneforthetable.com
Trevor is a lively young Spaniel mix ...
1632 x 1224 - 848k - jpg
www.petlvr.com

Edit: A search for "geek" brings up several copies of this one:

Google is *Fast*

Friday, January 11th, 2008 12:06 am
flwyd: (what would escher do)
The guy who's dad actually died in a blogging accident is now on Google Page 2, thanks to today's XKCD.

Love Writ Large

Monday, December 11th, 2006 02:19 pm
flwyd: (tell tale heart)
Someone in Long Island City has a creative way to pop the question. (Be sure to close the info balloon to see what's up.)

Thanks to [livejournal.com profile] polonius for the discovery.
flwyd: (farts sign - Norway)
Google does a lot with just keywords. but you know sometimes words have two meanings. A search for spears will return a few pages related to long pointed sticks and several more related to a well known young woman with two kids.

Google AdWords allows advertisers to be picky about what keywords they want their ads to appear near. But ambiguity can still raise its head. I visited fileext.com to find out what a .sml file extension means. I was offered a google ad: "File Extension" from turbotax.com. (And no, TurboTax does not read .sml files...)
flwyd: (ghost car)
When uploading a new user icon, I was trying to figure out how to spell Charbonneau, a ghost town in North Dakota. I wound up searching Google for Charbonneau, ND. The top hit is "Jobs in Charbonneau, ND - Yahoo HotJobs." Further down you can search the Charbonneau yellow pages, find home improvement contractors, and find a roommate. Take a look at some pictures of Charbonneau and tell me if you'd be looking for jobs, roommates, or phone numbers there. Home improvement contractors would be useful...

Let this be an ironic example: just because a page is at the top of Google doesn't mean it has any useful information. At least the GhostTowns.com entry is on the first results page.
August 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2017

Most Popular Tags

Expand Cut Tags

No cut tags

Subscribe

RSS Atom
Page generated Wednesday, August 23rd, 2017 05:30 pm
Powered by Dreamwidth Studios