Oct 112011
 

Yesterday, I watched Terminator Salvation, the latest movie in the Terminator franchise.

Today,  I am reading in the news about an attempt to reconstruct visual images from MRI brain scans.

I am also reading about US military drones hacked by a virus of unknown origin and purpose.

All of which makes me wonder just how close we are actually to the kind of dystopian future depicted by the Terminator movies.

 Posted by at 8:08 pm
Sep 062011
 

It has been a while since I did anything in machine language. Until this past weekend, that is, when I spent a fair bit of time starting at disassembled code with a debugger.

Last week, I upgraded my Sony Ericsson smartphone to the latest version of its operating system. The upgrade process failed on my main computer when, after updated USB drivers for the phone were downloaded, they failed to install. The problem was not specific to the phone: all driver installations failed, with a not very informative code (0xC0000142, which just means that the application failed to initialize.)

Using the very helpful ProcMon utility from sysinternals (now owned by Microsoft) I managed to identify that it was a process named drvinst.exe that failed. This process is invoked automatically by the system every time a USB device is inserted, and also during device driver installations. So why did it fail?

I downloaded the latest Windows debugger (windbg.exe) from Microsoft; this debugger allows me to do things like debug child processes spawned by a parent process. (I later learned that drvinst.exe actually has a feature whereas it waits for a debugger after startup, to help with driver installation debugging; but chances are that I would not have been able to make much use of this feature, as the failure occurred before drvinst.exe actually started to execute its own code.) I attached the debugger to the DCOM service process (which is the one that spawns copies of drvinst.exe.) I was able to determine that it was during the initial process setup stage that this process failed, when it was attempting to attach to the gdi32.dll system library.

I still have no idea why this happens. But with the help of the debugger, I was able to tinker with this process, changing a processor register’s value at just the right spot, allowing it to continue. This inconvenient but workable process allowed me to install drivers for my phone and also updated drivers for my wireless mouse from Microsoft Update.

Perhaps the most incomprehensible bit is that the same thing works fine on an essentially identical computer. The actual failure occurs inside a kernel subroutine (undocumented system call 123Ah, called from GdiDllInitialize in gdi32.dll) that I cannot debug without a kernel debugger (and since I am trying not to mess my machine up too much, I opted not to do kernel debugging). That subroutine does not appear to be doing anything particularly magical. I checked and all relevant files and Registry settings are identical on the two machines. So it remains a mystery for now… nonetheless, it was educational. I learned a lot about driver installation in Windows 7, about process startup, and incidentally, about the ReactOS project whose open source equivalents to the relevant system components helped me a great deal to understand what was going on.

 Posted by at 8:13 pm
Aug 272011
 

I never thought Apple computers were hip. Every so often, I thought about buying Apple hardware, but if I did so, I’d want a development system, so my shopping cart at apple.ca rapidly ballooned to some 2,000 dollars… by which time I inevitably realized that I’d be buying expensive toys that would become obsolete long before I’d find the time needed to become proficient with Apple’s development tools.

And now here is an interesting article, from the Ottawa Citizen no less, elaborating on something that I felt all along: that despite its hip image, what Apple sold to the masses all along was really mediocrity.

Of course this probably means that I am not one of the cool kids, but if that is the case, so be it… life is way too short to worry about coolness.

 Posted by at 8:11 pm
Aug 172011
 

I am not usually in the business of recommending software or hardware products, and it’s certainly not something anyone pays me to do… but recently, I began using two products, both of which have exceptional value, even though one came free of charge and the other cost only 150 dollars.

The free product is Secunia’s Personal Software Inspector (PSI), a software application that turned from something I never heard about into something I cannot live without virtually overnight. It is an application that keeps tabs on all the software installed on your computer and lets you know if any of them are out of date and require updates. Like antivirus software, PSI sits quietly in the background most of the time, but it pops up an unobtrusive warning whenever a new update becomes available, and even offers a direct link to the manufacturer’s download site. It is nice, incredibly useful, it recognizes hundreds of installed applications, and, well, it works as it is supposed to and doesn’t cost a penny.

