Rob Brooks-Bilson
Tech, Photography, Stuff
Tech, Photography, Stuff
June 27, 2005
With CFUNITED just around the corner, I thought I'd go ahead and create a CFUNITED Flickr Pool for anyone attending this year's conference to post pictures and discuss the event. In case you haven't used Flickr, it's the most amazing (and addictive) photo sharing site ever created. If you don't have an account, you can create one for free, as there's no obligation.
So, feel free to join the pool and post as many pictures from CFUNITED as you like. The more, the better. I'm looking forward to seeing each and every one of you there!
June 23, 2005
Ray works fast. So fast in fact that he just released a new version of blogCFC with the changes I suggested for search engine optimization.
What prompted this whole thing was the surprise I received when I googled "ColdFusion" recently. No content from anyone running blogCFC turned up in the first ten pages of results. In fact, I'm not even where the first result turns up. This lead me to start googling specific entry titles from people's blogs. Many of those didn't show up either. I then tried getting listings of all content indexed for particular blogs. Again, it looked like only some content was being indexed, and what was was being indexed from calendar entry pages or the main pages of blogs, and not from the individual entry pages.
So, I started researching and reading about SEO with a special emphasis on Google, and set about making a set of changes to enhance blogCFC. My feeling here is that there is a ton of good CF content out there that people who aren't aggregating RSS feeds and reading on a daily basis are missing. As one commenter on my blog noted, a lot of blogs are still relying on google and other search engines to drive traffic. The changes that were incorporated into blogCFC should help out a lot with this.
June 23, 2005
After some additional discussions and consideration last night, I'd like to revise the bullet point I made yesterday on how I thought the blogCFC calendar pod should be modified. Instead of worrying about how far to let a search engien spider the calendar (in the future and past), I think it makes sense to just tell search engines to leave the calendar alone. The categories pod alone provides a much more efficient way for search engines to find and craw blog content.
Think about it like this. If you've been blogging for 5 years, and leave a search engine to follow your content via the camendar, it will have to traverse 60 individual months worth of pages, assuming it gets things right and follows the months and years in sequence. It's far more likely that the spider will have to follow several times more links than that. Contrast that with the categories pod. Here, you are only requiring a search engine to follow and index a much smaller number of pages to find your content.
June 22, 2005
I've been spending some time recently looking into Search Engine Optimization for BlogCFC. I hadn't given this much thought until recently, when I launched a new blog and noticed that the majority of my posts weren't being indexed in Google, and the ones that were weren't being indexed as I thought they would be.
It turns out that Google is fairly picky on how it indexes sites, especially dynamic ones like those that use blogCFC as the engine for their blogs. I've been discussing with Ray Camden changes that can be made to blogCFC that will make it more search engine friendly, especially for Google. The changes that I'm proposing are all to the core CFC and related layout files and don't get into server side changes that you can make such as SES/friendly URLs. That's a topic all its own, and one beyond the simple changes I'm proposing. Ray's agreed to consider them for a future release.
The main issues as I see them are that Google and other search engines aren't indexing individual bog entries, those that you would associate with an entry's permalink. Instead, Google seems to be indexing entries wherever it finds them. This means that sometimes it will index a particular entry from your blog's homepage (undesirable since this changes and entries drop off), from calendar links, from category pages, etc. The point is Google isn't being provided with one single version of any of your blogCFC posts. Instead, it's left to its own devices to attempt to craw you site and index the content. This is problematic for the reasons I just mentioned. It's also problematic for a number of other reasons. One of these is the calendar pod. When Google encounters the calendar on a page, it attempts to follow all of the links. While this is a slight problem because a post can show up for day, month and year entries, it's an even bigger deal with the > and < links, which move the calendar backward and forward in time. It's a problem because Google can go on crawing these links backward and forward for what would be an infinite amount of time. Luckily, Google is coded such that it won't let itself get caught in this sort of endless indexing of dynamic content. The bad news here, though, is that when it realizes it's caught like this, it stops indexing your content. Google has stated on their site that while the engine will index dynamic content, it may limit how much it indexes on any given site. With this in mind, I'm of the opinion that it's better to code the calendar component so that you can't move forward or backward past the point of any entries. That is, you can't move back to a time before the first entry was made, and you can't move forward in time past the current month.
Here are the recommendations I'm making that should improve the search engine friendliness of blogCFC. If you have any additional suggestions/comments, please make them here and I'll be sure to compile them and pass them along to Ray:
I'm sure there's a lot more that can be done, but this should serve as a good starting point for making blogCFC more search engine friendly.
June 21, 2005
Macromedia has officially started the registration process for MAX 2005, to be held October 16-19 at the Anaheim Convention Center in Anaheim, California. For more information on registration, visit www.macromedia.com/macromedia/events/max/.
Looking over the session information, the main theme really seems to be RIAs. To me, the ColdFusion topics seem a bit lighter than usual this year. While there are sessions on the new application framework, Flash CFFORMs, CFCs, and the new reporting capabilities in CFMX 7, absent are specific sessions on event gateways (a feature I thought would be a hot topic), XML Forms (much more powerful than the new Flash forms in my opinion), the new deployment capabilities, and the admin API just to name a few.
I don't want to come right out and say that MAX is starting to look more and more like a "fluffy" conference rather than the developer focused conference that it's always been, but I can't help but feel that the [ColdFusion] technical content this time around is a bit lacking given all of awesome new features in CFMX 7.
May 19, 2005
I was tagged by Ray Camden. So, here's my contribution to the meme:
Total Volume (of my MP3 library): 104 GB
Last CD Bought: "Hot To Dismantle An Atomic Bomb" - U2
Song Playing Right Now: "Don't Stop Believin" - Journey
Five Songs I Listen to a Lot:
Five People to Whom I'm Passing the Baton:
May 13, 2005
Macromedia announced that new DataDirect JDBC drivers (version 3.4) are now available for ColdFusion MX 6.1 and 7.
While this is great news as they fix several outstanding issues, I can't help but be a little disappointed that they don't deploy using the same updater mechanism as cumulative fixes do in CFMX 7.
The link to the technote describing the install process (and to the files) can be found here.
May 3, 2005
Geoff Bowers and the team over at Daemon have setup a new issue tracking site and roadmap for the next release of FarCry, an open source CMS for ColdFusion. The site is setup to track issues, solicit feedback and enhancements, and provide an overall roadmap for FarCry development. Oh, and if you haven't seen it yet, check out the new logo. It's pretty cool!
If you haven't yet checked out FarCry, it's definitely worth evaluation. If you are heading to CFUnited this year, check out the FarCry presentation being given by none other than Steve Rittler.
April 26, 2005
While browsing /. this morning, I came across this reference to a ZDNet Blog talking about the acquisition of the open source JasperReports product by a commercial company.
Since ColdFusion uses JasperReports as the underlying engine for the new reporting functionality in CFMX 7, I wonder what if any impact this will have on the furure of CFMX's reporting capabilities. I think a lot depends on how much new development gets done on the version of JasperReports that remains open source. I have a feeling there won't be too much in this area as the main JasperReports developer was snatched up as part of the acquisition. I guess Macromedia/Adobe could go on and make any improvements to the underlying engine that they want to, but that becomes a matter of resources, and a cost/benefit trade off for future development.
This will be an interesting one to watch over the next few years of the CFMX 8 product cycle evolves.
April 22, 2005
I recently ran out of room on my internal 160 GB harddrive, mainly due to my mp3 collection. All told, I have over 100 GB of music, and I buy more all the time. Couple that with video and my digital pictures, and I'm totally out of space. To solve the problem, I decided to add another harddrive. I was hoping to go with NAS, but after looking around, I didn't really find anything that offered a decent enough price/storage ratio. In the end, I added another internal drive. I went with a Seagate 250 MB SATA drive to match the 160 GB drive I already have. I chose Seagate because they are the only company offering a 5 year warranty. Earlier this year, I had two harddrives go within a month of each other. One was 4 years old, and the other 3.
I run Windows XP at home, and store all of my music/pictures/videos in shared folders as both my wife and I have our own iPods. The way I have it all configured, we have our own iTunes XML library files so that we can have our own song ratings, play lists, stats, etc., but make use of the same library of songs from the shared folders. Since I was planning to move all of our media to the new drive, I knew I was going to have to make some changes to both Windows and iTunes to get it all configured correctly.
The first thing to create new folders on the new drive and get Windows to recognize them as my shared folders instead of the default shared folders located in C:\Documents and Settings\All Users\Documents. To do this, you need to make some registry changes. Please note that if you use TweakUI, it claims to be able to change the shared documents location, but it doesn't work. The only way I have found to do this is by directly modifying the registry. For specific instructions, see here. After following the instructions, I had my shared documents folder located at D:\Shared Documents. I put a My Music, My Pictures, and My Videos folder under Shared Documents.
The next step was to copy all 100 GB of my music collection from my C drive to the new location on the D drive. This took about 30 minutes or so to complete. One thing to note here. I don't let iTunes manage my music in terms of letting it take control of my files and folders. I tried this once when I first switched to iTunes and found that it basically sucks. iTunes may think it knows how to best organize your music collection, but it doesn't. I didn't like it's organization of naming conventions at all. I've always let iTunes keep it's library and xml file in my My Documents folder, but my actual music has always resided elsewhere.
You may be asking why I didn't simply blow away my iTunes xml and database files and re-import all of my music. If I did that, I would lose all of the rating information, play lists, etc. that I mentioned earlier. So, in order to get iTunes to recognize my music in the new shared folders location, I needed to tweak the iTunes XML file that points to each song. It took me quite a bit of trial and error to get this right last night. In the end, this is the procedure that worked: