Archive for the ‘Software’ Category

Of cleaning keyboards and virii

Friday, May 9th, 2008

In a tiny fit of paranoia, as the Norovirus has decided to pay a visit to the Moscone this week, I decided that I needed to clean my keyboard on the Macbook.

I’ve already been following best practices of washing ones hands before eating with them (say bread at a restaurant even). You learn this stuff as a kid, but somewhere in-between growing up, and finding a girlfriend, you decide to share over cleanliness. Anyway, the habit has been back for a while. This largely after looking at toilets in a many a men’s wash room, where I notice that a lot tend to not wash their hands!

Anyway, to the point. Keyboard Cleaner. Tiny application that locks everything up, allows you to clean your keyboard and trackpad, and then with the magic Command+Q only will the application exit. Its small, but it serves a useful purpose.

Uing DTrace with Java Technology Based Applications: Bridging the Observability Gap

Thursday, May 8th, 2008

Presented by Jonathan Haslam, Simon Ritter, Sun Microsystems

In what I thought was completely great showmanship between Jonathan Haslam and Simon ritter, it was simply, pure comedy, having the two of them on stage. No reason to go deeply into notes (as the verbose slides are available), but the actual demonstration, the writing the code on stage, and the dynamics between the two - that made this session pure gold to attend.

You can ask a system to panic with DTrace if you want!

Some terminology:

  • Probe: place of interest in the system where we can make observations
  • Provider: instruments a particular area of a system, and makes probes available. Transfers control into DTrace framework when an enabled probe is hit
  • Aggregation: patterns are more interesting than individual datum, so aggregate data together to look for arrays. Generally an associative array

DTrace has a PID provider, to look at applications based on PID

dvm provider is a java.net project to add DTrace support in. Install a new shared library, and make sure its in the path.

DTrace in JDK6 exists as a hotspot provider. No need to download a shared library. Its also more feature-rich.

Project DAVE (DTrace Advanced Visualisation Environment) was demoed. Also note that there’s chime.

NetBeans 6.1 with GlassFish, MySQL bundle

Friday, May 2nd, 2008

I couldn’t resist downloading NetBeans 6.1, with GlassFish and the MySQL bundle, the moment I found out it was released. Pulling it down while at the Star Alliance Gold lounge in Singapore was easy enough, and it only took me an hour (its a pretty big bundle - 164MB, as opposed to 6.0.1 where it only weighed in at 143MB for the OS X bundle).

Instead of the 4 packages in 6.0.1, I now only see 2 files - MySQL.prefPane (because we only fixed this in 5.0.51b, which probably didn’t make the release cut-off - the included version is 5.0.51a-community), and NetBeans IDE with MySQL.mpkg. The install is slated to take 526MB and takes a good two minutes.

I noticed that it doesn’t uninstall NetBeans 6.0.1, so my Applications folder now has two versions, including two versions of Glassfish (UR1 from 6.0.1 versus UR2 in 6.1). Upon starting 6.1, it does ask if I’d like to import settings from a previous version of NetBeans; of course I would.

You are then asked to register. I never looked at registering software as important, but I’m starting to think a lot more about it. One has to provide value, for a user to register - and we’ll explore this in another blog post. I’m writing this while on a plane, so it doesn’t make sense to register, anyway.

The first thing I do? Jump to the Services tab, make a connection to MySQL (look under Drivers -> MySQL (Connector/J driver)), and play with the sakila sample database.

NetBeans IDE 6.1 does queries in a GUI!
Design a query, using a GUI

Drill down into tables, find a table name (say, store if using the sakila sample database), drill down into a row, like store_id, right-click, and select Design Query. Now, feel free to drag tables and drop them, only to find that it now helps you create an ER diagram of your tables, while helping you design an appropriate query!

NetBeans IDE 6.1 does ER diagrams too!
ER diagrams for free

