ahhhhhhhh

The Raspberry Pi 2 Model B has a MICRO SD slot, not as SD slot…

Anyone want a very nice 16GB SD card?

Naming conventions

So there are data structures and variants upon them, so you can’t just say “queue”. You have to indicate variant.

The current long form versions of the names are;

lfds700_btree_addonly_unbalanced
lfds700_freelist
lfds700_hash_addonly
lfds700_list_addonly_singlylinked
lfds700_queue_mutiple_producer_mutiple_consumer
lfds700_queue_single_producer_single_consumer_bounded
lfds700_ringbuffer_mutiple_producer_mutiple_consumer
lfds700_stack

These forms prefix on all prototypes, i.e.

lfds700_queue_single_producer_single_consumer_bounded_init()
lfds700_queue_single_producer_single_consumer_bounded_cleanup()
lfds700_queue_single_producer_single_consumer_bounded_enqueue()
lfds700_queue_single_producer_single_consumer_bounded_dequeue()
lfds700_queue_single_producer_single_consumer_bounded_query()

Obviously, so long a name is awkward.

The public headers and the per-data structure directory will retain the long form name, to aid comprehension. Possibly the filenames will retain the long form too. However, the prototype must be shortened.

Question is, to what?

These following seem to be the three options;

lfds700_ahash
lfds700_aslist
lfds700_aubtree
lfds700_mmqueue
lfds700_ssbqueue
lfds700_mmringbuffer

===

lfds700_a_hash
lfds700_as_list
lfds700_au_btree
lfds700_mm_queue
lfds700_ssb_queue
lfds700_mm_ringbuffer

===

lfds700_hash_a
lfds700_list_as
lfds700_btree_au
lfds700_queue_mm
lfds700_queue_ssb
lfds700_ringbuffer_mm

Progress

Just finished the first pass of the API docs for queue_spscb 🙂 the first full set of docs for an API.

Still wrestling with one last design question – API names.

For example, we have “lfds700_addonly_singlylinked_list”. So, you know what it is from the name, but the name is long. Currently, that name is fully propagated; the directories have that name, the files have that name, the prototypes have that name.

The reason for it is so people coming to the library can immediately and inherently know what they’re looking at.

I’m thinking though (and this was how it was, until I made the full name fully propagate) I could keep the directory names long form, but change the filenames and prototypes to a shorthand, like this;

“lfds700_aslist”.

Much more compact – but now you rely on the user somewhere seeing the long name, because without it, it’s not lear what that data structure is.

mySQL leap second bug!

I’ve just experienced a leap second bug!

https://blog.mozilla.org/it/2012/06/30/mysql-and-the-leap-second-high-cpu-and-the-fix/

mySQL when it passes through a leap second goes to 100% CPU on one core.

You have to manually set the date to fix it.

Wow!

Update

First pass at getting the Windows kernel builds is done, for WDK 7.1 and 8.0.

Linux tomoz.

Status update

Reinstalled VC2012 on a fresh VM and have just brought all the VC solutions back up to date.

Now making a clone of the VC2012 VM and adding WDK 8.0 to it, for that build.

After that, onto an Amazon Linux VM for Linux user-mode and kernel-mode.

Amazon addendum

As per earlier post – I tried ordering from Amazon using Tor.

First attempt, password reset, order cancelled.

Second attempt, ditto but also your account is locked and you are NOT told this.

Time for the fix – one to two days.

Turns out of course it ALSO locks your AWS account.

So if you had anything expensive running – tough. You cannot turn it off.

So there’s one hell of a booby-trap here. Order twice using Tor and you can’t access all those expensive by-the-hour VMs you have.

Release incoming, believe it or not

So, I was working away at SMR, debugging the new implementation, then work became ultra busy for a long time (like, minimum twelve hour days) and I lost my mental state.

What I’ve decided to do for now is strip out the SMR stuff, and the benchmark tool, *and just get a release out*.

I’ve just done the necessary and the test application has just passed under debug.

I no longer have access to an ARM platform, but I’ve ordered (tried to order – Amazon foiled my best efforts) a quad-core Pi, and I’ve applied to the GCC compile farm, to get access to 64 bit ARM and POWER.

