# Posts by Michael H.F. Wilkinson

3349 posts • joined 24 Apr 2007

### ExoMars probe narrowly avoids death, still in peril after rocket snafu

#### Ouch!

How many people will be having their fingers crossed for 7 months? Let's hope for the best.

### Error checks? Eh? What could go wrong, really? (DoSing a US govt site)

#### Re: Moral on the -1 passed as array index?

Incidentally, I am reminded of a coding problem a student of mine encountered, when trying to implement a method found in a scientific article. The first part dealt with image representation using particular polynomials, the second with image or object recognition with the same type of polynomials.

This was a good student who first coded the first part, and when that worked well, coded the second bit using the same code for the polynomials as before. Result: Crashing code. He worked on this for several days, trying to find the bug. When I came to look, I suddenly noted an odd thing: In the pseudo-code in the paper, the first part indexed the arrays containing the polynomials from 0 to N-1, and the second part used a different convention: 1..N. Accessing element N caused the crashes. Ouch! Easy to sort, but really frustrating!

#### Re: Moral on the -1 passed as array index?

An array index of -1 can certainly be used, in languages like Pascal, or even Fortan, or, with care and documentation in languages like C(++). For some arrays it is natural to have an index range of e.g. -N to N. In Pascal-like language you just declare the array that way. It is not that difficult to get it right in C(++).

It seems to me that the key problem is the silent coercion of a signed int to an unsigned int. Strong typing would have trapped this error, I feel. If I already have element numbers 0, 1, and 2, and add element number -1 to a dynamically allocated array, I can do that by allocating a 4 element array, incrementing the pointer, and copying the data to the right elements. Of course, when freeing the array, you must first decrement the pointer accordingly. Writing a class to do this safely is not that hard, although there is every chance people get it wrong.

### Electronic Superhighway 2016-1966 – a retro: Texts, ar*se and ASCII rolls

#### Re: Under-16s free

"I thought showing a naked woman's anything to a child now resulted in a mandatory 5 year prison sentence and life on the sex-offenders register?"

Bit hard to avoid when breastfeeding a baby

### Microsoft will rest its jackboot on Windows 7, 8.1's throat on new Intel CPUs in 2018 – not 2017

I run several machines on different OSs, and just use whatever runs the tools I need. Linux for most of the work stuff, but Win 7 or 8.1 for some data acquisition and processing programs for which I haven't (yet) found a solution under Linux. The kids and missus also work with the Win 7 or 8.1 boxes.

My only gripes with Win 10 have been the nagware and the spyware. The nagware (probably?) ceases when you install it, but the spyware then becomes an issue. If there is an easy solution to block that I might well install win 10. If I cannot find a solution, I will not upgrade. I know alternatives for the few Windows programs I need are currently being developed, so this is a viable option in a few years time. If a subscription-only revenue model for an OS is introduced, that OS is out.

MS is free to choose its revenue model. I am free to choose an alternative

### Too Naked for the Nazis streaks to literary glory

#### Lovely!

Brightened up a dull Friday afternoon as we approach beer o'clock. The book titles mentioned do remind me of some classic papers found in Annals of Improbable Research, such as:

Feline Reactions to Bearded Men

The Influence of Peanut Butter on the Earth's Rotation

or my own humble offering

A Quantum-mechanical Interpretation of Homeopathy

A preprint of the latter can be found here

### Web ads are reading my keystrokes and I can’t even spel propperlie

#### Re: Private Eye

Malgorithms

Love that word. Sheer brilliance. I will include it in my mandatory reading material for the course "Introduction to Computing Science" I teach immediately

### Your 30 second guide to the past three months on Planet Adobe: Talk about sitting on cloud 9

#### Re: The joyless world of subscription services

Absolutely. I was considering purchasing Photoshop, just as it moved from the last CS version to the CC subscription model. Much as I like free software, I am quite willing to pay for a good package (which Photoshop undoubtedly is). However, by the time I wanted to press the purchase button, the only option available was the CC subscription model. I do not like the idea of a subscription, and I like the idea of my stuff being in the cloud even less. I am frequently in places where I do not have a good (or even any) internet connection. I do not want my photo editing suite tell me "Sorry Dave, I can't do that for you" (and I am not even called Dave). Yes, you can work off-line, but if I am out of internet contact for a longer period, things will go pear shaped at some point.

