Hi, my name is Daniel Washbrook. I'm a freelance web developer and project manager. I've been building web solutions since 2001. Feel free to contact me if you want a site built or just need some technical input.

Recent Posts More posts

Mass testing website updates

As a web developer we spend a lot of time installing updates. With applications we use testing frameworks to ensure the system behaves properly after an update. But these testing frameworks don’t exist for simple websites running content management frameworks like Drupal, Joomla or WordPress. We’re expected to check each page before and after an update and notice any difference… well that’s just not a great use of time.

Today I put together a simple way to test a whole bunch of pages on a site and report back if any of them are different from the last time they were checked. In a matter of minutes we know if an update has caused mass errors and with a bit of scanning we can tell if there are minor differences that weren’t expected.

For the technically minded, we use wget on a file of urls like this:
wget -i ./url_file
and store the results in two directories. Then we use a diff program like OpenDiff to visually compare the two directories like this:
opendiff ./site_v1 ./site_v2

A real site saver…

Drupal summit in Portland

It’s been a whole year since the Pacific Northwest Drupal Summit in Vancouver. This year it was held in Portland, Oregon at the Portland State University. It was great to see everyone, specifically the crew from ImageXMedia, OpenSourcery, and all my fellow freelancers.

Of the handful of sessions I caught, I really enjoyed the two on performance. The first was by Mike Carper on front end performance. It was a great review of the tools available for measuring performance metrics and modules for enhancing a Drupal theme. I didn’t realize a web browser will only make 6 concurrent connections for images to a single domain. The solution is to create multiple subdomains to serve images just as Facebook and Flickr do. He also did a great job explaining ways of integrating a content delivery network into a Drupal site.

The second session was by Josh Koenig from Pantheon (these guys know their performance and scalability). In this session, Josh discussed improvements that can be made to the server to increase backend performance. The gist is to increase a servers ability to cache content at every possible layer. He even referenced the Boost module which is a creation of Mike Carper. I would definitely recommend his slides and feel free to contact me if anyone needs a run down or some tips. He closed by saying that getting a server cache isn’t hard, the hard part is getting it to let go of the cache for fresh content.

I’m very excited for the new Drupal Business Summits that are being put together. I got word of one in Vancouver in May – I’ll keep you posted.

Down with the old phone system

I have been waiting years for Skype to get their act together. They still don’t have Canadian phone numbers. The idea of having my phone on my computer is priceless to me. In our digital age, I’m at a loss as to why the concept of “long distance” calling even exists. I’ve worked on hundreds of projects with clients who were a “long distance” from me, never a problem. So why does the phone company still think it’s a reason to charge 3 cents per minute?

On top of that, why do I still have a cell phone number, a land line number and a skype account… not to mention an email address? It seems so archaic. In my diluted reality, you don’t call a number, you call a person and it just finds them.

If they’re not available? Great, voice was invented about 20 years ago… why do you still CALL your voicemail to get your messages? My phone should really just list my message, with text versions, that I can play and delete. We have the technology – so where’s the solution?

Line2 it’s called – in 10 minutes I had a new number on a trial account. The number could be in almost any area code I wanted. For $15/month, you can even have a 1800 number. Local calling to anywhere in North America. And my voice mail that just plays on my phone! Best of all, it can ring 6 other numbers to get ahold of me. Now we’re talking!

Well I was almost talking – the quality was quite poor on VoIP. But my hat goes off to them for trying and you can bet I’ll keep an eye on this one. I like it when technology makes my life easier and excites me!

First Drupal Consulting Client

It’s an exciting day as I’ve been hired for my first Drupal consulting contract. A Calgary mobile company with some in hour technical expertise is looking to use Drupal on a project. It’s a very smart approach to bring me in for technical guidance and I enjoy the opportunity to collaborate with another technical firm.

Mobile Apps for all devices

I recently had the pleasure of working with jQuery’s new mobile framework. It’s not very often that I work with a framework that will so clearly change the playing field for developers.

Prior to this framework, developing an application for the mobile world meant expensive development costs for each platform. On top of that, each device on a platform could potentially throw a wrench in your plans. For instance, Blackberry seems to have a whole variety of its own devices and Android can run on even more! There just wasn’t any hope.

At least Apple only has the iPhone(3,4 and 5), iPad(1 and 2) but then your application has to sit in a queue for months before it will be released. This makes bug fixes and software updates a nightmare.

