<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/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:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9841395</id><updated>2011-11-27T17:48:45.597-07:00</updated><category term='Personal'/><category term='C#'/><category term='Tomcat'/><category term='iPhone'/><category term='jRuby'/><category term='SQL'/><category term='Agile'/><category term='Ruby'/><category term='Rails'/><category term='Eclipse'/><category term='Mac'/><category term='Hibernate'/><category term='Cocoa'/><category term='ruby rails'/><category term='Java'/><category term='Apple'/><category term='ObjC'/><category term='Programming'/><title type='text'>Cocoa</title><subtitle type='html'>Chocolaty warm beverages and interesting bits of technology...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default?start-index=101&amp;max-results=100'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>183</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9841395.post-8242917478568883303</id><published>2011-10-26T09:52:00.000-06:00</published><updated>2011-10-26T09:52:07.239-06:00</updated><title type='text'>Moving to Tumblr</title><summary type='text'>I don't like Google anymore.  Well... that's not really true...  Most of their stuff is pretty awesome and I use just about all of it...  Name a service and I probably use it...  But the problem is that all my eggs are in one Google basket and the problem is that I don't like the way they do business.  I don't like being the product they sell to their advertisers. I don't like the fact that all </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8242917478568883303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8242917478568883303&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8242917478568883303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8242917478568883303'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2011/10/moving-to-tumblr.html' title='Moving to Tumblr'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-8646100518619852015</id><published>2010-07-25T14:35:00.000-06:00</published><updated>2010-07-25T14:35:30.284-06:00</updated><title type='text'>Apple's diversion seems to be working...</title><summary type='text'>Ever since Apple's press conference a little over a week ago I've seen a lot fewer fervent iPhone4-hate posts.  Now I don't particularly care for Apple's tactics on the issue (i.e., pointing out everyone else's death-grip antenna problems) but I have to admit that it was pretty darn effective.  I still think Apple has a problem (potentially worse than the other smart phones out there) but they've</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8646100518619852015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8646100518619852015&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8646100518619852015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8646100518619852015'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2010/07/apples-diversion-seems-to-be-working.html' title='Apple&apos;s diversion seems to be working...'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-8988500217621312855</id><published>2010-07-14T23:22:00.000-06:00</published><updated>2010-07-14T23:22:37.457-06:00</updated><title type='text'>How Much of Apple's current problem is AT&amp;T?</title><summary type='text'>People have been bitching about dropped calls and reception issues with the iPhone forever.  Everyone who has an iPhone in the U.S. bitches about AT&amp;T.  So now when the iPhone 4's quality is called into question, I'm guessing a lot of the AT&amp;T hate is being inappropriately applied to Apple.  I'm not saying there isn't a problem with iPhone 4.  I actually have no idea, but I'd be willing to bet </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8988500217621312855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8988500217621312855&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8988500217621312855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8988500217621312855'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2010/07/how-much-of-apples-current-problem-is.html' title='How Much of Apple&apos;s current problem is AT&amp;T?'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-7686531793763789884</id><published>2010-07-12T23:21:00.000-06:00</published><updated>2010-07-12T23:21:09.054-06:00</updated><title type='text'>iPhone 4 Disaster</title><summary type='text'>Regardless of what's really happening with the iPhone 4's antennae, Apple may have a Windows Vista on its hands... a PR nightmare.  I think they can (and will) recover but in the meantime Google is probably preparing its "I'm an Android" ads just in case.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/7686531793763789884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=7686531793763789884&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7686531793763789884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7686531793763789884'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2010/07/iphone-4-disaster.html' title='iPhone 4 Disaster'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-2280838618538512117</id><published>2010-06-15T09:52:00.001-06:00</published><updated>2010-06-15T09:55:05.642-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>At the Intersection of Technology and Liberal Arts</title><summary type='text'>I love this slide from Apple's Steve Jobs.  I wish more people felt as passionately about striking that balance.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/2280838618538512117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=2280838618538512117&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/2280838618538512117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/2280838618538512117'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2010/06/at-intersection-of-technology-and.html' title='At the Intersection of Technology and Liberal Arts'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LMgjeuTg86I/TBehcGQ34cI/AAAAAAAAALs/ZDlOMjsyh8Y/s72-c/apple-creation-0427-rm-eng1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-3591803812714092362</id><published>2010-02-07T07:09:00.011-07:00</published><updated>2010-02-07T07:50:43.704-07:00</updated><title type='text'>YoYos</title><summary type='text'>When I was a kid, one of my favourite toys was a red wooden YoYo, a gift from my father.  I never really did much with it, but was happy to make it go up and down.  Something about the spin and the anti gravitational effect of climbing up the string was mesmerizing.It wasn’t until a few years later when I was in grade five (I think) that YoYo’s made a big splash at my elementary school with the </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/3591803812714092362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=3591803812714092362&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3591803812714092362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3591803812714092362'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2010/02/yoyos.html' title='YoYos'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LMgjeuTg86I/S27J142V6vI/AAAAAAAAAJQ/YeuHvD3tdaM/s72-c/yoyo1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1403803418324171262</id><published>2009-09-27T22:46:00.004-06:00</published><updated>2009-09-27T23:03:13.624-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Mono (C#)... 4 years later</title><summary type='text'>It's been 4 years since I first started looking at C# and in particular Mono.  Since January 2005, I took a course on C#.NET and even worked on a project or two, but I can't seriously claim that I'm a big .NET guy (yet).  I continued to work in Java and a whole lot more with Ruby and Rails (thanks to JRuby).  But just like I said 4 years ago, I'm a pragmatist about these things.  Since Calgary </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1403803418324171262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1403803418324171262&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1403803418324171262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1403803418324171262'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2009/09/mono-c-4-years-later.html' title='Mono (C#)... 4 years later'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-2165074552352386213</id><published>2009-09-22T20:03:00.004-06:00</published><updated>2009-09-22T20:41:40.816-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ObjC'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Cocoa'/><title type='text'>Quicktime X A/V Controls</title><summary type='text'>I've been (very slowly) working my way through Stanford's CS193P iPhone development course available on iTunes U.  iTunes is a pretty good client for watching the lectures.  It keeps track of where you were and if you're like me and your lecture viewing is frequently interrupted (i.e., kids), that can be a pretty useful feature.But one of the things that it won't do is allow you to speed up the </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/2165074552352386213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=2165074552352386213&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/2165074552352386213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/2165074552352386213'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2009/09/quicktime-x-av-controls.html' title='Quicktime X A/V Controls'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-7813578090330064518</id><published>2009-06-05T11:48:00.003-06:00</published><updated>2009-06-05T13:10:13.824-06:00</updated><title type='text'>Put Out to Pasture</title><summary type='text'>I can't help but feel a bit unwanted and put out to pasture...  You see my development group has just been moved out of the building where the majority of our users work.  While it comes as the result of another business unit demanding our office space (they're more important than us), it feels like just another step in what has been a long progression to outsourcing.The HistoryAt some point </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/7813578090330064518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=7813578090330064518&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7813578090330064518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7813578090330064518'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2009/06/put-out-to-pasture.html' title='Put Out to Pasture'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-2671565568801801454</id><published>2009-03-13T06:53:00.003-06:00</published><updated>2009-03-13T07:19:21.104-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby rails'/><title type='text'>So why do you do it?</title><summary type='text'>That was the question a member on my team asked me when I said "even though our team has a bright Ruby and Rails future it doesn't seem like anyone else in Calgary does".  You see he's not a Java developer or a Ruby/Rails developer but rather a data warehousing/ETL expert, and after hearing us rave about all things Rails he thought it might be a good idea to pick it up too.  I didn't want to </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/2671565568801801454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=2671565568801801454&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/2671565568801801454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/2671565568801801454'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2009/03/so-why-do-you-do-it.html' title='So why do you do it?'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-6003999807924423667</id><published>2009-02-11T18:55:00.004-07:00</published><updated>2009-02-11T19:44:11.501-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='jRuby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Ruby on Rails Makes Me Happy</title><summary type='text'>Last year I got to work on my first Enterprise Rails application and although there were some brief moments of coolness, that project was punctuated with a lot of things that just made it suck overall.  In fact, I was doubting that bringing Rails to the enterprise would be a good thing.  There were just to many other things wrong that had nothing to do with the technology.But half a year later </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/6003999807924423667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=6003999807924423667&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6003999807924423667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6003999807924423667'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2009/02/ruby-on-rails-makes-me-happy.html' title='Ruby on Rails Makes Me Happy'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-3812531100162993721</id><published>2008-12-11T18:47:00.003-07:00</published><updated>2008-12-11T21:01:57.478-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='jRuby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>JRuby &amp; Rails 2.2</title><summary type='text'>We just started converting things over to Rails 2.2.2 and I thought I should say that the one feature that really kicks some ass is its thread safety.  JRuby 1.1.5 (very soon to be 1.1.6), which takes advantage of Java's native threads, combined with this latest version of Rails finally makes for a very good deployment story.  Rails' traditional single threaded model, while conceptually nice for </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/3812531100162993721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=3812531100162993721&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3812531100162993721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3812531100162993721'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/12/jruby-rails-22.html' title='JRuby &amp; Rails 2.2'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-846371302595748731</id><published>2008-09-01T11:16:00.002-06:00</published><updated>2008-09-01T11:27:51.869-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Heroku, RubyGems and Git</title><summary type='text'>My daughter and I started a little Ruby on Rails project and I thought it'd be nice to host it somewhere for her to play with.  I have an account on Heroku that I haven't used in months and thought it'd be nice to try it out again.  I signed back in (after resetting my forgotten password) and was impressed to discover that they've integrated Git.  After creating the project and navigating to the </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/846371302595748731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=846371302595748731&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/846371302595748731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/846371302595748731'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/09/heroku-rubygems-and-git.html' title='Heroku, RubyGems and Git'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-5022589491287387097</id><published>2008-08-06T23:18:00.003-06:00</published><updated>2008-12-11T19:05:44.934-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='jRuby'/><title type='text'>Calling Java from JRuby to do the dirty work</title><summary type='text'>I recently had to try and read a UTF-16LE-BOM encoded text file from Ruby.  I couldn't figure out how to get Ruby to deal with the double byte characters in the file.  But I did know that Java has very good UTF support so I decided to let Java do the heavy lifting for me.  I ended up with something like this:require 'java'import java.io.InputStreamReaderimport java.io.ByteArrayInputStreamimport </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/5022589491287387097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=5022589491287387097&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5022589491287387097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5022589491287387097'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/08/calling-java-from-jruby-to-do-dirty.html' title='Calling Java from JRuby to do the dirty work'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-5686031291164731500</id><published>2008-07-31T07:13:00.002-06:00</published><updated>2008-07-31T07:19:28.415-06:00</updated><title type='text'>Really Achieving Your Childhood Dreams</title><summary type='text'>By Randy Pausch.  Great lecture from Carnegie Mellon's School of Computer Science.  Here's the iTunes link and YouTube as well.  Watch out for the head fake.  Great stuff.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/5686031291164731500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=5686031291164731500&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5686031291164731500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5686031291164731500'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/07/really-achieving-your-childhood-dreams.html' title='Really Achieving Your Childhood Dreams'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-8720192001279907183</id><published>2008-06-18T13:26:00.002-06:00</published><updated>2008-12-11T19:05:57.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Lessons from my first Rails project</title><summary type='text'>I’m finally being paid for working on an “Enterprise” Ruby on Rails pilot project.  I think I helped persuade our IT group to give Rails a try.  But unfortunately I wasn’t available to help the project get started.  Instead I joined the project several months in.  So while it’s cool to finally be doing Ruby and Rails full-time it’s also pretty painful to be living with some of the poor decisions </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8720192001279907183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8720192001279907183&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8720192001279907183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8720192001279907183'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/06/lessons-from-my-first-rails-project.html' title='Lessons from my first Rails project'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1638581442474642991</id><published>2008-05-13T19:20:00.004-06:00</published><updated>2008-12-11T19:06:04.512-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jRuby'/><title type='text'>My first JRuby contribution</title><summary type='text'>I've reported lots of bugs before but this is the first time I submitted a fix back to an open source project.  The fix was to the JRuby-Extras ActiveRecord-JDBC project to allow you to do something like this for a Rails model class against Oracle:  class Person  set_table_name "department.people"endAccessing the database from someone other than the schema owner and therefore fully qualifying the</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1638581442474642991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1638581442474642991&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1638581442474642991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1638581442474642991'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/05/my-first-jruby-contribution.html' title='My first JRuby contribution'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-6851449986697820543</id><published>2008-04-30T22:57:00.002-06:00</published><updated>2008-04-30T23:07:53.354-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby rails'/><title type='text'>Rails on Windows</title><summary type='text'>I've been working on a Rails project at work for the last few weeks.  We've been targeting JRuby for deployment and therefore I've been working primarily in JRuby for development.  This week I thought it'd be nice to get running with the regular MRI with MySQL instead of Derby.  I installed cygwin and tried to get back to doing things at the command line (I've been using NetBeans)...  I was </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/6851449986697820543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=6851449986697820543&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6851449986697820543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6851449986697820543'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/04/rails-on-windows.html' title='Rails on Windows'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-846049828945931558</id><published>2008-03-09T22:45:00.003-06:00</published><updated>2008-03-10T20:33:02.130-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ObjC'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>The iPhone SDK</title><summary type='text'>I don't own an iPhone and since I'm in Canada I can't even buy an iPhone from Apple even if I wanted to, but that hasn't tempered my enthusiasm for the new iPhone SDK.  Like so many thousands of others I downloaded the SDK as soon it was available, installed it, and then started coding away.  I'm sure more experienced Cocoa developers were able to quickly bang out something cool, but not me.  It </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/846049828945931558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=846049828945931558&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/846049828945931558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/846049828945931558'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/03/iphone-sdk.html' title='The iPhone SDK'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-8287354927514115630</id><published>2008-03-02T08:55:00.004-07:00</published><updated>2008-03-02T09:36:36.702-07:00</updated><title type='text'>Javascripting with ExtJS</title><summary type='text'>Back in the early days of my work in Java I adopted the typical Java developer's bias against Javascript.  Whenever someone would mention Javascript I would cringe.  Afterall, why would I choose Javascript when I had Java? But I always felt I was missing something.So last year I decided to do something about it and integrated the Prototype Javascript library into my Struts application.  I quickly</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8287354927514115630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8287354927514115630&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8287354927514115630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8287354927514115630'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2008/03/javascripting-with-extjs.html' title='Javascripting with ExtJS'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-5318589478314379717</id><published>2007-11-20T19:11:00.000-07:00</published><updated>2007-11-21T06:46:00.230-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>JRuby and Hibernate</title><summary type='text'>The beautiful thing about Rails on JRuby is that you have access to Java.  Perhaps you have existing code you'd like to reuse or maybe there's some functionality in a Java library you'd like to use.  Whatever the reason, it's good to know how to do it.So today I created a new Rails app to demonstrate how to use Rails' controllers and views with some model classes from one of my earlier Java </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/5318589478314379717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=5318589478314379717&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5318589478314379717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5318589478314379717'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/11/jruby-and-hibernate.html' title='JRuby and Hibernate'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1683067512943378663</id><published>2007-11-03T13:37:00.000-06:00</published><updated>2007-11-21T06:46:40.745-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ObjC'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Ruby Cocoa</title><summary type='text'>RubyCocoa and the Scripting Bridge are two software development technologies bundled with Leopard.  The app presented here demonstrate how to create a native Mac interface written in Ruby that communicates with iTunes via Applescript.  It does nothing more than display the iTunes version number.Create a "Ruby-Cocoa Application" from the "New Project" dialog in XCodeAdd a "Ruby NSObject subclass" </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1683067512943378663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1683067512943378663&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1683067512943378663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1683067512943378663'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/11/ruby-cocoa.html' title='Ruby Cocoa'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LMgjeuTg86I/RyzXYUhS0AI/AAAAAAAAACU/hj6KBhdgaww/s72-c/Picture+1.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-7284798948907809945</id><published>2007-11-02T14:33:00.000-06:00</published><updated>2007-11-21T06:46:34.962-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Yahoo Address Book &amp; Leopard</title><summary type='text'>Leopard's new address book allows you to sync with your Yahoo! contacts.  It's not intuitive so here goes:Open the general tab of Leopard's Address Book preferences.Check "Synchronize with Yahoo!"Click on the Configure Button and enter your Yahoo! ID and PasswordOpen iSync's Preferences (here's where it gets weird)Check "Show status in menu bar"Select "Sync Now" from the new menu bar icon on the </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/7284798948907809945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=7284798948907809945&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7284798948907809945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7284798948907809945'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/11/yahoo-address-book-leopard.html' title='Yahoo Address Book &amp; Leopard'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-6156205327134531292</id><published>2007-10-28T13:59:00.000-06:00</published><updated>2007-10-28T14:25:44.702-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Leopard Installed</title><summary type='text'>It's my second day running with Leopard and just about everything has gone smoothly.  I installed it without too much trouble on my MacBook and my PowerMac G5.  I say not too much trouble because not everything was perfect.  Twice since installing Leopard on my G5 it's not gone to sleep on demand.  Instead it goes into a coma and starts snoring.  By that I mean all the USB devices shut off, the </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/6156205327134531292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=6156205327134531292&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6156205327134531292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6156205327134531292'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/10/leopard-installed.html' title='Leopard Installed'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-8073896540932249106</id><published>2007-10-25T06:53:00.000-06:00</published><updated>2007-10-25T07:17:24.953-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>JRuby and Rails in the Enterprise</title><summary type='text'>At work, management is finally getting the message about dynamic languages like Ruby and starting to recognize that frameworks like Rails may have productivity benefits.  We're actually going to look at doing a pilot project.  I like to think that I've had some influence in that but you never know...Anyway, I would love to make this work but this is a Java shop through and through.  We can only </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8073896540932249106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8073896540932249106&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8073896540932249106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8073896540932249106'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/10/jruby-and-rails-in-enterprise.html' title='JRuby and Rails in the Enterprise'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-7281013392918327443</id><published>2007-10-25T06:33:00.000-06:00</published><updated>2007-10-25T06:53:26.692-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Leopard</title><summary type='text'>I think it's fair to say that I could be characterized as a Mac "fanboy" from time to time.  I've been known to spout pro-Mac statements occasionally.  I take some unfounded pride in the fact that Apple's market cap is now bigger than IBM or Intel. And I love the fact that Apple just had yet another record quarter....Perhaps it's just the validation of what I've felt in all the years that I've </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/7281013392918327443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=7281013392918327443&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7281013392918327443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/7281013392918327443'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/10/leopard.html' title='Leopard'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1174458424560903076</id><published>2007-09-27T06:36:00.001-06:00</published><updated>2007-09-27T07:21:38.309-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Marching on...</title><summary type='text'>I used to develop applications with PowerBuilder (PB) for about 8 years.  I started with PB 1.0.  In the beginning it was new and exciting.  Windows was new.  Client/Server was new and even object oriented development in a mainstream tool was relatively new (at least in the corporate software development scene).  But as technology progressed I began to see exciting things elsewhere.  At the time </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1174458424560903076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1174458424560903076&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1174458424560903076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1174458424560903076'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/09/marching-on.html' title='Marching on...'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-8438058960688087626</id><published>2007-09-07T08:19:00.000-06:00</published><updated>2007-09-07T10:44:16.286-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Java &amp; Ruby HTTP Clients: Part 2</title><summary type='text'>Several months ago I wrote an article about how to create an HTTP client in Java or Ruby.  I included examples in both languages for getting by BASIC and FORM based authentication. I also showed you how to resubmit the value of an HTTP cookie that many websites use to store state.What I didn't mention is that quite often web applications store state not in a cookie but within the HTML itself. In </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8438058960688087626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8438058960688087626&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8438058960688087626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8438058960688087626'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/09/ruby-http-clients-part-2.html' title='Java &amp; Ruby HTTP Clients: Part 2'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1084370201497685345</id><published>2007-05-03T19:03:00.000-06:00</published><updated>2007-05-03T19:17:33.155-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Aptana RADRails &amp; JRuby</title><summary type='text'>I thought I'd go and take a look at what's been happening on the RADRails project lately.  As it turns out, quite a bit!  Aptana has taken over the project and are making quite a bit a progress integrating it with their Eclipse based IDE.  The most impressive thing I saw was refactoring support!  Fantastic!  It's great to see RADRails getting some attention again.  Go download the beta.Then I </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1084370201497685345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1084370201497685345&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1084370201497685345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1084370201497685345'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/05/aptana-radrails-jruby.html' title='Aptana RADRails &amp; JRuby'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-3176897409411315365</id><published>2007-04-13T23:02:00.000-06:00</published><updated>2007-04-14T08:37:48.386-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby OLE</title><summary type='text'>The other day someone came over to my desk and asked me how they could programatically invoke the "Find Computer" function of the Windows shell.  Normally you just press CTRL-WINDOWS-F and up pops an Explorer window ready for searching. I didn't have a quick answer for him... so I immediately took up the challenge to figure it out.After a couple dead ends I started looking at Windows Script Host </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/3176897409411315365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=3176897409411315365&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3176897409411315365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3176897409411315365'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/04/ruby-ole.html' title='Ruby OLE'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1305503010107237131</id><published>2007-04-10T20:50:00.000-06:00</published><updated>2007-04-10T21:24:33.499-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>It's spelled S-Q-L</title><summary type='text'>Why do so many Java developers suck at SQL?  Are they just born that way?  Are they brainwashed?  Do they think that Hibernate will just do it all for them?  What's the problem?The reason I ask is that I'm working on a Java system where the developers obviously thought nothing of letting Hibernate lazily instantiate every relationship as they iterated through collections and navigated down </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1305503010107237131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1305503010107237131&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1305503010107237131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1305503010107237131'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/04/its-spelled-s-q-l.html' title='It&apos;s spelled S-Q-L'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-8909645722962019372</id><published>2007-04-03T21:54:00.000-06:00</published><updated>2007-04-03T22:15:28.924-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Prototype, Sitemesh and Struts</title><summary type='text'>The Java environment for my current project is stuck at Java 1.4, but that doesn't mean I have to build my webapps like it's 2002 (that's when 1.4 was released).  As a matter of fact I decided to take some lessons from Ruby on Rails. First of all I decided to ditch Tiles in favor of Sitemesh.  Tiles gets the job done but at the expense of a little too much abstraction for my taste.  Sitemesh uses</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/8909645722962019372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=8909645722962019372&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8909645722962019372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/8909645722962019372'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/04/prototype-sitemesh-and-struts.html' title='Prototype, Sitemesh and Struts'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-3364943917713753568</id><published>2007-04-03T21:23:00.000-06:00</published><updated>2007-04-03T21:51:03.137-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ObjC'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Objective-C 2.0</title><summary type='text'>Being a bit of a Mac-head and programmer to boot I've taken various looks at writing native Mac OS X apps withe XCode (the IDE), Cocoa (the frameworks), and Objective-C (the language).  In general I've come away relatively happy with the toolset.  But I must admit, I've filed my own share of enhancement requests with Apple.  The top of my list was refactoring support in the IDE.  I know it </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/3364943917713753568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=3364943917713753568&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3364943917713753568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3364943917713753568'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/04/objective-c-20.html' title='Objective-C 2.0'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1647753619722288544</id><published>2007-04-03T21:05:00.000-06:00</published><updated>2007-04-03T21:51:14.783-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>The New C#</title><summary type='text'>About a year and a half ago I blogged about LINQ (Language INtegrated Query).  Anders Hejlesberg starred in a video demoing object/xml/database query functionality and some new language features that Microsoft was playing with. It's been in the oven for quite a while so it should be just about done, and as a matter of fact it looks like C# 3.0 is scheduled to be released this year.  I suggest </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1647753619722288544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1647753619722288544&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1647753619722288544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1647753619722288544'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/04/new-c.html' title='The New C#'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-3031771421395695533</id><published>2007-03-22T20:35:00.000-06:00</published><updated>2007-03-22T21:18:41.898-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>My MacBook</title><summary type='text'>Over the past few weeks, the developers at work have been taking turns bringing in their laptops... It wasn't something we planned but just started happening spontaneously.  One guy brought his Centrino laptop running Linux, another guy brought a 17" screen Dell that he uses for CAD, one guy brought his shiny new Vista laptop and a couple days ago it was my turn to take in my MacBook. In general </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/3031771421395695533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=3031771421395695533&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3031771421395695533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/3031771421395695533'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/03/my-macbook.html' title='My MacBook'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-1467975744677662895</id><published>2007-01-30T18:11:00.000-07:00</published><updated>2007-01-30T18:12:50.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>The problem with Microsoft...</title><summary type='text'>Steve Jobs said it best.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/1467975744677662895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=1467975744677662895&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1467975744677662895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/1467975744677662895'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/01/problem-with-microsoft.html' title='The problem with Microsoft...'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-5456145429980579646</id><published>2007-01-06T11:06:00.000-07:00</published><updated>2007-01-06T12:16:27.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>Java &amp; Ruby HTTP Clients</title><summary type='text'>In a mythical IT universe designed around a service oriented architecture (SOA) you could assemble several loosely coupled, autonomous services into a business solution. Each service would communicate in a platform and technology agnostic manner and XML would be the lingua franca. For example, if you needed to integrate data from several business partners you could call various SOAP or RESTful </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/5456145429980579646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=5456145429980579646&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5456145429980579646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/5456145429980579646'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2007/01/java-ruby-http-clients.html' title='Java &amp; Ruby HTTP Clients'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-6581659652143295401</id><published>2006-12-19T21:23:00.000-07:00</published><updated>2006-12-21T20:39:59.025-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Mac OS X &amp; Windows in Parallel</title><summary type='text'>The first most natural reaction for a Mac guy like me is "Ick! Windows on my Mac?!".  And yeah, it is a bit disgusting.  After all we all know that Mac OS X is obviously the superior operating system, right?Well even if you don't necessarily agree with that assertion, you have to agree that if you're any kind of web developer you can't ignore Internet Explorer.  Despite all its warts and </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/6581659652143295401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=6581659652143295401&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6581659652143295401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/6581659652143295401'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/12/windows-mac-os-x-in-parallels.html' title='Mac OS X &amp; Windows in Parallel'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116544264977105260</id><published>2006-12-06T15:01:00.000-07:00</published><updated>2006-12-21T20:40:18.489-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Passionate Development</title><summary type='text'>A lot of people seem to have a real passion for developing software.  So why is it that we have so much bad code?  Well I have my own theories.  So without further ado I present my most-wanted list of culprits, in no-particular order:New codersNew developers are great.  They're happy to have a job and are excited and keen and want to change the world.  But they don't really know what they're </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116544264977105260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116544264977105260&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116544264977105260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116544264977105260'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/12/passionate-development.html' title='Passionate Development'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116529237646753324</id><published>2006-12-04T21:02:00.000-07:00</published><updated>2006-12-21T20:40:30.649-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java Compiler Woes</title><summary type='text'>To cut a long story short, I lost a couple days of effort to discover that you should always use the version of the Java compiler that matches your production environment.  Take for example this little piece of Java code:import java.math.BigDecimal;public class BigDecimalTest { public static void main(String[] args) {  BigDecimal big = new BigDecimal(100);  System.out.println(big); }}Compile it </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116529237646753324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116529237646753324&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116529237646753324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116529237646753324'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/12/java-compiler-woes.html' title='Java Compiler Woes'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116520600279194809</id><published>2006-12-03T21:08:00.000-07:00</published><updated>2006-12-21T20:40:45.155-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Airmiles with that?</title><summary type='text'>The latest edition to my family of computers is slowly making it's way around the world.  It started its life in China, then Anchorage, then flew straight overhead to Memphis, and is now getting acquainted with Canadian customs in Mississauga. Unfortunately, more than half the shipping time  has been spent there waiting for some customs official to give it the green light to move on.  If only I </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116520600279194809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116520600279194809&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116520600279194809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116520600279194809'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/12/airmiles-with-that.html' title='Airmiles with that?'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116425489437411228</id><published>2006-11-22T20:56:00.000-07:00</published><updated>2006-12-21T20:41:04.101-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Enterprise Software?  You gotta be kidding me!</title><summary type='text'>If you create truly mediocre software for a vertical market in a mainstream technology like .NET, fill it with buzzwords like "web services", then the truly ignorant will shower you with bags of money.  Apparently that's the recipe to becoming a success.  Hard to believe isn't it?  Well I wish it weren't true but it must be.  Otherwise I have no explanation for the project that I'm working </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116425489437411228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116425489437411228&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116425489437411228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116425489437411228'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/11/enterprise-software-you-gotta-be.html' title='Enterprise Software?  You gotta be kidding me!'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116425417328910588</id><published>2006-11-22T20:40:00.000-07:00</published><updated>2006-12-21T20:41:22.355-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Ruby on Rails demo</title><summary type='text'>Yesterday I gave my co-workers a lunch time presentation about Ruby on Rails.  Since these guys haven't even seen Ruby, never mind Rails, I kept it pretty basic and loosely based it on DHH's build-a-blog-in-15-minutes screencast at RubyOnRails.org.  I coded live and in person and even the mistakes I made were good because they highlighted not only Rails' good error reporting but also the quick </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116425417328910588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116425417328910588&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116425417328910588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116425417328910588'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/11/ruby-on-rails-demo.html' title='Ruby on Rails demo'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116327163881037398</id><published>2006-11-11T11:45:00.000-07:00</published><updated>2006-12-21T20:41:43.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Tim Bray: PHP, Rails, &amp; Java</title><summary type='text'>Tim Bray, of Sun Microsystems, set off a little bombshell with one slide from a presentation he gave at the International PHP Conference.  The slide in question compares PHP, Rails, &amp; Java on four separate criteria: Scaling, Dev Speed, Dev Tools, &amp; Maintainability.  Rails won on Dev Speed and Maintainability and PHP won the scaling contest!The presentation even goes on to talk about the WS-* </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116327163881037398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116327163881037398&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116327163881037398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116327163881037398'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/11/tim-bray-php-rails-java.html' title='Tim Bray: PHP, Rails, &amp; Java'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116282257211814202</id><published>2006-11-06T06:57:00.000-07:00</published><updated>2006-12-21T20:41:59.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Code Generation with Ruby</title><summary type='text'>I just watched some parts of a Google Tech Talk Video about code generation.  It was a videotaped presentation by Jack Harrington, the author of "Code Generation in Action" to some of the developers at Google.  I didn't find most of the presentation to be that interesting, but there was one snippet of Ruby code that I liked.  It looked something like this:require 'erb'File.open('./test.txt', 'w+'</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116282257211814202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116282257211814202&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116282257211814202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116282257211814202'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/11/code-generation-with-ruby.html' title='Code Generation with Ruby'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116244522379298189</id><published>2006-11-01T21:50:00.000-07:00</published><updated>2006-12-21T20:42:24.429-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Sucking the Fun Out of Software Development</title><summary type='text'>Last week I found myself being subjected to one of the worst fates known to the North American cubicle dweller... the dreaded team building meeting.   Acckkkk!!!But even worse was that the typical mind-numbing "personality profiling exercise" was replaced with the excruciating "enterprise architecture presentation".Where do these guys come from anyway?  Who uses words like "end user vision", "</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116244522379298189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116244522379298189&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116244522379298189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116244522379298189'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/11/sucking-fun-out-of-software.html' title='Sucking the Fun Out of Software Development'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116152874969989497</id><published>2006-10-22T10:09:00.000-06:00</published><updated>2006-12-21T20:43:28.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>RadRails Refresher</title><summary type='text'>So I started working a bit harder on a rails project this past weekend (several hours a day) and discovered a few things about Ruby/Rails and my IDE that I thought I'd share (in no particular order):RadRails has the ability to automatically run your unit tests whenever you modify certain files.  The AutoTest functionality is great but only if you realize it's there.  I had been staring at a big </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116152874969989497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116152874969989497&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116152874969989497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116152874969989497'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/10/radrails-refresher.html' title='RadRails Refresher'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-116084357555351558</id><published>2006-10-14T09:59:00.000-06:00</published><updated>2006-12-21T20:43:50.971-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Google Reader</title><summary type='text'>News Readers have been around for several years and like many other people I have my own collection of feeds to which I subscribe.  The only problem was synchronization from computer to computer.  It was fairly common for me to read through a list of published articles at work and then come home to do it all over again.  It wasn't as time consuming the second time because I could just skip over </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/116084357555351558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=116084357555351558&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116084357555351558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/116084357555351558'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/10/google-reader.html' title='Google Reader'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115941784911391343</id><published>2006-09-27T22:30:00.000-06:00</published><updated>2006-12-21T20:44:09.787-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ObjC'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Digg, Ruby, &amp; Cocoa</title><summary type='text'>I recently discovered that Digg allows you to simplify story submission for readers by placing a "digg this" link on your website.  That sounded like a reasonable thing to do for my blog entries and after reading Guy Kawasaki's blog about it, I decided to give it a whirl.  It wasn't long before I found myself wanting to automate the generation of the anchor tag.  So I immediately ran off to my </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115941784911391343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115941784911391343&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115941784911391343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115941784911391343'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/09/digg-ruby-cocoa_115941784911391343.html' title='Digg, Ruby, &amp; Cocoa'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115913354890735336</id><published>2006-09-24T15:09:00.000-06:00</published><updated>2006-12-21T20:44:22.453-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Rethinking the car</title><summary type='text'>Here are two extraordinary cars that I discovered through the magic of the internet.  One is the Tesla Roadster.  The Tesla is fascinating because it redefines what an electric car can be.  How does 0 to 60mph in about 4 seconds and 135mpg equivalent all wrapped up in a gorgeous sports car package sound? Nikola Tesla would be proud.Then you have the Ariel Atom.  A stripped down minimal sports car</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115913354890735336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115913354890735336&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115913354890735336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115913354890735336'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/09/rethinking-car.html' title='Rethinking the car'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115877820923999692</id><published>2006-09-20T12:33:00.000-06:00</published><updated>2006-12-21T20:44:40.525-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby User Group Meeting</title><summary type='text'>Last night I attended my first Ruby user group meeting.  I've been a member of a lot of user groups and so my expectations were (perhaps unreasonably) high.  My initial impressions weren't that great and I left the meeting unsure whether or not I'd return the following month.But then I started to think about it:Here were a bunch of geeks (me included) getting together to talk about a nascent </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115877820923999692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115877820923999692&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115877820923999692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115877820923999692'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/09/ruby-user-group-meeting.html' title='Ruby User Group Meeting'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115829681985097154</id><published>2006-09-14T23:05:00.000-06:00</published><updated>2006-12-21T20:44:55.506-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Set phasers to stun...</title><summary type='text'>The last couple days have been a bit painful for me as I've endured exposure to the white hot burning effects of crappy UI design.  My crap-block was only at an SPF level of 20 and I really should have just got the all-over environmental suit and properly protected myself.Seriously, I don't understand why so many people undervalue good user interface design.  At the very least, people should </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115829681985097154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115829681985097154&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115829681985097154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115829681985097154'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/09/set-phasers-to-stun.html' title='Set phasers to stun...'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115768497428859512</id><published>2006-09-07T21:00:00.000-06:00</published><updated>2006-12-21T20:45:23.616-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>JRuby on Rails</title><summary type='text'>It was only a week ago I was waxing philosophically about Enterprise Software and mentioned that Ruby was in the early stages of running on the JVM and .NET CLR and just today Sun announced that they're hiring the JRuby developers to continue their work full time at Sun.  Wow!  That's big news.  Maybe mainstream Ruby on Rails development won't be far behind...  Ahh the winds of change.P.S.  I </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115768497428859512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115768497428859512&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115768497428859512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115768497428859512'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/09/jruby-on-rails.html' title='JRuby on Rails'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115748440653944179</id><published>2006-09-05T12:43:00.000-06:00</published><updated>2006-12-21T20:45:44.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>User Interface Development</title><summary type='text'>Given the same amount of time, who is more productive... a small team of multi-talented developers? or a large team of specialists? Since I think the answer lies with the multi-talented crew, I took stock of my own skills and decided it was time again to strengthen my ability to create web user interfaces.So here was my plan: design a web page or two in a graphics tool of some sort and then </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115748440653944179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115748440653944179&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115748440653944179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115748440653944179'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/09/user-interface-development.html' title='User Interface Development'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115703123532778598</id><published>2006-08-31T07:06:00.000-06:00</published><updated>2006-12-21T20:46:15.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>What is Enterprise Software?</title><summary type='text'>What is "enterprise software"?  And the follow up question what is an "enterprise software developer"?The reason I ask is that I've been thinking about the Java vs Rails question again and the reaction I get from my fellow Java developers when I talk about Ruby and Rails.  Generally, they turn their noses up.  Ruby doesn't have the breadth they say, it's immature, it's slow, it doesn't scale, </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115703123532778598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115703123532778598&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115703123532778598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115703123532778598'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/08/what-is-enterprise-software.html' title='What is Enterprise Software?'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115648062736257974</id><published>2006-08-24T21:43:00.000-06:00</published><updated>2006-12-21T20:46:59.662-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Watch that SQL!</title><summary type='text'>Long before I used object relational mapping tools like Hibernate or Toplink in Java or ActiveRecord in Ruby on Rails I used to write a fair amount of SQL (some real nasty queries too!).  And in a lot of the shops where I worked it was standard practice to create an explain plan just to make sure that the database could execute the SQL efficiently.  If it couldn't, I would dutifully restructure </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115648062736257974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115648062736257974&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115648062736257974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115648062736257974'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/08/watch-that-sql.html' title='Watch that SQL!'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115564913734060101</id><published>2006-08-15T07:02:00.000-06:00</published><updated>2006-12-21T20:47:17.842-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Should Rails come with a Warning Sticker?</title><summary type='text'>I've been a Java Developer for about 9 years, and maybe my interest is finally waning or maybe the lack of productivity is starting to get to me but maybe, just maybe, something else is has come along that has shown me a better way...  I suspect that something is Ruby on Rails.Now I'm not saying Rails is perfect or that Rails  is  an appropriate solution for every problem but as I said to someone</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115564913734060101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115564913734060101&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115564913734060101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115564913734060101'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/08/should-rails-come-with-warning-sticker.html' title='Should Rails come with a Warning Sticker?'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115509343405926748</id><published>2006-08-08T21:11:00.000-06:00</published><updated>2006-12-21T20:47:43.566-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Rails and Apple together in Leopard</title><summary type='text'>David Heinemeier Hannson notes in his blog that Ruby on Rails will ship with the next major release of  the Mac OS, Leopard (a.k.a., Mac OS 10.5).  As a Mac user and Rails admirer I have to say that these two seem to go so well together...  Not sure how to explain that... It's just that they both have a great aesthetic, and are two of the most elegant software products I've used in years.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115509343405926748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115509343405926748&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115509343405926748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115509343405926748'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/08/rails-and-apple-together-in-leopard.html' title='Rails and Apple together in Leopard'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115418440275425656</id><published>2006-07-29T08:05:00.000-06:00</published><updated>2006-12-21T07:02:34.153-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Cool Reception</title><summary type='text'>A friend of mine, who works at a Java shop, recently gave a Ruby on Rails presentation and was surprised and dissapointed by the people who didn't come to the presentation.  In his blog he discussed some of his theories about why one person in particular didn't show up...I have a simpler theory, one that was presented by Bruce Tate in the Ruby on Rails Podcast back in March of this year. He said:</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115418440275425656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115418440275425656&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115418440275425656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115418440275425656'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/07/cool-reception.html' title='Cool Reception'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115340609485295956</id><published>2006-07-20T07:51:00.000-06:00</published><updated>2006-12-21T20:48:38.801-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>SOA and APP</title><summary type='text'>During a recent job interview they told me that one of their new technical directions is Service Oriented Architecture (SOA).  So I'm thinking okay, Web Services probably figures into that somehow...  But unfortunatley (or maybe fortunately) the last time I touched any of that stuff (UDDI, WSDL, SOAP) was at least a couple years ago.  So I started Googling to get up to speed again...All the </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115340609485295956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115340609485295956&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115340609485295956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115340609485295956'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/07/soa-and-app.html' title='SOA and APP'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115256061389450567</id><published>2006-07-10T13:13:00.000-06:00</published><updated>2006-12-21T20:48:59.749-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>MacCallisto</title><summary type='text'>Even with a few weeks off from work I still like to keep up-to-date with what's going on in the Java world.  And the biggest news so far has been the release of Eclipse 3.2 and the various other Eclipse based projects.  So I downloaded 3.2 and then went on to install these other projects:Visual Editor (VE)Java EE and Web Tools (WTP)Test and Performance Tools (TPTP)Reporting Tools(BIRT)Data Tools </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115256061389450567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115256061389450567&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115256061389450567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115256061389450567'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/07/maccallisto.html' title='MacCallisto'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-115049335001699659</id><published>2006-06-16T15:22:00.000-06:00</published><updated>2006-12-21T20:49:23.409-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Just Say No to Specialization</title><summary type='text'>One of the topics of our standup meeting this morning was the communication problems with the database group. At the eleventh hour they wanted to change the names of tables, columns and constraints.  While I suppose there's nothing too much wrong with caring about consistent naming conventions, I question a lot of the specialization that happens in larger IT shops nowadays.I read this quote on </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/115049335001699659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=115049335001699659&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115049335001699659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/115049335001699659'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/06/just-say-no-to-specialization.html' title='Just Say No to Specialization'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114968815569526726</id><published>2006-06-07T07:41:00.000-06:00</published><updated>2006-12-21T20:49:44.191-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>That is just so awful...</title><summary type='text'>I was watching a video about Django, a Python powered web framework, when the presenter, Jacob Kaplan-Moss, made the following comment (at around 29:22):I've actually seen a system, I shit you not, that has every single URL on the site calls a stored procedure in an Oracle database that generates html in the stored procedure and returns it to the web for display.  I'm not joking!  That is just so</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114968815569526726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114968815569526726&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114968815569526726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114968815569526726'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/06/that-is-just-so-awful.html' title='That is just so awful...'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114883680580197182</id><published>2006-05-28T10:21:00.000-06:00</published><updated>2006-12-21T20:49:57.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Billion Dollar Boondoggle</title><summary type='text'>The "Canadian Firearms Program" more widely known as the "Canadian Gun Registry" was a program instituted by the former Liberal government of Canada under Prime Minister Jean Chretian to license and register certain types of firearms across Canada.  Bill C-68 was introduced in February 1995 and has been controversial ever since for a number of reasons but undoubtedly the issue that has caught </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114883680580197182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114883680580197182&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114883680580197182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114883680580197182'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/05/billion-dollar-boondoggle.html' title='Billion Dollar Boondoggle'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114840788879981237</id><published>2006-05-23T12:07:00.000-06:00</published><updated>2006-12-21T20:50:36.081-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>DAOs and ORMs</title><summary type='text'>The discussion that this article on the ServerSide generated reminds me of an article I wrote a little while ago.  The original poster gets a bit confused about the problem because he assume the use of an ORM means that you need to use the "Open Session In View" pattern.  But if you get by that and read some of the comments, you discover that many people (like me) don't believe that the DAO </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114840788879981237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114840788879981237&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114840788879981237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114840788879981237'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/05/daos-and-orms.html' title='DAOs and ORMs'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114753057525326944</id><published>2006-05-13T08:13:00.000-06:00</published><updated>2006-12-21T20:51:07.920-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>XML Glue</title><summary type='text'>When I discovered XDoclet I quickly stopped editing my hibernate mapping documents by hand. From the XDoclet website:                 XDoclet lets you apply                 Continuous                 Integration in component-oriented development. Developers should concentrate their editing work                 on only one Java source file per component.                              This approach </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114753057525326944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114753057525326944&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114753057525326944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114753057525326944'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/05/xml-glue.html' title='XML Glue'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114727855280807237</id><published>2006-05-10T10:27:00.000-06:00</published><updated>2006-12-21T20:51:42.954-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>On Frameworks and Top Management</title><summary type='text'>I couldn't have said it better myself:FrameworksTop Management</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114727855280807237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114727855280807237&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114727855280807237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114727855280807237'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/05/on-frameworks-and-top-management.html' title='On Frameworks and Top Management'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114566048103649249</id><published>2006-04-21T16:59:00.000-06:00</published><updated>2006-12-21T20:52:00.374-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>MS Mac Lab</title><summary type='text'>A friend of mine just sent me a link to a tour of Microsoft's Mac lab.  Thanks Aaron...  Thought I'd file it here under the category  of "Holy Macs!".</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114566048103649249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114566048103649249&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114566048103649249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114566048103649249'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/04/ms-mac-lab.html' title='MS Mac Lab'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114531619046431989</id><published>2006-04-17T17:20:00.000-06:00</published><updated>2006-12-21T20:52:19.607-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Embracing Change</title><summary type='text'>When I consider the "agile software development methodology", a key principle that comes to mind is "embrace change".  The theory is that users don't really know what they want.  They'll only be able to steer you to the goal once they see something working.  So get ready for change.  They'll change their minds a bunch of times as the software evolves.  In the end they'll appreciate your </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114531619046431989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114531619046431989&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114531619046431989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114531619046431989'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/04/embracing-change.html' title='Embracing Change'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114424311859895528</id><published>2006-04-05T07:17:00.000-06:00</published><updated>2006-12-21T20:52:34.906-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple Listens to Customers</title><summary type='text'>Well don't ever let it be said that Apple doesn't listen to its customers.  They released a new beta piece of software called "Boot Camp" that will allow people to dual boot Windows XP and Mac OS X on Intel based Macs.  I can't imagine that many self-respecting Mac owners would prefer to use Windows over Mac OS X, but there are undoubtedly occasions when it would be beneficial to do so.Now Apple </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114424311859895528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114424311859895528&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114424311859895528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114424311859895528'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/04/apple-listens-to-customers.html' title='Apple Listens to Customers'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114372769680164232</id><published>2006-03-30T06:50:00.000-07:00</published><updated>2006-12-21T20:52:49.857-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Fast and Furious</title><summary type='text'>I'm sure I have goofy speech patterns and favourite catch phrases of my own but I also have a talent for picking these colloquialisms out of someone else's speech as well. I have discovered over the years that the best time to capture these beauties within an IT environment is during the inevitable "status meeting".  It's almost like a freestyle rap battle where two or more contenders try to </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114372769680164232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114372769680164232&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114372769680164232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114372769680164232'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/03/fast-and-furious.html' title='Fast and Furious'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114364446427678462</id><published>2006-03-29T07:57:00.000-07:00</published><updated>2006-12-21T20:53:05.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Misplaced Priorities</title><summary type='text'>I've worked on quite a few software projects in my career and I always wonder at the people who get hung up on their favorite features regardless of importance to the actual users of the system.A few years back I worked with a developer who became analyst.  At some point in one of his past projects he had created a feature for allowing a user to press some key combinations to "hot jump" from </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114364446427678462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114364446427678462&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114364446427678462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114364446427678462'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/03/misplaced-priorities.html' title='Misplaced Priorities'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114269291706740571</id><published>2006-03-18T07:33:00.000-07:00</published><updated>2006-12-21T20:53:49.285-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>DHH Interview</title><summary type='text'>I just found a SYS-CON.TV interview with David Heinemeier Hansson that had some real quotable moments:In his description of Ruby On Rails:...we like to consider ourselves the Apple of open source web application development......it's extremely conventional. Most of the ideas in Ruby on Rails are the same ideas people have been building web applications on for the last ten years.  They just hurt a</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114269291706740571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114269291706740571&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114269291706740571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114269291706740571'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/03/dhh-interview.html' title='DHH Interview'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114220198107329787</id><published>2006-03-12T15:09:00.000-07:00</published><updated>2006-12-21T20:54:05.069-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby jEdit Plugin</title><summary type='text'>I've been a big fan of jEdit for quite a few years now and I just downloaded a new plugin that I just simply felt compelled to write about, the jEdit Ruby Plugin.  It's not the simplest thing to install but the integrated code completion and documentation features (including Ruby on Rails) are quite good.  For example, when I'm editing a model object I can type in "has", hit ctrl-space and get a </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114220198107329787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114220198107329787&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114220198107329787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114220198107329787'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/03/ruby-jedit-plugin.html' title='Ruby jEdit Plugin'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114209219616430677</id><published>2006-03-11T08:45:00.000-07:00</published><updated>2006-12-21T20:54:21.813-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agile or Traditional?</title><summary type='text'>I was recently speaking with a friend I haven't seen in months and she mentioned that she was reading a book I had lent to her.  The book is called "Balancing Agility and Discipline" by B. Boehm and R. Turner.  The book's main theme is the attempt to balance agile software development methods with traditional methods. The idea is to try and assess your project by looking at several different </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114209219616430677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114209219616430677&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114209219616430677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114209219616430677'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/03/agile-or-traditional.html' title='Agile or Traditional?'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114177101319379828</id><published>2006-03-07T15:19:00.000-07:00</published><updated>2006-12-21T20:54:54.632-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Suffering</title><summary type='text'>One of the Pragmatic Programmer tips is:"select" Isn't Broken. Which means that's it is rare to find a bug in the OS or the compiler, or even a third-party product or library. The bug is most likely in the application, i.e., my code.The problem with the project that I'm working on is that there is so many layers of code and abstraction that I don't even work with the framework anymore but some </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114177101319379828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114177101319379828&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114177101319379828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114177101319379828'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/03/suffering.html' title='Suffering'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114171116629721653</id><published>2006-03-06T22:58:00.000-07:00</published><updated>2006-12-21T20:55:24.262-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Bruce Eckel on Ruby and Rails</title><summary type='text'>I just listened to the latest podcast by the Java Posse; an interview with Bruce Eckel.  Since it's the "Java" Posse there's a fair amount of discussion about Java, but the second part of the interview dives into Bruce's thoughts on Python, Ruby and Rails.  Although he gets some things wrong, like attributing the creation of Ruby to David Heinemeir Hannson (DHH) instead of Yukihiro Matsumoto (</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114171116629721653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114171116629721653&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114171116629721653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114171116629721653'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/03/bruce-eckel-on-ruby-and-rails.html' title='Bruce Eckel on Ruby and Rails'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114110594784526132</id><published>2006-02-27T22:40:00.000-07:00</published><updated>2006-12-21T20:55:53.005-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Rails is Boring and Ruby is a Toy</title><summary type='text'>Chad Fowler did a presentation last month that I happen to be listening to at the moment.  He's talking about his "evolution" from a Java developer to a Ruby developer.  He talks about the various XML files you have to edit when doing J2EE, the number of lines of code that's needed to do just the simplest things in Java, etc.What I find so surprising is that some of my recent comments seem to be </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114110594784526132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114110594784526132&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114110594784526132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114110594784526132'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/02/rails-is-boring-and-ruby-is-toy.html' title='Rails is Boring and Ruby is a Toy'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114099385031001735</id><published>2006-02-26T15:32:00.000-07:00</published><updated>2006-12-21T20:56:15.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Hibernate vs ActiveRecord</title><summary type='text'>Over the last 2+ years I've grown quite accustomed to the facilities of Hibernate (one of the most popular Java object-relational persistence frameworks).  And before that I used TopLink for a couple of years.  So now when it comes to my work with Ruby on Rails I have some pretty high expectations.The out-of-box experience with Rails' persistence framework is undoubtedly different but similar </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114099385031001735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114099385031001735&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114099385031001735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114099385031001735'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/02/hibernate-vs-activerecord.html' title='Hibernate vs ActiveRecord'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114050278453580985</id><published>2006-02-20T21:56:00.000-07:00</published><updated>2006-12-21T20:56:49.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>What I don't have to know</title><summary type='text'>I was thinking recently about how someone with no knowledge of Java or Rails web development would choose which of the two technology stacks to learn.  Then I started comparing the lists of technologies on both sides.For the View you have JSP (Java Server Pages) vs ERb (Embedded Ruby).  (We'll assume that (X)HTML, CSS, &amp; Javascript are a given knowledge requirement regardless of framework choice.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114050278453580985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114050278453580985&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114050278453580985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114050278453580985'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/02/what-i-dont-have-to-know.html' title='What I don&apos;t have to know'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-114011457396326905</id><published>2006-02-16T11:27:00.000-07:00</published><updated>2006-12-21T20:57:10.707-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Manifesto</title><summary type='text'>Everyone has a manifesto nowadays.  I just read an interesting entry at the "Creating Passionate Users" blog that pointed to the the 37signals manifesto.  Both recommended reading.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/114011457396326905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=114011457396326905&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114011457396326905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/114011457396326905'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/02/manifesto.html' title='Manifesto'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113918634208767509</id><published>2006-02-05T15:31:00.000-07:00</published><updated>2006-12-21T20:14:00.074-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Patterns</title><summary type='text'>Christopher Alexander says:Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution ...So why is it so commonplace to use patterns where a problem doesn't exist? Example 1. The Data Access Object was originally created to hide various data access APIs (LDAP, RDBMS</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113918634208767509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113918634208767509&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113918634208767509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113918634208767509'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/02/patterns.html' title='Patterns'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113838138486768450</id><published>2006-01-27T09:38:00.000-07:00</published><updated>2006-12-21T20:13:40.663-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>RadRails 0.5.3</title><summary type='text'>In the rails community it would appear that the majority of developers use Macs and the text editor TextMate. (What is it about Rails that seems to attract so many Mac people?  I'm not arguing, I'm a Mac guy too, but it's an interesting question to ponder)  But coming from a Java background I've grown fairly accustomed to Eclipse and so the RadRails and RDT Eclipse plugin projects caught my </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113838138486768450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113838138486768450&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113838138486768450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113838138486768450'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/01/radrails-053.html' title='RadRails 0.5.3'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113756159438016632</id><published>2006-01-17T21:59:00.000-07:00</published><updated>2006-12-21T20:13:19.022-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Snakes and Rubies</title><summary type='text'>Over on the Django website you can find a video of presentations made in Chicago on December 3rd, 2005 by two leaders in web application development. Adrian Holovaty, one of the Django creators, and David Heinemeier Hansson, the creator of Ruby on Rails, present their respective frameworks and then take some questions from the audience.  Naturally I was curious about the Ruby on Rails </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113756159438016632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113756159438016632&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113756159438016632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113756159438016632'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/01/snakes-and-rubies.html' title='Snakes and Rubies'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113735228795535248</id><published>2006-01-15T11:57:00.000-07:00</published><updated>2006-12-21T20:13:05.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Rewrites</title><summary type='text'>System rewrites must be extraordinarily popular because I've worked on my fair share of them throughout my career.  And usually the story is the same...Poorly-trained developers in an IT department or startup slowly build a system over the course of a few years and then eventually come to the realization that the system needs a rewrite.  Here are some of the most common reasons:The database </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113735228795535248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113735228795535248&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113735228795535248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113735228795535248'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/01/rewrites_15.html' title='Rewrites'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113709378232242561</id><published>2006-01-12T12:19:00.000-07:00</published><updated>2006-12-21T20:12:49.760-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Checkboxes</title><summary type='text'>Ever since I started developing Windows applications I've consistently seen other developers use two radio buttons for a boolean option with ridiculous labels like "YES"/"NO" or "TRUE"/"FALSE".  And just today I'm redeveloping a page with 3 of these things.  Why on earth don't people use a checkbox?  It was made for this!  On or Off!  For crying out loud!  Arghhh!</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113709378232242561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113709378232242561&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113709378232242561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113709378232242561'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/01/checkboxes.html' title='Checkboxes'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113652028044335178</id><published>2006-01-05T20:59:00.000-07:00</published><updated>2006-12-21T20:12:36.861-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Déjà vu</title><summary type='text'>On this date one year ago the Canadian junior hockey team beat the Russians in a gold medal match.  This time they were one of the underdogs in the tournament but still came out on top. Congratulations again!</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113652028044335178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113652028044335178&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113652028044335178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113652028044335178'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/01/dj-vu.html' title='Déjà vu'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113644189868751090</id><published>2006-01-04T22:48:00.000-07:00</published><updated>2006-12-21T20:11:45.060-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>RoR &amp; Foos update</title><summary type='text'>Tonight I decided to stop tinkering with the object/data model and start building the simplest ladder web app that would work.  In pretty short order I was able to display a sports ladder (e.g., foosball) with names and positions.  But a display-only ladder application isn't teribly useful so I figured the "easiest thing that works" was to allow a user to swap the positions of two teams on the </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113644189868751090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113644189868751090&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113644189868751090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113644189868751090'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/01/ror-foos-update.html' title='RoR &amp; Foos update'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113624073756192756</id><published>2006-01-02T14:42:00.000-07:00</published><updated>2006-12-21T20:11:30.870-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>2005 Redux</title><summary type='text'>In 2005 I think I met my Pragmatic-Programmer-inspired goal to learn a variety of programming languages e.g.,Developed a small application in Mac OS X's Cocoa Environment (with the help of Aaron Hillegass's book)Attended a course about Microsoft's .NET Framework and C# (also messed around with Mono)Accepted a new contract and learned a few thing about JSF and Spring.Began developing a small web </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113624073756192756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113624073756192756&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113624073756192756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113624073756192756'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2006/01/2005-redux.html' title='2005 Redux'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113510582418114680</id><published>2005-12-20T12:07:00.000-07:00</published><updated>2006-12-21T20:11:18.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>The Daily WTF</title><summary type='text'>A co-worker just sent me this URL.  I had a good chuckle looking at some of the code posted on this website so I figured I'd post it here for posterity. There's an RSS feed too so you can keep up to date with the latest WTFs.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113510582418114680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113510582418114680&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113510582418114680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113510582418114680'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/daily-wtf.html' title='The Daily WTF'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113493238909832631</id><published>2005-12-18T11:52:00.000-07:00</published><updated>2006-12-21T20:11:01.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>RadRails</title><summary type='text'>I decided I would try downloading the latest milestone version of Eclipse 3.2M4 and set up an IDE without all the Java development tools and just the RDT (Ruby Development Tools) that would start up faster and let me do some Rails development with less clutter.  Then somehow I stumbled upon the RadRails Eclipse plugin (gotta love surfing the web).  So far it seems really quite good.  I can run </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113493238909832631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113493238909832631&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113493238909832631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113493238909832631'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/radrails.html' title='RadRails'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113465691905783628</id><published>2005-12-15T07:22:00.000-07:00</published><updated>2006-12-21T20:10:41.334-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Rails 1.0</title><summary type='text'>Well I obviously haven't been using my Mac for a couple days (where all my Ruby RSS feeds live) because I missed the 1.0 release of Ruby on Rails. I just went to the new flashy Ruby on Rails page and checked out one of their videos about creating a flickr front end.  Holy moly!  It may be an old video for all I know, but that is one very cool demo.   Mmmm, AJAX and Ruby on Rails good!</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113465691905783628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113465691905783628&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113465691905783628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113465691905783628'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/rails-10.html' title='Rails 1.0'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113449565769999673</id><published>2005-12-13T10:40:00.000-07:00</published><updated>2006-12-21T20:10:24.977-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Revolution</title><summary type='text'>I was just listening to the Beatles' Revolution...  Very appropriate lyrics for software development don't you think?You say you want a revolutionWell, you knowWe all want to change the worldYou tell me that it's evolutionWell, you knowWe all want to change the worldBut when you talk about destructionDon't you know that you can count me outDon't you know it's gonna be all right (3x)You say you </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113449565769999673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113449565769999673&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113449565769999673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113449565769999673'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/revolution.html' title='Revolution'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113441873309181199</id><published>2005-12-12T13:08:00.000-07:00</published><updated>2006-12-21T20:10:09.666-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Buying Mac Software</title><summary type='text'>With the popularity of the iPod, the fortunes for the Mac have been looking brighter too and with that, more retailers are carrying Macs.  In Calgary, BestBuy and London Drugs are recognizable chains that carry the Mac.  So with that in mind, I went shopping for a game for my son for Christmas.  Well it wasn't a terribly pleasant experience.  While the shelves are loaded with software for Windows</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113441873309181199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113441873309181199&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113441873309181199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113441873309181199'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/buying-mac-software.html' title='Buying Mac Software'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113405292272432015</id><published>2005-12-08T07:19:00.000-07:00</published><updated>2006-12-21T20:09:52.257-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>RoR &amp; Foos together at last</title><summary type='text'>Even as my spare time dwindles with the responsibilities of hosting the family Christmas celebrations at our house this year, I still try to find the time to continue my Ruby on Rails education.  In 2005 I looked at a lot of technologies but RoR is one of the first to actually have me interested enough to do more than just read a book.  Let me explain...At work we have a foosball ladder which </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113405292272432015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113405292272432015&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113405292272432015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113405292272432015'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/ror-foos-together-at-last.html' title='RoR &amp; Foos together at last'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113396952092295304</id><published>2005-12-07T08:27:00.000-07:00</published><updated>2006-12-21T20:09:29.501-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Testing</title><summary type='text'>I came in to work this morning only to listen to a QA lead and a senior developer discuss the almighty importance of tests (specifically unit tests).  "They are the specifications, blah, blah, blah".  But you know what I didn't hear, the importance of the actual software itself!  Agile-development, test-first, test-driven, whatever-process-comes-next are all well and good but don't get so damn </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113396952092295304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113396952092295304&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113396952092295304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113396952092295304'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/testing.html' title='Testing'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113349962345619343</id><published>2005-12-01T21:33:00.000-07:00</published><updated>2006-12-21T20:08:47.277-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Work's a drag</title><summary type='text'>A few Pragmatic Programmer tips are:Provide Options, Don't Make Lame ExcusesInstead of excuses, provide options. Don't say it can't be done; explain what can be done. Don't Live with Broken WindowsFix bad designs, wrong decisions, and poor code when you see them.Be a Catalyst for ChangeYou can't force change on people. Instead, show them how the future might be and help them participate in </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113349962345619343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113349962345619343&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113349962345619343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113349962345619343'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/works-drag.html' title='Work&apos;s a drag'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113349774318586281</id><published>2005-12-01T21:18:00.000-07:00</published><updated>2006-12-21T20:07:05.503-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Tornado Foosball</title><summary type='text'>We got a new foosball table at work about a week ago, a Tornado Whirlwind.  Now I can fully indulge my addiction to this fun but difficult-to-explain-to-your-wife game.  The Tornado tables are very solidly built and are designed for a controlled game.  So while we still have some slaptastic players whose style of play is better suited to the "speed-ball" rules, most are coming around to trying to</summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113349774318586281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113349774318586281&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113349774318586281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113349774318586281'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/tornado-foosball.html' title='Tornado Foosball'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113349709154961087</id><published>2005-12-01T21:06:00.000-07:00</published><updated>2006-12-21T20:06:49.086-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Digital Cameras</title><summary type='text'>iPhoto on the Mac was first released in January, 2002 and nearly four years later I've finally joined the party by buying the Canon PowerShot SD450 digital camera.  I learned that size is a pretty big consideration when buying digital devices and generally the smaller the better.  The less of a hindrance it is to take with you, the more likely you are to use it.  That's certainly been my </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113349709154961087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113349709154961087&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113349709154961087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113349709154961087'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/12/digital-cameras.html' title='Digital Cameras'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9841395.post-113263492508841679</id><published>2005-11-21T20:42:00.000-07:00</published><updated>2006-12-21T20:06:30.339-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Genealogy</title><summary type='text'>What started out as an innocent school project for my daughter has turned into a full time project for me!  What was a simple family tree has now turned into a genealogical expedition of epic proportions...  well okay maybe not... But I have discovered some interesting facts:my grandmother on my father's side came from Scotlandmy great Grandfather on my father's side was a candy maker in </summary><link rel='replies' type='application/atom+xml' href='http://cocoalocker.blogspot.com/feeds/113263492508841679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9841395&amp;postID=113263492508841679&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113263492508841679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9841395/posts/default/113263492508841679'/><link rel='alternate' type='text/html' href='http://cocoalocker.blogspot.com/2005/11/genealogy.html' title='Genealogy'/><author><name>sundog</name><uri>http://www.blogger.com/profile/07992544959392470882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-I8UVd9AmvcM/Tfkr3dC3WuI/AAAAAAAAAO4/6uDSgZoeki4/s220/Photo%2Bon%2B2011-06-15%2Bat%2B12.43.jpg'/></author><thr:total>1</thr:total></entry></feed>