Adobe is of course free to choose their revenue model, and there are millions of users for which this apparently works well. Likewise, I am free to look elsewhere for a product that suits my needs better.

### Mighty Soyuz stands proud at Baikonur

Never ceases to impress, these spacecraft. I was at a Space Museum in Samara in 2013, where they have a full scale Soyuz outside the entrance (you walk in under the engines). Very, very impressive indeed.

Where's that glass of vodka to raise?

### Bloody Danes top world happiness league

<voice of Droopy>

You know what?

I am feeling very happy

</voice of Droopy>

### 'Just give me any old date and I'll make it work' ... said the VB script to the coder

#### The case of the 16 bit signed ints reminds me of something horrible

I was trying out the AMD C compiler on some parallel code on our 64-core Opteron server to see if it would optimize more than gcc. Indeed, on some of our smaller images (1 Gpixel or so) it worked well, optaining some 10% more speed, which is nice. However, on a 3.6 Gpixel it crashed. Compiling the same code in gcc worked fine. I checked the code (designed to work up to 4Gpixel which is the maximum for GeoTIFF images anyway) and found we were correctly using a type "Pixel" defined as a 32 bit unsigned integer. A counter of type Pixel was used to traverse the (1D) array of pixels in each for loop. On a hunch I created a 2Gpixel image, and ran the AMD compiled code. It worked. Create an image 1 pixel larger and it crashed. Somehow the optimizer turned the 32 bit unsigned integer into a signed counterpart, causing havoc. AARGH. I then changed the definition of Pixel to 64 bit signed integer, and it still crashed at the 2Gpixel + 1 barrier. Turning off various optimizations might have solved the problem but would defeat the very purpose of using the AMD compiler. We decided to stick with gcc.

Note that this was quite an old AMD compiler, and new versions might have solved the issue.

BTW

### Who'd be mad enough to start a 'large-scale fire' in a spaceship?

#### Re: So, the next time you see a falling star ..

And anyway, wishing on a star is astronomically stupid,

as I always say

which may or may not stem of the late, great Terry Pratchett's " A Hat Full of Sky"

<doffs hat (black fedora at the moment) to the memory of TP>

### Why should you care about Google's AI winning a board game?

#### We will know it is Real AI ....

if it invents slood before we do

### Mars to get comms upgrade with ExoMars mission

#### Re: The Red Planet's satellite network ..

Just wait: Deimos is moving slowly outwards, and Phobos is slowly spiralling inwards. It may take a while to clear the Areostationary orbit, but what's a few million years in astronomy

### Watch six tiny robo-ants weighing 100g in total pull a 1,769-kg family car

#### Re: says:

And before it zooms off you hear: "Yan, tan, tethera!"

CRIVENS!!

FEEGLEBOTS!

### ExoMars mission thunders aloft from Baikonur

#### Fingers crossed for a succesful mission

I'll raise a glass to the mission, and of course to celebrate the succesful launch

### Don't snoop on staff via wearables, says Dutch privacy agency

#### Re: I would

Better still: any migratory bird.

An Arctic tern would maximise bafflement, but it might not be able to carry it.

No doubt an African swallow could carry it, but then it doesn't migrate

### Alice, Bob and Verity, too. Yeah, everybody's got a story, pal

#### Re: Don't forget the rest of the staff

And don't forget Simon. NOTHING is safe from Simon. Simon is watching you. Even when he is at the pub

I feel there is an icon missing

Slood?

### Locky ransomware is spreading like the clap

#### Re: Enabled Macros?

I will remind the kids ONCE MORE, that if they get odd documents sent to them, they should NEVER open them unless they have consulted me, and I will add that MACROS ARE BAD, and anyone enabling them without my consent shall be ousted from all computers in the house, and will have to hand in their smart phones for at least a week (now that REALLY hurts them).

They have been very good so far, but a reminder is in order.

### Google human-like robot brushes off beating by puny human – this is how Skynet starts

#### Does this robot now have...

a pain in all the diodes down its left side?

At least the robot was allowed to open doors, imagine its chagrin if the doors all had a sunny disposition, and opened automatically just after generating an intolerable air of smugness.

