Theo Verelst Diary Page

Wed Feb 6 2001, 3:33 AM

I've decided after good example to write some diary pages with toughts and events.

Oh, in case anybody fails to understand, I'd like to remind them that these pages are copyrighted, and that everything found here may not be redistributed in any other way then over this direct link without my prior consent. That includes family, christianity, and other cheats. The simple reason is that it may well be that some people have been ill informed because they've spread illegal 'copies' of my materials even with modifications. Apart from my moral judgement, that is illegal, and will be treated as such by me. Make as many references to these pages as you like, make hardcopies, but only of the whole page, including the html-references, and without changing a iota or tittel...

And if not? I won't hesitate to use legal means to correct wrong that may be done otherwise. And I am serious. I usually am. I'm not sure I could get 'attempt to grave emotional assault' out of it, but infrigement on copyright rules is serious enough. And Jesus called upon us to respect the authorities of state, so christians would of course never do such a thing. Lying, imagine that.

Previous Diary Entries | List of Diary Pages | Home Page

Wed Feb 6 2001, 3:39 AM

Considering I'm electrical engineer, and that I've both researched and worked as such for years, I'm entitled to have a informormed opinion about the subject of what makes electrical engineers tick.

In many walks of life such understanding is probably considered quite vital, such as wether a job applicant fits the bill, what stock to buy, how to lead a certain management team, how to market into a certain branch, or how to address a certain prospective costumer on a marketeers phone set.

In electrical engineering motivation plays an important role, considering it is probably the hardest study of them all, one has to have some reward in the end to engage in the hardship of making it to succeed toward a diploma. A well paid job prospect helps, the honour and glory of enrolling in the main factor which still changes the face of the globe considerably, but somehow one has to have enough motivation, maybe recognition from peers, maybe raw power, or maybe the approval of the great spiritual thing everyone sacrifices to, to receive a new sticker 'jove' in thick and thin lines or font after choice to adorn ones forehead or righthand with (sort of joking).

Finally the internal motivation is important: how satisfying is it to delve into all the mathematics it takes to solve the complicated differential equations, matrices and circular integrals it takes to understand electronical circuits, or to learn the formalisms of decent and reliable programming in a language permitting optimal use of the capabilities of machines one can design oneself ? It can be quite satisfying, supposing some ee's jump in a labatory, work here and there on this and that, and in the end a machine comes out to replace the record player, with digital perfection, and long lasting little discs as carrier, that is good to write home about, or simply to take home and use forever or until the same becomes affordable in quadro + 1 tracks, with video. Do you know how hard that is to make? 16 bits of 44.1 thousand perfect samples per second, adequately filtered, read by a laser tracking with the accuracy of way under the thin-ness of a human hair reading little dents at about a million per second, reliably, while correcting errors if they appear?