Play with the database tool a lot more. It looks like its got plenty of potential. It also looks like NetBeans is a great IDE for all your web development needs (PHP included). I’m certainly going to use it a lot more, even though I’m notably a vim guy.

Open Service Tag, released under GPLv3

Monday, April 7th, 2008

Licensing tends to be a common question, when it comes to giving a talk on MySQL. More recently, some have asked me if MySQL will be relicensed under the CDDL? Some ask why we’re GPLv2 and not GPLv3 yet? And some, genuinely want to know the merits of writing for BSD-based software (PostgreSQL) or GPL-based software (MySQL).

While I am not a soothsayer, I am pretty sure we will not be relicensing MySQL under the CDDL (might make for a good April 1 joke though?). What seems like a logical progression is to probably go GPLv3, from our current GPLv2 stance.

And Sun supports the GPLv3 just as it does many other licenses. Take for example, the recently released Open Service Tag. Its released under a GPLv3 license. Contributing to it, requires signing the Sun Contributor’s Agreement (SCA), which is largely similar to MySQL’s current CLA.

So, what is Open Service Tag? Its a small application, that provides a network-based product identifier, and it speaks XML. You can tag a device, and the information automatically becomes available over a network. It looks like inventory management made easy. Read more at Steve Wilson’s blog entry, about IT asset tracking.

It runs on Linux, and Mac OS X (release notes don’t mention OS X 10.5, Leopard, but it worked on my laptop just fine), and soon it will run on Windows too.

I can envision myself using it, when my lab is setup again (still waiting for some furniture to arrive, so most computers are still in boxes), to keep track of what kind of hardware I own…

It probably helps the MySQL DBA or sys-admin keep track of large installations just as well. Asset management and tracking is important, in these days where IT budgets are being cut, and as IT becomes even more efficient (think virtualization, more cycles on newer hardware, et al). What do you currently use for asset management?

Technorati Tags: , , , ,

Zimbra puts hot backups for OSS edition to a vote

Wednesday, March 12th, 2008

One thing I’ve found limiting in Zimbra, is the fact that the hot backup is only available in the Network Edition (which costs money). I remember the pain in upgrading Zimbra, and it would have been great if there was a hot backup with an easy restore feature.

Now, they’re talking about voting for Hot Backups to be in the FOSS product. I suggest everyone using Zimbra, or thinking about using Zimbra, to write on the forum, or alternatively email them, so that hot backups make it into the Zimbra OSS edition. Trust me, it will come in handy when you’re upgrading.

Technorati Tags: , , ,

Lightning, Google Calendar, and calendering in Thunderbird

Monday, March 10th, 2008

I had this sudden urge to get my calendar maintained. Google Calendar is what I’ve been using, on-and-off, and its generally been a bit of a love/hate relationship I’ve had with it. Its good that its online, but that also makes it bad - i.e. what happens when I need to pen something down when I’m offline? It supports SMSing me reminders for events (good), it works via my mobile phone (good), there are Twitter interfaces to the calendar (good). It lacks integration from my main email client, Mozilla Thunderbird.

Why Thunderbird some might ask, and not Evolution? Its cross-platform. And if I were placing bets, I’d be betting on Thunderbird over Evolution, any day (in fact, I’m surprised Linux distributors haven’t figured this out as the easiest migration path - Firefox is shipped, but paired with Evolution). But I digress, lets focus on calendering.

There is the Mozilla Calendar Project, which creates SunBird (standalone) or Lightning (a plugin for Thunderbird). Naturally, I’ve chosen to align myself with the latter. My first snag was finding out that the add-on I downloaded, did not work on Linux x86_64. A little work on Google, showed me how to build it; a little further, and I found a contributor build of it, on the Mozilla site. So download Lightning 0.7 for Linux x86_64.


Thunderbird changes: Today Pane button on top-right, all right there is the option of the “today pane”, and bottom-left, there are two new buttons to toggle between email and calendering view

