Tuesday, December 17, 2002
Friday, November 08, 2002
Speaking of open source, Daniel Chicayban posted to CF-Linux wednesday an announcement of his open source project slashlog 0.1. The software is designed for unix but should work ok on windows according to the web site.
Thursday, October 17, 2002
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionCharSet the value to the key to 09 that's hex for tab. If you only want to enable it for your user account use these keys:
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionCharI guess I don't need to upgrade to XP now! I should mention that tab completion only works within the command prompt, don't expect it to work within windows file choosers.
Wednesday, October 16, 2002
Monday, October 14, 2002
Many people have had the need for a ColdFusion page to sleep, typically between iterations of a loop. There is a tag called CFX_Sleep in the Tag Gallery, but in ColdFusion MX you don't need a CFX tag to make the current processing thread sleep using the static sleep method on the java.lang.Thread class, part of the standard java platform. Because CFMX doesn't allow us to call a static method without an object reference, we have to first use CreateObject, or CFOBJECT to get an instance of a java.lang.Thread object. We then call the Thread.sleep(long) method, which takes in the number of miliseconds to sleep for.
<cfset thread = CreateObject("java", "java.lang.Thread")> About to sleep for 5 seconds...<cfflush> <cfset thread.sleep(5000)> Done sleeping.
Sunday, October 13, 2002
Almost every unix distro comes with a utility called "uptime" that tells you how long your server has been running. Unfortunitly no such tool comes with windows, but there is a pretty fool proof way to determine the date you computer was last started. Type the following in to the command prompt.
net statistics serverThe net command is very useful, it allows you to connect to shares, start services, send messages between computers and more. To learn more about it type:
net helpHere are some examples using the net command.
List all accounts in a domain:
net accounts /DOMAINSend a message to all users in the domain (a text box pops up). Replace /DOMAIN with a username to send to just one user.
net send /DOMAIN "The server is rebooting"Start a service
net start "Service Name"Stop a service
net stop "Service Name"
Wednesday, October 09, 2002
I added some batch files to the Code Samples section of the cfdev site today. The bat files can be used to restart ColdFusion 5, MX, or IIS services on Windows NT/2000/XP.
Tuesday, October 08, 2002
I noticed yesterday that when you use access="private" in a CFC function, inherited CFC's also have access to this function. In object oriented languages such as Java, C++, or C# this type of access is known as "protected" access. This may be a bug in CFC's, or it may just be a bug in the documentation, which states "private: available only to the component that declares the method".
Wednesday, September 25, 2002
ColdFusion's move to java gives developers and system administrators a wealth of performance tuning options. This is due to the fact that the runtime for ColdFusion is now pluggable (the JVM), we don't have to rely completly on Macromedia to make performance optomizations, we can use different JVM's and lots of different JVM settings to improve the performance and scalibility of our ColdFusion Applications. This is a topic I haven't seen much discussion about yet, and I'm not sure why.What JVM should I use?
You have lots of choices, IBM, Sun and BEA all make JVM's, each will perform differently. Which is the fastest? I couldn't tell you, it will depend on your server platform, and your application. Sun being the creator of Java, has the most popular JVM, but if you are really concerned about performance you should test with each vendor's JVM.
Here are some articles that may help make your decision (in no particular order)
- Java 1.4 Performance Guide - If your using Sun 1.3 you should probably think about upgrading to 1.4, due to huge increases in JNI performance (if you use COM, Registry, Verity you should see a big boost), Increased threading performance, 35% servlet performance increase (CFM pages are run as servlets in CFMX), byte code to native code compliation, etc
- BEA and Red Hat Partner to Deliver Unparalleled Java Performance For Enterprise-Class Linux
- The Volano Report - a benchmark, this report is 9 months old.
- Spec JVM98 Benchmark - reports are kind of old, but you can buy the benchmark software and run your own tests on your system.
- Java Performance FAQ
- Java Performance Docs (sun) - lots of good stuff here
- Java Platform Performance Strategies Aad Tactics - buy the book or get it free online
- Java HotSpot VM Options - docs on all the jvm settings for sun jvm's
- Tuning Garbage Collection - currently this doc is for 1.3.1, the sun jvm 1.4.1 includes an additional garbage collector, a concurrent gc which is suspossed to work well on multi-processer servers.
- Tuning Threads - this deals only with Solaris because you can choose different threading models on Solaris.
- Big Heaps, and Intimate Shared Memory (ISM) Big Heaps stuff applies to all platforms, the ISM is solaris only.
I haven't had the time to do any JVM testing on ColdFusion MX yet, but if you have I'd love to hear about your experiences email me email@example.com.
Tuesday, September 10, 2002
I found the easter egg in ColdFusion MX, thanks to a hint given out on the cfguru list by a Macromedia Engineer. The Tip that he gave was:
"I think I may have made the ColdFusion MX easter egg just a little too hard to find. Here's a hint: What would the browser language preference be of the most dedicated CF developer? Then go hunting in the admin."
Tom was right, the easter egg was pretty hard to find without that hint. So now if your ready, here's how you find the easter egg:
Set your Language preference to "CFML" in IE you can do this by going to Internet Properties -> Languages -> Add -> User Defined "CFML" Then browse to Version Information link in ColdFusion MX Administrator.
Friday, August 23, 2002
Tuesday, August 20, 2002
I found some undocumented methods that you can perform on a query by using Java Reflection. The methods are summarized here:
void query.first() - jump to the beginning of a query void query.last() - jump to the last value in a query boolean query.isFirst() - true if we are looking at the first row boolean query.isLast() - true if we are looking at the last row boolean query.next() - jump to the next row boolean query.previous() - jump to the previous row int findColumn(String name) - get the id of a column by name void sort(int columnId, boolean ascending) - sort by a column int getColumnCount() - returns the number of columns String getColumnTypeName(int columnId) - gets the data type of a column, this one didn't work properly when I tested it, it would return NUMERIC for a field that was a varchar. There is a method called guessColumnType that was probably used to determine it, it guessed wrong.
I have put together a web site called ColdFusion MX Un-Documentation that has some examples of how to use these features.
Sunday, August 18, 2002
Thursday, July 18, 2002
Wednesday, July 10, 2002
Tuesday, July 09, 2002
Studio 4.5 and 5.0 VTM files for CFMX: http://www.macromedia.com/software/coldfusionstudio/productinfo/resources/tag_updaters/
Thursday, June 13, 2002
Thursday, June 06, 2002
When installing CFMX and .NET to be on the same computer, Chris White pointed out on CF-Talk today that problems often occurr when .NET is installed before ColdFusion MX. Problems can occurr in both ColdFusion and .NET. Chris recommends the following installation path:
- Install IIS
- Apply IIS Security Fix
- Install ColdFusion MX
- Install .NET Framework
I came across eXcelon today, they have some interesting products. ObjectStore is a server that can be accessed in Java or C++ as an Object Oriented Database, or as a "Data Server" (as an abstraction of your RDBMS database). They also have a XML database product called XIS, supports XQuery, etc.
Tuesday, June 04, 2002
Monday, June 03, 2002
I've decided to try to actually start posting to this blog. So here it goes...
I'm the CTO for a company called CFDEV.COM, my responsibilities include learning technology that may be of use to our company, managing product development, and building resources for our site. I monitor, and participate in several mailing lists including:
- CF-Talk, CF-Linux, JRun-Talk, CFX from House of Fusion
- The CFDJ List from ColdFusion Developers Journal
- The CFXML List from Granularity
- J2EE Interest, JSP Interest from Sun Microsystems
- Tag Libraries User List from Apache
- The List from evolt.org
- The ISAPI List from 15 Seconds
- Macromedia Forums from Macromedia
- And some non public lists.
My Company CFDEV.COM builds components for web developers, and provides free resources for web developers.
- ColdFusion MX Resource Center
- XML Resource Center
- Code Samples for ColdFusion, JSP, Java, XML, XSL, HTML, C#, C++, C, PHP, and ASP
- Apache Resources
- Developer Discussion, Post Articles
- More ColdFusion Resources