Sunday, December 18, 2005

nLite

I am adding a whole bunch of new computers to my business and having the experience of just how mind numbing it is to install Windows over and over again, inputting the same boring questions (yet funny how the Windows Setup wants you to pretend how utterly critical and exciting each question it asks you is), I decided to search for some way to automate this process of which I knew can be done having had some MSCE background.

I found out about nLite probably through some kind of google search, although at this time I cannot recall how. Seems to perfectly fit the bill in several respects, the main one it is NOT from Microsoft, which is important considering how manipulative Microsoft is with its pretentions of controlling OS markets.

I highly recommend this program, and even though it seems to be perpetually in RC stage, it worked for me. I had to scrap RC3 for RC1 because RC3 would not finish (but not hang entirely) its build process.

I had some bad experiences trying to incorporate the latest x64 drivers, but that is not unexpected considering I am really going for state of the art in O/S (Windows XP x64) for my new batch of computers. I will relate to that in my next post (hey... isn't this supposed to be a programmers journal? oh well).

Friday, December 09, 2005

Trial and tribulations with BIOS chip

Even though I consider myself to be foremost a programmer, I am also a systems manager. I like to build computers and manage networks, and every self respecting programmer should be able to build his own system.

Anyway, I am planning to migrate my main tool of trade, a Dell Inspiron 8000 to a Shuttle XPC. I intend to sacrifice some portability (actually quite a bit of portability) for a really powerful desktop system, at least one not easily matched by a laptop, much less a cost efective one.

So I ordered a brand new Shuttle XPC SN25P, with a Dual Core Athlon, 2GB of RAM dual monitor PCI-E card, dual Raptors SATA drives, etc, etc. I finally got all the components last week but after carefully putting it all together it wouldn't start. It wouldn't even post :(

After some basic troubleshooting I determined that my problem resided in a corrupt BIOS chip. By, reading and participating in the Sudhian Forums I got the feeling that Shuttle XPC systems tend to fail a lot in regard with their BIOS chip corruption. It makes me wonder why in this day and age of fabulous flash memory, we still have to struggle with such archaic flash BIOS. Why can't the motherboard manufacturers design a motherboard that uses a Compact Flash card, or an SD flash card in place of a BIOS chip? That way these cards can be easily programmed or "burned" using ordinary USB drives, or card readers. Granted, there would still be needed an elementary BIOS to read from these cards, but these could be very very basic and hardly would ever need reprogramming.

Well, I tried reprogramming my corrupt Shuttle BIOS chip with another motherboard using the hot flashing technique, and after endless burnings of many failed CD boot disks with the required files, I discovered they of different make. One uses Award (the Shuttle) while the other uses AMI, grrr. Oh well. I will try to get a new BIOS chip from Shuttle and if they won't send me one, I will need to RMA the whole barebone system. Ah such a nicely designed piece of hardware laid to waste because of a stupid easily corruptable BIOS chip. No wonder the BIOS Saviour thingy is getting to be so indispensible!

Friday, December 02, 2005

Updating Aggregate Data on MSSQL 2000

Ok, this is one of those little things that I keep forgetting how to do. So its the perfect new entry for my programmer's blog :

How do you update aggregate data from another table (or view).

Here is the example:

update tablename set newaggregatevalue=(select aggregatefunction(field) from tblX where groupbyfield=tablename.fieldtogroupby)

The important thing to remember is that you can have a where clause referencing a field from the table that is going to be updated.

I am not sure if this is how you can also do it in mysql, I sure hope so.

I start my programmer's journal

I have been programming on and off for several decades now. Some of the techniques stick with me of course but as languages develop and progress, one must learn particular ways to do things and these particulars tend to be quickly forgotten for a programmer like me who doesn't dedicate all of his time to it (my main job is comic book retailing).


Thus the purpose of this blog. I plan to record here those little tricks that must be learned sometimes the hard way and that are easily forgotten, and maybe on the way help some other googlers finding these exact same solutions. I had considered implementing my own blog software but I am firm believer of avoiding reinventing the wheel. And this is just so much more easier and simpler, it allows me to concentrate on what I really need to be doing instead of wasting so much time implementing a whole new set of web software.


My language of choice is Delphi because I have always loved Pascal, even though I don't agree as to how Borland implements some of its object oriented programming to Pascal I guess I can bear it. The way it has tried to force variants is particularly ackward and here is were a less strict language like PHP shines. The problem with PHP of course is that it is geared towards scripting but if PHP had a good IDE and compiler like Delphi maybe I would switch entirely (maybe it already does, and I haven't had the time to explore it).


My main programming work deals with databases and here I use MS SQL Server 2000, although my final goal is to migrate to MySQL all of my databases (and hopefully also to Linux via Kylix!). That is why all my Delphi database development is done using DBExpress. The dbexpress drivers I am using are from Core Labs, which I found after a bit of experimenting to be the most stable. Also I use Infopower 4000 components, and for my Delphi internet tricks I use Indy 10.