Archive

Archive for February, 2009

Announcing SearchMark, a Firefox Extension For Searching your Bookmarks and History

February 27th, 2009

I just wrapped up work of the initial release of my first Firefox extension, SearchMark. SearchMark anonymously mirrors your browser history and bookmarks to the SearchMark server and uses that data to create two dynamic Google Custom Search Engine which can search the content of your browser history or your bookmarks. These search engines show up in your search box.

Personally, I’ve always found bookmarks in browsers to be pretty much useless. If I’m learning a new technology I might bookmark some interesting links, only to forget I’ve bookmarked them or to be unable to identify them again. I don’t tend to bookmark sites I go to frequently because they popup first in my navbar. I’ve always pretty much ignored bookmarks.

Now I can bookmark pretty much anything I think is interesting or don’t want to forget. SearchMark will log them for me and if I ever want to look for a particular topic I know I’ve read up on I can simply search.

Source:Announcing SearchMark, a Firefox Extension For Searching your Bookmarks and History

admin Alagad

The Best Way To Create Temporary Files in ColdFusion

February 27th, 2009

This morning my day was kicked off with a warning from OS X that I had next to no space left on my hard drive and that I’d better clean stuff up pronto. Luckily, I knew exactly what to remove and I took care of it. However, while cleaning up files I stumbled across a set of files in my home directory with names like "c/\temp\924A8A06-FE9F-462A-F4BDCA63C95797CE". Now that’s an odd name for a file on a Mac!. I opened one of these files to see a barcode image and realized what was going on.

One of my client’s developers had been working on creating these barcode images and must have hard coded the creation of the images to their "c:\temp" directory on Windows. My experience highlights one reason why this might not be the best way to create temp files: The directory might not exist! Or, it’s conceivable that the non-standard c:\temp directory might not exist. Or that ColdFusion might not have rights to write to that directory. Or the application might be running on a non-Windows system like OS X, Linux or Unix.

Source:The Best Way To Create Temporary Files in ColdFusion

admin Alagad

Opera DOM Snapshot FTW (for the win)

February 27th, 2009

The other day I was trying to troubleshoot a problem I was having and needed to open an completely different browser. I chose to open the offending page in Opera. After fixing the issue, I played around with Opera as I had heard some good things about it from some people. I decided that, for a short time, I would try to use Opera as my main browser to give it a fair shake.

One thing I love about FireFox is FireBug. FireBug is simply invaluable for a developer. I looked around to see if there were any ‘plug-ins’ for Opera that offered similar functionality. I stumbled upon this link which had 2 separate tools you can add to Opera.

The first tool was the ‘Opera Developer Console’ which offers a lot of similar functionality to FireBug, but not nearly as easy to use.

Source:Opera DOM Snapshot FTW (for the win)

admin Alagad

Speculation of a Possible Future

February 27th, 2009

Since Adobe announced Bolt there has been a lot of speculation about whether this spells the end for CFEclipse and whether or not Adobe will charge actual money for Bolt and, if Adobe does charge for Bolt, how that will impact the platform overall. I was thinking about this, and the other various developers pine for in ColdFusion and came up with a hypothetical future that we all may enjoy. First, I ask you to bring into your mind some common platforms. For example, PHP, the Flash platform and the .NET platform. Now ask yourself, what is their profit model? All of the aforementioned ostensibly are provided free of charge. However, their organizations sell IDE products such as Zend Studio, Flex Builder, and Visual Studio.net as the best available tool for creating applications in their respective languages, though for each there are free alternative IDEs. Additionally, there are both official and third party extensions which can be purchased to provide capabilities that are not built into the platform or are difficult to implement. Charting is a common example of a non-free extension.

Source:Speculation of a Possible Future

admin Alagad

Bind Error Alert Messages: My Most Despised ColdFusion Feature (And a Solution!)

February 27th, 2009

I usually try to remain fairly positive on this blog and not be outright negative about, well, anything. But this time I simply don’t have any way to look positively on my most despised feature of ColdFusion. To put it simply, I hate how ColdFusion shows a JavaScript alert every time there’s a problem with anything related to cfajax. Right now, I’m working on an absolutely insane HTML form. When done it will probably have multi-hundreds of fields. (Before anyone blasts me on this, there are business processes which require such a complex form and processes are in place to make it less cumbersome.) This form has a lot of fields which are bound to other fields. Furthermore, this is a Model-Glue application and if you run into a ColdFusion error an error event handler is displayed, not an inline error message as with traditional ColdFusion development. This means that every time I get a ColdFusion error all my bindings fail and I have to click through a metric ton of alert messages. And, to make matters worse, I’m on a Mac where alert mesages slide in from the top of the browser so they take longer.

