* Posts by David Given

436 posts • joined 4 Aug 2008


Tavis Ormandy ports WordPerfect for UNIX to Linux

David Given

Re: Wordgrinder anyone?

Wordgrinder's okay. I'd probably recommend it.

...it is, BTW, inspired more by vague memories of Interword for the BBC Micro than WordPerfect. That's where the menu system came from. Oh, and Word for DOS (one of the best programs Microsoft ever made).

There'll be a new version coming out soon, BTW, so if anyone has any feature requests now is the time to make them.

CP/M's open-source status clarified after 21 years

David Given

So that's where all the YouTube views have come from

Apparently more people are into 1970s operating systems than I thought...

I'm glad CP/M is still well thought of;: it does slightly predate me, but I still thing it's a programming gem. It's almost the bare minimum you can have for a functioning, useful, disk operating system. It doesn't even need interrupts! I'm glad I managed to help get the license resolved before it vanished completely; so much 1970s era software has.

Since making that video, I have, by the way, got CP/M ported to some old Brother word processors. 3.5" 240kB floppy disks, mmm. The next big missing piece is a modern PL/M compiler so maybe I'll work on that but next.

Watch this: Ingenuity – Earth's first aircraft to fly on another planet – take off on Mars

David Given

Re: “When things work, it looks easy.”

Yes, it was... but it wasn't _quite_ as clever as it looked: mission control had uploaded a map of the area with safe areas to land marked on it, so rather than trying to interpret what it was seeing and decide whether it was safe or not, instead it just had to interpret what it was seeing and find its location on the map. Thus demonstrating that most intelligence can be trivially substituted for with a lookup table.

Don't get me wrong, though: it's still bloody amazing.

License to thrill: Ahead of v13.0, the FreeBSD team talks about Linux and the completed toolchain project that changes everything

David Given
Paris Hilton

Re: FreeBSD has plenty of hardcore fans

What's the package management story like these days? I know there's a binary package manager, pkg, but the last time I looked there were hardly any packages available: ports were recommended instead (which I generally found a pretty miserable way to install software).

I've been using Debian for so long that I rely heavily on the Debian package repositories, and find other distributions just too much work to use. Having nearly every piece of Linux software a few keypresses away is great. A while back I got really excited by Debian/kFreeBSD, which provided a Debian userland on top of the FreeBSD kernel, but the project eventually collapsed.

The 40-Year-Old Version: ZX81's sleek plastic case shows no sign of middle-aged spread

David Given

Anne MacCaffrey's _Dragonflight_ was written over half a century ago (52 years).

David Given

ZX81 programming

If anyone's interested, I have a video where I live-code a simple game (all games were simple on it) for the ZX81 here: https://www.youtube.com/watch?v=WqVfyyZbIvo

One thing that's often missed is that it came with a simple but reasonable IDE, which made programming a surprisingly decent experience. The terrible keyboard was a good match to the keyword-at-a-time input; pressing keys was difficult, but you got a lot of value for each keypress. It also had a lot of features to both cope gracefully with running out of memory (inevitable with 1kB of RAM) and to let you squeeze functionality into every byte. The Basic dialect was dreadful, however. No if...then...else!

Chill out, lockdown ain't over yet – perhaps FUZIX on the Pi Pico could feature in your weekend shed projects

David Given

Re: Young people these days...

I have a PX-8 (with thermal printer and external floppy drive). Lovely machine. Ridiculously overdesigned and dog slow. I have 90 minutes of me typing on one here! https://www.youtube.com/watch?v=S3MARL-F8NI

David Given
Thumb Up

Re: Typos

Oh, yeah! I did know about that, but it was temporarily displaced by the use of 'hacker' in the article. NM, then.

But they still got my name wrong. (You'd be amazed how difficult it is for some people to spell.)

*Update*: I found the 'corrections' link, emailed them, and got a reply back three minutes later saying that it's been fixed. Damn it, Register, you have a reputation to live down to!

David Given
Thumb Down


Thanks for the writeup, but:

s/David Givens/David Given/ (throughout)

s/just this hack that/just this hacker that/

Since the blog post I now have the NAND flash, multitasking and pipes working, plus lots of core bugfixes --- Colossal Cave works just fine. So it's useful! Plus, I've discovered I made a mistake with my arithmetic and there's lots more RAM available than I thought: there's about 190kB after the kernel's loaded, and a lot of _that_ can be moved to flash. It should be possible to have multiple processes in RAM concurrently, although with an MMU context switches will require a physical memory copy, so preemptive multitasking won't be feasible. There may even be enough RAM for a NAND-flash-only version, with no SD card.

Google, Microsoft pitch in some spare change to keep Mozilla's Web Docs online bible alive

David Given

Re: Niche skill

One of the things which drives me to rage is when 'man foo' produces a placeholder man page telling me to use 'info foo' instead... and then 'info foo' just displays the man page. I wish the FSF would just bloody write some proper man pages.

Mate, it's the '90s. You don't need to be reachable every minute of every hour. Your operating system can't cope

David Given

Re: Perhaps

Or weaksmanteau, if you will.

This'll make you feel old: Uni compsci favourite Pascal hits the big five-oh this year

David Given
Thumb Up

Re: pascal was simply useless.

I have a PX-8, with thermal printer, ramdisk, acoustic coupler and the fairly rare PF-10 floppy disk unit. It's an awesome piece of kit, but absurdly overengineered --- three processors! Integrated microcassette! An intelligent ramdisk! A serial floppy interface that's only a bit faster than the Commodore 64! Multiple batteries (including one soldered to the motherboard which I had to remove)! An internal DC power regulator which can't provide enough current to run the machine (it will _only_ run off battery; the DC port is only there to charge the battery)!

Sadly I managed to fry the PF-10 performing a batteryectomy (yes, it had another soldered-on internal battery, which was leaking). I'm slowly working on fixing it. I've got to the point of running programs on the internal 6303 and am trying to figure out why the stock firmware won't work any more.

If anyone's interested, here's a video of me loading a program on the PX-8: http://youtube.com/watch?v=S3MARL-F8NI

Gone in 9 seconds: Virgin Orbit's maiden rocket flight went perfectly until it didn't

David Given

Re: Oh. Again?

They can also take off from potentially any airport, and the plane can carry the rocket a considerable distance before actually launching, so you can launch into any conceivable orbit rather than being limited to which orbits are reachable from SpaceX's launch sites. This allows, say, a UK-based company who wants to launch into a polar orbit to get Virgin to take off from Heathrow, carry the vehicle out over the Atlantic, and go straight north. They're hugely flexible.

Getting a pizza the action, AS/400 style

David Given

Ahead of its time?

Don Hopkins was ordering pizza back in 1989! On Sun workstations! With Postscript! And spinnable pizza previews!


(Icon: what else do you drink with pizza?)

Energizer Hard Case H280S: A KaiOS-powered blower that can withstand a few knocks

David Given
Thumb Up

Re: KaiOS?

Absolutely --- after all, the dead do not make phone calls.

Built to last: Time to dispose of the disposable, unrepairable brick

David Given

Re: "something more durable – with upgrade paths"

A $700 TV in 1970 is equivalent to $5000 today, and I'm pretty sure that $5000 appliances still *are* repairable today. Meanwhile a roughly equivalent modern TV (24") costs $90 2020 dollars, which is equivalent to about $13 in 1970.

David Given

I just changed the CMOS battery in my current desktop PC. It's a six-to-seven year old eight core i7-3770K, surplus from a defunct startup I used to work for, and it's still a really nice computer capable of doing VR (admittedly I've upgraded the video card a couple of times).

I've never had to do that before. It was a weird experience. I've never had a computer last long enough for the battery to go flat --- they always go obsolete and get upgraded first. It was weird.

Sadly, mobile phones are still built to self-destruct after a couple of years, but maybe there's hope.

After four years, Rust-based Redox OS is nearly self-hosting

David Given

"This leads to absurd situations like the hard disk containing the root filesystem / contains a folder named dev with device files including sda which contains the root filesystem."

But that's not how it works?

"In contrast to "Everything is a file", Redox does not enforce a common tree node for all kinds of resources. Instead resources are distinguished by protocol."

But protocols are also hierarchical, and you need a namespace tree, i.e. a file system, for managing them. Otherwise you end up with a situation where a single protocol contains unrelated resources, like file: containing /usr and /home; or multiple instances of a protocol managing different resources with no indication that they're the same kind of protocol, like AmigaOS's style volumes, which is just as awkward in a different way.

I mean, I literally know only two paragraphs of soundbite quoted, but they do raise questions.

Anomaly-free SpaceX fires up SuperDracos, ISS astros go iFixit in orbit, and Buran turns 31

David Given
Thumb Up

Re: No user-serviceable parts



Bet you can't guess what I'm wearing, or where I'm wearing it

David Given
Thumb Up

Re: <misty eyed>

I went to one of their conferences! Can't remember which one, though, the brain cells have decayed over the years, but it was great. We need more of that kind of thing.

I just keep telling myself that just because they haven't posted an update for almost 13 years doesn't mean they're _completely_ dead. Please?

Google goes full Anti-Flash-ist, boots Adobe's insecure monstrosity out of web search index

David Given

There's masses of early interactive web content that's both really cool and historically valuable, and is likely to be gone forever because it's written in Flash. Orisinal, Grow Cube, all those free-to-play flash games that prototyped native games... the technology was kinda awful, but the tooling was superb. It was really great at lowering the barriers for producing animated and interactive content for non-programmers. The only thing even remotely comparable today is Unity.

I've seen a few Javascript flash players but they all seemed to kinda suck and they're really to clunky to use (requiring the user to install an extension or something). Adobe apparently have no interest in maintaining an upgrade path for all this old content, which is weird. Ideally there'd be a standard drop-in module which web browsers could use which provided a flash player entirely browser side, avoiding the security issues.

Anyway, here's Homestar Runner discovering the Flash apocalypse. (Flash version.) http://homestarrunner.com/flashisdead.html

Also now I'm going to have to replay the Grow Cube games again. Dammit.

Orford Ness: Military secrets and unique wildlife on the remote Suffolk coast

David Given

Re: More please

Is there a compendium on squashed trees available from any vendor of such abominations? Because I think I'd rather like one (for a friend, naturally).

Bus pass or bus ass? Hackers peeved about public transport claim to have reverse engineered ticket app for free rides

David Given

British buses are embarrassing

I live in Switzerland. Going back to the UK and trying to use public transport there always comes as a bit of a shock.

In Switzerland, there are two big things which makes city public transport work (rural is different): firstly, tickets are valid for any form of transport in an entire zone for a particular duration, allowing unlimited travel within that zone, with a standard 'single' typically being valid for an hour, and 24-hour tickets costing exactly twice what a single does; and secondly, every single bus stop has a ticket vending machine.

The first point means that in can get from point A to point B on a single ticket even if there isn't a direct bus there. I can choose any route I like, provided it's in the same zone, and I can mix and match buses, trams, trains or boats (Zurich has river buses). In the UK I need to buy individual tickets for every leg of the journey, which adds up very quickly. Plus, as a 24h ticket costs two singles, if I'm doing anything even slightly complicated I just get a 24h ticket, giving me unlimited travel, and then _never have to think about it_. That's surprisingly important (as anyone who's had to juggle return legs of multiple bus tickets in the UK knows).

The second point means that I can buy my ticket before I travel rather than having to get them from the driver, with exact change, in the middle of a stressed queue in the rain. It allows the buses to move more quickly as they don't need to wait at the stop for as long. Swiss people are also pretty honest, and they don't bother to routinely check tickets, which also allows them to have multiple doors for rapid entry and exit.

Every time I try to use UK public transport it just makes me feel like they're trying to actively discourage travellers...

(The UK exception is London, where the Oystercard actually works pretty well. Do any other big UK cities have something similar? The only one I go to these days in Glasgow, which doesn't.)

Divert the power to the shields. 'I'm givin' her all she's got, Captain!'

David Given

Testing is hard

...I'm reminded of a Cautionary Tale they told me during a really good computer risks course at university. It may even be true. This parable goes like this:

A massive data centre, of the too-important-to-go-down, millions-of-dollars-and-hour financial loss if it went down kind, had a set of redundant backup power supplies. Battery, diesel, that sort of thing. They did regular tests, their failover all worked, everyone was happy.

Then someone dug up the power cable with a JCB and the power went out for real. Clunk, the batteries kicked in; clunk, the generators started up; all as per testing, and everyone was happy... for three minutes. Then the generators stopped. Fruitless panic ensued for a few minutes until the batteries ran out and the datacentre settled into the peaceful silence of death.

Turned out that while the datacentre was powered from the generators, the fuel pump for the generators was wired to the real mains, and of course the tests never picked this up because they never cut the power for real (the datacentre being too important to risk bringing down).

There were two morals to this story:

- if you want to check that your datacentre keeps running even if someone digs up your power line with a JCB, then the only way to do this is to dig up the power line with a JCB.

- Everything fails. Plan for it.

There once was a biz called Bitbucket, that told Mercurial to suck it. Now devs are dejected, their code soon ejected

David Given

Re: Git

I use Mercurial with github using the hg-git plugin (which is on github: https://hg-git.github.io) It lets you use Mercurial more-or-less seamlessly as a git client. Anything you can do with git[*] you can do with hg, using an interface which actually makes sense and doesn't hate me. Git branches map to hg bookmarks, tags just work, merging and branching and multiple heads just work, etc, etc. You don't need to set up your hg repository _or_ your github repository specially, you just tell hg to clone the git path and it just works. It's great.

I don't think I've ever used a native hg repository.

David Given

Re: Only 3% use Mercurial

hg is, in fact, the name of the CLI tool.

David Given

Re: "has ever used Visual Sourcesafe."

I once spent a couple of months working onsite with a partner in Beijing which used VSS.

They had the repository mounted as a network drive. They also sent out periodic reminders to people to make sure their antivirus software was up to date, because some virus had infected a checked in .exe on the network drive and VSS had promptly committed the change and propagated it to all the other clients.

I mean, there's all kinds of wrong there, but this is the kind of environment that VSS thrives in. Like athlete's foot.

(This company produced a mobile phone OS which we were porting our stuff to. An incremental build took about 90 minutes --- 45 minutes to do the build, because their build system was cobbled together with make and perl and shell scripts and DOS batch files and didn't understand what 'incremental build' meant, and another 45 minutes to flash the phone. The platform was unbelievably flaky. For example: when you exited a thread, the last thing the thread would do before unhooking itself from the thread queue was to free() its own stack... while running off it. The OS had one synchronisation primitive, a semaphore. Except the semaphore had a fixed-size buffer for the queue of blocked threads which was smaller than the number of threads on the system, which means if you had too many threads blocked on it, the old ones would start to wake up at random... excuse me, I need to go breathe into a paper bag now.)

Our hero returns home £500 richer thanks to senior dev's appalling security hygiene

David Given

Are square brackets even _valid_ in email addresses?

Pair programming? That's so 2017. Try out this deep-learning AI bot that autocompletes lines of source code for you

David Given

Do you know how to make Visual Studio Code stop autocompleting block comments?

Because I don't and it's driving me nuts.

Poetic justice: Mum funnels £100 into claw machine to win single Dumbo teddy for her kid

David Given

My understanding is that gambling machines aren't random --- they're regulated by law to present certain odds of winning, and they decide ahead of time whether each play needs to win or lose in order to maintain those odds. With, obviously, enough fuzz to prevent obviously regular cycles of lose-lose-lose-lose-win, because the manufacturers aren't idiots.

This one clearly needs adjustment because its _obviously_ rigged, but being rigged is WAI.

'AI is not the cause, it’s an accelerant. The pace of change is challenging' Experts give Congress deepfakes straight dope

David Given

Re: This AI technology kills Google, FB and Internet at once.

You are Arthur T. Murray, and I claim my five pounds.

(And I will be impressed if anyone gets that reference.)

David Given

Re: Blockchain technology in AI database as a means of combating fake news

This post's just a little bit too coherent to be obviously machine generated, but some of Geller's other replies are definitely ringing all my chatbot alarm bells.

The best and worst of GitHub: Repos wiped without notice, quickly restored – but why?

David Given

Exactly the same thing on SourceForge

Exactly the same thing happened to me on SourceForge last year. Account nuked, no email, no communication, nothing. My repositories all still existed but my username had been changed to '<REDACTED>'. Luckily I'd already migrated everything off to GitHub at this point but I still used some of the mailing lists (which bizarrely continued to work).

I emailed them, got nothing, then complained on twitter and someone finally replied to the email claiming it had been 'overlooked'. Apaparently an antispam bot nuked it, just like with GitHub. They did restore my account and, with a bit of pushing, changed the join-up date to 2000 so I retained my seniority, but were unable to update the repositories so I was listed as the author of the commits.

I never received any kind of apology --- not even a pro forma 'sorry to hear that'.

Needless to say, I don't feel inclined to use SourceForge for anything much, and I now have a backup script which periodically backs up the raw repositories from GitHub to bluray.

It's May 2. Know what that means? Yep, it's the PR orgy that is World Password Day... again

David Given

Two questions immediately come to mind:

- how does El Reg handle comment authentication? The system's bespoke, right?

- how many commentard passwords are 'password', 'swordfish', or 'correcthorsebatterystaple'?

Out-of-office email ping-pong fills server after server over festive break

David Given

Re: Exchange?

I do interop development with Exchange as a target.

Exchange supports an API for accessing the server. It... functions? More or less.

It's based on SOAP, which on the plus side is relatively standard, and on the minus side is a W3C XML based abomination involving more namespaces than any sane namespace would namespace if it was raining namespaces. The API is self-describing; a client can query the server for its WSDL file, which contains the description of the API, with all the methods, data types etc which it supports. It's not actually a terrible idea.

Microsoft's unique variation? The WSDL file you get from Exchange servers is syntactically invalid and needs to be manually tweaked before it'll parse correctly.

User secures floppies to a filing cabinet with a magnet, but at least they backed up daily... right?

David Given

Re: Then there is the "send me a copy"

You might not want to laugh too hard --- if you want to *absolutely guarantee* that there's no unexpected surprises in the resulting file (redacted content, miscellaneous macros, incriminating labels which someone has drawn a black box over the top of, etc) --- then airgapping the file like that is a perfectly reasonable way to do it.

How many Reg columnists does it take to turn off a lightbulb?

David Given

Re: Hotel lighting

I don't think I've ever stayed at a hotel which had adequate lighting in the rooms. Why do they never seem to have overhead lights? They all seem to be lit by dim, pointless standard lamps.

Thought you'd seen everything there is to Ultima Thule? Check this out: IN STEREO!

David Given

Re: Not doing that again...

I made a cross-eyed version, which I find substantially easier to see.


Icon: closest thing to a duck I could find.

Did you know?! Ghidra, the NSA's open-sourced decompiler toolkit, is ancient Norse for 'No backdoors, we swear!'

David Given

Re: Supported architectures?

Oh, awesome. Thanks!

(Ooh, Z80 *and* 8085... and 8051! Now, there's an architecture which just Will. Not. Die.)

David Given
Thumb Up

Supported architectures?

The github repository is a placeholder and I can't find much in the way of documentation --- anyone see a definitive list of which architectures it supports? I recently spent a tonne of time reverse engineering a piece of gnarly Z80 code, and would love some tool assistance for the next time this happens.

Foldables herald the beginning of the end of the smartphone fetish

David Given
Black Helicopters

Re: fetishisable glass slab

CAT (yes, that CAT) have you covered, mostly.


The battery's not removable, but it's got most of the other stuff you asked for, and it's also ruggedised, waterproof, has an air quality sensor and a thermal imaging camera, and contains a laser.

Sadly, the actual phone bit is apparently a bit naff, being a little underpowered, and it's also expensive. Review here: https://www.digitaltrends.com/cell-phone-reviews/cat-s61-review/

...did I mention the laser?

How I got horizontal with a gimp and untangled his cables

David Given

Re: Bent coat-hanger and curtain wire

Wow, that brings back... old... memories...

Techie finds himself telling caller there is no safe depth of water for operating computers

David Given

Re: Header pic

The keyword you're looking for here is 'deathdapter', and you can buy them for absolutely bugger all from Banggood.


Fire icon because, you know, deathdapter.

SpaceX sends Iridium-8 into space while Musk flaunts his retro rocket

David Given

Re: I've waited years for this and now it is all coming TRUE!!! :-)

I did find this artist's impression of it landed on the moon.


(Hmm, now I feel inspired to have another go at finding the Dan Dare TV series on t'interwebs. It's surprisingly hard.)

Chinese rover pootles about... on the far side of the friggin' MOON

David Given

Re: Beam me up Scotty!

Yeah, but Scotty could cut in the Hofstadter compensators and make things happen on schedule.

(Hofstadter's Law: It always takes longer than you think, even when you factor in Hofstadter's Law.)

David Given

Re: I can just imagine the timeline

Yes, they're next to Lucy's house.

You were told to clean up our systems, not delete 8,000 crucial files

David Given


There's the old legend from the university Unix days of the geologist asking the admins what happened to their thesis, which they'd saved in their home directory and was now missing. What had they called it? Well, they were studying the Earth's core, so it was just 'core'... and the automated core dump deletion cron job had nuked it.

My 2019 resolution? Not to buy any of THIS rubbish

David Given

Re: Any IoT device

How long does the battery last? When that goes flat does it fail on or off? What's the behaviour like when the battery is *nearly* flat (will they detect low voltage and refuse to operate, or will they just go nuts as the RAM starts dropping out)? How often do you get firmware updates? Are there any known exploits in the Bluetooth stack? Are settings retained when the power goes out? What's the clock drift like? What's the predicted lifetime of the electronics given the whole thing will be cycling in temperature between 5° and 70°? What's the water-resistance like (I've never seen a radiator valve which wasn't damp)? What's the resistance to battery leaks like (given the intended very long lifetime)?

And, do they do anything genuinely useful compared to an old fashioned mechanical thermostat?

David Given
Thumb Up

Re: Late to the party. As usual...

Can I also plug Steve Jackson's Sorcery! series of games, which have absolutely kick-arse mobile phone ports? Complete with the ability to rewind time if you think you made the wrong choice, so effectively emulating sticking multiple fingers into the book as impromptu bookmarks!


There's an iThing port as well, somewhere. I believe it's also on Steam.



Biting the hand that feeds IT © 1998–2022