Skip to main content


Showing posts from 2009

2009 Was a Great Year for Ogg

Now, however, we have an online video technology that anyone is free to use, study, improve, and distribute without needing permission or paying fees. This technology is called Ogg Theora (or just 'Theora'). Some parts of Theora are patented, but the owners of those patents have granted a permanent, irrevocable, royalty-free patent license to everyone. Theora carefully avoids any patents held by traditional patent holders: to get around the ridiculous patent of image storing mentioned above, Theora stores video image information from bottom to top instead of top to bottom!

Recognizing that Theora is a crucial ingredient for the freedom of our internet, Mozilla, Opera and Google have announced support of Theora video for future or current releases of their browsers. This means that millions of users will be able to watch Theora videos using their browser, without the need for extra software. The work of the free software community, with support from Mozilla, Wikipedia and others…

Home Theater PC Project - Phase 2: Decisions

I've been doing a ton of research and experimentation since my last post on this subject, and I came to a bunch of decisions that are a bit far afield from where I started. Ultimately I think I'll wind up with a very cool setup even if it doesn't meet the original Home Theater PC goals. Ultimately I want something that works well and is easy to use. If I were the only one watching TV in the house I'd probably tolerate a ton of rough edges with something like MythTV and potentially XBMC, but since I'm not the only one who watches TV, full-time TV tech support wasn't something I wanted to get into. As I looked at everything involved with a MythTV setup and started thinking about things like channel mappings, remote controls, potential noise issues, not to mention the overall cost involved with a multi-room setup, I started thinking it wasn't a wise road to go down. As a bit of an aside before I get to the punchline, I did get an eyeTV 250 Plus for my Mac Mini…

Returning Java Exception Objects with Open BlueDragon

I'm working on a project that uses a pre-existing Java library to handle payment processing. This is great because it's a heck of a lot of stuff I don't have to write myself, but when payments fail I need to get a code that's contained in an exception object that's thrown in the Java code. This is a problem since given the way the Java code is written, the normal message and detail keys of the CFCATCH struct don't contain the code I need. To get the code I need to call a getCode() method on the Java exception object itself. Open BlueDragon doesn't implement GetException() yet, which in theory lets you get the actual exception object thrown by Java (provided you specify the specific Java object type being thrown), but I figured since the Java class name is contained in the JAVAEXCEPTION key of the CFCATCH struct, it wouldn't be too hard to tell Open BlueDragon to put the actual Java object in that key instead of the class name. It took a bit of hunting b…

Iterate Me: Brian Klaas: Blog: Lessons Learned in Making Many Mach-II Modules Out of Standalone Apps

I'm in the process of converting a bunch of standalone Mach-II apps in to modules inside of a new, monolithic application. It's been a surprisingly smooth process, thanks to the tools that the Mach-II framework gives us to work with. Most of the bumps along the way have been related to bad software design practices in some of the oldest apps that I've created, and continuing, after many years building Web applications, to do dumb things like hardcoding URLs and other strings which will change when converting the app to a module (or moving the app to a different server).

Awesome tips from Brian on Mach-II modules and good practices for building Mach-II apps in general. Thanks for sharing Brian!

Slashdot IT Story | Adobe Flash To Be Top Hacker Target In 2010

"Adobe Systems' Flash and Acrobat Reader products will become the preferred targets for criminal hackers (PDF) in 2010, surpassing Microsoft Office applications, a security vendor predicted this week. 'Cybercriminals have long picked on Microsoft products due to their popularity. In 2010, we anticipate Adobe software, especially Acrobat Reader and Flash, will take the top spot,' security vendor McAfee said in its '2010 Threat Predictions' report.

Um, congratulations? :-)

Home Theater PC Project - Phase 1: Requirements

My TiVo Series 3 finally died. Over the past several weeks it went from being a bit sluggish, to not showing the Now Playing list at all, to occasionally rebooting itself, to finally being in an endless reboot cycle when it's powered on. I attempted to save it with a new hard drive and power supply from, but neither did the trick. The new hard drive didn't get it out of its endless reboot cycle, and with the new power supply it won't power up at all. According to weaKnees the Series 3 TiVos fail quite a bit in comparison to other models, and they've seen cases where a known good power supply is simply rejected by the TiVo. So after throwing $300 in repairs at my Series 3 with no results it's time to give up. I could replace my dead Series 3 with a new TiVo, but as I outlined in a previous post, the world has changed pretty dramatically since TiVo first hit the scene, and for my purposes I'm just not sure TiVo has evolved enough to justify spending …

"Defining the contours of freedom" - Free Software Foundation

Great, great video from Lawrence Lessig about the importance of the free software movement to society and culture as a whole. Lessig also wrote the forward to Richard Stallman's book "Free Software, Free Society" and it's one of the many things that helped me see the big picture where free software is concerned.

Grails 1.2 Released

Grails 1.2 final was released today, and there's tons of great new features as well as numerous under-the-hood improvements that make it a very compelling release. Since I'm relatively new to Grails I'm still wrapping my head around some of the new stuff, but here are some of the more interesting changes in 1.2 from my perspective:
Performance Improvements
Faster is always better of course, so the first thing that caught my eye was the performance improvements in GSP/SiteMesh and the tag library return types (default is now StreamCharBuffer, but tags can return object values too).Environments in Bootstrapper
Not that this was a showstopper in previous versions of grails, but having to use a kludge or do a quick check of the state of your database to see whether or not you should crank out test data seemed a bit wrong since environment awareness is available elsewhere in Grails apps. Now that it's in the bootstrapper too we can do things the "right way."Per-Meth…

Microsoft Word Sales Face U.S. Ban -- InformationWeek

An appeals court on Tuesday ordered Microsoft to stop selling Microsoft Word 2007 and other Office 2007 products by Jan. 11 because the software infringes on a patent held by a Canadian company. The judge also hit Microsoft with a $290 million fine.

Buy MS Office while you can! Or save your money and reclaim your freedom by using instead. :-)

Groovy - UltraEdit Plugin

UltraEdit is a nice little text editor when working on Windows. It is very much suited to handle all kinds of resource files and some little scripts, when starting your IDE just takes too long.

You can get it from

Now that UltraEdit is on Linux (the column select capabilities alone are worth the $50!), I hunted for a Groovy plugin for UltraEdit and it didn't take long. There's a link in this article to an addition to UltraEdit's wordfile, so you copy/paste and UltraEdit is Groovy aware. Nice.

EtherPad Blog: EtherPad Open Source Release

As promised,
we hereby release all the source code to EtherPad.

Our goal with this release is to let the world run their own
etherpad servers so that the functionality can live on even after we
shut down

If you are just interested in running an etherpad server, these
should get you up and running.

Running EtherPad behind a firewall is rather intriguing. Might have to do some experimentation.

Received a Review Copy of Tomcat 6 Developer's Guide

The folks at Packt Publishing contacted me to see if I'd be interested in reviewing their newly published Tomcat 6 Developer's Guide, and being a bit of a Tomcat junkie I jumped at the chance. I downloaded the ebook tonight and I'll be reading it over the next few days, so look for a review soon.

Shalin Says..., Burst of activity in Lucene

To put it very simply, search engines transfer a lot of work from query-time to index-time. The reason this is done, is to speed up queries at the cost of adding documents slower. Until now, Lucene based systems have had problems with dealing with scenarios in which the searchers need to see the changes instantly (think Twitter Search). There exist a variety of tricks and techniques to acheive this even now. However, near real-time search support in Lucene itself is a boon to all those people who have been building and managing such systems because the grunt work will be done by Lucene itself.

I can't wait to see this implemented. I'm in the process of rethinking a big application to use Lucene/Solr instead of hitting a database for searches, and even though this application only gets data updates twice daily, they can be numerous and I can only imagine having near real-time search available will make it that much easier to keep your search indexes up-to-date.

There will not be a beta for Flash Professional CS5 (Adobe Flash Platform Blog)

They are still releasing a beta, only now it'll cost you $1000 to participate....

The above is a comment from Adobe's blog post announcing that contrary to what they said at MAX, there will be no public beta of Flash CS 5. And it's a comment that I think gets straight to the heart of the matter.
I'm not a Flash developer so it's no skin off my back, but I simply can't fathom why any software company would not take advantage of the incredible value a public beta period offers, preferably a fairly lengthy one.
"Get it out the door as quickly as possible" is a very short-sighted attitude, especially when people are paying big bucks for your software, and there's a massive risk of whittling away your users' confidence that is quite damaging in the long term.
I'm not pointing this out to pick on Adobe per se (funny how CFBuilder and Flash are taking completely different approaches on the beta issue), but it's a great example …

Naked Domains in Google App Engine with GoDaddy | Dave Shuck's Blog

I recently set up a new site ( on the Google App Engine running OpenBlueDragon.  By default when you set up a new site on GAE (Google App Engine), you choose an ID for your application, which must be unique on their system as it also serves as the hostname of the URL like this: http://[your ID]   For those that would like to use a different domain name, Google App Engine has mechanisms for doing so.  In the administration panel of your application, you can add a domain and then choose hostnames from that domain that the application should respond to.  However, it makes no provisions for serving the "naked domain". 

Excellent step-by-step by Dave Shuck on how to get "naked domains" (meaning no "www" prefix) up and running on Google App Engine.

Dave Shuck Relaunches on OpenBD for GAE

Around a year or so ago, I inadvertently took offline in a server move.  Considering that it is a very low traffic site that is little more than a scrapbook of hiking pictures and descriptions, there is no active user community to send me nasty messages begging for me to bring it back online.  Finally this past weekend, I spent a bit of time and revived the code base off an old server, moved all the images out to Amazon S3 and brought the site up running under OpenBlueDragon on the Google App Engine.

Another site goes live on OpenBD for Google App Engine--I think we'll be seeing more and more sites like this on OpenBD for GAE as CFML developers discover just how easy it is to leverage their CFML skills and still be able to take advantage of Google App Engine.

H.R. 390: College Football Playoff Act of 2009 (

To prohibit, as an unfair and deceptive act or practice, the promotion, marketing, and advertising of any post-season NCAA Division I football game as a national championship game unless such game is the culmination of a fair and equitable playoff system.

I'm oh so incredibly glad our so-called representatives see fit to waste time on such utter nonsense when the economy's in the crapper and we still don't have national health care. Bravo, morons. Here's hoping anyone anywhere near this loses their next election.

Major Firmware Upgrade, eBook Store for eSlick Reader

New Features in the eSlick 2.0 Build 1130 Firmware Update
The free eSlick 2.0 Build 1130 Firmware Update includes some fantastic new features and has enhanced many of the features from previous firmware updates.
EPUB Support
Foxit eSlick now supports EPUB format, which is an XML-based format for reflowable digital books and publications. Now you can download EPUB eBooks onto your eSlick and the text will automatically display in an optimized format to fit the screen size.

PDB (commonly known as eReader) Support
Foxit eSlick now also supports eReader format, which is widely accepted by several software formats. eReader format is commonly used on mobile devices.

Image Support

Supports viewing image files in GIF, BMP, JPEG, and PNG format.

On-screen Virtual Keyboard

With this on-screen keyboard, you can use your navigation buttons to enter alphanumeric data in any text environment, including password entering and folder naming.
Working with Folders


Capitol Christmas Tree

Always a great sight if you're in DC during the holidays!

Vintage Cold Fusion (yes, with a space) Boxes

Since I know not everyone follows me on and Twitter I wanted to post this here as well. Found these sitting on an abandoned bookshelf in my office in DC. Ah, the memories.

Coding Horror: Version 1 Sucks, But Ship It Anyway

What's important isn't so much the initial state of the software -- in fact, some say if you aren't embarrassed by v1.0 you didn't release it early enough -- but what you do after releasing the software.
Couldn't agree more with this, and lately on some projects I've had to remind myself of this mantra on a daily basis. This is right in line with the "worse is better" principle ( ), and since by nature software developers tend to be perfectionists, it's often difficult to let go, realize it will never be done, and focus on the bare minimum to get the application out the door.
A commenter on this post does have a good point, namely that you shouldn't ship it so early that your customers lose faith. So focus on the bare minimum of features that make the application usable, make sure that small set of features is rock solid, and launch the damn thing! After launch you'll impress y…

Haral's Blog: Java 7 chapter 1: The Virtual Machine

JSR 292: The Da Vinci Machine Project
The JVM should be extended with general support of languages other than Java, and in particular dynamically typed languages. Such language implementers have observed a range of painful aspects of the byte code language, and this projects aims to remove those in a general manner. The noteworthy suggestions is: dynamic invocation, continuations, tail-calls and interface injection. The JSR specifically targets dynamic invocation and hot class modification. Today dynamic languages produces a lot of different options for signatures that all have to be stored in permgen space. This is very inefficient, and one should be able to narrow down these options at runtime.

Since JSR 292 got voted up for Java 7 it will be interesting to see how the CFML engines will take advantage of this. Fingers crossed for a big performance boost when Java 7 comes along!

OpenDNS Blog » Some thoughts on Google DNS

Google launched a DNS service today, almost exactly four years after I started OpenDNS. This comes as no surprise as it was only a matter of time before one of the Internet giants realized the strategic importance of DNS. I’ve received a lot of questions from bloggers, journalists, friends and most importantly, our users. And so I want to share my thoughts on what this means for the recursive DNS space and what it means for OpenDNS.
Must read for people contemplating switching from using their ISP's DNS servers to something else (which I STRONGLY encourage) based on Google's recent announcement.
I've been using OpenDNS almost since its inception and I can't say enough good things about it. The blog post I quoted above does a great job of outlining the importance of DNS, some of the crap ISPs can pull with their DNS servers (some great Security Now! podcasts on that topic as well), and why OpenDNS is a great alternative.
DNS is a key part of your Int…

Cisco AnyConnect VPN Client on 64-Bit Ubuntu 9.10

I've been using vpnc as my VPN client on Ubuntu for quite some time now, but vpnc allows for split tunneling (meaning I'm on the VPN but I can still access my local network), and, well, let's just say some network security folks don't like that. ;-) I looked into disabling split tunneling on vpnc and I didn't find any conclusive answers, so it was time to look for an alternative VPN client for Cisco VPNs. Cisco AnyConnect is a VPN client that can (in theory) be installed from a web browser on any operating system, provided your VPN server is configured to support it. If you want to check, hit your VPN server in a browser. If you see a login screen, log in with your normal VPN credentials and you should be able to install AnyConnect from there. All isn't rosy with this picture on Linux, however. The browser-based install doesn't work (or didn't for me at least), and while you can download a Linux version of the installer, the installer runs fine but the …