The product I paid money for is a Cisco RV042 small business router. It does what small business routers do, connects your internal network to an external (DSL, cable, etc.) Internet connection. What makes it special is that it allows your internal network to be connected to two external connections at the same time, and it performs dynamic load balancing and failover functions between the two. I now set up my network architecture to take full advantage of it… and in the coming days, it will be working overtime, as I am planning a major change to my DSL service which will likely involve some unpredictable downtime. The router has other useful functions, too, not the least of which is that it can act as a VPN server, allowing a remote computer to connect to the internal network. The best part is that, like Secunia’s software, it simply works as advertised.

 Posted by at 8:47 pm
Aug 122011
 

Back when I was learning the elementary basics of FORTRAN programming in Hungary in the 1970s, I frequently heard an urban legend according to which the sorry state of computer science in the East Bloc was a result of Stalin’s suspicious attitude towards cybernetics, which he considered a kind of intellectual swindlery from the decadent West. It seemed to make sense, neglecting of course the fact that the technological gap between East and West was widening, and that back in the 1950s, Soviet computers compared favorably to Western machines; and that it was only in the 1960s that a slow, painful decline began, as the Soviets began to rely increasingly on stolen Western technology.

Nonetheless, it appears that Stalin was right after all, insofar as cybernetics is concerned. I always thought that cybernetics was more or less synonymous with computer science, although I really have not given it much thought lately, as the term largely fell into disuse anyway. But now, I am reading an intriguing book titled “The Cybernetic Brain: Sketches of Another Future” by Andrew Pickering, and I am amazed. For instance, until now I never heard of Project Cybersyn, a project conceived by British cyberneticists to create the ultimate centrally planned economy for socialist Chile in the early 1970s, complete with a futuristic control room. No wonder Allende’s regime failed miserably! The only thing I cannot decide is which was greater: the arrogance or dishonesty of those intellectuals who created this project. A project that, incidentally, also carried a considerable potential for misuse, as evidenced by the fact that its creators received invitations from other repressive regimes to implement similar systems.


Stalin may have been one of the most prolific mass murderers in history, but he wasn’t stupid. His suspicions concerning cybernetics may have been right on the money.

 Posted by at 3:03 pm
Jul 122011
 

I was trying to resolve a tricky problem today with the domain name system on one of my servers. One possibility was that a broken root server might have been responsible for the faulty behavior. So I began reading about broken root servers. Reading up on this topic, I happened upon an article published a few years ago discussing the pros and cons of internationalizing the Internet’s numbering authority. So I went to Wikipedia to read up about the current status of ICANN. This led me to another article about the proposed Interplanetary Internet, and about delay-tolerant networking in general. Soon I found myself reading a variety of articles on the history of computing, including the legendary decline of once famous companies like Data General and Digital… and eventually, after reading about early computer architectures and calculators, I was staring at an article discussing the early inventions of Hero of Alexandria, who indeed had a steam reaction engine and another invention that used expanding hot air to displace water which then opened church doors, two inventions that are often confused these days, leading many to believe that Hero’s engine was capable of useful work.

Unfortunately, I am not capable of useful work when I get lost like this on Wikipedia. My problem with DNS remains unsolved.

 Posted by at 3:18 pm
Jul 082011
 

Today, I received a phone call from 1-510-943-3040.

A gentleman with an Asian accent informed me that he is from the MS Windows Service Department (or whatever) and that in the last 30 days, they received repeat warnings from my computer about some malware attack.

I played along for a minute or two… but when the gentleman asked me to turn on my computer, I just couldn’t any longer. Still holding back my anger, I first explained to him that right now I am staring at a bookshelf containing a number of books I wrote about C++ and Windows programming; that I’ve been a computer professional since the 1970s (true, I received my first professional contract at the tender age of 16 in 1979)… and then, in language more rude I am afraid, I also told him that they are nothing but crooks and criminals, and that he should get off my f…ing phone.

The insolence!

 Posted by at 9:45 pm
Jul 072011
 

This morning my main server greeted me with an unexpected and unpleasant surprise: it no longer recognized its video card. This problem has happened before (removing and reinserting the video card fixed it) but this time around, I decided that rather than investing the time into fixing the old server, I should finally complete the setup of my new server, which has been in a half-finished state for months.

Well, to make a long story short, I am now writing this using the brand spanking new server, and just about everything works… but it was a pretty much non-stop 15 hours and I am tired like a horse. A few more hours to go tomorrow, fixing things like temperature sensor drivers or the UPS software.

