Ghost of Clippy-past

Cortana has some great functionality crippled by an obsolete, out-of-date set of concerns generated, perhaps, by Windows 8. Cortana wouldn’t be terribly out of place in 2010, but today?
A few days ago, Windows bamboozled me. A little pop-up appeared (grr, and stole focus): “If you tell me which teams you like – or don’t – I can tell you how they are doing”. My third thought(*1) was “who is this message from?!”
I’m just guessing it’s from Cortana, if so it seems like the Cortana team is for some reason resurrecting the worst of Clippy… (*2)
Thanks to daily interaction with Google, Amazon, Facebook, Siri, etc, a modern user will interpret “Ask me anything” on a device differently than they would have in 2010.
disablesearchIf your plumber has to google every step of a basic repair job for you, you’re going to try another plumber next time. You don’t hire an accountant on the basis that they “know the URL for TurboTax”.
When someone says “ask me anything”, the response “you can look that up on the web” quickly becomes a contradiction of the original statement.
Eventually, it feels like they lied.
That’s the current presentation of Cortana.

Virtualized desktops vs multi-boot

I’m trying to figure out a good way to compartmentalize/containerize my various Windows desktop usage modes: Development, gaming and general use. This seems like a good way to combat a number of things such as the surface-area of each model (exposure to risk) and things like registry bloat etc.

With fast boot times, multi-boot isn’t a terrible idea. But I kind of have this notion in my head of having a graphical Dom 0 (Win10, Ubuntu, something) where I can see my guests as windows and use them thusly, paste, drag’n’drop between them, etc, but have the option to quickly transition them to full screen at any time.

I found (thanks to Bill Hulley) that KVM can do some of this ( but it sounds brittle/fragile to me, and I’m increasingly wary of this level of hackery for supporting such aggressively-evolving systems as GPUs, stuff gets abandoned, APIs and ABIs change, a maintainer drops out…

Having two user accounts might be an option, but they share the same HKLM and things like MSVC aren’t great at being discrete.

Windows Containers sound interesting, but I don’t know that there’s a way for the app inside a container to expose a GUI on the host, all the instructions I’ve found so far are for server-based containers. So for now, I’m just gonna continue putting all my eggs into the one basket :)

Would the interviewer be right?

Please avoid stating which problem these are solutions for.

During a recent discussion the following code was suggested

int desc(const Node* node, int d)
  int l = d, r = d;
  if (node->l) l = desc(node->l, d + 1);
  if (node->r) r = desc(node->r, d + 1);  // edit: thanks, Nico
  return max(l, r);
int d2(const Node* root)
  return root ? desc(root, 1) : 0;

One of the folks in the discussion shook his head and said: “If this was an interviewer, they would want you to do it in one function, though”. Then he presented this:

int d1(const Node* root)
  if (root == nullptr) return 0;
  return max(d1(root->l) + 1, d1(root->r) + 1);

Then he made the assertion “this is what an interviewer would be looking for”.

Drone registration

Have you registered your drone? It turns out you actually register yourself as a drone owner – rather than your individual drones. You get a single, 10-digit, UAS Certificate Number that you can put on all your drones.

It costs a hefty $5 unless you register before the 20th, in which case you save $5! o_O

Happy new year

To the random individual still tuned in, a happy new year to you.

I’m still at Facebook, no evidence of it being the evil empire folks want to believe it is. Rather, a collection of folks who worry about the same things you do, who care about privacy not least because their mom is on Facebook too.

I’ve been playing Crypt of the Necrodancer, Faster than Light (which I didn’t play when it was hot and new) and a lot of Kerbal Space Program.

I’m starting to feel I’m done with KSP now, though; I can launch to orbit, even recover small payloads from orbit with a recovery ship, I’ve built a (crappy) station.

I squeezed some extra longevity out of the game with mods including MechJeb (an autopilot, so I could focus on building rather than flying, because I just find the flying part tedious key-holding). But I haven’t flown a rover, built a base on another planet, manned mission to Duna etc.

It may be because I don’t feel “free” to experiment with stuff before I launch it into space. I’ve built rovers and driven around KSC with them but I’ve no clue how I would get it into space and drop it anywhere useful. (It doesn’t help that stock fairings are broken in 1.0.5 and turn any rocket into Tippy McSplodey).

Development-wise, nothing exciting to report at the moment. I’m building up a hankering to get my teeth into C++14 and ++17 properly, but I’m lacking a good project to work on and a good description of what the changes are to actually rustle up a project.

Talking with the new team at CRS/Playnet, I’m filled with a lot of confidence. I think the clean break is going to prove good for the guys, they’re clearing away the dead bodies that the old team — self included — were stumbling around. I’m really looking forward to them having a successful 1.35 launch. We left them a lot of landmines, so … be gentle on them.

Yes, Klesh

Enough? :)

Why not to buy the Surface.

I’m writing this on my Surface 3, I’ve found it amazingly robust, rugged, adaptable and insanely portable. I’m relatively excited about the Surface 4.

One thing will keep me from upgrading, a foot MS have chosen to keep firmly in the laptop ballpark:

No USB charging.

I’m not faulting the inclusion of a custom charger connector, but the lack of a way to feed the device power via it’s USB port or a USB-to-charger cable.

It’s precisely because the device is so adaptable and handy that this becomes an issue. USB ports are everywhere these days. But for power, the Surface is utterly reliant on the custom charger brick.

Star Citizen development: Training.

(I’ve been writing this over the last week or so, and I’m no editor so apologies if it’s a little jagged)

I got into the take-off training in Star Citizen. It made the hairs stand up on my neck and arms.

Let’s put the first card on the table: It’s alpha or pre-alpha or something. Early development.

Ok – the experience should be gauged accordingly.



With the availability of cheap quads with cameras, and a desire to get out of the house a little more often, I finally have enough justifications to explore my lifelong interest in RC flight.

I’m going to post my experiences and thoughts based on the Hubsan X4, Blade 180qx and the Syma X5SW – that’s the order I got them in.

In particular, this has been torturous for me. There’s so many sites with bits of information and there seems to be a language/cultural barrier resulting from the majority of products being made in China, and the majority of available products being the same devices poorly rebranded (one display unit I saw was boxed as something but the device was literally just the X5C).

4 billion stars

Elite Dangerous has 4 billion+ stars. Cool concept, and as a programmer I can see how the tech behind that would be neat to develop. But I sort of feel there should have been a meeting where a designer stood up and slammed his fist onto the table and said “NO! That’s stupid”. “Cool” does not automatically translate into “fun”; “cool” is a few degrees from “cold”.