<?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-3059692</id><updated>2012-01-28T11:42:40.638-05:00</updated><category term='Vista'/><category term='Kindle'/><category term='SQL'/><category term='PS3'/><category term='movies'/><category term='books'/><category term='NYC'/><category term='Christmas'/><category term='programming'/><category term='comics'/><category term='ebay'/><category term='PSP'/><category term='scifi'/><category term='Wii'/><category term='NJ'/><category term='music'/><category term='games'/><category term='art'/><category term='Windows'/><category term='Blogger'/><category term='Apple'/><category term='BlackBerry'/><category term='Quicken'/><category term='Lotus'/><category term='phone'/><category term='tivo'/><category term='PHP'/><category term='SDCC'/><category term='GTD'/><category term='csharp'/><category term='food'/><category term='software'/><category term='Linux'/><category term='Japan'/><category term='family'/><category term='PS2'/><category term='internet'/><category term='drupal'/><category term='video'/><category term='asp.net'/><category term='anime'/><category term='coffee'/><category term='podcasts'/><category term='football'/><category term='Somerville'/><category term='hardware'/><title type='text'>blog.andrewhuey.com</title><subtitle type='html'>Pointlessly blogging since 2001.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default?start-index=26&amp;max-results=25'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1512</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3059692.post-3245156183502859753</id><published>2012-01-28T11:42:00.000-05:00</published><updated>2012-01-28T11:42:40.650-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>Computer Books</title><content type='html'>After finishing the &lt;a href="http://2012/01/drupal-7.html"&gt;Drupal 7&lt;/a&gt; book I bought a few weeks ago, I decided, for some reason, to get back to a book that I bought back in &lt;a href="http://2010/04/aspnet-and-other-net-stuff.html"&gt;April 2010&lt;/a&gt; -- Dino Esposito's "Introducing Microsoft ASP.NET AJAX." I started reading it not long after I bought it, but I put it down after reading the first few chapters and just never got back to it. It's somewhat out of date now, but it's still got some useful info in it.&lt;br /&gt;&lt;br /&gt;I just finished the chapter on the &lt;a href="http://ajaxcontroltoolkit.codeplex.com/"&gt;Ajax Control Toolkit&lt;/a&gt;. Now, I've been using the ACT a lot at my current job, but it turns out there are several controls and extenders in there that could be pretty useful, and of which I was completely unaware. I've tended towards doing client-side stuff with &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;, like pretty much every other web developer on the planet, but there are times where I think the ACT could have made things easier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-3245156183502859753?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/3245156183502859753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=3245156183502859753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3245156183502859753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3245156183502859753'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/computer-books.html' title='Computer Books'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-7402381284301865901</id><published>2012-01-25T07:32:00.001-05:00</published><updated>2012-01-25T07:35:43.569-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>creating an API documentation site in Drupal</title><content type='html'>Part of my job involves maintaining the REST API for a product called &lt;a href="http://bullseye.electricvine.com/"&gt;Bullseye&lt;/a&gt;. It's an evolving API, and we've always kept the documentation in a Word file, which we simply print to PDF and publish to our web site. But, it seems kind of silly not to have a real on-line documentation site, so I started working on one recently. I'm using the &lt;a href="http://drupal.org/documentation/modules/book"&gt;book module&lt;/a&gt; in Drupal, along with &lt;a href="http://drupal.org/project/ckeditor"&gt;CKEditor&lt;/a&gt; and &lt;a href="http://drupal.org/project/geshifilter"&gt;GeSHi&lt;/a&gt;. Right now, I'm simply going through the Word doc, and pasting stuff into Drupal nodes using the "paste from Word" function in CKEditor. I've been pleasantly surprised at how well that works. The HTML that results usually looks pretty clean. For code samples, I just decorate them with the GeSHi tags and that does a pretty good job. I want to mess with the font settings in GeSHi a bit, but other than that, I like it.&lt;br /&gt;&lt;br /&gt;At some point, I'm going to want to see how I can go in and hyperlink related classes and methods, and stuff like that. I'm hoping I can find a way to do that automatically, rather than having to go in and manually create a bunch of hyperlinks.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-7402381284301865901?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/7402381284301865901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=7402381284301865901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/7402381284301865901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/7402381284301865901'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/creating-api-documentation-site-in.html' title='creating an API documentation site in Drupal'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-185366360893559699</id><published>2012-01-22T18:46:00.000-05:00</published><updated>2012-01-22T18:48:37.470-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Windows backup weirdness</title><content type='html'>I hadn't done a backup of my main home desktop PC in a while, so I decided to get one done today. I've previously used the built-in &lt;a href="http://windows.microsoft.com/en-US/windows7/products/features/backup-and-restore"&gt;Windows 7 Backup&lt;/a&gt;, and, more recently, &lt;a href="http://www.crashplan.com/"&gt;Crash Plan&lt;/a&gt;. I've had problems with both, so I needed to find another backup program.&amp;nbsp; I have a 1 TB drive, about 70% full, and two 500 GB drives that I can use for the backup. So, I need a program that can split the backup across two drives, which turns out to be more of a limiting factor than you'd think it would be. I'm currently running a backup with &lt;a href="http://www.macrium.com/reflectfree.aspx"&gt;Macrium Reflect Free&lt;/a&gt;, which *should* be able to split the backup between two drives, though I'm not sure if it will or not.&lt;br /&gt;&lt;br /&gt;The "weirdness" referenced in the title of this post is with regard to the speed of the backup. This is a desktop PC, and I've never really tweaked the power settings on it. I have the display set to blank after 10 minutes, but my assumption has always been that the PC will keep running at full speed, if it's doing something, like a backup. When I started the backup, it was running at about 300 Mb/sec. That seemed like a good speed, and I expected it to get done fairly quickly. I've noticed, though, that if I check on it after it's been running for awhile, it shows at 100 Mb/s.&amp;nbsp; If I sit in front of it for a few minutes, it gets back up to about 300 Mb/s. But, if I step away for an hour, then come back, it's back down to 100 Mb/s. So, clearly, something is happening to slow it down after a certain period of keyboard/mouse inactivity. So, I've switched the power settings from "recommended" to "high performance", thinking that maybe it's going into a low-power mode or something, but I don't think that's helped. Which could mean that some other background process is kicking in after a few minutes of keyboard/mouse inactivity and slowing things down. All very frustrating. We'll see if I can manage to get a backup done before the NFC Championship game is over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-185366360893559699?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/185366360893559699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=185366360893559699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/185366360893559699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/185366360893559699'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/windows-backup-weirdness.html' title='Windows backup weirdness'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-4502097598222249750</id><published>2012-01-19T22:34:00.001-05:00</published><updated>2012-01-19T22:34:11.373-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>DrupalCamp NJ</title><content type='html'>I haven't blogged in a couple of weeks, so I thought I'd throw a quick post up. I've been busy with some personal stuff, listing my parents' old house with a new real estate agent and lowering the price. I did some cleaning too, but there's still a lot I could do to make the place look nicer and hopefully more attractive to potential buyers. We'll see how much of that I manage to get done.&lt;br /&gt;&lt;br /&gt;I'm still working on learning &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt;. I've worked my way through most of the &lt;a href="https://www.packtpub.com/drupal-7-create-and-operate-website-quickly-and-efficiently/book"&gt;Drupal 7 book&lt;/a&gt; that I started a couple of weeks ago. I want to finish that, and then maybe start into learning &lt;a href="https://www.packtpub.com/drupal-7-module-development/book"&gt;module development&lt;/a&gt;. And I just registered for&lt;a href="http://www.drupalcampnj.org/"&gt; DrupalCamp NJ&lt;/a&gt;, on Feb 4, at Princeton. That should be interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-4502097598222249750?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/4502097598222249750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=4502097598222249750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/4502097598222249750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/4502097598222249750'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/drupalcamp-nj.html' title='DrupalCamp NJ'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-6708786645960993290</id><published>2012-01-01T23:00:00.000-05:00</published><updated>2012-01-01T23:00:55.808-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>1&amp;1 Linux</title><content type='html'>In anticipation of installing Drupal on my 1&amp;1 account soon, I went into my control panel and poked around a bit.  First, I found that my account was set to use PHP 4. It was pretty easy to switch it to PHP 5. A call to phpinfo() shows that I'm now at 5.2.17. That's not quite up to date, but it's probably close enough.&lt;br/&gt;I also looked into the MySQL setup. Several years ago, I set up a MySQL database on my account. That database is still there, at MySQL 4, with a 100 MB limit. Just for the heck of it, I created a new database. The new one is MySQL 5, and has a 1 GB limit. So, that's nice. (There doesn't seem to be any way to upgrade the old MySQL 4 db to MySQL 5, but that's fine, since it's empty.)&lt;br/&gt;I even went as far as uploading the Drupal 7 tar.gz file today, but the 1&amp;1 web file browser can't unzip tar.gz files, so I'm going to need to get to a command prompt to do that, and it's a little late to get into that tonight.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-6708786645960993290?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/6708786645960993290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=6708786645960993290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/6708786645960993290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/6708786645960993290'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/1-linux.html' title='1&amp;1 Linux'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-2243149388573039593</id><published>2012-01-01T21:34:00.000-05:00</published><updated>2012-01-22T17:51:13.450-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>Drupal 7</title><content type='html'>&lt;div class="float-right"&gt;&lt;iframe class=" huqjfqoixsojqwrhegup" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=blogandrewhue-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=1849512868" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;/div&gt;This is one of the books I bought in ebook format from &lt;a href="https://www.packtpub.com/"&gt;Packt&lt;/a&gt; last week. It's a beginner/intermediate level book on Drupal 7, covering installation, configuration, and administration. It covers all of the basics (as far as I can tell) along with some of the more interesting parts. I'm about halfway through it. I find that I'm skimming over parts of it, since some aspects of Drupal are pretty obvious, if you've ever used a CMS before.&lt;br /&gt;The formatting of the epub file, which I'm reading on my iPad, leaves a bit to be desired. I'm pretty sure that some special characters were lost in translation somewhere.  There are a lot of places where there should probably have been an em-dash, and there is no em-dash, for instance. And I just came across a table that got screwed up so the text that should have been in the second column is instead just superimposed over the text that should have been in the first column.  (The PDF file for the book looks fine though.)&lt;br /&gt;I think I've been spoiled by O'Reilly's ebooks. They generally have accurate and reasonable formatting for their PDF, epub, and mobi files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-2243149388573039593?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/2243149388573039593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=2243149388573039593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/2243149388573039593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/2243149388573039593'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/drupal-7.html' title='Drupal 7'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-4848168170881631873</id><published>2012-01-01T21:17:00.000-05:00</published><updated>2012-01-01T21:17:29.103-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>messing around with the blog a bit</title><content type='html'>I just spent a little time cleaning up the files on my 1&amp;amp;1 account, moving anything that I think might be referenced by the blog into a ./blogfiles folder, then changing my files.andrewhuey.com address to point there, instead of at the root. I think it worked out OK.&lt;br /&gt;I now have nothing pointing at the root, which frees me up a bit to experiment with setting up different sites in different subdirectories, and not having to worry about them being accessible in unexpected ways. For instance, I'm probably going to be setting up a test Drupal site soon.&amp;nbsp; I can put it in a ./drupal folder, and set drupal.andrewhuey.com to point there.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-4848168170881631873?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/4848168170881631873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=4848168170881631873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/4848168170881631873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/4848168170881631873'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/messing-around-with-blog-bit.html' title='messing around with the blog a bit'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-147573553212429839</id><published>2012-01-01T10:27:00.000-05:00</published><updated>2012-01-01T10:27:27.477-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>Happy New Year</title><content type='html'>I went to bed at 11pm last night, and got up at 6:30 today, so I can't say I had a wild &amp;amp; crazy New Year's Eve. That's OK though.&lt;br /&gt;Early in the year, I often find a few things that I've been putting off for too long, and try to take care of them. This morning's project has been getting redirects in place on this web site, so that links to my old blog entries, from back when I was using Blogger's old FTP publishing, to andrewhuey.org, will do 301 redirects to the appropriate pages at blog.andrewhuey.com, where the pages are now dynamically generated by Blogger.&lt;br /&gt;I switched from FTP to "custom domain" back in &lt;a href="http://2010_02_01_archive.html/"&gt;Feb 2010&lt;/a&gt;, so I've put off the redirect stuff for long enough that it probably doesn't matter anymore. But it seems like a good idea anyway.&lt;br /&gt;I don't know that much about .htaccess files and ModRewrite, but I know just enough to be dangerous. I picked up some hints on what I need to do &lt;a href="http://www.webconfs.com/how-to-redirect-a-webpage.php"&gt;here&lt;/a&gt; and &lt;a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html"&gt;here&lt;/a&gt;.&lt;br /&gt;The part of my .htaccess file that handles redirection now looks like this:&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;Options +FollowSymLinks&lt;br /&gt;RewriteEngine on&lt;br /&gt;RewriteCond %{HTTP_HOST}   !^files\.andrewhuey\.com [NC]&lt;br /&gt;RewriteRule (.*) http://blog.andrewhuey.com/$1 [R=301,L]&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;I use files.andrewhuey.com to reference various files on my web server. Everything else should just get redirected to blog.andrewhuey.com. So, pretty simple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-147573553212429839?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/147573553212429839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=147573553212429839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/147573553212429839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/147573553212429839'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2012/01/happy-new-year.html' title='Happy New Year'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-7168586788875247441</id><published>2011-12-30T14:43:00.001-05:00</published><updated>2011-12-30T14:43:35.342-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Drupal 7 clean URLs</title><content type='html'>I have today off from work, so I've been sitting around at home, messing with Drupal.&lt;br /&gt;I couldn't quite figure out how to get clean URLs to work, until I stumbled across &lt;a href="http://coolestguyplanet.net/coolest-guy-on-the-planet/fastest-way-of-installing-drupal-7-4-on-mac-os-x-10-6"&gt;this article&lt;/a&gt;. (See the "post-installation tips" section at the end.) Pretty simple really, and I should have been able to figure it out on my own, if I'd read as far as the RewriteBase section of the main &lt;a href="http://drupal.org/getting-started/clean-urls"&gt;clean URLs article&lt;/a&gt; on drupal.org.&lt;br /&gt;&lt;br /&gt;I also went a bit nuts at&lt;a href="http://www.packtpub.com/"&gt; www.packtpub.com&lt;/a&gt; today. They are running a special, 5 ebooks for $60, so I bought four Drupal books and one PHP book. I'm building up a bit of a library of ebooks that I've bought on sale, mostly from O'Reilly.&amp;nbsp; I never seem to have time to read them though!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-7168586788875247441?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/7168586788875247441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=7168586788875247441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/7168586788875247441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/7168586788875247441'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/12/drupal-7-clean-urls.html' title='Drupal 7 clean URLs'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-8953980543006522518</id><published>2011-12-29T21:14:00.000-05:00</published><updated>2011-12-30T14:32:24.517-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Drupal 7</title><content type='html'>After staying out too late Tuesday night, then going to bed at 8:30pm last night, I finally had some free time after work tonight to play around with Drupal. I installed Drupal 7 on my MacBook, following &lt;a href="http://drupal.org/documentation/install/developers"&gt;these instructions&lt;/a&gt;. The only real trouble I had was in making sure that every host reference was set to 127.0.0.1 rather than localhost, or anything else.&lt;br /&gt;&lt;br /&gt;Most of the obvious stuff seems to be working.&amp;nbsp; I haven't figured out &lt;a href="http://drupal.org/node/15365"&gt;clean URLs&lt;/a&gt; yet though. &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-8953980543006522518?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/8953980543006522518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=8953980543006522518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/8953980543006522518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/8953980543006522518'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/12/drupal-7.html' title='Drupal 7'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-1741013339622097485</id><published>2011-12-22T22:14:00.000-05:00</published><updated>2012-01-22T18:01:01.018-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>xAMP on the Mac</title><content type='html'>I've been trying to learn a bit about &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; recently. It looks like we might be getting some Drupal projects at work, so it seemed like a good idea.&lt;br /&gt;&lt;br /&gt;To get a working setup for Drupal on my Mac, I wanted to get all the pieces in place -- Apache, PHP, and MySQL, basically. Apache is, of course, already there, and I already had that turned on, so no problem.&lt;br /&gt;&lt;br /&gt;PHP was already installed, but apparently got turned off during the 10.7 upgrade. All you need to do to turn it on is edit httpd.conf, and uncomment one line, per &lt;a href="http://stackoverflow.com/questions/6790568/how-do-you-get-php-working-on-mac-os-x-lion-10-7"&gt;this SO page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For MySQL, there's an installer that works pretty smoothly, per &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/macosx-installation.html"&gt;this page&lt;/a&gt;. One odd thing I stumbled across at one point is that you usually need to refer to your local server as '127.0.0.1' rather than 'localhost'. Long story, but something worth noting. Also, if you're not sure how to set the root password, take a look at &lt;a href="http://stackoverflow.com/questions/6474775/setting-the-mysql-root-user-password-on-mac"&gt;this SO page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I tested to make sure that MySQL was working from PHP using this litle test script:&lt;br /&gt;&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$db = mysql_connect("127.0.0.1:3306", "root", "password");&lt;br /&gt;&lt;br /&gt;if (!$db) {&lt;br /&gt;    die('Could not connect' . mysql_error());&lt;br /&gt;}&lt;br /&gt;    echo 'Connected successfully';&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;I can't remember exactly where I found that, but it's a pretty basic script.&lt;br /&gt;&lt;br /&gt;I then got a little ambitious and decided to try to get &lt;a href="http://www.phpmyadmin.net/"&gt;phpMyAdmin&lt;/a&gt; working. I made a couple of simple mistakes here, including not quite understanding that config.inc.php needed to be in the root phpMyAdmin folder and not in the config subfolder.&lt;br /&gt;&lt;br /&gt;Also, the warning from phpMyAdmin about &lt;a href="http://us.php.net/mcrypt"&gt;mcrypt&lt;/a&gt; not being installed was bugging me, so I decided to try and fix that. That turned out to be kind of complicated. I followed &lt;a href="http://michaelgracie.com/2011/07/21/plugging-mcrypt-into-php-on-mac-os-x-lion-10-7/"&gt;these instructions&lt;/a&gt;, and they worked, but only on my second try. I must have gotten something wrong on the first try. Also, I found &lt;a href="http://craigwaterman.com/2011/07/21/adding-mcrypt-to-php-on-os-x-10-7-lion/"&gt;another page&lt;/a&gt; with similar instructions, so referencing that may help if anything on the first page seems confusing.&lt;br /&gt;&lt;br /&gt;In the end, I think I really should have just gone with &lt;a href="http://www.mamp.info/"&gt;MAMP&lt;/a&gt;, but of course I was doing this as a learning exercise, so it was valuable to go through all this, even if it took a lot longer than was probably necessary.&lt;br /&gt;&lt;br /&gt;And I still don't have Drupal installed. Maybe tomorrow!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-1741013339622097485?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/1741013339622097485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=1741013339622097485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/1741013339622097485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/1741013339622097485'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/12/xamp-on-mac.html' title='xAMP on the Mac'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-6091835406074414321</id><published>2011-12-10T20:35:00.001-05:00</published><updated>2011-12-10T20:36:09.577-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>digital comics</title><content type='html'>I just spend $38 on $76 worth of digital comics from Dark Horse.&amp;nbsp; I had a 50% off coupon, good even on stuff that was already on sale. I now have nearly all the Hellboy and BPRD comics that came out since i stopped buying them regularly in 2009. Plus the first 16 issues of The Goon, which I've wanted to read, but never got around to buying. A little over 50 comics total.&amp;nbsp; Digital comics never seem worthwhile to me when they're priced at close to the regular print cover price, but for less than $1 each, they're not a bad deal.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-6091835406074414321?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/6091835406074414321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=6091835406074414321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/6091835406074414321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/6091835406074414321'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/12/digital-comics.html' title='digital comics'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-2840862164459228455</id><published>2011-11-30T07:35:00.001-05:00</published><updated>2011-11-30T07:53:08.178-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>fun with modal popups</title><content type='html'>At work, we frequently use the &lt;a href="http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx"&gt;ModalPopupExtender&lt;/a&gt; from the &lt;a href="http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/"&gt;Ajax Control Toolkit&lt;/a&gt; in our projects. I've got mixed feelings about this control, and about the ACT in general, but for better or worse, I do use it a lot. I discovered some functionality in the control this week that I was previously unaware of, so I thought I'd write up a blog entry on it, along with some related stuff that I stumbled across.&lt;br /&gt;&lt;br /&gt;I needed to attach some JavaScript to the show and hide events for the popup, but wasn't sure how to do that. It turns out that there are add_shown() and add_hiding() events that you can hook into, as described &lt;a href="http://weblogs.asp.net/yousefjadallah/archive/2010/04/15/add-shown-amp-add-hiding-modalpopupextender-events.aspx"&gt;here&lt;/a&gt;. I initially found out about add_shown() at this &lt;a href="http://stackoverflow.com/questions/5482/how-to-specify-javascript-to-run-when-modalpopupextender-is-shown"&gt;StackOverflow&lt;/a&gt; page.&lt;br /&gt;&lt;br /&gt;I then tried to hook up the event in the pageLoad() routine as shown in an example there. What I didn't realize was that you can only have one pageLoad() function, and there was another one in a master page that was in my hierarchy, so my version didn't get called. I then found out that I should change both of those to use Sys.Application.add_load() via this &lt;a href="http://stackoverflow.com/questions/988166/asp-net-ajax-multiple-pageload-functions-possible"&gt;SO page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Then, I followed up by learning a bit about the differences between pageLoad() and $(document).ready() at &lt;a href="http://encosia.com/document-ready-and-pageload-are-not-the-same/"&gt;Encosia&lt;/a&gt;, which is one of the best sites out there for figuring out some of the trickier stuff when working with ASP.NET and JavaScript.&lt;br /&gt;&lt;br /&gt;P.S. I just noticed that this is post # 1500 on my blog. There's no real importance to that, but it's always nice to hit a milestone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-2840862164459228455?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/2840862164459228455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=2840862164459228455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/2840862164459228455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/2840862164459228455'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/11/fun-with-modal-popups.html' title='fun with modal popups'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-5960764644390212983</id><published>2011-11-29T07:12:00.001-05:00</published><updated>2011-11-30T07:32:16.435-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Fractions!</title><content type='html'>I haven't posted much code to my blog lately, so I thought I'd pass along some general-purpose C# code that I recently used in a project. I'm working on a system right now where the original author made some, shall we say, interesting decisions about how to store data in SQL. Specifically, he used varchar fields for most of the numeric data. And, in those fields, he sometimes stores the data in decimal format (e.g. "1.5"), sometimes as fractions (e.g. "1 1/2") and sometimes as explicitly-signed fractions ("+1 1/2").&amp;nbsp; I, of course, need to do LOTS of math on these numbers. The decimal fields can be dealt with using good old &lt;a href="http://msdn.microsoft.com/en-us/library/system.decimal.tryparse.aspx"&gt;TryParse&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/system.decimal.tostring.aspx"&gt;ToString&lt;/a&gt; of course, but there's no obvious parse routine for fractions, nor is there an obvious way to turn a decimal number back into a fraction string.&lt;br /&gt;&lt;br /&gt;The internet, of course, provides. &lt;a href="http://amrelgarhytech.blogspot.com/2008/03/fraction-to-decimal.html"&gt;Here&lt;/a&gt; is a VB.NET function to turn a fraction string into a decimal and there is some C# code to convert a decimal into a fraction string in &lt;a href="http://social.msdn.microsoft.com/Forums/ar/csharplanguage/thread/e4df16cf-4207-4b76-8116-e02f689135ec"&gt;this thread&lt;/a&gt;. I converted the VB.NET to C#, and cleaned both of them up and put them in a utility class.&amp;nbsp; Here it is:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Globalization;&lt;br /&gt;&lt;br /&gt;namespace MySuit.MySuitV2.BLL&lt;br /&gt;{&lt;br /&gt;    public class Utility&lt;br /&gt;    {&lt;br /&gt;        public static decimal FractionToDecimal(string frac)&lt;br /&gt;        {&lt;br /&gt;            // this method should convert a fraction, e.g. "12 1/4" to a decimal, e.g. 12.25.&lt;br /&gt;            // based on http://amrelgarhytech.blogspot.com/2008/03/fraction-to-decimal.html&lt;br /&gt;            // TODO: not sure how best to handle exceptions here. (parse errors, div by zero, null/empty string input...)&lt;br /&gt;            decimal rv;&lt;br /&gt;            int numerator, denominator, wholePart = 0;&lt;br /&gt;            int sign = 1;&lt;br /&gt;&lt;br /&gt;            if (string.IsNullOrEmpty(frac))&lt;br /&gt;                return 0m;&lt;br /&gt;&lt;br /&gt;            // deal with signs&lt;br /&gt;            frac = frac.Trim().TrimStart('+');&lt;br /&gt;            if (frac[0] == '-')&lt;br /&gt;            {&lt;br /&gt;                frac = frac.TrimStart('-');&lt;br /&gt;                sign = -1;&lt;br /&gt;            }&lt;br /&gt;            frac = frac.Trim();&lt;br /&gt;&lt;br /&gt;            if (frac.IndexOf("/") &amp;gt; 0)&lt;br /&gt;            {&lt;br /&gt;                if (frac.IndexOf(" ") &amp;gt; 0)&lt;br /&gt;                {&lt;br /&gt;                    wholePart = int.Parse(frac.Substring(0, frac.IndexOf(" ")));&lt;br /&gt;                    frac = frac.Substring(frac.IndexOf(" "));&lt;br /&gt;                }&lt;br /&gt;                numerator = int.Parse(frac.Substring(0, frac.IndexOf("/")));&lt;br /&gt;                denominator = int.Parse(frac.Substring(frac.IndexOf("/") + 1));&lt;br /&gt;                rv = sign * (wholePart + ((decimal)numerator / denominator));&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                rv = decimal.Parse(frac);&lt;br /&gt;            }&lt;br /&gt;            return rv;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string DecimalToFractionSigned(decimal value)&lt;br /&gt;        {&lt;br /&gt;            // always put a sign (+/-) in front&lt;br /&gt;            string rv = DecimalToFraction(value);&lt;br /&gt;            if (rv[0] != '-')&lt;br /&gt;                rv = string.Format("+{0}", rv);&lt;br /&gt;            return rv;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string DecimalToFraction(decimal value)&lt;br /&gt;        {&lt;br /&gt;            // taken from here: http://bit.ly/tHaKrK and modified to work with negative numbers too.&lt;br /&gt;&lt;br /&gt;            int sign = 1;&lt;br /&gt;            if (value &amp;lt; 0)&lt;br /&gt;            {&lt;br /&gt;                value = Math.Abs(value);&lt;br /&gt;                sign = -1;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            // get the whole value of the fraction&lt;br /&gt;            decimal mWhole = Math.Truncate(value);&lt;br /&gt;&lt;br /&gt;            // get the fractional value&lt;br /&gt;            decimal mFraction = value - mWhole;&lt;br /&gt;&lt;br /&gt;            // initialize a numerator and denominator&lt;br /&gt;            uint mNumerator = 0;&lt;br /&gt;            uint mDenominator = 1;&lt;br /&gt;&lt;br /&gt;            // ensure that there is actually a fraction&lt;br /&gt;            if (mFraction &amp;gt; 0m)&lt;br /&gt;            {&lt;br /&gt;                // convert the value to a string so that you can count the number of decimal places there are&lt;br /&gt;                string strFraction = mFraction.ToString().Remove(0, 2);&lt;br /&gt;&lt;br /&gt;                // store the number of decimal places&lt;br /&gt;                uint intFractLength = (uint)strFraction.Length;&lt;br /&gt;&lt;br /&gt;                // set the numerator to have the proper amount of zeros&lt;br /&gt;                mNumerator = (uint)Math.Pow(10, intFractLength);&lt;br /&gt;&lt;br /&gt;                // parse the fraction value to an integer that equals [fraction value] * 10^[number of decimal places]&lt;br /&gt;                uint.TryParse(strFraction, out mDenominator);&lt;br /&gt;&lt;br /&gt;                // get the greatest common divisor for both numbers&lt;br /&gt;                uint gcd = GreatestCommonDivisor(mDenominator, mNumerator);&lt;br /&gt;&lt;br /&gt;                // divide the numerator and the denominator by the greatest common divisor&lt;br /&gt;                mNumerator = mNumerator / gcd;&lt;br /&gt;                mDenominator = mDenominator / gcd;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            // create a string builder&lt;br /&gt;            StringBuilder mBuilder = new StringBuilder();&lt;br /&gt;&lt;br /&gt;            // add the whole number if it's greater than 0&lt;br /&gt;            if (mWhole &amp;gt; 0m)&lt;br /&gt;            {&lt;br /&gt;                mBuilder.Append(mWhole);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            // add the fraction if it's greater than 0m&lt;br /&gt;            if (mFraction &amp;gt; 0m)&lt;br /&gt;            {&lt;br /&gt;                if (mBuilder.Length &amp;gt; 0)&lt;br /&gt;                {&lt;br /&gt;                    mBuilder.Append(" ");&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                mBuilder.Append(mDenominator);&lt;br /&gt;                mBuilder.Append("/");&lt;br /&gt;                mBuilder.Append(mNumerator);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            if (sign == -1)&lt;br /&gt;                mBuilder.Insert(0, '-');&lt;br /&gt;&lt;br /&gt;            return mBuilder.ToString();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        private static uint GreatestCommonDivisor(uint valA, uint valB)&lt;br /&gt;        {&lt;br /&gt;            // return 0 if both values are 0 (no GSD)&lt;br /&gt;            if (valA == 0 &amp;amp;&amp;amp; valB == 0)&lt;br /&gt;            {&lt;br /&gt;                return 0;&lt;br /&gt;            }&lt;br /&gt;            // return value b if only a == 0&lt;br /&gt;            else if (valA == 0 &amp;amp;&amp;amp; valB != 0)&lt;br /&gt;            {&lt;br /&gt;                return valB;&lt;br /&gt;            }&lt;br /&gt;            // return value a if only b == 0&lt;br /&gt;            else if (valA != 0 &amp;amp;&amp;amp; valB == 0)&lt;br /&gt;            {&lt;br /&gt;                return valA;&lt;br /&gt;            }&lt;br /&gt;            // actually find the GSD&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                uint first = valA;&lt;br /&gt;                uint second = valB;&lt;br /&gt;&lt;br /&gt;                while (first != second)&lt;br /&gt;                {&lt;br /&gt;                    if (first &amp;gt; second)&lt;br /&gt;                    {&lt;br /&gt;                        first = first - second;&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        second = second - first;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                return first;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I hope this helps anyone who might be looking for something similar. Also, I want to reiterate that I didn't write this code from scratch. I took two existing functions, one in VB and one in C#, converted the VB to C#, cleaned them both up a bit, and put them together. &lt;br /&gt;&lt;br /&gt;Luckily, by the way, all of the fractions I'm dealing with resolve to simple decimal numbers; everything is x/2, x/4, or x/8. I don't have to deal with converting 1/3 to decimal and back. If you need to do that, you probably want a class that stores the fractions as numerator and denominator, and does math on them, as fractions.&amp;nbsp; There are a couple of those out there, if you look around.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-5960764644390212983?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/5960764644390212983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=5960764644390212983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/5960764644390212983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/5960764644390212983'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/11/fractions.html' title='Fractions!'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-8217337208527991991</id><published>2011-11-27T14:29:00.001-05:00</published><updated>2011-11-27T14:44:55.772-05:00</updated><title type='text'>Steve Jobs - 1985</title><content type='html'>I recently finished reading a long interview with Steve Jobs that was published in Playboy back in 1985.  You can find a text version of it &lt;a href="http://www.txtpost.com/playboy-interview-steven-jobs/"&gt;here&lt;/a&gt; or read it at Playboy.com &lt;a href="http://www.playboy.com/magazine/playboy-interview-steve-jobs"&gt;here&lt;/a&gt;. Some of the stuff in the interview is kind of funny, in retrospect.  Some other stuff is a little heartbreaking, for obvious reasons.My favorite part of the interview is when they started talking about the future of computing:&lt;br /&gt;&lt;br /&gt;PLAYBOY: What will change?&lt;br /&gt;&lt;br /&gt;JOBS: The most compelling reason for most people to buy a computer for the home will be to link it into a nationwide communications network. We’re just in the beginning stages of what will be a truly remarkable breakthrough for most people—as remarkable as the telephone.&lt;br /&gt;&lt;br /&gt;PLAYBOY: Specifically, what kind of breakthrough are you talking about?&lt;br /&gt;&lt;br /&gt;JOBS: I can only begin to speculate. We see that a lot in our industry: You don’t know exactly what’s going to result, but you know it’s something very big and very good.&lt;br /&gt;&lt;br /&gt;PLAYBOY: Then for now, aren’t you asking home-computer buyers to invest $3000 in what is essentially an act of faith?&lt;br /&gt;&lt;br /&gt;JOBS: In the future, it won’t be an act of faith. The hard part of what we’re up against now is that people ask you about specifics and you can’t tell them. A hundred years ago, if somebody had asked Alexander Graham Bell, “What are you going to be able to do with a telephone?” he wouldn’t have been able to tell him the ways the telephone would affect the world. He didn’t know that people would use the telephone to call up and find out what movies were playing that night or to order some groceries or call a relative on the other side of the globe. But remember that first the public telegraph was inaugurated, in 1844. It was an amazing breakthrough in communications. You could actually send messages from New York to San Francisco in an afternoon. People talked about putting a telegraph on every desk in America to improve productivity. But it wouldn’t have worked. It required that people learn this whole sequence of strange incantations, Morse code, dots and dashes, to use the telegraph. It took about 40 hours to learn. The majority of people would never learn how to use it. So, fortunately, in the 1870s, Bell filed the patents for the telephone. It performed basically the same function as the telegraph, but people already knew how to use it. Also, the neatest thing about it was that besides allowing you to communicate with just words, it allowed you to sing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-8217337208527991991?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/8217337208527991991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=8217337208527991991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/8217337208527991991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/8217337208527991991'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/11/steve-jobs-1985.html' title='Steve Jobs - 1985'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-2987706265368824113</id><published>2011-11-27T14:26:00.000-05:00</published><updated>2011-11-27T14:28:03.444-05:00</updated><title type='text'>In praise of impractical programming</title><content type='html'>Here's a great little article from &lt;a href="http://www.niemanlab.org/2011/11/in-praise-of-impractical-programming/"&gt;Nieman Journalism Lab&lt;/a&gt; on impractical programming. &lt;blockquote&gt;"All that matters is that you strike out on journeys without clear destinations in lands you hardly know. Be impractical. Cast spells."&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-2987706265368824113?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/2987706265368824113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=2987706265368824113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/2987706265368824113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/2987706265368824113'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/11/in-praise-of-impractical-programming.html' title='In praise of impractical programming'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-1552825000065998641</id><published>2011-11-23T22:13:00.000-05:00</published><updated>2011-11-23T22:13:19.149-05:00</updated><title type='text'>BOAT's Landlocked with John Roderick</title><content type='html'>I heard this song on the radio a few days ago, and liked it a lot.&lt;br /&gt;Here's a live version of it I found on YouTube.&lt;br /&gt;&lt;iframe width="459" height="344" src="http://www.youtube.com/embed/8IEbXjU-Ct8?fs=1" frameborder="0" allowFullScreen=""&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-1552825000065998641?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/1552825000065998641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=1552825000065998641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/1552825000065998641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/1552825000065998641'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/11/boats-landlocked-with-john-roderick.html' title='BOAT&apos;s Landlocked with John Roderick'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/8IEbXjU-Ct8/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-3921099784754964560</id><published>2011-11-13T15:06:00.001-05:00</published><updated>2011-11-13T19:52:50.762-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='NYC'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iOS programming</title><content type='html'>I'm more than half-way through my &lt;a href="http://i5.nyu.edu/%7Emm64/INFO1-CE9236/"&gt;iOS programming class&lt;/a&gt; at &lt;a href="http://www.scps.nyu.edu/"&gt;NYU&lt;/a&gt;. I've missed one class due to a flat tire, and I've been a bit under the weather during a couple of classes, but I'm definitely getting something out of the class.&lt;br /&gt;I've made a &lt;a href="http://en.wikipedia.org/wiki/Hypotrochoid"&gt;Hypotrochoid&lt;/a&gt; generator the basis for my previous two homework assignments, so that's been kind of fun. I didn't figure out the code for this myself. Rather, I took the C# code found &lt;a href="http://blog.csharphelper.com/2010/01/18/draw-a-hypotrochoid-spirograph-curve-in-c.aspx"&gt;here&lt;/a&gt;, and converted it to Objective-C / Cocoa.&lt;br /&gt;All of my homework code is up on my &lt;a href="https://github.com/andyhuey/INFO1-CE9236"&gt;Github&lt;/a&gt; page, if anyone wants to look at it for some reason.&lt;br /&gt;And here's a quick &lt;a href="http://screencast.com/t/KAPkfi0cLeO"&gt;screencast&lt;/a&gt; of my app. Not that exciting really, but fun to write.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-3921099784754964560?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/3921099784754964560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=3921099784754964560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3921099784754964560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3921099784754964560'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/11/ios-programming.html' title='iOS programming'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-7132839331809325956</id><published>2011-11-03T07:30:00.002-04:00</published><updated>2011-11-03T07:30:20.916-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kindle'/><title type='text'>Kindle e-book lending</title><content type='html'>Interesting to see that Amazon is now letting Prime members &lt;a href="http://reviews.cnet.com/8301-33198_7-57317330-286/amazon-launches-free-e-book-borrowing-for-prime-members"&gt;borrow e-books&lt;/a&gt;. Only one at a time, and from a limited selection, but it's a start. I bought four e-books yesterday from Amazon, all $1.99 or $2.99, and I probably have 30 or 40 unread books on my Kindle right now anyway, so I don't have much need for this program at this point. But I like where they're going with Amazon Prime.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-7132839331809325956?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/7132839331809325956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=7132839331809325956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/7132839331809325956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/7132839331809325956'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/11/kindle-e-book-lending.html' title='Kindle e-book lending'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-3498317319851279340</id><published>2011-10-26T20:28:00.000-04:00</published><updated>2011-10-26T20:28:07.381-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Dark Horse</title><content type='html'>I've bought a few digital comics via the &lt;a href="http://www.comixology.com/digital/"&gt;Comixology&lt;/a&gt; iPad app over the last year, but I hadn't bought any through the &lt;a href="https://digital.darkhorse.com/"&gt;Dark Horse&lt;/a&gt; app until today. I just bought the new &lt;a href="https://digital.darkhorse.com/profile/1216.groo-hogs-of-horder-bundle/"&gt;Groo&lt;/a&gt; mini-series (which apparently came out in print in 2009), and a &lt;a href="https://digital.darkhorse.com/profile/1609.classic-usagi-yojimbo-1-4-bundle/"&gt;Classic Usagi Yojimbo&lt;/a&gt; mini-series, which may be a digital-only release. The bundle pricing on these books is pretty reasonable, but you can only buy the bundles through the web site, not the app.&lt;br /&gt;I've found myself reading comics on the iPad a lot recently, mostly while I'm on the train. I should really be working my way through the &lt;a href="http://shop.oreilly.com/product/0636920010258.do"&gt;Programming iOS 4&lt;/a&gt; ebook that I started a while ago, but I've been finding that my brain isn't really up for that sometimes.&lt;br /&gt;One interesting comic I've been reading via Comixology recently is &lt;a href="http://visionmachine.net/"&gt;Vision Machine&lt;/a&gt;. The whole three-issue series is completely free. It originally came out just about one year ago, and there was a &lt;a href="http://www.gregpak.com/entries/002165.shtml"&gt;panel&lt;/a&gt; about it at last year's NYCC, moderated by Andy Ihnatko.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-3498317319851279340?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/3498317319851279340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=3498317319851279340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3498317319851279340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3498317319851279340'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/10/dark-horse.html' title='Dark Horse'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-76593651713695387</id><published>2011-10-13T11:00:00.000-04:00</published><updated>2011-10-13T11:00:05.267-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iOS 5</title><content type='html'>I haven't updated either my iPhone or iPad to &lt;a href="http://developer.apple.com/technologies/ios5/"&gt;iOS 5&lt;/a&gt; yet, but, as a programmer, I'm happy to see that they're finally doing &lt;a href="http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic-reference-counting.html"&gt;automatic reference counting&lt;/a&gt; in Objective-C. I'm wondering if the instructor for my NYU iOS class is going to work any iOS 5 stuff into the class or not.&amp;nbsp; I could see where it would be hard to update class materials on the fly for this stuff, and our classroom iMacs probably still haven't been updated to the latest version of XCode, but I'm hopeful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-76593651713695387?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/76593651713695387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=76593651713695387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/76593651713695387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/76593651713695387'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/10/ios-5.html' title='iOS 5'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-5286829530357330945</id><published>2011-10-12T22:06:00.001-04:00</published><updated>2011-10-12T22:09:03.552-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><category scheme='http://www.blogger.com/atom/ns#' term='NYC'/><title type='text'>off to NYCC 2011</title><content type='html'>I'm heading out to &lt;a href="http://www.newyorkcomiccon.com/"&gt;NYCC&lt;/a&gt; tomorrow. I'm pretty sure that the last con I went to was NYCC 2009, which was back in February 2009, before they moved the con to the fall. I had plans to go to NYAF in 2009 also, which would have been in September, but my Dad was in the hospital at that time, so I skipped it. So I haven't been to a con in a while.&lt;br /&gt;&lt;br /&gt;I was also thinking that I haven't really taken a vacation (other than a long weekend) in a while either.  I guess that NYCC in Feb 2009 was the last time, though I think I only took Friday off for that, so that would also have just been a long weekend. This time, I'm taking Thursday, Friday, and Monday off, but I've got class at NYU on Thursday night, and a doctor's appointment back in NJ on Monday, so I don't know if this really counts as more than a long weekend.&lt;br /&gt;&lt;br /&gt;The last San Diego show I went to was 2008. For SDCC, I would have flown out on Wednesday, come back on Monday, and I probably took Tuesday off to do laundry and relax, so that's a solid seven days away from work. So July 2008 was likely the last serious vacation I had, which involved leaving the NY/NJ area, and staying away for more than a few days.And I can't remember the last time I took a whole work week, Monday to Friday, off and had a good full nine days away from work. Technically, I wasn't working at all during April 2010, in between leaving NMS/Spar and starting at Electric Vine, but there was enough going on then that it sure didn't feel like a vacation.&lt;br /&gt;&lt;br /&gt;So this long blog post that was going to be about NYCC 2011 has turned into a rumination on my lack of time off over the last few years. I'm going to have to come up with a plan to remedy that, though I'm really not that enthusiastic about any particular vacation idea right now. I'd like to get back to SDCC and/or WonderCon next year, so maybe I should look at that as my goal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-5286829530357330945?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/5286829530357330945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=5286829530357330945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/5286829530357330945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/5286829530357330945'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/10/off-to-nycc-2011.html' title='off to NYCC 2011'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-382232207887751604</id><published>2011-10-05T20:35:00.000-04:00</published><updated>2011-10-05T20:35:23.985-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>RIP Steve</title><content type='html'>So sad to hear of &lt;a href="http://www.apple.com/stevejobs/"&gt;Steve Jobs&lt;/a&gt; passing tonight. Only 56 years old.I'm starting an iOS dev class at NYU tomorrow night.  That first class is going to feel a little weird now. I remember, years ago, being kind of mad at Steve for killing off the Newton, and its OS.  It took a while to get from the Newton to where we are now with iOS, the iPhone, iPad, and iPod Touch, but we wouldn't have gotten here without Steve Jobs. And I have to grudgingly admit that killing the Newton was probably the right decision. Sorry Steve.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-382232207887751604?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/382232207887751604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=382232207887751604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/382232207887751604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/382232207887751604'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/10/rip-steve.html' title='RIP Steve'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-4331987042934785518</id><published>2011-10-01T19:54:00.000-04:00</published><updated>2011-10-01T19:54:38.298-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><title type='text'>Planetary</title><content type='html'>I finally read the last issue of &lt;a href="http://en.wikipedia.org/wiki/Planetary_%28comics%29"&gt;Planetary&lt;/a&gt; today. It came out in 2009, and the previous issue came out in 2006, so it's been about 5 years since I read an issue. I managed to find all the issues back to #16 in my mostly undifferentiated pile(s) of old comics, so I got a chance to re-read a bunch of issues leading up to it.Planetary had been one of my favorite series, despite the long gaps between issues.  That last issue was a nice one, and a fitting end to the series. It does leave open some possibilities, and it would be nice to see Ellis and Cassaday come back to it, but I guess that's unlikely.I found a couple of good online references to the series, &lt;a href="http://home.earthlink.net/~richardsonag/planetary.htm"&gt;here&lt;/a&gt; and &lt;a href="http://home.earthlink.net/~rkkman/frames/pageMain.htm"&gt;here&lt;/a&gt;. It's a very dense series, so it helps to read someone else's perspective on it, just to see things you've missed, or that might have alternate interpretations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-4331987042934785518?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/4331987042934785518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=4331987042934785518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/4331987042934785518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/4331987042934785518'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/10/planetary.html' title='Planetary'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3059692.post-3013979641935704237</id><published>2011-10-01T15:59:00.002-04:00</published><updated>2011-10-01T16:00:07.890-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>your protector</title><content type='html'>One more music embed. This is a good one.&lt;iframe width="400" height="100" style="position: relative; display: block; width: 400px; height: 100px;" src="http://bandcamp.com/EmbeddedPlayer/v=2/track=790451264/size=venti/bgcol=FFFFFF/linkcol=4285BB/" allowtransparency="true" frameborder="0"&gt;&lt;a href="http://lottekestner.bandcamp.com/track/your-protector"&gt;your protector by lotte kestner&lt;/a&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3059692-3013979641935704237?l=blog.andrewhuey.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.andrewhuey.com/feeds/3013979641935704237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3059692&amp;postID=3013979641935704237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3013979641935704237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3059692/posts/default/3013979641935704237'/><link rel='alternate' type='text/html' href='http://blog.andrewhuey.com/2011/10/your-protector.html' title='your protector'/><author><name>Andrew Huey</name><uri>https://profiles.google.com/112154486809243920747</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-CC8ZZ6joAgQ/AAAAAAAAAAI/AAAAAAAAALY/X3tljQviH9k/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