### Don't take a Leaf out of this book: Nissan electric car app has ZERO authentication

They almost certainly have heard of the word. The meaning is another matter, it seems

Double facepalm time again

### Hackers aren't so interested in your credit card data these days. That's bad news

#### Maybe I should get myself ...

a couple of spare identities, just in case the original one gets stolen.

Albert Spangler sounds good

### Intel shows budget Android phone powering big-screen Linux

#### Re: "Low-end == 2 Gb"

As Niklaus Wirth said:

"Software is getting slower faster than hardware is getting faster."

We now need the equivalent of a Cray Y-MP to run an office application. I used to have MS-Office running happily on a 80386 at 25MHz with 4 (later 8) MB of RAM.

### Eurovision Song Contest uncorks 1975 vote shocker: No 'Nul point'!

#### Somehow

I do not think this will change my many decades long habit of ignoring the event

### Brits unveil 'revolutionary' hydrogen-powered car

#### Re: Why not sell it to you ?

"The design: to me looks like the child of a VW beetle and a Citroën 2CV"

with a helping of early Saabs thrown in for good measure

### Patch ASAP: Tons of Linux apps can be hijacked by evil DNS servers, man-in-the-middle miscreants

#### Re: Whoops-a-daisy...

Seconded!

All operating systems I have worked on (including RSX-11, CDC NOS, CP/M in various flavours, VMS, Xenix, IRIX, AIX, MS-DOS, Windows in various flavours, Linux, MacOSX) have had their share of SERIOUS errors, growing more hazardous over the years as they become more complex, and machines become more interconnected. An OS for me is a tool, and I will pick such tools as work best for me given the application. I will also realize all have their hidden flaws because they were made by a bunch of ape-descended life forms who are so amazing primitive they still think digital watches are a pretty neat idea (just like me ;-)). Our eyes evolved to pick out juicy fruit and crunchy beetles from foliage, not to find bugs in code.

Thus I do not worship an OS, just as I do not worship a hammer. I will say "OUCH" when any OS I use goes wrong in this manner, just as I say "OUCH" when I hit my thumb with my hammer.

### 'Hobbit' heads aren't human says bone boffin

#### Re: Homo Trumpus?

Unless they evolved from slime moulds in the recent past

#### Pity no soft tissue survived

or they could simply look at the hairy feet to see if they were hobbits. Any round windows or doors in the cave would also be good hints

All right, I should be going. The one with a ring in the pocketses

### Coding is more important than Shakespeare, says VC living in self-contained universe

#### Re: Literature

I enjoy language, literature, history and art, which enhances my understanding of fellow humans. I admire the poet's skill in going to the heart of the matter in very few words.

I enjoy mathematics, science, technology, and coding. These expand my skills in logical reasoning and thinking in more than a mere 3 dimensions. They also teach me more about how the physical world may work. I admire the coder's skill to go to the heart of the problem in a few statements.

I am not a good enough writer to make a living that way, but I am a good enough coder to teach others its joys.

I still need both coding and literature to feel remotely complete.

### Send tortuous stand-up ‘nine-thirty’ meetings back to the dark ages

#### Re: "giant aquarium"

well, you can get the feeling you are slowly drowning, so aquarium may be appropriate

### SCO's last arguments in 'Who owns Linux?' case vs. IBM knocked out

#### Re: Why...

Because it's a vampire?

And definitely not a black ribbonner

### CSI: Let's get out of the lab, interview the suspect, then do a warrantless search

#### Re: You complain about CSI ?

That's not limited to cartoons any more. Many an action movie suggests a nine stone woman can kick a 20 stone gorilla of a man through a wall without any recoil.

The sound-in-vacuum technology present in most SF films is much more puzzling than the faster-than-light stuff

### US Congress locks and loads three anti-encryption bullets

Given this further evidence, "Senate Intelligence Committee" seems like a contradiction in terms.

### This is why copy'n'paste should be banned from developers' IDEs

In a desert-like piece of Pascal code, devoid of any real oases of comments, with single-letter variable names throughout, and naturally lacking any proper documentation, I came across a lonely comment

(* Wulf *)

And no, that wasn't the culprit's name. If he is reading this column, he will know I am talking about him. Having said all this, I could by dint of quite some effort make sense of his code (which algorithm-wise and structurally was fine), but I can still recognize those bits of code I contributed to that system after decoding his work: My variable names grew longer, my comments more detailed, my documentation actually existed!