Once that was complete, Lightning offered to import my calendar entries from Evolution. I don’t know if on OS X, it will offer to import from iCal, but it seemed like a good enough feature to have - I however, did not use it, as I’d not been using Evolution before. When Thunderbird starts, you immediately notice options to change to the Calendar, or even bring out the Today Pane.

The secret sauce is however, in installing yet another Thunderbird add-on, the Provider for Google Calendar. Once that is installed, and you’ve read the notes on the GDATA Provider, and understand its limitations, you’re on your way to using Google Calendar, right in Thunderbird!


Lightning, in calendering view in Thunderbird

Its got limitations though. Google Calendar doesn’t support categories, so they don’t show. If you decide to edit/delete a recurring event, it doesn’t work (known bug), and you still need to login to the web interface. If you create a Task in Lightning, and so happen to tack it onto your calendar on Google Calendar, it just disappears (so make sure tasks are tracked in the local calendar); this is because GCal doesn’t do tasks. By default, all alarms are set to be popup’s, and not SMS messaging like I prefer. If you’re offline, it doesn’t show entries (c’mon, cache entries at the very least). This is something that I’d love, and there is work going on to make this happen.

Verdict? These add-on’s are going to stay in my Thunderbird install. There are quirks, I still have to hop on the web interface from time to time, but it looks like as long as I’m online and in Thunderbird, I’m going to be a happy camper when it comes to calendering.

Technorati Tags: , , , , , ,

Online videos, to a VCD, via Linux

Saturday, February 23rd, 2008

With the upcoming elections, there have been some most interesting videos posted on Google Video and YouTube. The opposition is broadcasting on YouTube, sitting on social networks (Anwar and PKR, are on MySpace, Friendster, Facebook). The Internet is becoming more mainstream, for elections and politicians. What does this mean for the 2008 general elections? Definitely, not a 90%+ majority for the ruling Barisan Nasional, I do hope.

Anyway, on to working with video. Lets say, you have found an interesting video on Google Video, and feel that it is your sworn duty to share it with the poor who do not have access to the Internet. Google Video, on the right hand column, allows you to download it for the Video iPod/Sony PSP. Perfect.

What about interesting videos on YouTube? Naturally, you will use youtube-dl. Beware, this software changes often, as and when YouTube changes their protocol, so check back constantly if things stop working. Getting things in .FLV format, is kind of painful, which is why you’ll use ffmpeg to transform your video: ffmpeg -i foo.flv -y foo.avi.

Now, what about creating a VCD or DVD? Whats the easiest way? Hands down, you want DeVeDe. Its available in Fedora, apparently has got some bugs in Ubuntu (something about sound going wonky). Its dead easy to use. It works with Google Video MP4’s as well as AVI files you’ve converted from ffmpeg.

Let DeVeDe do its thing (which is creating a .cue and .bin file), and then, its time to write to a CD. To create a VCD? cdrdao write –device /dev/sr0 movie.cue. I understand, K3B has got all the gizmos to create this in GUI form, but that involves installing KDE libraries, and I’m sure I can use my disk space in a more efficient way. I found HOWTO Make a video (S)VCD a handy guide.

Wait… and you’ll soon have a CD that you can pop into a DVD/VCD player and enjoy viewing.

Technorati Tags: , , , , , , ,

LDAP vs. DBMS (or migrating to fedora directory server)

Monday, February 18th, 2008

Via the Fedora Miniconf, I attended Del Elson’s talk on Migrating to Fedora Directory Server. Interesting scripts, and glue code was presented, the slides (verbose, good) are online, but there’s no video :(

Tiny amount of notes:
LDAP vs. DBMS

  • directory has one schema, one “row” type (”object”). RDBMS has many tables
  • directory => optimised for reads, slow for writes
  • directory has an adaptable and mutable schema format - good for storing information about “people”
  • think about the fact, that people usually have more than one phone number…
  • access protocol - ldap vs. sql

Technorati Tags: , , ,