Groan.

 Posted by at 2:57 am
Jul 042011
 

Many years ago, I once bought a CD changer: a standard form factor internal CD-ROM drive that could “swallow” four CDs at a time, which then all appeared under different drive letters.

One of the most infuriating things about Windows (NT 4.0 at the time) was that every once in a while, when a program enumerated all drives, it caused the drive to needlessly cycle through the four CDs: clickety-click, zoom, zoom, clickety-click, zoom, zoom, clickety-click, zoom, zoom, clickety-click, zoom, zoom, taking its sweet time.

I no longer use that CD changer, but I do have several external hard drives permanently hooked up to my computer. They are Western Digital MyBook drives, which spin down after some minutes of inactivity. And… you guessed it, every once in a while, say when I am running an installer, stupid Windows spins them all up, sequentially of course, to consume as much time as possible.

I wonder if Microsoft will ever acknowledge this as an issue and fix it. Based on past experience, I am not holding my breath.

 Posted by at 1:10 pm
Jul 022011
 

Yesterday, Intel lost the bid for the patent assets of defunct Canadian company Nortel, despite joining forces with Google.

Google bid some odd amounts; for instance, at one point they bid $1,902,160,540.

The digits happen to be those of Brun’s constant: B2 = 1.90216058…

Brun’s constant is the sum of the reciprocals of twin primes. B2 = (1/3 + 1/5) + (1/5 + 1/7) + (1/11 + 1/13) + … According to Brun’s theorem, this sum converges. The limit of the sum is Brun’s constant.

A professor of mathematics named Thomas Nicely once used a group of computers to calculate twin primes up to 1e14, computing Brun’s constant among other things.

At one point, Nicely’s computations failed. After eliminating other sources of error, Nicely concluded that the problem was a fault in the new Pentium processors present in some recently acquired computers in the group.

Nicely notified Intel, but it wasn’t until after a public relations disaster that Intel finally responded the way they should have in the first place, offering to replace all affected processors. This cost Intel $475 million.

Who knows, if they still had that extra $475 million cash in their pockets, they could have bid more and won yesterday.

 Posted by at 10:21 pm
Jun 292011
 

Looks like Facebook is having trouble grabbing my blog entries. It stopped a while ago… when I reset the blog settings on Facebook, it downloaded the latest, but then it stopped again.

I’ll try to reset it one more time but if it doesn’t work… hey, blogs were meant to be write-only anyway. I am yelling at the world, I don’t necessarily expect the world (or even my close circle of friends) to yell back.

Still, one would think that Facebook, with its fancy, shiny new data center and all that, would be a little more robust.

 Posted by at 5:16 pm
Jun 022011
 

Although the Chinese are protesting loudly, too loudly perhaps, I have no reason to question the credibility of Google’s claim that recent attacks targeted at high-profile Gmail accounts were, in fact, coming from China. As a matter of fact, I can confirm from my own experience that a clear majority of automated ‘bot attacks intercepted by my server originate from Chinese IP addresses (here is a recent small sample of 14 attempts: 5 came from China, 2 from the US, 1 each from Japan, Bulgaria, Thailand, Ecuador, Poland, Singapore and Brazil; a previous data set of 15 attempts included 6 from China and 1 from Hong Kong). Which is why I thought it was high time for the Pentagon to declare publicly that hacking can constitute an act of war.

 Posted by at 1:08 pm
May 312011
 

One of the biggest challenges in our research of the Pioneer Anomaly was the recovery of old mission data. It is purely by chance that most of the mission data could be recovered; documents were saved from the dumpster, data was read from deteriorating tapes, old formats were reconstructed using fragmented information. If only there had been a dedicated effort to save all raw mission data, our job would have been much easier.

This is why I am reading it with alarm that there are currently no plans to save all the raw data from the Tevatron. This is really inexcusable. So what if the data are 20 petabytes? In this day and age, even that is not excessive… a petabyte is just over 300 3 TB hard drives, which are the highest capacity drives currently no the market. If I can afford to have more than 0.03 petabytes of storage here in my home office, surely the US Government can find a way to fund the purchase and maintenance of a data storage facility with a few thousand hard drives, in order to preserve knowledge that American taxpayers payed many millions of dollars to build in the first place.

 Posted by at 3:37 pm