So what does jQuery do to change everything? Well now mobile apps will run in the browser, the way the Internet is evolving anyway. Clients no longer need to download the app, it runs real time off a more powerful server. All the complicated hardware issues for each device have been solved by the browser’s development team and I just need to deal with good ol’ HTML, CSS and whatever code might go into the backend. To put it mildly, it slashes development time and therefore budget by a huge margin.

So what kinds of apps can we expect to see coming from this new framework? Thanks to Google Maps Mobile, most location based applications will run as you’d like. Even ones that use the client’s location and Google directions. Applications that require you to sign in will work nicely, produce custom content based on user specific settings and store their state for later use. And lastly you have plenty of control over the screen to manage pinch zooming, scrolling, navigation and the url bar.

Stay tuned, this will mean a lot more web based content for mobile devices in the near future!

iPhone Plus 15 map

The City of Calgary recently released a KMZ of it’s Plus 15 network. The Plus 15 is a network of interconnected elevated walkways throughout the core for when it gets REALLY cold. But navigating this network can sometimes be difficult as maps are randomly placed throughout.

Using Appcelerator Titanium, a mobile development framework for iOS and Android, I was able to develop an iPhone app powered by Google Maps that overlays the Plus 15. Handy for those on the go.

Mediumrare, a Calgary web shop, is releasing their own iPhone app shortly and sports a cool Plus 15 map website too!

Collaborative Consumption

I work in a world where everything I use has been created by people with the intention of sharing their talents. We call this Open Source. It represents the freedom of code, ideas, and solutions. And just to be clear, this doesn’t necessarily mean free of monetary gain. Some would be surprised to know that even Apple Macs are running on an Open Source version of Linux. We all have to eat.

But I lived in this world assuming it could only exist for the intangibles. I am delighted to find out that our way of life is growing into what has been coined Collaborative Consumption. Now people are sharing cars, bikes, homes, money, and much more! My only wonder, where did this start? Is it intrinsic to our nature to not be greedy after all?

WHAT’S MINE IS YOURS from rachel botsman on Vimeo.

A ‘Big Shift’ from the 20th century, a time defined by hyper-consumption, to a 21st century age of Collaborative Consumption, is underway.

Collaborative Consumption describes the rapid explosion in traditional sharing, bartering, lending, trading, renting, gifting, and swapping redefined through technology and peer communities. www.collaborativeconsumption.com

It is the subject of a new book, What’s Mine is Yours: The Rise of Collaborative Consumption, by Rachel Botsman and Roo Rogers.

Pacific Northwest Drupal Summit Session

It was a big scary day today. In an amazingly large auditorium at the PNW Drupal Summit in Vancouver I presented on Server Optimization for Drupal web sites. I was trying a new approach to my sessions by proposing some basic findings and instigating discussion. It worked out really well thanks to such a great group of audience contributors. It really is hard to predict what people will say and I would have preferred a smaller more intimate room for such discussions. But it was still amazing to hear the ideas people came forth with. I think I learnt the most out of anyone!

The whole summit was very impressive. A great selection of discussions large and small. My favourite is likely the sessions on security because it’s quickly becoming my new area of interest. The running joke was that if the presenter kept telling us how to hack Drupal sites he was more likely to sell a lot of books and get asked to present at conferences! Of course we were just kidding. The information was of great value to those of us who write a lot of module code.

Of course it was great to visit with our Vancouver friends and everyone is very excited for Drupal Con in Chicago. I don’t think I’ll make it but you never know!

Drupal Camp Alberta Session

It was a delight to have the opportunity to speak in Calgary at the 4th annual Drupal Camp Alberta. The University of Calgary provided an excellent venue with two large conference rooms allowing for back to back sessions for two solid days.

My session in particular was focused on the Apache Solr search capabilities and specifically Acquia as a Solr provider. Not as sexy a topic as my 2008 presentation on CakePHP vs Joomla vs Drupal but still a fun debate. I was at the same time as a presentation on UberCart that I really would have liked to see.

Only one more month until my new presentation on server optimization at the Pacific NorthWest Drupal Summit. I’m a little nervous about that one.

Network Solutions gets sticky hands with your domain names

Every great business idea needs a great domain name. It’s the basics of the 3 most important business decisions “location, location and location”. But beware how you go about finding the ultimate domain name for you may lose the chance quickly.

Years ago, Network Solutions was the only option for registering a domain name with a flat fee of $35/yr. However, with market deregulation a number of less expensive options surfaced. This led to companies like GoDaddy and eNom becoming huge players offering domain names for as little as $8/yr. Network Solutions lost its market share keeping their price fixed at $35 and sees only name renewals as a source of income. Continue reading “Network Solutions gets sticky hands with your domain names”