Archive for April, 2005

Guidelines to Naming CFC’s

Thursday, April 28th, 2005

I came across a very good post at Hacknot about naming classes which seems very adaptable to ColdFusion CFC’s. I think I already adapt a pretty good percentage of these practices, but there are certainly a lot of things listed there which I’ve never taken into consideriation before when naming CFC’s. Granted it’s just a guide and not THE standard or anything, but it does seem to be fairly sound.

I’m currently in finals week of my Java class, and I must say it’s helped me a lot as far as approaching how I structure CF applications and name CFC’s. The OO world was pretty eye-opening to me after doing several full applications in Java, even after adapting design patterns to what I already do in CFC’s. One of many sessions I’m looking forward to at CFUnited-05 is Simon Horwith’s discussion about Design Patterns and CFML, especially how things like Custom Tags fit into the still relatively young world of OO in ColdFusion.

Interactive JavaScript Debugging with JavaScript Shell

Tuesday, April 26th, 2005

Looking for an interactive way to test JavaScript? Check out the JavaScript Shell. Now if they had only implemented Fixedsys or Courier New as the font for the shell as well as a prompt… :)

The World’s Largest Databases

Monday, April 25th, 2005

I came across an old article citing a 2003 study about the world’s largest databases. It doesn’t look like they did one in 2004, though they are starting to do another one in 2005.

All Environments & UNIX Only: Top honors went to France Telecom for the largest database in the All Environments and UNIX Only categories. At 29.2TB, the database was three times as big as that of the 2001 winner. France Telecom runs the Oracle Database on HP Superdome servers and HP RAID storage systems.

Windows Only: The Windows Grand Prize was awarded to comScore Networks, Inc. The 8.9TB implementation was six times the size of the database of the previous winner ­ none other than comScore itself! comScore is a Sybase IQ DBMS site, with Dell PowerEdge servers and EMC Symmetrix 5 storage arrays.

[...]

All Environments: The 2003 program was the first to track hybrid databases, which store data on both tape and disk. In general, these are data archives in which the majority of the data that can be queried is on tape. However, because their sizes dwarf the size of other databases, they deserve notice. Approaching a petabyte of data, the Stanford Linear Accelerator Center (SLAC) database, at 828.8TB, earned the Grand Prize. The SLAC database is managed by Objectivity DBMS on Sun Fire servers and Sun StorEdge storage arrays.

828.8 TB– that is amazing! This article is fairly interesting to me since I work in an multi-terabyte environment, and database platforms always seem to be a hot topic because of speed and scalibility, or lack thereof.

A few other snips from eWeek about this study:

Taking home the prize for largest database size for all OS environments and Unix, for the DSS portion was France Telecom boasting 29.2TB. France Telecom uses Oracle Corp. as its DBMS, Hewlett-Packard Co. as its storage and system vendor, and employs an SMP (symmetric multi-processing) architecture. In the Windows comparison for database size, ComScore Networks Inc. came in first with 8.9TB for its database. ComScore relies upon Sybase and its Sybase IQ offering as its DBMS, Dell for its systems, and EMC as its storage provider in a clustered architecture. In 2001, ComScore finished on top in the same category with only 1.5TB.

[...]

Within the TopTen program’s new Normalized Data Volume category, measuring data managed by the DBMS, AT&T ranked number one at 94.3TB, which is nearly three times as large as Amazon.com at 34.2TB in the number two slot.

I think the scary thing about this survey is that companies who compile massive amounts of “opt-in” consumer data (like grocery stores with discount cards, etc), probably didn’t take part in this survey. I would imagine there are some bigger databases which weren’t included from companies like that, and other places like financial instutions, insurance companies, health companies, etc.

Registered for CFUnited-05!

Sunday, April 24th, 2005

I just completed the registration for CFUnited, the premier ColdFusion technical conference which will be held in Washington DC on June 29th through July 1st. I also have a pretty good idea of what hotel and flights I’ll be booking as well which I’ll probably take care of next weekend. I’ve decided to stay in DC through the weekend of the 3rd as I’ve never been there and also have the 4th off. I pretty much decided this was going to be my summer trip (don’t worry, I plan on taking a real vacation in the Fall), but luckily work is kicking in some for my expenses as well. I suppose I should just be happy that a hobby and my career are one in the same?

I’m pretty excited as I haven’t been to any CF related conferences outside of the ones which have been held in Denver in years past, and I can’t really say I’ve had a chance to go to the East Coast at all either. I’m also impressed that Joel Spolosky will be the opening speaker as well as presenting a couple of topics. This is of course in addition to a very wide variety of topics by excellent speakers to check out which I’m not well versed in such as Flex, .NET, etc. I’m also hoping to get some sort of barometer of what I want to work on this Summer in my free time (more on that in a later post) by the topics which seem be interesting and any other buzz which might be happening.

Right now I’m thinking I’ll do one of the bus tours to go check out the major sights on Saturday, and then head to the Smithsonian on Sunday before my return flight back home. A friend of mine who used to live in DC will be there the same weekend that I’m there as well, so there is a possibility she’ll have time to show me around on Saturday rather than me doing it by bus.