Feb 152011
 

Here’s a useful unit of measure that I just found out about, thanks to Bruce Schneier’s security blog: it’s called a micromort, a one-in-a-million probability of death. Curiously, according to the Wikipedia, your chances of dying on a train due to an accident are the same as your chances of dying due to cosmic radiation received while flying on a jet: 1 micromort every six thousand miles.

 Posted by at 3:22 pm
Jan 252011
 

The other day, I saw a report on the CBC about increasingly sophisticated methods thieves use to steal credit and bank card numbers. They showed, for instance, how a thief can easily grab a store card reader when the clerk is not looking, replacing it with a modified reader that steals card numbers and PIN codes.

That such thefts can happen in the first place, however, I attribute to the criminal negligence of the financial institutions involved. There is no question about it, when it’s important to a corporation, they certainly find ways to implement cryptographically secure methods to deny access by unauthorized equipment. Such technology has been in use by cable companies for many years already, making it very difficult to use unauthorized equipment to view cable TV. So how hard can it be to incorporate strong cryptographic authentication into bank card reader terminals, and why do banks not do it?

The other topic of the report was the use of insecure (they didn’t call it insecure but that’s what it is) RFID technology on some newer credit cards, the information from which can be stolen in a split second by a thief that just stands or sits next to you in a crowded mall. The use of such technology on supposedly “secure” new electronic credit cards is both incomprehensible and inexcusable. But, I am sure the technical consultant who recommended this technology to the banks in some bloated report full of flowery prose and multisyllable jargon received a nice paycheck.

 Posted by at 1:39 pm
Jan 252011
 

I just ran this on my main server:

$ uptime
 08:13:32 up 365 days, 19:56,  4 users,  load average: 0.07, 0.05, 0.06

Yes, this means I last rebooted this server one year and 20 hours ago. (What was I doing, rebooting at 4 in the morning?)

Mind you, it won’t run uninterrupted much longer. An updated server is waiting to take its place, so that I can then take this guy down, thoroughly clean it (removing one year’s worth of accumulated dust and cat hair) and upgrade it as well.

 Posted by at 1:17 pm
Dec 242010
 

My Linux systems are all configured with an ages old program, fortune, giving me a “fortune cookie”, a random greeting or quotation from a database with thousands of entries, every time I log on.

This morning, I logged on to one of my Linux machines and I saw this quote from the immortal Sam Clemens, aka. Mark Twain:

“The difference between a Miracle and a Fact is exactly the difference between a mermaid and a seal.”

If I didn’t know any better, I’d be tempted to think that the computer has a twisted sense of atheist humor and chose this greeting after looking at the calendar. Not that Mr. Clemens was wrong!

Anyhow, although I am an atheist, I hope I am not twisted, so I just wish a Merry Christmas to all my family and friends, and indeed, all good people.

 Posted by at 2:37 pm
Nov 242010
 

Adobe Corporation recently introduced the latest version of their PDF reader application, Adobe Reader X.

So I promptly downgraded my Adobe Reader 9 installation to Adobe Reader 8.

I use PDF documents very often. Apparently, the good folks at Adobe do not. Why else would they remove one of the most important productivity features, namely the ability to view several PDF files in the same application window?

Yes, I get it: for new users, it makes sense to move away from the “applications open documents” paradigm towards the “documents appear in windows” paradigm. In an ideal world, the application would be invisible; each document would exist in its own window; and we wouldn’t even care that some documents are Word files, others are PDFs, etc.

But we don’t live in an ideal world, and there are reasons to suspect that this ideal world may never come to pass. Perhaps it will. But it’s not here at present, and the fact that every PDF opens in a new window is a huge annoyance.

An annoyance that was first introduced in version 9, and is apparently being kept alive in version X. However, my patience ran out. It’s back to version 8 for me.

Oh, and I also have a license of Acrobat Pro, to produce and edit PDF files. But, it’s a license for version 6. Why? Because version 6 was the last version without DRM/Activation.

If folks from Adobe read this, well, please let me know when you have a version of Acrobat that is DRM-free and can do MDI. Then, I’ll buy. Until then, I’ll just stick to my obsolete versions.

 Posted by at 9:55 pm