Donnie
(29 comments, 42 posts)
Home page: http://www.finalint.com
Yahoo Messenger: dgarvich
Jabber/GTalk: dgarvich
AIM: dgarvich33
Posts by Donnie
It’s an online life – Blogging
0Online Life Tools: WordPress, Twitter (with Hahlo), Flickr
Replaces: Periodic personal communications
Recently there has been a significantly heightened interest in my life and the happenings therein from my friends and family. I would like to think this is because I’m so interesting, but I know it’s because my wife is pregnant. In the past, I would talk to certain friends and family members on a weekly or monthly basis and that was deemed plenty for staying up to date on my latest gripes about work, politics and the world in general. Now, however, people want to hear from me (us) much more often. So much so that at times (like after a doctor’s appointment) the next few hours is spent updating people on the phone. While this is nice, it isn’t always ideal, particularly when you have friend in, say, Kazakhstan.
Don’t get me wrong, I love talking to each and every one of these people. After all, they think highly enough of my family that they want to know exactly what is going on all the time. And while it is really nice to be loved, the fifth or sixth time you tell the same story you begin to forget details (or shorten the story because of exhaustion) which isn’t fair to whoever you’re talking to. Even worse is realizing a day or week later that you forgot to call or e-mail someone altogether! So while I still want to talk to all of these people as often as possible, sometimes putting things in a written format helps (especially when you have things like pictures you want them to see) get the story across or even just remind yourself of what the story is and should be.
In steps blogs, the ubiquitous internet communication device. Some herald them as the introduction of inaccurate journalism, some say they are serving to replace mainstream media outlets and even other people make fun of them as completely irrelevant. Whatever your opinion, you simply can’t deny their value as a way to keep up with friends and allow friends to keep up with you in an on-demand fashion.
So for this post, which is going to be long, I’ve broken things into the following subsets:
- WordPress – The ultimate blogging tool
- Twitter – The ultimate way to answer “What are you doing?”
- Twitter + Hahlo – The ultimate way to answer “What are you doing?” using your iPhone
- WordPress + Twitter – The ultimate way to answer “What are you doing?” via your blog
- Flickr – Photo sharing/blogging tool
- WordPress + Flickr – The way to add timely photos to your blog
WordPress
I use WordPress on my blogs (both personal and professional) as often as possible. The software is second to none in the blogging arena and while there may be software out there which provides an easier setup for first time bloggers anyone with a significant amount of blogging experience or complex blogging needs will end up using WordPress because of its flexibility and ease of use. Further, because WordPress is so standards compliant, it works great on an iPhone, even if doing more of the advanced tasks can be daunting.
WordPress comes ready for you to write articles of a published nature right out of the (digital) box. You can be up and running in very little time and have everything you need. So using WordPress alone covers most major announcements, but what about those smaller announcements that people seem to want from you. You know, the folks who call you and the first thing they say is “What are you doing?”
For those folks we have a wonderful application available to us called Twitter. Now recently Twitter has gotten some grunts from techies who are over-using it. They update it for, quite literally, everything they do and those who follow them end up getting far too many updates to be useful. Instead, I like to think of it as a way to notify people who are near me that I’m doing something that they too may want to be involved in. For instance, “I’m going to lunch at the new place on Main Street at 11:30AM” may result in a friend messaging me back “I’ll meet you there!” Another great example is, “Boy, what a day at work, I’m headed home” may result in a message from a friend saying, “We’re hanging out at the pool hall, stop by on your way home.” So obviously the utility is nice, as long as it’s not overdone.
To get up and running with Twitter just head over to their site and sign up. Initially I had some confused moments over what things in Twitter-dom meant, so I’ll list my findings here:
- Following – This is the term used for a “subscription” to a friend’s feed
- Tweet – The term used to reference the small (140 characters or less) Twitter blog posts
- Delivery Options – You can have messages delivered to you in many ways, e-mail, messaging, text-messages, web-only… Make sure if you choose text messages that you only enable them for people you are following who don’t post 50 times a day
Twitter is great on its own, you can use text messaging to post to your feed and you can use text messages to get responses from your feed. You can also use e-mail or a Jabber compliant chat client (GoogleTalk) for all things Twitter. When you have an iPhone, however, you’re always looking for something slick to make your life easier. So while Twitter rocks, someone went and improved it specifically for the iPhone.
Twitter + Hahlo
Meet Hahlo, an easy to use, web-based, iPhone specific interface to Twitter. If you want to save your text messages for other things or just like the robustness of a web-based app for using Twitter Hahlo is the way to post messages and get replies.
Hahlo doesn’t maintain its own database of messages, instead it just provides a nice interface into Twitter’s API. To get started with Hahlo is as easy as visiting their site and signing in using your Twitter account information. From there on, everything is pretty self explanatory and uses the same terminology as Twitter (see above).
WordPress + Twitter
So we’ve covered that Twitter is great and we’ve covered the best way to use Twitter via your iPhone. Now what about that blogging thing we were talking about?
As it turns out, WordPress and Twitter play extremely well together. Twitter provides your feed in an RSS format, so there are plenty of plugins for WordPress that allow you to sidebar up to the minute information via Twitter.
I use “Twitter Widget” by Sean Spalding for my needs and things seem to work great. There are instructions at the site as well as files for downloading.
So we’ve covered major events (using WordPress) and the answering of the ubiquitous question “What are you doing?” (using Twitter), what else could you possibly want to share using your iPhone and blog? How about pictures of what’s going on with you right now?
Flickr
Something that a lot of people have gotten into in recent years is photography. With the introduction and availability of digital cameras more and more people have been able to afford taking pictures of the things around them. This, of course, also applies to anyone with an iPhone.
One of the most engaging things about my personal blog, I’m told, is the fact that I keep updated pictures on there. To be honest, I started doing that as a way to share pictures with my wife. But the more and more I did it the more and more my friends have told me they love to see what pictures I’ll post every day.
In order to accommodate up to the minute photo sharing, you have to have a good place to store your pictures online. This is where Flickr excels.
If you go to the site and sign up you can immediately get started with uploading pictures you already have, which is nice and allows you to share your pictures with friends and get their comments. But for my purposes Flickr really shines when you start talking about its ability to consume images in nearly any way you can get them to the site.
Since this series of articles specifically talks about using the iPhone, I’ll outline how best to get your photo blog online and running.
- Sign up for an account at Flickr
- Set up your account to receive pictures via e-mail
- Add your custom e-mail address to your iPhone contacts
- Take pictures with your iPhone and e-mail them to Flickr
It seems simple because it is! The web interface for Flickr has a lot, and I do mean a lot, of functionality. It allows a lot of things that I don’t use and first time users can be confused by the many options. However, for the purposes of simply getting a picture online and sharing it with friends you can’t beat the simplicity of this approach.
WordPress + Flickr
Once again we have to ask the question “How does this work with my blog?” and just like with Twitter, the answer comes in the form of a WordPress plugin.
I’ve been using “flickRSS” by Dave Kellam. The plugin is simple enough to do what you want quickly and powerful enough to allow you to use CSS (zomg technical term!) to make things look however you want. So it should pretty well cover every experience level with WordPress, from new user to experienced blogger.
I almost always have a hard time writing a conclusion paragraph, particularly when the content is as diverse as this. So I’ll just end by saying that blogging has proven for me to be one of the most effective ways to stay in touch with family and friends. Oddly enough, I talk to my family and friends more than I did before on the phone, but now when we talk they already have the updates so instead of spending time rehashing stories I spend time talking to them about other things. It’s amazing what taking a little time to publish your stories can do for those who are interested in you.
It’s an online life – Messaging
0Online Life Tool: Meebo
Replaces: Nothing, but provides on-the-go usage of almost any instant messenger application
Instant messaging is something that has become ubiquitous in everyone’s online life, not just mine. Everyone who spends any time at all online uses at least one instant messenger application. Because of this a lot of times the best way to get in touch with someone is to message them. In fact, many online services are beginning to embrace messaging as a way to interact with their APIs.
While the iPhone has a great SMS application (which I’ll reference plenty later) sometimes you need to message someone on a specific protocol (AIM, MSN, Yahoo! Messenger, Jabber/Google Talk). In these cases Meebo does a great job of giving you web-based access and the ability to carry on a short conversation. I say short only because the client isn’t designed to always be on, so in general you have your conversation and sign off.
On my Windows Mobile device there were several applications I had purchased over the years in attempts to have an “always on” chat client. Everything from IRC to AIM was tried and I ended up disappointed with all of them.
For what it’s worth, Meebo is really, really good at what it does. But that doesn’t forgive the fact that there are still no really, really good built-in, “always on” messaging clients for those of us who are mobile and have an unlimited data plan which is always connecting anyway. Lucky for us iPhone users, word on the street is that there are hooks in the Apple SDK for the iPhone that will allow applications to continue running when not in focus. This should allow good messaging applications to be written, especially on the heels of a 3G release sometime in the near future. Beware, though, battery life will suffer.
Adobe Photoshop CS2 on Vista – The Horror!
31I had no idea that getting Adobe Photoshop CS2 to work on Windows Vista Home Premium was difficult. As a matter of fact, as someone who has been using Photoshop for many years I assumed it would be easy. Silly me. Following is my account of dealing with Adobe Support to try and get my legal copy of Adobe Photoshop CS2 to work on my new machine, which coincidentally came with Vista Home Premium. Note that the issues I experienced had nothing to do with Photoshop functionality, the only problem I had was getting the software to accept my serial number.
The Back Story
I’ll start by describing my situation. It wasn’t one that I initially thought was odd, but Adobe’s support personnel have had one hell of a time wrapping their mind around it so I can only assume that my situation is mind (and possibly time, space and physics) bending.
- I have owned and used Photoshop CS2 since 2005
- I recently purchased a new computer from Dell, it came with Windows Vista Home Premium (so I decided to try the much maligned OS)
- I wanted to install, register and activate my copy of Photoshop CS2 on my new computer
The Assets
Now that you have a little back story, I’d like to tell you how I’m set up just to be sure there’s no misunderstanding (again, Adobe support couldn’t fathom this setup).
- My new computer is a hardware monster, it dwarfs the minimum requirements for Photoshop CS2 from a hardware standpoint
- I still have the original download of Photoshop CS2 that I got from Adobe on a CD (I thought it was pretty standard to back up purchased and downloaded software, apparently it isn’t)
The Problem: Part 1
Now for the fun. While I was installing Photoshop it asked me for a serial number. Like a good customer and someone who writes software for a living I don’t keep a copy of the serial number along with the software install. Instead, I depend on Adobe to keep up with that for me. So during the pause in the installation I headed out to Adobe’s site and logged into my account to take a look at my serial number. When I got to the appropriate page, however, the site informed me that the registration services were not available.
“No problem” I thought, and continued to click the “Trial” button to go ahead and install Photoshop CS2 so I could use it for the task I needed and activate / register it later once the registration services were back online. Logic has been the downfall of many…
The Problem: Part 2 – The Problem Grows
I finished my task with no problems, saved my graphics files and continued on about my way comfortable in the knowledge that soon Adobe would be back online and everything would be tidied up.
So the next day before I head out for the day I check on the registration services site again only to find that it’s still down. I figured what the heck, I’ll call their support center. The conversation with the support personnel was pretty short… as she informed me that she couldn’t help me because the registration service was down.
“Well that’s less than ideal, but whatever…” I thought as I headed out the door.
Online Support
At some point during my day that day I had a thought, “I might as well submit an online ticket so the nice support folks can get to my problem as soon as the flaky registration service comes back online.” So as soon as I got home I sat down and submitted a support ticket using Adobe’s site.
Two days later (on Monday, which is fine, they don’t work weekends) I got an e-mail with a PDF attachment… apparently this is how Adobe’s support communicates… via an e-mail with a PDF attachment. What a clever way to try and force people to use Adobe Reader. Anyhow, the gist of the message was that they would be unable to help me because it was a weekend (note that this was sent on Monday). However, the message continues on to tell me that my Photoshop CS2 serial number will not work with Photoshop CS3. They then continue to assure me that they were happy to have solved this issue for me.
Of course, CS3 had nothing whatsoever to do with my problem, so I responded. Admittedly it took me until the next Saturday to do so (after all, the trial was working, getting it activated wasn’t my top priority). I was pretty straightforward but polite in my response that CS3 was nowhere to be found. I even used Photoshop CS2 to make the image below and attach it to the support ticket. You see, the only problem I had is that I couldn’t enter my serial number… nothing else was wrong!

