December 2005

eMusic/J 0.14 is out

Run to your nearest browser and get your copy now!.

I didn’t get the drop directory stuff I hoped done, but the main thing I did get done is the application icon (well, James did that a while back, I just had to find the time to put it in), and a system tray icon. The program can minimise to that icon, so it can just be left running happily in the background, downloading things, out of the way. It also changes colour to indicate whether or not something is being downloaded. Fancy, huh?

The other thing of significance in it is I’ve modified the way a bit of the GUI system works internally. You won’t really notice it, or care, but it makes many things a lot easier development-wise (for the technically inclined, it now has the ability to queue up GUI events to have them happen at a later time. Mostly this means that if it gets asked to display something before the GUI has come up, such as an error, instead of being discarded it gets displayed once the GUI is running. Told you you wouldn’t care).

Oh, and I started on the website redesign for it, too. That’ll get finished some time.

eMusic/J

Comments (0)

Permalink

New eMusic/J page

Hopefully tomorrow I’ll find some time to put a bit of work into eMusic/J. In preperation for tidying up the webpage, I’ve moved it to its own group on the wiki, so there is a new URL: http://www.kallisti.net.nz/EMusicJ. This will make it easier to split the page into parts, the homepage having the pertinent information and download information, etc, along with sections for things like old versions and proper documentation.

Documentation is needed for two reasons: one is that part of my 1.0 goal is to have the ‘help’ menu actually be useful, so I need to write something up and have it embedded into the program. The other is that in the next version (or maybe the one following, I’ll see how hard it is), I want to have support for a drop directory, and unlike the rest of the program (I hope), that is something that could do with actual explaining.

eMusic/J

Comments (0)

Permalink

Neural Network Learning Tastes

A little project I’m working on at the moment: creating a neural network that will (maybe) learn the aesthetic tastes of a person.

There are two parts to this, the first creates tree-like shapes (what Richard Dawkins calls biomorphs in his book The Blind Watchmaker). Here is an online demo of these biomorphs. My version is going to allow for significantly more complex biomorphs.

When interacting with the program, the user selects the biomorphs that they like, and that is used as the progenitor of the next batch. Mutation is then applied to these, and the set of modified versions is presented to the user to select the next ‘best’ one.

The other part of this program is the neural network. It will be trained on the user’s input and selections, and after a while it will be allowed to run on its own, selecting what it thinks is the best based on its training. After running for a while (several dozen generations or so), the results will be displayed.

The point of this (aside from the fun of implementing it) is to see how well the neural network can pick up the ’styles’ that the user was going for, and thus to see if it can end up knowing what people like.

Here are the current details on the design of this. These designs are getting updated over time. Comments/suggestions/whatever are welcome.

Artificial Intelligence
Comp Sci
Science

Comments (4)

Permalink

The Unmaking of IBM

I’ve just finished reading Big Blues: The Unmaking of IBM, by Paul Carroll. Published in 1993, it’s a bit out of date now, but it provides an interesting look into the mid-80’s to early-90’s IBM. This was a time when it went from being the largest US company, to posting a loss greater than the value of the second largest.

The points made in the book as to the cause of IBM’s troubles were made extremely clearly, and over and over. It’s hard to tell if that’s because they’re the issues that author identified and wanted to make sure the reader knew that’s what they were, or if it was that those problems were so institutional that they came up all the time. Based on the anecdotes and descriptions, I think I’m erring toward the latter.

There are a couple of major points that, according to the author, were largely the cause of the company’s downfall:

  • Massive beaurocracy causing even little things to happen slowly,
  • An extreme unwillingness to allow change, or even see that different markets behave in different ways

These never became such problems when the company had an 80-90% market share with it’s mainframe systems. But when cheap personal computers were being developed by much smaller, more agile companies, the competition in a new field meant that these problems became devastating, as IBM couldn’t change to make itself fit the new market, and couldn’t see that it had to. The main difference between these two types of customers is that in the mainframe market, IBM could pretty much dictate what the consumer would get. In the desktop market, costs mattered a lot more than a name brand.

There were some truely impressive examples of the beaurocracy, and the struggles to fight it. It was found that often the only times that a department did well was when it was separated from the rest of the company. Two main examples of this were the PC department (remember the terms ‘IBM XT/AT/PC’?), and the Lexington typewriters department (later Lexmark printers). However, at least in the case of the first one, once it managed to succeed, it was reabsorbed back into the fold, killing it. There were also many stories of good plans that were made to travel the length and breadth of the company, but all it took was one person feeling like it was stepping on their turf, or had the potential to cut into their product sales, and it was effectively stalled.

