Adobe really needs to get this right. Bolt, the soon to be released IDE for ColdFusion, is the talk of the town in the CF community, and let me tell you – it better be good. I have to say, I’m not really that pleased that this is an Eclipse based product. I’ve almost completely dropped Eclipse lately due to instability – at least on the Mac. I think that Adobe could have made this product a stand-alone product on its own platform, and still allowed it to be extensible (If you have not heard, you will be able to write extensions for Bolt with CFML, which is all kinds of awesome).
Am I the only one who just doesn’t understand why so many ColdFusion developers are jumping to Flex? I’m aware that my opinion on Flex and its place may be unpopular in the ColdFusion community, but I’m wiling to entertain the possibility that I may be wrong, so bear with me.
I’ve taken in all the Flex coverage and sessions at CFUnited and MAX, and I’ve attended full day workshops on Flex more than once. Don’t get me wrong, I’ve been nothing but impressed with the capabilities of the platform, and pleased that Adobe has made everything work so well with ColdFusion. I just don’t like the end product of most sites built in Flex. I am most impressed with sites that use nice clean markup and unobtrusive JavaScript for progressive enhancement. Whenever I visit a Flex site, it feels like I’m using someone else’s computer. You know that feeling? for me it’s the fact that usually, my MacBook Pro’s trackpad scrolling will not work with the Flex scroll-bars. Not a huge deal, but it makes a difference.
One of the big advantages of using Flex is not having to worry about testing in multiple browsers. I believe over 99% of people can access your Flex site with their existing version of Flash. This is a great benefit, but it’s not as big of a deal as it was a few years ago. Today, the biggest problems are still with IE6, and for many sites I’m happy providing decreased functionality for those users. Using jQuery also eliminates a large amount of JavaScript incompatibility between browsers.
There is a market for Flex, and I think that market will continue to grow. I’m also pleased that Adobe has embraced it, since it adds a perfect piece to their product suite. I just don’t like the whole “If you’re not jumping on the Flex bandwagon, you’re missing the boat” mentality that I hear a bit too much in the ColdFusion community. I hope that Adobe continues to support and enhance the capability of ColdFusion to work with HTML based content.
I’ve always thought that as a ColdFusion developer, I should use CF for my own site. It wasn’t even something I’d thought about. I’ve used both BlogCFC and Mango Blog for my own site, and still use both on various other sites. I’ve been really happy with both, and have no plans to swap them out on any other sites.
I found it really easy to add all kinds of functionality using ColdFusion as a blogging platform, and that’s why I’ve stuck with the CF blogs so far. But then I did a little work on my cousin’s blog last year (check it out if you like illustration), and was intrigued. Since then, WordPress has made a bunch of updates, and the admin interface is simply beautiful. I found a very simple template, made some changes to the CSS, and everything worked. My last step is usually to bite the bullet and open up my new sites in IE6 – to see how late I will be up fixing it. For the first time ever, I had absolutely nothing to fix. I know this is due to the good work of the template designer, and not necessarily WordPress, but it speaks to the magnitude of people working on this platform.
I still think ColdFusion is the best platform for a ton of things, and personal sites may be one of those things. As a developer though, I can appreciate the amount of work that has been put into WordPress, and when a piece of software fits your needs so perfectly, it’s hard (and irresponsible) to ignore it. The reason I love WordPress is the same reason that I love Macs. They just work, and they look great. It may seem silly that the look of the admin interface is so important to me, but if I need to look at something every day, I like it to look good.
I must say that I’ve got a bit of guilt about this. I almost feel that I’m betraying the CF developers that have put work into open source applications that come close to meeting my needs. There are still plenty of CF open source applications that I use daily and support, and I don’t see that changing.
Instead of using all the URL shortening services out there, I thought it would be just as easy to write my own, and retain my own domain in the URL. My domain name is not that short, but since I would only be using it to redirect to my own pages, I would only need a few characters to create the links. I use Apache as a webserver, and Mango Blog as an engine. This method, however, also works with BlogCFC, another popular, and awesome, ColdFusion blog engine. Both these blog engines use UUIDs as primary keys in the blog entry tables. I added an integer field in the entry table called “pk”, and made it the primary key with auto-increment turned on. This gives all your blog entries a numeric index. The next step is to create a file somewhere on your site with some code to redirect requests that use your URL shortening service. I called it trimURL.cfm:
1
2
3
4
5
6
7
8
9
10
11
<cfquery name="getURL" dataSource="mallinson">
SELECT name
FROM entry
WHERE pk = <cfqueryparam CFSQLType="CF_SQL_VARCHAR" value="#url.id#" />
</cfquery>
<cfif getURL.recordcount>
<cflocation addToken="no" url="http://mallinson.ca/post/#getURL.name#" />
<cfelse>
<cflocation addToken="no" url="http://mallinson.ca" />
</cfif>
With this code, this blog entry can be referenced by visiting http://mallinson.ca/12. The next step requires that you know a bit about Apache Web Server, or are familiar with URL rewriting using another type of web server. I use Apache, and URL Rewrite. In my .htaccess file, I have a lot of entries that clean up my URLs, but I’ll isolate the one rule that makes the URL rewriting work.
RewriteEngine On
RewriteRule ^([0-9]{1,6})$ trimURL.cfm?id=$1 [L]
What this bit of code does is take any URL that is composed entirely of digits, up to 6 digits (I don’t anticipate breaking a million posts), isolate the digit, and pass it to my redirecting page. I intend to register another much shorter domain as soon as I find something good. Then I could get the URL strings down to 10 characters or so.
There are thousands of web hosting / co-location services out there, but as far as I know, there are none that will co-locate a server that can be shipped in a shoebox, and will treat it like it belongs in a rack, next to the big boys.
Macminicolo.net does just that. You send them a Mac Mini (or buy one from them at the going rate) and they will hook it up to a smoking fast connection in a managed facility. You get full access to your machine, and can even (optionally) manage the power supply remotely.
Worried a Mac Mini would not be able to keep up with your needs? You’d be surprised. They perform very well under load, especially maxed out with RAM. In addition to being able to host unlimited domains yourself, it’s a great way to keep remote secure backups, manage an SVN repository, or just to use as a personal file server.
I’ve been using their service for about a year, and I’m extremely satisfied.
If your email address still has the name of your ISP in it, then it’s not your email address. It belongs to your ISP and always will. These days, most people have the choice to switch ISPs when service is bad, or there is a better option out there. If you are tied to your ISPs email service, then the option to switch – for any reason at all – is much more difficult. I can not imagine having to change my email address. It’s used by many websites as a user ID, and it’s just such a pain to send everyone you know a message to tell them that they need to update their contacts.
There’s a super easy, free alternative to using your ISPs email service, and that’s to sign up for Gmail (my choice), Yahoo mail or Hotmail. But there’s an even better option. It’s not free, but it’s really cheap.
Buy a domain, create your own addresses, and let Google manage all your email traffic.
You can buy domains for $5.00 to $50.00 per year. If you are incredibly lucky and have a very uncommon last name, you may find your last name is available as a domain in some form. Otherwise, you are going to need to get clever, and think of a unique domain name. You will have much more luck if you go with something other than .com for your TLD (top level domain). In Canada, the .ca TLD is a good option, and you would be surprised how much easier it is to find a good domain. Many more top level domains have opened up recently as well.
Once you’ve chosen a domain it gets a little geeky. If the next steps are confusing you, feel free to send me an email, and I can help you out. You need to register your domain with a registrar that allows you to manage your DNS records. Some registrars allow you full control over your DNS entries, and some require you to just point your domain to a series of DNS servers. I manage a bunch of domains, so I use a service called DNS Made Easy that gives me my own DNS servers to which I can point my domains. They charge what amounts to a couple of bucks per domain annually, and give you full control over where your domain traffic goes. DNS Made Easy gives you DNS addresses which you give to your registrar.
The next step is to sign up for Google Domain Services. Google currently offers a service that will manage your domain email for free. They give you 25 email accounts, each with over 7GB (and increasing) of storage, and each account can have unlimited aliases. They even give you shared calendars, and distribution lists. All of the services can be accessed with an address like mail.<yourdomain>.com and can even be customized with your own logo.
Sign up with your domain information and follow the directions. Google will give you a series of “MX records”. These are DNS entries that handle the mail traffic that goes to your domain, and there will be several of these to add. When the setup is done, Google gives you an admin interface where you can add your accounts, and create your addresses.
Having your own domain email has a ton of perks. The best way to manage it is to have one main email address that you only give to close friends. Don’t ever use this address to sign up for anything. Then set up another address (or several addresses) that you give to everybody else. Gmail’s spam filters keep almost all spam out, but it’s good to have a throw away address to use for signing up for services that may sell your address. I also like to register an email address that I use to send nasty messages to people offering $10 an hour for web development jobs on Craigslist. You don’t need to manage multiple mailboxes for all these addresses – just forward them all into one.