tag:blogger.com,1999:blog-78139690186948683742009-06-16T10:56:00.971-07:00HexagrammaticBill Dimmick's Site of the Seemingly RandomBill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-7813969018694868374.post-14173614550272840052009-04-19T10:55:00.000-07:002009-04-19T11:10:47.899-07:00Desktop Magic: The Art of David LanhamThere are two challenges I face when getting a new computer: what to "name" it<sup>*</sup> and how to make it as artistically appealing as possible. This always means scouring different sites for a fair deal of different desktop backgrounds and trying them on, much in the same way you'd try on an outfit at a shop before buying it.<br /><br />Someone or something had pointed me to the art of <a href="http://dlanham.com/art/shakeylove/">David Lanham</a> a few years back and I had, in order, downloaded a coupe of his backgrounds and promptly forgotten his name, much to my disappointment. Last week, in my usual "make-computer-look-good-easy-to-use" quest, I found him again - tell me you can't love these:<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dlanham.com/art/shakeylove/preview.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 539px; height: 381px;" src="http://dlanham.com/art/shakeylove/preview.png" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dlanham.com/art/blobattack/preview.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 539px; height: 381px;" src="http://dlanham.com/art/blobattack/preview.jpg" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dlanham.com/art/bca/preview.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 539px; height: 381px;" src="http://dlanham.com/art/bca/preview.png" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dlanham.com/art/harold/preview.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 539px; height: 381px;" src="http://dlanham.com/art/harold/preview.jpg" alt="" border="0" /></a><br />Between the scary, the surreal, and the sublime, he has it all wrapped up - desktops and icons that keep me subtly stimulated while I'm doing the mundane computational tasks that take up my day-to-day.<br /><br />*: Jury is still out on the Macbook host name - my past machines have been named, in order: <code>ark</code>, <code>axalon</code>, <code>bismarck</code>, <code>eldridge</code>, <code>zion</code>, <code>puck</code>, and <code>deck</code>. All of these are <span style="font-style: italic;">very</span> masculine names and I'm considering diverging from that convention in the same manner I diverged from Linux and Windows this time around.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-1417361455027284005?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com1tag:blogger.com,1999:blog-7813969018694868374.post-45512088855496440792009-04-16T20:31:00.000-07:002009-04-16T21:23:05.127-07:00Quarterly Update<span style="font-style: italic;">Gadget Update: Kindle</span><br /><br />Last month, I took the plunge and bought a <a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI">Kindle</a>. I had held one at the office about six months before we released it, noticing all of the features that I had originally hated were fixed: faster page load, thinner form factor, and a slipcover integration built into the body.<br /><br />It's nice, and not in a normal way. I've ready two different novels on it: <i>Diamond Age</i> and <i>The Second Book of the Tao</i>, with both being easy to read and, as far as my eyes are concerned, the same as paper. However, it's lighter and less bulky than carrying all of my books around with me and lets me read something that meets my mood.<br /><br />The best feature, though, is the cost of magazines. I currently get the New Yorker and Reason, both of which cost me about fifty to seventy-five percent less than the print versions and I don't have to recycle the magazines when they're done.<br /><br />In short, I'm glad I bought it.<br /><br /><span style="font-style: italic;">Gadget Update: Macbook Pro</span><br /><br />On 4/1/2009 I made two updates to my <a href="http://twitter.com/bdimmick">Twitter feed</a>:<br />bdimmick: is quitting the Internet.<br />bdimmick: has decided to not quit internet. Bought MacBook Pro instead.<br /><br />The first is a joke, the second was a joke on myself - I have never owned a Mac for more than five minutes. A few years back, a Mac Mini made it into my home and immediately had Ubuntu installed on it, which doesn't count. So, spending three grand for a machine that I had never used seemed like a stretch, right?<br /><br />A lot of my coworkers and friends thought so, too. Some strange stares, some puzzled looks, and the only sympathy received was from current Mac owners. "It will change your life," someone told me.<br /><br />It has. This is probably the best laptop I have ever owned, with the second place going to my ever-dependable IBM Thinkpad, which have not been the same since Lenovo took over the operation a few years back. <br /><br />The Mac just works. That's the party line, right? The hardware is well-designed, the OS built for that hardware, and that tight coupling makes for a great user experience. For me, it's the little things - the base of the keyboard has an area that my wrists naturally rest, the touchpad sensitive enough to make it usable, and a backlit keyboard that makes it easy to use in the dimly-lit coffee shops and bars of Seattle.<br /><br />Performance-wise, it's also a dream. The graphics are strong enough to run Second Life or any other 3d application, the memory enough to keep Second Life, GarageBand, Eclipse, Firefox, Skype, iChat, and Twitterific all running at the same time. Additionally, the sound quality has a sharpness in no other laptop I've ever owned - today, I had a small chat with a friend on the East Coast over Skype, over the speaker, and the quality is as good as my studio headphones. That's nice.<br /><br /><span style="font-style: italic;">New Project: Merkabah</span><br /><br />I've been working on a new open source project called "merkabah", named after the chariot from Ezekiel. Details are forthcoming, once Amazon clears me to give the clearance to release more code. Cross your fingers, SQS users!<br /><br /><span style="font-style: italic;">Favorite New Tool: RescueTime<br /><span style="font-style: italic;"><span style="font-style: italic;"><span style="font-style: italic;"><span style="font-style: italic;"></span></span></span></span></span><br />If you're looking for a great system to track what you do on your computer, check out <a href="http://www.rescuetime.com">RescueTime</a> - it's a daemon that runs on your desktop, records everything you do, and at the end of the week, sends you a report detailing everything you did over the week. You can also tag things you do and set goals around those tags - such as my goal to send at least an hour a week writing on this blog and ten hours on an open source project.<br /><br />Speaking of which - hour's up! That's all for now - with the new laptop, longer daylight in the summer, and a promise to myself to write more in the coming months, expect more substantiative updates.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-4551208885549644079?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com1tag:blogger.com,1999:blog-7813969018694868374.post-71307883401112526742009-03-30T11:06:00.000-07:002009-03-30T11:11:04.985-07:00Hey, Recession: FU!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_tZ25psr4rj4/SdEK1W2LbNI/AAAAAAAAAF8/G2nGlASFNak/s1600-h/1238430321237.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_tZ25psr4rj4/SdEK1W2LbNI/AAAAAAAAAF8/G2nGlASFNak/s320/1238430321237.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5319044546683432146" /></a><br /><br />A note for all you Seattlists and Portlanders: <A HREF="http://stumptowncoffee.com/">Stumptown Coffee</A> is giving away free cups of coffee every Monday from 9am to 10am. A fresh, french pressed, and delicious way to give the finger to the economica downtown.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-7130788340111252674?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com0tag:blogger.com,1999:blog-7813969018694868374.post-44848041227569085152009-01-21T20:00:00.000-08:002009-01-21T20:00:00.493-08:00Data Structures: Try to Trie(Over the past six months, I've conducted over twenty in-house interviews at Amazon. What follows is the answer to one of the questions I've commonly asked, which is now retired from my list. This makes it imminently boring to non-technical types.)<br /><br /><b>Lead-in:</b><i>Can you tell me the best way to store a dictionary?</i><br /><br />The candidate usually identifies why we want to store the dictionary correctly - to look up words later - and invariably they come to the same conclusion as previous candidates before them: a <a href="http://en.wikipedia.org/wiki/Hashtable">hashtable</a>.<br /><br />At this point, I we talk about the benefits of hashtables - the average lookup time is great. The worst lookup time is horrible, as are the space requirements, which makes a good solution only for certain cases. More conversation is had about different architectures (server, desktop, small machine, mobile, etc) and their differing requirements.<br /><br />Then I drop a twist on them: the dictionary data structure must fit in less memory than the space the dictionary file uses on disk. After a few minutes of staring at me, the candidate's jaw usually begins to slacken.<br /><br />At this point, we talk about <a href="http://en.wikipedia.org/wiki/Trie">trie</a>s, a data structure that is designed to store information about sets of things (sets of letter in the case of words), especially their existence or non-existence. Essentially, it's a tree of nodes, with each node having a map that connects a letter with a child node. In any given node, you can mark it as an 'end of word' (or 'end of word' in the dictionary case) - any search that ends on a marked node should return 'true' for the existence of that word.<br /><br />A trie has properties allow you to take advantage of the fact that most words start with a common <i>prefix</i> (think 'presume', 'pressure', 'present', 'presidential' - they all start with 'pres'.) All of the words with common prefixes get compressed down into one path on the tree, which means you can fit a lot of words in relatively little space.<br /><br /><b>Follow-up</b>: <i>OK, so we know what a trie is - can you code one on the whiteboard?</i><br /><br />I've had varying degrees of success with this question - most people can't code on a whiteboard and it shows when they try. That's a topic for another time- right now, let's concentrate on implementing the trie in Java.<br /><br />Start with the basics - a Trie must be able to do two things - insert a new word and look up the existence of a word. Let's prototype those methods:<br /><br /><pre><br />public class Trie {<br /> public void insert(String data) {<br /> }<br /> public boolean contains(String data) {<br /> return false;<br /> }<br />}<br /></pre><br /><br />So far so, good. Some candidates choose to make Trie and Node a separate class - that's a matter of style the I don't distinguish as different. I choose to implement it in one class because it is easier overall.<br /><br />Let's take part of the description and make it real: "a trie has a map of characters to child nodes" and "has an 'end of word' marker"<br /><br /><pre><br />public class Trie {<br /><br /> private Map<byte,> paths=new HashMap<byte,>();<br /> private boolean isWord=false;<br /><br /> public void insert(String data) {<br /> }<br /> public boolean contains(String data) {<br /> return false;<br /> }<br />}<br /></pre><br /><br />Here, I usually dock the candidate if they don't use byte, don't use a boolean for the marker, and especially if they don't know how to build a map in Java. Generics are optional, but the bonus on this problem requires it and most candidates forget the cast from Object to Trie when they look up nodes later.<br /><br />Next, we have to implement the insert method. This is essentially picking off the first byte, looking up to see if there is a path present, creting one if not, and repeating until we hit the end of the string. Once we're at the end, we set the marker to true.<br /><br /><pre><br /> public class Trie {<br /><br /> private Map<byte,> paths=new HashMap<byte,>();<br /> private boolean isWord=false;<br /><br /> public void insert(String data) {<br /> if (data==null) {<br /> return;<br /> }<br /> byte [] bytes=data.getBytes();<br /> Trie current=this;<br /> for (byte b: bytes) {<br /> if (!current.paths.containsKey(b)) {<br /> Trie next=new Trie();<br /> current.paths.put(b, next);<br /> current=next;<br /> } else {<br /> current=current.paths.get(b);<br /> }<br /> }<br /> current.isWord=true;<br /> }<br /><br /> public boolean contains(String data) {<br /> return false;<br /> }<br /> }<br /> </pre><br /><br />This does what it says - iterate over the bytes and when you get to the end, mark it. Penalties are given for not checking for null and no points are lost if recustion is used instead of iteration. <br /><br />Next, we do lookup:<br /><br /><pre><br /> public class Trie {<br /><br /> private Map<byte,> paths=new HashMap<byte,>();<br /> private boolean isWord=false;<br /><br /> public void insert(String data) {<br /> if (data==null) {<br /> return;<br /> }<br /> byte [] bytes=data.getBytes();<br /> Trie current=this;<br /> for (byte b: bytes) {<br /> if (!current.paths.containsKey(b)) {<br /> Trie next=new Trie();<br /> current.paths.put(b, next);<br /> current=next;<br /> } else {<br /> current=current.paths.get(b);<br /> }<br /> }<br /> current.isWord=true;<br /> }<br /><br /> public boolean contains(String data) {<br /> if (data==null) {<br /> return false;<br /> }<br /> byte [] bytes=data.getBytes();<br /> Trie current=this;<br /> for (byte b: bytes) {<br /> if (!current.paths.containsKey(b)) {<br /> return false;<br /> } else {<br /> current=current.paths.get(b);<br /> }<br /> }<br /> return current.isWord;<br /> }<br /> }<br /> </pre><br /> <br />That's it. One working Trie, usable on strings.<br /><br /><b>Bonus:</b>: <i>Ok, so let's make it work on any arbitrary set of data, such as an array of Integers, but not limited to that. I want a generic Trie.</i><br /><br />This is an exercise left to the reader - needless to say, it's not hard and getting it perfect will give you a Trie that will work for every future use. Post your solution in the comments below!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-4484804122756908515?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com3tag:blogger.com,1999:blog-7813969018694868374.post-9408641949245202692009-01-10T18:34:00.000-08:002009-01-10T19:07:11.719-08:00Thoughts on Service Economies, Economic Depression, and Huiman AwarenessWhen I moved to the Northwest, I made a journey to a place south of Seattle I had only heard about - Fry's Electronics. Reading about it in Coupland's <i>Microserfs</i>, I fell in love with that place and Ikea, and the two became the things I associated with the Northwest - I think I had gone to Fry's twice before I ever went to Pike Place Market or the Space Needle.<br /><br />Every couple of months, I make a trip down there - it's about a 30 minute drive, sometimes longer with traffic - usually with no specific reason, just to see what's on sale and maybe pick up some gear for fun. Today I went in to get a second LCD monitor - I found one I had been looking at for a while and it was 50 bucks cheaper than Amazon's list price. It was a great find and I was very excited - finally, some more real estate for projects at home!<br /><br />Fourty-five minutes later, I walked out of Fry's with no monitor, frustrated and annoyed.<br /><br />In the time since I saw what I wanted, no salesperson approached me. I looked for a stack of the LCD monitor I wanted and found none - this means a salesperson has to get it from the back and bring it to you for purchase. After the first five minutes, I started making eye contact with a few salespeople, some of whom were tied up with other customers.<br /><br />I then started making eye contact and <i>smiling</i>, which also didn't work for the next few minutes, while touching and examining the merchandise to show interest. This didn't work.<br /><br />I finally got a salesperson to acknowledge my presence; she was very nice, smiled, and unfortunately, did not work in that department. She walked over to a salesperson who was busy helping an elderly couple decide on a monitor - she pointed me out, he nodded. And he never got back to me, even after the couple had left.<br /><br />I switched to folding my arms and pacing around slowly, which is a signal of impatience. One salesperson, whose eye I had caught twenty minutes earlier, came over within three feet,. I made eye contact, he avoided me, and adjusted the monitors, checking some numbers. He walked off without even asking if I had been helped.<br /><br />I waited five more minutes and left. I couldn't have given Fry's my money that day - I tried and they failed to take it from me.<br /><br />The point of this isn't to slam this bad service - it's to point out how it could have been better. In a service industry in an economic depression or downturn, sales performers rise to the top and those that do not perform fall to the bottom. It's a simple fact.<br /><br />By being aware of their surroundings and their customers, each salesperson I saw or saw me could have made a ten-minute sale of two-hundred dollars. That's US$20/minute or US$1200/hour if sustained throughout the store - that should pay for the workforce for a 20-person store easily.<br /><br />In downturns, companies that have excellent service outshine the others - if people are spending less in general, you want to be known as a service leader. This means that those that buy from you expect quality and will statistically pick you over an unknown or negatively-viewed competitor.<br /><br />It all starts with the worker - the individual who interacts with the customer.<br /><br />So, how can workers obtain this awareness? Observe behaviors - people who have not made up their minds usually display generally neutral body language. In business, someone who is overly friendly towards someone they don't know often wants something - the only thing I want from a salesperson when I'm friendly is some quick assistance.<br /><br />Similarly, pensive customers are sales lost - those who are going to be leaving your store soon and maybe not coming back. By catching them on their way out, you might be able to at least get them to come back to the store, instead of never coming back at all.<br /><br />The benefit to the worker is enormous as well. Citing a number of sales on a review is going to give you more leverage in getting promoted or a raise. Being able to show how much a department will lack when you leave is a reason to keep you around. And should your reputation as a salesperson get outside your store or to the regional or national management, you may not be working the floors much longer, but training your replacement when you move into management.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-940864194924520269?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com3tag:blogger.com,1999:blog-7813969018694868374.post-46235767939179190692008-12-03T13:00:00.000-08:002009-01-07T19:54:39.122-08:00Google and T-Mobile: Six Weeks with my G1<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_tZ25psr4rj4/STb0HBi3DWI/AAAAAAAAAFg/SBaw1fxtnKk/s1600-h/g1officialnewnew.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 253px;" src="http://4.bp.blogspot.com/_tZ25psr4rj4/STb0HBi3DWI/AAAAAAAAAFg/SBaw1fxtnKk/s320/g1officialnewnew.jpg" alt="" id="BLOGGER_PHOTO_ID_5275672415022026082" border="0" /></a><br />Six weeks ago, I traded in my Verizon Wireless account and my Windows Mobile 5 phone for a <a href="http://www.blogger.com/www.t-mobile.com">T-Mobile</a> account and an HTC G1. This phone, one of the potential competitors with the unstoppable iPhone, comes equipped with the Google Mobile Operating System, known as <a href="http://www.android.com/">Android</a>.<br /><br />Originally, I had planned on writing a one-week review. After a week of use, I had only scratched the surface of use and had not fully integrated the phone into my life and work. Now, after having it for the holidays and spending a significant ammount of time looking into the developer experience of working with the phone, I humbly submit the following review for the reader's delight and consideration.<br /><br /><b>The Hardware</b><br /><br />The hardware was the first thing I noticed in this model: HTC and T-Mobile no slouches in creating a usable phone that I continue to enjoy, despite some small problems.<br /><br />The keyboard is excellent. Bigger than my old, chunky Samsung i735, it has the kinetic feedback that I found lacking from the iPhone - touching a screen is not the same as touching a button and only when we have developed and deployed kinetic-feeback LCDs will they be the same. Buttons are good. Some of the key placements take a while to get used to, but after two weeks, I was texting and typing with very little problems.<br /><br />Also, to reveal the keyboard, you have to slide the screen up in a way that <i>feels natural</i>. On the back, is a curved track that makes the motion intentional without feeling forced.<br /><br />Next is the screen - bright and responsive to the touch. I've been using a screen protector and even with it on, the brightness is clear. Some of the <a href="http://www.youtube.com/">YouTube</a> videos are grainy, but this is a phone and PDA - not a projector. The touch is responsive although it sometimes lags - this may be part of the screen protector.<br /><br />The battery is fair - it runs down quickly when you have all of the bells and whistles turned on, so I spend most of my time just on the 3G network with GPS - no wifi and no bluetooth, unless it's plugged in. However, charging the phone is <i>trivial</i> - it takes a mini-USB plug at the bottom and once you attach the phone to a USB 2.0 prot with power, the phone starts charging. Since I have about six of these cords laying around from old phones, cameras, and other peripherals, finding a charging outlet is as hard as finding a computer.<br /><br />Sound is also fair - the phone itself supports MP3, OGG, AAC, and WMV. With the built-in speaker, the music is great for my one-year old nephew, but not me. With headphones, music becomes vibrant and listenable, with this device replacing my iPod Shuffle and Creative Zen as my music player of choice.<br /><br />Finally, a sore spot in the whole experience - the camera. I have not used an iPhone camera, but the G1 camera has such a large lag time to focus and adjust its internal light meters that I might as well draw the picture myself. Most of the photography I do is spontaneous non-still shots, which makes this phone useless for those quick "whip-it-and-click-it" moments. I am still carrying my SD1000 daily.<br /><br /><b>The User Experience</b><br /><br />The software user experience is very well done - the landing page has a number of slots on them for different application icons that you drag and drop to where you want them. Very well done, and the feedback on moving the icons around feels like you're moving a tiny postage stamp around a page.<br /><br />When notifications come in, they appear on the top bar and you have to drag it down to view them - this includes anything from text messages, emails, to running application status. It's a good way to see what is in your 'inbox' for the phone itself - I can context switch between texts, email, chats, and music with a few clicks.<br /><br />Speaking of email and chats, the integration with Google's services is excellent. I often get emails and gChat messages to the phone before the appear in my browser. Since the keyboard is good, I have fallen back to writing small emails and chats from there, rather than sit at a computer.<br /><br />Some of the UI elements need work in the second revision. Chief among these is the date and time picker, neither of which have the correct roll-over of the date when you go past the end of a month. Instead of going to the next month, it returns to the start of the current month - this could be easily fixed. Also, having to click seven times to move a date ahead a week is very annoying - Windows Mobile is the best interface for this that I've seen so far. They give you an outlook-like calendar and you just select the box one row down from the current date.<br /><br />The stock applications are good for a casual user, but most users want more. The application store is currently all-free and has a lot of great applications - I currently have a bartending application, the Consitution, an SSH client, Facebook, and Twitter, to name a few. (I don't expect the number of apps to reach the size of the iTunes store, but I also don't expect it to reach the same level of silliness.)<br /><br />Speaking of apps, let's talk about...<br /><br /><b>The Software Development Kit</b><br /><br />The SDK for applications is a Java variant that uses XML for describing the layout and resources used by the application builder. It's fairly intuitive and has great Eclipse integration.<br /><br />Unfortunately, the APIs are so poorly documented, when you get stuck, you get stuck <i>very hard</i>. Parameters are often abbreviated with no documentation on what they expect as inputs or provide as outputs. You're left with guessing as to what the designered expect.<br /><br />Several books are on the market right now, and I have not had a chance to look into them - I'm willing to bet that having a non-Google written guide would go a long way for getting your development process kickstarted.<br /><br /><b>Conclusions</b><br /><br />It's too early to tell if Android is a winner - it feels very much like a "version one" product and after a refinement period it will have the kinks kicked out - I'm happy for now and glad I made the switch.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-4623576793917919069?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com0tag:blogger.com,1999:blog-7813969018694868374.post-66138984088721427262008-10-02T16:12:00.000-07:002008-10-02T16:36:49.275-07:00It's Complicated: Dating and Social NetworksAt Burning Man, I met someone who has since become "someone special" - we've had some successful dates, enjoy each other's company, and it's generally awesome. I'll spare you all the details, but there's one thing I'm struggling with.<br /><br /> Social networks are great - I've found old friends, new friends, and more readers than if I were not out on things like Facebook, Twitter, Myspace, etc. Two of the three have this "relationship status" that I went to change this week. Let's look at the options:<br /><br /><ul><li><span style="font-style: italic;">Single</span> - you're not seeing anyone or no one long-term enough or intense enough for their feelings to get hurt if you were to see someone else.</li><li><span style="font-style: italic;">Married</span> - you have a house, maybe some kids, and have been through a complicated and over-priced ceremony</li><li><span style="font-style: italic;">Engaged</span> - you're planning an over-priced ceremony and everyone is stressed out<br /></li><li><span style="font-style: italic;">In a relationship</span> - you have a loving partner and it's been that way for some time<br /></li><li><span style="font-style: italic;">In an Open Relationship</span> - you have a loving partner and have <a href="http://jjrowland.com/wigu/20020123.html">relations with other people</a></li><li><span style="font-style: italic;">It's complicated</span> - you don't fit into the above categories.</li></ul>A lot of things go in that last category - from people who just met (like my case) or people who like animals (not my case). So, with great trepidation, I set my relationship status to "complicated" - and got bombarded by people asking what had happened.<br /><br />Either I've been single too long or people have weird expectations of me. To get this out in the air:<br /><ul><li>Yes, she's human</li><li>Yes, she's a she</li><li>No, she isn't married</li><li>No, there isn't more than one of her<br /></li></ul>There we go. It's complicated because there's no better option. Anyone have a better description - like "I'm dating so-and-so"? IS "dating" even something we say anymore? Is it the parlance of our times?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-6613898408872142726?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com1tag:blogger.com,1999:blog-7813969018694868374.post-67374657344076481372008-09-06T07:41:00.000-07:002008-10-02T14:53:41.736-07:00Polvo/Trans Am @ Neumo's: The New Chapel Hill Rock?I was worried - I really was.<br /><br />A couple of months back, I heard about <a href="http://en.wikipedia.org/wiki/Polvo">Polvo</a> reforming for All Tomorrow's Parties, I wondered if their discordant sounds would turn to mush since their hiatus in 1997. Could they keep it together and tight while maintaining their eclectic messy nature that gave them their signature?<br /><br />Apparently, they did, because they're now on tour and passed through Seattle last night with avant guard hard-rockers <a href="http://en.wikipedia.org/wiki/Trans_Am_%28band%29">Trans Am</a> - and let me tell you, it was alright.<br /><br />And it was tight.<br /><br /><span style="font-weight: bold;">When Hipsters (Don't) Attack</span><br /><br /><span style="font-size:100%;">Entering <a href="http://www.neumos.com/">Neumo's</a> on what I thought was the last part of Trans Am's set, I was immediately reminded of the <a href="http://www.catscradle.com/">Cat's Cradle</a>, which is the highest compliment someone from Chapel Hill can give another venue. When I first moved to Seattle, I went to Neumo's to check out some of my favorites and was surprised to find it more scene than substance - hipsters crowding the small room so they could tell their friends about how awesome the show last night was.</span><br /><span style="font-size:100%;"><br />I don't know if it was because the members of the bands are older than the average age in Capitol HIll or if it's some Southeast Rock Magic<sup>tm</sup>, but there was definite vibe to rock out here - no poseurdom or pretense in the people I talked to. Refreshing!</span><br /><span style="font-size:100%;"><br /><span style="font-weight: bold;">Trans Am!</span></span><span style="font-size:100%;"><br /><br /></span><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3139/2832837434_b0651b1050_m.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3139/2832837434_b0651b1050_m.jpg" alt="" border="0" /></a><span style="font-size:78%;"><span style="font-style: italic;">Sebastian Thomson of Trans Am</span><br /></span><div style="text-align: left;"><span style="font-size:100%;">Since Nathan Means was thanking the crowd for coming out, having a good time, and being awesome, I thought it was the last song of Trans Am's set - and then they played seven more songs. And thanked the crowd between each one - classy guys.<br /><br />Trans Am is always a high-energy show - Thomson on the skins hits hard and fast, with the bass lines backing a steadiness that is normally found in the drums. Meanwhile, the drums are all over the place, as if someone had put Animal in a New Wave band. They played about six more songs, including some new stuff, and...<br /><br />...then...<br /><br /><span style="font-weight: bold;">Polvo</span></span><span style="font-size:100%;"><br /><br />What can I say? Growing up in <a href="http://en.wikipedia.org/wiki/Chapel_Hill,_North_Carolina">Chapel Hill</a> at the height of the indie rock scene there was golden groove about the music that has never been duplicated anywhere else I have ever lived. Polvo, as a precursor and progenitor to today's math rock, has steady rhythms and vibe based around discordant guitars and a wandering bass line, with the drums providing punctuation to the rambling dialogue.<br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3153/2832837448_e82a98dea4.jpg?v=0"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3153/2832837448_e82a98dea4.jpg?v=0" alt="" border="0" /></a><br />They did not disappoint - although the bad hasn't played a tour in ten years, the music sounded exactly as it did in 1994 and the stage presence was heady and real. Appropriately standoffish and absorbed in the music, the crowd ate it up, digested it, and spat it out as a head-bobbing mass of subliminal understanding.<br /><br />They played one new song, which means I'm keen on seeing what's next for the band - a new album? Single? A line of specialty post-grunge math rock breakfast cereals? Bring it on!<br /><span style="font-size:100%;"><br /></span></div></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-6737465734407648137?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com1tag:blogger.com,1999:blog-7813969018694868374.post-77622601657488236052008-09-04T19:30:00.000-07:002008-09-04T20:18:54.956-07:00Burning Man 2008Earlier this week, I returned from Burning Man- dusty, sunburned, dehydrated, and smiling wryly. Originally, I had planned on writing up a long-form summary of everything that happened. When I hit five pages, I decided to back off and bullet-point this sucker. Here goes:<br /><br /><ul><li><span style="font-weight: bold;">Sunday</span>, Derek and I drove from Seattle to Klamath Falls. On our way, we are the third car waiting behind a head on collision on OR-58, which would claim the lives of two women involved. For me, Burning Man isn't just about Black Rock City, but the journey as well - and this would be the start of a bittersweet jouney for me.</li><li><span style="font-weight: bold;">Monday</span>, we arrive in Black Rock, make it through the ticket-takers gate, only to wait white-out conditions for <span style="font-style: italic;">five hours</span>. After the second hour, people (including me) started to get out of their vehicles and we were wandering around and drinking warm beer in the storm. <br /></li><li>They close down the city and then let in anyone past the gates. We make it to Entheon Village, check in, and am told to "camp across the street" - where there is no room. I check with a few people, no one really knows what is going on, so I find a place to camp where I can walk to Entheon.</li><li>By <span style="font-weight: bold;">Tuesday</span>, everything has calmed down, so I check into Entheon again. There's no shower, no bathrooms, and they're only half-staffed for their shifts. However, no one I talk to is actually in charge of <span style="font-style: italic;">anything</span> and doesn't know anyone who should be in charge. This would be repeated throughout the week and the theme of camp is turned from spirituality to <span style="font-style: italic;">disorganization</span>.</li><li>Also, on Tuesday, I'm biking around, getting a lay of the land, and I run into Tan^2, a camp from Seattle and Austin made up of some Microsoft, Sun, and miscellaneous technical types.<br /></li><li>Wes and Adam show up, and to my surprise, manage to find me amongst the throngs of burners. They also comment on how disorganized Entheon is and how they don't know what is going on.</li><li><span style="font-weight: bold;"><span style="font-weight: bold;">Wednesday</span></span> is my work shift in Entheon and I start to see why they are disorganized - they have some really good people managing the kitchen,but everyone who is helping is a little too slow and not self-motivated enough to get the work done. It's as if they're trying to be cooler than each other and not displaying enough radical self-reliance and motivation in getting food prepared for 600 people. I work for three hours on various tasks, and the managing crew comment on "how good you are" - and I thought I was being slow...</li><li>After lunch, I head out for PAT - Playa Art Time - and explore the different structures.</li><li>Later that night, one of the fine friends from Tan^2 and I head out and do more Playa art - just her and I. She had heard about my time with Entheon and took pity on me and decided I needed time away from the hippies before there was blood on the Playa. We ended up having a lot of great conversations and she took me to places and introduced me to people that renewed me and brought me back into focus.</li><li><span style="font-weight: bold;">Thursday</span> technicaly started late, since I was out until dawn. This was going to be my "class day", where I got to different lectures at different camps. Instead, it ended up being drunkenly-wander-in-the-sun day, so I met a lot of people at bars and camps,including one man who did perfect voices for <a href="http://en.wikipedia.org/wiki/Monarch_henchmen#.2321">21</a> and <a href="http://en.wikipedia.org/wiki/Monarch_henchmen#.2324">24</a></li><li><span style="font-weight: bold;">Friday</span>, we finally met our neighbors, Marcella and Kevin, who would end of being extremely awesome the rest of the weekend. We sat around that afternoon thinking of art project for next year, including the "Cockmobile" - a fried chicken truck that ran on biodeisel that was refined from the chicken we fried. They would also be excellent hosts they had an RV and on...<br /></li><li><span style="font-weight: bold;">...Saturday</span> it was hot and a dust storm hit about 2PM that lasted well through the night. At 8PM it let up and the decided to go forward with Burning the Man. It felt a little hurried - no parades and no fuss.</li><li><span style="font-weight: bold;">Sunday</span>, Adam and I drove back north and made it as far as Eugene before we called it a night. Ate BBQ at a place that was closing the next day and got out first real showers in a week.</li></ul>This year was a little bittersweet for me - I don't know if it was the disorganization of Entheon, the wreck on the way in, or if I was spoiled from the awesome time I had in 2007, but something felt <span style="font-style: italic;">off</span> - I was having a good time and it wasn't <span style="font-style: italic;">mind-blowing</span>. <br /><br />Something about this year told me that the burn is more than just being there - it's about carrying an idea forward, to be creative and wonderful no matter the environment. If you aren't doing that, then you're just a spectator, someone who is trying to be cool for just one moment - and probably trying too hard, too much, and that's just too bad.<br /><br />Peace.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-7762260165748823605?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com1tag:blogger.com,1999:blog-7813969018694868374.post-3116800444316990602008-07-17T21:39:00.000-07:002008-09-04T19:30:12.501-07:00Climbing: From 5.9 to 5.11<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2335/1700149013_05ffda2eb5.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://farm3.static.flickr.com/2335/1700149013_05ffda2eb5.jpg" alt="" border="0" /></a><br /><br /><br />When the sport of climbing was young, the Yosemite Decimal System was formed - a way to grade routes for difficulty and also give a way for the various climbers to rank themselves amongst each other. Originally, the system only went at high as 5.10, which was considered the pinnacle of human success a the time - with the invention of better gear and technique, the climbs have been extended to route all the way up to the insane 5.15s.<br /><br />Recently, I've been climbing 5.10's.<br /><br />Beginners to the sport see the 5.7s and sometimes have a hard time getting beyond that - "You want me to hang freely and scramble up fifty feet? Insane!" 5.7s are the basics of rock climbing- large handholds and big rests that allow your arms to get over what you just put them through.<br /><br />That was me a year ago, when I got back into climbing - a novice at best and a bumbling gumby, flailing all over the routes. It seemed so easy, long ago, when I was younger - old bones and the sedentary life of the desk jockey atrophied my skills and led me down a path of complacency in physical fitness. Besides doing Seattle Night and Day, I decided (for various reasons) to make climbing a major part of my life - as much as my development in software, at least.<br /><br />I'm not a fan of heights and definitely not a fan of trusting people I've just met - that made belaying hard and a few early falls led me to another climbing-related sport: bouldering.<br /><br />Bouldering can be summed up in these few words:<span style="font-style: italic;"> no rope and twenty-foot drops</span>. Essentially, you're going to climb up this route without the safety of a rope and, should you make it high enough, you'll have a large drop from the top if you can't make the last move. It was, in short, <span style="font-style: italic;">awesome</span>.<br /><br />I started doing the regular routes and trying half of them - the first thing I conquered was my fear of heights. As I moved up in rank of route, I discovered that my trust of others depended on my fear of heights. With that gone, I found that I could do whatever route I was physically capible of doing - and that was a lot more than I thought. My body was sore, but I had just finished that V4!<br /><br />Then, as the positive thoughts resonated through me, I discovered that they fueled me - the more positive thoughts I had, the better my climbing ability. This is when I discovered books like <a href="http://www.amazon.com/o/ASIN/0974011215">The Rock Warrior's Way</a> and other mental training books. My mind, the greatest tool I've had during my entire life on this ball of dirt, was also my greatest hinderance!<br /><br />Overcoming that is an ongoing story, one which I will chronicle here and finish after I've moved on from this life.<br /><br />However, in the here and now, my climbing continues. I've recently returned to sport climbing and discovered my abilities enhanced - my first day back on roped climbing, I was comfortable with doing most roped climbs with a ride variety of belayers - and that my range of skill had increased. I'm no longer content to do a simple 5.8 or most 5.9s, instead I push myself to move to higher and higher grades, no matter the muscle aches and the self-doubt - becauase I know I can do it.<br /><br />And those holds that are just beyond my reach? Those that I can't get to immediately or will never get to without a dangerous move?<br /><br />I jump. I jump hard.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-311680044431699060?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com2tag:blogger.com,1999:blog-7813969018694868374.post-56184918804853322822008-06-29T19:25:00.000-07:002008-06-29T20:21:42.653-07:00Idea Jamming: Distributed and Tagged Filesystem on the CheapAs an engineer who is a big proponent of quick and cheap computing solutions that scale from personal to enterprise, I'm always looking for ways to do things that involve spending less coin that won't tip over when I push them too hard. <a href="http://www.blogger.com/">Blogger</a> powers this site and I use <a href="http://aws.amazon.com/s3">S3</a> and <a href="http://www.blogger.com/%3Eaws.amazon.com/ec2">EC2</a> for long-term storage and temporary compute cycles, respectively.<br /><br />Recently, faced with the problem of long-term storage of data I realized how disorganized all the files I had spread over several different machines - desktops, local servers, and remote servers all being part of my personal network. And while I'm working on trimming the fat from my collections of data, there was still a large organizational problem staring me right in the face.<br /><br />After a couple of weeks of poking around for ideas to solve this, a cheap and easy solution came to mind - couple S3's distributed long-term storage with <a href="http://del.icio.us/">del.icio.us</a>'s tagging system for URLs - organization of stored data for long-term storage.<br /><br /><span style="font-weight: bold; font-style: italic;">Long-term Storage and Tagging<br /><span style="font-style: italic;"><span style="font-weight: bold;"></span></span></span><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><br /></span></span></span></span>The idea is simple - create a coupler that allows a user to perform the following operations, given <span style="font-style: italic;">a file</span> and <span style="font-style: italic;">a set of tags</span>:<br /><ol><li>Authenticate to S3 and store the file, returning the URL</li><li>Associate the S3 URL (sans authentication data) with the tags in del.icio.us</li></ol>Now that the <span style="font-style: italic;">file is stored</span>, it needs to be locatable by tag. To do this, we create another method for searching for the file by tag - this just is a basic del.icio.us pass-through to get the URLs associated with the tag. Finally, for completeness, we can also provide a method to retrieve a file.<br /><br />In Ruby, the API looks like this:<br /><pre>class S3Tagger<br /><br />#Store a file with some tags<br />def store(file, tags)<br />end<br /><br />#Returns a collection of file names<br />def search(tag)<br />end<br /><br />#Retrieve a file by name<br />def retrieve(file)<br />end<br />end<br /></pre><span style="font-weight: bold;">del.icio.us and Privacy</span><br />Unfortunately, everything you put in del.icio.us is extremely open. If you're backing up your financial documents or some other information that is personal, then you may not want to have complete strangers checking through your tags labeled "love letters". It just seems like that would be a Bad Thing<sup>TM</sup>.<br /><span class="a"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><br /></span></span></span></span><span><span><span><span>Instead of putting those pesky clear-text tags into del.icio.us, how about performing a one-way operation that only you can theoretically undo?<br /><br />In the storage operation, let's perform an <a href="http://en.wikipedia.org/wiki/HMAC">HMAC</a> operation on the tag to be used - this will create something that is a little less obvious and a little harder to crack than the original. For the seed of the HMAC, either the Amazon AWS Secret Key or the del.icio.us password can be used.<br /><br />Doing this will take our "love letters" tag and transform it into something less useful: "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c" - hard to crack that one!<br /><br />Unfortunately, this also means we need to do the same operation when we search - redoing the HMAC before the search so that we get the right results.<br /><br />Also, this doesn't change the meaning of the file names in your S3 storage - even though you've obscured the tags, you may still need to obscure the filenames and encrypt the data to get 100% privacy. (This will be a topic of an upcoming Idea Jam!)<br /><br /><span style="font-weight: bold;">And Now?</span><br /><br />I can see this as being a good start for developing a long-term storage and tagging solution for the masses - get yourself organized and your storage redundant. To be truly successful, it needs a usable frontend and some additional optional caching so power users don't tip over del.icio.us. More to come on this!<br /></span></span></span></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-5618491880485332282?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com0tag:blogger.com,1999:blog-7813969018694868374.post-27888280252944606422008-06-29T13:40:00.000-07:002008-07-02T10:26:45.470-07:00Long Time, Many Things<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3208/2611705505_1442fc9cf7.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://farm4.static.flickr.com/3208/2611705505_1442fc9cf7.jpg" alt="" border="0" /></a><span style="font-size:78%;">El Perro Barracho</span><br /></div><br />Just a quick update on the past month before writing anything substantial - a lot's been going on!<br /><br />Three weeks ago, I had <span style="font-weight: bold;">four teeth pulled from my head</span> - my wisdom teeth. The recovery process is ongoing, although it's mostly behind me. Kudos to Matt and Samvid for taking care of me on "my special day".<br /><br />While I was infirmed, my project was to build a new computer - a quad-core Intel (Yorkfield Q9300) with a graphics card that cost almost as much as the processor (9600GT overclocked). It worked great for two weeks and then <span style="font-weight: bold;">the entire system collapsed into a sigularity</span> and ate the graphics card. While it currently boots, the POST screen uses a Dali-esque character set and the windows screen is so interlaced that it is completely useless.<br /><br />Before the oral surgery, I had the opportunity to participate in <span style="font-weight: bold;">Amazon's Internal Idea Conference</span> - a yearly meeting of about one-hundred idea-oriented individuals to tease out how to make the lives of our customersand developers better than any other company's on the planet. While we can't tell you the contents and outcomes of the conference, there is one thing to note - we're going to be building a lot of great things in the coming year.<br /><br />Meanwhile, on the personal front, my focus has changed from the usual pure computer science pursuits to a few side projects. For the next six months, I'm going to be writing more about <span style="font-weight: bold;">socializing the engineering profession</span> and <span style="font-weight: bold;">privacy concerns</span>. Both have come up in a profession and individual capacity in the past three months and there are a lot of ideas that are open for discussion. Watch this space!<br /><br />That's all, folks!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-2788828025294460642?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com0tag:blogger.com,1999:blog-7813969018694868374.post-66757025878726488572008-05-21T18:46:00.000-07:002008-05-21T19:30:52.628-07:00DeathwishThis morning's accident has made me think long and hard about how I view death and injury. Basically, I could have been killed or maimed and it didn't bother me at all - and that <i>bothered me a lot</i>.<br /><br />I've been in several amazingly spectacular and somewhat stupefying accidents in my life, including:<br /><ul><li>Getting hit by a truck while biking in Seattle</li><li>Being in a rockslide at Vantage gorge and nearly falling 100ft</li><li>Close-up encounters with <i>two</i> rattlesnakes at Vantage</li><li>Doing an end-o off a 20ft tall cliff while mountain biking</li></ul>These are all within the past five years, and in every single one of them, my brain seemed to shut off and accept what was happening as fact and deal with it accordingly. Maybe all that time in a Taoist temple was good for me - the tiger's claw find no purchase. Or maybe it's just stupid luck.<br /><br />Whichever it is, Peter Vosshall might be right: maybe I do have a deathwish.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-6675702587872648857?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com2tag:blogger.com,1999:blog-7813969018694868374.post-5859959524056527402008-05-21T09:41:00.001-07:002008-05-21T10:13:26.888-07:00An Intersection of Biker and TruckThere are a lot of great firsts - first kisses, first loves, first jobs, first cars. Today was my first time getting hit by a vehicle while biking to work.<br /><br />I was coming down 12th, near Seattle University, when a utility truck decided to take a right turn - right into me. The truck had slowed to turn, but I didn't see a blinker and considering he had been driving slowly, I thought he might have been lost or just taking his time. A split-second of thinking and I decided to move on through.<br /><br />As soon as I was parallel with his rear wheel, he turned and my pedal caught on his upper fender and I went flying roughly fifteen feet into the crosswalk. Landing on my right side and then rolling onto my back, I eventually slid to a stop. Thankfully, no one decided to run me over while I was lying there in the middle of the road.<br /><br />It wasn't until after I sat up did the driver got out of the truck. Two other witnesses had stopped and come over to make sure I was alright. The driver's first sentence was "Do you want me to call and ambulance?"<br /><br />His second sentence was, "Why didn't you see me turning?"<br /><br />After about three minutes of kneeling there and him continuously alternating between asking if I was alright and telling me to be more careful, I lost what little cool I had left. I stood up and looked him right in the eye and raised my voice, somewhere between yelling and loud talking. He needed to know that hitting someone with a vehicle and then telling them to be more careful was not the way to handle the situation.<br /><br />Making sure to use non-violent body language, by keeping my palms up and not pointing at his face when I made my points, I let him subconsciously know that I wasn't attacking him. Just mad. He felt awful about hitting me and was trying to transfer that guilt by blaming me, which is something natural to do. It just wasn't the right time to do it.<br /><br />After about two minutes of my diatribe, I cooled down. He asked again about the ambulance and I shook my head. I just wanted to make sure my bike was alright and get on with my day. My right side was scraped, but not bloody. I was happy to be alive, really.<br /><br />The two witnesses left and the driver started walking to the truck. I don't know if I knew exactly what he was thinking, but I didn't want to leave things in a poor state between us. He was going to remember this the rest of his day, maybe the rest of his life, and I didn't want it to be completely framed in a bad light. I hobbled up to him.<br /><br />"Thanks for checking on me and letting me yell at you. I'm going to be alright and we're going to be alright."<br /><br />He smiled and we shook hands.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-585995952405652740?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com3tag:blogger.com,1999:blog-7813969018694868374.post-8600555819736140652008-05-20T21:37:00.000-07:002008-05-20T22:42:27.816-07:00Field Notes for 5/13 to 5/20<ul><li>Saw the <a href="http://www.cirquedusoleil.com/CirqueDuSoleil/en/showstickets/corteo/intro/intro.htm">Cirque du Soleil: Corteo</a> last week in Redmond. It's interesting and engaging, although not as impressive as the made-for-Vegas shows.</li><li>Salsa dancing - many people can't believe I'm doing it. People used to think the world was flat, too.<br /></li><li>I recently decided I looked too much like my father, so I had my hair cut short and shaved off my mustache. In small-talk with a woman at the gym, she asked what I did - and coolly replied that I was "...the King of the <a href="http://en.wikipedia.org/wiki/Amish">Amish</a>."</li><li>Summer weather in Seattle means a return to biking and climbing, near full-time in the evenings.</li><li>Out of town this weekend to an undisclosed location for excitement and relaxation.<br /></li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-860055581973614065?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com0tag:blogger.com,1999:blog-7813969018694868374.post-35232138046497159822008-05-11T17:23:00.000-07:002008-05-11T17:23:01.500-07:00Whiskey: 30 Year LagavulinThere's nothing quite like a good whiskey - a complex brown liquor that is smooth enough to not be harsh, but bold enough that you can't drink it in one gulp. It's a drink to be enjoyed with good friends and cause for celebration.<br /><br />Earlier this weekend,I walked down the hill to <a href="http://zigzagseattle.com/">Zig Zag</a> and met with <a href="http://beautifulstrange.blogspot.com/">Samvid Dwarakanath</a> to catch up and celebrate success in business. The drink list at Zig Zag is divided into two categories - "normal" and "captain's". I had never heard ot the distinction, but by looking at the prices, I knew the score - the captain's list was for those looking for premium drinks.<br /><br />With all the buzz it's been generating, I first had to try the infamous <a href="http://www.suntory.com/yamazaki/main.html">Suntory Yamazaki Whiskey</a>. With a sweet start and a roasted rice-like finish, it's delicious and worth all the hype but felt like more of a "starter drink" for a celebration of ten weeks of toil.<br /><br /> So, after having been at a Johnny Walker Master of Whiskey seminar last week, I was in the mind to try something I knew to be very good. I had sampled the Lagavulin 12yr, which I loved,although Master of Whiskey present (Ari Shapiro), expressed that it wasn't his favorite. For me it was a delicous peaty spirit with just enough smoky punch in the aftertaste.<br /><br />ZigZag raised the bar on me - on the captain's list was the <a href="http://www.fineexpressions.co.uk/special_releases_2006.htm">Lagavulin 30yr</a> - a pour that is older than I am. I had to try it, no matter the cost. I was in the mood to treat myself for a job well done and I knew I would regret it if I passed up the opportunity.<br /><br />When ordered, the waitress went back, put the order in with the bar and immediately came back to make sure I knew what I was ordering - just to be sure there would be no sticker shock when we got the check.<br /><br />Not only was the taste much more refined than the Suntory, but it was, in my opinion, a much "manlier" whiskey - stout, strong, bold, and smooth. Every sip was a pleasure. Well worth the wait.<br /><br /> As I enjoyed it, one of the bartenders came up and congratulated me on selecting a good choice and later he would come up with some finishing bourbon for dessert - a fine addition and definitely a mark of the Zig Zag staff's knowledge of taste and how to treat guests.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-3523213804649715982?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com2tag:blogger.com,1999:blog-7813969018694868374.post-28640598554770606662008-05-08T10:35:00.000-07:002008-05-11T16:16:58.827-07:00Happy ReturnsA little under a year ago, I decided to do more journalism, through the writing and photography in which I was already engaged - and I wrote one published entry and two unpublished ones. My time had been superseded by Real World® work and writing seemed like a secondary excursion that I couldn't afford.<br /><br />Over the past year, if I've learned one thing, it's that communication and networking are key. Not only for my profession, as fraught as it is with social malcontents, but for all professions. It's not just about how you can say something or who you know, but a magical combination of both. Part of the Modern style of this skill is putting your presence online.<br /><br />Also, I've missed writing quite a bit. Once upon a time, I had a <a href="http://www.livejournal.com/">LiveJournal</a> account, but it was abandoned sometime after I moved to Seattle. <a href="http://www.facebook.com/">Facebook</a> and <a href="http://www.linkedin.com/">LinkedIn</a> great for keeping in touch with people both personally and professionally, but it's not a composition medium. The same for <a href="http://www.twitter.com/">Twitter</a> - I love it, but it's not for long-form messages.<br /><br />So, here I find myself, back on Blogger with my own domain name, including the .net and .org variants. One year older and wiser, extremely interested in writing about development, software architecture, photography, music, culture, and politics.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-2864059855477060666?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com0tag:blogger.com,1999:blog-7813969018694868374.post-6052716778849692782007-07-22T22:02:00.000-07:002007-07-23T08:46:23.869-07:00Seattle Roads by NightThis weekend, I did something foolish - on Friday I hit <a href="http://www.recycledcycles.com/">Recycled Cycles</a> and picked up a very old Schwinn road bike (complete with 80's steel frame) and the appropriate accessories to ride safe. My target? The <a href="http://www.nightanddaychallenge.com/">Seattle Night and Day Challenge</a> 16-hour Mixed Bike category, with my road wingman <a href="http://blog.gorgorg.org/">Laurel</a>.<br /><br /> It had been over three years since my mountain bike had been stolen - and at least 18 months since I had gone on some casual road rides with Shay out to Maple View Farms. And the hills in North Carolina's Peidmont are rolling at best, nothing compared to the up-and-down hills of King County. Needless to say, I wasn't really prepared - but it's something I really wanted to do. 16 hours on a bike, from 4PM to 8AM, visiting different points around the Seattle metro area.<br /><br /> We went to Greenlake Park, and at 2:30PM, we were issued maps and told to plot out our intended course - in case we got lost and didn't report back in. Laurel and I divided the city into quadrants and she plotted out the courses we would take to get from point to point. 4PM, we were off.<br /><br /> The next seven hours are a blur of park-to-park biking, with unusual highlights splashed in: nearly getting run over by a hearse; getting beat by a footrunner from point to point because the streets are slower; losing fourty-five minutes of trying to fix the wheel on my bike; a lonely old woman washing her dishes; the stares of homelss as we intruded on the parks they call home; and the hills - the weakest part of my bike skills is my lack of hill handling.<br /><br /> At 10PM, we decided to take a nap and pick up some checkpoints in the morning. We stopped for a few more on the way back to my place - and when we got there at midnight I did laundry and we took a five hour nap. I didn't sleep a wink - I don't know why.<br /><br /> At 5AM, three alarms went off in my apartment, just as I was falling asleep - Laurel and I talked and we agreed that since we were in such a small class (2 mixed teams for the 16-hour category) that we'd sleep for another hour and then hit head back to Greenlake for the 8AM check-in. We arrived at 7:33 and turned our answer sheet in for scoring.<br /><br /> And hour later, the winners were announced, and we had won first place - I really couldn't believe it. Our competition had checked in at 2AM and stopped there - about the same time we stopped. Because we had hit the last few points on the way back to my place, we had won by a single checkpoint.<br /><br /> Riding home, I thought about how much I used to enjoy biking - heart-pumping, saddle-sore, muscle-aching biking. Over the next year, I'm going to get back on the road and get ready for next year.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7813969018694868374-605271677884969278?l=www.billdimmick.com'/></div>Bill Dimmickhttp://www.blogger.com/profile/13346902061011648063noreply@blogger.com1