The Dopefly Tech Blog

« The Dopefly Tech Blog Main page

Eclipse WST 1.0 - Download it free, or your money back!

posted under category: CFEclipse on December 30, 2005 by Nathan

I just noticed the Eclipse WST (Web Standards Tools project) 1.0 made its way out the door a week ago. I should really get on a mailing list or something, it seems like I'm always a week or 2 behind on their releases. This download, available through the standard Eclipse update mechanisims, brings in editors for HTML, XML, CSS, Javascript, and an enormous host of other file types.

The previous stable release, 0.7, came out almost 5 months ago, and I've been using it every day since, so I'm anxious to see what's new and how much better it works.

If you're looking for a good all-purpose web file editor, and have been wanting to give Eclipse or CFEclipse a try, this may be your chance.

On a related note, it looks like I'll be giving a talk at the next AZCFUG on CFEclipse, how to use it, how to make it useful, that sort of thing. If you're in the area, stop on in!

(Discuss with Disqus!)

The Regex Mass File Renamer - Useful little things

posted under category: dotnet on December 25, 2005 by Nathan

So, happy holidays all. Given a little extra time this morning, waiting for the in-laws to come back from shopping, I felt the need to rename some files. Ok, a lot of files. All of us CF guys can attest to the ease of getting it done in our favorite tag-based language, but what about running it without having to start 3 services on my local machine? That's where knowing a 2nd language fits in.

So, with an effort to (a) play with visual studio 2005, (b) test drive .NET 2.0, and (c) actually make something useful, I present to you the Regex Mass File Renamer. Install the .NET 2.0 runtime, it came out a couple months ago, download my app, and run the exe in the build folder.

It's not fancy, it's not all that great, but it's what I do in my spare time to make life just a little easier for myself. Choose a folder, enter a regular expression in the 2nd box, and something to replace it with in the 3rd, then hit start and it will change the filename (sans extension) of any files in the chosen folder.

Regex Mass Renamer
The zip file is my whole project folder from VS2005, so if you have Visual Studio '05, even the free (for a year) express version, you can open the project and play with the source.

Disclaimer: I won't claim to be any sort of OOP expert or great winforms programmer. The code may suck beyond belief. In fact, I'd like to know if it does. Use at your own risk. Make a backup of any files you plan on working with. The source is provided so that I cannot be held responsible with how the program works, or for anything that happens when running it.

(Discuss with Disqus!)

Free internet! (or, fun with wardriving)

posted under category: General on December 5, 2005 by Nathan

It seems our local cable technician can't jot down a MAC address correctly, so we were net-less over the weekend at our new place. The bad thing about that is my wife had some howework due at 5 am on Monday (that's today).

This is when we learned about Alanda's tablet's great wardriving features, including toshiba's radar app where networks come on and off, moving toward the center, closer for higher strength signals. Drag a line from a network to the center and you connect.

We had a lot of fun, and were amazed by how many houses and businesses have wireless networks, and how many of them are unsecured and open. We sure do appreciate the help, residents of Chandler. You're tops in our book ;o)

I'm thinking of taking the password off of my router.

(Discuss with Disqus!)

New iPod Owner

posted under category: General on December 1, 2005 by Nathan

I just had to mention how pumped I am about my new video iPod. This thing really is cool! Alanda got it for me for our 5th anniversary last weekend (I got her a new wedding ring - it's sort of a long story). Anyways, the iPod really is everything I was hoping for, and with the video features, podcasts, video podcasts, and 30 gigs of space, I can't imagine ever getting bored with it. The tiny screen is completely incredible.

Transferring movies to it is as easy as processing them through Videora Converter and adding them to my iTunes library. I'm still trying to get used to iTunes, vs my old standby (since '97) WinAmp.

Now i'm busy looking for cool accessories that fit the 5th gen iPod. They're a little rare, but I'm patient.

PS, my wife is the best :)

(Discuss with Disqus!)

Fusebox 4.1 DTDs (and how to use them!)

posted under category: Fusebox on November 17, 2005 by Nathan