Anyhow, I’m looking forward to meeting those who will be there, and feel free to say hello if you’re attending as well! I think one of the good things about face to face events like this is meeting the people which participate e-mail lists and blogs. Not that there are tons of flame wars in the various CF resources, but you’re more likely to encounter a friendly debate/enlightenment in person than via an online forum. I’m lucky enough to work with a very technically strong team, but it will certainly be humbling but motivating to be around so much talent all in one place. See you there!

Paint.NET: A Free Photoshop Alternative

Wednesday, April 20th, 2005

Being someone who is fairly decent in Adobe Photoshop considering I’m a coding monkey, it always bothers me to not have it at my disposal when needing to edit or create an image. In general I haven’t had a license for it at work at my last couple of jobs, and at times it can be quite limiting in those rare cases where I need an image for something.

The past week or so I’ve been playing around in Paint.NET which is developed at Washington State University with some help from Microsoft. It seems to be an excellent facsimile of Adobe Photoshop– I highly recommend that check it out if you need something to create/edit images in with Photoshop-like capabilities but don’t use a graphics application often enough justify the cost of a license of Photoshop.

eAccelerator Installed

Sunday, April 10th, 2005

I just installed the PHP caching compiler, eAccelerator, so the site should be a bit faster. Well, not that it was a slouch before or anything.

It looks like normal (dynamic) pages are being served in around 100-155ms, while pre-cached individual entries are being served in 0-10ms. Yum!

I think I’m ready to try that whole Slashdotting thing again…

How To Keep Your Job

Saturday, April 9th, 2005

I came across a link today to a Power Point presentation geared towards software developers about how to keep your job. I wouldn’t say I fully agree with it necessarily, but I do think it offers a good perspective on how to stop complaining about outsourcing and instead doing something about it.

One of the interesting things it noted was to stay away from “cookbook” type tech books and instead read books that contain higher level knowledge. I found this to be interesting, but not true for everyone. In the first few years of my career I picked-up a few books like that, but honestly could not grok them as I didn’t have enough experience or industry knowledge to get much good out of them.

It’s been about 6 years since I started earning a living by programming, and though I’m still not where I want to be as far as my knowledge of tools go, I’ve been starting to move up the tree as far as the books I buy. Lately my “lesisure geek” book purchases have been in the realm of managing the software development process, various design pattern books, and high level programming books. Of course I haven’t had time to dig very deep into any of them yet, but they’ll get their turn for sure…

Global Script Protection: Long Execution Time of cfapplication Tag in ColdFusion MX 7.0

Friday, April 8th, 2005

Today I’ve been doing some post-configuration testing of a JRun cluster I setup running ColdFusion MX 7.0 with multiple instances on each server and ran into a very strange problem. The application I was testing suddenly had an execution time of almost 5 seconds per page load for no apparent reason. I finally tracked down the offending code to a single tag which was surprising– a simple <cfapplication name=”namehere” /> tag.

After changing various JVM and configuration options, removing an instance from the cluster to test it individually without worrying about session replication, etc., I finally figured-out the problem. Apparently the new Global Script Protection feature was making the execution time bloat from 31ms (which is pretty amazing for all of the stuff the particular app does during each page load) to the range of 4600ms for the cfapplication tag on a simple page load. Ouch. Has anyone else experienced this?

4/11/2005 Update:

So I’ve been thinking about the above problem over the weekend, and I think I have an idea why it’s taking so long to process the cfapplication tag on that particular application. I have the feeling the global script protection scans various scopes, including the request scope. The request scope for the application I was testing has a pointer to a large API which is actually cached in the server scope. I wonder if it’s checking all of the objects in the request scope for cross site scripting related strings?

4/24/2005 Update:
Without really looking at the documentation much until after the problem, I saw that it was only checking CGI, Form, and Cookie scopes which made sense.. I just couldn’t figure out why this kept happening, and the Request scope was about the only thing I could think of. Turns-out after trying to narrow down the problem, it only happened in a really strange test case. It appears it was choking on some encrypted cookie values, but ONLY if I requested a page directly from the server and port rather than through a webserver which was part of a JRun cluster. Totally bizarre. No word yet if this is a bug or not, but it seems quite minor at this point.

Subversion for Nothing, and The Book for Free

Thursday, April 7th, 2005

We’ve slowly been moving away from VSS and to Subversion lately and so far I dig it. Today I came across the the O’Reilly book about Subversion, “Version Control with Subversion“, which is published online for free. From its reviews on Amazon, the online version of the book is actually better as it’s more recent and has less eratta.

PyDev: A Python Plugin for Eclipse

Thursday, April 7th, 2005

As I already do Java, C, and ColdFusion in Eclipse, I figured I may as well start doing the snake in it too. I’ve had PyDev installed for awhile at home but have yet to use it. However I need Python for something at work, so I guess I’ll give it a whirl.