The company intertia is something that seems to be self evident, a large company can’t usually turn on a dime. However, if the book is remotely accurate, time and time again the culture got in the way. Things like refusing to sell computers at low prices to make it competitive, simply because it’s unthinkable that mainframe hardware profit margins can’t be made on consumer-level hardware also. Another major blind spot was that it wasn’t until many years of being pounded by competitors that the management started to realise that the IBM stamp wouldn’t be guarenteed to sell hardware to consumers the same was it would to corporate clients.

Another interesting part of the book deals with the relationship between IBM and Microsoft, particularly the mismanagement dealing with the production of OS/2.

The only problem I had with the book, or rather writing style, was that it is prone to having a new chapter restart the timeline back in the 80’s, which makes it hard to keep a mental timeline of all the events. However, I suspect that the alternative of having it go purely sequential would be even worse, as there was a lot going on all the time, and following mostly logical paths as it does is probably the best way.

It’s unfortunate that the book was written so long ago, I’d quite like to see something in similar detail about the change since then, from a hardware company into a services company that is actually starting to become significant again. There are a few points in the book where it is dealing with things that are being developed in early ‘93, and uses names that I’ve never heard of, so I expect that they’ve vanished the same way so many other IBM projects just a short time earlier did.

Recommended reading for anyone with a bit of an interest in computer industry history.

Books
Computers

Comments (1)

Permalink

Making webalizer do DNS lookups

The default install of Webalizer on Debian doesn’t perform DNS lookups on the log files, although it is capable of it. There are three ways of getting Webalizer to do this, in rough order of recommendedness: 1) make your webserver do the lookups when it writes the logfiles (this makes your webserver slower, and has been a source of vulnerabilities in the past), 2) use logresolve to pre-process your log files (logresolve isn’t included in Debian sarge), and 3) tell webalizer to do it.

Making webalizer do it is pretty easy, simply add lines similar to the following in /etc/webalizer.conf:

DNSCache /var/log/apache2/dns_cache.db
DNSChildren 5


The first tells it where to put it’s cache file, the second tells it how many resolutions to do at once. The higher, the faster, but also the higher load on the system.

If you add these lines to the config, keep in mind that only new entries will be updated, and so it won’t be until the next month rolls around that you have a complete statistics by domain name.

Linux
Sysadmin

Comments (0)

Permalink

eMusic/J status

The purpose of the emusicj category is to give me a place to put information on the development and releases of eMusic/J (a Java-based download manager for eMusic aimed at Linux users).

If you are interested in seeing what’s new and shiny in the new versions, then keep an eye on this. If you aren’t too concerned, then just wait for the program to notify you of a new version.

Anyway, a bit of detail about where it stands at the moment. I’m slowly hoping to get it to a 1.0 release, with all the features that are detailed on the project page, and probably a few more.

The next version (0.14) will hopefully have a status tray icon, now that I have a preliminary application icon to play with.

More will be put into this category as stuff happens.

Computers
Software
eMusic/J

Comments (0)

Permalink

Converting an ATX power supply into a bench power supply

So I’ve needed a good bench power supply in order to have something I can quickly hook up to the circuits I’ve been planning on (and started!) building.

It turned out that I had a 230W old ATX PSU lying around, so I converted that. There are already basic instructions for this on the net, so I’ll just detail the, fairly minor, differences in my situation. No photos because I don’t have a camera.

The one major difference I had was that the wire colours differed on mine. After giving up looking for them on the PCB, I found a page that gives the pinout for the PSU connection to the motherboard, and used that to work it out from the plug I’d chopped off. Of course, that was still the hard way. After doing all that I found the colours were actually written on top of the supply, with the corresponding voltage and amperage rating.

The other major difference was that my PSU doesn’t seem to need a load on it all the time, so a high-wattage resistor is unnecessary.

So now I have a very handy PSU sitting on my work desk, allowing banana plug connections to +12, +5, +3.3 and GND. Due to a miscalculation about the amount of sticking-out on the inside of the socket, I can’t put the -5 or -12V lines on without doing something about the fan.

One thing to be aware of, my PSU appears to be quite underpowered when it comes to the voltage (not just the crappy wattage). The voltages seem to be about 30% down on what they should be. The 12V actually produces more like 9V, and the 5V closer to 4V. Given these PSUs aren’t supposed to be too consistent anyway, you should be running them through a voltage regulator, say bringing a 12V input down to 5V or so to drive the circuit, that will give plenty of extra to play with.

(PS: fr1st ps0t!)

(Comments disabled because this picks up so much spam)

Computers
Electronics
Hardware

Comments (1)

Permalink