### NASA charges up 18-prop electric X-plane

#### I do want to compliment these boffins

both with the creativity of their research, and their creativity in cooking up acronyms

BRains Invent Lasting Legacy In Artistic Names for Technology (BRILLIANT)

Raises pint and doffs hat (the black Mayser Trekking today)

### Don't you see these simple facts? Destroy Facebook and restore human Liberty

#### Diatribe ...

might be a better word than rant, as it is indeed rather too coherent and even well-crafted for a true, foaming at the mouth rant.

### What took you so long, Twitter? Micro blogging site takes on the trolls

#### Enter the Piecemaker

I persnally tink it is discrimnation against us Trolls!

Sgt. Detritus

### Who would code a self-destruct feature into their own web browser? Oh, hello, Apple

#### Ah, Netscape Navigator

Still remember that, and Mosaic (which still supported gopher)

There were of course so few websites in the days of Mosaic that you could conceivably test your browser on all of them

Now I tend to use Firefox under Linux and Windows, and Chrome on Android. Works for me.

### Winning Underhand C Contest code silently tricks nuke inspectors

Reminds me of a single coding error (or horror) that caused trouble when switching from 32 to 64 bit machines on code initially written by two students. The interpretation of "long" and "int" was the same on the 32 bit machines, but differed on 64 bit machines. Storing an array of longs in an int array gave, let's say, "interesting" results. Not underhand, of course, just stupid (and easily fixed once found).

### Pentagon can't check F-35 maintenance thanks to insecure database

#### Double facepalm!

A single facepalm is insufficient

### Sure, encrypt your email – while your shiny IoT toothbrush spies on you

#### The IoT vision always makes me shudder slightly

I for one do not relish the idea of a future with a load of chatty doors, self-satisfied fridges, and a nutrimatic machine making me a cup filled with a liquid which is almost, but not quite, entirely unlike tea.

Alternatively, we end up with a computer that tells me:

"I am sorry, Dave, I can't do that for you"

...

And my name isn't even Dave

### BOFH: I want no memory of this pointless conversation. Alcohol please

#### Nice one!

And now it's beer o'clock!

### Four Boys' Own style World War Two heroes to fire your imagination

Must look up more about these men

### It's 2016 and idiots still use '123456' as their password

#### I now use "The Spanish Inquisition"

because nobody expects the Spanish Inquisition!

Sorry, I think I should be going. The red monastic robes and matching hat please

Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch

anyone?

Oh wait, no numbers

L1anfairpwl1gwyngyl1g0gerychwyrndr0bwl1l1antysili0g0g0g0ch

easily remembered

### The planets really will be in alignment for the next month

#### There is of course the usual caveat

CLOUDS PERMITTING

So far, they haven't

### Hey, Intel and Micron: XPoint is phase-change memory, right? Or is it? Yes. No. Yes

#### But, but, but, ...

does it taste like a duck?

Hmm, hungry now

Sorry, couldn't resist. The one with the cookery book in the pocket please!

### Amnesty International accuses tech giants of battery bastardry

Raising awareness of the appalling conditions kids have to work in is never a bad thing. Solving the problem is rather harder, however. Rather than bluntly stopping "artisanal mining" at gunpoint (which isn't going to work) there may be ways of improving the conditions by educating the people so they employ safer methods or providing safer alternative income. Even simple measures such as providing some protection for the lungs (simple face masks even?) might do more to actually improve the life of the people involved than an outright ban (which will be circumvented).

Still, it all starts with being aware of the problem

### What do Angolan rebels, ISIS widows, Metallica and a photographer have in common?

#### Re: Murdered?

The media language of propaganda these days is utterly ridiculous.

"Pacifying Falujah" - Bombing large Eastern town back to the stone age.

"Civilian casualties" - Innocent people killed

"Liquidation" - People killed.

"Expedited removal" - People killed faster.

"Revoked", you know, k-i-l-l-e-d: revoked

Alternatively "inhume" is popular with the guild, or "inhume with extreme prejudice" if you want to make a clear statement

Doffs hat to the late, great Douglas Adams and Terry Pratchett