Houston, we may have a small problem. 2

Posted by Neil on November 23, 2006

As most of you may have worked out - Feed-Squirrel.com is provided to you lot as a free service. I don't charge for my time developing it, I do it off my own back - as many people do with their own projects elsewhere.

Trouble is, my hosting is due for renewal real soon - and I am looking forking out a couple of hundred bucks to pay for this site for another year. For me, this is a lot of money I don't have. Adsense generates some, but not nearly enough to cover the site for a year.

So what can I do about it? Well, the problem stems mainly from Coldfusion. Because of CF, I have to pay nearly double the price of a “normal” hosting account. The options I have are turn the site off (but maintain the blog elsewhere), migrate everything to something like PHP or hope for a hefty donation from someone ;-).

As much as I hate to say it, I don't see how CF can be a success if site's like this are unable to run on a tight budget. Adobe really need to reconsider their licensing model for Coldfusion. If they were to drop the price by 50% - would they sell twice as many licenses though?

The Andy Jarrett Friday Joke™, How to deal with cold callers

Posted by Neil on November 17, 2006

Borrowing one of Andy’s ideas for a week as this is so damn funny…

How to deal with cold callers

Do we need to be big and clever?

Posted by Neil on November 16, 2006

Walk into any bookshop these days and in the computers section you’ll find a vast mass of books available. Filter out anything that isn’t to do with Web development and you’ll be left with a few main topics, two of which will be Java and .NET.

Now, think hard here. What have you built in the last three years that required the power of .NET or Java? 99% of you will probably be unable to think of anything, which brings me to my point.

Traditionally, people tend to see languages as a ladder. Languages like HTML sit at the bottom, CFML/PHP/ASP in the middle and Java/C#/C/C++. Developers feel (I beleive) that they need to work their way up the ladder in order to become a better developer. Now, before I go any further I will say that exposure to new tools and languages is always a good thing.

Now, back to web development. The majority of web applications I have seen are quite simple. Start loading a page, maybe do some queries and perform some actions on that data, and return a page. Your pages maybe much more complicated but I dare say that they still follow this rough pattern.

So, for such a simple pattern why do we web developers feel we need to know Java/.NET? Why do we feel we need languages that are so bloated with strict data typing and 100% object orientation etc for such a simple task as a web page? Yes, I am aware a few of you have to integrate with some vast backend systems, but you guys are more the exception. Why do we need to learn what is effectively a very complex language with a stack of functionality that we don’t need?

Well, in a couple of words, we don’t. This is why CFML, PHP, ASP exist, to make our lives simpler. If we all wrote our apps in the more complex languages, our development times would go up, pushing our costs up and so on - which is a bad thing.

Now, why am I banging on about this? Well, in short, I see this having an effect on web development in general. I see people who are building for the web (and possibly other arenas) moving away from .NET and Java to much simpler platforms that are quicker and easier to write. For instance, Ruby on Rails or Python. Both of these platforms provide much of the power of a platform such as Java but without the coding overhead. For instance, let’s compare Hello World in Java and Ruby:

Java:

public class Hello {
public static void main (String [] args) {
System.out.println(”Hello World!”);
}
}

Ruby:

“Hello World!”

Now, thats quite some difference, and if you add up how much less time that code takes to write you, then that’s quite a lot of money you can save. It because of this that Java developers are ditching Java in favour of simpler platforms such as Python or RoR.

So, next time you’re sat there thinking about learning Java/.NET just to make yourself feel better - think about learning one of the more abstract languages (of Which Coldfusion is one) - not only will you find it easy to learn, but you’ll also have more fun writing it instead of getting yourself tied up in knots worrying about syntax.

What should a good developer know?

Posted by Neil on November 15, 2006

We were all new web developers at one point in our lives - and many of us still are. The industry can keep quite daunting to a newcomer so I thought I would pose a question that a lot of them probably ask.

What skills (based on the current job market) should I learn and why?

I'll list the basics leaving you guys to do the juicy stuff:

HTML, CSS, Javascript…

Why bother with Bluedragon.NET?

Posted by Neil on November 13, 2006

I've been spending some time recently giving the new Bluedragon.net a once over with a view to possibly replacing some of my existing CFMX servers. A major reason for this is to eventually move to .NET proper and ditch the CFML. (I should note here the choice of .NET over Java is due to the Windows 2003 install base).