Another thing I've been playing with lately is getting tag insight (you know, those little drop-downs while you type) to work on fusebox.xml and circuit.xml files. I'm no kind of Eclipse hacker, so the easy way to do it is make a DTD file for the XML editor you may already have in Eclipse.

Mmmkay... how does that help me? Glad you asked!

First, do you have an XML editor? You'll need one for this exercise. I prefer the WST XML editor from the Eclipse org., and it's easy for you to get. Go to your auto-update tool (under the help menu), and search the Eclipse update site for new plugins. Locate the WST (Web Standards Tools), select it and hit the 'select required' button. Now install and restart.

Next, you need to add the DTDs to the local DTD registry. What I did was hit the Eclipse prefs, and found the XML Catalog section under Web and XML. Then I added 2 user specified entries, for fusebox.xml and circuit.xml, pointed them to the appropriate DTD file on my local disk, made them a Public ID key type and gave the key a name (I used circuit.dtd and fusebox.dtd).

Next, in my XML files, I added this doctype to my circuits:
<!DOCTYPE fusebox:circuit PUBLIC "circuit.dtd" "circuit.dtd">
And to my Fusebox.xml:
<!DOCTYPE fusebox PUBLIC "fusebox.dtd" "fusebox.dtd">
I wish I knew what that all meant, but i'm ignorant out of lack for good books and time to read them ;)

And there it is. Restart Eclipse (for good measure) and it should all just work!
All you need is the DTDs to try it yourself, so here you go:

Fusebox 4.1 Document Type Definitions

These were copied and modified from the ones by Sandy Clark - Sandy, hope you don't mind. Good work getting it started, thanks!

Hope you all like. Let me know if any of you have any updates to these, as it's my first real stab at DTDs.

(Discuss with Disqus!)

The Fusebox 4.1 cheat sheet

posted under category: Fusebox on November 16, 2005 by Nathan

One thing I've always wanted when working with Fusebox 4, is a quick XML cheat sheet. What goes in the fusebox.xml file? What was that verb tag again for my circuit.xml? Was that returnvariable, contentvariable or just variable?

Googling and searching only found the PDFs for a $75 book, which is helpful but not ideal, and miscellaneous sources, too spread out to be useful. Since there wasn't one, I had to create one myself, and now that it's done, I got permission and am sharing it with the community at large.

So, without further ado, the Fusebox XML Cheat Sheet (with a little bonus info at the end)


P.S., I also added a print stylesheet, so feel free to print it out and hang it on your wall, or whatever.

P.P.S., Fuseboxers, feel free to check my work and make corrections and suggestions - thanks!

(Discuss with Disqus!)

Rob Rohan on CFEclipse at Macromedia.com

posted under category: CFEclipse on November 14, 2005 by Nathan

Congrats to Rob for getting published on Macromedia.com. As noted by a few of the heavy-hitters in the CF blogsphere, Rob wrote a great introduction to Eclipse and the CFEclipse plugin. It's a good read, especially if you don't know what CFEclipse really is about. Oh, and check the links, yep, the section right before the end - that's a link from Macromedia.com to Dopefly :D

(Discuss with Disqus!)

Discovering the Eclipse Local History Feature.

posted under category: CFEclipse on November 14, 2005 by Nathan

If you haven't seen the "local history" feature in Eclipse, try it out! There's really not much to explain, so follow along quickly:

  1. Find a file that you want to check the history on
  2. Right-click on it
  3. Find the "Compare With >" menu item
  4. Choose "Local History" on the menu

I told you it wasn't hard, and it's 3 steps too many for most of us, 4 for some.

From the Local History window, you can check the status of your file day by day, update by update, line by line like WinMerge. By default, Eclipse keeps the latest 50 changes to every file you modify over the past 7 days. These options are in the Eclipse prefs under General > Workspace > Local History.

This is another incredibly useful feature, if, say, you destroy a file before you check it into your version control, or worse, if you have no version control --yeesh, good luck fixing a file from a couple days back with dreamweaver.

(Discuss with Disqus!)

The disappearing text bug in IE6

posted under category: Browsers on November 3, 2005 by Nathan