Yesterday I read a column (maybe I should write some, would one get rich that way? or should they be unread articles in some blackmailed organisations' dark areas magazines) in Intermediar, which is a well known dutch paper about computers and work and everything, where the columnist mentions the comparison between j2ee and .net, as programming environments for business applications, mainly database-like oriented. I happen to have tried the java stuff, and know at least how that roughly holds together, though I only knew the name .net, and was sort of making fun about the ideas of comparing the two, even quantitatively.

Mainly, I'm all for. Cars are compared by horsepower, curvesteadyness, suspension characteristics, model and all kinds of interior and exterior properties. Phone companies by price per minute, connections bandwidth and reliability, and maybe safeness from tapping. So spreadsheets should be by ease of use, max size of the columns and rows, computing power, memory efficiency, user interface quality, input batchability, and God knows what else, web browsers for completeness of protocol sets, responsetime, slickness of the interface, ease to install cooperation with plug-ins, etc.

And databases for their capability to deal with large databases, response speed, ease and power of interface- and operation language, richness of ordering facilities, compatibility level with known standards, price, cost of ownership and maintenance, reliability, locking features, multiuser operability, and of course data association capabilities. (my experience with the terminology and the practice is that I knew dbase4 15 years ago, programmed various high speed special purpose  databases om unix, made practically working database in my 'bwise' graphical blockwise UI package in tcl/tk up to serious data sets and apt full search response times for for instance web applications, and recently looked into sql and mysql to the point of making some datasets and querying over for instance the ms query analyser to some complexity, getting the dbms hook to work (though I don't like it seems to much like a blackbox and presents no clear motivation as to its structure), having done some benchmarking and data import export.

A flexible relational database, interwoven with a programming language at query builtup level such as in the java j2ee, has a few clear raisons d'etre, such as a flexible builtup of database structure, relational or otherwise, integration of database and programming language, standard language basis to the point of the same virtual machine on every platform, which in certain sense is almost ridiculous when it concerns speed consideratons, but good library programming and choice of interface points can make the whole beast manageable in terms of speed enough, while java directly integrates a host of interface components, including web serving and graphical components. And hopefully the vm has good enough garbage collection mechanisms built in from the basis up, which then benefit the programmer at every level, though efficiencywise, I wouldn't like to even start comparing what all that can do compared to a sensible and reasonably skilled C implementation of some problem. Factors of 10 speedup must be achievable here, I don't doubt. And with a serious programmers' approach of making a structure and decent stepwise refinement, quite bug poor and well done products are possible when one knows how the memory system and the file system and their standard access routines work, which are documentable, too.

Try and do that with the enormous java libraries when dropping and messagin between objects maybe a few people on the globe know all the details in behaviour of. I program java myself, see my dds website for instance, and some previous library pages (networking examples), so I'm not just opiniated, and I can't say I'm overwhelmed with the idea of taking the sort of programming as the highest good in contemporary software practice. Not that it isn't fun, to begin with what it has been used for by those (I think Sun) programmers from pretty much the outset I guess: to put portable little programs with good UI possibilities right into web pages. That is fun. And major and sensible motivation for a standard and uncrackable virtual machine as root of the object execution path. Oh and enourmous amounts of compatible drivers and libraries for every multi media gadget there has ever been, fine. With a linking loader, maybe ?

Yesterday I let a tcl script squeeze the juice out of 64 megabyte of collected 'ping' data of the last few months on a linux machine (about 400 MHz pentium), I wanted a uniform data structure with only the dates (in seconds from some start date), the machine name (some 12 servers), and the ping return time in milli seconds, which took maybe a few minutes of parsing and file IO, a bit slow, but alah, I didn't even try much to optimize the tcl code. Then linux gives you sorting of 2 million lines or so in what 10 seconds ? I don't rememer, but good ol unix does its jobs fine

   ~ 1 $ sort -n < pinglist > pinglist_sorted

is fine enough to get that sort of data in the rigth order. No complaints. No alert boxes. No nonsense, just a cities' phonebook on a row in no time. Getting specific lines out with extensive search with 'grep'? No problem. I guess the ide disc does 10Mb effectively per second or something, so that should be seconds. Ever though about what it takes to make the real, non-virtual machine infrastructure do an efficient pattern match a byte level? I did. Also about 15 years ago or so, when I wanted an atari ST to search a few thousand synthesizer names by wildcard patterns. Check out the 'grep' source code if you have the chance, do databases do similar jobs? Probably some can, and frankly, I didn't try how efficient the equivalent would be, but I'm certain a few thousand java objects can be wrong, as can a 100 thousand C++ or Objective C objects. And I did trie that, yes sir. At computer graphics interaction speed, years ago, before at Cern they did a nice enough project with very recognisable starting points.

Anyhow just to make clear I'm knowledgeable enough to have an informed opinion. The column dealt with the subject of efficiency, and how that can be measured, for instance with benchmarking queries, and how easy it is to go very wrong with that. Of course, when the thing tested isn't characterised first, one can do quite some guessing as to why certain responses take certain amounts of processor time. You know much work multiple processes on a multitasking machine can do? The same amount one can, minus the switching time.

At least the column more than hinted at sensible ways of looking at what goes on in computer world, including remarks like, 'the .net programmer started to get depressed' and 'the java promotor sat upstraight and regained hope his advice to his employer would not leave him in miserable schizofrenia and without a job for the rest of his life' (overdone, of course).

That at least is better than the hyped nothing one often finds, which is better than the 'we will forever rule you life listen to what the might and to be proclaimed software moloch has to prophesy to you throug this medium annex guru anex personal wizard into your wonderfull place outside the sun in out little softwared dungeon', which again is preferable over 'sich heil. Jawohl mein fuehrer .. (fill in name of favorite dwarf, tilted-over-the-horse insequrity complex projecting civil servant). Heil ... , und naturlich habe ich es nicht gewust, und befehl is immer befehl, und ordnung muss sein.'. As always. Fuck them.