I like the definition of ‘self-love’ that a friend of mine came up with the other day – it is loving yourself enough so that you don’t take shit from anyone. Then, there is this other saying that goes – shit rolls down-hill. Well, obviously something happened today but I shan’t go into too many details. Suffice to say, it was good that the other person walked away because I most certainly was not going to. Let us hope that it just stays that way.
Debian Live
Just discovered the debian live project. It is a sub-project from debian that is focused on making it easy to create live debian systems that either run off a CD-ROM, USB disk, or network boot image. It comes with various tools that make it so easy to work with building specialised ‘live’ debian images.
Before there were such simple tools to use, I used to create my own live distributions by hand. So, I have an appreciation of how much work these tools actually save me now. Of course, doing it by hand gave me insights into the Linux boot process that I would have never learned about otherwise. I have just tested the live ‘rescue’ image and it seems to work fine.
Recently, I have wanted to make a live ‘rescue’ image to use at home. Since I am maintaining a bunch of machines now, most of which are running on fairly old hardware, I often run into minor problems that require maintenance. Last week, one of my machines refused to boot up because the EXT3 journal got corrupted. So, I had to pull out the harddisk, plug it into an external USB adaptor and fix the problem on my main machine before plugging it back in and turning it back on. With a debian live rescue disk on a thumb drive, I can just boot off the drive to do all kinds of maintenance stuff.
I will test out the debian live network images next. If it works, I will just use those to boot up my home cluster instead. The advantage of using a debian live image is that it is compressed using squashfs, which reduces the bandwidth requirements and actually makes the system read-only and safe from external corruptive influences.
I just wish that they would make it easy to add software to an existing live system. This can be done by using fuse along with additional modular squashfs images like they do in slax live systems. Maybe it is already available but I’ll need to dig around a bit to find it.
PS: There is a way to make a ‘live-snapshot’ that will be automatically mounted during the next boot. This will work just as well.
Reading Phase
I have this habit of going through certain activity phases in my life. At present, I seem to be going through a reading phase, where all I do is actively read. I have just finished another stellar book by Alastair Reynolds – House of Suns. While it was a little confusing at first, the cause of the confusion became obvious later and pulls the reader in as a participant in the narrative. In fact, it has been called “mind-boggling” and “mind-bending” by several reviewers. I totally concur.
The novel is divided into eight parts, with the first chapter of each part taking the form of a narrative flash-back to Abigail Gentian’s early life (set roughly 1,000 years from now), before the cloning and the creation of the Gentian Line. Every chapter is narrated from the first-person perspective, shifting between three individuals; Abigail Gentian herself (in the flashbacks) and two clones called Campion and Purslane who are engaged in a relationship which is frowned upon, even punishable, by the Line.
While the story may have been set in a science-fiction back-drop, all good science-fiction is less about the science and more about the story. This story was one about a love, an imperfect one, but one that managed to last through thousands and millions of years. In fact, towards the end of the story, one of our main characters literally pursued the love of his life through seventy-seven thousand years, beyond the end of the galaxy. Literally.
I loved this book and I have come to realise that the best place to get scifi books in Malaysia is actually at Kinokuniya. I’ve got a few more on my shelf, to go through. I hope that I would be able to get through a couple more this week.
Perception is False
Perceptions are often untrue.
I’ve often lived with that belief that perceptions, especially general perceptions, are generally untrue. Today, I had the opportunity to meet someone who was showing off a new product in Malaysia. The product was a special mechanism to protect CD/DVD media from scratches. I won’t go into how the thing actually works as I’m not sure if I’m allowed to talk freely about it. However, after being shown the product, I pointed out that it was protecting the wrong side of the disc. Everyone stared at me (me and my big mouth).
You see, the product is designed to protect the clear side of the disc, which often gets scratched if we do not properly care for our discs (or if there are any pesky nieces/nephews around). Anyway, I merely pointed out that the clear plastic side does not actually need protection. What needs protection is the side with the art-work on it. To understand why, all you need to do is go back to how these optical discs work. Essentially, the side that actually holds the data is the painted side, not the plastic side.
If the plastic side is scratched, it will still work fine in most disc drives. This is because of special fault tolerant mechanisms that are built into the drives. As long as the errors stay below a certain bit error rate threshold, everything is fine and dandy. Even if it is badly scratched, a good polish will help recover the readability of the data. If you visit the pre-owned game stores in the UK, they actually grind/polish the disc before selling it to you. However, if the art-work side is scratched, it is nigh impossible to recover the data. It is gone forever.
However, I did point out that the product could still possible sell because it solves a perceived problem – not a real one. Most people do not know that they actually need to protect the art-work side and not the plastic side. So, we asked how much the product was going to sell for. Turns out that it will cost much more than a pirated disc. That’s when I kept my mouth shut. Nobody in Malaysia is going to spend money on a disc protection system that costs more than purchasing a pirated disc.
Net Boot
I have just set up my disk-less compute servers yesterday. These compute servers were configured to boot from the network, pick up the operating system from a network server and save all their files on a network file-system. I was surprisingly easy to set up from a Debian base system. I am really glad that I have so many spare machines to toy around with.
I plan to put in a couple of verilog simulators. I wonder if distcc could be modified to accommodate these simulators as well. I will experiment with this and report my findings later.
So, these compute servers will boot up and run distcc that I mentioned earlier. I did not need to do much except to configure dd-wrt to provide the dhcp-boot option. It was just as simple configuring freenas to provide the necessary storage and network service. First time I got to fool around with PXE – fun!
Now that I have a number of machines, I need a way to keep administer and track them all. For administration, I am currently testing out dish, dsh, clusterssh, pssh and kanif distributed shells. There are advantages and disadvantages of each and I kind of think that Kanif (from INRIA) is more suitable for my use.
As for tracking them all, I have actually just set up a wiki on my local home network. I plan to use the wiki to not just track the servers but to document everything I do at home. This includes any sort of configuration and customisations that I perform on the home network so that I have a easy place to refer to in the future, in case I need to replicate the work at any time.
You know what I’ve started to realise? Computing takes on a whole new dimension when you have a dozen machines running on a home network. There is just so much more that can be done with that power of computing.
Playing with distcc
I have been thinking of what to do with the number of computer boards that I have sitting at home with me. I have a number of VIA low-power systems that are just sitting on the shelf. I’ve used one for the file-server and another for playing with virtual servers. There are still a number of these boards and I thought that it might be fun to play with some sort of cluster. However, fun it may be to play with a cluster, there has to be some sort of reason to build it.
Computing clusters are sometimes built to facilitate certain computational tasks by taking some load off the work machine. Rendering 3D graphics is fairly compute intensive and some people have built home clusters as mini render-farms. However, I don’t do any graphics work. Another operation that often consumes a lot of compute cycles is software compilation. While I don’t do a lot of kernel compilations, I was interested to investigate this since it was something fairly commonly done on Linux compute clusters.
So, I decided to install distcc and experiment with it. This tool is extremely simple to use as it can masquerade as regular GCC while shipping off the work to remote computers. All that is needed on these remote computers is a copy of distcc and GCC. Setting it up took all of 5 minutes and then it was ready to run. I started a kernel compile and saw the compilation tasks spawning on the remote computers. Voila. It’s just that simple. Cross compilations are not a problem either, which would probably help when I want to compile programmes for embedded processors.
Talking about embedded processors, I do quite a bit of chip design work and chip simulations are notoriously compute intensive. However, the simulators that I use are all single threaded and would not benefit much from a compute cluster. Hold on. It may not be useful for running single threaded simulations on multiple compute systems, it is certainly possible to run multiple simulation operations on multiple compute systems. This would be very useful for collecting performance data. Useful.
However, as these compute clusters would be rarely used, it may be helpful to build them as on-demand machines that can be turned on when needed. Time to toy with that instead.
PS: I love having a bunch of computers to play with. Woo hoo!
Sony's Experiment
Seems that Sony Malaysia is embarking on a rather bold experiment in combating piracy. According to the article in TheStar, the company is going to test some alternative retail channels in order to encourage more people to buy original sony CDs. They will start selling a few select compilation albums for only RM16.90 each. However, the main thing that caught my eye were the retail channels – pasar malam, newsstands, petrol kiosks and convenience stores.
To me, this is a great idea. Adapting local retail channels for your products is a smart way of trying to increase sales. While some of these channels (such as the pasar malam) is a fairly local thing, it will potentially put the Sony wares in direct competition with their pirated brethren. You see, these night markets are filled with pirated discs already. Selling an original product would potentially help them recoup some of the dollars lost to piracy. I think that the lesson to be learned is that making a little less money is better than not making any at all.
Anyway, according to the article, Sony has already tried the concept in Thailand and it seems to be well received. I do hope that it works out for them in Malaysia too. Hopefully, they will then extend the entire concept to more product lines, particularly local music and films. I highly doubt that they would peddle Michael Jackson’s greatest hits in a pasar malam but I could easily be proven wrong.
Sony’s new experiment could serve as a test case for a bunch of other things.