So for now, it’ll be Windows and Linux, 32 bit and 64 bit, user-mode and kernel-mode. The Linux build in theory works for Android too, but not tested – I’ll set up a build platform for that, but not yet.

So now – I need to make everything build and pass its tests on all platforms, polish the code (need a good polish – been so much work everywhere for so long) and then write the docs.

Amazon rejects Tor Brower, with a certain (inadvertant) prejudice

Bloody Amazon.

I’ve moved over fully now to Tor Browser.

I order a Raspberry Pi, to use for the 32 bit ARM platform.

Hour or two later, in bed, an email – suspicious activity, password cleared (you’ll need to reset it), all pending orders cancelled.

I swear and go to sleep.

Morning. Reset email. Find there’s no record of the order, half of which was made up of specific items with serial number I hunted up on the web and no longer have. Replicate work done. Re-send order.

Four hours later, an email – suspicious activity, password cleared (you’ll need to reset it), all pending orders cancelled.

I contact Amazon.

The guy tells me he needs to issue an “account reopen” form and it’ll take one to two days.

I explain I had already reset my password and that had worked just fine.

He says, and I quote, “that is the reason why we need to use the account reopen form”.

I explain to him about Tor and that I want Amazon to stop fubar-ing my account because my IP looks odd.

He looks into it and tells me yes, it’s likely to be Tor, and no, there’s nothing we can do about it, asks me if there’s anything else and moves to end the chat.

In the meantime, I try resetting my password again.

I can reset it – but I *can’t* log in.

I tell him.

He says “yes, this is why we need to use the account reset form”.

THEN WHY DID YOU TRY TO END THE CHAT BEFORE MAKING SURE I HAD THIS DONE???!

AHHHHHHHHHH!!!!!!!

So – Amazon reject orders made via Tor, and with some (inadvertant) prejudice – try it twice and you’re locked out of your account for a day or two.

Firefox has jumped the shark

For reasons arcane I am setting up a Windows VM, and I’ve just come to install the latest Firefox.

I have discovered that firefox now installs, by default, a permanent background process which nominally at any rate automatically updates the browser.

However, FF can just as well perform this check when it runs. There is no need – no justifying need – for it to have a *process* permanently running on a machine. I am *very* much of the view that it is incredibly suspect for any on-demand application to attempt to get a *permanent* process running, and that it is doing so for reasons other than actual practical need. Realview comes to mind – remember them? Skype does this too, as does Google with its Google Talk plugin, and Oracle do this with Java. You’re in bad, bad company, Firefox.

It gets worse. FF has just started up. The init screen is “Sign in to Firefox and you’re good to go” – and this is present as a MANDATORY step. There is NOTHING to indicate this is optional and everything about how it is done makes it look to the user like this is the next, mandatory step.

My stomach is turning over. This is disgusting. Repellent. This is what I expect and experience from Google.

Man, Firefox is out now. Slow and bloated was bad but not terminal – but this? I won’t use Chrome for the same reasons I won’t use Firefox; an unmet expectation of decent, honourable conduct. You know as well as I do they are if you log in recording against your account all of your on-line browsing; and I wonder now if all browsing is being recorded anyway, just not against an account, if not logged in?

I need to install a firewall on my machine so I can monitor outgoing traffic – rather than defend against incoming traffic!

So, the others. Chrome – ha ha ha. IE is the pits. Chromium, maybe?

(Addendum. On install, I unchecked “make FF default”. I see now having installed not only has FF been made default, but it also checks to see if default on every start. I had this fucking problem before from one of the big dodgy companies too – Skype I think it might have been – it would royally ignore the default setting you picked during install. You’d think it was just incompetence, but it feels like arrogance or even intentional evil – I mean, I’m installing here on a brand new default Windows 7 install. Any quality control worth a dime would have found this. Reminds me of MS and the Windows 98 uninstaller being broken and they never noticed).

(Addendum two. Turning off browsing history in FF now requires a browser restart. That’s new. What have they been doing now with tracking/recording your browsing so that this restart is necessary?)