On Sunday (the next day, at least these guys are prompt) I got a message informing me that it was the weekend. This time, however, I was instructed to call Adobe’s support telephone number instead of bothering the online support folks, they said the phone support personnel would be better qualified to handle my unique issue.
Telephone Support
So on Sunday I went ahead and called the Adobe support folks again. I got a nice individual on the phone who seemed genuinely eager to help me solve this issue of epic proportions.
Of course, all he could tell me was that Photoshop CS2 does not work on Vista, I need to upgrade to Photoshop CS3. After me spending 20 minutes trying to convince him not only did it work, but I used it to make the attachment on the ticket, my support tech was ready to get rid of me. He told me to call back some other time, when the technical support folks would be around. I had to wonder who exactly I had been talking to all this time if not technical support.
Going Rogue
The time had come for me to put some of my own time into solving this problem. In all honesty, it wasn’t that hard to solve once I put my mind to it. I had originally hoped for a quick fix from Adobe but once it was obvious they were not going to be of help… and that my trial would run out… I had to figure out how to make things work on my own.
I researched the problem on the web and found some vague references to it, but nothing that out and out told you how to fix it. Thus this article…
There seem to be several approaches to fixing the problem that people have found over time. However, I found what worked for me and it goes a little something like this:
- Uninstall Photoshop completely
- Disable Vista’s UAC functionality
- Re-install Photoshop CS2 in Windows XP SP2 compatibility mode
- Enter your serial number during the initial installation
- Run Photoshop CS2 in Windows XP SP2 compatibility mode
I will add a more detailed post at some point in the future which outlines each of the steps in detail, possibly with screen shots if I find the time (now that my copy of Photoshop isn’t going to expire).
Note that I was never able to get the “Activation” popup in Photoshop to work, it would always give me the error listed in the picture above. However, the first time I used my serial during installation using the steps I just outlined everything seemed to work great.
The Conclusion
Adobe Photoshop CS2 does, in fact, work on Windows Vista Home Premium if you’re willing to toy with it. Of course, having to toy with it is the reason I don’t use Photoshop’s competitors.
It’s an online life – E-mail
0Online Life Tool: Gmail
Replaces: Outlook (and the associated old-school mail servers)
As you read through this series of articles you will find that I depend on Google for a lot of functionality. The primary reason I chose Google springs from the great approach to online e-mail that they pioneered, Gmail. With virtually unlimited storage and the recommendation that you archive instead of delete messages you have only yourself to blame if an important e-mail goes missing. If you are careful you will find that you can find anything you need very, very quickly using their approach to categorizing and filing messages. Of course, all of this and more has been said before about Gmail, so I’ll stop the fan-boy praise and get to the nitty gritty.
I use Google’s Apps for your Domain for all of my e-mail needs. The great thing is that all of my sites and e-mail addresses can play together nicely because of Google’s “share and share alike” approach to their services. So using Google Apps is equivalent to having a Google account (which anyone can get for free). For most of these services, their web based interface is way up the list of good web-based applications and while their e-mail interface is definitely no exception.
While it would be easy for me to assume that people reading this story, owning and iPhone and wanting to live an Online Life would be able to set up e-mail without assistance, we all know what happens when we assume. So here’s how I roll in regards to e-mail:
- Get a Gmail account
- Register your Gmail account on your iPhone
- Learn to deal with the envy of your peers
So just use the IMAP client on the iPhone to connect to your Gmail account. The two synchronize beautifully (much better than with my Windows Mobile phone) and working between them is really transparent.
If you want to label and archive something via your iPhone, just drag it to one of your “folders” and presto chango Gmail will handle the rest for you. When you set up your account your iPhone automatically added a special set of folders which have a [Gmail] folder as their parent. These folders allow you to do all of the special things Gmail’s web interface allows you to do. For example, if you want to “star” an item, simply place it in the [Gmail] > Starred folder. All of the special folders work the same and with them you have all the tools you need to keep your inbox in order quickly and easily. If you’re like me, with time you’ll find yourself using your iPhone for all of your e-mail related tasks even when you’re sitting right in front of a computer!
For an obligatory comparison, this approach replaces Outlook for me. While I don’t have many complaints about Outlook at all, it really is very nice to be able to have all of my messages stored on the web instead of in an archive file on my hard drive. Now that I’m using this approach I can’t count the number of times I have been out and wanted to pull up an e-mail. If I were still tethered to Outlook (without a mobile device) that wouldn’t be possible and even with a mobile device (Outlook works pretty well with any Windows Mobile device as well as the iPhone) if I hadn’t synced lately I would be out of luck.
Something else to remember that I will definitely be mentioning more later is that almost all web-based applications support some sort of interaction via e-mail. Because the SMTP (e-mail) standard is so widely accepted, having a good e-mail client is paramount to achieving any goal as an Online Lifer (woot, I just made up that term, I Googled it to be sure).
So on the e-mail front I would say that not only have I been happy with my new approach, it has been better than I realized it could be which in the end is what we should all hope for when we try something new.
It’s an online life – Introduction
0I am a web developer which means that I spend my days (and often nights) designing, implementing and supporting useful software which runs in a web browser (preferably all web browsers). A couple of months ago the thought struck me, “If I’m writing all of this great software for the web why am I using so many non-web based methods of keeping myself organized?”
Why, indeed? At the time I simply didn’t see how I could accomplish everything I wanted or needed to get done using only web based applications. After all, most web-based applications required you to be at a computer to use and if I was going to be at a computer anyway why wouldn’t I just use desktop software? And if I was at a computer using desktop software, why not depend on my trusty old notebook and pen which would inevitably be available.
Then I met the iPhone. It was a chance meeting, I had fully intended to just upgrade my Windows Mobile device (I had been using them for over three years) and continue on with the way I had been going. But after toying with an iPhone for a while I decided to buy one.
There’s really something to be said for what Apple has done with the iPhone. And I don’t mean sales success or over-hyped marketing and fan-boy addictions, I mean what they have actually done with the thing. When they released it there was no SDK and a requirement that you purchase a data plan. The obvious intention was that if you wanted to do something, do it using the web browser or one of the few built-in tools which supported internet protocols other than http (such as the e-mail client).
Because Apple did this and because I bought the iPhone I am now revisiting my previous idea of moving more and more of what I do every day into web applications.
Now with an initiative like this there are always risks. People I’ve talked to along the way have warned me of the impending attack of our information hording overlords and how keeping personal (but not necessarily private) information online would only seal my fate as one of their minions. As someone who has spent my adult life giving the government personal information and handing my credit card to the random shady figure waiting my table I figure it’s a risk I’m either willing to take or a risk I’ve already been taking all along.
I required that my new approach meet the following requirements:
- Convenient – Be easy and non-intrusive to my daily life
- Collaborative – If others are involved, let me involve others
- Available – I need my information when I need it, not later
- Portable – It needs to work equally as well whether I’m at a computer or not
- Complete – This is an all or nothing deal
- Cost Effective – I’m an Open Source fan, don’t make me pay too much
My progress has been surprisingly good and now I’m ready to begin sharing my experiences in this adventure with the world and that’s where this series of articles comes in. I will be writing these articles as I have time to outline how I have accomplished keeping myself organized using just my iPhone and the internet.
7-Zip – Archiving for the masses
0There was a day when the only way to create ZIP archives was to purchase a copy of WinZip. The software was definitely ahead of its time… on Windows. *nix users had been playing with compressing and archiving files for quite some time prior to that.
Then, Microsoft decided to begin including the ability to create and manage simple archives directly into the Windows Explorer. This decision really brought archiving to the masses. However, many of us still have a need to do more… more quickly… with our archiving utility.
Today I was attempting to unzip 1,000 or so very small files (a set of PNG icons) into a directory on my machine. When I began the process using the built in Windows tool it told me it would take 19 minutes. Using what I can only assume is Microsoft’s patented time tracking algorithm the timer then proceeded to continue calculating backwards until I stopped it at 36 minutes with only 300 of the files copied over. This was after a 5 minute period of waiting on it to finish, figuring that things would eventually just speed along.
After a moment of frustration I went and got 7-Zip, an open source archiving tool that I had used in the past a limited amount. I figured this would be a perfect opportunity to test the speed and abilities of 7-Zip against the convenience of the Windows tool.
Well… the 7-Zip archiver took less than 5 seconds to complete the same job.
I really shouldn’t have to say any more than that to sell you on how good this tool really is.
DOCTYPE affects iframe scrollbar styles
1An application I am currently working on has been specifically targeted towards Internet Explorer and a technical design requirement is that the browser window the application is being run in is a fixed size. So inevitably, there will be scrolling.
As part of the design we decided to use a document divided up into sections using DIV tags and absolutely positioning rather than using frames all around. This leaves the primary content area of the application as an iframe taking up the majority of the page.
A week or so ago I put some styles in my CSS which were intended to color the scrollbars on the iframe. Oddly… this didn’t work. I didn’t really attempt to follow up on it until today, at which point I found an interesting solution.
Before, I had the following document definition in my HTML:
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
I changed the definition to:
1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
And now things work great. I’m not sure why, maybe when I get some time to look it up I’ll modify this post to reflect whatever reasons I find.
However, if you are having problems with your iframe scrollbars not taking your styles, this could help.
Assigning a CSS class to a dynamically created DOM element
0I recently discovered that Internet Explorer and Firefox don’t agree on the possibilities of assigning a CSS class to a dynamically created DOM element (created via JavaScript) using the “setAttribute” method. It took me a little time to figure out what was going on and how to fix it, so in the hopes that I can save someone else some time I decided to provide this post.
First, I should outline what I was trying to accomplish. I have a need for a web page which has completely dynamic display properties. During the use of the page many of the DOM elements will behave according to the user’s input, so I need to have each of them accessible in JavaScript. The goal is to have a page which can adjust, update and move all of its elements without ever reloading the page or any data which has already been loaded. The page is being written using .NET, JavaScript, (D)HTML and CSS.
Now, for the approach I decided to take. Since JavaScript will need to have access to all the elements anyhow, I decided the better approach would be to have a JavaScript object for each “module” that will exist in the page. This object carries some details about the object as well as a reference to a DOM object that will be associated with each module. The goal here is to keep from duplicating code, so I either write the DOM object in the HTML (and use server side logic to manage it) or I write it in JavaScript (and use the client’s memory to manage it), but not both.
My page is made up of three files, I’ve simplified them for illustrative purposes below…
My JavaScript source file, script.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | d = new Array(); d[0] = new Display("Header", "Header"); function initializeDisplays() { for (var i = 0; i < d.length; i++) { container = document.getElementById("FrameworkContainer"); d[i].dome = document.createElement("div"); d[i].dome.setAttribute("id", d[i].id); d[i].dome.setAttribute("class", "moduleBody"); d[i].dome.innerHTML = d[i].name; container.appendChild(d[i].dome); } } function Display(name, id) { this.name = name; this.id = id; } |
My CSS stylesheet, style.css:
1 2 3 | .moduleBody { color: Green; } |
And finally, my HTML file, test.html:
1 2 3 4 5 6 7 8 9 10 11 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhmtl"> <head> <title>Test Page</title> <script type="text/javascript" src="script.js"></script> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body onload="initializeDisplays();"> <div id="FrameworkContainer"></div> </body> </html> |
Now this code works fine in Firefox, the new div is loaded into the document as expected and the text is green, as expected. However, using the same code in IE provides slightly different results. The div is loaded as expected, but no styles are applied to it. The reason, is that IE doesn’t support the following line of code:
d[i].dome.setAttribute("class", "moduleBody");
Instead, IE demands you use the following syntax:
d[i].dome.className = "moduleBody";
Is it a big deal? No, not really. But it can still be very, very frustrating to find that IE has issues when applying styles to a dynamically created element which uses the consistent approach of setAttribute as a means to set a style class. You will probably find that the className property is the recommended approach in tutorials and will find that it works in most browsers, but being a stickler for consistency I tried a different approach and ended up with this article to show for it!
Spoofing your browser’s user agent
2If you are a web developer (or anyone doing any programming which involves web browsers, which is just about everyone nowadays) you really are doing yourself a disservice if you don’t include Firefox in your toolbox for diagnosing issues and testing sites. The community provided Addons for Firefox are just invaluable in day to day tasks. A great example is the ability to spoof your browser’s user agent, pretending to be any browser you want, all from one browser.
My quest to do this started as a curiosity when I found a blog post titled “Search Engine Marketeers are the new script kiddies” discussing a WordPress blog which was hacked in such a way that it invisibly provided more traffic to the hacker’s site whenever a search engine bot crawled the site. The hack was pretty impressive, actually but more impressive was the ability for the blogger to diagnose what had happened and track down the culprit.
Having a few WordPress blogs of my own, I decided to look into checking mine for the same issues. It took me an hour or so of toying and poking around to get everything I needed, so I figured I would take a shot at documenting the steps that went into my adventure in the hopes that someone else would be able to get this done more quickly if they ever needed it. Plus… it will provide a reference for me when I inevitably do this on more computers in the future.
First, you’re going to need to get the User Agent Switcher Addon for Firefox (written by Chris Pederick). Installation should be fairly straight forward, so just click the button while in Firefox and let it do its thing.
Now for the part which took some searching…
The default installation of the Addon doesn’t provide a lot in the way of user agents to switch to. A couple of examples are all that are there, so in order to be really useful you’ll need to add agents of your own or find them somewhere. I found a very complete set of agents conveniently compiled into an XML file which can be imported into the Addon (Options > Options > User Agents > Import) over on Tech Patterns.
Once you have installed the Addon and loaded a complete set of user agents, you can test them out with the QuirksMode Browser Detect page.
There are a lot of uses for this ability, from security to verifying code which reacts to a specific browser. Whatever you use it for, hopefully this short guide made it easier to get your results.
Ajax Rain: A collection of JS / DHTML / AJAX code
1I remember a time… waaaaaay back in, oh… say… 1997 when the internet was really just starting to get “cool.” We would drink the latest caffeine laden beverage, take the latest “keep you wide-eyed” herbal supplement and write code until we were all convinced our hair was moving all over our skulls of its own volition. Back then, we would eagerly watch for the latest release notes for Netscape Navigator and relish any additions they made to JavaScript (bonus points for anyone who can remind me what the name of the scripting language was originally). As soon as a new change was in place we would attack it and put it somewhere… anywhere… on our sites. The code was raw, usually poorly formatted and documented and almost always protected by the author like it was going to be the next billion dollar idea.
That was then. In the ten years since that time we, as web developers, have evolved. Not quite far enough to exist only on a temporal plane but far enough to consider when writing code that other people may find it useful. No longer is the “cool” stuff of a proprietary variety. Now, developers more commonly take a little extra time to make their code understandable and customizable… then they do what was unthinkable ten years ago and (gasp) distribute it for free!
In steps Ajax Rain. A new resource style site that provides the coolest in JavaScript, DHTML and AJAX code for discerning veteran and budding rookie web developers alike. All of these snippets are downloadable for free and anyone can add their latest creation to the database.
So saddle up and ride some else’s code horse for a change. Quit reinventing the wheel (never mind that Good Year and Michelin continue to make millions doing exactly that) and get with the times. Go download and implement someone else’s code and take full credit for it yourself when praise is dished out at your next company picnic! After all… all the kids are doing it and they’re making you look lame in the process.






