Archive for August 2008

Fixing Time Machine: Backup failed with error: 11

Got the dreaded “Backup failed with error: 11” with Time Machine. Actually, I only got the dreaded message from the Console – the application itself, just kept failing silently with no suggestions (Apple, this is your cue to make Time Machine a little more useful). Nothing in Apple’s knowledgebase. Nothing seemingly useful come up in a Google search (i.e. something conclusive)

Solution? Delete:

/Time Machine Backups/Backups.backupdb/nameOfComputer/date.inProgress

It’ll ask for your password, and be gone with the file. Now the backups should start working again.

An example of what the Console showed:


13/08/2008 12:51:57 /System/Library/CoreServices/backupd[4946] Error: (-43) copying /Users/byte/Library/Application Support/Adium 2.0/Users/Default/Logs/AIM.bytebotdotnet to /Volumes/Time Machine Backups/Backups.backupdb/lovegood/2008-08-13-125154.inProgress/424A6617-37A5-4C20-8845-764D9167E317/Macintosh HD/Users/byte/Library/Application Support/Adium 2.0/Users/Default/Logs
13/08/2008 12:51:57 /System/Library/CoreServices/backupd[4946] Copied 702 files (169 KB) from volume Macintosh HD.
13/08/2008 12:51:57 /System/Library/CoreServices/backupd[4946] Copy stage failed with error:11
13/08/2008 12:52:03 /System/Library/CoreServices/backupd[4946] Backup failed with error: 11
13/08/2008 12:55:31 com.apple.launchd[73] (0x10dbd0.Locum[4961]) Exited: Terminated

MAS saves millions with LAMP stack

Malaysian Airlines has impressed me, yet again. Last week, in The Star, they reported that Sharul Isahak, a MAS employee, has helped save the airlines close to RM70 million (about USD$21 million), thanks to his use of open source software.

The software is meant to help airline maintenance, i.e. to keep track of parts and records of maintenance works. The web-based solution, is E-Promis (read the blog entry, its pretty interesting, as he takes you through the planning stages – it also seems like he’s still the only developer).

“This meant looking at open-source solutions. Instead of platforms such as Microsoft or Sun, we chose LAMP (Linux, Apache, MySQL and PHP)”

I couldn’t help but grin inside, a little. After all, Sun do own the M in LAMP ;-)

Next up, wonder if they will open source it, ala MyMeeting? After all, MAS services AirAsia and JetStar planes, I wonder who else will benefit from such software.

On microblogging (FriendFeed, identi.ca)

FriendFeed seems to be getting all the attention these days. There is now even a WordPress plugin, FriendFeed Comments that will help integrate your FriendFeed comments and more, with every post you make. This can be useful, as there are many times that people discuss a blog posting on Twitter.

Discuss is a broad word. Can you really say much in 140 characters? FriendFeed doesn’t have that limitation. And I’ve recently found out that I can make use of it in twhirl.

So I’m cleaning up my FriendFeed to ensure there is no unnecessary duplication. This means dropping Jaiku and Tumblr from the list of sites I share… However, I’m adding some “value”, by adding my Google Reader Shared Items Page (which I’m using more and more these days). So if FriendFeed proves useful, I might just use that wonderful WordPress plugin (nothing similar for Twitter from what I gather).

From what I understand, at least FriendFeed doesn’t go down often ;)

FWIW, it also seems that identi.ca works with twhirl so I’m on that now too (as in beyond just parking my account there). I’m byte there. And byte on FriendFeed. See you on these new services too…

HOWTO: MySQL Connector/C++ on Mac OS X

Excited with the release of the MySQL Connector/C++, I thought I’d get it going on Mac OS X.

You’ll first hit the problem that Mac OS X doesn’t come with CMake. So you’ll have to download it from the site – there’s a warning there that the .dmg installer only works for Tiger, but I ran it on Leopard, and its just fine. Don’t forget to allow it to create links in /usr/bin for ease of use.

After that, you will need to install glib. But to get glib going, you need some dependencies:

Installing them is simple: untar (tar -zxvpf package.tar.gz), ./configure, make, then a sudo make install.