Source:Bind Error Alert Messages: My Most Despised ColdFusion Feature (And a Solution!)

admin Alagad

ARGH COLDSPRING: "The FOO parameter to the init function is required but was not passed in."

February 27th, 2009

OK, so this error isn’t really (in this case, anyway) ColdSpring’s fault… it was mine. And it didn’t take all that long to figure out, either. But, it was one of those situations where all the code was right, all the cfarguments were in the right place, and there was a tag in the CS config file for all my arguments. Everything was where it should be and there were no syntax errors or missing values or anything.

Yes, that’s right: A real hair-puller.

And then Cometh the Duh (aka Note To Self):

If you’re passing arguments to the init() method, you need to use constructor-arg tags, NOT PROPERTY TAGS!

Yeah, some days are like that. Yark.

Source:ARGH COLDSPRING: "The FOO parameter to the init function is required but was not passed in."

admin Alagad

Flex Builder ColdFusion Flash Remoting Problem and Resolution

February 27th, 2009

Sorry for the obscure title on this blog entry. I couldn’t think of a better way to title it. This entry covers some problems I ran into configuring a Flex application to work with ColdFusion Flash Remoting on Mac OS X. I am working on an Air application which will talk to ColdFusion via Flash Remoting. My components are accessible via an Apache virtual host. My virtual host answered to the domain http://photoframe, which I configured, tested and was working correctly. IE: I could put a file in the directory for that URL and pull it up via a web browser. My next step was to create a new Flex Project in Eclipse. For the first page I provided the path to my project directory (up one level from my www directory). I indicated I’m creating an Air app. Finally, I selected ColdFusion as my server technology and that I was using ColdFusion Flash Remoting for my remote access service and clicked next to continue.

Source:Flex Builder ColdFusion Flash Remoting Problem and Resolution

admin Alagad

Getting Started Configuring an Enterprise Development Environment For JBoss, Groovy, ColdFusion, Spring, Hibernate, Model-Glue and ColdSpring, among others.

February 27th, 2009

As I stated in a couple of blog entries the recently, Alagad is moving towards using Groovy to develop the object model for the systems we create. I outlined the logic behind this decision in this post. Joe Rinehart outlined some of the important basic concepts in this post.

Today I’m going to write about how Alagad is configuring its development environment. I’m hoping that this documentation will help others get a basic environment setup to start working with Groovy and ColdFusion. From this starting point I’m sure we’ll all diverge into using our own preferred techniques.

When I’m done with this blog entry I’ll have created a few publicly readable SVN repositories, including one called "Tools", that you can hopefully use to skip some of the tedium of getting this stuff setup.

Source:Getting Started Configuring an Enterprise Development Environment For JBoss, Groovy, ColdFusion, Spring, Hibernate, Model-Glue and ColdSpring, among others.

admin Alagad

Is It Cold In Here, Or Is It Just Me?

February 27th, 2009

Sadly, I’m not attending Max this year. I spent my budget this year on four other conferences (CF.Objective, CFUnited, WebManiacs and Scotch on the Rocks) and there just wasn’t time or good will enough from my wife to go to Max as well. So, with keen interest I’ve been watching the blogosphere to see what’s going on. I’ve seen the various announcements about Gumbo and Catalyst, which I think are very exciting. But the thing that really caught my eye was the 64 bit preview release of Flash 10 for Linux. Yes, Linux! And no, I’m not a Linux on the desktop kind of guy. I thought about it before switching to Mac, but I’m not one to want to run Photoshop in VMWare. The reason I find this exciting and shocking is the largely positive press this has gotten in the Linux community.

Source:Is It Cold In Here, Or Is It Just Me?

admin Alagad

Yet Another 'Passed By Reference' Analogy

February 27th, 2009

Last week, there was a conversation in the #coldfusion channel on Dalnet IRC where one person was pondering if the ‘passed by reference’ behavior of ColdFusion (and just about every other programming language) ‘breaks’ encapsulation when using object oriented (OO) design patterns or architecture.

For those who may not understand what ‘passed by reference’ means, it is a way that programming languages handle complex data types (such as structures, queries or CFC instances in ColdFusion) to save memory. When you create a structure in ColdFusion, it gets stored in memory. Whenever you need to reference this structure or pass it to a function or custom tag, ColdFusion uses a ‘pointer’ to show where in the memory this variable is stored, rather than another instance of the variable. Any changes made to the structure in the function or custom tag, will be reflected in the ‘original’ structure.

Here is some sample code to show how this works.

Source:Yet Another 'Passed By Reference' Analogy

admin Alagad