<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;C0QCRn0yeCp7ImA9WhZQFEw.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790</id><updated>2011-04-21T13:42:47.390-05:00</updated><category term="space" /><category term="ruby on rails" /><category term="tools" /><category term="java" /><category term="funny" /><category term="airplane" /><category term="news" /><category term="books" /><category term="mac" /><category term="red hat" /><category term="design" /><category term="music" /><category term="wine" /><category term="webdev" /><category term="testing" /><category term="open source" /><title>Me Type Funny</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>59</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MeTypeFunny" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="metypefunny" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkYMRnY6eyp7ImA9WxVQGEw.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-7448128721823913106</id><published>2009-02-04T23:25:00.010-06:00</published><updated>2009-02-05T00:09:47.813-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-05T00:09:47.813-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="testing" /><title>Testing your way to becoming a master craftsman</title><content type="html">&lt;a href="http://blog.jayfields.com/"&gt;Jay Fields&lt;/a&gt; writes some good stuff, and his &lt;a href="http://blog.jayfields.com/2009/02/thoughts-on-developer-testing.html"&gt;latest post&lt;/a&gt; is is no exception. You should read it.  Really.  Yup, it's a bit long, but I like where he ends up:&lt;br /&gt;&lt;blockquote&gt;When asking how and what you should test, start by thinking about what the goal of your project is. Once you understand your goal, select the tests that will help you achieve your goal. Different goals will definitely warrant using different testing patterns. If you start using a specific testing pattern and it hurts, you're probably using a pattern you don't need, or you've implemented the pattern incorrectly. Remember, we're all still figuring this out, so there's not really patterns that are right; just patterns that are right in a given context.&lt;/blockquote&gt;In other words, we should &lt;span style="font-style: italic; font-weight: bold;"&gt;write tests if it helps write better code&lt;/span&gt;. That's it. Yeah, writing tests will probably help you write code that you know works, but there sure are a lot of ways to test.  So use whatever tools you can to produce something better, but always think and always be ready to learn and adapt.&lt;br /&gt;&lt;br /&gt;I've always liked how the &lt;a href="http://en.wikipedia.org/wiki/Apprenticeship#Trade_and_craft_professions"&gt;trades&lt;/a&gt; have the notion of taking decades to really learn your craft.  First, you start by being an &lt;a href="http://en.wikipedia.org/wiki/Apprenticeship"&gt;apprentice&lt;/a&gt;, where you learn on the job from someone who's right beside you working on the same job, but who's already been there many times before. After you've proven your mettle, you become a &lt;a href="http://en.wikipedia.org/wiki/Journeyman"&gt;journeyman&lt;/a&gt; where you practice on your own, but you continue to learn because you're still under the watchful eye and guidance of a &lt;a href="http://en.wikipedia.org/wiki/Master_craftsman"&gt;master craftsman&lt;/a&gt;.  In order to become a master, though, you have to produce a &lt;span style="font-style: italic;"&gt;masterpiece&lt;/span&gt; and only if that's good enough might you be recognized and elected to the &lt;a href="http://en.wikipedia.org/wiki/Guild"&gt;guild&lt;/a&gt; by the other masters.&lt;br /&gt;&lt;br /&gt;No, building software isn't that different, rather, shouldn't be that different from this. More often than not, known &lt;span style="font-style: italic;"&gt;when&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;why&lt;/span&gt; is just as important as knowing &lt;span style="font-style: italic;"&gt;what&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;how&lt;/span&gt;.  Building good products really does involves more art than most of us would like to admit.&lt;br /&gt;&lt;br /&gt;One thing is for sure: we'll spend the &lt;a href="http://sethgodin.typepad.com/seths_blog/2008/12/10000-hours.html"&gt;rest of our careers&lt;/a&gt; learning to do things better, to write better code, and to craft a better product.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-7448128721823913106?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/7448128721823913106/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=7448128721823913106" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7448128721823913106?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7448128721823913106?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2009/02/testing-your-way-to-becoming-master.html" title="Testing your way to becoming a master craftsman" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkQHSHw4fip7ImA9WxVRFk0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-7572157439344194713</id><published>2009-01-21T22:49:00.002-06:00</published><updated>2009-01-21T22:58:59.236-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-21T22:58:59.236-06:00</app:edited><title>Inauguration pictures</title><content type="html">No, I didn't get to go.  But &lt;a href="http://www.boston.com/bostonglobe/"&gt;The Boston Globe&lt;/a&gt; has an &lt;a href="http://www.boston.com/bigpicture/2009/01/the_inauguration_of_president.html"&gt;excellent collection of photographs&lt;/a&gt; from January 20. &lt;br /&gt;&lt;br /&gt;Also check out &lt;a href="http://www.cnn.com/SPECIALS/2009/44.president/inauguration/themoment/"&gt;CNN's pictures&lt;/a&gt; that use Microsoft's &lt;a href="http://photosynth.com"&gt;PhotoSynth technology&lt;/a&gt; that collects and "stitches together" lots of individual photographs, allowing you to pan and zoom and click to see different photos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-7572157439344194713?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/7572157439344194713/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=7572157439344194713" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7572157439344194713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7572157439344194713?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2009/01/inauguration-pictures.html" title="Inauguration pictures" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0IARXw5cCp7ImA9WxVRFEo.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-7228626606839539253</id><published>2009-01-20T12:15:00.003-06:00</published><updated>2009-01-20T12:19:04.228-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-20T12:19:04.228-06:00</app:edited><title>Whitehouse.gov uses Creative Commons by default</title><content type="html">Very interesting &lt;a href="http://www.whitehouse.gov/copyright/"&gt;copyright page&lt;/a&gt; on the new &lt;a href="http://www.whitehouse.gov/"&gt;Whitehouse.gov&lt;/a&gt; site:&lt;br /&gt;&lt;blockquote&gt;Pursuant to federal law, government-produced materials appearing on this site are not copyright protected. The United States Government may receive and hold copyrights transferred to it by assignment, bequest, or otherwise.&lt;br /&gt;&lt;br /&gt;Except where otherwise noted, third-party content on this site is licensed under a Creative Commons Attribution 3.0 License. Visitors to this website agree to grant a non-exclusive, irrevocable, royalty-free license to the rest of the world for their submissions to Whitehouse.gov under the Creative Commons Attribution 3.0 License.&lt;/blockquote&gt;Change indeed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-7228626606839539253?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/7228626606839539253/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=7228626606839539253" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7228626606839539253?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7228626606839539253?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2009/01/whitehousegov-uses-creative-commons-by.html" title="Whitehouse.gov uses Creative Commons by default" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUQFSHw-cSp7ImA9WxVRE0Q.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-5270380472038489896</id><published>2009-01-19T11:11:00.011-06:00</published><updated>2009-01-19T14:35:19.259-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-19T14:35:19.259-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><title>Git it together with Subversion</title><content type="html">I've recently been exploring &lt;a href="http://git-scm.com"&gt;Git&lt;/a&gt;, and I'm really impressed.  In fact, I'm having a lot of fun.  Yes, tooling is not quite there, but it is coming along.  Among other tools, there's an &lt;a href="http://git.or.cz/gitwiki/EclipsePlugin"&gt;Eclipse plugin&lt;/a&gt; (still pre-1.0), a &lt;a href="http://hudson.gotdns.com/wiki/display/HUDSON/Git+Plugin"&gt;Hudson plugin&lt;/a&gt;, a &lt;a href="http://confluence.atlassian.com/display/JIRAEXT/Jira+Git+Plugin"&gt;JIRA plugin&lt;/a&gt;, and plans for a &lt;a href="http://jira.atlassian.com/browse/FE-337"&gt;Fisheye plugin&lt;/a&gt;.  I've tried the Eclipse plugin, and was moderately impressed.  Some things just don't work yet, but then there still are lots of problems with the &lt;a href="http://www.eclipse.org/subversive/"&gt;Subversive SVN plugin for Eclipse&lt;/a&gt;.  I routinely use the SVN command line interface to do (almost) everything, so using Git from the command line isn't a stretch at all.&lt;br /&gt;&lt;br /&gt;What really convinced me to try Git, though, was how well it does branching.  Actually, &lt;span style="font-style: italic;"&gt;branching and merging&lt;/span&gt;. Quite a few source control management systems can branch, but the problem is they don't merge - or if they do, they don't do it well.   Git, on the other hand, makes merging easy.  In fact, it's really easy to create branches, switch between branches, and merge branches. &lt;br /&gt;&lt;br /&gt;So why am I so hung up on branches?  Well, being able to branch and merge means that I can use branches for everything - bug fixes, new feature work, prototypes, or maintenance.  I can create a branch where I do all my work, and I can commit as many times as I want.  I can even use tags to help me remember important commits (e.g., "all tests pass").  And when my work is complete, I can merge my changes onto as many branches as I need to.  All of this is done locally, without polluting the main repository's trunk or branches.  Of course, if I'm working with other people on a feature or bug (e.g., "please review these changes and provide feedback"), I could expose my own repository or we can leverage a shared repository.  And when the work is all complete, merging onto the official branch(es) is cake, too.&lt;br /&gt;&lt;br /&gt;I don't want this post to be another tutorial about Git.  There are already quite a few resources out there, and Google is your friend.  If you're new to Git, I'd recommend starting with the videos and documentation at &lt;a href="http://git-scm.com/"&gt;git-scm.com&lt;/a&gt;, which is the new home for Git.  If you're wondering "Why would I use Git?", then I'd suggest &lt;a href="http://youtube.com/watch?v=4XpnKHJAok8"&gt;Linus Torvald's talk at Google&lt;/a&gt;. If you're asking "How would I use Git?" or "How does Git work?", then a great starting point is &lt;a href="http://excess.org/article/2008/07/ogre-git-tutorial/"&gt;Bart Trojanowski's excellent tutorial&lt;/a&gt;.  The &lt;a href="http://www.viget.com/"&gt;Viget&lt;/a&gt; folks also have a number of good &lt;a href="http://www.viget.com/extend/a-gaggle-of-git-tips/"&gt;blog&lt;/a&gt; &lt;a href="http://www.viget.com/extend/effectively-using-git-with-subversion/"&gt;posts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What I do want to cover in this post, however, is how to get started with Git and Subversion.  See, Git comes with a bridge to Subversion so that we can use Git locally but can routinely do the equivalent of "svn update" and "svn commit" - on any and all branches. In fact, using Git locally means that we can probably work with SVN branches just as easily as SVN users, but &lt;span style="font-style: italic;"&gt;we can merge branches&lt;/span&gt;.  And since branching and merging are so much easier for us, we can create our own branches locally without having to expose them all to the central SVN repository.&lt;br /&gt;&lt;br /&gt;So, here's my simple introduction to using Git with Subversion.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Install Git&lt;/span&gt;&lt;br /&gt;You can &lt;a href="http://git-scm.com/download"&gt;install it&lt;/a&gt; several different ways, depending on your platform and your preference.  I have a Mac, so I could download and compile it using &lt;a href="http://confluence.concord.org/display/CCTR/Installing+git+with+macports"&gt;MacPorts&lt;/a&gt;, or I could grab the &lt;a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3"&gt;latest installer&lt;/a&gt;. I like simple, so since I don't yet have MacPorts I went for the installer.  Piece of cake.  I also chose to manually set up my path, so in my .bashrc file I added these statements:&lt;br /&gt;&lt;pre&gt;export MANPATH=${MANPATH}:/usr/local/git/man&lt;br /&gt;export PATH=${PATH}:/usr/local/git/bin:/usr/local/git/libexec/git-core/&lt;br /&gt;&lt;/pre&gt;(Okay, I actually used some variables to keep things DRY. I thought the above might cut through all that noise.)  Note that we added "&lt;code&gt;git/libexex/git-core/&lt;/code&gt;" to the PATH.  This directory contains all the commands that start with "git-" (e.g., "git-svn ..." is really the same as running "git svn ...").&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Clone a remote SVN repository&lt;/span&gt;&lt;br /&gt;The next step for me was creating a local git repository that mirrored the remote SVN repository.&lt;br /&gt;&lt;pre&gt;$ git svn clone -s http://example.com/my_subversion_repo local_dir&lt;br /&gt;&lt;/pre&gt;The "-s" option tells git that the Subversion repository use the "standard" naming convention of using "trunk", "branches", and "tags" directories.  When this command runs, it creates a subdirectory called "local_dir", initializes the git repository in that "local_dir", connects to the SVN repository at the URL (which does not include "trunk" or any other branch/tag information), proceeds to download all of the history (including branches and tags) in the SVN repository, does some cleanup, and checks out the equivalent of the SVN "trunk" to our working area. And, because of Git's bridge with SVN, we'll be able to regularly pull changes from SVN into our git repository, and we can even upload changes we make locally back into SVN.&lt;br /&gt;&lt;br /&gt;We now have our new Git repository, so cd into it:&lt;br /&gt;&lt;pre&gt;$ cd local_dir&lt;br /&gt;&lt;/pre&gt;If you look closely, you'll see a couple of things.  First, Git doesn't proliferate your working area with ".svn" folders.  Instead, there's just one ".git" directory at the top.  Git also uses a different technique than SVN for remembering which files and directories should be ignored.  But we can bootstrap Git's ignore information automatically from SVN's.  We'll use the ".gitignore" file in our working area, since we want this information to be versioned and we want everyone using the repository to be able to use it.  If your SVN repository already has a ".gitignore" file, then someone's done the work for you.  Otherwise, you'll have to run the command to generate the file:&lt;br /&gt;&lt;pre name="code class=" shell=""&gt;$ git svn show-ignore &gt; .gitignore&lt;br /&gt;&lt;/pre&gt;This will take a minute or two, depending upon the size of your working area.  I would then commit this new file, placing it in the master branch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Committing (locally)&lt;/span&gt;&lt;br /&gt;To commit our new file, we first have to tell Git that we want to start tracking this file.  Or, in Git parlance, we want to stage the file by adding it to the index:&lt;br /&gt;&lt;pre&gt;$ git add .gitignore&lt;br /&gt;&lt;/pre&gt;We can use the &lt;code&gt;status&lt;/code&gt; command to see a summary of what's already staged, what's being tracked but hasn't been staged, and what's not being tracked at all:&lt;br /&gt;&lt;pre&gt;$ git status .&lt;br /&gt;&lt;/pre&gt;We can also get a more detail report showing all the individual changes that have been staged:&lt;br /&gt;&lt;pre&gt;$ git diff&lt;br /&gt;&lt;/pre&gt;We can then commit our staged changes:&lt;br /&gt;&lt;pre&gt;$ git commit -m "Description of commit" .&lt;br /&gt;&lt;/pre&gt;or, if we want to automatically stage any modified or deleted files, we can add use the "--all" (or "-a") option:&lt;br /&gt;&lt;pre&gt;$ git commit -a -m "Description of commit" .&lt;br /&gt;&lt;/pre&gt;With the "commit command, Git records the entire set of staged changes as a single commit to our current branch, and it moves the branch's HEAD pointer to this last commit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Branching and Merging&lt;/span&gt;&lt;br /&gt;Since your Git repository is local, the process for branching and merging is the same, regardless of whether your Git repository is brand new or whether its based off of a Subversion repository or a Git repository.  Steps for creating a branch, making changes, committing those changes, switching branches, and merging branches is all covered well in other places, so I won't cover it here.&lt;br /&gt;&lt;br /&gt;But if your repository is based off of a SVN repository, you'll still want to pull changes made to Subversion into your repository.  And you'll probably want to be able to push your changes (e.g., commits) back into SVN.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5. Updating from Subversion&lt;/span&gt;&lt;br /&gt;If you're familiar with Subversion, you're hopefully used to doing "svn update" before committing your changes.  This pulls any revisions that others have made since you last updated, and its good form to do this and to make sure everything compiles and runs locally before committing.&lt;br /&gt;&lt;br /&gt;In Git, you do this with the "git svn rebase" command.  This command fetches revisions from the SVN used by the current HEAD (of the current branch), and "rebases" any current commits on the branch to apply to these latest SVN changes.  This is analogous to creating a patch file for each local commit (relative to that commit's parent) since the last rebase, updating the branch with the new SVN revisions, then sequentially applying the patches.  In other words, it takes all your local changes (in the form of commits) and reapplies them to the latest SVN revisions.&lt;br /&gt;&lt;br /&gt;Here's the actually command to rebase the current branch:&lt;br /&gt;&lt;pre&gt;$ git svn rebase&lt;br /&gt;&lt;/pre&gt;If you want to fetch all of the revisions on all branches in the SVN repository and rebase any local commits on those branches, you can add the "--fetch-all" option.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6. Committing back to Subversion&lt;/span&gt;&lt;br /&gt;Once you have rebased your local commits on a branch, you will still have changes to that branch that aren't yet in Subversion.  We want to do the equivalent of an SVN commit, which in Git is to commit each diff on the branch back to SVN:&lt;br /&gt;&lt;pre&gt;$ git svn dcommit&lt;br /&gt;&lt;/pre&gt;This creates a new revision in SVN for each local commit on the branch.  Of course, if you want them to look like a single revision, you'd need to &lt;a href="http://blog.madism.org/index.php/2007/09/09/138-git-awsome-ness-git-rebase-interactive"&gt;squash&lt;/a&gt; the commits before running the &lt;code&gt;dcommit&lt;/code&gt; command.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;This post focused mostly on how to get started with Git using a remote Subversion repository, so I didn't talk much about how to go about branching and merging. I think you'll agree, though, that Git's Subversion bridge seems very intuitive, and in fact many of the same concepts used by the Subversion bridge are the same concepts used by the rest of Git.&lt;br /&gt;&lt;br /&gt;But if you're new to Git, no doubt you're feeling unsure about what Git is and how you'd use it.  Again I'd have to point you to the recording of &lt;a href="http://excess.org/article/2008/07/ogre-git-tutorial/"&gt;Bart Trojanowski's presentation&lt;/a&gt;.  It is 2 hours long, but it really is a fabulous tutorial if you're interested in learning the fundamentals how Git works and how to use Git.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-5270380472038489896?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/5270380472038489896/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=5270380472038489896" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/5270380472038489896?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/5270380472038489896?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2009/01/git-it-together-with-subversion.html" title="Git it together with Subversion" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkMCQnc9eCp7ImA9WxRaEE8.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-817853868630269990</id><published>2008-12-11T12:29:00.002-06:00</published><updated>2008-12-11T12:34:23.960-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-11T12:34:23.960-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="red hat" /><title>JBoss AS 5.0.0 is JEE 5 certified (officially)</title><content type="html">&lt;a href="http://www.jboss.org/jbossas/"&gt;JBoss AS 5.0.0&lt;/a&gt; was released late last week, and now it's officially certified as &lt;a href="http://java.sun.com/javaee/overview/compatibility.jsp"&gt;Java EE 5 compatible&lt;/a&gt;.  Congratulations to the JBoss AS team!&lt;br /&gt;&lt;br /&gt;Get &lt;a href="http://www.jboss.org/jbossas/downloads/"&gt;your copy&lt;/a&gt; today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-817853868630269990?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/817853868630269990/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=817853868630269990" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/817853868630269990?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/817853868630269990?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/jboss-as-500-is-jee-5-certified.html" title="JBoss AS 5.0.0 is JEE 5 certified (officially)" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkMNRHo_eyp7ImA9WxRaEE0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-7050514463367935260</id><published>2008-12-11T09:10:00.002-06:00</published><updated>2008-12-11T09:14:55.443-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-11T09:14:55.443-06:00</app:edited><title>iPhone shortcuts</title><content type="html">This &lt;a href="http://www.iphonejd.com/iphone_jd/2008/11/my-favorite-sho.html"&gt;list of shortcuts&lt;/a&gt; for the iPhone keyboard were too good to pass up.  I already knew about several of them, but others were new.  Love the comma shortcut.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-7050514463367935260?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/7050514463367935260/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=7050514463367935260" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7050514463367935260?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7050514463367935260?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/iphone-shortcuts.html" title="iPhone shortcuts" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CU8FQ3Y-cSp7ImA9WxRbFUw.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-3616615439878937189</id><published>2008-12-05T15:47:00.004-06:00</published><updated>2008-12-05T15:50:12.859-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-05T15:50:12.859-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><title>Map those addresses in Address Book</title><content type="html">This &lt;a href="http://www.briantoth.com/addressbook/"&gt;really cool plugin&lt;/a&gt; for Apple's Address Book allows you to right-click on an address and find it in Google Map (among a few other things).  Simple, and granted it's not something you need to do frequently.  But I have wanted to do this before.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-3616615439878937189?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/3616615439878937189/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=3616615439878937189" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/3616615439878937189?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/3616615439878937189?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/map-those-addresses-in-address-book.html" title="Map those addresses in Address Book" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkYBQ3Y5fyp7ImA9WxRbFEU.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-9139242527840724072</id><published>2008-12-05T08:30:00.004-06:00</published><updated>2008-12-05T08:42:32.827-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-05T08:42:32.827-06:00</app:edited><title>Lambda Lounge is open for business</title><content type="html">Last night was the inaugural meeting of the &lt;a href="http://lambdalounge.org/"&gt;Lambda Lounge&lt;/a&gt;, and turnout was great - more than 30!  The Lambda Lounge is a group that discusses &lt;a href="http://en.wikipedia.org/wiki/Functional_programming"&gt;functional&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Dynamic_programming_language"&gt;dynamic&lt;/a&gt; languages, with an informal format that encourages shorter discussions (not presentations) about these languages and how they compare. &lt;br /&gt;&lt;br /&gt;Last night was kicked off by Alex with a &lt;a href="http://tech.puredanger.com/2008/12/04/lambda-lounge-launch/"&gt;high-level overview&lt;/a&gt;, and then centered on &lt;a href="http://caml.inria.fr/ocaml/index.en.html"&gt;Object Caml&lt;/a&gt; and &lt;a href="http://weblog.dangertree.net/2008/12/05/lambda-lounge-presentation-groovy-categories-and-mixins/"&gt;Groovy's categories and mixins&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Very cool stuff.  If you're interested in languages and in the St. Louis area, drop in during one of the &lt;a href="http://lambdalounge.org/schedule/"&gt;next meetings&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-9139242527840724072?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/9139242527840724072/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=9139242527840724072" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/9139242527840724072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/9139242527840724072?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/lambda-lounge-is-open-for-business.html" title="Lambda Lounge is open for business" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUQCSH87cCp7ImA9WxRbFEU.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-4397679836367133135</id><published>2008-12-05T08:28:00.001-06:00</published><updated>2008-12-05T08:29:29.108-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-05T08:29:29.108-06:00</app:edited><title>JBoss AS 5.0.0.GA is available</title><content type="html">&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Cross post from the&lt;/span&gt;&lt;a style="font-style: italic;" href="http://jbossdna.blogspot.com/2008/12/jboss-as-500ga-is-available.html"&gt; JBoss DNA blog&lt;/a&gt;&lt;span style="font-style: italic;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Great news from JBoss - AS 5.0.0.GA has been released.  It's been a long time coming.  &lt;a href="http://dandreadis.blogspot.com/2008/12/jbossas-500ga-released.html"&gt;Dimitris made the announcement&lt;/a&gt;, and &lt;a href="http://sacha.labourey.com/2008/12/05/as-500-we-are-done-next/"&gt;Sacha describes&lt;/a&gt; what this means for the whole of JBoss. &lt;br /&gt;&lt;br /&gt;This really is a watershed event, since the new &lt;a href="http://in.relation.to/Bloggers/MicrocontainerGoes200GA"&gt;Microcontainer&lt;/a&gt; has such an amazing framework for assembling all kinds of services and technologies.  All the &lt;a href="http://oddthesis.org/posts/2008-12-structure-prevents-chaos"&gt;cool&lt;/a&gt; &lt;a href="http://oddthesis.org/posts/2008-11-diagram-of-deployers"&gt;stuff&lt;/a&gt; that &lt;a href="http://oddthesis.org/"&gt;Bob&lt;/a&gt; is doing with JBoss Rails (&lt;a href="http://oddthesis.org/posts/2008-12-jboss-rails-1-0-beta-2-released"&gt;1.0 Beta2&lt;/a&gt; earlier this week) is just one example.&lt;br /&gt;&lt;br /&gt;Congrats!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-4397679836367133135?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/4397679836367133135/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=4397679836367133135" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4397679836367133135?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4397679836367133135?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/jboss-as-500ga-is-available.html" title="JBoss AS 5.0.0.GA is available" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0cBRn4_eip7ImA9WxRbE0s.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-2635523279297830653</id><published>2008-12-03T20:25:00.009-06:00</published><updated>2008-12-03T21:24:17.042-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-03T21:24:17.042-06:00</app:edited><title>PostgreSQL on OS X</title><content type="html">&lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt; is one of my favorite database systems, and it's maybe the best open source database there is. Obviously for production, I'd run in on &lt;a href="http://www.redhat.com/rhel/"&gt;RHEL&lt;/a&gt;, and installing's a piece of cake with some &lt;a href="http://yum.pgsqlrpms.org/howtoyum.php"&gt;yum magic&lt;/a&gt;.  But for development purposes, a local database is a must.&lt;br /&gt;&lt;br /&gt;Well, there are &lt;a href="http://www.postgresql.org/download/macosx"&gt;several ways&lt;/a&gt; to install on OS X.  But easy is great, and &lt;a href="http://www.enterprisedb.com/"&gt;Enterprise DB&lt;/a&gt; is kind enough to maintain an &lt;a href="http://www.enterprisedb.com/products/pgdownload.do#osx"&gt;installer&lt;/a&gt;.  It'll prompt you for the installation location (including data), the administrative password, and the port number (defaults to 5432).  The installer will even configure PostgreSQL to start automatically (although you can &lt;a href="http://forums.enterprisedb.com/posts/list/1501.page"&gt;change that&lt;/a&gt; if you want).&lt;br /&gt;&lt;br /&gt;And luckily, the PostgreSQL JDBC driver is in the Maven repositories (even the &lt;a href="http://repository.jboss.com/maven2/"&gt;JBoss Maven 2 repository&lt;/a&gt;).  That makes using JDBC a cinch:&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&amp;lt;dependency&gt;&lt;br /&gt;  &amp;lt;groupid&gt;postgresql&amp;lt;/groupid&gt;&lt;br /&gt;  &amp;lt;artifactid&gt;postgresql&amp;lt;/artifactid&gt;&lt;br /&gt;  &amp;lt;version&gt;8.3-603.jdbc4&amp;lt;/version&gt;&lt;br /&gt;&amp;lt;/dependency&gt;&lt;br /&gt;&lt;/pre&gt;And of course the &lt;a href="http://www.postgresql.org/docs/8.3/interactive/index.html"&gt;8.3 manual&lt;/a&gt; (with comments).  Now, we're all set.&lt;br /&gt;&lt;br /&gt;Oh, and the installer also adds some nice OS X applications for starting, stopping, restarting, and administering databases.  Just look under &lt;code&gt;/Applications/PostgreSQL 8.3&lt;/code&gt; (or the appropriate version).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-2635523279297830653?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/2635523279297830653/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=2635523279297830653" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/2635523279297830653?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/2635523279297830653?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/postgresql-on-os-x.html" title="PostgreSQL on OS X" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CU4GQ3o_cSp7ImA9WxRbGEk.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-6484878394657105464</id><published>2008-12-02T09:11:00.007-06:00</published><updated>2008-12-09T11:32:02.449-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T11:32:02.449-06:00</app:edited><title>Give a little</title><content type="html">&lt;span style="font-weight: bold; font-style: italic;"&gt;Update&lt;/span&gt;&lt;span style="font-style: italic;"&gt;: Added a reference for the 800K number.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Times are tough for a lot of people.  Prices seem like they're climbing quickly.  Almost every day there's news about companies that don't make it or that are cutting jobs.  And for all those people that we regularly see, there are more that we likely don't see that need as much help as they can get.  And it's not always obvious, but a downturn in the economy generally means times get more difficult for charities and food pantries, too.&lt;br /&gt;&lt;br /&gt;This is where you come in.  It just takes 3 simple steps.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Step 1&lt;/span&gt;.  Ask if your company or office makes a holiday donation.  If so, thank your management.  If times are tough, maybe that holiday party doesn't need to be so nice.  I'm lucky - my employer (&lt;a href="http://redhat.com/"&gt;Red Hat&lt;/a&gt;) is donating the money it would have used for its massive annual holiday party to &lt;a href="http://feedingamerica.org/"&gt;Feeding America&lt;/a&gt;, formerly known as America's Second Harvest.  That's about enough money to pay for &lt;a href="http://www.linuxinsider.com/story/Red-Hat-Chooses-Food-Bank-Over-Festivities-65376.html"&gt;800,000 meals&lt;/a&gt; at food banks around the country!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Step 2&lt;/span&gt;.  If your office has a food drive, bring in some food.  If it doesn't, then organize one.  It really doesn't take much time.  Just send an email and ask people to bring non-perishable food items by a certain date.  (No really.  Go ahead.  I'll wait.)  Then in a few days, send an email reminder.  After everyone's brought in their donations, take the food to a worthy food bank or local church.  That's not difficult, is it?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Step 3&lt;/span&gt;.  Ask several other people to do the same thing at their office.&lt;br /&gt;&lt;br /&gt;The point is that you can help people that are going through tough times.  It doesn't have to be anything grandiose, or expensive, or time-consuming.  Just give a little.  Who knows - maybe it'll feel good and you'll want to give a little more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-6484878394657105464?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/6484878394657105464/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=6484878394657105464" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6484878394657105464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6484878394657105464?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/give-little.html" title="Give a little" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkINRH8yeSp7ImA9WxRbEUQ.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-6723408703130066129</id><published>2008-12-01T22:57:00.005-06:00</published><updated>2008-12-01T23:09:55.191-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-01T23:09:55.191-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><title>Syntax highlighting</title><content type="html">I finally got around to adding syntax highlighting, and used a very nice &lt;a href="http://fazibear.blogspot.com/2007/09/blogger-syntax-higlighter.html"&gt;Blogger widget&lt;/a&gt; that uses &lt;a href="http://code.google.com/p/syntaxhighlighter/"&gt;Syntax Highligher&lt;/a&gt;.  It's not the newest kid on the block, but it looks good and it seems to handle really well all the languages I work with.  And it's minimal work - gotta love that.&lt;br /&gt;&lt;br /&gt;If you care to follow along with your own blog on Blogger, just add the widget to your page (by going &lt;a href="http://fazibear.googlepages.com/blogger.html"&gt;here&lt;/a&gt; and clicking the "Add to Blogger").  Then, all you have to do in any post with a &lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt; section is just add a &lt;code&gt;name&lt;/code&gt; attribute with a value of "code" and a &lt;code&gt;class&lt;/code&gt; attribute with a value of the &lt;a href="http://code.google.com/p/syntaxhighlighter/wiki/Languages"&gt;language name&lt;/a&gt;.  For example:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;pre name="code" class="html"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-6723408703130066129?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/6723408703130066129/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=6723408703130066129" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6723408703130066129?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6723408703130066129?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/12/syntax-highlighting.html" title="Syntax highlighting" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkYNSHg9eSp7ImA9WxRVFkU.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-7855911833479549504</id><published>2008-11-14T10:26:00.002-06:00</published><updated>2008-11-14T10:29:59.661-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-14T10:29:59.661-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>SAX broken in Java 6 and 7 (and how open source really works)</title><content type="html">I mentioned this at last night's &lt;a href="http://www.ociweb.com/javasig/"&gt;St. Louis JUG&lt;/a&gt; meeting, and thought I'd cross post it here.  Basically, SAX handler events for entities are called in the wrong order on Java 6 and 7.  See the &lt;a href="http://jbossdna.blogspot.com/2008/11/sax-broken-in-java-6-and-7-and-how-open.html"&gt;JBoss DNA blog posting&lt;/a&gt; for details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-7855911833479549504?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/7855911833479549504/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=7855911833479549504" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7855911833479549504?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7855911833479549504?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/11/sax-broken-in-java-6-and-7-and-how-open.html" title="SAX broken in Java 6 and 7 (and how open source really works)" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A04ASHY9eSp7ImA9WxRVFko.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-6968585691889355238</id><published>2008-11-14T10:19:00.003-06:00</published><updated>2008-11-14T10:25:49.861-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-14T10:25:49.861-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Java technology downloads all on one page</title><content type="html">Sun's &lt;a href="http://java.sun.com/products/archive/"&gt;Java archive&lt;/a&gt; is a great place to go to download any of the Java technologies.  Learn something new every day, right?&lt;br /&gt;&lt;br /&gt;Props to &lt;a href="http://www.jboss.org/community/people/cbredesen"&gt;Chris&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-6968585691889355238?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/6968585691889355238/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=6968585691889355238" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6968585691889355238?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6968585691889355238?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/11/java-technology-downloads-all-on-one.html" title="Java technology downloads all on one page" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0AASXc5eip7ImA9WxRVFko.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-8181777333664227415</id><published>2008-11-12T11:04:00.002-06:00</published><updated>2008-11-14T09:15:48.922-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-14T09:15:48.922-06:00</app:edited><title>JBoss DNA presentation at tomorrows St Louis JUG</title><content type="html">Just a reminder that I'll be presenting &lt;a href="http://www.jboss.org/dna"&gt;JBoss DNA&lt;/a&gt; at tomorrow's &lt;a href="http://www.ociweb.com/javasig/"&gt;St Louis JUG&lt;/a&gt; meeting.  (Psst: I'll be giving away some goodies.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt;  The slides are available &lt;a href="http://labs.jboss.com/dna/docs/jboss_dna_overview_2008-11.pdf"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-8181777333664227415?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/8181777333664227415/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=8181777333664227415" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/8181777333664227415?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/8181777333664227415?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/11/jboss-dna-presentation-at-tomorrows-st.html" title="JBoss DNA presentation at tomorrows St Louis JUG" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cFR3Y9fyp7ImA9WxRVFU0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-7803207242009159938</id><published>2008-11-12T10:51:00.002-06:00</published><updated>2008-11-12T10:56:56.867-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-12T10:56:56.867-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="ruby on rails" /><category scheme="http://www.blogger.com/atom/ns#" term="red hat" /><category scheme="http://www.blogger.com/atom/ns#" term="webdev" /><title>Enterprise Ruby on Rails with JBoss</title><content type="html">&lt;a href="http://sacha.labourey.com/2008/11/12/the-first-clustered-ror-server-is-jboss/"&gt;More progress&lt;/a&gt; on the ability to run &lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; on top of a clustered JBoss server with load-balancing and state replication.  (And RoR developers just see their normal RoR world and don't have to see or use Java.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-7803207242009159938?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/7803207242009159938/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=7803207242009159938" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7803207242009159938?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/7803207242009159938?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/11/enterprise-ruby-on-rails-with-jboss.html" title="Enterprise Ruby on Rails with JBoss" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;DkMDRXw_eip7ImA9WxRVFU0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-6386797437520944071</id><published>2008-11-12T09:21:00.004-06:00</published><updated>2008-11-12T09:41:14.242-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-12T09:41:14.242-06:00</app:edited><title>Flu trending in the US</title><content type="html">Google has a new service: &lt;a href="http://www.google.org/flutrends/"&gt;tracking the flu&lt;/a&gt;.  It works by tracking searches for flu-related topics, which they've correlated with CDC information about flu symptoms.  More info &lt;a href="http://www.google.org/about/flutrends/how.html"&gt;here&lt;/a&gt;, including a comparison between the 2007-2008 Google trend and actual CDC data.&lt;br /&gt;&lt;br /&gt;Google Flu Trends offers more than just the traditional Google trend information.  The trend data for the past 5 years is also included.  Plus, there's a map of the United States where you can mouse over each state to see the activity summary.  Click on any state to see the trend data for that state. And you can &lt;a href="http://www.google.org/about/flutrends/download.html"&gt;get the data&lt;/a&gt;, too (if you're into that kind of thing).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt; I normally don't notice right-hand columns - I think I've trained myself to ignore them because of the ads.  Anyway, the Google Flu Trends page does more than just show you the data: it tries to help by (1) telling you the first step is to get a flu shot, and (2) makes it easy to find out where to get a flu shot in your area.  Nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-6386797437520944071?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/6386797437520944071/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=6386797437520944071" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6386797437520944071?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6386797437520944071?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/11/flu-trending-in-us.html" title="Flu trending in the US" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cASHk9eCp7ImA9WxRVFU0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-448596888395151635</id><published>2008-11-03T19:58:00.004-06:00</published><updated>2008-11-12T10:57:29.760-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-12T10:57:29.760-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><title>A fix for slow DNS lookups on OS X</title><content type="html">I've been experiencing pretty painful internet access, especially to Google services.  After some investigation, it looks like the DNS lookups are pretty darn slow, but once an address is obtained, my bandwidth is nice and speedy like it should be.  Apparently &lt;a href="http://technocrat.net/d/2008/8/23/48134"&gt;I'm not&lt;/a&gt; &lt;a href="http://discussions.apple.com/thread.jspa?threadID=1719417&amp;amp;tstart=0"&gt;the only&lt;/a&gt; &lt;a href="http://forum.insanelymac.com/index.php?showtopic=121517"&gt;one&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;(Oh, and yes I verified that I don't have the &lt;a href="http://www.macworld.com/article/60823/2007/10/trojanhorse.html"&gt;DNS trojan horse&lt;/a&gt; that inserts malicious DNS servers in your network settings.)&lt;br /&gt;&lt;br /&gt;Apparently one of the latest updates to 10.5 included some changes to request both &lt;a href="http://en.wikipedia.org/wiki/IPv4"&gt;IPv4&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/IPv6"&gt;IPv6&lt;/a&gt; addresses (all part of moving to IPv6).  My guess is that Charter.com's DNS servers don't handle these well, and this is causing a delay.  Per &lt;a href="http://technocrat.net/d/2008/8/23/48134"&gt;Kai&lt;/a&gt;, I tried the &lt;a href="https://www.opendns.com/homenetwork/start/device/apple-osx-leopard"&gt;OpenDNS DNS servers&lt;/a&gt; on my wireless router, and network requests seems to be way-fast again.  Woo-hoo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-448596888395151635?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/448596888395151635/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=448596888395151635" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/448596888395151635?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/448596888395151635?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/11/fix-for-slow-dns-lookups-on-os-x.html" title="A fix for slow DNS lookups on OS X" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUUDQXk5eSp7ImA9WxRWF08.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-4851907479893479333</id><published>2008-11-03T09:43:00.002-06:00</published><updated>2008-11-03T09:47:50.721-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-03T09:47:50.721-06:00</app:edited><title>Frustration-free packaging</title><content type="html">&lt;a href="http://www.amazon.com/gp/help/customer/display.html?nodeId=200285450"&gt;Amazon's "frustration-free packaging"&lt;/a&gt; is pure genius.  After all, there's no point in a warehouse having the same standard crappy packaging found in stores.&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://www.37signals.com/svn/posts/1365-ffp-comparison-2v261895878"&gt;Matt&lt;/a&gt; for the tip.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-4851907479893479333?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/4851907479893479333/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=4851907479893479333" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4851907479893479333?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4851907479893479333?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/11/frustration-free-packaging.html" title="Frustration-free packaging" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cCSHY7cCp7ImA9WxRVFU0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-73684875114065396</id><published>2008-10-16T14:20:00.002-05:00</published><updated>2008-11-12T10:57:49.808-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-12T10:57:49.808-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="ruby on rails" /><category scheme="http://www.blogger.com/atom/ns#" term="red hat" /><category scheme="http://www.blogger.com/atom/ns#" term="webdev" /><title>Rails on JBoss</title><content type="html">&lt;a href="http://www.fnokd.com/"&gt;Bob&lt;/a&gt; is making some really &lt;a href="http://www.fnokd.com/2008/10/16/boot-up-jboss/"&gt;great progress&lt;/a&gt; in setting up &lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; running on &lt;a href="http://www.jboss.org/jbossas/"&gt;JBoss Application Server&lt;/a&gt; with &lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt;.  He's got it to the point where the RoR environment will be like any other, but it can run on a cluster of JBoss app servers (perhaps even &lt;a href="http://www.fnokd.com/2008/10/11/stumbling-through-technology/"&gt;in the cloud&lt;/a&gt;).  To make it easier to create those clusters, he's setting up a RoR + JBoss AS virtual appliance. &lt;br /&gt;&lt;br /&gt;This is so cool.  For the RoR developer, simply grab the virtual appliance and set up your cluster, then work as normal.  Oh, except that you're running on the best open source application server.&lt;br /&gt;&lt;br /&gt;But stay tuned for even more.  After all, this is just after a month or so of hard work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-73684875114065396?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/73684875114065396/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=73684875114065396" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/73684875114065396?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/73684875114065396?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/10/rails-on-jboss.html" title="Rails on JBoss" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0UCQX48eCp7ImA9WxRQGUk.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-6879116459666019844</id><published>2008-10-13T18:34:00.002-05:00</published><updated>2008-10-13T18:41:00.070-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T18:41:00.070-05:00</app:edited><title>Human rights animation</title><content type="html">Very interesting animation that really brings life to the 60th anniversary of the &lt;a href="http://www.humanrightsactioncenter.org/"&gt;Universal Declaration of Human Rights&lt;/a&gt;.  Via &lt;a href="http://www.coolhunting.com/archives/2008/10/the_universal_d.php"&gt;Tim&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hTlrSYbCbHE&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hTlrSYbCbHE&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-6879116459666019844?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/6879116459666019844/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=6879116459666019844" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6879116459666019844?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/6879116459666019844?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/10/human-rights-animation.html" title="Human rights animation" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0QARn88fSp7ImA9WxRQGUk.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-8606223743164592394</id><published>2008-10-13T18:24:00.003-05:00</published><updated>2008-10-13T18:42:27.175-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T18:42:27.175-05:00</app:edited><title>Beached</title><content type="html">This is a &lt;a href="http://vimeo.com/1785993"&gt;really cool video&lt;/a&gt;, done in the same &lt;a href="http://en.wikipedia.org/wiki/Tilt-shift_miniature_faking"&gt;tilt-shift effect&lt;/a&gt; that make real-life images look like photos of tiny toy worlds.  It's an effect that almost always just blows my mind.  Here are some outstanding &lt;a href="http://www.flickr.com/search/?q=tiltshift&amp;amp;w=all"&gt;photos on Flickr&lt;/a&gt; using the same technique.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="225"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1785993&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=1785993&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/1785993?pg=embed&amp;amp;sec=1785993"&gt;Beached&lt;/a&gt; from &lt;a href="http://vimeo.com/keithloutit?pg=embed&amp;amp;sec=1785993"&gt;Keith Loutit&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;amp;sec=1785993"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Props to &lt;a href="http://andrewsullivan.theatlantic.com/the_daily_dish/2008/10/mental-health-3.html"&gt;Andrew&lt;/a&gt; for the video reference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-8606223743164592394?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/8606223743164592394/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=8606223743164592394" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/8606223743164592394?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/8606223743164592394?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/10/beached.html" title="Beached" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cDRHwyeyp7ImA9WxRVFU0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-4375505010881339063</id><published>2008-10-13T12:04:00.002-05:00</published><updated>2008-11-12T10:57:55.293-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-12T10:57:55.293-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><title>Locking the screen on OS X</title><content type="html">Have you ever wanted to walk away from your Mac and lock your screen, without waiting for the screensaver to kick in?  For some reason, there's no menu item on the Apple menu to do this.  Well, I wanted to finally figure this out, and an &lt;a href="http://www.macworld.com/article/49080/2006/01/lockscreen.html"&gt;old MacWorld article&lt;/a&gt; has some great tips that use OS X and don't require installing any software.  And &lt;a href="http://whatdoiknow.org/archives/000957.shtml"&gt;What Do I Know&lt;/a&gt; has another interesting one.&lt;br /&gt;&lt;br /&gt;Personally, I went with adding the "ScreenSaveEngine" application to my dock.  And with a little training, &lt;a href="http://blacktree.com/?quicksilver"&gt;Quicksilver&lt;/a&gt; is trained now, too.&lt;br /&gt;&lt;br /&gt;Any other suggestions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-4375505010881339063?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/4375505010881339063/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=4375505010881339063" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4375505010881339063?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4375505010881339063?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/10/locking-screen-on-os-x.html" title="Locking the screen on OS X" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE4ERHgycCp7ImA9WxRREUo.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-4106252490140237906</id><published>2008-09-23T08:32:00.002-05:00</published><updated>2008-09-23T08:35:05.698-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-23T08:35:05.698-05:00</app:edited><title>15 steps to installing Bluetooth on Windows 2008</title><content type="html">Check out this &lt;a href="http://www.realsoftwaredevelopment.com/installing-bluetooth-on-windows-2008/"&gt;simple tutorial&lt;/a&gt; for setting up Bluetooth on Windows 2008.  Does Microsoft still wonder why people are switching to Macs?  Seriously.  Fifteen ... 15 ... steps!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-4106252490140237906?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/4106252490140237906/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=4106252490140237906" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4106252490140237906?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/4106252490140237906?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/09/15-steps-to-installing-bluetooth-on.html" title="15 steps to installing Bluetooth on Windows 2008" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YESXo7eCp7ImA9WxRVFU0.&quot;"><id>tag:blogger.com,1999:blog-7011479328516375790.post-1063400957489543310</id><published>2008-08-27T08:00:00.002-05:00</published><updated>2008-11-12T10:58:28.400-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-12T10:58:28.400-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><title>Ubiquity - Quicksilver for the browser and web</title><content type="html">The &lt;a href="http://labs.mozilla.com/2008/08/introducing-ubiquity/"&gt;Ubiquity&lt;/a&gt; project from Mozilla (the people that brought you &lt;a href="http://www.mozilla.com/en-US/firefox/"&gt;Firefox&lt;/a&gt;) is a fascinating look at what the future of web browsing might be like.  It claims to be enable browser users to use language and commands to mash up information in their browser.  As I watched the &lt;a href="http://www.vimeo.com/1561578"&gt;screencast&lt;/a&gt;, I was immediately thought of &lt;a href="http://www.blacktree.com/"&gt;Quicksilver&lt;/a&gt;.  If you're a Mac user, you probably use OS X every day to quickly get around your Mac.  If you're not, you don't know what you're missing.  (In more ways than one.)&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt;    &lt;param name="allowfullscreen" value="true"&gt;    &lt;param name="allowscriptaccess" value="always"&gt;    &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1561578&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;    &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1561578&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1561578?pg=embed&amp;amp;sec=1561578"&gt;Ubiquity for Firefox&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user532161?pg=embed&amp;amp;sec=1561578"&gt;Aza Raskin&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;amp;sec=1561578"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, Ubiquity is really a proof of concept and a prototype, but it's obviously a shift in capability.  Would you be interested in Ubiquity in your browser?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7011479328516375790-1063400957489543310?l=metypefunny.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://metypefunny.blogspot.com/feeds/1063400957489543310/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7011479328516375790&amp;postID=1063400957489543310" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/1063400957489543310?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7011479328516375790/posts/default/1063400957489543310?v=2" /><link rel="alternate" type="text/html" href="http://metypefunny.blogspot.com/2008/08/ubiquity-quicksilver-for-browser-and.html" title="Ubiquity - Quicksilver for the browser and web" /><author><name>Randall</name><uri>http://www.blogger.com/profile/09849680010606981478</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry></feed>

