iTunes Podcast FAIL

So, I'm not sure if this is the fault of Apple's iTunes or the makers of all the news podcasts, but I'm sure each are at least partially to blame. You see, last night President Obama spoke and I want to watch it on the train to work tomorrow.

First, let me say that when the debates and the inagauration took place, I had no problem finding video of it later in the day or the next morning on iTunes' Podcast area. In fact, on a couple, I already had the feed on my iTunes and it just started coming in. But now, 24 hours after Obama spoke to a joint session of Congress, I can't find a video version to easily load onto my iPod.

iTunes is definitely to blame on at least one count. The browsing of the iTunes Podcast area is abysmal at best and unusable at worst. You can find the top things and the ones featured, but you've got no good ways to browse other things. And don't think the search box is going to help you much, because every time you type in a search it searches the whole iTunes Store and you get all this other crap until you click to say, "I want only podcasts, you stupid program! That's why I was browsing in the Podcasts section!" Even then, searching for "Obama address Congress" in the search box give you nothing but one radio station's commentary on it. If you broaden it to "Obama address" you get a couple top podcasts that do feature Obama giving an address, but this gets me to my next point.

First, Barack Obama's White House administration does have their own podcast, and the weekly radio address is well-presented via this podcast in both video or audio formats. I definitely am subscribed to this podcast, although I recommend doing your research afterwords through other news sources, because even if he's the President, you can't really take his word on everything. Second, ABC News offers the next best thing: a podcast with the exact same stuff that they host and deliver. I like that they did put the address in audio form in their audio version of the podcast, but I want video! Their video version of the weekly address podcast has no such item. For the debates, other podcasts such as Anderson Cooper 360 also put the videos in their podcast feed, but none of them are offering it up this time.

The web-savvy crowd at my blog may say, "But Dan, it's an hour long! That's a big file and that's lots of badwidth!" Yeah, you're right, but that didn't stop them for the Inaguration address or any of the debates. In fact, the debates were longer but they were done in great video quality that was easy to load on your iPhone. Plus, if you want, throw an advertisement or two in there, I'll watch it if it's interesting or is only 30 seconds long. Then, there's the others who will say, "Dan, I already watched all of it on Hulu." Yeah, I know, but I can't load that video into my iPhone for my daily commute. Then, as TJ said, I could try loading it up via YouTube on my iPhone, but I like being able to see Obama if I'm going to watch the video, and the only that the YouTube video quality on the iPhone is good for is videos of a cat on the Roomba. Plus, when I hit the tunnel under the airport then the streaming video will just stop playing, probably, and that's no fun.

Hopefully, in the next couple hours, a solution will appear. If they do, don't let any tech person from the major network that put it out say it takes over a day to encode a video for the iPod, because it doesn't. Otherwise, I may just have to stay uninformed for the rest of my life. Or, worse yet, I'll have to read a transcript.

Dollhouse: Hipster or Creeper Sci-Fi?

First, let me preface this post with some information about my television watching habits. I've never owned a TV in the almost 9 years since I moved out of my parent's house. Most of that time, there hasn't even been a TV set in the house, although for a year or two a roommate had a TV tuner card for his PC. For a couple months I had cable with all the trimming, and all I really watched was reruns of Seinfeld, The Simpsons, and Cosby while making lunch or dinner. Oh yeah, and during that short period I watched lots of TechTV and Star Trek: The Next Generation. That was seven years ago. The only TV shows I've watched since then, besides the occasional episode of Charlie Rose or late-night talk shows, is Band of Brothers, Firefly, and Monthy Python's Flying Circus. Oh, and The Colbert Report makes an appearance once in a while, although a lot more this fall before elections. Yes, that's hardly a typical TV watcher, I know.

