Migrating to ColdFusion Builder from CFEclipse

Many people have been using CFEclipse for several years now and are now migrating to ColdFusion Builder. Since both are Eclipse based products this is pretty simple, but there are a few things that will not migrate without manual intervention.

First start with installing ColdFusion Builder. (See this.)

Next lets import your CFEclipse Projects. You can do this and it is easy since it is really an Eclipse feature not specific to any add-ons. Right click in the Navigator view and choose "Import". The windows that opens give you many options for what to import. You are going to click and expand the "General" folder and then choose "Existing Projects into a Workspace" and click the Next Button.

If you are using an SVN and you plan to use an Eclipse SVN plug-in in ColdFusion Builder install that plug in before importing your projects, the import process will automatically reconnect the imported projects to your SVN(s). You will also want to configure the SVN plug-in to access all repositories before you run the imports.

[More]



Homebrewed ColdFusion Monitor Presentation Files

Recently I presented Homebrewed ColdFusion Monitoring to the Twin Cities CFUG and to the Online ColdFusion Meetup.  Both presentations went well and I've been asked to post my slides and example code. 

Attached to this post is a zip file that contains a PDF version of my slides and the example code plus the CFC I'm using to make a full featured monitoring application.  Please note that the code is for CF9 Enterprise.  There may be some things that won't work in earlier versions of CF or the standard edition of CF.
 
The recording for my live presentation is at http://experts.na3.acrobat.com/p34004904/
 
Enjoy and watch RIAForge.  I am planning to release this application to the ColdFusion Community for collaborative development.
 
Thank you to all that attended the presentations and for your wonderful feedback.
 
Wil
 

*UPDATE* - I just uploaded a new zip file with corrected code that actually works this time.

*Note: When I write little tools like this I'm usually writing it because there is something I absolutely need to see in order to complete another project. These little tools are not written as projects themselves and therefore may not be very pretty or as full featured as something that I was writing as a complete project. I just needed to get some code running that gave me back the data I needed to see. There are no warranties or promises. If you find is useful then great. If not, oh well. I know the code works on CF8 at the moment. It used to work on CF7, but I do not have a CF7 server anymore so I can not be certain.



RegEx IP Address Validation

RegEx IP Address Validation

I recently had a project at work where I had to add in some strict IP Address validation and restrictions. We are being required to prevent end users from entering certain IP addresses or ranges. This is a perfect task for Regular Expressions. I am not an expert in RegEx, but I can get out basic RegEx expressions. The first thing I did was search around the net to see if there were expressions already done for IP addresses. There are, but not entirely what I needed. The best I could find were expressions to validate the IP address to ensure it is valid. I didn't find anything to test for certain ranges of IP Addresses. Since I can hack at RegEx a bit I took the expression I found to validate the IP address and made modifications to do the tests I needed. These are the Regular Expressions I hacked up to do the validation and restrictions.

We were required to block these IP addresses or ranges.

0.0.0.0
127.0.0.1
255.255.255.255
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

[More]



Recursion Fun

I just came across a fun little blog post about benchmarking the new version of Ruby by doing a Fibonacci sequence.  I hadn't thought about playing with Fibonacci sequences in a long time and since several others did it already I didn't really try.  I just ran one of the CF code examples someone posted on my MacBook Pro.  I blinked and missed the execution of it. Meh, fast enough.  

Like I said I hadn't thought about Fibonacci or other such algorithms in a long time.  At least not much since college when we all learned such things along with various sorting algorithms (who can forget the bubble sort?).  Why did we learn those when today we just write something like sort(blah) and never think about how it gets done.  I remember working on analyzing sorting algorithms to see which was the fastest and most memory efficient.  Memory efficient?  That is a novel concept these days.

However, a while back I did a recursion experiment in ColdFusion by doing a Factorial function which in college is one of the classic programming examples used to teach recursion.

I'm not even sure where you would use recursion these days, except in programming classes.  I have not run across the need for it in ages, but for some reason I was compelled to try this little experiment.

Is there really a need for recursion these days, or are we overlooking a power tool?

<cffunction name="factorial" access="public" returntype="numeric" output="yes">
   <cfargument name="end_value" required="Yes" type="numeric">
   <cfif end_value lte 1>
      <cfreturn 1>
   <cfelse>
      Calling myself with #arguments.end_value-1#<br>
      <cfreturn end_value * factorial(arguments.end_value-1)>
   </cfif>
</cffunction>
<cfoutput>#factorial(100)#</cfoutput>



New blog skin

I got tired of having an ugly blog and I am absolutely NOT a designer.  So I dug around looking for free blog skins and finally found the one I liked best.  Clean, simple and easy to implement with blogCFC.  It's called Nautica 2.2 Liquid [here].  The photo I used in the header is one my wife shot of the new I-35W bridge that spans the Mississippi river in Minneapolis, MN and replaces the one that collapsed (almost on me) back in 2007.  I'll have to have her get me high-res version of that photo so I can rid of the grain.  You can see the full size bridge photos here.

I still have design elements I want to try, but I'll have to do them another day.  It's 3:15am and my alarm goes off at 6am. Yuk.

Well, at least I won't have the ugliest blog on the net any more.  Now I can get back to ColdFusion coding and not be embarrassed by my ugly blog.

Cheers,

Update: Note to self, never write a blog post at 3 in the morning.  Spelling errors!

Update: 3 Days later I looked at my blog with IE.  I HATE IE!  Back to the CSS to compensate for the weakest link.

Update: I finally have it 'good enough' in IE. 



More Entries