I know this is out there, but, at least for my own reference, I'm blogging it.

In a heavily CSS-driven layout, once in a while a block of text will disappear in IE, and come back partially when you highlight it. It has something do do with certain combinations of floats and positioning. The fix for it is to put everything that's not nailed down as position:relative;.

This one gets me from time to time. Worse yet, because I so heavily rely on Firefox, I can be almost done with building a site before I realize half of my text isn't showing up in IE!

On a side note, i'm whimsically thinking of starting a prayer group for web standards. Help me out and pray:

Dear God, please bring us CSS3 support to all major browsers and desktops. Amen
I really doubt there has been any previous movement in this direction. I can see my future bumper sticker now:
Pray for web standards!

(Discuss with Disqus!)

CFEclipse: The REAL Nightly Build

posted under category: CFEclipse on October 13, 2005 by Nathan

Insane props to Rob Rohan, who worked out an ant script yesterday to export direct from the CFEclipse CVS repository, build the plugin, zip it and upload it onto his web site every night.

So for those of you complaining about not having err, wishing for a real nightly build, this is it.

Head over to Rob's Blog and find the CFE NIGHTLY section on the right side to download.

Installing is as simple as unzipping and matching folders with your eclipse folder, then restart Eclipse and you're in business. If it blows up or has unwanted features (very likely), close Eclipse, delete the folder and start it again.

If you wanted to be really bright, you could make an ant script to download the zip file nightly, unzip it and install it into your plugins folder for you. Then blog about it and share the code or send it to me because I'll be jealous. :)

(Discuss with Disqus!)

Eclipse Tip: projects/folders open every time Eclipse starts

posted under category: CFEclipse on September 30, 2005 by Nathan

If you have the problem where a number of folders are stuck open in your Eclipse Navigator View, that sure gets annoying, doesn't it. Here's how you clear it out easily.

Open your workspace folder, wherever that is, then find the \.metadata\.plugins\org.eclipse.ui.workbench\workbench.xml file. Open it up with your favorite editor and navigate to something like:

/workbench/window/page/views/view[@id='org.eclipse.ui.views.ResourceNavigator']/viewstate/currentframe/expanded
Delete all the elements in the expanded node, and the next node, selection. Save and close the workbench.xml file and start Eclipse. Problem solved!

This is as much a future reference for me as it is for anyone else out there.

(Discuss with Disqus!)

Windows Tablet PC Edition

posted under category: Browsers on September 11, 2005 by Nathan

I've been in heaven the last day or so playing with my wife's new toy, a Toshiba tablet PC. This thing os so cool and versatile, and it's so perfect for so many things.

There were a lot of little apps and toys that came with it (this is the boring part), the coolest of which are MS Journal, a freehand writing pad that is smarter than it seems, and the Tablet PC's input panel, which pops up whenever you hover your pen over a text area. The input panel also provides an easy mechanism for enabling the MS speech tools, which seem to be pretty good so far.

Now the fun part. I was amazed to see the effort that MS has put into the Tablet PC platform. They've done some really cool stuff, most of which you can download for free from the Microsoft site.

The MS Education Pack, though not so exciting for me, has my wife smiling about her future schooling plans.

The MS Experience Pack has got a lot of fun things, like a screen grabber, circle the part of the screen you want and send it straight to an email, write directly on your desktop with the Ink Desktop, and play crossword puzzles.

The Tablet PC PowerToys (you know, like TweakUI), were particularly astonishing. I count over 20 utilities, games, tweaks and apps, including a layered, pressure-sensitive painting program, animated drawing programs, at least 10 games, and my favorite, the easiest font creating tool I've ever seen, the My Font Tool. Want to download my handwriting font?

Microsoft has really done a great job on this OS. I'm really having fun with it. 5 stars, highly recommended. Thanks Bill!

(Discuss with Disqus!)

If you're reading this...

posted under category: Servers on September 7, 2005 by Nathan

If you're reading this, you're looking at dopefly.com at it's new host, just 15 feet from my desk!

