<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.piquan.org/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-13322352</id><updated>2009-12-08T12:53:47.419-08:00</updated><title type="text">Stopwords</title><subtitle type="html">The rantings, ravings, musings, wisdom, and silliness of Piquan</subtitle><link rel="alternate" type="text/html" href="http://www.piquan.org/blog/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default?start-index=26&amp;max-results=25" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://feeds.piquan.org/piquan/blog" /><author><name>Piquan</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.piquan.org/piquan/blog" /><feedburner:info uri="piquan/blog" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nd/3.0/" /><feedburner:emailServiceId>piquan/blog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.piquan.org%2Fpiquan%2Fblog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.piquan.org/piquan/blog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.piquan.org%2Fpiquan%2Fblog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><entry><id>tag:blogger.com,1999:blog-13322352.post-3760704462634460098</id><published>2009-04-18T15:36:00.000-07:00</published><updated>2009-04-18T15:42:25.875-07:00</updated><title type="text">Good Businesses</title><content type="html">Here's some businesses I dealt with over the last week that have given me excellent customer service, and I'd like to recognize publicly.&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://speakeasy.net/"&gt;Speakeasy&lt;/a&gt;, my DSL provider&lt;a href="http://www.starvingmusician.com/"&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.starvingmusician.com/"&gt;The Starving Musician&lt;/a&gt;, where I get instruments and equipment.  (I don't deal with them online; I go to their Santa Clara location.)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.statefarm.com/bank/bank.asp"&gt;State Farm Bank&lt;/a&gt;, my bank (natch)&lt;/li&gt;&lt;li&gt;&lt;a href="http://audible.com/"&gt;Audible&lt;/a&gt;, an audiobook website&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Shouts out to these companies for taking care of their customers!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-3760704462634460098?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/MJ0aWXn0FwM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/3760704462634460098/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=3760704462634460098" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3760704462634460098" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3760704462634460098" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/MJ0aWXn0FwM/good-businesses.html" title="Good Businesses" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2009/04/good-businesses.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-2467870415335560341</id><published>2009-02-19T01:30:00.001-08:00</published><updated>2009-02-19T01:50:57.966-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="wedding" /><category scheme="http://www.blogger.com/atom/ns#" term="juniper" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="iron meadows" /><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="lcachefs" /><category scheme="http://www.blogger.com/atom/ns#" term="baby wombats" /><title type="text">A few non-secrets</title><content type="html">A month and a half without a post, yow.  Ok, so here's the thing.  I've had stuff going on in my life, but a lot of it involves friends, and their privacy.  I can't talk about the friend getting surgery, because that's medical.  I can't talk about the acquaintance who I suspect may be trying to manipulate me, because it's just a hunch right now.  There's a lot of stuff I can't talk about going on.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's some things I &lt;span class="Apple-style-span" style="font-style: italic;"&gt;can&lt;/span&gt; talk about.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Two of my best friends are getting married in two weeks.  Congratulations, Scott and Mili!  Scott and I have been close friends since fourth grade, and he and Mili have been crazy about each other for years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My work has been progressing well.  I've still been working on the project I talked about in my last post, but the pilot has been running more slowly than we had expected.  There's been some minor technical changes from the description I made (most notably changing from using a magic uid/gid as a marker to using UFS2 extended attributes), but all the details will be out when we open-source it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you know, I've occasionally been writing &lt;a href="http://www.soundclick.com/piquan"&gt;some music&lt;/a&gt;.  Mostly funny stuff, not good stuff, although I do kinda like "&lt;a href="http://soundclick.com/share?songid=7176212"&gt;Baby Wombats (House Remix)&lt;/a&gt;".  I've also been working on a metal song about puppies and rainbows and stuff.  I've got it written, but need to re-record it since what I've recorded so far is just draft quality.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope I'll have something more interesting to post soon!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-2467870415335560341?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/844zRj--YNI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/2467870415335560341/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=2467870415335560341" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/2467870415335560341" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/2467870415335560341" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/844zRj--YNI/few-non-secrets.html" title="A few non-secrets" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2009/02/few-non-secrets.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-5148576557631599097</id><published>2008-12-31T13:18:00.000-08:00</published><updated>2008-12-31T16:02:35.269-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="juniper" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="lcachefs" /><title type="text">What I'm working on at Juniper</title><content type="html">I haven't had much time to update my blog for a while.  It's mostly been work, so I think I'll tell you all about it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I'm loving my job at Juniper, although I must say it's keeping me very busy lately.  The project I'm on is pretty close to the wire.  In the weeks approaching the Christmas holidays, I was spending every waking minute working on my code to get it ready.  That left me able to go to Christmas and enjoy it without worrying about work (more about my vacation in another post, but the basic summary is, it was &lt;span class="Apple-style-span" style="font-style: italic;"&gt;terrific&lt;/span&gt;!).  Even though my part is working great, there's some other parts to the project that are a bit tense, so I'm helping where I can.  Since I got back from vacation, though, things have been a bit more relaxed for me.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I can't go into all the background on the project, but I can tell you about my part.  (This gets a bit technical from here on in, so you can skip it if you're not a computer geek.)  The goal is to make it possible to compile with source code on NFS servers and object code on local disk.  The source then can be edited remotely on workstations, and easily backed up; the objects don't take up expensive NetApp space, and the compile proceeds at local speeds.  This mechanism speeds up compiles by a factor of 2-3.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The core of this is a new filesystem layer that I wrote, lcachefs.  This is a type of loopback filesystem, similar to nullfs or unionfs.  lcachefs does some magic mirroring involving three directories.  As with any filesystem, one of these is the mountpoint: where lcachefs shows its results.  Unlike most filesystems, though, it involves two sources: one is known as the source directory (which holds the NFS-mounted sources), and the other is a storage directory (local disk).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ok, let's pretend that you first copy your sources from a source directory to the storage directory.  Then you &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=mount_nullfs"&gt;loopback-mount&lt;/a&gt; the storage directory over your original source directory.  Then, you compile there.  (You mount it over your original source directory so that the filenames in the debugging information point to the original sources, instead of to a temporary storage directory.)  This looks, to the compiler, just like a regular compile.  However, instead of doing the compile on NFS, you're doing it on local disk.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This has two advantages.  The one that's easy to explain is that you're storing your objects and products on local disk (which is &lt;a href="http://www.pricewatch.com/hard_removable_drives/"&gt;cheap&lt;/a&gt;), instead of on NetApps (which, despite all their greatness, are &lt;a href="http://www.google.com/products?q=netapp+nas&amp;amp;brand=netapp"&gt;expensive&lt;/a&gt;).  Objects can easily be recreated, and take up most of the space in a build tree.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The other part is that you're working entirely on local disk.  This is much, MUCH faster than using NFS.  It's not because of the bulk data transfer (i.e., reads and writes), so higher bandwidth doesn't help.  The problem is with the per-request overhead.  There are a LOT of requests going across the wire in a compile.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's consider what happens when you build a file.  Specifically, we'll talk about if you're just building hello.o.  Make will look for Makefile, makefile, BSDmakefile, and .depend.  Then it will look at hello.c and hello.o.  (If it needs to, it may look for hello.s, hello.S, hello.f, and whatever other potential sources you may have.)  It'll look up hello.c.gch (if you have &lt;a href="http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html"&gt;precompiled header support&lt;/a&gt;), hello.gcda (if you have &lt;a href="http://gcc.gnu.org/onlinedocs/gcc/Gcov-Data-Files.html"&gt;coverage support&lt;/a&gt;).  Then it has to look for stdio.h.  Well, let's suppose that you have two directories in your -I path; let's call them foo and bar.  Now it needs to check for foo/stdio.h.gch, foo/stdio.h, bar/stdio.h.gch, and bar/stdio.h, all of which are in your source repository (hence usually on NFS) before it can go on to look at /usr/include/stdio.h.  Well, the first thing that stdio.h does (on FreeBSD; your OS may vary) is to include sys/cdefs.h.  You got it... another four lookups in the source repository to find sys/cdefs.h!  Repeat for sys/_null.h, sys/_types.h, and machine/_types.h.  In the end, just to compile hello.o, you've done 39 file lookups into your source directory.  Of those lookups, 21 are for .h files... and hello.c only includes one file, stdio.h!  The average .c file (using the FreeBSD source base as a sample) includes 9 files directly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's a lot of work.  These lookups are all blocking I/O, so it's one round trip each; from watching network traces, I'm actually very impressed with how fast NetApps can respond, but it's still a non-zero time.  Moreover, though, you've got to look at the CPU usage.  NFS uses RPC, and the overhead isn't cheap.  In my testing, using NFS to compile something requires four times as much kernel processing-- which works out to twice as much CPU overall-- as using local disk!  (That's all in the kernel, too, and that means that preemption isn't as easy, so scheduling takes a little hit... and don't forget the new network interrupts!)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, NFS is designed around concurrent use.  You can't assume that the contents of an NFS-mounted directory will be the same now as they were 90 seconds ago.  While local disk can use metadata caches very, very effectively (and FreeBSD's filesystems do), when you're using NFS, you have to expire caches a lot.  (There are also some things that FreeBSD could do better when it comes to its NFS client, but I fixed those and only got a 5% boost.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ok, now you should be convinced that the speed hit for NFS is bad, and that building on local disk is much, much, faster.  Let's go back to talking about lcachefs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Earlier, I asked you to think about copying your sources to local disk, and doing the compile there.  That's exactly what lcachefs does, but with a twist: it does this lazily, by which I mean it won't copy files until they're needed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you first mount an lcachefs directory, it scans just the top-level of your source directory.  It then creates stub files for each entry in the local storage.  This is just an empty file with a special uid/gid pair that marks it as a stub.  If you ls -l that file, then the filesystem will report the correct uid/gid, size, link count, etc, but in reality the locally-stored file is empty.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you actually try to read (or otherwise use) a file or directory that's a stub, then it will copy it over to local storage before the system call returns to userland.  In the case of a file, this means it copies the contents and sets the uid/gid to its real, non-stub values.  In the case of a directory, it scans the directory and populates the stubs just like I described in the previous paragraph.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's the basic overview.  The reality is quite complicated because of hard links, the need to watch out for vnode lock order reversal, and other icky stuff like that.  You can see all the gory details, though, once we open-source lcachefs.  I'm currently awaiting clearance from legal, but I hope to either contribute it to FreeBSD, or release it as an independent open-source project.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-5148576557631599097?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/26vLp21T5zk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/5148576557631599097/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=5148576557631599097" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/5148576557631599097" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/5148576557631599097" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/26vLp21T5zk/what-im-working-on-at-juniper.html" title="What I'm working on at Juniper" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.piquan.org/blog/2008/12/what-im-working-on-at-juniper.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-4744339400049261101</id><published>2008-12-07T15:59:00.001-08:00</published><updated>2008-12-07T16:11:38.305-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="friends" /><title type="text">Good Friends</title><content type="html">I was thinking that I should make a post today, and was wondering what.  I was trying to think of cheery topics, and looked at my blog to get ideas.  Then the Google ads were one for losing fat, and one for help with alcohol &amp;amp; depression.  Boy, how cheery can you get?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Actually, quite so.  In the last several weeks, I've gotten in touch with a &lt;span class="Apple-style-span" style="font-style: italic; "&gt;lot&lt;/span&gt; of friends who are very dear to me.  People I haven't heard from in years and years.  Some of them contacted me, I contacted some of them.  Most of this has been over Facebook or MySpace, one was on this blog which led to some emailing (and there'll be more of that, I promise!), one I got to visit in person while I was in Texas (rock on!), others I've only spoken with on the phone.  But it really seems like the stars have aligned for reopening old friendships!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Really, think of everybody who's ever been your life who has their own big mansion in your heart.  Then imagine getting to visit with each of them, over the span of a couple of weeks.  It's been an incredibly special time for me lately.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm gonna be grinning like a fool for a long time now.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-4744339400049261101?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/XeYVl13sFVQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/4744339400049261101/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=4744339400049261101" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/4744339400049261101" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/4744339400049261101" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/XeYVl13sFVQ/good-friends.html" title="Good Friends" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2008/12/good-friends.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-3863083504421855518</id><published>2008-12-04T01:53:00.001-08:00</published><updated>2008-12-04T02:09:10.969-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="juniper" /><category scheme="http://www.blogger.com/atom/ns#" term="restraint" /><title type="text">Not what I'm doing at Juniper</title><content type="html">I don't often make technical blog posts (ok, lately I don't often make posts), because two of the three people who read my blog don't really care.  But sometimes it's nice to be able to brag about what I'm doing at work.  Besides, last post I promised to talk about what I'm doing.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since then, I haven't made any posts, because I didn't have the time to say what I was doing at work.  Which is stupid, really.  You three people don't read my blog because it's got juicy technical details; that's for the &lt;a href="http://www.piquan.org/blog/2007/08/ive-been-found.html"&gt;rest of the masses&lt;/a&gt;, and they don't care what I might have said I was going to post about until I post it.  I've had other things to write about, but since I said I'd write about work, I didn't want to write about anything else.  I several times thought, "Ooh, I should blog about this!" and then thought, "No, I said my next post would be about my work at Juniper."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, I am hereby renouncing that commitment.  What's more, I am advising you three (tonight's loyal fans) to take anything I might tease about as merely speculation on future topics, and not be sure I won't write about something completely different first.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So there.  I've just freed myself to write about other stuff.  I don't really know why I felt it necessary to maintain an obligation that nobody cares about; why would anybody care if I put some posts in between the previous post (when I said I'd talk about my Juniper work) and the future post when I actually do, is totally beyond me.  I just did feel that it's necessary, so now I can go on with more regular posts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Except it's late and I'm going to bed instead of subjecting you to more of my incredibly convoluted late-night grammar.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-3863083504421855518?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/5n6Tmm-HJc8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/3863083504421855518/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=3863083504421855518" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3863083504421855518" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3863083504421855518" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/5n6Tmm-HJc8/not-what-im-doing-at-juniper.html" title="Not what I'm doing at Juniper" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.piquan.org/blog/2008/12/not-what-im-doing-at-juniper.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-3827431026220593431</id><published>2008-11-17T17:18:00.000-08:00</published><updated>2008-11-17T17:31:01.596-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="juniper" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Gasp!  It's a post!</title><content type="html">So here's the thing.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was miserable at Google.  It's a great company, and I think it's a wonderful place to work.  But the position I was in just wasn't right for me.  I didn't want to blog at the time, because I didn't want people to get the wrong impression about Google.  Seriously, it's a great company; I just wasn't where I should have been.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So at the end of July, I left Google and went back to Juniper.  I was happy at Juniper, and wanted to be happy again.  Besides that, Juniper offered me a promotion, a raise, my choice of projects, and the opportunity to work under a manager I know I work well with.  I'll talk about the work I'm doing for Juniper in my next blog post.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After I went back to Juniper, I've been concentrating on getting into the swing of things, so I still haven't been blogging.  Now I'm doing well, and can start posting again.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, here's one last note to the blogosphere: you may note that I'm still using a Google's blogger.com, storing the photos using Google's Picasa Web, and displaying Google AdSense ads.  If I were upset with the company, I wouldn't be doing these things.  I'm strenuously emphasizing that I like the company, because things get taken the wrong way in the blogosphere, and I don't want anybody to get the wrong idea.  I'm also free to badmouth the company if I wanted to, since they're no longer my employer and have no control over my actions.  But I'm not; I'm talking about how great they are.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, my point is, hello world, it's nice to see you again!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-3827431026220593431?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/BPydI7gqTxY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/3827431026220593431/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=3827431026220593431" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3827431026220593431" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3827431026220593431" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/BPydI7gqTxY/gasp-its-post.html" title="Gasp!  It's a post!" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.piquan.org/blog/2008/11/gasp-its-post.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-5627411656330948832</id><published>2007-09-04T21:58:00.000-07:00</published><updated>2007-09-04T22:28:32.936-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="jenny" /><category scheme="http://www.blogger.com/atom/ns#" term="party" /><category scheme="http://www.blogger.com/atom/ns#" term="engineering" /><category scheme="http://www.blogger.com/atom/ns#" term="holiday" /><title type="text">An Oakland Shade</title><content type="html">Wow, that was a whiny post last weekend!  Fortunately, this weekend was much better... after all, Labor Day, right?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/OaklandQuickshade/photo#5106581045665193138"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/Rt44Z7ud3LI/AAAAAAAAAr0/dmjADqqePgc/s200/IMG_0241.JPG" alt="" border="0" /&gt;&lt;/a&gt;My friend Jenny threw a party this weekend, a holiday barbecue.  She had a problem: there's been a heat wave lately, and her house was going to be positively sweltering.  She came to me, a friendly neighborhood engineer, to build a shade.&lt;br /&gt;&lt;br /&gt;The party was Sunday, so on Saturday I went over there, scoped out the project, took some measurements, and made a list of supplies.  Then, off we went to the hardware store to get supplies, which naturally deviated considerably from my list.  (Anybody who likes going to hardware stores understands what I mean.  Computer stores too.)  Three canvas sheets, some rope, twine, dowels, and various fasteners.  For once, I needed exactly what I got!  (Well, I had a small pack of garden stakes left over.)  A couple of supports, stitching together the canvas, some guy lines, and the job was done.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/OaklandQuickshade/photo#5106580809441991778"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh4.google.com/Piquan/Rt44MLud3GI/AAAAAAAAArM/mYbieA1ETvU/s200/IMG_0236.JPG" alt="" border="0" /&gt;&lt;/a&gt;It's not the best shade in the world, but for an afternoon job, I liked it.  I also had a lot of fun building it; I may have had more fun building the shade than going to the party!  It reminds me of something I used to do when I was a kid called Christmas in April.  A lot of people would get together and rebuild the house of somebody who really needed it, and couldn't afford it; usually, this was an elderly or severely disabled person on a very minimal income.  We'd have people who knew what they were doing well enough to lead our efforts, plus &lt;span style="font-style: italic;"&gt;lots&lt;/span&gt; of hands helping get the work done.&lt;br /&gt;&lt;br /&gt;I like building stuff; I think I get that from my Dad.  I think I was first attracted to computers because I could make my creations come to life, from my mind to the computer.  Even so, there's something satisfying about building something in the physical world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-5627411656330948832?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/nIaw8MZwPsA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/5627411656330948832/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=5627411656330948832" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/5627411656330948832" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/5627411656330948832" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/nIaw8MZwPsA/oakland-shade.html" title="An Oakland Shade" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/09/oakland-shade.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-4085683429918512931</id><published>2007-08-27T00:00:00.000-07:00</published><updated>2007-08-27T00:34:23.498-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="thor" /><category scheme="http://www.blogger.com/atom/ns#" term="comics" /><category scheme="http://www.blogger.com/atom/ns#" term="creativity" /><category scheme="http://www.blogger.com/atom/ns#" term="svg" /><category scheme="http://www.blogger.com/atom/ns#" term="greasemonkey" /><category scheme="http://www.blogger.com/atom/ns#" term="dom" /><category scheme="http://www.blogger.com/atom/ns#" term="juniper" /><category scheme="http://www.blogger.com/atom/ns#" term="desk" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="emo" /><title type="text">Why This Post Isn't About The Javascript DOM</title><content type="html">My original title for this post was "Why The DOM Is The Best Lousy Thing We've Got".  I guess I'm not feeling terribly creative with my titles tonight.  To be honest, I'm not feeling terribly creative at all tonight.  It was a terrific week, but a pretty lousy weekend.  I had some unexpected work take up all my time, and it put me in a sour mood for most of the weekend.&lt;br /&gt;&lt;br /&gt;It's strange how creativity is so dependent on mood.  I'm not just talking about blogging, here; I'm talking about coding, too.  When I'm doing well, I can code anything, start to finish, piece of cake.  When I'm doing poorly, then even writing hello.c is a huge effort.  The work I talked about earlier involved some coding at the end of it— nothing big, just a few dozen lines to shove some data around— but if it weren't for that, I probably would have had a &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; lousy weekend, instead of the merely lousy one I had.&lt;br /&gt;&lt;br /&gt;Ok, now I'm just sounding needlessly whiny.  If you start seeing emo bands show up on my weekly top ten chart on the sidebar, send help.  Like a box of kittens or something.&lt;br /&gt;&lt;br /&gt;Anyway, where was I.  Oh, that's right, having a lousy weekend because of work.  I really started thinking that maybe I made a mistake taking this job; maybe I was more cut out for the Juniper job than the Google one.  Now, here's the irony.  When I left Friday, I was writing a document that includes advice to people who feel that way... pretty much saying, "No, it's normal, everybody feels that way, you'll do fine".  (This is advice I had &lt;a href="http://www.piquan.org/blog/2007/07/noogler-day-18-geekiest-social-scene.html"&gt;previously given Cheryl&lt;/a&gt;, and also &lt;a href="http://www.piquan.org/blog/2007/07/noogler-day-19-tgif.html"&gt;talked about more in my blog&lt;/a&gt;.)  And then this weekend I get hit with this wave.  Wasn't expecting it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/ThorAndMe/photo#5103277610224180290"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh6.google.com/Piquan/RtJ78rud3EI/AAAAAAAAApA/-3gzznkyRmU/s200/desk.jpg" alt="" border="0" /&gt;&lt;/a&gt;I did get some useful stuff done for myself this weekend, though.  The office is in much better shape, with the bookshelf moved, lighting hung, and desk accessories connected.  Even the living room looks cleaner for some reason.  At the end of it, I wanted to relax by writing some code.  I was going to learn some SVG.  Still, as I sat down to work on it, nothing came to mind.  I hate hacker's block.&lt;br /&gt;&lt;br /&gt;If you haven't read Jhonen Vasquez's "I Feel Sick", it's about an artist who is suffering from artistic withdrawl once she takes a job at a big company.  I hadn't read it, and didn't know what it was about, but picked it up tonight to read and forget about my bad mood.  (Hint: the "Alice" soundtrack works well with Vasquez.)  Y'know, that just didn't help me forget as well as I had expected.&lt;br /&gt;&lt;br /&gt;Finally, I decided to write about a blog post I've been wanting to write for a while... I even alluded to it in &lt;a href="http://www.piquan.org/blog/2007/08/restraint_13.html"&gt;a post from two weeks ago&lt;/a&gt; (when I refer to the "later, more technically-oriented post").  And that's what I've sat down to do here.  Hmmm... I seem to have done a great job, haven't I?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-4085683429918512931?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/bd9qP3_Sz3I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/4085683429918512931/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=4085683429918512931" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/4085683429918512931" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/4085683429918512931" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/bd9qP3_Sz3I/why-this-post-isnt-about-javascript-dom.html" title="Why This Post Isn't About The Javascript DOM" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/08/why-this-post-isnt-about-javascript-dom.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-6656860907645518978</id><published>2007-08-17T19:01:00.000-07:00</published><updated>2007-08-17T19:08:31.969-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="move" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Moving</title><content type="html">We moved from upstairs to downstairs in the same building.  I like the new crib, although now I'm back in a cube.  Still, it's the best cube I've worked in, and there's plenty of opportunity for cube dressing.  I'm going to go by the surplus store, hardware store, and toy store to get some supplies for a few ideas I have, and cube decorations from past jobs (which are still in the box I took home from Juniper) will also play a heavy part.&lt;br /&gt;&lt;br /&gt;There was some discussion about airspace issues.  There's 18' ceilings in this area, so the question of how to handle the airspace becomes relevant.  Naturally, the discussion mostly involved us playing with Karl's RC helicopters, and trajectory arcs of Nerf guns.&lt;br /&gt;&lt;br /&gt;Anybody have cube decoration ideas they want to throw into the ring?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-6656860907645518978?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/dTBDG3PTytI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/6656860907645518978/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=6656860907645518978" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6656860907645518978" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6656860907645518978" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/dTBDG3PTytI/moving.html" title="Moving" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/08/moving.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-5815716617368537956</id><published>2007-08-17T16:10:00.000-07:00</published><updated>2007-08-17T16:27:46.920-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tattoo" /><category scheme="http://www.blogger.com/atom/ns#" term="party" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="summer" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="sre" /><title type="text">SRE R00lz!</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Google/photo#5099788593541274674"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://lh4.google.com/Piquan/RsYWtLud3DI/AAAAAAAAAog/dsavxW8R4qg/s288/IMG_0173.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;This was taken at a company picnic yesterday.  We had a tropical theme going... steel drums, flower leis, etc.  There was a climbing wall, human foosball, and, of course, volleyball.  Since my knee has been giving me problems (I actually had to leave early to go to physical therapy), I stayed away from the volleyball pits and instead played frisbee.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-5815716617368537956?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/MVWWl6XVTgo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/5815716617368537956/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=5815716617368537956" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/5815716617368537956" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/5815716617368537956" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/MVWWl6XVTgo/sre-r00lz.html" title="SRE R00lz!" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/08/sre-r00lz.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-425755536460564105</id><published>2007-08-15T16:02:00.000-07:00</published><updated>2007-08-15T16:08:54.891-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="restraint" /><category scheme="http://www.blogger.com/atom/ns#" term="privacy" /><title type="text">Yesterday's Beans</title><content type="html">Okay, yesterday's post was evidently more tantalizing than I meant for it to be.  I started by saying that I wasn't talking about my new friend.  Well, that seems to have been raising questions among my other friends, so I've been getting bugged to talk about it.&lt;br /&gt;&lt;br /&gt;Well, not from all of my friends.  Some of my friends were there, some of them are too polite to pry, some are so busy that we haven't talked since then, but this is not an exclusive partition of my friends.  So &lt;a href="http://matthewfletcher.com/blog/"&gt;m3tus&lt;/a&gt;, this post is for you.&lt;br /&gt;&lt;br /&gt;The thing is, it's not like there's anything scandalous that would make Matt Drudge drool.  I just talked to my new friend about some problems she's been going through.  I thought those problems might make for an interesting post, but her problems are hers to tell the world, not mine.  That's all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-425755536460564105?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/wR3qHofIn2M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/425755536460564105/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=425755536460564105" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/425755536460564105" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/425755536460564105" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/wR3qHofIn2M/yesterdays-beans.html" title="Yesterday's Beans" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/08/yesterdays-beans.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-6034381248374799229</id><published>2007-08-13T21:38:00.000-07:00</published><updated>2007-08-14T15:58:38.889-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="art" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="law" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="guitar hero" /><category scheme="http://www.blogger.com/atom/ns#" term="restraint" /><category scheme="http://www.blogger.com/atom/ns#" term="shakespeare" /><title type="text">Restraint</title><content type="html">All week now, I've been mulling over a blog post.  It's about a new friend I made last weekend, and the interesting circumstances under which we met.  But there's a problem: that would be a violation of her privacy.  I spent a fair bit of the week thinking about this.  For a while, I was considering writing a version that left out some parts.  Finally, I decided that I should let her tell her own story to the people she wants to; it's not my place to do so.&lt;br /&gt;&lt;br /&gt;This is the sort of thing I have to think about when I'm writing to a public audience.  (Okay, that public audience is-- in the last week-- only 56, but ethics is not a numbers game.)  I have to do this all the time when I write about work.  Obviously, this is partly because I don't want to end up like &lt;a href="http://www.blogherald.com/2005/02/17/is-mark-jen-the-blogospheres-dumbest-blogger/"&gt;Mark Jen&lt;/a&gt; or something.  But moreover, it's because I have a responsibility to my employer, and don't want to disclose information when it might do harm.&lt;br /&gt;&lt;br /&gt;This is a sort of self-restraint, which is a good thing.  It suppose that in this context, it's similar to the legal concept of &lt;a href="http://en.wikipedia.org/wiki/Prior_restraint"&gt;prior restraint&lt;/a&gt;, which is generally considered a bad thing under most circumstance.  However, there's a big difference.  Here, I'm avoiding talking about things on my own volition; in the case of prior restraint, it's from a governmental gag order.&lt;br /&gt;&lt;br /&gt;This weekend was my friend's birthday.  His girlfriend and I had planned out a birthday party for him, culminating with us seeing a performance of The Compleat Wks Of Wm Shakespeare (Abridged).  But it started off with us playing Guitar Hero Encore: Rocks the 80s.  I've got Guitar Hero and Guitar Hero II, and we have a blast playing them multiplayer.  Unfortunately, we realized when we started playing that most tracks in multiplayer aren't available until you unlock them in single player mode.  That meant that, for the time being, we only had eight songs available.  Luckily, by the time we finished those eight, it was time for us to head up to the city.&lt;br /&gt;&lt;br /&gt;Now, that all happened Saturday, so Sunday I had to myself.  I took care of some personal errands, like laundry and groceries, but also played Guitar Hero for a while... y'know, just to unlock the songs.  I normally play GH on Expert, but this time, I played on Hard.  That way, my friend and I would be able to play the Expert level for the first time together.  (I did unlock all the songs, by the way.  If you want the track list, and have iTunes, I put together &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewIMix?id=262018582"&gt;an iMix&lt;/a&gt; with the songs.)&lt;br /&gt;&lt;br /&gt;I thought about some of the stuff I had going on at work.  There's plenty that I'd enjoy doing, but I was keeping myself from doing work.  I was bound and determined to make the weekend about myself, and NOT the shiny new job that's been occupying me for the last few weeks.&lt;br /&gt;&lt;br /&gt;I got pretty bored playing Guitar Hero on Hard, but wanted to unlock the songs.  So I kept at it.  I played on Hard, and not on Expert.  I unlocked songs, instead of doing some interesting work.&lt;br /&gt;&lt;br /&gt;Why the restraint there?  I have to wonder if at some times, I'm holding back where I shouldn't.&lt;br /&gt;&lt;br /&gt;I feel like that at work too.  I keep feeling like I'm marking time, slowly learning, waiting until I get to the point where I get to take off the kid gloves and really get to it.  Thursday and Friday, I sat down and did some coding.  I started on a program to help me maintain my calendar, and another one to give me a cheat sheet for a weekly meeting.  The former is pretty mundane, but the latter was certainly fun.  I'll talk about why in a later, more technically-oriented post.&lt;br /&gt;&lt;br /&gt;For now, I'll have to think about when's the right time to hold back, and when's the right time to let loose.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-6034381248374799229?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/VWas6yhnri0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/6034381248374799229/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=6034381248374799229" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6034381248374799229" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6034381248374799229" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/VWas6yhnri0/restraint_13.html" title="Restraint" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/08/restraint_13.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-8078993136522920267</id><published>2007-08-03T21:51:00.000-07:00</published><updated>2007-08-03T22:36:57.872-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="statistics" /><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="sawzall" /><category scheme="http://www.blogger.com/atom/ns#" term="vigor" /><title type="text">I've been found!</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.piquan.org/blog/uploaded_images/FirefoxScrShot001-775879.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://www.piquan.org/blog/uploaded_images/FirefoxScrShot001-775875.png" alt="" border="0" /&gt;&lt;/a&gt;Okay, this is a surprise.  I've been writing this under the idea that I'd have some small portion of my friends and family reading.  And maybe the occasional Google search.  I figured that's where the &lt;a href="http://www.piquan.org/blog/2007/07/noogler-day-11-work-and-play-at-google.html"&gt;one comment I've had&lt;/a&gt; came from.  Then, today, I did a little log analysis.&lt;br /&gt;&lt;br /&gt;Since I opened the site a couple of weeks ago, I've had 2,490 visits from all over the world, from Malaysia to Tanzania.  The visitors are pretty telling of the type of audience: 49% have been using Windows, 29% using Macs, and 21% using Linux.  The browser numbers are more optimistic: 69% Firefox, 12% Safari, and only 7.5% using Internet Explorer.&lt;br /&gt;&lt;br /&gt;I will point out that these numbers may well be skewed.  The statistics were only collected for about 2/3 or less of the page views.  In other words, I know that there's been &lt;span style="font-style: italic;"&gt;at least&lt;/span&gt; 6,000 views, but only about 4,000 of those had statistics logged.&lt;br /&gt;&lt;br /&gt;How did all this come about?  Well, somebody found my &lt;a href="http://www.piquan.org/blog/2007/07/noogler-day-11-work-and-play-at-google.html"&gt;post about Sawzall&lt;/a&gt;, and posted it to &lt;a href="http://reddit.com/help/faq"&gt;reddit&lt;/a&gt;.  There was a little bit of activity before that, but I haven't yet looked at what led them to find it.&lt;br /&gt;&lt;br /&gt;Then again, I never did publicize &lt;a href="http://vigor.sourceforge.net/"&gt;Vigor&lt;/a&gt; at all (I just sent Illiad an email), and enough people downloaded it that I was getting dozens of emails a day.  I suppose even the most trivial writings are still going to be found by the zillions of eyes on the Internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-8078993136522920267?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/BTSBT6J-feI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/8078993136522920267/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=8078993136522920267" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/8078993136522920267" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/8078993136522920267" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/BTSBT6J-feI/ive-been-found.html" title="I've been found!" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/08/ive-been-found.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-8748024287155325624</id><published>2007-08-03T20:47:00.000-07:00</published><updated>2007-08-03T21:11:10.736-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="calendar" /><category scheme="http://www.blogger.com/atom/ns#" term="organization" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="schedule" /><title type="text">Carving out time</title><content type="html">You haven't heard from me all week, and you're starting to wonder if I vanished into thin air, lost my password, or what.  Well, I've just been busy.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.piquan.org/blog/uploaded_images/iCalScrShot001-756578.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://www.piquan.org/blog/uploaded_images/iCalScrShot001-756576.png" alt="" border="0" /&gt;&lt;/a&gt;All last week, I was wondering why I was having such a hard time getting anything done.  I had so much stuff that I wanted to get done, but never seemed to be making any traction on it.  Then I looked at my calendar, and it all became clear.&lt;br /&gt;&lt;br /&gt;Okay, admittedly, that screen shot is from two weeks ago, when I still had a full schedule of training.  But nevertheless, I've been going to a lot of meetings.  Some of them are necessary, some aren't.  I realized that I'd have to defend my schedule against meetings.&lt;br /&gt;&lt;br /&gt;That's what I've been doing the past week: I was declining meetings that I didn't need to go to, and making time to work instead.  This involved studying, coding, the usual stuff.  This week, I was getting stuff done&amp;mdash; but I was staying there until 11:30 PM at the earliest, 1:30 AM at the latest.  I wasn't getting &lt;span style="font-style: italic;"&gt;nearly&lt;/span&gt; enough sleep.  On the upside, spending all this time in the office gave me a chance to learn about the laundry facilities at work, but overall, I think it was more of a bad thing.&lt;br /&gt;&lt;br /&gt;Next week, I'm going to be defending my personal schedule against my work schedule.  I need to make sure that I give myself time to relax, to take care of personal errands, to visit with friends, sleep, and do all of the rest of the things I have to do that don't involve work.&lt;br /&gt;&lt;br /&gt;You may have noticed that my "Recent News I Found" sidebar has had a fairly high number of life organization articles.  (Remember that it's a separate feed from my blog.  To subscribe to that, click the "Read More..." in the sidebar, and subscribe to the feed there.)  I suppose that, as I'm finding my feet in my new job, I've been thinking a lot about getting my life better organized.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-8748024287155325624?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/gVo7Z_32LJA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/8748024287155325624/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=8748024287155325624" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/8748024287155325624" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/8748024287155325624" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/gVo7Z_32LJA/carving-out-time.html" title="Carving out time" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/08/carving-out-time.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-3111729312587345393</id><published>2007-07-29T19:18:00.001-07:00</published><updated>2007-07-29T23:21:17.556-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="reader" /><category scheme="http://www.blogger.com/atom/ns#" term="msie" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="safari" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="sidebar" /><category scheme="http://www.blogger.com/atom/ns#" term="opera" /><category scheme="http://www.blogger.com/atom/ns#" term="rss" /><title type="text">Welcome to the blog!</title><content type="html">As you can see, the new format is up, up, and away!  I've brought my Noogler writings over here, of course, and you'll be seeing more new content as the muse strikes.&lt;br /&gt;&lt;br /&gt;Let me start by giving you the executive summary for this post.  If you don't care about technical details, or getting things just right for your tastes, then just go to &lt;a href="http://reader.google.com"&gt;reader.google.com&lt;/a&gt;, sign up if you need to, click "Add subscription", then in the box that pops up, type "www.piquan.org".  Then, add another subscription, this time for (and you'll need to copy/paste this) http://www.google.com/reader/public/atom/user/10100467309635594692/state/com.google/broadcast&lt;br /&gt;(whew; got that all)?  Add subscriptions for all the other sites you might go to frequently to read news (Slashdot, CNN, other blogs, etc).  Then, instead of going to each of those sites each day, you can go to &lt;a href="http://reader.google.com"&gt;Google Reader&lt;/a&gt; to see them all together, easily read.  There you go, now you don't have to read the rest of this post.&lt;br /&gt;&lt;br /&gt;Whew.  We've got the type A personalities out of here.  Now the rest of us can relax and enjoy the new blog.&lt;br /&gt;&lt;br /&gt;Now, if you've taken the time to look over the sidebar, you might think this website is the height of vanity.  Besides my last ten posts, and monthly archives, you've also got my bookmarks, my news clippings, my music, my friends, my photos, my art, me, me, me!  Yeah, okay.  I guess the way I figure, it's my blog; it should have a lot of my personality in it.  You've got links to loads of personality, right there in the sidebar.  And naturally, you should come back every day to check it!&lt;br /&gt;&lt;br /&gt;Okay, no, that's not true.  Most of us already have websites we periodically look at; I have about 30 different websites I like to check every day already!  (You can click on the "daily" tag in the sidebar under "My Bookmarks" to get a list.)  &lt;span style="font-style: italic;"&gt;Surely &lt;/span&gt;there's some great technology to help us keep up with all the articles from these different sites, and show us just the new ones that we, personally, haven't seen.&lt;br /&gt;&lt;br /&gt;Why yes, there is!  It's called RSS, and it's all over this website.  I'll talk about some of the basics of using RSS now, so later on I can just say that some feature "has its own RSS feed", and you'll know what I mean, and how to use it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.feedicons.com/"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 64px; height: 64px;" src="http://www.piquan.org/blog/uploaded_images/feed-icon-752814.png" alt="" border="0" /&gt;&lt;/a&gt;First, I want you to look at the right hand side of the address bar.  Yes, the bar at the top where you type in "www.piquan.org".  There may be an RSS logo there.  Depending on what browser you're using, it might be the word "RSS", or might look like a silly orange logo instead.  Chances are, it looks like the silly orange logo.  (If you're using Internet Explorer 6, you won't even see the logo; we'll talk about that case in a little bit.)&lt;br /&gt;&lt;br /&gt;Now, you could click on that, and I'll talk about how different browsers handle it.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Firefox&lt;/span&gt;: If you're using Firefox, you'll be shown the &lt;span style="font-style: italic;"&gt;feed &lt;/span&gt;(a list of the recent articles) and given a chance to add it as a Live Bookmark, or &lt;span style="font-style: italic;"&gt;subscribe &lt;/span&gt;(mark it as something you want to read) using one of a number of other possibilities (certain websites or programs).  If you add it as a Live Bookmark, then you'll have a bookmark (by default, in your bar) that's actually a drop-down list of articles.  When you feel like reading my articles, you can click on that bookmark, find a headline that looks interesting, and click it to go straight to the article.  It's a quick way to scan headlines without having to visit the site!&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Safari&lt;/span&gt;: When you click on the RSS icon, the web page will transform into a feed view.  If you drag that to your bookmarks bar, it will turn into a bookmark that will always show how many new articles there are.  If, for example, there's two articles since you last looked at the site, you'll see Piquan(2) for the bookmark.  Clicking that bookmark will take you to back to the feed.  Safari also has a lot of other RSS features, like the ability to show multiple feeds at once (put them in a bookmark folder), show just part of each article in the feed display (the control is on the right side), or turn your RSS feeds into a screensaver (it's in the Desktop &amp; Screen Saver system preference panel, with all the other screensavers).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Opera&lt;/span&gt;: When you subscribe to the feed (use the Atom feed), it will be added to your Feeds menu.  Within the feeds menu, you can click on an individual feed to read just that, or "Read Feeds" for all your feeds at once.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Internet Explorer 6&lt;/span&gt;: Doesn't support RSS.  Use Firefox, or look at the section below for alternatives.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Internet Explorer 7&lt;/span&gt;: It supports RSS, but I don't really know anything about it.  I'm afraid you'll have to play with it yourself, or use Firefox.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;iPhone&lt;/span&gt;:  The iPhone does support RSS, but its support is pretty primitive. The RSS icon isn't displayed, presumably because there's not much screen space.  You'll need to click the Atom button at the bottom of the sidebar.  You can view the feed that way, and it's easier to read and pick out articles that way, but it doesn't remember which articles are read, or let you aggregate articles.  I recommend Google Reader instead; see below.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Lots of different websites have RSS.  Pretty much, any website that has short, periodically added content will support RSS.  Obviously, this includes &lt;a href="http://www.piquan.org/blog/atom.xml"&gt;blogs&lt;/a&gt; (both individual and corporate), but it also includes newspapers like the &lt;a href="http://www.nytimes.com/services/xml/rss/index.html"&gt;New York Times&lt;/a&gt; and &lt;a href="http://www.mercurynews.com/rss"&gt;San Jose Mercury-News&lt;/a&gt; (yes, even &lt;a href="http://www.gosanangelo.com/feeds/headlines/news/local/"&gt;smaller local papers&lt;/a&gt; have RSS!), news channels like &lt;a href="http://www.cnn.com/services/rss/"&gt; CNN&lt;/a&gt; and the &lt;a href="http://news.bbc.co.uk/2/hi/help/3223484.stm"&gt;BBC News&lt;/a&gt;, and even common social sites like &lt;a href="http://picasaweb.google.com/data/feed/base/user/Piquan?kind=photo&amp;alt=rss&amp;amp;hl=en_US&amp;access=public"&gt;personal photo galleries&lt;/a&gt;, &lt;a href="http://ws.audioscrobbler.com/1.0/user/Piquan/recenttracks.rss"&gt;music trackers&lt;/a&gt;, and even &lt;a href="http://del.icio.us/rss/Piquan"&gt;social bookmarking sites&lt;/a&gt;.  If you have a personal site, such as a team high score list or baby diary, you may want to ask your administrator about enabling RSS, if he hasn't already.&lt;br /&gt;&lt;br /&gt;Okay, everybody's using it, but why is RSS so great?  It lets you keep up with a lot of different sites easily.  Some feed readers (such as the one in Opera) let you read all your feeds at once, so you can read your day's news from a variety of different sites, all at the same time.  Some (such as the one in Firefox) don't do that, but do let you quickly scan the article headlines without visiting the website, so you can quickly see if there are any articles you want to read.&lt;br /&gt;&lt;br /&gt;There's also programs that let you see RSS news in other ways than your web browser.  For example, the Mac ships with a screensaver that will read and display RSS feeds.  Google Desktop for Windows has a widget that will display RSS feeds at the side of your screen.&lt;br /&gt;&lt;br /&gt;Okay, you remember how I said that my website should have my personality?  Apparently, that includes my tendency towards long-winded technical explanations.  For just that reason, I'm going to recommend that you stand up, take a break, get a cuppa tea, and come back.  But we're getting to my favorite part, so don't go too far!&lt;br /&gt;&lt;br /&gt;Better?  Okay, then, &lt;a href="http://en.wikiquote.org/wiki/Stan_Lee"&gt;face front, true believer,&lt;/a&gt; 'cause here we go!&lt;br /&gt;&lt;br /&gt;I mentioned before that there are third-party programs to view RSS feeds.  I don't know what they are; you can &lt;a href="http://www.google.com/search?q=rss+feed+reader"&gt;search Google for them&lt;/a&gt; if you feel the need.  (Firefox will automatically find several of these programs, and give you the option of using them to subscribe to RSS feeds.)  But I have other ways I prefer to read my feeds.&lt;br /&gt;&lt;br /&gt;&lt;embed style="width: 300px; height: 245px; float: right;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=5980861656829941065&amp;amp;hl=en" flashvars=""&gt;&lt;/embed&gt;  My favored method is &lt;a href="http://reader.google.com/"&gt;Google Reader&lt;/a&gt;.  I hadn't really bothered with it before recently.  The explanation they gave on the web page was far too vague for my taste, and I didn't really understand what it was.  So now, I'm here to tell you.&lt;br /&gt;&lt;br /&gt;Google Reader takes all of the RSS feeds you have from every different site and puts them all together.  It keeps track of which ones you've read.  It lets you mark some of them with a star so you remember to go back to them.  It lets you share them with other people.  It does all this in a very easy-to-use web interface.  It also has a huge list of feeds available, so you can search for feeds on &lt;a href="http://feeds.feedburner.com/parenting/updates"&gt;baby clothes&lt;/a&gt;, &lt;a href="http://blog.cowboy.com/?feed=rss2"&gt;cowboy poetry&lt;/a&gt;, or whatever else tickles your fancy.  Personally, I'll spend a few minutes each day scanning over my Google Reader inbox, and quickly pick out the articles that are worth reading.&lt;br /&gt;&lt;br /&gt;If you use &lt;a href="http://www.google.com/ig"&gt;iGoogle&lt;/a&gt;, which is Google's customizable portal page, then you can also put a Google Reader widget there.&lt;br /&gt;&lt;br /&gt;Okay, I probably sound like I work for Google or something.  But seriously, I've really enjoyed using it.  Now, maybe you go to Yahoo! every morning.  Or perhaps you prefer Ask.com, because it used to be named after &lt;a href="http://en.wikipedia.org/wiki/Jeeves"&gt;an amusing character from Wodehouse books&lt;/a&gt;.  Well, you're in luck!  Yahoo! has a similar service; you can put your RSS feeds on your My Yahoo! homepage.  (I don't know how, but it's something they've been promoting a lot lately.)  There's also a service called Bloglines that's owned by Ask.com; I don't know anything about that, though.&lt;br /&gt;&lt;br /&gt;So maybe, just maybe, you're wondering what interesting stuff I'm finding while I'm looking over all my RSS feeds.  Well, you're in luck!  You see in the sidebar, where it says "Recent News I Found"?  While I'm perusing my RSS feeds, I've got a button in Google Reader to share articles.  That will put the article in the "Recent News I Found" sidebar.  I've been doing this for several days now, and there's &lt;a href="http://www.google.com/reader/shared/user/10100467309635594692/state/com.google/broadcast"&gt;quite a few things I've found&lt;/a&gt; in that time.&lt;br /&gt;&lt;br /&gt;Of course, the "Recent News I Found" section has an RSS feed.  The articles I put in there aren't in the blog RSS feed, and vice versa.  That way, you can choose to read just the articles I find interesting (but didn't write), without having to deal with my ramblings, or you can read all my wisdom without having to put up with the rush-a-day tidbits about killer badgers in the UK.  The feed for the "Recent News I Found" section is a bit long, though... ready?  Here goes: http://www.google.com/reader/public/atom/user/10100467309635594692/state/com.google/broadcast&lt;br /&gt;&lt;br /&gt;Okay, that's it for today.  That's plenty enough, don't you think?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-3111729312587345393?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/i0KJH79NcTA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/3111729312587345393/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=3111729312587345393" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3111729312587345393" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3111729312587345393" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/i0KJH79NcTA/welcome-to-blog.html" title="Welcome to the blog!" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/welcome-to-blog.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-2986844620477455374</id><published>2007-07-27T11:21:00.000-07:00</published><updated>2007-08-04T00:35:25.268-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin" /><category scheme="http://www.blogger.com/atom/ns#" term="holiday" /><category scheme="http://www.blogger.com/atom/ns#" term="geek" /><title type="text">If You Can Read This, Thank A Sysadmin</title><content type="html">&lt;p&gt;Today is Sysadmin Appreciation Day.  Sysadmining, as most of you know, is a rough, thankless job.  That's why the last Friday of July is designated Sysadmin Appreciation Day.  Do something special for your system administrator, network administrator, sysop, support tech, or (ahem) son today!&lt;/p&gt;&lt;p&gt;If you have no idea what I'm talking about, then visit &lt;a href="http://www.sysadminday.com/"&gt;sysadminday.com&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-2986844620477455374?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/ykMBXX41gfQ" height="1" width="1"/&gt;</content><link rel="related" href="http://www.sysadminday.com/" title="If You Can Read This, Thank A Sysadmin" /><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/2986844620477455374/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=2986844620477455374" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/2986844620477455374" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/2986844620477455374" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/ykMBXX41gfQ/if-you-can-read-this-thank-sysadmin.html" title="If You Can Read This, Thank A Sysadmin" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/if-you-can-read-this-thank-sysadmin.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-3503768719612696325</id><published>2007-07-23T23:37:00.000-07:00</published><updated>2007-07-27T00:22:23.425-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Googler, Day 1</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669909546921282"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://lh5.google.com/Piquan/RqWxT6tQbUI/AAAAAAAAAes/v5aDiZsbG8U/s400/g1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-3503768719612696325?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/vZe3z6CbKA8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/3503768719612696325/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=3503768719612696325" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3503768719612696325" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3503768719612696325" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/vZe3z6CbKA8/googler-day-1.html" title="Googler, Day 1" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/googler-day-1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-793591078721731822</id><published>2007-07-22T01:50:00.000-07:00</published><updated>2007-07-27T00:22:07.273-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 19: TGIF!</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669896662019346"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh6.google.com/Piquan/RqWxTKtQbRI/AAAAAAAAAeU/-srgZZH8_Oc/s288/n19-n19.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;I HAD so hoped that I'd be able to get a few things done during work Friday.  Well, to be fair, I did get a few things done... just not the things I had intended to.&lt;/p&gt;&lt;p&gt;I started off by going to the gym.  I had class over my Thursday gym appointment, so had moved the appointment to Friday.  This meant that I skipped a couple of minor meetings that I didn't have to go to anyway.&lt;/p&gt;&lt;p&gt;Normally, I don't like to start off a day at the gym.  My knee is worst first thing in the morning, and I'm usually pretty tired... I'm just not a morning person.  But if needs must!&lt;/p&gt;&lt;p&gt;My gym doesn't have a shower, so I went to Google still in my gym clothes.  I'd heard there were showers in my building, in the first-floor bathrooms.  On the way there, I passed by my Todd, my boss's boss, and stopped to tell him my idea.&lt;/p&gt;&lt;p&gt;In my day 18 entry, I talked about how I'd given Cheryl some advice on getting through the first bits of training.  I figured it would be good to give some of the same advice to everybody coming in to the group: a kind of "new hire survival guide".  For example, while there's an excellent internal glossary at Google, you can't look up every unknown word you see every time on the team mailing lists.  It'd take a half hour to get through a five-line email!&lt;/p&gt;&lt;p&gt;There's a few terms you'll hear again and again when you first get started.  In other words, the distribution of the usage of unknown terms you'll encounter follows the 80/20 rule.  That means that a short, one-page, context-free glossary could give a Noogler a big head start on understanding what they're seeing... just something you could print out and put next to your monitor, so you're not constantly looking up words.&lt;/p&gt;&lt;p&gt;That sort of thing, I figure I could put together pretty easily. There's also some general advice I'd give.  It's the same advice I always gave to new Juniperites: don't panic.  In their first few months at Juniper, every new employee is certain they're about to be fired.  There's so much coming at them from every direction, you get overwhelmed, and think you're not keeping up with expectations.  The reality is, you're doing fine, people expect you to take time getting up to speed, and you're not expected to keep up with everything coming at you even after you're an established employee.&lt;/p&gt;&lt;p&gt;Besides, Juniper doesn't hire you unless they think you've got the chops.  Once you're hired, you've got what it takes... they're not going to fire you a couple of weeks later!&lt;/p&gt;&lt;p&gt;I'd say the same "don't panic" advice applies to Google.  That was the most important advice I gave Cheryl, and it's that sort of thing that I'd also like to put in the survival guide.  I did, however, have to verify with Todd that he hadn't ever fired somebody a couple of weeks after hiring them!  I figured that was a sure thing, but I wouldn't want to write it down without fact-checking.  Todd, of course, said that he hadn't, and gave me some advice on the survival guide.  He thought it was a great idea.&lt;/p&gt;&lt;p&gt;I also took the time to get the footrest that was recommended during my ergo eval.  It will let me keep my knee extended, which helps with my knee problems, without giving me a bad posture.  Fortunately, the footrest is a lot easier to get than the Kinesis... I just had to drop by the hardware depot and pick it up.  (Regarding the Kinesis, I did drop by Fry's Sunday to get one for home.  No luck; I didn't think about that Kinesis keyboard, while more common than Maltrons, are still pretty uncommon.)&lt;/p&gt;&lt;p&gt;After that, I had to catch up on my email.  I've been talking to a couple of groups internally about their products.  For example, just for my own convenience, I wrote a plugin to interface with one of our internal websites, and was talking with the responsible group about it.  They had some responses, etc.&lt;/p&gt;&lt;p&gt;I also spent a few hours writing some code for some other Nooglers, to them with a question that had come up.  Most programmers have code they've written just to customize and improve their development environment.  You can often get a good indication of how far a programmer has progressed in their career by looking at how much they've customized their environment.  This is partly because as you go through your career you tend to add on to the customizations you've made so far, so they accumulate.  It's partly because more capable programmers can quickly write a customization without losing much time; a veteran programmer can write a customization in an hour what might take a new programmer all day or longer.  It's also partly because old programmers tend to be more crotchety about the way they want their computers to do things!  (I personally have about 3000-4000 lines of such code, 3/4 of which is for Emacs.  It's been accumulating since 1993.)&lt;/p&gt;&lt;p&gt;Anyway, one of the Nooglers asked about a way to do one such customization.  His question was actually a good one, and I thought of a solution that would be applicable to a wide range of similar problems.  But it took me a while to write and the code— about 50 lines of shell script— and some time to write up the email.&lt;/p&gt;&lt;p&gt;Well, by the time that was all done, it was lunch time, followed by another class.  This one was a more detailed class on our cluster infrastructure (see day 17).  Exciting stuff, but I've still got more to learn on the topic.  The rest of my learning about the cluster system will be self-directed, though.&lt;/p&gt;&lt;p&gt;I was barely after class when it was time to go to a TGIF.  I ducked out of the TGIF halfway through, and that's when I heard from a friend who wanted to hang out.  Since it was half past five, I figured it was okay to meet up, and so finished another day as a Noogler.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-793591078721731822?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/0lK1ZLRLrH0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/793591078721731822/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=793591078721731822" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/793591078721731822" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/793591078721731822" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/0lK1ZLRLrH0/noogler-day-19-tgif.html" title="Noogler, Day 19: TGIF!" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-19-tgif.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-7532726014421659712</id><published>2007-07-19T22:53:00.000-07:00</published><updated>2007-07-27T00:22:07.274-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 18: The geekiest social scene</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669888072084738"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh4.google.com/Piquan/RqWxSqtQbQI/AAAAAAAAAeM/v22ak0BGdec/s288/n18-photo4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;[Preface: I wrote all this last night, and promptly forgot to post it.  D'oh!]&lt;/p&gt;&lt;p&gt;You may have noticed that my posts have been getting shorter. There's two reasons for this.  The first reason is that you may well be getting quite tired of such long posts!  A second reason is that now my days are not all completely different from one another.&lt;/p&gt;&lt;p&gt;Some of my posts are about the day's events, and some are about my philosophical musings on things like the campus atmosphere and 20% time.  It looks like I've been moving from the former to the latter over time, as I'm doing less cool day-to-day stuff and more coming to understand the environment around me.  That means that at some point, I'll probably stop doing the daily posts, and move to an as-I-think-about-things format.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669875187182802"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxR6tQbNI/AAAAAAAAAd0/JVAMC64Mshc/s288/n18-photo1.jpg" alt="" border="0" /&gt;&lt;/a&gt;Now that I've talked about that, I'll talk about the cool day-to-day stuff I did today.  I was social today.  Well, I always try to be pretty social, but moreso today.  After classes, I spent some time hanging out in peoples' offices.  This involved things like talking about the referral process, so I can refer my friends.  Of course, a number of the people I'd want to refer work at Juniper, and my contract with Juniper says I can't refer people from there for a year... oh, well.&lt;/p&gt;&lt;p&gt;I also found out about schwag.  The general shirt cabinets tend to empty out fast... I've been told that 10 minutes after they're stocked, they're emptied of everything but the small women's sizes, and those still don't last long either.  Really, if it's schwag I'm after, my best bet is to go to &lt;a href="http://www.googlestore.com/"&gt;http://www.googlestore.com/&lt;/a&gt; and find what I'm after!  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669883777117426"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxSatQbPI/AAAAAAAAAeE/f7MR_2vWr5o/s288/n18-photo3.jpg" alt="" border="0" /&gt;&lt;/a&gt;I did manage to scrounge up a couple of shirts specific to the SRE team, though.&lt;/p&gt;&lt;p&gt;Today we had an Ads SRE party.  This involved us going into a room with snacks and drinks and playing Wii.  (The team has a Wii, with four controllers, and a number of party games.)  I was fortunately able to help several people get going with the games, since I own most of the ones we have, and all the ones we played today.  Nevertheless, I'm sad to say I was handed my hat in Wii Tennis and Monkey Battle, and we didn't finish the Mario Party game.  Nevertheless, I think everybody had fun.&lt;/p&gt;&lt;p&gt;After that, I talked to Cheryl for a little while.  She's the newest ads SRE; she just joined this week.  See, there's a lot going on your first week, and while the SREs are all very supportive, they went through different training programs.  I didn't really have anybody I could go to and say, "OhnoI'msofarbehindWLAAAUGH!".  Well, I could, and might get sympathy, but no empathy, and there's no way they could have said "I went through the same thing, and felt the same way, and it turned out alright."  So I figured I could do that for Cheryl.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669875187182818"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxR6tQbOI/AAAAAAAAAd8/U6DZrGt6XEE/s288/n18-photo2.jpg" alt="" border="0" /&gt;&lt;/a&gt;After that, Matt came to visit.  When I called him, he had just picked up food from Seto Deli, but they were closing, so he had to get it to-go.  I invited him to come over here and we could relax and visit. I picked up some grub at Charlie's, and we sat around outside and ate our food.  After that, we relaxed for a little while in some comfy sofas nearby, and then embarked on the self-directed one-hour tour that our guest center has designed.  It's a tour that I'd been meaning to take anyway, just to explore the campus, but I was glad I could bring Matt along.  I still think he shoulda tried one of the smoothies, though.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669866597248194"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxRatQbMI/AAAAAAAAAds/x6raVZDQv1Y/s288/n18-photo0.jpg" alt="" border="0" /&gt;&lt;/a&gt;It looks like the entire campus is about socializing today.  Earlier, there was a farmer's market.  While I was showing Cheryl around, there was a dance class going on not far from our offices.  There was a university that was having a mixer for current and past students here. There was some sort of event that involved firepits around the volleyball courts.  On my way back from dropping off Matt, I saw that the firepits were lit, and there were people around talking cheerfully.  Then the sprinklers came on.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-7532726014421659712?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/imLHiqr0EpU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/7532726014421659712/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=7532726014421659712" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/7532726014421659712" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/7532726014421659712" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/imLHiqr0EpU/noogler-day-18-geekiest-social-scene.html" title="Noogler, Day 18: The geekiest social scene" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-18-geekiest-social-scene.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-401455002728233738</id><published>2007-07-19T00:10:00.000-07:00</published><updated>2007-07-27T00:22:07.275-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 17: The Light Dawns</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669862302280882"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh6.google.com/Piquan/RqWxRKtQbLI/AAAAAAAAAdk/GZbjPqRy7QI/s288/n17-n17.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;This is going to be a short one, because I'm not getting started until pretty late.&lt;/p&gt;&lt;p&gt;I previously talked about the fact that I don't have a lot of experience with some programming architectures.  One of these is something called cluster computing.  This is when you have a lot of computers together all working on jobs.&lt;/p&gt;&lt;p&gt;Now, as you know, Google has a lot of data to process.  We use cluster computing to deal with that.  That means that there's a cluster infrastructure managing things.  If you type a query into Google, the job of searching the web for what you typed (and correcting spelling, and looking for ads) gets spread out among many, many computers.&lt;/p&gt;&lt;p&gt;In a cluster system, there's some sort of cluster management infrastructure between the program and the machine.  How thick this layer is depends a lot on your system.  In an nCube system (which is more akin to a supercomputer than a cluster, but there's similarities), it's pretty obvious to the program that it's part of a cluster.  In a Beowulf cluster, the entire cluster acts more like one computer than many.  In a Cell cluster, the reality is somewhere in between.&lt;/p&gt;&lt;p&gt;Despite this range, in any cluster system, there's a layer between the program and the hardware.  Now, as a programmer, I have to deal with abstractions all the time.  It's a big part of my job.  Nevertheless, on a typical system, I can talk about the computer at all levels.  At the top level might be a user deciding to click on a hyperlink.  What makes him want to do this?  Why does he know what effect this will have?  How did he decide that this was a useful action to take?  All these are questions of user interface theory, which is an area that has gotten very little research until recently.  At the lowest level, we have transistors.  These are taking advantage of field effects to allow electrons to flow from one point to another, depending on the behavior of electrons at a third point.  This is the fundamental component on which computers are generally built.&lt;/p&gt;&lt;p&gt;I've got a pretty good understanding of the layers between those two points.  It's a bit sketchy near the extremes— my subatomic physics isn't really up to snuff— but in the middle, particularly in the lower level of the software, I've got it covered.&lt;/p&gt;&lt;p&gt;Now, a cluster system puts an entire abstraction layer between the software and the hardware.  Instead of saying that program X is running on machine Y, you would say that program X is running on this cluster over there, that consists of a lot of machines.  Depending on the cluster system, it might be running evenly spread across each machine, or parts of it are on some machine and parts on another, etc.&lt;/p&gt;&lt;p&gt;This has made me a bit uneasy.  I've been having to learn about a lot of programs running, but I haven't really had a good feel for HOW they run.  When we were talking about different programs, or subprograms communicating, I couldn't tell how they were communicating... whether it involved sharing some RAM, sending data over a network, or somewhere in between.  All of these are possibilities in a cluster architecture, and I didn't know anything about ours.&lt;/p&gt;&lt;p&gt;Today, we went over the cluster architecture in general, so I'm quite happy about that.  Now I have a basic groundwork for the computing infrastructure, and yesterday I got the basic groundwork about the data flow I'm supporting.  Tomorrow, I've got training on a number of other job-specific aspects, such as what's expected when you're on call, and more detail about our specific systems and how they work.&lt;/p&gt;&lt;p&gt;I've also been talking to some people around here about some ideas I have.  One involves using some AI techniques to make our lives easier. These are ideas I'd been thinking about at Juniper, but wasn't able to get the buy-in to start the project.  Here, people seem enthusiastic about the idea, so I think I'm going to start looking in that direction pretty soon.&lt;/p&gt;&lt;p&gt;I've also got some ideas about ways to organize the communication between parts of our computers, but I'm less likely to be able to see that out; it may be too radical to be implemented with today's state of the art, even here.  Nevertheless, I'm going to throw the idea around some and see if it sparks some good, more practical ideas.&lt;/p&gt;&lt;p&gt;As a brief note on another topic, I've been playing with a lot of the Google products I hadn't looked at closely before.  I've got a couple of ads accounts now to play with, for example; that only makes sense, since I'm in the ads team!  I'm also exploring some of the other properties, such as Google Reader, Co-Op, etc.  Expect to hear more about that later, but for now, it's time for bed.&lt;/p&gt;&lt;p&gt;Oh, I almost forgot.  I got my ergonomic evaluation today.  They're backordered on the Kinesis keyboards, but I'm going to go by Fry's at some point and get one for home so I can learn the layout while I wait.  Anybody care to play two-player typing speed games while I'm learning it?&lt;/p&gt;&lt;p&gt;One final note: in the picture, you can't tell clearly, but that balloon between the desk and the door is maintaining its position unsupported.  It doesn't have much buoyancy, but it's still got a little.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-401455002728233738?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/_xSLBl1vc-I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/401455002728233738/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=401455002728233738" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/401455002728233738" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/401455002728233738" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/_xSLBl1vc-I/noogler-day-17-light-dawns.html" title="Noogler, Day 17: The Light Dawns" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-17-light-dawns.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-3732194344512284264</id><published>2007-07-17T23:21:00.000-07:00</published><updated>2007-07-27T00:22:07.276-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 16: Second wave of classes, Kinesis, and 20% time</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669840827444338"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxP6tQbHI/AAAAAAAAAdE/oKDVWXl_HDI/s288/n16-IMG_0104.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;I hope you weren't eagerly looking for a day 15 post.  I think that some of my daily posts have gotten a bit thin anyway, so one missing day isn't going to be a killer.&lt;/p&gt;&lt;p&gt;I'm going to talk about a few things here.  First off, let me tell you a bit about work.  Crusher asked me today if I was enjoying my new job.  I said that I'd give him an answer once I knew what my new job is.&lt;/p&gt;&lt;p&gt;There's certainly truth to that.  I've been learning a lot about the company, the infrastructure, the languages, the libraries, the problems, the solutions, etc, etc.  I still don't know what I'm going to be doing day to day.  I've been reading the team mailing lists, but only understanding 5% of what I read.&lt;/p&gt;&lt;p&gt;Fortunately, last night, my boss started setting up the training classes that are specific to our job.  I've been through all the stuff that every engineer goes through already, but I really have no idea what I have to do day to day.  For the few weeks, I've got New Ads SRE training.  The first session was today, taught by Alex.  It was a more in-depth discussion of some of the stuff we'd gone over in previous classes, and it looks like a number of the upcoming classes will go into more depth on individual parts.&lt;/p&gt;&lt;p&gt;I'm quite excited about these classes.  While I'm certainly learning a lot in my self-directed studies, I do still feel a bit ungrounded.  I was hoping to get my &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669836532477026"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh4.google.com/Piquan/RqWxPqtQbGI/AAAAAAAAAc8/4Se_2XrlSPs/s288/n16-IMG_0103.jpg" alt="" border="0" /&gt;&lt;/a&gt;sea legs with the starter project, but it looks like these classes will give me a lot of orientation.&lt;/p&gt;&lt;p&gt;I'm also looking forward to my ergonomic review tomorrow.  I know, that sounds dull, but you may recall from day 10's entry that it's part of the process for me to get my &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669827942542418"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh6.google.com/Piquan/RqWxPKtQbFI/AAAAAAAAAc0/wCOd3knz1g4/s288/n16-IMG_0102.jpg" alt="" border="0" /&gt;&lt;/a&gt;new keyboard.  The usual bowl-keyboard that Google issues is a Kinesis, but I'm used to a Maltron.&lt;/p&gt;&lt;p&gt;I had first started using the Maltron on the recommendation of some of my friends from GNU and red-bean.  If it gives you any idea of the obscurity of the Maltron, though, mine has a serial number in the 4900s.&lt;/p&gt;&lt;p&gt;Still, I'd been thinking about switching to the Kinesis.  The Maltron uses a proprietary key layout, whereas the Kinesis uses the Dvorak layout, which is built in to most OSs.  This means that I could sit at any keyboard and switch it to using a key layout that I'm comfortable; with the Maltron, I'd have to bring my keyboard if I wanted to do that.&lt;/p&gt;&lt;p&gt;The Kinesis is also much more popular than the Maltron, and easier to get.  Many hard-core geeks are at least passingly familiar with the Kinesis, whereas the Maltron is almost unheard of.  The story is that Kinesis first tried to license the Maltron for the US, but Maltron turned them down.  Kinesis then developed a similar keyboard, but with the Dvorak layout instead of the proprietary Maltron layout.&lt;/p&gt;&lt;p&gt;So I started wondering, has anybody switched from the Maltron to the Kinesis?  What were their experiences like?  I spent a bit of time scouring the web for comparisons.&lt;/p&gt;&lt;p&gt;I couldn't find any real comparisons, but I did find a blog entry from a guy who was in the process of switching from the Maltron to the Kinesis.  This guy, Fitz, is one of my red-bean friends, but we hadn't talked in quite a while.  I looked over his blog to see what he's doing these days, and found out that he's working at Google too!  (Not at my complex, though; like many red-beaners, he lives in Chicago.)&lt;/p&gt;&lt;p&gt;I shot him an email, and we talked a bit.  He has been moving to the Kinesis over the past few weeks, and is quite happy about it.  Based on his recommendation, and the reasons I went into above, I think I'm going to get a Kinesis at work, and another here to replace the Maltron, so I can learn the Dvorak layout.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669823647575106"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxO6tQbEI/AAAAAAAAAcs/5WfD2TtIEdo/s288/n16-IMG_0101.jpg" alt="" border="0" /&gt;&lt;/a&gt;Now I'm going to talk a bit about 20% time.  One of the most famous things about working for Google is that you can spend 20% of your time working on whatever you want.  Some released products, such as GMail, started as 20% projects.&lt;/p&gt;&lt;p&gt;Some people will take part of their 20% time to fix a bug that's annoying them, or add a feature they want, to some other Google product.  For example, there's a story on the official Google blog from a guy who writes internal tools to manage partner relationships, who used some of his 20% time to add a new key shortcut to Google Reader.&lt;/p&gt;&lt;p&gt;Other people will use their 20% time working in groups that interest them.  It's not uncommon for people to spend their 20% time in a different group, in order to size them up for maybe moving to that group.  It makes for a pretty smooth transition.  I had wondered about that; people move around a lot within Google, so I was wondering how the internal turnover didn't eat them alive in retraining.  Part of it is that people have been spending 20% of their time doing the job before they move!&lt;/p&gt;&lt;p&gt;Some areas are resourced mostly with 20% time.  I know a number of my teachers generally taught in their 20% time, and had an 80% job doing engineering.&lt;/p&gt;&lt;p&gt;In fact, there's a lot of groups that are composed of people spending their 20% time on something they feel strongly about.  In any development organization, there's a number of areas that people feel are important, but don't get well-resourced: training, code readability, testing, etc.  For instance, there's one group of people that, in their 20% time, write flyers about code test techniques, and puts these in the bathroom stalls.  "Testing on the Toilet", the series is called.  Through this and other means, they're actually doing a lot to improve the quality of testing at Google.&lt;/p&gt;&lt;p&gt;That's what I find the second best about 20% time, as a concept.  You get people who are passionate about what they're working on.  They really do want to work on testing, or really do want to teach, etc. This means that they do good work: they are thinking about this area all the time!  Now, this isn't to say that people aren't passionate about their 80% work.  They certainly are!  But I think that the 20% time has a fluidity and openness that your 80% projects just don't have.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669849417378946"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxQatQbII/AAAAAAAAAdM/Hq4yoADPj1o/s288/n16-IMG_0106.jpg" alt="" border="0" /&gt;&lt;/a&gt;So what do I find the best about 20% time?  Morale.  Engineers work best when they're finding outlets for what they really want to do. Traditionally, management theory has focused on handling this by improving morale either by encouraging developers to be engaged in their projects (see the books "Quality is Free", and most especially "Peopleware"), or by collateral means (such as free food and offsites).  I don't know of anywhere that's ever decided to channel engineers' ideas into productive areas directly, to improve both production and morale.&lt;/p&gt;&lt;p&gt;And before you ask, no, I don't have a 20% project yet.  Of course, I don't even have a grasp of the other 80% of my time yet!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-3732194344512284264?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/YmA-qsA_vXY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/3732194344512284264/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=3732194344512284264" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3732194344512284264" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/3732194344512284264" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/YmA-qsA_vXY/noogler-day-16-second-wave-of-classes.html" title="Noogler, Day 16: Second wave of classes, Kinesis, and 20% time" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-16-second-wave-of-classes.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-6320682038092033716</id><published>2007-07-13T20:11:00.000-07:00</published><updated>2007-07-27T00:22:07.276-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 14: Picture Extravaganza!</title><content type="html">&lt;p&gt;I'm still in the office as I start this, since I'm hoping to hang out with Scott later on.  [It ended up being finished Sunday, 1:30 AM.  So much for that plan.  -Piq]&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669711978425026"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxIatQasI/AAAAAAAAAZs/5dTdBJcKe9Q/s288/n14-IMG_0067.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Today was a pretty typical day, whatever that means.  I overslept, which is a typical start to the day.  I was quite panicked when I woke up, and hoped to get ready in time to make it to my class this morning.  I ended up about 10 minutes too late.  It's a class I should attend, but it's okay to put it off a little while.  I'll take it next week instead.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669716273392338"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh4.google.com/Piquan/RqWxIqtQatI/AAAAAAAAAZ0/gdZbgRi-WAQ/s288/n14-IMG_0068.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;On the upside, I've been sleeping MUCH better.  The pharmacist's advice seems to have been helping, and now I'm pretty much caught up to normal sleep levels.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669720568359650"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxI6tQauI/AAAAAAAAAZ8/rjpzA03ZqlY/s288/n14-IMG_0069.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;At any rate, I was all free and clear to study.  I worked on a few different things, and after a while, I got a call from Matt.  There are several 7-11s that have, in preparation for the Simpson's Movie, renamed themselves to Kwik-E-Mart, and started selling items from the Simpsons show.  You may have noticed the KrustyO cereal in my day 10 post.  They're also selling things like Squishee frozen drink, Buzz cola (which smells somewhere between Jolt and generic store cola, and if you've played Simpsons Road Rage, you may have some more thoughts on the matter) and the pink-glazed donuts with sprinkles that are ubiquitous in the Simpsons.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669724863326962"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh6.google.com/Piquan/RqWxJKtQavI/AAAAAAAAAaE/RCy4R-kfXeo/s288/n14-IMG_0072.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Now, the only one in this area is in Mountain View, about half a mile from the Googleplex.  Dennis (a friend of mine from Juniper, one of the ones I try to keep in touch with) is a die-hard Simpsons fan. He, Matt, and another guy at Juniper who had been hired after I left were all going to the Kwik-E-Mart to check it out.  Matt was called me to see if I wanted to join them.  Of course I did, so I went down to grab a bike.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669729158294274"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxJatQawI/AAAAAAAAAaM/8RPEg71dByc/s288/n14-IMG_0073.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;As I was getting on the bike, three Koreans asked me a few questions about the bikes: if they're just open for anybody to use, what the flag is for, etc.  As I spoke with them, I learned that they were visiting.  One is a reporter, another is her translator, and the third hung back with no apparent involvement in what was going on.  (Despite the translator's assertion that the reporter wasn't on the job, I did see her taking some notes.)&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669737748228882"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxJ6tQaxI/AAAAAAAAAaU/lRsB6g0NaZY/s288/n14-IMG_0074.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;They told me that they were in the area and decided to visit the Googleplex, to see if they could arrange a tour.  They had intended to go to the visitor's lobby and see what could be arranged.  I escorted them to the visitor's lobby in building 42, talking to them as we walked, and then went back to the bike.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669742043196194"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh6.google.com/Piquan/RqWxKKtQayI/AAAAAAAAAac/kcxoAvb86yU/s288/n14-IMG_0075.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;When I got to the Kwik-E-Mart, the Juniperites were waiting out front, with Dennis sipping on a Buzz cola.  They got a kick out of the little blue Google bike with the oversized basket and orange flag.  After checking out the Kwik-E-Mart (and taking pictures; note the faux cartoon walls on the exterior), we decided to eat.  And what better place for this than at Google!&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669746338163506"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxKatQazI/AAAAAAAAAak/SdnW1g1j2Ok/s288/n14-IMG_0077.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Now, I didn't tell them that it was a somewhat special day.  There was a whole Viva la France thing going at Charlie's, with special menus, special cheeses, oysters, etc, etc.  We ended up all three going to Bistro G, where they were serving ratatouille, roast chicken, etc.  I went over and got some (non-alcoholic) chardonnay, and we sat down outside to eat and talk.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669750633130818"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh4.google.com/Piquan/RqWxKqtQa0I/AAAAAAAAAas/abfQ2E_bVsI/s288/n14-IMG_0078.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;After we had eaten, I took them on a brief tour of campus.  Google does actually have a number of prepared campus tour plans, for just such an occasion.  I hadn't memorized any of those, but had fun ad-libbing.  Unfortunately, Dennis had to go soon, so we wrapped up quickly and they headed off.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669754928098130"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxK6tQa1I/AAAAAAAAAa0/6aIk0lMr6Og/s288/n14-IMG_0079.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;After they left, I went back to work.  I talked to Jason about my starter project.  He explained the project to me, and we worked out more or less what parts of it he knows, and what parts I know, and what parts neither of us know.  I've got a pretty good idea of what I need to do on this score now.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669759223065442"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh6.google.com/Piquan/RqWxLKtQa2I/AAAAAAAAAa8/w0BLXHAna8Y/s288/n14-IMG_0080.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;I was setting up a plan for what else I was going to learn, but it occurred to me that I don't know how much I don't know!  Fortunately, there's some internal self-assessment quizzes.  I sat down to go through the C++ quiz, since that's one area that I have no idea whether I'm a dunce or a whiz.  I took exception to a few questions on this quiz... some are a bit vague, and they're vague in ways that mean that they clearly mean one thing to a novice, but clearly mean something different to an expert.  (I'm not an expert in C++ by any stretch of the imagination, but I'm talking about some general language concepts.)&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669763518032754"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxLatQa3I/AAAAAAAAAbE/BDfZ-BV0g4k/s288/n14-IMG_0081.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;I worked through the first 2/3 or so of the quiz, but by then it was getting rather late indeed, and my brain was starting to deteriorate. I decided to put the quiz away and do something more productive— like start on this post!&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669767813000066"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh4.google.com/Piquan/RqWxLqtQa4I/AAAAAAAAAbM/qQ-kjSCX2aA/s288/n14-IMG_0082.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Fortunately, we got the pics from the offsite today.  Unfortunately, I can't post them on the Intarweb for obvious privacy reasons.  To make it up, I've posted several other pictures from around the Google campus. There's some of a microkitchen; I'll point out that those are all from a single microkitchen.  There's a number of doodles from one of the nearby markerboards.  There's a few signs that started from the fact that one of our products is called AdSense.  There's a mockup of SpaceShip One.  There's fun stuff around Google.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669677618686546"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxGatQalI/AAAAAAAAAY0/xFCFmK4CaiY/s288/n14-whiteboard.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-6320682038092033716?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/wAETugVbgDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/6320682038092033716/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=6320682038092033716" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6320682038092033716" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6320682038092033716" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/wAETugVbgDw/noogler-day-14-picture-extravaganza.html" title="Noogler, Day 14: Picture Extravaganza!" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-14-picture-extravaganza.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-4993240952161831859</id><published>2007-07-12T20:14:00.000-07:00</published><updated>2007-07-27T00:22:07.277-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 13: A Day At the Races</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669858007313570"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxQ6tQbKI/AAAAAAAAAdc/zYWCa2NUaj4/s288/n13-balloons-13.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;I'm starting on this one before I leave the office.  I figure I'd be better able to write these when they're fresh in my mind.&lt;/p&gt;&lt;p&gt;I'm not sure if you recognize the title.  It's a Marx Brothers film. I'm aware of the fact that I make a lot of references that people don't get, but sometimes that takes me off guard.  Like today; I told a guy, "Welcome to the jungle.  We've got fun and games."  He had never heard the song I was quoting; when I said that it was a mid-80s song, he said he was about so (1'6") tall at the time.  Every now and then, I'm reminded that I'm the old one around here.&lt;/p&gt;&lt;p&gt;This was as we were getting on the bus.  "What bus," you ask?  Why, the Google bus to take my team to the go-kart track.&lt;/p&gt;&lt;p&gt;You see, today was an off-site team (Ads SRE) event.  We first went for lunch (Cafe Moma, which serves "multi-cultural comfort food").  I had just shown up; I slept late this morning.&lt;/p&gt;&lt;p&gt;After lunch, we all piled onto the bus, which is one of the usual Google buses.  It's pretty much like a nice charter bus with TVs, wireless Internet access, etc.  And a bunch of geeks having conversations about various geeky things.  For example, I was talking to the guy next to me about how much I'd like to see a recreational mathematics course; it turned out that he used to teach such a course (by a different name) at a university.  Others were talking about things like switching fabrics, new gadgets, and influential people in the computer community.&lt;/p&gt;&lt;p&gt;At the track, we all signed in, and changed into jumpsuits.  After that, we were given a briefing about the rules of the track.  We divided into two groups, and each group was given 10 minutes on the track to get used to it.&lt;/p&gt;&lt;p&gt;Now we're ready to race.  Here's the rules.  We were divided into teams of 3s and 4s.  Each team had a kart, and we'd decide who the first driver would be.  The race was for 45 minutes, and everybody on the team had to drive.  When we'd want to switch drivers, we'd write the car number, the driver's name, and a note on a markerboard, and hold it up.  The driver would then drive into the pit stop after the lap, and swap out with a different driver.&lt;/p&gt;&lt;p&gt;But, because this is SRE, we had to make things difficult.  The boss brought puzzles.  Once your driver pitted, while your replacement driver was getting ready, the others on your team would have to put together a puzzle.  Only once that was done could your driver leave the pit.&lt;/p&gt;&lt;p&gt;My team consisted of myself, Yao (an officemate), Eric (my mentor), and Basab (an older Indian man whom I didn't know).  Yao was the best driver, followed by me, Eric, and then Basab.&lt;/p&gt;&lt;p&gt;We used Yao for the qualifying round (10 minutes), which was a mistake.  We didn't know it, but the qualifying driver would also be the first driver for the race.  That meant that he was already getting tired when the real race began.  Meanwhile, we looked at what the puzzles were.&lt;/p&gt;&lt;p&gt;They were maps of the US with the 50 states cut out.  On the board, under each piece, was the state's capital marked with a dot and the name.  As Yao raced, the rest of my team made a strategy.  We'd avoid putting me and Eric back-to-back, since that would mean that Yao and Basab would have to solve the puzzle.  Seeing as how that involved US geography, Eric and I were probably marginally more qualified to solve it.  We decided to split the driving time with Yao for about 13 minutes, me for 12, and Eric and Basab for about 10 each.  This was to give our better drivers more time on the track, while still giving everybody a chance to drive.  The rotation we picked was Yao, Eric, Basab, and me.&lt;/p&gt;&lt;p&gt;This plan saw its first weakness when Yao got tired and pitted.  We hadn't considered that our plan would lead to him starting with 23 minutes in the car, which is a LONG time!  While Basab and I started on the puzzle, Eric put on his helmet and got in the car.  Basab and I started on the puzzle, and Yao joined us a minute later once Eric was in the car.  We finished the puzzle and Eric took off.&lt;/p&gt;&lt;p&gt;We considered another problem: the puzzle takes about 2 minutes to solve, so we subtracted that from each person's time-on-track preparations.  We worked out about when to bring Eric in, and gave him a "last lap" note.  Unfortunately, between when we gave him the note and when he pitted, lots of other cars were pitting.  Since there were only three puzzles, we had to wait for one of those to come free before we could start.&lt;/p&gt;&lt;p&gt;Yao and I waited for a puzzle to come free, and Basab went to relieve Eric.  Once the puzzle was free, I called to Yao and we jumped on it. Eric joined us, we finished, and sent Basab on his way.&lt;/p&gt;&lt;p&gt;Now, Basab was rather self-conscious about his speed.  When I had talked with him earlier, I wanted to be both encouraging for him to go out and do his best, but also making it clear that the point was to have fun, not to win.  It came off as a rather schizophrenic talk.  In the end, in order to not hold the team back, he pitted after just about five minutes.&lt;/p&gt;&lt;p&gt;That left me, our last driver, with 15 minutes to go!  I suited up and hopped into the car.  Once I got the signal, I headed up to the line and floored the gas.&lt;/p&gt;&lt;p&gt;You can look at the maps at &lt;a href="http://www.gokartracer.com/track_maps.html"&gt;http://www.gokartracer.com/track_maps.html&lt;/a&gt; if you like; we were on the Monza track.  Unfortunately, the start line isn't marked on that map.  If you're going along the bottom (left to right), you can either take the track, or go straight into the pits.  The ramp out from the pits is just above it, so the pits are kind of an extension of that bottom-left turn.  The start line is just after that, near the bottom left.  So the first turn is a little bit down from the center of the map.&lt;/p&gt;&lt;p&gt;I'd figured that the hard spot would be turn 7, the U-turn in the right center of the map.  I asked one of the workers there about that, and he said that no, the toughy is the chicane at turns 3-5.  The thing to do is to try to take a tight line on it, and you can pretty much floor it; the bridge right after the chicane is going to help you recover traction going into the straightaway.&lt;/p&gt;&lt;p&gt;Generally, things went pretty well.  I got pretty frustrated with one car on the track, who had about four cars stuck behind him, despite being told by the track marshals to let us pass.  There's a blue and yellow flag that's used to signal this; he ignored that flag for about two full laps while I was behind him.  (I later heard one of our more vocal employees griping about his behavior; we never did find out who the driver was.)&lt;/p&gt;&lt;p&gt;My biggest problem was at turn 9, the U-turn a little bit above the center of the map, just to the right of the chicane.  You take that turn pretty much blind to what's on the other side.  Well, there had been a spinout there, and RIGHT on the other side were three karts stopped.  I slammed on my brakes as soon as I came around that turn, and although I had lost a lot of speed going into it, I still wasn't able to brake fast enough to avoid a small collision.  Not enough to be a problem, though.&lt;/p&gt;&lt;p&gt;After the race, they gave out medals to the top three teams.  The go-kart facility provided medals, and our boss provided another set of medals.  I liked our set better: gold, silver, and bronze pagers.  (I later examined one: they were real pagers, just obsolete, from Weird Stuff, spray painted, with "Google SRE '07" written over their screens.)&lt;/p&gt;&lt;p&gt;We went to a classy looking place where we ate and drank and played pool.  There, they gave out prizes to the top few teams, the top individual lap, and the slowest individual lap.  They also gave everybody a pretty nice socket set.  The handle was stuck in the foam in mine; I had to use my Leatherman to pry it out.&lt;/p&gt;&lt;p&gt;After that, I came back to the office, caught up on my email and a few other menial tasks, and sat down to write this.  Despite my protests in Monday's entry, today WAS an all-play-and-no-work day.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-4993240952161831859?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/Osl_ziiuZ8Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/4993240952161831859/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=4993240952161831859" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/4993240952161831859" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/4993240952161831859" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/Osl_ziiuZ8Y/noogler-day-13-day-at-races.html" title="Noogler, Day 13: A Day At the Races" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-13-day-at-races.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-7597967404273935054</id><published>2007-07-11T23:29:00.000-07:00</published><updated>2007-07-27T00:22:07.277-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 12: Back to classes</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669660438817282"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxFatQagI/AAAAAAAAAYM/IKPKwxvPg8A/s288/n12-IMG_0064.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Today I had to get up extra-early to go to the gym.  I won't be able to make my normal Thursday timeslot because I have class then, so I had moved it to this morning.  Which made for a tired, but quite vigorous, workout.  I think the pharmacist's advice helped, too.  I slept well last night, and was doing much better today.&lt;/p&gt;&lt;p&gt;After my workout, though, I did have to shake a leg to make sure I could get to class on time, with a banana as a quick snack.  I did actually end up getting there early, though, and sat in The Hub until it was time to go to class.&lt;/p&gt;&lt;p&gt;The instructor was an engineer whom I'd briefly spoken with before; I needed to talk to her about data I'll be needing for my starter project.  More about this class another time; for now, I'm hoping to get done writing this by midnight.&lt;/p&gt;&lt;p&gt;I should probably explain one of my photos from yesterday.  In case you couldn't read it, it reads:&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align: center;"&gt;GOOGLE CULINARY TEAM KITCHEN FOOD STANDARDS&lt;/p&gt;&lt;ul&gt;&lt;li&gt;    We will source fresh, seasonal, local &amp; organic produce as a       first choice &amp;amp; preference&lt;/li&gt;&lt;li&gt;    All prepared meets are nitrite &amp; nitrate free&lt;/li&gt;&lt;li&gt;Our chicken is always antibiotic &amp;amp; hormone free&lt;/li&gt;&lt;li&gt;    Our beef, lamb &amp; pork are premium, natural products&lt;/li&gt;&lt;li&gt;    We follow the seafood standards as outlined by the Monterey Bay       Aquarium Seafood Watch Program       (&lt;a href="http://www.mbayaq.org/cr/seafoodwatch.asp"&gt;http://www.mbayaq.org/cr/seafoodwatch.asp&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;    We will engage local artisan vendors that can provide the       quantity and quality of culinary products expected by Googlers&lt;/li&gt;&lt;li&gt;    All stocks, sauces and dressings are made from scratch&lt;/li&gt;&lt;li&gt;    We do not use products that contain MSG&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: center;"&gt;OUR STATEMENT OF VALUES&lt;/p&gt;&lt;ul&gt;&lt;li&gt;    We encourage openness, creativity and the sharing of thoughts,       ideas and new concepts&lt;/li&gt;&lt;li&gt;    Our menus are produced with sustainable, local and organic       products using healthy cooking methods&lt;/li&gt;&lt;li&gt;    Our goal is to educate our staff, customers, vendors and       ourselves about the food experience and the effect it has on our       global community&lt;/li&gt;&lt;li&gt;    We commit to live our values by participating as a team in at       least one charitable event each quarter in our community&lt;/li&gt;&lt;li&gt;    We commit to continually evolve our business model to improve       service, quality and efficiencies&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: right;"&gt;            — Google Culinary Team&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="text-align: right;"&gt;&lt;/p&gt;&lt;p&gt;Okay, that was one sign.  I read another today.  I'll preface this by saying that we normally use ceramic plates and metal flatware, which can be taken elsewhere and left in a microkitchen to be bussed if so desired.  There are also disposable "to-go" boxes and flatware.  The other sign was about that.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align: center;"&gt;ABOUT OUR NEW "GREEN" FOOD CONTAINERS, TAKE-OUT BOXES, PLATES, AND     CUTLERY&lt;/p&gt;&lt;p&gt;    We are now using non-oil based disposable "take-out" packaging     made from renewable, tree-free, resources that are sustainable,     compostable and biodegradable.&lt;/p&gt;&lt;p&gt;    Our paper plates, take out boxes and soup cups are made from     "sugar cane bagasse," the fibrous residue remaining after juice is     extracted from the crushed stalks of sugar cane.  The use of this     agricultural waste product to make food containers prevents it     form being burned in the sugar cane fields, reducing air pollution     and the production of greenhouse gasses.&lt;/p&gt;&lt;p&gt;    Our new 100% corn-plastic cutlery, clear take-out and deli     containers are made from NatureWorks(TM) PLA, a corn based     plastic.  Naturally derived from corn, the basic raw materials for     PLA are carbon dioxide and water.  Growing plants, like corn, take     these building blocks from the atmosphere and soil.  They are     combined in the plant to make carbohydrates (sucrose and starch)     through photosynthesis.  Dextrose, a natural sugar derived from     the starch in kernels of corn (or maize) is used as the primary     raw material for PLA.  NatureWorks(TM) PLA uses up to 50% fewer     fossil resources than conventional plastics in its manufacture.     It can compost completely back to carbon, water, and organic     matter, keeping a balance in nature.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Now, lunch is done, and back to classes.  They were over interested topics, but by the end of the day I was still a bit glazed over.&lt;/p&gt;&lt;p&gt;The classes took up most of my day, and as I write this, it's now just a bit past midnight.  (Part of this is because I got distracted watching "House".)  I guess that means it's time for me to send this off.&lt;/p&gt;&lt;p&gt;I remembered to take a picture of my balloons today.  It looks like they're almost done with their job.  I suppose the MTBF for mylar balloons is about 2 weeks; I've only got a short time left of being a Noogler.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-7597967404273935054?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/tK_2h4-KALk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/7597967404273935054/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=7597967404273935054" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/7597967404273935054" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/7597967404273935054" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/tK_2h4-KALk/noogler-day-12-back-to-classes.html" title="Noogler, Day 12: Back to classes" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-12-back-to-classes.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-13322352.post-6388712788366656813</id><published>2007-07-10T21:36:00.000-07:00</published><updated>2007-07-27T00:22:07.278-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="noogler" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Noogler, Day 11: Work and Play at Google</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669643258948034"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxEatQacI/AAAAAAAAAXs/PjrmlcJ8iFY/s288/n11-IMG_0046.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;I know, it's earlier than I normally send this out, but I really hope to get to bed early.  When I got up this morning, I was exhausted.  I ended up getting in too late to make it to my first class, and the other two classes today depend on it.  It's not something vital to me at the moment, so I'm okay with making it up next week.&lt;/p&gt;&lt;p&gt;That also meant that I had all day to work on some of my other studies.  Today, I was studying Sawzall, a log analysis tool we have around Google.  After what I said yesterday about how I don't talk about work, I figured I should talk about work a little, in case you're curious about what I'm looking at.  (And lest anybody wonder about all the company secrets I'm divulging, I'll note that the following is all in a &lt;a href="http://labs.google.com/papers/sawzall.html"&gt;published paper&lt;/a&gt;.)&lt;/p&gt;&lt;p&gt;Sawzall is a programming language developed by Google specifically for analyzing logs and extracting relevant data.  There's a LOT of log data, and so they developed a system to distribute the analysis over hundreds or even thousands of computers.  Although this could be done using a general-purpose language like Python, using a purpose-built language has a few important advantages.  Sawzall is designed around the idea of processing logs.  It has a lot of functionality that is useful in this context, such as date-handling functions, easy-to-use regexes, etc.&lt;/p&gt;&lt;p&gt;Now, Perl is also built around the idea of processing text files, but Sawzall has one big advantage over Perl: it's designed for distributed computing.  When a Sawzall program is run, it automatically is given to many, many computers.  Each computer processes a portion of the logs, and then they work together to combine their results appropriately.  However, all of this coordination is done by Sawzall. It doesn't require any special code by the programmer; it's done automatically.&lt;/p&gt;&lt;p&gt;These traits allow you to write efficient programs for log analysis quite easily.  For example, a program to compute a frequency distribution of number of queries vs. minute within the week only takes 7 lines.  In a few simple benchmarks (Mandelbrot and Fibonacci), run in a non-distributed manner, Sawzall is quite fast: 3.5 times faster than Python, 5 times faster than Ruby, and 4 times faster than Perl.&lt;/p&gt;&lt;p&gt;It also scales incredibly well.  Ideally, putting five times as many machines on a job should make the job five times faster.  In practice, this isn't ever achieved, since there's some overhead.  The overhead is only 2% in Sawzall: putting five times as many machines on a job makes it 4.9 times faster.&lt;/p&gt;&lt;p&gt;Now, most languages are built around an idea of execution similar to Algol's.  They don't work too well when a different execution style is needed.  (This is why I figure that the current state of the art in multithreaded programming is so lousy.)  Generally, languages that are designed to work in an unusual evaluation model are fairly different from most traditional programming languages.  For example, programs in Haskell, ML, or Prolog are quite different from those in C, Perl, or Python, and require a different way of thinking about programs.&lt;/p&gt;&lt;p&gt;Now, I've worked with unusual evaluation models; for example, Params, my magnum opus at Juniper, is based around reverse-chaining evaluation.  I haven't done much work on distributed computing, though.  I did a small research project at SWT, and designed Params v1 and v2 so they each could later be migrated to a distributed model (e.g., Beowulf) without completely redesigning the core algorithm.&lt;/p&gt;&lt;p&gt;Sawzall is, as alternative model languages go, pretty straightforward. But it's still a bit more work to think about.  As I've been working to understand how the language works, I've had to think carefully about what the implications of the distributed model are.  This is the area where I had the questions I mentioned on day 9, when I got referred from one person to the next.  I'm a little bit surprised that the others I spoke with hadn't looked into these issues themselves. On the other hand, I'm a bit more of a programming language geek than most programmers.  I enjoy thinking about the ins and outs of programming languages.&lt;/p&gt;&lt;p&gt;Now that I've gone through all that, you might understand why I don't talk about what I'm working on much.  So let's talk about some more fun stuff, and more of my narratives.&lt;/p&gt;&lt;p&gt;As I said, I was pretty tired today.  After just a couple of hours of working, I was having trouble concentrating on anything of significant complexity.  I decided to take a little walk, see if that would help wake me up.&lt;/p&gt;&lt;p&gt;After a little bit of walking around, I decided it wasn't helping, and a nap was in order.  But where?  I walked into the nearest building and wandered until I found a couch.  I put Pachelbel's Canon on the iPod, and relaxed.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669626079078818"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh3.google.com/Piquan/RqWxDatQaaI/AAAAAAAAAXc/zfi-NOEM1XE/s288/n11-IMG_0043.jpg" alt="" border="0" /&gt;&lt;/a&gt;It wasn't much of a rest.  The couch had a pretty hard frame.  It would be fine to sit on and talk, but it wasn't much of a bed. Fortunately, a friend I'd seen around campus happened by, and gave me another suggestion.  Just upstairs, there were some small conference rooms; little more than phone booths.  (My understanding is that they're usually used either for phone calls or interviews.)  Two of them have the huge 6' beanbags I mentioned on day 2.  Both of those were occupied, but there was another such beanbag (this one 8') nearby.  We moved it into an empty room (have you ever tried to get an 8' beanbag into a phone booth-sized room?), where I was able to rest to the strains of Schubert's Piano Sonata No. 20 in A, D. 959: IV. Rondo (Allegretto).  Despite the overly complex name, this simple song is possibly the most relaxing music I know.  (A portion of this was used as the credits music for the 80's sitcom, Wings.)  (The enclosed photo is of a 6' bag, taken later when the room was unoccupied.)&lt;/p&gt;&lt;p&gt;After that, I went on to lunch, and enjoyed some orange chicken with jasmine rice and a small green onion cake.  I will say, despite the wonderful food at Google, the chopsticks are pretty lousy.  If I find myself eating Asian often, I might keep my own set at work.  While I ate, I considered that although I'm a pretty finicky eater, I don't ever have problems finding food that I like at Google.  I'm a bit surprised by this.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/Piquan/Noogler/photo#5090669634669013426"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 200px;" src="http://lh5.google.com/Piquan/RqWxD6tQabI/AAAAAAAAAXk/zsgVAnH36-k/s288/n11-IMG_0044.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Back to the desk, back to work for a little while.  Still sleepy, and my knee hurt.  After some time at this, I went to the pharmacy nearby.  Now, if you have time, you might look at the route Google Maps gives to get from Google to the Walgreens.  I ask you, how could I have taken a wrong turn?&lt;/p&gt;&lt;p&gt;&lt;a href="http://maps.google.com/maps?f=d&amp;amp;hl=en&amp;geocode=9430998064533961443,37.403936,-122.096970&amp;amp;saddr=1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043+%28Google%29&amp;daddr=112+N+Rengstorff+Ave,+Mountain+View,+CA+94043+%28Walgreens%29&amp;amp;sll=37.41393,-122.090945&amp;sspn=0.03395,0.058365&amp;amp;amp;ie=UTF8&amp;z=14&amp;amp;om=1"&gt;http://maps.google.com/maps?f=d&amp;amp;hl=en&amp;geocode=9430998064533961443,37.403936,-122.096970&amp;amp;saddr=1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043+(Google)&amp;daddr=112+N+Rengstorff+Ave,+Mountain+View,+CA+94043+(Walgreens)&amp;amp;sll=37.41393,-122.090945&amp;sspn=0.03395,0.058365&amp;amp;amp;ie=UTF8&amp;z=14&amp;amp;om=1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Nevertheless, I did, but it was easily rectified.  I spent a little bit of time talking with the pharmacist about my sleeping problems, and got what I think is pretty good advice.  (I'll still need to order a PSG, but this should help deal with the issue temporarily.)  I also picked up another reusable icepack with a knee strap, so I can have one at work and another at home.  Finally, I got a couple of chemical (instant) icepacks and an Ace bandage, so I can apply an icepack if I need to when I don't have one frozen.&lt;/p&gt;&lt;p&gt;As I went to Google (about 16:00), I saw that the sky had suddenly gotten overcast.  When I got back, Karl pointed it out, saying, "Is this still California?"&lt;/p&gt;&lt;p&gt;The overcast skies didn't keep people from enjoying themselves outdoors, though.  Volleyballers played volleyball, jugglers juggled, dancers danced.  The dancers were what originally caught my eye— or rather, the music caught my ear.  Bongos and guitar can do that.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13322352-6388712788366656813?l=www.piquan.org%2Fblog' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/piquan/blog/~4/7dORypymYJ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/6388712788366656813/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=13322352&amp;postID=6388712788366656813" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6388712788366656813" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13322352/posts/default/6388712788366656813" /><link rel="alternate" type="text/html" href="http://feeds.piquan.org/~r/piquan/blog/~3/7dORypymYJ0/noogler-day-11-work-and-play-at-google.html" title="Noogler, Day 11: Work and Play at Google" /><author><name>Piquan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01425812368833228389" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.piquan.org/blog/2007/07/noogler-day-11-work-and-play-at-google.html</feedburner:origLink></entry></feed>
