Latest Entries »

Moved again!

Well, I moved again! I’ve upgraded my hosting on my website, and switched it to a WordPress blog. It’s now been running for a week at http://www.matthewdaly.co.uk/ , so please join me there!

PassCrunch

As an exercise to teach myself the basics of regular expressions in JavaScript I decided to implement a small function I called passCrunch to check how secure a password is. I implemented it based on the following principles:

  • First of all, check for a list of well-known easy to break passwords to foil a dictionary attack, and reject it if it’s there.
  • Then check that it’s at least 8 characters, and reject it if it’s not.
  • Then implement a counter to measure how secure it is by various checks.
  • Then add to the rating if it’s more than 12 characters.
  • Add to the rating if it contains lowercase letters.
  • Add to the rating if it contains uppercase letters.
  • Add to the rating if it contains numbers.
  • Add to the rating if it contains nonalphanumeric characters.
  • Finally, convert the result to a percentage score and return it as an integer.

The finished article’s available here as a .zip file if you’d like to use it, or just take a look at the code. Be warned, it’s quite long due to the fact that the list of insecure passwords I used had in excess of 3,000 entries in it! It includes a very simple HTML form which will allow you to submit a function and will return a score for it via an alert() dialogue. Feel free to use it if you wish!

Having recently completed the Database Design Methodology part of my course, I’ve now moved onto the next part, which is JavaScript Fundamentals. It’s quite an interesting topic since unlike HTML and CSS, JavaScript is a proper programming language (OK, technically it’s a scripting language, but it’s not merely a markup language like HTML), so I’m quite enjoying it.

However, I’m a little disappointed with the quality of the training materials for the course (CIW JavaScript Fundamentals). It was published in 2003, and recommends the use of Windows ME or Windows 2000, and Internet Explorer 5.5 or later, or Netscape Navigator 4.0 or later. Now, IE5.5 was released in July 2000, making it a few months shy of a decade old, a staggering length of time for the web. Netscape Navigator is even older, dating back to June 1997! Of those two browsers, IE5.5 now has a miniscule market share, and Netscape Navigator isn’t actively developed at all anymore (although Mozilla Firefox is built off the same code base).

Given that in the last few years Internet Explorer has been rapidly losing market share, and developers are doing things with JavaScript that we couldn’t dream of five years ago, you’d hope the course would cover the more interesting and powerful things we can do with JavaScript today, such as AJAX, Greasemonkey scripts or third-party libraries such as jQuery. Instead, I’m stuck with form validation (OK, fair enough, need to learn that), manipulating frames (seriously, frames? When was the last time you even saw a framed website? They’re ugly and a pain to use) and pop-up windows.

Personally I’m more than willing to take up the slack myself by studying independently, but I’m sure there are plenty of people who wouldn’t do so until they reach the workplace. Admittedly, the fundamentals of the language haven’t changed, but there’s plenty of stuff that’s of very little use today that I’ve had to learn when I could be learning something more useful.

So surely these texts are long overdue for a refresh? I would hope that a newer release would cover at least some of the following:

  • At least one third-party JavaScript library, such as script.aculo.us or jQuery.
  • Writing Greasemonkey scripts (which is a very good way of learning more about JavaScript).
  • Creating a simple AJAX application.
  • Using a JavaScript debugger such as Firebug.

I really don’t think there’s any excuse for the training materials being that outdated when some of their other CIW training materials are much more current.

For a while now I’ve been looking for a good free shell account provider, and the other day I stumbled across the best I’ve ever seen at http://devio.us/. They run OpenBSD, they provide pretty much everything you could want from a shell account provider, and they’ve been very willing to help so far – when I asked if they had plans to add Python support, they added it within 24 hours. If you’re looking for a good shell account provider, I suggest you give them a try.

I’ve made the tough decision to abandon Blogger and move my blog to WordPress. For those of you that have joined me from my old blog at http://farbeyondtheedgeofreason.blogspot.com/ thank you very much for doing so!

The new blog will have a somewhat different emphasis than my old one. Rather than being a bit of a free-for-all covering Linux, programming, new websites and anything else that I think of, this blog is going to be much more focused, with web development as the main subject. That said, we’ll have to see how things work out.

I’m considering another move in a few months time, with my site at http://www.matthewdaly.co.uk/ becoming the new location of the blog, but that would require paid hosting, so I’m going to give WordPress a good try first before I commit to using it.

Passed!

Today I took the exam for my CIW Database Design Specialist course, and I’m pleased to say that I passed with flying colours! I find it hard to believe that I’ve managed to actually accumulate that much information about relational databases, but somehow I did it!

Now to actually get out of my existing customer services role and into the IT industry! I’m still studying as I’ve got a lot more work to do for the rest of my CIW Master Enterprise Developer certification, but this means I’ve got a lot more options open to me – database administration’s a possibility but really I’m more interested in web development. I’ve got to study JavaScript next, then Perl, then PHP and classic ASP before moving on to Java.

Election time

As you may be aware, election time is looming in the UK. As someone who considers themselves old-school Labour (as opposed to Tony Blair’s New Labour) there isn’t really a party I feel I can align myself with anymore, so I tend to vote more based on issues than habit. I have, however, always felt that if you don’t vote you can’t complain about the government so I make a point of always doing so.

Like many others, I was appalled by the way the Digital Economy Act was pushed through by a Parliament that clearly didn’t understand its full implications. Its primary architect, Peter Mandelson, clearly didn’t understand a thing about how the digital economy works. This piece of legislation is ill-conceived at best and downright scandalous at worst.