So, I've been looking at BD thinking about how much hassle there would be migrating across (guarantee it won't all work straight off no matter what New Atlanta say) and what the benefits would be. But then I though, why bother with BD.NET? Why not just start building new components in native .NET (e.g C# or similar)? I can currently run .NET on my servers due to the fact I already have IIS, I can access my .NET components via Web Services, I don't have to fork out a few thousand quid for BD licenses and I also end up in ultimately (and arguably) a better place - the .NET framework.

So the question raises itself - if you want to move to .NET - why bother with BlueDragon?

Note the the Java version of this argument isn't so strong as CFMX is already on Java so there would be no extra step in moving from CFML to Native Java/.NET.

CFDevCon '06

Posted by Neil on November 09, 2006

Well, the party is still going on in Croydon as I speak, but being the parent I am, I am already back from the CFDevcon conference here in the UK. So, here I am sat with my laptop open and a net connection burning with downloads left, right and center.

Overall, a great day (if a long one) with a wide variety of topics ranging from the Scorpio sneak that Ben Forta gave at MAX, as well as topics such as BlueDragon 7.0, FusionDebug, API's, Flex 2 and CFEclipse. There was some great presentations given by the likes of Mark Drew, Vince Bonfanti, as the king of CF presentations Mr Ben Forta.

So what I have I taken away from the day? Well, to be honest, I'm pretty underwhelmed by Scorpio (or CF8 as it will be known). Nothing that was shown really lit my fire. PDF Intergration doesn't bother me, as does the image manipulation tag. Also, you can integrate with Breeze (or whatever weird name it has today) which is fantastic if you use it - which I don't. Scorpio to me seems to be a tying together of Adobe products into Coldfusion. I don't see anything there that really pushes CFML forward, which leads me to BlueDragon 7.

BD looks very interesting, and I had the oppoutunity to have a long chat with Vince Bonfanti of New Atlanta over lunch. BD to me appears to more of a programmers CFML engine. It worries more about performance, scalability and resilience. It gives you multiple threading, it gives you interfaces, it gives you null, it gives you intelligent query caching - and all at an apparent CPU saving over previous versions of BD and CFMX. I will most likely post more about BD as I download the Beta and give it the run around.

There was also a presentation from Nick Tong regarding API's (or as I call them “Web services”) and basically the theory behind them and why they are a good idea. It's good to know that more people are being made of what I beleive to be an easy architectural decision.

So, overall a great day, and I guess tomorrow we'll hear more about the after party.

EDIT: Dammit. Forgot Alex Skinner at Pixl8 who gave a cracking demo of Preside as well as some insight into BD.net. I have a growing list of questions for you.

I leave you my legacy

Posted by Neil on November 08, 2006

OK, I'm not going anywhere soon (except CFDevCon tomorrow), but I have a question for the community to which I am interested to see a response.

Every single one of us (aside from the priveledged few) have legacy code which they must maintain nearly every single day of their working lives. This code can be months or even years old and reflects on you as a programmer and your level of skill then (assuming you wrote it of course).

Now, since writing this legacy you have learnt new things, you have picked up some frameworks, understood development methodologies and maybe learnt some new tools, which you know for a fact makes the applications you write now more extensible, reliable and easier to maintain.

The question is, taking into account someone must cover your wages, how do you generally go about “upgrading” your legacy code? Do you simply try to ignore it and hope your client wants a new shiny version built from the ground up? Do you replace chunks of your applications with upgraded modules? Or do you simply just use the new tools when you can (for instance, writing standalone maintenance tools).

Do I Rails?

Posted by Neil on November 07, 2006

I just thought I would post a follow-up to the post I put up yesterday about my observations with Rails and it’s comparison to Coldfusion.

I have been a CF developer for as long as I can remember, it’s really the first “language” I picked up and I owe a lot to it for getting me where I am today. However, I am not like some people and think that the sun shines out of it’s proverbial. I fully realise that there are several issues with CF across a variety of areas. The main bug bears are things like:

1) Performance - Yes, I realise it’s got Java underneath it, but why is it so chuggy in places? I have done some tests where I have written a native Java class to do some “work” and then compared the execution time with the equivalent CF. CF always takes 10-40(!) times longer to execute. If CF compiles to Java why is there such a difference? Also, as a side note, why is the equivalent CFScript is so much faster than the ? (Try 10000 cfset’s for instance)

2) Bugs - I’m all for new features, but some parts of CF naming no names (CF Report Builder) just seem to be really buggy. I would prefer to see these fixed before any new whizzy extras are added. Also there are issues such as this which just drive me nuts in my day job.

Now, I realise that this might make it sound like I hate the platform, and you’d be so very wrong. CF is great, it’s perfect for an aspiring web designer who wants to move into web development, and maybe then Java. It’s taken me from knowing only HTML to where I am now, something that may have been harder if I were to jump straight into, say, Java.

Funny I should mention Java actually, as that’s where this is heading next. I have been trying to pick up Java over the last few months to give me a little more power in the world of CF, but (probably like a lot of people) I found myself looking at the syntax thinking “Geez, this is long-winded”, very much a CF developers mindset. So this led me onto the internet where I tried to find answers on how people could write web apps in Java quickly. Simple answer? They don’t.

This is what brought up Ruby (and I should also mention Python here too). Ruby is a very simple language, it’s almost beautiful in it’s simplicity, and scary in it’s flexibility. Languages like Ruby make you wonder why web developers put up with Java/C# for day to day development - surely they are writing five times more than they need to…

So, whats the moral of my story? Well, in a nutshell, programming is not hard and not complicated if you are using the right tools. If you want to build complex systems intergrating with this and that, sure use Java/.NET. If you are a average developer though, check out CF, Ruby and Python.

If you are already a CF developer, make it a regular task to check out other platforms out there. A lot of them are very powerful and quite often free to download and use. Even if you don’t like them or use them again, you’ve still been exposed to another way of looking at things and it will undoubtedly make you a better programmer in the end.


Getting yourself a computer science degree online is now a realistic prospect, if that’s how you’d want to do it.

CFDevcon

Posted by Neil on November 06, 2006

Well, I don't have a ticket as such yet, but I will be there this Thursday at the UK's first ever Coldfusion User Conference.

So, look out for a tall guy looking a bit like my picture (right) and say hello. If I look a bit blank and don't say much - I didn't get much sleep*

So, who else is going??

* having young children can do that to you.