First day of my new 9 ta fiva

I am bashing out this post while sitting on the train as I head off to SGI. I have landed a 2 month contract position hacking on the web gui for their NASes. I am yet to meet everyone else in the team, except my boss and Russell Coker (sorry couldn't resist naming dropping.

I am pretty excited about the job. I will get to play with some pretty cool tech and work with some really smart people. My body is still adjusting to the 6:45 am start, but in a week I think it should be used to it.

My existing clients and projects won't be forgotten. I will still have some time in the evenings to work on things for private clients.

I am hoping to post a bit more frequently, most on the train, lets see how long that lasts :)

Mugshot, what's the point?

I noticed a few geeks had mentioned mugshot in their blogs (sorry too lazy to dig up references), so I signed up. I am not that impressed so far. I have created a profile page, which sort of resembles a cut down version of my liferea RSS feeds. I joined some groups, and created a phpGroupWare group, which just allows others to join the group and receive the group's feeds via their "stacker". This is very web 2.0 and "cool", but I am still wondering "why?".

In their FAQ, mugshot says, they are

an open project to create live social experiences around entertainment.

There is also a desktop app for Linux or Windows which allows users to view their stacker on their desktop, show what music you are listening to, or chat to users in your groups. The software also offers an opt-in system to allow you to give Red Hat info about which apps you are using. Both the mugshot web app and desktop software are "open source", but the licensing seems a little confusing - even to me.

Mugshot allows you to link various web 2.0 profiles and data sets to your profile. I managed to add my business site, my blog, my AIM account, my bookmarks (sporadically updated), stories i have dugg and my LinkedIn profile. Mugshot doesn't allow me to add my XING profile (XING was formerly OpenBC) or any of my other IM networks. There were other social networking/web 2.0 sites which I don't use which I could have added.

Other than a showing off which projects I like, which web 2.0 services I use and to tell Red Hat what software I use, I don't see the point of mugshot. Am I missing something?

Google Analytics

As some of you may have noticed I use Google Analytics on my site for statistics. I also use webalizer for basic visitor stats. I have found Google Analytics provides more information in a better format than webalizer. The downsides of Google Analytics is that it is non free SaaS, it uses flash and that is lacks the ability to drill down to get more information.

As of today, the flash problem is still there (I am yet to test it with gnash), but the amount of information and how that data is displayed has improved dramatically. For those of you interested in the new look analytics, google has produced a tour.

Here is a quick summary my stats:

If you made it this far you are either a) a very fast reader, b) skipped a lot of the stats, c) unlike 80% of my visitors who leave the site within the first minute (read they got bored with reading my long blog posts).

Blog Spam

I think I am pretty lucky that I only have 1 comment spammer on my blog. Every day he posts an ever expanding list of links for whatever he is being paid to post, this week it is ring tones. "nareman" give up! The combination of moderation and Akismet means that the posts get round filed. Akismet is a great tool, I recommend it to anyone who enables comments on their blog. If I had more traffic and comments, I would probably pay for a commercial license.

I'm a virgin - again

For a bit over a year I have had a Novatel Merlin U530 data card from 3 mobile. When my contract expired I started to look at churning. At first 3 insisted the card was network locked and couldn't be unlocked, "as stated in your contract". I read them what I had signed and mentioned the TIO, before the supervisor I had heard whispering in the background took the call and sorted out the unlocking.

3's service is good, if you are within the "broadband zone" (read within 35kms of an east coast capital city). The downsides of 3 are that once out of their coverage area, you roam on the Telstra GPRS network (and pay for every Kb on top of the monthly plan fee), and when you need customer service, you wait 20mins to talk to someone in India on a crappy VoIP connection. If the coverage was better and the N95 wasn't still "coming soon", I may have considered their X Series product.

I considered Vodafone, who I use for my phone, but I am not very impressed with VF. The phone I got under contract is a dud. VF keep on calling me to tell me I'm a valued customer and making sure I am happy with the service, but every issue I raise isn't something the person on the other end of the phone can deal with. After my last experience with VF's data services, I am still wary of them. Vodafone's pricing wasn't that great either.

