Making the world a better place with ColdFusion, Web Startup, and Software
Einstein wasn’t wrong when he said the only thing that got in the way of his learning was his education. Learning how to think — creatively to solve problems, to find dots and connect them, are skills that are hard to find, hard to develop, especially when we can get into a trance with technology.
I think we’re most alive when we create.
So that’s all I’d do. Create, create, create. Solutions for lots of problems, in lots of ways, to realize that everyone just wants to answer one question with their solutions nearly every time. “Where is everything at?”
Learning how, and why to think from multiple perspectives when looking at solving a problem is infinitely more important than the tool(s) you pick to use them.
The tools you pick will be better based on the clarity and your ability to boil things down to their essence. Tools that increase clarity and decrease confusion are good. Tools that let you (and users) get more done with less effort, are good.
Helping people make the world a better place by letting the system manage the details, and letting people manage the system (and relationships with others) is what can empower software to change the world for the better, instead of dealing with the 70% of failing projects out there.If
So… had a bit of a mixup.
February was a bit of a busy month for me so I wrote some content in advance to publish for sure, and to add more when I had the chance..
Evidently, PHP and wordpress do not work out of the box to automaticaly publish scheduled content.
Maybe I should go to a ColdFusion blog.
In any event, my apologies, I’ll post the rest and it should show up on the RSS feeds.
In creating software, be it a startup or a client project, key decisions need to be made and implemented based on security.
In building secure applications that let me sleep at night, I have learnt a few things:
Why? Most unscrupulous attempts to access a system aren’t really about you. Most valuable is the most generic. Your server resources to be illegitimately used to send out spam, etc, and not necessarily for what your application itself does. The reality is most attempts to break into your site will be automated scripts/botnets that sweep the entire internet. While you can build mega security features, a lot can be said by good design and putting up multiple “walls” instead of one big “wall”. Design your application to inherently check and enforce security as much as it can internally. Package it with smart public facing interfaces, properly hardened and tested with client and server side scrubbing and validation, and we have a start.
One of the biggest things you can do if/where necessary is to store your passwords securely. This is a great article on How to safely store a password.
If you have any ideas to add to this list, please leave them in the comments.. I’ll update the list!
A few years ago I vaguely remembered reading about an Apple patent. Nothing out of the ordinary with their patents, just another way of doing something, that they may, or may not do.
Apple is expected to announce a Tablet on January 28th or so. What I’m more interested to see is if they’ll release a real gamebreaker — this docking station for a tablet. I think it’s fair to accept the first Apple tablet will be like the first iPhone. Groundbreaking, and having it’s limits as well that the second and third versions of the tablet will hopefully address.
But, I’m all about the docking station. For the life of me I’ve never been able to understand why a $3000 Apple laptop doesn’t have a docking station. I come from the Compaq/HP commercial notebook background where a docking station was a way of life and a great way to save wear and tear on the ports of your laptop. With the increased mobility that people have with their laptops, having to use a third party product like BookEndz, while very capable would be nothing compared to using a real docking station with one docking port.
Onto this tablet. Take a look at what could be the perfect tablet docking station. Slide the tablet into the iMac Display….

This could be the Apple docking station for their tablet.
Check out the article and drill into the patent application from there!
Happy New Year!
The past few weeks I’ve been thinking about how I’d like to continue to build in 2010.
Whether you are on the business side of technology, or the implementation side, there are some common elements to all projects no matter the viewpoint.
Great software systems:
Maybe this will become a growing list! Add your own below!
It’s always interesting to see the design / default setting considerations made in software.
One that has always stuck out to me is I can’t figure out for the life of me why most IDE’s don’t enable line numbers by default. No matter what we write, sooner or later we have to refer to the line number.
Luckily for Adobe’s ColdFusion Builder, which is based on Eclipse, the setting is a few simple clicks.
Below is a handy screenshot to know exactly where to click. Enjoy!