I like all these shows to an extent, but the only ones I took the time to get fully involved in was Band of Brothers and Firefly. I've watched all of their episodes, but then again, each one only has 10-20 episodes ever. Part of the reason I liked these was that I don't like to commit to TV. The longer the show goes, the less point it ever gets to, from what I hear, and it quickly seems like a waste of your life. (Although, comedy shows are completely different because there's little story arc, but they make us laugh.)

When I was told that Joss Wedon, maker of some of TV's shows with the most cult following and creator of the great sci-fi series Firefly was coming out with a new show, I decided to check it out. After watching the first two episodes, I'm still not sure what to make of it, but it's definitely interesting. It's definitely a science fiction show injected with almost everything I hate about today's world of TV.

The Dollhouse Tech Room with our HeroesThe premise of Dollhouse is that this company has created a method of turning people into a pretty simple, rather blank personality without a care in the world. They live in this utopian place where they have no worries and are waited on by helpful staff to make sure they're in the best condition possible. But from time to time these "blank slates" are programmed with other personalities in order to perform a predetermined job. After the job is performed, the "active", as their creators are call them, has their memory wiped and they think they fell asleep and they go back to their carefree, utopian existence.

This sounds great. It's a great sci-fi premise. It's just a bit past what can probably be done with today's science, but not out of the realm of possibility of the near future, for sure. And, like every sci-fi show, it's exciting to explore the moral and ethical ramifications of humans having the ability to perform these actions. Within the first two episodes, many things are explored and hints at many other things are forthcoming. Joss Whedon is definitely still on his A-game as far as the writing goes.

The characters and cast are definitely set up well. Olivia Williams (Rushmore, The Sixth Sense) plays the head honcho of this Dollhouse operation, calling the shots of which missions should be run, although it's unclear how she gained this post. Harry Lennix (The Matrix Trilogy's Commander Lock) plays Echo's "handler", a highly trained ex-law enforcement man who accompanies the lead "active" on missions and is tasked with making sure the "active" is not hurt or damaged, and he seems a bit unsure of how well this technology all works, I think. There's also a preppy, geeky 20-something programmer that seems to have come up with this technology and is pretty confident in his work. Also, there's an FBI agent who's trying to track down this elusive Dollhouse organization and seems to stay a step or two behind them while the rest of his colleagues is sure he's chasing absolutely nothing.

The problems I have with the show are first, the ethics of he show, if it has any. First, these "actives" live in a commune where they all shower and live together, not sleeping in the same beds, but using the same communal showers. While sleeping, these "actives" are basically locked up in beds recessed below the floor with semi-translucent windows that cover them. None of these beings seem to find this confusing or disturbing but just walk around in a somewhat blank daze. I think this can be overcome, though, because the show is really only exploring this idea, not condoning it. Still, at this point it's very unclear what the show is trying to say about this idea and it may go in the wrong direction. And, lastly, it seems that an "active" can be bought for any reason, and the first and second episode both include parts where the main character is sent on a mission where it only seems that she is hired to be a charming girlfriend, both on the streets and in bed.

Dollhouse's Promo GraphicsAnd this brings me to my other beef, which is the way that this show panders to the mainstream TV crowd. First, the main character has to be a knockout babe who kicks butt at some point in every show. I'm not saying that it can't be a good-looking woman as the main character, but TV shows these days have to always be filled with main characters in which the main character has her shirt off or is wearing almost no clothes at some point, and that should not be the point of a good show. Second, both episodes have shown the main character romantically involved and in bed with another character, which seems to even more emphasize my last point but to an even more disturbing level. Third, every episode seems to be super-intense, such that both 47-minute episodes I watched were more intense than any movie I've seen in the last year. The bad guys in the first episode are a couple kidnappers who are working for a serial child molester. The second episode pits our heroes against a psychopathic outdoorsman who seems to befriend people only to suddenly turn his back and try to murder them as a fun "game". I'll admit, these are some mean bad guys, but why do TV shows have to be so intense? And why are all the bad guys mentally deranged in some way on all the TV shows, when in the movies they seem to be of a higher life form?