Thanks to Alan for the server, the AZCFUG for the software, Interactive Sites (my new employer) for the bandwidth and John & Pat for helping me set this up and getting the site moved over. You guys are all awesome.

It's sad though, I was almost enjoying having a web site blink on and off like a strobe light. Yeah, the stobe site. That's dopefly. Well, no longer, as long as we can avoid another one of those catastrophic drive failures this box had a few months back.

In related news, my 2.0 version of this blog is coming along. I had this idea to make an OO singleton-styled pattern, though it was mostly for the sake of coping with a database that was down 80% of the time. Still, I'll push ahead because it's a fun experiment.

(Discuss with Disqus!)

COAL is neat

posted under category: ColdFusion on August 22, 2005 by Nathan

In case everyone hasn't seen Ryan Guill's little project COAL (stands for the ColdFusion Open Application Library), I suggest you check it out. If for nothing else, then just for the sake that it houses the entire CFLib.org UDF library, in an easily digestable component model. There's a couple extra little treats in there too, none of which interest me nearly as much.

Ryan, if you're out there, keep it going! Add more components, diversify a bit. See if you can get Mossimo Foti's great CFCs embedded into COAL, or hook up with the OpenXCF project to package a lot of their projects into an easily digestable COAL form.

I'd love to see COAL as a standard thing you install with any new CF server, you know, install, enter serial, setup dsn entries, install COAL, register custom CFX tags, etc.

Seriously, I think there's potential here.

(Discuss with Disqus!)

Check out Eclipse WST

posted under category: CFEclipse on August 4, 2005 by Nathan

