Patch for JWPlayer

I made a website for the Positive Parenting Program of the Manitoba Government while working at Canada’s Web Shop, and it had videos on one of the pages. Because the videos are self-hosted, I used the excellent JWPlayer for WordPress plugin, and it worked great except that when the staging site was brought down the videos stopped working.

It turns out that JWPlayer for WordPress is using WordPress guids instead of using the wp_get_attachment_url() function that makes it safe to move your WordPress website between domains. In short, the guid column in the posts table stores the original URL of the video, and if you change domains, the only way to get the correct URL is to use the aforementioned function.

I wrote a little patch, notified LongTail Video, and it is on its way to being included in the plugin.

My GitHub Resume

Since I’m using GitHub for the ProjectPier work I’m doing, one of my senior colleagues at Tactica mentioned that GitHub has a resume creation app, that nicely showcases the different work a developer does through their service. Here’s my GitHub resume.

I tweeted about that, and the always friendly Web Development Instructor at Red River College, Kyle Geske, replied with a link to his GitHub resume.

A GitHub resume, based on a history of code commits that a developer has made can be a valuable resource to use when looking for a new job, because it shows the ability to develop software.

Create yours and link it here if you please! Oh, and you can fork the code and contribute enhancements.

Project Pier & Kamp Pro 2 on GitHub

I’m working with and on the Project Pier project management software again.

A colleague who was working as a project manager recently left Tactica, and I saw this as an opportunity to do more project management myself, which is what I’m always looking for opportunities for.

This week was really exciting for my project management efforts, but it also means I have to play a little bit of catch up with the development projects at work, since the project management work I do takes away time from development.

You can check out my GitHub fork of Project Pier to follow my development or get the latest version to use it for your project management needs. If you find a bug or have an idea for how to make the system better, I’d love to hear about it, and if I feel it would make the system better for me, it’s likely I will have a patch for it shortly.

For my needs, the part of project pier needing most attention is the UI. The architecture seems solid, and the project management paradigm is quite close to the one Basecamp implements.

To address the UI issues without forcing my ideas into the core, I’ve enabled the themes to overwrite any output of the system (HTML & Javascript), whereas they were only able to overwrite CSS & images before. You can follow my UI changes on my GitHub repository of the Kamp Pro 2 theme developed by the talented Andrew Dotson.

RecipePress WordPress Recipe Plugin Project

As of recently, I am the main support person for the RecipePress WordPress plugin.

Over the last 6 months I’ve built and helped others build at least 5 recipe-based websites. Here’s a list:

Since all of them are using the RecipePress WordPress plugin, I ran into a bug, contacted the project owner, and it turned out he is looking to step down. Since I am always looking for successful PHP-based free software projects to contribute to, I think this is a great opportunity for me.

Here’re some useful links for RecipePress users:

New iPhone

I’ve finally bought my first cell phone. Which reminds me I also just bought my first car.

I bought an iPhone 4s as a replacement for my wife’s iPhone I lost earlier in the year, but then she ordered an iPhone 4 herself, so I have a smart phone!

I’m hoping to get more in touch with mobile computing and development for this emerging platform.

The number is 204-894-8346 in case you’re wondering. Other contact information is at http://gravatar.com/dbernar

The Village Idiot / The Ice Breaker

When I was younger, I used to go to mini-raves in the various clubs in Zagreb, I liked to dance, and the evening was more or less enjoyable based on various things. One evening I went to a club and there was a smaller crowd, so you could see everyone around you and the lighting was a little bit stronger than usual, so everyone felt a little bit self-conscious and most people weren’t dancing, making it a poor party. In a little bit, an older guy showed up on the dancefloor, and started doing some weird-looking funny dance, but it broke the ice and everyone slowly started to dance and enjoy themselves more, and it turned out to be a great night.

I like to credit myself for breaking the ice at both companies I’ve worked at recently (Canada’s Web Shop & Tactica) , and I think my “Village Idiot”-like appearance and attitude facilitates this quite well, because since I am sincere about who I am, the others lower their guard, and so we are able to see each other as normal people we can identify with.

What do you think about my claim? Do you have any similar experience like this? Do you have a different theory to explain this?

Thanks for reading.

Website Data Backups with Version Control

I’ve been tasked with revamping the backup strategy at my new job, and I think I am finally happy with what I’ve come up with. As usual, I’m wondering what others have done when they were tackling such a task, and what you, dear reader, think about my setup. Please leave me a comment if you want to share your thoughts, or links to articles you’ve read that relate to anything discussed here (along with a short description of how it relates).

With websites, it appears there are three distinct data components that require backups: Code, content files, and the database. If you implement a well-thought-out version control setup, you can keep only one backup of the current repository, since it in itself contains all the revisions.

  • Code only ever changes when the developer makes an update, and always changes on the development server (I swear!). The developer commits his changes to version control manually, and then uses a deployment automation tool to publish the changes to the production server.
  • With content files and the database, the changes are mainly done on the production server, and since we are not going to ask the user to commit to our version control system, this should be automated, either at intervals, like daily – or if it is plausible – just-in-time, directly triggered through the CMS when content is added.)

With incremental backups to Amazon S3, we used to pay about $1/month for this service at the medium-size call centre I used to work at, so that part should be fairly inexpensive, but the overall cost of this setup is significantly higher if you are paying for a hosted VCS.

Again, I would really appreciate your thoughts on this, and links to articles written based on what others have learned from experience in this area. Thanks for reading!