Now, the README file or the instructions on the wiki will just work. I have several MySQL installations, so I preferred to specify what cmake found. I did this by:
cmake -D MYSQL_DIR:PATH=/usr/local/mysql/ -D GLIB_DIR:PATH=/usr/local/lib/glib-2.0/ .

Then a simple make, and you can go on and try the examples, in examples/. Try the connect application to make sure things are working. You will probably run into a snag though:


luna:examples ccharles$ ./connect
Connector/C++ connect basic usage example..

ERR: MySQL_DbcException in /Users/ccharles/code/mysql_connector_cpp_1_0_0_preview/examples/connect.cpp((function n/a)) on line 159
ERR: Cannot connect (MySQL error code: 0 )

Take a look at examples/examples.h, and look at the connection properties. It uses the test database, on localhost (127.0.0.1), standard port 3306, user is root, and the default password set there is root too. This may not be the commonest setting, so don’t hesitate to change the password or leave it blank (ala a default install), and rerun make. The sample applications will now work :)

Congratulations to Andrey, Ulf, and the rest of the connectors team in getting this going!

Musings on the Universal Declaration of Human Rights

While waiting on a bunch of compiles I kicked off, I couldn’t help but laugh, when Malaysia’s Foreign Minister Datuk Seri Dr Rais Yatim said:

“Why should Gore and the former US Vice-President give judgment of evaluation of a country; does he not know the meaning for the UDHR (Universal Declaration of Human Rights) and the UN Charter – respect for the internal affairs of a country”.

I love the Universal Declaration of Human Rights document. Its so well formed, I’ve used it in training classes as a sample document back in the day when I used to actively give OpenOffice.org training to businesses, government, and schools. Anyway, why did I laugh? (emphasis, and excerpts are mine)

Article 1.
All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.

Article 2.
Everyone is entitled to all the rights and freedoms set forth in this Declaration, without distinction of any kind, such as race, colour, sex, language, religion, political or other opinion, national or social origin, property, birth or other status. Furthermore, no distinction shall be made on the basis of the political, jurisdictional or international status of the country or territory to which a person belongs, whether it be independent, trust, non-self-governing or under any other limitation of sovereignty.

Article 18.
Everyone has the right to freedom of thought, conscience and religion; this right includes freedom to change his religion or belief, and freedom, either alone or in community with others and in public or private, to manifest his religion or belief in teaching, practice, worship and observance.

Article 20.
(1) Everyone has the right to freedom of peaceful assembly and association.

Article 26.
(1) Everyone has the right to education. Education shall be free, at least in the elementary and fundamental stages. Elementary education shall be compulsory. Technical and professional education shall be made generally available and higher education shall be equally accessible to all on the basis of merit.

Looks like the Malaysian politicians should go back and read the declaration (heck, they’re getting more web savvy, Wikipedia has an interesting page on human rights too). They may learn a thing or two, before shooting their mouths off the next time..

Some notes: Joomla! Day Malaysia 2008

I would’ve written sooner about Joomla! Day Malaysia 2008, but I spent most of Sunday cringed in between the bed and the toilet. Here are a bunch of quick notes I took at the event, with some thoughts tacked on to it.

Overall impressions? It was good for a Joomla! beginner. While I would consider myself a Joomla! beginner, I’ve seen many a CMS and maybe am a tad bit jaded. There is a great amount of interest in Joomla! – about 200 people registered for a paid for event (not cheap either – RM70 for a Joomla! forum member, and RM150 for regular visitors). So there’s definitely money to be made in Joomla! and CMSes in general.

Location? This is the first time I’ve been to the rather infamous Cititel hotel, tacked to MidValley. Held at the 5th floor, I noticed that people were allowed to smoke within the corridors. I consider this a massive FAIL for a hotel – a smoke free environment within air-conditioning is so much better. I couldn’t find a single power socket, which was rather woeful considering I’d have wanted to write more notes had my battery lasted longer. WiFi seemed non-existent, but I had my broadband modem.

On to it. The day started of with Toby Patterson, from Green Mountain Information Technology and Consulting, a joomla.org developer for the last year and a half, and all round nice guy, who seems to be based in Thailand. It was an introduction to Joomla! 1.5, in where I learned that Joomla! finally makes use of UTF-8 by default.

The templating system is simple: it just makes use of HTML and PHP. I was wondering if it also made use of CSS, so a quick Google showed me that it did (duh to me!).

I then learned that Joomla! is really three separate, yet related applications:

  • Installer Application
  • Site Application
  • Administrative Application

Apparently, you can use the Administrative app, without ever touching the Site app. Interesting.

In Joomla! 1.6, access control lists will exist. I’m wondering, why not just use database GRANTs, but from what I understand they want some group grants and so on…

Today, you can authenticate against your GMail account. I’d also like to presume that OpenID is supported (a quick Google sort of tells me it is) . Apparently, there is also logging in against LDAP.

Next up, I found out that azrul.com isn’t actually a one man show, but an eight person company! They describe themselves as “The Joomla Expert” (really, should be experts now!), and one of their most popular products are Jom Comment.

Its interesting to know that the Joomla! community has got an active amount of extensions, and some are commercial while some are open source/free. A lot of the extensions also have a similar Enterprise/Community model attached to it.

There was a HOWTO install Joomla! which seemed easy enough. The guy from azrul.com, a Mark, mentioned that you could use ext/MySQL or ext/MySQLi, and mentioned that you get some benefits from ext/MySQLi, but didn’t go deeply into it. During the example, he went on to use ext/MySQL, so during the Q&A, I chimed in on why ext/MySQLi would rock harder.

Later on, I found out that Joomla! URLs by default are not human readable, so you have to use some form of plugin, to enhance your SEO. The speaker, Syed Ahmad Fuqaha mentioned that his site had a Google PageRank of 3 when he started, and its now moved up to a PageRank of 5 after using SEO tactics (kudos! I wonder if I should apply some SEO magic to my blog and get it up from a PageRank of 6 to maybe a 7? I wonder if I’ll even be bothered…).

The SEF-url engine comes with every installation of Joomla!, but it has no URL caching (so the server will take the load). It can work with or without Apache mod_rewrite. A cached URL is created and saved in the database… its faster, there’s a little overhead to parse the URL, and it requires a single database call. Apparently, the preferred magic is: sh404SEF.

There was good chat on security, and while I’ve not audited the Joomla! code, its safe to assume that an SQL injection means the code needs some fixing. There were suggestions for security through obscurity. There were also bits about configuring PHP, MySQL and Apache “correctly”.

Joomla! also has got compatibility issues between versions. There is some old compatibility mode that exists now in 1.5, with 1.0, but come 1.6, the old compatibility mode will only exist with 1.5, so if you’ve got a 1.0 site, its soon to become EOL – start porting your stuff now!

Lunch was provided, buffet style. Imagine competing with 200 folk… There were t-shirts, but surprisingly, no more Large ones available the moment I got to it.

A little later, @wariola Twittered that there was some interesting message on the Joomla! forums by a Sam. Interesting reading, but it was deleted (sigh!). Azrul has a good response, and I have a few quick suggestions:

  1. The entrance fee is costly, and can be made cheaper if it wasn’t held at a hotel. Do it at a university hall, or something.
  2. Community event vs. “training” session. If it was meant to be a community event (ala Barcamp), its usually free. If people fork money out, they expect to be trained. Its simple economics.
  3. I wish I had known about the CfP before. I’d have definitely submitted a talk topic.
  4. While Azrul totally expected speakers to suck at presenting, I didn’t find them to suck in general. But for first time speakers, some form of “speaker training” might have been appropriate. No harm, no foul, public speaking in front of 200 people even trips up experienced speakers from time to time.
  5. Google is useful. It was even more useful at the event, as I could not only learn from the speakers, but go on and absorb further via the Interwebs
  6. Assuming everyone paid RM70 (untrue, I’m sure), and there were 200 registrants, that’s RM14,000 (lowest bar – highest bar, RM30,000). Throw in sponsors, and if run well, there can definitely be a profit in there for the organisers. Naturally, I don’t know what the hotel costs, but a hotel tends not to be the best location for a community event…

All in all, here’s to the next Joomla! Day. Remember folk, there’s money to be made here (and in CMS’es in general). /me smells a DrupalCon, etc. coming up :)


i