Merry Christmas, Happy new year and all that jazz

As is customary on the last working day for Christmas, the tunes are playing and the drinks are flowing, so it is a good time to say Merry Christmas and have a safe holiday.

Stay tuned for next year, when hopefully I’ll have a new project to announce ;)

Password Generating Bookmarklet

Some how I managed to get lumped with the un-enviable task of creating email accounts for clients at Bam Creative - we currently have to use an archaic web interface and it takes forever. One of the many things that annoyed me about the system, is it can’t generate passwords for you, so I whipped up this little bookmarklet that will generate an eight character password made up of upper and lowercase letters and numbers. It adds a small div to the very top of the page you are viewing. Clicking the password makes it disappear again.

Drag the following link into you bookmarks. Click it now to see it work!
Password generator

Known issues:

  • It doesn’t play nice with frames, it will throw a JavaScript error.
  • Clicking the link in IE doesn’t make it disappear.

The raw code:

  1. passwd=;
  2. for(i=0; i < 8; i++){
  3. switch(Math.round(Math.random() * 2)) {
  4. case 0:
  5. passwd += String.fromCharCode(Math.round(Math.random() * 25) + 65);
  6. break;
  7. case 1:
  8. passwd += String.fromCharCode(Math.round(Math.random() * 25) + 97);
  9. break;
  10. case 2:
  11. passwd += Math.round(Math.random() * 9);
  12. break;
  13. }
  14. }
  15. var pDiv=document.createElement(‘div’);
  16. pDiv.setAttribute(’style’,‘postion:absolute; top:0px; left:0px; border: 1px solid black; background-color: grey; text-align: center;’);
  17. var pClose=document.createElement(‘a’);
  18. pClose.setAttribute(‘href’,‘#’);
  19. pClose.setAttribute(’style’,‘color: white’);
  20. pClose.setAttribute(‘onclick’,‘this.parentNode.parentNode.removeChild(this.parentNode);’);
  21. pClose.appendChild(document.createTextNode(passwd));
  22. pDiv.appendChild(pClose);
  23. body = document.getElementsByTagName(‘body’);
  24. body[0].insertBefore(pDiv,body[0].firstChild);

Latest 88 Miles release…

In between my day-to-day job and being sick (Damn you tonsils), I’ve managed to get some more work done on 88 Miles. This release was mainly an internal update, however there are a couple of important, if not major external changes.

  1. Business accounts are now out of beta - there are a variety of plans which should suit most people and you can easily swap betwen plans at your whim. There is even a discount for paying yearly! Check out the pricing page for more details.
  2. The trial account has now become a free account! There is now no account expiry date, and you can do all the things that regular accounts can do, including adding unlimited staff members. The only catch is that you can’t clock in more than 40 hours per month. All of the expired trial accounts have been re-enabled, so if you have signed up before but ran out of time, login again and see what has changed.
  3. The reporting system has improved - you can now view graphs in the project summary view

I would really love some feedback on the system, so if you haven’t had a play with it in a while, or if you have never had a play with it, go and login and show yourself around :)

/End selfless self-promotion

Welcome to the 21st century

This morning at 2am, Western Australia joined most of the rest of Australia and rolled their clocks forward to begin a three year trial of daylight savings - and about bloody time too!

So far, so good - All of my computers at my house have updated, as have the two work servers, and after a quick patch, 88 Miles also made the transition into the new timezone.

For those of you that weren’t quite so on the ball with your updating, you can download the Windows update here, and the Unix/BSD update here.

The Windows update is pretty self-explainitory, and the Unix/BSD update is just as easy:

  1. Download the update file
  2. Copy it to /usr/share/zoneinfo/Australia (overwriting the existing Perth file)
  3. makes sure /etc/localtime is symlinked to /usr/share/zoneinfo/Australia/Perth

Note that this update works for OSX as well.

So you over-easters, just remember little ol’ Perth is now two hours behind (Unless you are in Queensland, now we are only one hour behind). Adelaidians (!?) we are 1.5 hours behind you and Darwin you are 30 minutes in front.

Three development tools you simply must have… Part II

The second development tool in the “simple must have” category would be Capistrano. Capistrano is a deployment system that was written in ruby and is (not suprisingly) integrates quite nicely with Ruby on Rails. However! you can quite happily use it for any system, because at it’s heart, it is just a remote scripting tool.

When you run capistrano, you call a recipe, which is executed on the remote server or servers via SSH and it works really well.

Installation

The capistrano hand book has the latest installation instructions, so check there, but the basics (at the time of writing) are:

gem install capistrano

This will install the cap application. The tutorial from Simple Complexity - it deals with most of the difficult stuff (it’s actually really easy) and I don’t think I can put it any more eloquently.

Follow the steps and then you too can love the one-command deployment. I use it at MadPilot (for 88 Miles) and at Bam all the time. It’s great.

Next week: Part III