Telstra required a long contract for a poorly priced product. Although their coverage is good, they use a non standard frequency, making my current data card useless. I also try to avoid using Telstra, due to their anti competetive attitude.

Optus uses the same 3G network as Vodafone, so they were appealing. The downside with Optus was price. Their "youth market" subsidiary Virgin Mobile has just released a 3G product with a great price (by Australian standards). With Virgin I get 1G of data per month for 30AUD (including 50AUD worth of calls). The Optus 3G network is still being expanded but is pretty good. In the country Optus'/Virgin's GPRS coverage is pretty good too - at least where I travel to. Although I am limited to 384/64Kbps, I am not locked into any contract.

The only downside with Virgin is the excess data charges - 20AUD per Mb. As I generally average a lot less than 1G p/m, this shouldn't be a problem. Streaming radio on the train should now be an option while checking my emails.

Very Rough Guide

When I go to the library I regularly check out what computer books are sitting on the shelf. Some books seem to be there every time I go in, such as iTunes 6 and iPod for windows and Macintosh. I usually end up grabbing one or 2 books on something I am at least vaguely interested in. I usually end up flicking through them over a month, and forget most of it a week later.

On my latest visit I picked up The Rough Guide to Blogging, by Jonathan Yang. I wasn't expecting to learn a lot out of it, but I hoped that there might be a few little gems or at least 1 thing that I didn't already know.

In general the book is ok. If you are new to blogging there is quite a few things that you can learn from reading a book like this. It seems to be pitched at people who use computers to get a job done, not geeks - that's cool. You shouldn't have to be a geek to read a book on a topic such as blogging.

Unfortunately the book's target audience probably isn't as well versed in convention and netiquette as a geek would be. As a geek reading the book I found myself thinking "hmm" on a few occasions. Then I found a wtf?! show stopper on page 79. Here is the quote under the heading "Loading images from other websites" (my emphasis):

You can use an image from elsewhere on the Web without copying it to your server. Simply find the address of the individual image (not the page it's displayed on) and use the IMG tag in the usual way.

Before posting an image on your blog, however, it's best to ask for permission from the copyright holder. In reality, nothing is likely to happen to you for using an image without permission - especially in the case of celebrity photos and other commonly circulated stock photos - but at the very least it's polite to ask before using, say, a drawing from an artist's website.

Generally hotlinking is considered by many as a copyright violation and bandwidth theft. Most webmasters don't approve of others using their content and bandwidth without permission. Not so long ago, US Senator and potential Presidential cantidate John McCain found out what happens when you hotlink. There are numerous other examples of disgruntled copyright holders and webmasters taking action against hotlinkers.

Given the size of the copyright notice in the footer on his site, Jonathan seems to take his copyright pretty seriously, pity that his respect doesn't seem to extend to others' works.

Update: I emailed Jonathan a link to this post and he has replied.

Thanks for reading and reviewing the book. The section you referenced about "hotlinking." Definitely not good blogger etiquette. I should probably post something about the importance of not only asking permission but also hosting your own images. I hope I meant "use the images, but host them yourself" but clearly the text doesn't reflect that.

Further Update: Jonathan has posted a clarification post on his blog (since moved to a different url).

bye bye PHP 4

I have several servers running PHP 5 already, but as my laptop is my primary phpGroupWare development and test environment, it was running PHP 4.

I knew this day would come, I just didn't think it would be so soon. PHP4 has been dropped from ubuntu. Ubuntu has never shipped php4 in main, but until feisty it has been in available in the universe.This is no more.

The advantage of using PHP 5 on ubuntu is that it is in main, so has full security support.

I started using PHP 3 and I was pretty enthusiastic about making the jump to PHP4, but have held back on PHP 5 due to the problems with running phpGroupWare (and other scripts) under it. It looks like I no longer have any excuses,

Now that all the major distros ship PHP 5 and PHP 6 is around the corner, it is time to bury PHP 4. The world didn't end when register globals was turned off by default. Switching to PHP 5 won't kill us either, but holding back may.

Planet Summer of Code

Hi to everyone reading this post via Planet SoC - the unofficial Google Summer of Code aggregator. I am Dave Hall, API Coordinator, phpGroupWare and mentor from the GNU Project. I will be mentoring Johan Gunnarsson who will be working on a syncML interface for phpGroupWare.

I have already blogged about the wild ride that I had to become a SoC mentor.

I have decided to only add my SoC related posts to this planet so not to clutter things too much with my general ranting.

Good luck to everyone participating in SoC, it looks like some projects will end up with some pretty nice features in a few months time :)