All these shortcomings make me long for more Firefly, where Whedon came up with good characters that didn't sell themselves on 30-second commercials for the show but actually had a role to fill and something interesting to talk about. Dollhouse may get to that point someday, but I'm not sure if I'm going to stick around to find out if it will. Still, the show leaves us hanging, as the creators and curators of this Dollhouse seem to be a bit careless and it's obvious that their technology is not yet flawless.


Mars Ill Turntable Shirt

Here's the return of the T-Shirt posts with one of my favorites, my Mars Ill Turntable Shirt:

Mars Ill Turntable Shirt

Mars Ill is my favorite hip-hop group, although fans of GRITS, 50 Cent, and the like may be less than impressed. ManChild and Dust, the emcee and the DJ, respectively, are more closer to classic hip-hop but still have a certain style that's southern and all their own. The shirt features their logo at the bottom and a diagram of a turntable with Japanese annotations on a light brown Tee.

For more information about Mars Ill via an interview a friend and I did as well as a sampling of their independent releases, check out their episode of the Podcast.


Super Bowl Ads: My Favorites

Those are my favorites, in rough order of best to worst. I thought the ads were pretty good this year. Enjoy!


My Top 5 Movies of 2008

OK, so I thought about writing a Top 5 Movies of 2008, but after thinking about it, I decided it was hypocritical for me to do so. You see, in looking at most movies released in 2008, I guess I've only seen 20 of them to date. Considering IMDB has over 18,000 titles listed for 2008, I feel my Top 5 would be a bit limited.