Looking for that perfect companion to CFEclipse? Something to edit your html, javascript, css, xml, xsl and sql? (and who of us doesn't need at least some of that?) You need to check out the Eclipse Web Standard Tools project.

WST is actually just a subproject of the much larger Web Tools Platform project, which, in turn, is a subproject of the Eclipse Platform.

Version 0.7 was just released on Tuesday. I've got it running and so far it looks good.

Now, how do you install it? WARNING: large downloading ahead.

The easy way if you aren't an eclipse user yet, is to download the whole WTP all-in-one zip file. It will give you Eclipse, all the prerequisites and the WST. Just add CFEclipse and you're set.

Those of us using Eclipse already will have to work a bit more, but download less (as long as you're already on Eclipse 3.1). Open Eclipse's built-in updating tools to download the prerequisites. It's under Help > Software Updates > Find and Install, then choose "Search for new features to install" and check mark the Eclipse.org update site. I noticed E3.1 gives you a list of mirrors (yay), In the US, I recommend the TDS mirror. On the features screen, check mark these: emf-sdo-xsd-SDK-2.1.0, GEF-SDK-3.1, and JEM-SDK-1.1. Finish the install and Eclipse will restart.

In the meantime, go to the Web Tools download page and grab the platform runtime zip. Unzip it into the matching folders of your current eclipse setup and start Eclipse.

I'm sure I make it sound harder than it really is. I'll make sure to update my CFE resources page soon to recommend this instead of the old sourceforge JS & CSS editors.

(Discuss with Disqus!)

How Dopefly almost stayed alive

posted under category: ColdFusion on August 2, 2005 by Nathan

So Dopefly's web host decided to upgrade their servers without telling anyone. Wasn't that special? Glad to have my site back up, and apparently without losing anything in the process. That's a relief. I know, I know, I get what I paid for, but I'm happy (enough) with my $5/mo cf host. Yes they're terrible, and totally unreliable, but it's kind of an adventure, not being able to rely on databases and servers.

The site was actually up for 3 of the 4 days without a database, and yes, this is a fairly heavily data-driven site. How is it possible you might ask? Through the wonders of scope caching. Somehow when I built this site, I knew this would happen, so I'm glad to see it's paid off.

Now normally, a CF Cached query will time out at a certain time, or worse, never, without clearing all the cached queries on the server. With a good scope caching strategy, you can save recordsets in the application scope until the scope is cleared.

What I did was save my data in my query caching CFC, with regular interval timeouts (like 24 hours). If the query errored, I would increase the timeout by a minute and return the previously cached version.

Another advantage of this strategy is the ability to remove any cached entries when an update is made. When I click the submit button on my blog form, it inserts the record for this entry and invalidates my cached recordsets that will be affected by the change. The result is an instant update to would-be cached data.

Now the reason why Dopefly was down yesterday was because they reset the CF server. There goes my cached application data and my site. So now I'm devising a strategy to persist my cached data to disk (evil grin).

I know, I know, "Geez Nate, get a better host." But it's kind of exciting, living on the edge.

(Discuss with Disqus!)

Setting up a databse plugin in Eclipse

posted under category: CFEclipse on July 15, 2005 by Nathan

Dan Switzer explains how to set up the DBEdit plugin in Eclipse for SQL Server 2000. Great job, Dan!

He's also got a link to Shlomy Gantz's Blog entry from last December, detailing how to set up the SQL Explorer plugin. Thanks Shlomy!

I know this is a requested feature for a lot of CF developers on the Eclipse platform. One day, time permitting, I'll install both of these and write up a little-review.

Oh, while you're downloading DBEdit, make sure to skip over the card games plug-in. That's a time-waster, for sure. And pretty well made. And kinda fun. And I kinda need to get back to work, but I kinda am working because at least I'm in Eclipse.

(Discuss with Disqus!)

Why Client Variables are Flawed

posted under category: ColdFusion on July 7, 2005 by Nathan

Client variables in ColdFusion are flawed. Inherently from the start, they're no good to use. First off, where are you going to store the data?

Registry: Don't do this. Especially if you intend on having users on your web site. This expands your registry and will make your whole server slow.

Cookie: Don't do this (see 6.3). Limitations in browser cookies keep you from storing large amounts of data. Maxing out browser cookies can have (very!) unforeseen consequences. This also will increase your network traffic and bandwidth.

Database: Don't do this. Constant updates and heavy traffic will kill your database (and thus cf) servers. Come on people, there are better ways of storing data in the database.

A couple other annoyances and pet peeves of mine are:

  • All options are server-wide, it would be cool to have different options for each application
  • For my database's sake, select the data once and only insert/update them at the end of the session
  • Need more storage options, how about using files or a proprietary client variable server (aka state server)

I think there's still something to be said for dynamically created persistent data that can be tied to unknown visitors. Too often we use a cheap cookie (watch those limits), or go overboard and change our database schema to add a temporary property, but a better structure from the start would solve that.


What we need is a more intelligent client scope that will fix the insanity. We need more control over the little things, even over the inserts and updates in the database. It's got to be built with open source CFCs or expose itself with extendable java. Mix it with CFMX 7's new Application.cfc event handlers (especially onSessionEnd) and we could have something really useful.

There are only a couple ways of going about getting what we want. We either build it ourselves or we beg the CF developers and hope for the best. My money is on doing it myself. I'll be thinking more about this, so expect to see more posts about it in the future.

(Discuss with Disqus!)

Model-Glue: Worst Breezo Ever

posted under category: ColdFusion on June 30, 2005 by Nathan

As a remote viewer from the AZCFUG meeting of the BOF Model-Glue framework meeting, I've got to say, that was an unimpressive breeze presentation. Sorry Joe and Steven.

The first 15 minutes were intermittant and choppy bits of audio while we waited for Joe to download and install the breeze powerpoint plugin. Can yo. ...r me n.w? The next 15 minutes had pretty good audio and was a nice introduction to the M-G framework, skipping by things we already know (like what's a view), and starting to get into the gritty fun stuff.

Then the plug gets pulled. I guess they only booked the room until 10:00pm because the hotel manager kicked them out in a hurry. Sure they weren't so disappointed, they ran (didn't walk) to the bar, leaving us sitting in coldfusion confusion.

Not to say they didn't try. They did a great job organizing the event, you know, 'A' for effort. Maybe you can make up for it next month, because we're all still interested. Seriously, maybe this wasn't the worst Breeze presentation ever, but I've seen better :p.

So, what did I learn about Model-Glue? It looks like Mach-II, it's more implicit, less explicit, to get started you should edit the modelglueapplicationtemplate's config file and follow the examples in the documentation folder. Sadly, that doesn't really tell me why M-G is better than the rest, or what development advantages it has over Mach-II or even Fusebox.

Thanks to John Blayter and the rest of the AZCFUG, the evening wasn't a total loss, and I think everyone got a free book, a Macromedia pen (I will never run out of reading material and writing utensels as log as I attend), and some pizza.

(Discuss with Disqus!)

CFEclipse.org

posted under category: CFEclipse on June 29, 2005 by Nathan

CFEclipse.org is open for business! Thanks to Spike and Simeon for getting this up and ready. These guys are hard workers and put in a lot of time on the CFEclipse project, worthy of many, many thanks.

The easiest way to thank them, is to download CFEclipse and start using it, then get involved with the community however you can.

Notice the design is familiar? The reason behind it is the Mozilla foundation has similar goals and objectives as the CFE project, plus it's a good clean look. The site runs on Farcry, an open source CMS.

Soon, members of the community will be able to write articles and documents for the site, so think of what you'd like to see and write it or suggest it.

(Discuss with Disqus!)

Get into .NET programming for free

posted under category: dotnet on June 23, 2005 by Nathan

I just noticed on OSNews an article on Builder.com about how to get into .NET development without the costly overhead of a Visual Studio license or MSDN subscription.

In my c# development (my latest toy language -- oh, i've got a new project ;) I use Visual Studio. Yep it's good and stuff, but it does fall short in a lot of areas, like it's about 1.5 GB with the library files, which, I guess provides help. I don't know, it's never been that helpful. You can't have files from 2 projects open at once, there's no tag insight for ASP.NET or HTML (or css or...) pages, the interface, while customizable, just can't stand up to Eclipse, and neither can the 3rd party tools, plugins, etc.

So yes, I use it, as it's free to me (with my employment, so it's kinda like they pay me to use expensive software), and it works fine. There are positives too, like, it's fast and always seems to work.

For starters doing dotnet, find and install the SDK. The documentation app that comes with it has been more than worth it's weight in megabytes for me.

If you want to write a windows desktop application and you don't want to fork the cash or install for 6 hours, get SharpDevelop. I've used it and it's cool. Easy to run, a lot like VS.NET where it starts with a visual 'WinForms' designer and you drill down into the code view to do real programming.

If you ever thought of using Visual Studio to write ASP.NET pages (aka WebForms), get your head examined. "Oooh but they have the free Web Matrix tool" That's some serious crap software. Don't even download it. Your best bet is to develop your front-end in Dreamweaver. It's got a couple wizards and perfect content assistance for all your asp: tags.

Last up, if you want to do any c# in Eclipse, forget about it. The Improve C# Plugin really isn't that good, and I haven't seen anything else worthwhile.

(Discuss with Disqus!)

Stupid web tricks out of boredom

posted under category: General on June 11, 2005 by Nathan

Visit dopefly.com at night and you'll get a different skin than the normal daytime look & feel. It's just a tiny bit of date/time math and switching a stylesheet out, but it's cool, and a nice project for a Friday.

(Discuss with Disqus!)

Break Safari with cflocation

posted under category: ColdFusion on June 7, 2005 by Nathan

Quick tip, something i just stumbled upon.

<cflocation url="?action=abc">

This will break Safari, adding the URL field to the current address. So, if you are looking at:

dopefly.com/?action=123

and run across the above cflocation tag, you will now have something like:

dopefly.com/?action=123?action=abc

Not exactly the desired effect! The fix, of course, is to be a little more specific.

<cflocation url="/?action=abc">

(Discuss with Disqus!)

Musical Baton Meme

posted under category: General on May 26, 2005 by Nathan

And coming in days late, it's time to put up or shut up, all thanks to Sean Tierney, who reminded me to post this last night at the cfug meeting. So...

Total Volume (of my MP3 library): 18.2 GB

Last CD Bought: "Phenomenon" - Thousand Foot Krutch

Song Playing Right Now: "I Sigh" - Sackcloth Fashion

Five Songs I Listen to a Lot:
* POD - Asthma
* Andy Hunter - Go
* Blindside - Pitiful
* Chevelle - Vitamin R
* MeWithoutYou - Four Word Letter (Pt. Two)

Five People to Whom I'm Passing the Baton:
And curse the rest of you? No, I'll be kind. Not to say there aren't a lot of people who should fill this out, like, oh, say, Rob Rohan, or maybe John Blayter, who's blog appears to be offline due to server problems, or how about Sarge, Andy Jarrett, or Mark Mandel. But I wouldn't want to put other people through this. No not me.

(Discuss with Disqus!)

My first desktop application

posted under category: dotnet on May 23, 2005 by Nathan

My first, meaning non-test, non-sample-driven, not-from-a-book desktop app. I'm writing a photo uploader for my "our family" section, which, thanks to some oh-so-clever recursive direcory deleting programming of mine, got tragically wiped out (curses!).

I'm writing it in c#, which is actually a lot of fun. Never having made a desktop application, or a .NET project at all, it's really not too hard. I mean, it's not walk in the CF park, but it's relatively simple when you get ahold of the MS programming model and figure out their own dictionary.

I'll put up a couple screenshots and post the code when I've got it in a good working state, granted it's not going to be the most impressive thing you've seen, but it could spark some ideas for 'smart clients' - it's already doing that for me.

(Discuss with Disqus!)

Steven Erat's ColdFusion News Podcast

posted under category: ColdFusion on April 25, 2005 by Nathan

Steven Erat has started a weekly news podcast for the ColdFusion community, highlighting news topics, software updates, interesting threads from CF-Talk, and more. This project has got a lot of promise, so support Steven by hitting his blog and downloading the first show, and hooking up your podcasting software if you've use it.

It's too bad Steven's a Macromedia (soon to be Adobe) employee, or he could probably give us some opinions on the merger from the inside. But then if he wasn't on the inside, I guess his opinion wouldn't really be any better than anyone else's.

(Discuss with Disqus!)

Macromedia listens. Time to upgrade!

posted under category: ColdFusion on April 22, 2005 by Nathan

Despite impending doom and the end of the world, etc., etc., I think this is a great time to upgrade your CF servers.

Yesterday, MM released the 2nd cumulative updater for CFMX 7.0. CF7 has been out for two and a half months with no big showstopping bugs found, just some little things about the new cfreports. Nothing urgent, just something about verity searching. No serious security threats, just something about nested transactions. No loss of performance or server stability issues, just something about web services I'll never use.

Despite those nasty rumors that CFMX7 was built on the same stable engine as CFMX6, I am forced to agree, it is stable and, yes, even production ready. I'll start pushing my superiors for an upgrade.

At least I can still look forward to seeing what hits the fan when the next DataDirect drivers are shipped.

Good job, Macromedia. You guys did a good job...

Macromedia? Adobe? Macrobe? Adobedia? Macrodobia? AdoMacrobedia? Please don't announce Coldfusion CS. CS sounds so weak.

(Discuss with Disqus!)

Programmers, Prepare Your Pranks!

posted under category: General on March 30, 2005 by Nathan

As a friendly reminder that April Fool's Day is just around the corner, and better yet, it's a weekday, for those of you who run any intranets, here's a little code to get you going. Just a simple little trick, but it gets the job done. Click below to view it (just a little CF, mostly Javascript).


<cfif not dateCompare(now(),"4/1/#year(now())#","d")>
<script>
var r = Math.round(Math.random()*100);
function dang() {if(r==25){document.bgColor=getRandColor();setTimeout("dang();",50);}}
function getRandHex() {var b16=new Array(1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f');return b16[Math.floor(Math.random()*15)];}
function getRandColor() {var c="";while(c.length<6){c+=getRandHex();}return c;}
document.onload=dang();
</script>
</cfif>

Try it out. Doesn't do anything? There's a 1% chance that it will, but once or so out of a hundred hits, you'll get a random color flashing page background. Refresh and it's gone! Pretty sneaky, no?

(Discuss with Disqus!)

CFMX7 WACK released

posted under category: ColdFusion on March 24, 2005 by Nathan

Ben Forta Announces the launch of the CFMX7 WACK. Whack yourself if you've never read one of these books, or bench-pressed one.

This career-enhancing legal stimulant is guaranteed to take beginner and intermediate developers to the next level. I've always recommended this series, so I'm sure the latest edition is nothing but the best.

(ps. I know, I know, 2 posts in one day, what am I thinking?)

(Discuss with Disqus!)

Macromedia Pens

posted under category: General on March 24, 2005 by Nathan

Went to the AZCFUG meeting last night. There was hardly anyone there (I think it was due to short notice), but there was a nice spread of junk/schwag/stuff/gear to give away. I scored two of those amazing macromedia pens, a gel pen and one with its own sleeve. I've gotta ask, is there anything better in the world?

Everybody out there should hit up your local usergroups. You can really score some decent stuff. Last year I won a copy of CFMX Professional. I've won 2 books and 4 pens this year. If you're not involved, you should try it out.

(Discuss with Disqus!)

It feels good to be famous

posted under category: CFEclipse on February 15, 2005 by Nathan

I think the real title should be "CFEclipse featured in the CFDJ," but that was just too boring. Anyway, you can find the article at:

http://sys-con.com/story/?storyid=48235

And you'll even see a link to my CFEclipse resource page at the bottom. I'm glad people find it useful. As always, let me know what else you'd like to see on it.

(Discuss with Disqus!)

CFMX 7 - Should I Upgrade? When?

posted under category: ColdFusion on February 9, 2005 by Nathan

Well CFMX 7 is out already. Good work MM folks. It looks pretty seamless with my existing apps, and I can't wait to start using the new application events. Hopefully we'll upgrade our Enterprise licenses and I'll get to play with event gateways too.

Now down to business, Is there really any reason to upgrade? Yeah new programming toys are nice, but we've been doing fine without them so far. CFDocument will please the higher-ups, as will the built-in script protection, but how about a magical ability to keep JRun from crashing from too many queued threads? Does it have that? What about invincible database drivers that won't choke up? What about a connector that stays connected to IIS, finds out if it gets disconnected (starts throwing JRun errors) and re-connects itself. I've had to restart IIS and/or CF way too many times.

I'm not going to say that CF isn't enterprise-ready, or that it won't scale, because it is and it will. It always will, depending on how you code your sites and tweak your servers. I just have a few reservations.

Anyways, we're probably not going to upgrade, at least not the majority of our servers, unless there's actually something more than neat features.

Hey here's a marketing idea for Macromedia. Put out a service pack early, only a few bug fixes, whatever's blaringly obvious. Do it in a month after the release date so you can say you've fixed any initial release problems. How many people and companies wait for Microsoft's SP1 or 2 before investing in a new enterprise OS?

As a side note, I think the excel format on cfdocument will probably win us over in the short-term, but that's just for our intranet. Strange, I never really liked the idea of calling an excel spreadsheet a 'document'.

(Discuss with Disqus!)

CFC: Expose Thyself

posted under category: ColdFusion on January 17, 2005 by Nathan

Weird little thing I found. I thought it up a couple weeks ago when the cf-talk list was bickering about CFCs and good encapsulation and so on. Here's a way to undo it all in one quick swoop.

A CFC can expose all of its private data. Just have a method return variables. Every private member and method is now yours for the taking.

Hey here's some bad coding advice. Too lazy to make getters and setters for all your variables?

<cfset myCFC.getVariables().privateVar = "new value" />

(Discuss with Disqus!)
Nathan is a software developer at The Boeing Company in Charleston, SC. He is essentially a big programming nerd. Really, you could say that makes him a nerd among nerds. Aside from making software for the web, he plays with tech toys and likes to think about programming's big picture while speaking at conferences and generally impressing people with massive nerdiness and straight-faced sarcastic humor. Nathan got his programming start writing batch files in DOS. It should go without saying, but these thought and opinions have nothing to do with Boeing in any way.
This blog is also available as an RSS 2.0 feed. Click your heels together and click here to contact Nathan.