So I’m very pleased to learn that the Liberal Democrats are calling for it to be repealed. I’m even more pleased to learn that the Lib Dems have experienced a significant surge in support. Realistically I don’t think they are likely to win the election, but there is a fair chance that they may gain sufficient votes to force the majority party to enter into a coalition with them, meaning they may well get the opportunity to repeal the Digital Economy Act. Plus, there’s the possibility of the extremely capable Vince Cable (who unlike many other politicians actually realised that people taking on unprecedented levels of personal debt was a bad idea) being Chancellor of the Exchequer.

I have a strong dislike of Tories in general, and David Cameron doesn’t actually appear to stand for anything much – he’s one of the most superficial politicians in government at the moment. I still remember the shambles of the last Tory government and there’s no way I’d want to repeat that.

While I would love the Pirate Party to be standing for election in South Norfolk, sadly they aren’t. While the Green Party have also said they are opposed to the DEA, they remain a fringe party. I feel that the Labour Party have had their own way for too long and it would be good to either get rid of them or make them share power so they don’t have the opportunity to force objectionable legislation through.

I’m therefore throwing my support behind the Liberal Democrats. I intend to vote for them, and if you’re concerned about the consequences of the Digital Economy Act too, I recommend you vote for them as well. They’re the only major party who actually seem to understand the issues at hand. Hamstringing the digital economy to benefit the analogue one is not the way to guarantee this country’s future, and only the Lib Dems seem to have grasped this.

As you may be aware, I recently started moderating comments as I’ve had problems with spammers in the past. I felt it might be helpful to set out a more formal set of guidelines for comments so people know what I’m willing to accept. I’ve posted them to the right.
Essentially they boil down to the following:

  1. English language only (this is an English-language blog, after all, and I’ve had a lot of Chinese spam comments on here). I don’t care how bad your English is (seriously, I have seen some terrible written English from native speakers, so don’t worry too much if you’re not good).
  2. If you’re clearly just spamming and quite blatantly have nothing to contribute to the discussion I will not approve your comment.
  3. Finally, I will not accept any comments that are hateful. I’ve got no problem with colourful language but anything I consider genuinely nasty or unpleasant will not be approved.

As long as you obey those rules, I’m happy to accept your comments here, so please don’t be dissuaded from commenting by the fact that comments are moderated.

My new website

For a while now I’ve been considering setting up a website on my own domain name, as this would provide an excellent way of showcasing my abilities with HTML, CSS and JavaScript, and provide a URL I can put on my CV when applying for jobs. I’ve had my eye on the domain name matthewdaly.co.uk, and last night I bought the bullet and paid for it (bargain at about £6 for 2 years, including VAT).

I’ve wanted to put a blog on there, but I couldn’t find a blogging engine that I could easily integrate into it. I was thinking that the way to go would be to write a custom blogging app using Django, but right now I really don’t have time to sit down and learn Django properly, what with doing an unrelated day job and studying in my spare time. So, I thought rather than put it off, I’ll get some free web hosting and put something on there now, even if it’s fairly basic.

And here it is! Please feel free to have a play around with it and let me know what you think, or any problems you’ve had with it. I’ve used a little CSS3 in making it, partly because it was by far the easiest way to implement drop shadows and rounded corners, but it degrades fairly gracefully in browsers that don’t support CSS3 yet. I didn’t have too many problems with adjusting for IE6 thanks to the reset style sheet I used, and the PNG fix.

In future I will expand upon this fairly basic site (and naturally I’m going to have to stump up for paid hosting in future) but for now this is my first hand-coded website!

Switching to Slackware

I’ve had my Dell Inspiron since 2004, and it’s worked very, very well for me (it’s still going strong), but I can’t deny that it’s too slow and old for many modern operating systems. I’ve been running Kubuntu Hardy on it for a while as that was the last version which shipped with KDE3.x but I was feeling the pain of running an older release, so I started hunting around for a replacement. KDE4 is just too heavy for this computer, so that wasn’t an option.

I’ve tried a number of Ubuntu derivatives, including CrunchBang Linux and Xubuntu, but Xubuntu was too slow and I didn’t really get on too well with CrunchBang (too basic for my liking). What I really wanted was a fairly default XFCE desktop (I really like the base XFCE desktop and it’s not as bloated as Gnome or KDE).

Unable to find an Ubuntu derivative that really met my requirements, I decided to look elsewhere. I was considering Debian with XFCE as I have had a lot of good experiences with Debian-based distros outside Ubuntu, including sidux and SimplyMEPIS, but I felt like a little distro-hopping as I haven’t done that for a while (since my trusty Philips X58 died at Christmas time I’ve only had one Linux machine, that being the old Dell, so I’ve relied on my MacBook a lot).

I’ve always been interested in the sound of Slackware, and I had a copy of Slackware 13 that came with Linux Magazine, so I thought I’d give that a go. I’m familiar with the installer so the only issues I was likely to have were with configuring my wireless network. Fortunately, Slackware nowadays ships with wicd included on the disc, and I’m familiar with this. Once I’d finished the install (not hard by any means, just more involved than, for example, Ubuntu’s installer), I booted it up and installed wicd from the DVD, and it worked straight away.

I’ve heard that Slackware has a lot less bloat than most other Linux distros, and my experience certainly bears that out. Compared to Xubuntu, my new Slackware install with XFCE is lightning-fast. As of right now I’m running slackpkg to update my system and while it may not be as flexible and powerful as apt, and not have a nice graphical front-end, it’s perfectly usable and I’m happy with it. I’m used to sudo from both Ubuntu and OS X so I’ve set that up, and all in all I’m very pleased with my new system.

I’ll let you know how I get on with it over time, but for now I think Slackware is a great distro for what I want on this machine, and one that’ll help me learn more about Linux. Don’t get me wrong, I still love Ubuntu, but Slack has its place too, and I have my own reasons for liking both.

Follow

Get every new post delivered to your Inbox.