Building a custom CentOS 7 kickstart disc, part 1

Note: this series of articles applies to CentOS 7; for CentOS 6, see this series.

CentOS (and of course, it’s upstream distro, Red Hat Enterprise Linux) has an extremely powerful, but somewhat poorly documented, tool for rapidly deploying machines and managing their configuration: kickstart. Kickstart lets you build a custom installation that can run hands-free. So not only is the installation quick and easy for you, you can be confident that your machines are configured exactly the way you want them to be.

Continue reading Building a custom CentOS 7 kickstart disc, part 1

A review of “site tour” Javascript libraries

I recently had a need to display a “site tour” to point out important features to our users. I was happy to discover that there are some very easy-to-use libraries out there for this purpose. However, I found that each library was ultimately lacking at least one vital feature. I wish these authors would put their heads together and build the ultimate site tour.

Until they do, I present my review of a few of the leading candidates

Continue reading A review of “site tour” Javascript libraries

XBMC: hardware selection

I recently put together an XBMC system to replace an aging Apple TV (first gen). It was my interest in the Raspberry Pi that brought me to the idea of using XBMC, although ultimately, I did not end up going with a Raspberry Pi based system (I use one for other things around the house, but not the home theater).

I thought I’d share some of the decisions I made so others could benefit.

Continue reading XBMC: hardware selection

Saving and restoring qooxdoo table column sizes, visibility, and order

I was working on a music library management application built on qooxdoo, and I’ve always liked the way iTunes manages columns in its tables. You can hide and show columns, rearrange them, and resize them, and iTunes will remember your settings when you launch it next.

With a little work, you can do the same with a qooxdoo table. You just need to gather the column state, serialize it, and write it to a cookie whenever the user changes column state.

Then you need to load the state when the table appears:

You run this code at specific events in the table lifecycle:

Try it in the playground, or see a basic class implementation below: