Archive for the ‘Uncategorized’ Category

Well, I have an update: I’ve pulled the plug.

Monday, June 7th, 2010

Well, I have an update: I’ve pulled the plug.

Rationale: I’m giving up on Go. The language (IMHO, naturally) is not a “systems programming language” while it discourages access to system calls, and has only an (undocumented and weak) facility for accessing other operating system APIs.

Similarly, having Unicode and UTF-8 is great … but if you can’t even normalise a UTF-8 string, then comparisons (and sorting) degenerate to byte comparisons. I suppose it works for ASCII ….

There are other items of friction, both linguistic and process wise, but in short: I don’t see the value of putting my time into a port, and am pulling the plug.

Game over.

Non-NetBSD CLs, sycall, heading for runtime

Tuesday, April 20th, 2010

I’ve been distracted lately: Real Life took over again for a bit, and I’ve been wrangling some more general CLs through as I simultaneously learn the Go team’s processes for working with outsiders and attempt to reduce existing code duplication etc that I’d otherwise have to make worse. (My unpaid project: I work on whatever I want in what order I want. Still, I’d like to have had more time and more progress by now.)

In general, I think the NetBSD port can be pushed past the syscall stuff I got distracted by with a few sessions more work, then it’s into the runtime with a vengance, where I believe the difficult work is hiding: setting up the support for goroutines on NetBSD 5.x’s light weight processes. Whee, another threading implementation to learn, on an unfamiliar (to me) architecture. I suppose learning some x86 assembler won’t hurt me too badly….

Still working …

Friday, March 5th, 2010

Distracted by reinstalling my notebook and some Real Life “stuff”, the slow progress continues.

I have a script that largely massages syscalls.master into something I want to work on.

Further work is needed on types, on deciding what system calls not to expose, and which system calls need wrapping.

Quick Update: progressing slowly

Sunday, February 28th, 2010

Still working, nothing much more to show. The syscall package is being beaten into behaving.

I’ve received one offer to beta test; be sure I’ll post here (and to the NetBSD mailing lists) when I get to alpha and beta testing stages.

Cheers,

Giles

Distraction: Virtualisation Software Wars

Tuesday, February 23rd, 2010

Short version: Arrghhh!

Long version:

For historical reasons (and some commercial software) my "own" machines run OS X. (Up until a week ago I had a ten year old x86 machine as well, but I’d used up all my spare parts, and wanted the cupboard space, so it had to go.)

Virtualisation (or “Virtualization”, depending on the version of English you write), you say. Didn’t I use to be an expert on that? (By most definitions, yup. But not on x86/x86_64.)

I have been using Parallels 4.x, and found it usable. I could (with arm twisting) get it to run NetBSD-4.0/i386 (32 bit, not 64 bit) and there were limitations with its networking support on OS/X.

Parallels keep encouraging me to buy their (now not-so-new) 5.x, and offer a trial version. So I tried it. (Emphasis on the past tense.)

  • it won’t run NetBSD-5.0/amd64 any way I can figure out (a main target for a go port)
  • it will run NetBSD-5.0/i386, and is fast (but I’m not so convinced about the stability)
  • it runs Linux (surprise ☺)
  • it won’t run FreeBSD-8.0/amd64, which I want for comparison purposes.
  • its ACPI is … peculiar (And yeah, I know ACPI is overly complex and stupid.  I even know what the acronym stands for.  But we have to live with it these days, "the industry" tells us)

And they want money for this. Maybe I’d prefer to give my money to VMware.

But before I do anything rash, I try VirtulBox again. It’s updated a few versions since I used it last; it’s sorta-kinda-partly-at-least open source. Last time I ran it it had problems with NetBSD, ran slow, and caused my laptop to run hot.

This time, installs NetBSD-5.0 (i386 and amd64), with ACPI (gee, revolutionary in 2010, dontchathink?) and they’ve moved to include bridged networking on OS/X, which means I don’t have to run it on my laptop.

Looks like a winner. Except that it won’t run FreeBSD/amd64 any way I can figure out. (I am sure I saw it installing and losing access to its “disks”, but all subsequent attempts to boot it make it look like a 32 bit machine trying to boot a 64 bit kernel). It does run FreeBSD-8.0/i386, at least. And 32 and 64 bit Linux, of course.

Maybe I want VMware after all. Something that "just works" would be nice. Truly nice. Especially if it keeps working when I stress it, which isn’t necessarily going to be the case with any of them. (Or OS X, of course. Don’t mention the transitory network problem that I can’t pin down to hardware, software, or even a single machine yet.)

Rant for the day is now over. Progress might resume shortly.