However, I decided I still wanted to talk about my favorites of 2008. Yeah, it's about a quarter of the movies I saw this year, but I thought these were notable and that probably not everyone had seen them. So, without further ado, I give you some of my favorite films I saw in 2008. If you missed them, I'd recommend checking them out.

  • WALL-E: I expect a PIXAR film to be the best film of the year every year, and this one definitely did not disappoint. At first, I wasn't sure about the whole bleak future of humanity, but after a while I realized that it wasn't the point. The point is the passion, love and kindness of both the humans and the two main characters, which are robots. And, like every Pixar movie, they take computer animation to a whole new level.
  • Speed Racer: Larry and Andy Wachowski sure set the expectations of their fans high by making what became a huge hit, The Matrix. While most moviegoers will not see this as a groundbreaking film, Speed Racer is as groundbreaking as The Matrix in terms of special effects. Every moment of the film is a rainbow of the most vibrant colors and even the slowest parts of the film are cut together in really fast sequences. The Wachowski's definitely took anime into the live-action world with this one. Plus, the story is clean enough for most kids and will keep the adults entertained for the entire show as well - just don't expect a really deep philosophical metaphor or something. (Update: After another screening, it's not as clean as I thought and pushes the PG rating to new levels with language and some sexual innuendo, so parents may want to check if it is appropriate for their family.)
  • Iron Man: Before this film came out, I'd never really heard much about the Iron Man comic book character and wasn't expecting much. When I saw it, though, I was totally blown away. Robert Downey Jr. plays the smart and geeky Tony Stark, and after a traumatic experience, he decides to build a superweapon - an armored suit that he can wear. The technology displayed throughout the film is futuristic but in a fairly intelligent way, and Stark does a great job kickin' butt in that suit. Director Jon Favreau does an amazing job with this action film, and stick around for a hint of things to come from Marvel Studios in the next couple years.
  • The Fall: This film is just one wild ride. At first, it looks a bit droll as it follows a 10-year-old Indian girl through a 1920's hospital after she broke her arm. Soon, she meets a young stuntman for motion pictures who had also fallen, and this is where the real story begins. The stuntman begins to tell a fantastical story, which then becomes even bigger through the girl's overactive imagination. As the story progresses, both parties make stuff up as they go and insert themselves into the story. The film is rather violent and sometimes disturbing, but a great sight to behold, as most of the frames could be displayed in an art gallery.
  • The Visitor: A couple weeks ago, we were watching The Incredibles and a man from my parent's generation gave us a hard time about liking the movie so much. While I still consider The Incredibles one of my favorite films, he did have a point when he said, "Go watch To Kill a Mockingbird instead." He's right, they just don't make movies like they used to. When I left the theater after viewing The Visitor, one fellow moviegoer said, "It's kinda like the movies they used to make." Richard Jenkins does a great job as a boring, old professor until he finds a couple immigrants living in his New York apartment and he decides to let them stay until they could find a home. Jenkin's character, Walter, finds some new passions in life through music and new friends. Some may be put off by a somewhat heavy-handed social agenda, and although I think it's something important to think about, the main draw of the film is getting to know these vibrant characters.

What do you think? Have you seen these? Do you like them? Feel free to leave a comment and tell me and my readers what you think.


The Mall Shopping Letdown

I happen to work in an office next to one of the nation's largest malls, the Mall of America. It's nice because I can shop there if I need to pick up something, and I can do it during my lunch break. (Plus, there's a never-ending collection of restaurants and food courts to eat at.) However, this experience from last year is still why I really dislike shopping at malls.

So, last year I was getting my sister a Christmas present, and she specifically asked for a scarf and a hat from a major clothing retailer. I wanted to keep the present at $20 to $25, mostly because that's what we usually do in our family. So, I went into their store and could not find what she wanted. After a while, I found a matching scarf and hat that was similar and I thought she'd like. However, the hat was around $25 and the scarf around $20.

This brings me to the first thing. My idea of fashion clothing for myself is a $20 pair of cargo pants from Kohl's and a $20 T-shirt from a rock band I like. Everything else, actually including the pants, is purchased on a "That looks decent and the price is right" basis. I think my last had was around $8, and well, I guess I'd buy a scarf if The Day After Tomorrow happened. I guess I see very little reason to go to a fancy name-brand store when you can get the same thing at a discount clothing retailer for half the price.

Anyways, because I only have an hour lunch break, it actually took me a couple days of lunch breaks pondering over what I wanted to get her. I thought about getting the scarf or the hat by itself, but that seemed to be a bit of a cop-out. Finally, a day or two before Christmas, I decided I should just pony up the $45. It might be expensive, but it's my sister and she's worth it.

When I get up to the counter, the woman rings me up and tells me the total is $26. WHAT??!! I kept my composure, but I totally felt like smashing her head into the checkout counter. Darn it, if I had known this stuff would only cost me $26, I would have bought it three days ago! I would have saved hours and hours of mulling over what to do! I tried to calmly pay my $26, and I left the store cursing under my breath.

On the way out, I noticed a poster by the front door that, in neat little letters, said "Holiday Sale. 40% off everything". Ohh, so that's it, is it? From now on, I'll just stick to the discount stores where I pay the price on the tag.


Why I Hate Twitter

Those of you who know me know that I've been on Pownce for about a year.  In April sometime I started cross-posting my Pownce status posts to Twitter.  But, even before I started posting to Twitter, I didn't like it.  However, now that Pownce is leaving, I just want to go through the main reasons that I hate Twitter:

  1. 140 Characters: I like using these "micro-blogging" services to tell what I'm up to as well as to post quick thoughts on life, tech news, or whatever.  However, the limitation of 140 characters for each post is unneccesary and makes very little sense.  With posting to Twitter, I cannot just post a quick thought.  The 140 character limit makes me have to write down the thought and then spend a minute or two editing it down to 140 characters.  I'd rather write my thought and get back to work, not spend a bunch of my valuable time trimming my thoughts.  The 140 character limit to posts was because Twitter was designed to allow you to be notified and post via SMS/text messaging, but I only know of one or two of the 82 people I'm following who are actually using the phone to keep up with Twitter.
  2. Media Support: Sites like Pownce gave you lots of options for posting media.  You could post a link to the URL with a comment.  You can attach a photo to a post.  Linking to a YouTube video on Pownce automatically added an embedded version of the video to the page.  These are just nice little tweaks that make Twitter more useful, but Twitter supports none of them.  Serioiusly, most of these little tweaks would take, at the most, hours to develop and implement.  Most of the Twitter iPhone Apps or browser plugins give support for TwitPic, but beyond that, Twitter gives no support for anything beyond text.
  3. Follow Via IM/RSS: Back in the early days of Twitter, you could befriend Twitter on the Google Talk system and it would post all your friend's updates through your Google Talk IM system.  Also, you could tell Twitter that you wanted to search for a keyword and it would give you all the Twitter posts with that keyword in them.  And back in the day I could also get one RSS feed with all my friends' posts, which was really handy for making sure I didn't miss a post.  However, as Twitter became more popular, these features were discountinued.

Of course, the main thing that Twitter has going for it is that everyone is there.  I mean, I got some friends to sign up for Pownce, but they weren't doing much with it because no one else was there posting and reading everyone else's posts.  Twitter was appreantly the first place to make this "micro-blogging" thing big, and they've got a long head start on everyone.  I think a good analogy is the MySpace world.  I mean, anyone who has used the web knows that MySpace looks terrible but because it was one of the first and it caught on, it still has tons of staying power.

So what's out there instead of Twitter?  The most obvious is, a Twitter clone that is based on the open source Laconica platform.  The folks at have created a version of Twitter that can be set up by anyone who wants to create a server and the different instances of the Laconica service can communicate with each oher.  The folks over at TWiT Army have found that it creates smaller niche communities based on interests, but you can still follow people from other communities as well.  However, I'd have to say that the fact that Laconica still uses Twitter's 140 character limit is a bit annoying.

Another service I've been hearing about a lot and just started trying is FriendFeed.  It allows you to give it tons of feeds, from Flickr to Google Talk to any RSS feed to your Amazon Wish List and lots more.  It then monitors all of them and gives one feed of all the latest information.  I plugged almost everything I'm involved into my FriendFeed page and you get plenty of information about my activity online.  Of course, you can only put as much as you want on there, and I expect you can make it so only your friends can see the information you put in if you are worried about privacy.  And, of course, you can post status notes, links, or even photos right on FriendFeed's system - and they can even be longer than 140 characters!  Plus, to make sure your friend on Twitter are informed, you can have FriendFeed post to any or all of your information to Twitter as well!  Those who spend all day in their Google Talk screens can even get all FriendFeed activity posted to their Google Talk chat window as well, if they like.

Has Twitter created an interesting new medium for keeping up with friends online?  Yes.  But after a few years of keeping it simple and only lowering their services instead of expanding it, Twitter is just losing the battle.  I'd be fine if people started moving on or they started using a more open format, but I guess we'll see what happens.


Thoughts on Thanksgiving

Spending Thanksgiving in Shreveport, Louisiana was great. Plenty of my friends from all over the country were there, and the food and drinks were amazing throughout the weekend. Now I'm heading to visit more missionaries in Indianapolis this evening.

One of my favorite moments was when Nathan gave a quick reflection. (I can't quote him because I don't remember it exactly, but I will paraphrase.) Nathan said that American tradition is that we should give thanks, but often we do not give thanks to anyone in particular. We should be offering this thanks to someone. However, many things, such as the trees, the weather, the great life I have, etc., cannot be attributed to any person. However, these things should always be attributed to God. It was just a great reminder for me to be thankful and, more importantly, to be thankful to God for all he has given us.

Categories: A Drupal Weekend Project

I love microblogging and the social medias.  I'm always looking for little social media experiments as well.  Besides this blog, I'm always thinking up other ways to drum up interested readers, inform readers, and give out my opinions.  Of course, one of those genres that I love commenting on is movies and the crazyness of Hollywood.

Microblogging services such as Twitter, Pownce, FriendFeed and their social media friends are also another fun place to express an opinion.  Twitter has one interesting limitation - that is, all posts have to be 140 characters or less.  In some ways, this makes it as much of an art form as a short form blogging service.  For my personal account, one of the reasons I use Pownce is because I like to convey a unique thought without having to edit for 140 characters.  But, for more rehearsed messaging, I figure that the 140-character limit can be a sort of editing challenge.

With this in mind, I created the trailer_review Twitter account.  On this account, I post an 140-character or less review of the movie preview, starting with the title of the movie and ending with a link to the preview.  But, after posting a couple trailer mini-reviews, I decided that I'd want a website to go along with that I could provide more information at a later time, if I wanted.  Plus, not everyone is yet on Twitter, so maybe others would like a separate site where the could grab an RSS feed, leave comments, etc.  Thus, thanks to the power of Drupal, it took a couple hours to get a functional, decent-looking website working.  This is the store of, my first-ever Drupal weekend project.  (Full disclosure: It took me two weekends to do all these steps because I was working on a couple paying freelance projects and doing other things, but these processes could easily be done in one free weekend.)  To paraphrase Strong Bad, "Feel free to follow along with my simple step-by-step instructions. I make [Drupal] FUN!"

Step I: Setting Up The Site
To set up a site, you need to have a LAMP (Linux, Apache, MySQL, PHP) server that you can set the site up on.  OK, so I lied, you could run it on Windows, you can run it on IIS, and of course you and run it on Python (or even Oracle, I hear).  So, basically, you need PHP, but the LAMP stack is the easiest.  Set up the site, then download the latest version from the website and decompress it.  (We used Drupal 6.6.)  Access the public URL of the site and follow the instructions to install the site.  You will need database information and will be able to set up an administrator account.
Step II: Adding Contributed Modules
Download the following modules for Drupal 6.x:

Uncompress these folders and place those in a folder called sites/all/modules folder. Then, go to "Administer"->"Site Building"->"Modules" and turn on these part of the modules:

  • Content
  • Link
  • Trigger
  • Twitter
  • Twitter actions

Now we're ready to start configuring the modules we've installed.
Step III: Configuring Content and Link
To setup the content items, we want to have the title and body as well as the URL for the site to watch the movie trailer.  The title and body are included in the default stories, but we'll use the Content Construction Kit to create that URL field and the link to that trailer.  Here we go:

  1. Go to "Administer"->"Content Types".
  2. Click on the "manage fields" link next to "Story".
  3. Under "Add," type the label "Trailer Link", field name "field_trailer_url", and "Link" for the type of data.
  4. Click on "Save".
  5. On the next page underneath "Global settings," check "Required".
  6. Select "Static Title" for the "Link Title" section.  Click "Save field settings".
  7. Towards the top of the page, click on "Display fields".
  8. Change "Label" from "Above" to "<Hidden>" and click "Save".

Step IV: Configuring Twitter
For this site, we want Twitter to be posted to any time new content is posted to the site.  To do this, we use the Twitter Actions part of the Twitter Module.  We will set up an Action and then use the Trigger module to make it run every time we create some content.  Here's how we want to configure it:

  1. Go to "Administer"->"Site configuration" and click on "Actions".
  2. At the bottom of the screen under "Make a new advanced action," select "Post a message to Twitter..." and click "Create".
  3. Type in your Twitter account name and password and then type in the message. (Note the use of the % symbol with specific keywords allows you to add the new content - for my site, I used %title: %teaser %node_url.)
  4. Click "Save".
  5. Next, go to "Administer"->"Site building" and click on "Triggers".
  6. Under the "Trigger: After saving a new post" section, select the "Post a message to Twitter" action (or whatever you named it during Step 3 and 4).
  7. Click "Assign".

Voila!  Now we've got a working site that posts to Twitter when we post and also provides a link to the trailer.  However, there's a couple things more.
Appendix A: URL Shortening for Twitter
First, we want to give us more space on our Twitter posts so that, instead of Twitter using <a href="">[/geshifilter-code] as our URL, we get a shorter URL. There are a number of fancy URL shortening services such as TinyURL, but I chose because it's a bit shorter than TinyURL anyways. After signing up for an account, I can write some code to request a shortened URL for my longer URLs via their handy API. Unfortunately, in order to get these in the Twitter Actions module, I have to hack the sites/all/modules/twitter/twitter_actions/twitter_actions.module file. I took this part:
// Node-based variable translation is only available if we have a node.
if (isset($node) && is_object($node)) {
$variables = array_merge($variables, array(
'%uid' => $node->uid,
'%node_url' => url('node/'. $node->nid, array('absolute' => TRUE)),
'%node_type' => node_get_types('name', $node),
'%title' => $node->title,
'%teaser' => $node->teaser,
'%body' => $node->body
and replaced it with this:
// Node-based variable translation is only available if we have a node.
if (isset($node) && is_object($node)) {
$node_url = url('node/'. $node->nid, array('absolute' => TRUE));
$headers = array('Content-type' => 'application/x-www-form-urlencoded');
$short_url_json = drupal_http_request(''.urlencode($node_url).'&login=BITLY_API_ID&apiKey=BITLY_API_KEY', $headers, 'POST', NULL);
$short_url = json_decode($short_url_json->data)->results->$node_url->shortUrl;
$variables = array_merge($variables, array(
'%uid' => $node->uid,
'%node_url' => url('node/'. $node->nid, array('absolute' => TRUE)),
'%node_type' => node_get_types('name', $node),
'%short_url' => $short_url,
'%title' => $node->title,
'%teaser' => $node->teaser,
'%body' => $node->body
If you read PHP code pretty well, you can see that I added one more variable to the options for the configurable Action we made. I've created a %short_url variable that has taken the old %node_url data and retrieved a shorter version from the site. To get it to print out the shorter URL, though, you have to go back to "Administer"->"Site configuration"->"Actions" and configure the action we made in Step IV to use %short_url instead of %node_url. (Of course, to get this to work, you have to replace the BITLY_API_ID and BITLY_API_KEY with the ones supplied in your account page.)
Appendix B: Keeping Track of the Character Count
Since I want to post these pithy reviews to Twitter, I want to know how many characters long the title and body with all the formatting is.  Therefore, I created the "count_characters" module.  First, I created file as follows:

; $Id$
name = Count Characters
description = Adds a custom listing of how many characters are left.
php = 5.1
core = 6.x

Then, I created the count_characters.module file where I Add space to list the characters in all content add/edit forms and include the forthcoming JavaScript file:

< ?php
* Implementation of hook_form_alter().
function count_characters_form_alter(&$form, $form_state, $form_id) {
if (substr($form_id, -10) == '_node_form') {
drupal_add_js(drupal_get_path('module', 'count_characters') .'/count_characters.js', 'module');
$form['count_chars'] = array(
'#type' => 'markup',
'#prefix' => '',
'#value' => 'Character Count: Unknown',
'#suffix' => '',
'#weight' => '-5',

Finally, here's some JavaScript that uses the JQuery library built into Drupal to count up the size of the title and body and tell you how many characters this will be on Twitter. This is count_characters.js:

if (Drupal.jsEnabled)
$("#edit-title").keyup(function() { calculateTotalChars(); });
$("#edit-body").keyup(function() { calculateTotalChars(); });

function calculateTotalChars()
titleCount = $("#edit-title").val().length;
bodyCount = $("#edit-body").val().length;
totalChars = titleCount + 2 + bodyCount + 1 + 19;

Note that in line 11, we not only take the length of the title and body together, but add some more characters. The URL should be 18 or 19 characters, at the most, and then we have 2 characters for ": " between the title and the body and 1 for another space between the body and the URL. Save these files in sites/all/modules/custom/count_characters/ and then enable the module via the "Administer"->"Site building"->"Modules" page. Now we know exactly how many characters our Twitter post will be!
Final Thoughts
For a weekend project, this is a great start of a site hat may prove to be a useful little site someday. There were a couple other things I did, such as customizing the color of the Garland theme, customizing the comment settings, and enabling OpenID for commenters to login via OpenID if they like. Of course, there's always more work to do, such as creating a custom design, added embedded versions of movie trailers to each post, and maybe integrating with other social media services. But that's for another weekend project!

Steve Jobs Lied to Me

Last week, at this time, I was having major problems with my laptop.  Sometime around 6pm on Sunday, my MacBook Pro suddenly decided it could not use DHCP anymore.  (DHCP, for the uninitiated, is the ability for your computer to just work when you join a network.  If you don't have DHCP, you have to know a valid IP address, the gateway IP address, and IP addresses of working DNS servers to connect to the same network.  DHCP just asks the router to give this to you automatically.) So, upon realizing it was my computer only, I tried testing it at the neighbor's house (because our Internet connection is crappy, at best).  While over there, I had Collin check the router and he said the router was handing me all the usual DHCP information, but apparently my Apple MacBook Pro was just not recognizing it.  I went to bed early and hoped we could get it working tomorrow. During lunch on Monday, I checked at work to make sure their network was giving my machine the same problem.  It was, so I signed up for a meeting with a "Genius" at the Apple Store.  After waiting for 25 minutes for the Genius Bar to get to my turn, I spent a half hour working with the "Genius" to figure it out.  Most of the stuff he wanted to do I had already tried, such as booting Mac OS X in safe mode and even resetting the power system.  He booted from a FireWire external drive and the networking worked there, so it was a software problem.  We tried deleting a number of network-related settings files, which magically recreate themselves with the default settings in case something has gone wrong.  But, still, the "Genius" hadn't seen this problem before, and therefore he didn't know of any good solution besides the dreaded "Archive and Install" procedure. Why the "dreaded" Archive and Install?  Well, because the process of backing up all your system and user files and then installing Mac OS X anew took two and a half hours!  OK, so it only took an hour and a half, but there was another hour of running all those software updates to get my MacBook Pro up to date.  That's a long time.  Windows doesn't even take that long, I don't think. So what's the problem?  I believed the whole Apple hype that the Mac OS X experience was better than Windows Vista.  Yes, I got this issue fixed with only a day and a half of my free time taken away, but what would I have been out if I had a Windows problem?  With this kind of networking problem on Windows, all I've usually had to do is get a newer version of the hardware's driver or slap the side of the tower and it would kick back into gear.  I would've had better ideas of how to fix it on Windows because of years of experience with it, but with Mac OS X I had to go see an "Genius" who really had no insight at all. Is the romance with Apple over?  Far from it!  I've got an iPhone and everything on my laptop is working again.  I like the fact that there is someone I can go to and try to get help for my computer - there's no such person on the PC world because the manufacturer and Microsoft just keep pointing fingers at each other.  After getting Mac OS X reinstalled, I only had to move my Applications and User folder back into the live system from the backup and I was up and running with the exact same preferences and settings as I had before.  On a Windows machine, most of my data is in my "Documents and Settings" area, but tons of my settings are scattered throughout the rest of the computer as well. People talk about companies that need to be more open and public.  Companies should listen to their customers.  Apple makes cool products, but they always do it their way.  They never listen to their customers until a raging mob starts pounding down the doors at Cupertino.  They develop software for Windows but purposely leave out the features that would really make the application useful and keep those for Mac OS X.  And, for Windows, there's a Knowledge Base article with five solutions to fix almost every problem - for Apple's support website, they'll just tell you to restart the computer and then go to see the "Genius" if it doesn't work. I'm not too mad at Apple - I just wish Apple would wake up to the world they live in and start acting like a real company.  I wish they'd really work to help their customers.  But, then again, maybe that's what makes Apple cool and keeps people sleeping on the sidewalk for days in order to be the first to touch their product.