Enabling Line Numbers to be visible in Adobe ColdFusion Builder
One of the neat discoveries about ColdBox is the ColdBox plugin for Adobe ColdFusion Builder.
Here’s the problem… I couldn’t get the ColdBox Platform Extension installed in ColdFusion Builder with the existing instructions in the link above. I suspect the older version of the ColdFusion Builder allowed you to do it from more than one location.
In any event, you have to Click on Window > Show View > Other > Extensions , and allow the extension pane to appear at the bottom of your screen (as my default installation shows). Then, click on the (+), select the ColdBox Extension zip file and go through the normal setup.
If you’re interested in a quick screencast, all 1 minute of it is below!
http://screencast.com/t/YzdhMjI1M
The things it helps you handle include (Quoted from page above):
ColdFusion builder is in late-ish beta and it’s great to see some of the plugins that we have for it already. It’s nice to see such a tool evolving.
Happy ColdBoxing!
Once you’re past why someone would develop a new program in ColdFusion, you find a rich community of developers, examples, libraries and frameworks.
I’ve been playing around with the ColdBox Framework for ColdFusion for a few months.
What lead me to ColdBox was a period of discovering and playing around with the discoveries I made with ColdFusion 9 and it’s killer Hibernate ORM integration.
I could no longer program, ever again until ColdFusion 9 came out.. it made for a slower fall on new projects. I decided to dust off the old exploration cap and started looking at what was new and developing in the ColdFusion world.
For about as long as I can remember I’ve been using FuseBox and my own frameworks prior to it coming into existence. In my modified FuseBox framework I have a simple, efficient, scalable system that has easily handled anything I’ve thrown at it, and more. It’s very capable and rightfully so.
FuseBox is ColdFusion’s first major Framework and went on to dominate and inspire a lot of change in the PHP world not only with FuseBox itself, but the other great frameworks that exist in that language and maybe beyond. Sitting in the ColdFusion world it’s nice to see that the ColdFusion “power with ease” eloquence was able to help spread this kind of empowerment, as much as ColdFusion’s continued track record of doing the best of similar languages and frameworks. No offence intended to any of the other great CF frameworks out there — I just didn’t feel the itch to shop around because I felt I had the good stuff at home.
No language, in my experience, has focused on the developer and their experience as much as ColdFusion. Happy developers make great software. I like being happy doing what I do.
I came across ColdBox and remembered seeing an earlier version around 2006 that looked really promising. It looks like it’s been delivering on it’s promises. In defense of my beloved FuseBox, I haven’t looked at the new version in a few years because the one I use has worked so well!
The first thing that struck me was the sheer volume of documentation available on ColdBox.
I couldn’t believe my eyes. Someone, actually, seemed, to get the significance of, and anticipate the needs of web application development, and ColdBox was the result. This was like Allaire/Macromedia/Adobe continuing to anticipate the needs of application developers with ColdFusion. ColdBox looks to this software architect to be the next shining star of ColdFusion, if it’s not already. It improves both applications and developer’s lives.
We know that application development and application developers are kept happy in some common and unique ways.
At first, I didn’t believe what I was seeing. Everything I’ve needed to touch or use, with respect to a web application and it’s framework, seemingly, conveniently put in one place. Internationalization, no problem. Need role based security? No problem. Want to add a doo-dad? Decide if you want an interceptor or a plug-in. Next question.
What is a software architect to do when something makes him blink? Get a second opinion from the smartest developer he knows.
My friend is someone I’ve known for almost 15 years. We shared a path in school but I went off the ColdFusion deep end while he continued learning everything under the sun… except ColdFusion.
So I asked for his unbiased opinion. Which he’s known to give. I asked him, find me every fault in this ColdBox and the language of ColdFusion compared to all the languages you’ve ever used. As a developer completely fresh to this, tell me if something is better than this, and why, because I might want to switch.
Expecting him to correct ColdFusion, and ColdBox the same way he used to correct the professors, assignments, quizzes, exams, and TA’s in university, he came back convinced that ColdBox and ColdFusion is great for developing web applications. Not to say something else wasn’t, but if he’d pick something ot build on his own he just might use it, especially with the open-source ColdFusion engines like Railo and Open BlueDragon.
So, I’m not crazy. That’s good.
Here’s the thing with ColdBox for me. It does MVC, really well, for the web, for web applications. Yeah, I know Ruby’s got this, ASP.NET’s got that, and Django has something else that’s great. I have used them all, either with new projects, or maintaining existing ones.
The thing that happens with any project, over time, is that it either becomes one you want to work on more and more, or one you don’t want to work on due to increasing complexity to add or modify tasks.
We can argue it’s up to the developer to keep things simple, but inevitable the platform and framework play a huge role in what we do, or don’t have to do, or what we do/don’t deal with.
If we put all the languages, frameworks into one pile, there is one key test I use to see the value of any tool.
It is difficult to make the complex into something simple; and it is easy to make the simple into something complex. Will this help me make the complex into something simple, without dealing with the language, or framework’s complexities?
ColdBox, with ColdFusion seems to understand that most of us have to build things that are solid, reliable and scalable. 99% of web applications that are remotely successful grow. We need a way to manage that growth and keep the garden looking nice while it grows.
Web developers often have to solve more than simple problems. We have to solve complex problems and make them simple. There is little doubt ColdFusion is the best integration language for the web. It simply does more out of the box than anything.
I have spent the last 2 days working in ColdBox and my impression is this.
I have been amazed at how much of an application I have built already in ColdBox. Actual business logic. Actual problem solving. Actual “this will make someone’s life easier, more efficient and productive”.
What’s changed? I didn’t build my own roles based security. I didn’t have to integrate internationalization. I didn’t have to extend a framework to do more (or less) than it did. ColdBox appears to be a framework that can be customized easily, or left alone and just run.
To potentially have the best of both worlds (Rapid dev of FuseBox and the scalability of OO-programing), compared to what was out there before, is more than a little staggering to this software architect. I don’t care to re-invent the wheel, I want to solve problems and help people that are forced to work with poor software.
Beyond learning the ins and outs of ColdBox, I am slowly realizing it’s feeling much like FuseBox did.. the next tool I will use for possibly a long time. Just like ColdFusion made web development power with ease, ColdBox takes Web application development to a similar of power with ease.
ColdBox allows you to leverage ColdFusion’s rapid application development in such an improved way that I don’t think has happened in several years. As much as Fusebox first came out for ColdFusion and then spread to PHP, etc., and pushed the bar so much, I think ColdBox will inspire as well.
What’s most impressive is that such a powerful framework has been kept, if I may, simple, relative to the complexity of everything it handles. That’s something ColdFusion did first, and better than anyone too.
In the coming few days I will start a Quickstart to ColdBox series to catch my first impressions and experiences of piecing it all together, to help you see for yourself what ColdBox could do for you.