eMusic's Best Albums of the Decade

Summing up a decade in 100 albums is a terrifying task. How do you determine which albums make the cut? Do you choose the albums that were the greatest game-changers? Or do you go with the albums that had the deepest personal resonance? Is it about global or individual importance? And which records are most emblematic of our age — an era equally fraught with paranoia, despair, optimism and joy?

Some really awesome stuff in this list, and I'm glad they threw this together because I would have missed some of these releases otherwise.
I disagree with some of the choices, though if I take my own likes/dislikes out of the picture I can perhaps see why they'd make the cut. Pretty monumental task to even come up with this list so in general I think they did pretty well.
#2 should have been #1 though. ;-)

The Truth About IT Consultants | I, Cringely

1) "This can only be accomplished through a large custom development project."
2) "Of course your data is safe."
3) "We'll need a day or two for optimization and debugging."
4) "Yes, we've done this before. There are several companies using this product (or technology). They really like it."
5) "Server consolidation and virtualization will save you money."
6) "Storage consolidation and virtualization will save you money."
7) "The upgrade (or change) will be seamless and will not affect production."
8) "The upgrade (or change) will be transparent to users."
9) "Yes, we tested this thoroughly before installing it."
10) "If you install Tivoli it will solve all your support problems."

An oldie but a goodie. A friend of mine is about to go down this road to hell on a project (and I'm not so sure this road is even paved with good intentions ...), and it's amazing to me that…

MPAA wants to control your TV |

The MPAA is pressuring the FCC for the authority to cripple recording devices using so-called "Selectable Output Control" (SOC).
Basically, SOC would enable Hollywood to actually shut off the video outputs on your cable box, DVR, or other recording device when particular movies or shows come on. When the movie's over, the outputs might turn back on. Your devices would dance to Hollywood's tune.
Most cable boxes and DVRs already include Digital Restrictions Management (DRM) and operate using proprietary software -- both of which we need to work to eliminate. But just because many of these devices already use DRM, that doesn't mean we should let Hollywood and the FCC keep adding more. This new form of control would take even more freedom away from people using those devices, would restrict people using free software like MythTV to watch broadcasts and record them, and would set a dangerous precedent elevating Hollywood's desires over the public's freedom.


Slashdot News Story | Harvard Says Computers Don't Save Hospitals Money

Researchers at Harvard Medical School pored over survey data from more than 4,000 'wired' hospitals and determined that computerization of those facilities not only didn't save them a dime, but the technology didn't improve administrative efficiency either. The study also showed most of the IT systems were aimed at improving efficiency for hospital management — not doctors, nurses, and medical technicians.

This is absolutely criminal. If computers aren't making hospitals more efficient then they're using them wrong, or they have crooked software vendors who are cashing in while not giving hospitals what they actually need.
This is another great opportunity for a big open source project in my opinion.

CFC Function Declarations in Javascript

The last few days I have been working on having the ability of declaring pure Javascript functions and making them available as first class, top-level, citizens in the CFML world.

Setting up a separate CFC can be done using the following:

function myMethod( param1, param2 ) {
return $cf.getTickCount();

Note that you can mix CFSCRIPT, Javascript and CFML in the one CFML/CFC file. Each one can declare a top-level function and you can use whatever language you feel works best for you for that particular method.

From there on in, you can simply declare the CFC as normal and use without any problems.

Great progress being made on the server-side JavaScript in OpenBD! Since JavaScript is the lingua franca of web development, it's going to be great to have it fully integrated into our CFML toolbox.

CFJS - Server side Javascript available for playing

As promised, I have packaged up the new javascript plugin for use with OpenBD and you can now download and start playing.

I am personally very excited about this step forward. I always believed that CFML is the best web scripting language out there on the market and when people see how easy it is to do certain things, they are hooked. Coupled with the fact CFML has broken free of it available-only-as-a-commercial-product ties there is a whole new wave of people checking the power out.

So mixing Javascript in as a first-class language to this platform creates a very powerful tool to which non-CFML developers can now crank out dynamic websites without needing to learn a single line of CFML.

The CFJS plugin for OpenBD is now available for you to try! Can't wait to hear what people think about this addition.

First (?) Production Site on Open BlueDragon for Google App Engine

Yesterday Peter Farrell pointed me to a brochure site he did for a friend. Looks great, it's running Mach-II 1.8 beta, using SES URLs, all great stuff. Then he told me it was running on Open BlueDragon for Google App Engine (GAE). VERY cool. You can read a bit more about it on Peter's blog. I could be wrong, but I think this may be the first production site running on OpenBD on GAE. (If there are others out there, I'd love some links!) The interest in running CFML apps on GAE has really been picking up lately, and with good reason. It's a dead simple way to deploy CFML applications to Google's cloud, and unless the site is going to get a huge amount of traffic it's completely free. Free CFML engine, free hosting, easy deployment right from Eclipse ... there's a lot to love here. No more hunting around for cheap shared hosting accounts that are so restrictive they're barely usable, no more spending money on a VPS if you don't need one (though I highl…

Server-Side JavaScript with Open BlueDragon

In all the years I've been doing CFML development, CFSCRIPT has always been a neglected afterthought. Due to the limitations I (along with many of you I'm sure) stopped using it. Every time I'd get on a CFSCRIPT kick, I'd find myself frustrated by the limitations, having to break out of script to do things that weren't supported, or taking the time to write my own wrappers for CFML tags. If only there were a complete, robust, scripting language that web developers already know that could be used instead of CFSCRIPT ...Using JavaScript on the server side is something we've been discussing on the OpenBD Steering Committee for a while now, and Alan Williamson outlines the progress he's made in making this a reality in a post on his blog. The Mozilla Rhino library serves as the underlying JavaScript engine for this feature, and it will also be compatible with the Google App Engine edition of OpenBD. I think this will be a great addition to the CFML arsenal not …

CFJAVASCRIPT gets a turbo boost

We've just added a whole host of extras that have been requested by the community:

Ability to place Javascript code inside the tag instead of specifying external javascript files
Specify a comma-separated list of javascript files as the SRC='' attribute. Arrays of files still supported
Include-Only-Once; if you have multiple CFJAVASCRIPT tags, then we make sure you only include a javascript file only once per request. That way the browser won't get two JQuery instances!
Javascript placement; you can now have the resulting javascript placed at either the position the tag appears, at the HEAD or at the BOTTOM of the HTML body tag

More JavaScript goodies added to OpenBD!

CFML on the Google App Engine with Open BlueDragon | Progressive Overload

There is just no reason that we as cfml developers shouldn't be churning out app after app on this platform.

Amen to that! Great post about running CFML apps on OpenBD for GAE.
Peter Farrell made a small change to Mach-II 1.8 based on a suggestion by Dave Shuck that allows Mach-II to run on GAE, and the nice thing is it's a huge performance improvement in one specific area of the framework from which all Mach-II users will benefit.
Very exciting stuff.

The Complete Guide to Google Wave Preview Edition PDF Available for Download - Lifehacker

The preview edition of Gina and Adam's new book, The Complete Guide to Google Wave, is now available in PDF form for your offline, ebook-reading pleasure.

Google Wave is a young tool that's not terribly easy to understand for a lot of folks, but at least a couple of your Lifehacker editors are completely nuts for Wave and its potential. The DRM-free, 102-page personalized PDF of The Complete Guide to Google Wave is available for six bucks, but keep in mind that the content of our book will always be available for free at any time at

Maybe this will help me understand what Wave is actually good for!

Monitoring Tomcat with Java VisualVM

One of the best kept secrets that's bundled with your Java 6 JDK is VisualVM. VisualVM is an absolutely fantastic, free monitoring tool for Java that you may not realize is right under your nose. In a nutshell, when you fire up VisualVM it provides you with a ton of monitoring tools for everything running on the JVM. By default VisualVM will monitor the VM from which it's launched, so if for example you launch VisualVM from the bin directory of jdk1.6.0_17, then anything using that JVM will show up as a process in VisualVM that can be monitored. Note that in some cases certain processes will not appear in VisualVM, which is the real point of this post; I'll get to that in a moment. I'm attaching a few screenshots to this post. The first shows what VisualVM looks like when I fired it up just now on my Linux laptop, the second shows a snapshot of the main monitor screen (in this case I'm monitoring Tomcat), and the third shows a snapshot of the thread monitoring scre…

Running Tomcat as a Service on 64-Bit Windows

I'm replacing one of our ColdFusion 8 installs with Tomcat 6.0.20 and Open BlueDragon, and this is on a 64-bit Windows 2003 server. Easy enough conceptually, but it turns out running Tomcat as a service on 64-bit Windows has a small trick involved. A couple of potential solutions are outlined on StackOverflow (and numerous other places), but it still involved a bit of hunting around, so I thought a step-by-step with specific links would be helpful both to others and to myself when I forget how to do this next time. ;-)
Install a 64-bit JDK if you haven't already.Download and run the Windows Service Installer of Tomcat.Make sure and point to your 64-bit JVM at the appropriate spot in the install process.
At the end of the install, uncheck the box to start Tomcat. It won't start anyway at this point since the startup script included in the download is 32-bit.
Grab the 64-bit versions of tomcat6.exe and tomcat6w.exe from the SVN repository. Even though it says "amd64" …

New QueryRun() + QueryOfQueryRun() functions added to OpenBD

Of all the things you most want to do buried deep within a CFSCRIPT block is manipulate databases. Invoking a tag while in script mode is impossible, unless you build your own CFC wrapper, which is clunky and horrendously inefficient.

OpenBlueDragon has just released the first couple of native functions that let you get in and around the power of queries but from a script.


These operate just like CFQUERY but at a script level.

And the hits just keep on coming. ;-) All these seemingly "little" things that are being added to OpenBD add up to a much improved devleoper experience. Grab the latest nightly build and give these a shot!

Busy Weekend for Open BlueDragon! New Documentation Site and More New Tags and Functions

More new tags and functions have been added to OpenBD and a brand-new CFML documentation site has been released! You can read more about the very cool new documentation site on the OpenBD blog and Alan Williamson's blog. The cool thing about the docs site, other than the fact that it exists of course, is that the documentation is being pulled directly from the OpenBD engine, which means the documentation will always be up-to-date. Because the documentation is being pulled directly from OpenBD, the docs are also specific to the version of OpenBD that you're running. So this isn't only an external site you can use for reference; the code for the documentation site is bundled with the OpenBD nightly builds already so you can run the documentation app on your own instance of OpenBD. The documentation app also supports comments so you can add tips, etc. to the public site, but you can also leverage this on an instance you may be running internally at your company. This gives yo…

Apache: 'No jerks allowed' | The Open Road - CNET News

You see a lot of people doing open source, but not a lot of people doing open development...At some open-source projects [Erenkrantz mentioned Mozilla], all of the technical decisions, even if the license is open source, are not subject to public comment. At Apache, everything is done in the open over public forums.

This is the exact philosophy we follow on the Mach-II project, and I feel it's one of the secrets of our continued success. Letting our community know what we have planned and getting feedback before writing any code helps us meet the needs of our users better by giving them exactly what they need, not what we think they need. Springing features on users is no way to do a truly open source project. Involve your community at all levels and it pays off big time.

Facebook iPhone Dev Quits Project Over Apple Tyranny

My decision to stop iPhone development has had everything to do with Apple’s policies. I respect their right to manage their platform however they want, however I am philosophically opposed to the existence of their review process. I am very concerned that they are setting a horrible precedent for other software platforms, and soon gatekeepers will start infesting the lives of every software developer.
The web is still unrestricted and free, and so I am returning to my roots as a web developer. In the long term, I would like to be able to say that I helped to make the web the best mobile platform available, rather than being part of the transition to a world where every developer must go through a middleman to get their software in the hands of users.

Good for Joe Hewitt. Apple may like to say "our phone, our rules" but if Apple keeps up with the draconian behavior they may find a mass exodus on their hands. I hope the Pre and Droid start giving Apple a we…

Bilski’s hearing and software patents

Mr. Stewart shows how minimalist an interpretation of the CAFC ruling he’s seeking when he says that the Bilski method would be patentable if there was an “interactive website in which people — parties and counterparties could essentially find each other by the computer and could agree to terms“.
To this, Roberts replies: “No, no. That’s just saying instead of looking at the — in the Yellow Pages, you look on the computer; and that makes all the difference to you? [...] that involves the most tangential and insignificant use of a machine. And yet you say that might be enough to take something from patentability to not patentable. [...] If you develop a process that says look to the historical averages of oil consumption over a certain period and divide it by 2, that process would not be patentable. But if you say use a calculator, then it — then it is?”

Keeping my fingers crossed that the decision winds up on the side to which the Court seems to be leaning.

Calendar Sync Issues with Droid and Google Apps for Domains Account

Quick tip in case anyone else runs into this. When I first set up my Droid I used my account since my account wasn't associated with Gmail yet even though I was using it as a Google account for things like Google Groups, etc. You HAVE to use a Gmail account specifically to initialize the phone. Note that doesn't mean an Gmail account necessarily, just one that you're using with Gmail. After the initial setup was complete and I switched my account to Google Apps for Domains, I added that account to the Droid, but in the sync settings screen only Contacts and Mail were showing up as options. There was no checkbox to have it sync the calendar. I deleted and re-added the account a couple of times to no avail. I started thinking maybe the problem was that I used my account as the "primary" account, though I'm not sure why it wouldn't support multiple calendars. Maybe it does and this was just…

Google To Murdoch: Use No Index Or Just Ask

News Corp. Founder and CEO Rupert Murdoch claims Google is stealing their content - the "content kleptomaniacs" as he has termed them. As Greg Jarboe's article below details this could be a major problem for News Corp web sites. Watch the embedded video to hear Murdoch's position.

Can't wait to see the impact this has on traffic to News Corp's sites. I stand by my earlier assertion that Murdoch is completely clueless. Much like the MPAA and RIAA he's sticking his head in the sand and hoping for an alternate reality to emerge.

Living in the Cloud: You Gotta Trust Somebody

I've been rather vocal about "getting off Google" in the past, and it's a battle I've been winning with my email for a few years now. But today I got my Droid (more on that later), and I thought long and hard before even ordering one because I knew what this would entail.
Obviously the Droid is using the Andoird OS, which means (surprise!) it's Google-centric. Google offers a huge amount of convenience, and the Android OS itself is absolutely spectacular. Temptation rears its head.
I've been researching mobile phones like crazy over the last few months, and when it comes to "freedom" there really are no great choices. The Neo FreeRunner keeps showing promise, but ultimately you're still going to be at the mercy of a cellular carrier, and picking the least amongst evils there isn't easy.
The iPhone is a COMPLETE non-starter for me. AT&T coverage is horrendously bad, particularly where I live, and there is no way I'm diving into Apple…

HashBinary() Added to Open BlueDragon

What started as a thread concerning how to MD5 hash a binary file in OpenBD has quickly become a new HashBinary() function in OpenBD. The absence of HashBinary() from CFML has always seemed a bit odd since there are binary versions of Encrypt() and Decrypt(), so adding HashBinary() will make these tasks much simpler. Not a huge addition but I did want to highlight it because to me this shows yet again the beauty of open source projects. A need is identified by a user, it points to a hole in the language, and that hole gets filled, all in the span of a day. Thanks to Tom Jones for bringing this to our attention and prompting the new feature. OpenBD gets stronger every day because of this kind of feedback from our users.

Thank you, Rails

Lately, though, I’ve noticed the tone of the arguments in the Django community
getting nastier — especially when it comes to Rails. Again, I’m far from
innocent in this regard: I’ve certainly done my fair share of Rails-bashing,
and I regret it.
I think it’s important to recognize that we in the web development community
do in fact owe Rails and the Rails community a debt of gratitude. Rails helped
reframe the way we think about web development, and even those who’ve never
touched Rails nevertheless are probably reaping indirect benefits right now.
So I think we should all step back from our personal preferences and plainly
say thank you, Rails, for all that you’ve done to move the state of web
development forward.

I think the CFML community could stand to take this attitude to heart. As a community we spend WAY too much time patting each other on the back and blindly blasting our supposed enemies, when what we should be doing is taking off our blinders and learning from what els…

Mark Thomas on Apache Tomcat 7 | Javalobby

the biggest news was probably the timeframe announcement for Apache Tomcat version 7.  According to Jim Jagielski, chairman of the Apache board of directors, Tomcat is used in at least 75% of Java-based websites.  Mark Thomas, a member of the Apache Tomcat Project Management
Committee, said that the alpha release of Tomcat 7 is expected in
December 2009 or January 2010.  DZone spoke with Thomas for an exclusive interview about the upcoming version of Tomcat. 

Cool new stuff coming in Tomcat 7, and I didn't realize an alpha was so close.

Photos of Me from BFusion

Bob Flynn was kind enough to send me (well, Wave me) some photos of me giving my presentation at from BFusion (which was great as always!). I particularly like the one where it looks like I'm singing opera. ;-)

See the full gallery on Posterous

Installing Mozilla Lightning on Ubuntu 9.10

I'm still working through a bit of a hiccup with using my Amahi calendar with Evolution, so I thought I'd install Thunderbird and Lightning to see if they worked. The problem with Evolution and my Amahi calendar is that no matter what I try, the calendars on Amahi are flagged as read only. I understand that it will be read only (at least potentially) with a pre-existing calendar, but even when I create a new one I can't add new appointments to it. Not good. ;-)Thunderbird is easy enough to install with apt-get install, and Lightning is just an add-on to Thunderbird, but on both my 32-bit and 64-bit machines when I launched Lightning the "new calendar" option was grayed out. A bit of scroogling showed that Lightning has a dependency on libstdc++5. The issue is that beginning with Ubuntu 9.10 libstdc++5 is no longer in the standard repositories, so sudo apt-get install libstdc++5 no longer does the trick.Easy enough to resolve by downloading the package however, so…