phpGroupWare release?

I have been thinking about how to deal with releases of phpGroupWare. For me it is a technical, procedural and political question.

Over the last few months I have been playing with drupal a fair bit. I love drupal. It is simple to install, skin and hack. The community is great. The website is massive and has almost anything you want about durpal. They dog food their stuff. I have quite a few clients using drupal for their sites, they love it. There are many cool things on technical level within druapl too - but that would take this post off on a long tangent.

Drupal was allocated 20 summer of code places by google. phpGroupWare received 1 spot, indirectly. To me this is a sign of the popularity of the project and the level of activity within the community.

I hear you thinking, but hang on, drupal is a CMS, phpGW is a groupware suite, compare apples with apples. Well, you see I am not trying to compare apples with apples. I am looking for good ideas about how to build a quality release.

I think drupal have it sus'd. The have the core which is released when it is ready. They also have a stack of modules which are released when the developers feel like they are ready. This provides a lot more flexibility to all developers. Developers can prepare versions for multiple versions of drupal, but also release stuff when they think it is ready for release, not wait for the next mega tarball to be prepared.

I think that the drupal release model may work well for phpGroupWare. We could prepare the core (probably API, admin, addressbook, calendar, email, filemanager, notes, preferences, setup, todo - the PIM apps amd sync when it is ready) and release that as phpGroupWare 0.9.18. Then modules developers would be free to package there modules and release them when they were ready. Modules which were tested and stable at the time of the official releases would be listed in the release annoucements. It would mean that getting our apps site working would be important as that would be the entry point for a new eco system. It would also mean that if someone is working on new features for an app, they could release often, while the core would be more static and stable, in order to encourage more app development.

I don't think that we can have a release time table for the core unless we have significantly more (paid?) resources available.

I think that covers the technical and procedural issues, the political hopefully won't be too painful either.

The decision on what is core and what is not will need to be made early. The criteria for assessment should be made publicly available. Developers should be free to ask that their app be considered core. Being a core app is not a vital thing, apps will still be promoted it they are not core.

We could look at 4 levels of apps. Core, as discussed above. Supported, apps which meet the core app standards, but are not considered core for what ever reason. Unsupported, apps which work but do not meet the project standards for some reason (coding standards, bypassing the api, lack of docs, require patches etc). Dead, apps which are no longer maintained and other developers feel should no longer be maintained. The status of the apps would be publicly listed.

Such a model as proposed above would allow us to release a 0.9.18 core with some additional supported apps (such as ged, property, messenger, tts) a lot sooner than trying to get all the 0.9.16 tarball apps ready for release.

The only technical issue to resolve in this plan would be version control as savannah's CVS. isn't really designed for this model of development. I have been discussing switching to SVN with the savannah hackers, they are supportive of the idea.

I do have comments open on my blog, so feel free to leave a comment, otherwise discuss it on the dev list. I will post a summary of the comments there if I feel it is warranted.

Another coder along the way

Today I went with Julie for our first midwife visit. Julie is almost 10 weeks pregnant! We are pretty excited. Noah has been telling a few people about "the baby in mummy's tummy" over the last couple of weeks.

It doesn't seem as scary the second time around. Noah is already pretending to tickle the baby and take the baby out so he can play with it or read to it. Pretty cute.

If everything goes to plan bubba #2 will be born on or around 26 November at the Family Birth Centre at the local hospital. Noah was born there and we were really happy with our experience there.

While we were at the hospital today we saw the picture of Noah at 1 day old on their baby wall, which was pretty cool.

We had hoped that Noah would be cranking our code by now, but that hasn't happened, even though he started well.

Noah coding @ 2 months

Lets hope the next one can keep up the progress ;)