I caught this on Blogzilla. If you have Firefox v1.5, this is very cool. The <canvas> tag looks pretty slick, but since only Firefox supports it, I can't see much use for it right now.
New in Firefox 1.5 is support of the <canvas> tag, which is a new HTML element that can be used to draw graphics using JavaScript. It's not SVG, even though it overlaps functionality with SVG.
Rafael Robayna has created a simple painter demo. A little more detailed is the first-person shooter demonstration.
While both are a little slow and not so smooth, it's still cool to see something like this is possible.
More on <canvas> tag:
Mozilla Developer entry for Canvas
Mozilla Wiki entry for Canvas
If you use <cfcontent> and <cfheader> tags to push files to the browser, then you may have come across this problem. You're pushing a file that contains spaces in the name. In Internet Explorer, the file gets downloaded with the correct filename, but in Firefox the filename only contains the first word in the filename.
I've ran into this problem a little while ago and instead of spending a bunch of time trying to figure it out, I just replaced the spaces with underscores. However, today Jeff Smallwood posted that he was having the same problem on a mailing list. Charlie Arehart suggested using quotes to surround the filename in the value attribute of the <cfheader> tag. After some testing, Jeff found that this does in fact fix the problem. Here's an example:
<cfheader name="Content-Disposition" value="attachment; filename=""this file has spaces.txt""" />
Firefox v1.5 is being released today. The website still says RC3 is the latest build, but you should see an official announcement later today (probably between 6pm-9pm EST.)
On a site I'm managing, there's a query that was written by another developer that I've been trying to speed up. The query searches over a text column in a MS SQL 2k database. The table this column is in contains several million records and the query performance isn't up to par.
Anyway, I've been trying anything I can think of to increase performance over this query. Oddly enough, in gentle testing using SQL Query Analyzer it was indicating I might get better performance from this operation by spitting thing into two seperate queries. This lead me to find this bug:
I actually came across this article several weeks ago, but just never came around to blogging about it. Eyetrack III has released their results from their latest testings and the results are pretty interesting, but not exactly surprising.
In a nutshell, this survey tracked users and the movement of their eyes when viewing a web page. Here is a diagram of how most users tended to first scan a web page:
A new free, community driven, web-based Browser Screenshot tool has been introduced called Browsershots.
The concept of Browsershots it to provide you screenshots of a URL you specify in a variety of different browsers and platforms. This is so you can verify that your pages are working correctly.
Browsershots uses a community computing to do all the processing of the screenshots. Users from around the world can load a client on their PC which will grab requests from the queue, process them and then upload the static images to the Browsershots web page. Since everything works off a giant queue, processing may take awhile--they suggest to keep checking the queue for up to 24-48 hours.
I missed this on Slashdot (since I rarely read it anymore,) but thanks to Cameron's blog post I caught this piece of news. The first code has been released that shows how to find collisions in the MD5 algorithm. Essentially this means two completely different source files can be salted to produce the same string. In a nutshell, if you're relying on an MD5 hash to gaurentee the integrity of a file, you have problems—especially if you're relying on it producing unique, secure hash strings.
For a good layman explanation of the problem and the exploit, Magnus Daum & Stefan Lucks have published a really good article over at CITS titled Attacking Hash Functions by Poisoned Messages "The Story of Alice and her Boss".
Not that this isn't already being blogged about a bazillion times already, but Macromedia has released the ColdFusion v7.01 updater, previously codenamed "Merrimack", today. The key updates are:
For more information, see the following links:
Still trying to wrap your head around OO concepts and to integrate them with ColdFusion? Take a look at Barney Boisvert's blog entry Designing an OO Backend.
Dave Ross has announced ColdSpring v0.2.0 and ColdSpringAOP. I'm a little behind on this announcement.
There's no real information on ColdSpringAOP, but they're supposed to unveil the whole thing this Thursday at the Frameworks Conference. Hopefully they'll also blog the contents of the presentation for those of us who can't attend the conference.
Doug Hughes blogged today about an interesting new API he's working on for inline dynamic database abstraction. The current name of the project is Reaction, but it appears as though he may rename the project.
In a nutshell, this API creates Beans, Gateways, DOAs and Transfer Objects for you on-the-fly. Here's a quick snippet from Doug's post:
<cfset myDb = CreateObject("Component", "reaction.reactionFactory").init("scratch", "mssql", "/scratch/data", "development") />
The init method of the ReactionFactory accepts these arguments:
DSN - This is the name of the ColdFusion DSN which will be used to access the database.
DbType - This as a string indicating the type of database which is being accessed. Currently the only option is "mssql" for Microsoft SQL server. More will be added in the future.
GenerationPath - This the mapping you created to the directory where code will be generated.
Mode - This controls the generation behavior of Reaction. Options are always, development and production. Always causes objects to always be regenerated. Development causes objects to be regenerated if the database structure has changed. Production causes objects to never be regenerated unless they don't exist on disk.The ReactionFactory currently has four public methods (in addition to init):
createBean(name) - This creates a bean object. More on this in a second.
createGateway(name) - This creates a gateway object.
createDao(name) - This creates a data access object.
createTo(name) - This creates a transfer object.For each of these methods, the name argument is the name of the table in the database. For the most part, I believe developers will be using the createBean() and createGateway() methods more than the others.
Beans are quite cool. They're not quite exactly your traditional beans. They have load(), save() and delete() methods.
I've been playing around with CFMX 7's CFCHART tag quite a bit lately. I've been trying to decide if I can get it to do all the things I want it to do. While it's certainly a nice tag, there are certain aspects of the tag I don't like. Fortunately, with some work you can customize the CFCHART functionality quite a bit. You can even design your own style sheets for use with the WebCharts3D engine that Macromedia licensed for use with CFXM 7.
The biggest obstacle is that Macromedia hasn't done a great job describing how to use the WebCharts3D designer and how those features map up to the internal CFMX syntax. There are a lot of differences in nomenclature between the two, and this makes it a bit of a pain to try to map what attributes of the CFCHART series of tags map up to the internal WebCharts3D XML style sheet.
After playing around with CFCHART for a few days, I found the best way to really learn the capabilities of what you can do w/CFCHART was to use the WebCharts3D v5.0 Enterprise Edition designer. In your CFusionMX7\charting folder you'll find a batch file called "webcharts.bat" Run this file to load the WebCharts3D designer.
Looking for help building Regular Expressions? The Regex Coach looks like a very promising tool for doing just that. The program is designed to specifically mimic the Perl RegEx Engine, but it should be helpful for other languages as well (like Java, Python, PHP, etc) that use Perl-like syntax. I came across this useful looking tool in a message that came across CF-Talk recently.
For all of you running Firefox, you really should upgrade your version immediately. The Washington Post has reported a severe security hole that can allow a malicious hacker to take control of your PC.
Upgrade to Firefox v1.07 now by downloading it from the Firefox Product page.
My boss wanted to make sure that on one of our servers we were updating our Symantec Anti-Virus definitions on an hourly basis. By default the Symantec Anti-Virus Client will only allow you to do a LiveUpdate once per day. Fortunately, there's a command line tool called VPDN_LU.exe which you can run to do silent updates.
Here are the command line options for the VPDN_LU.exe tool: