Virtualized desktops vs multi-boot

December 3, 2016 Leave a comment

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 (https://bufferoverflow.io/gpu-passthrough/) 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 :)

Categories: Coding, Rants & Opinions

Would the interviewer be right?

October 13, 2016 Leave a comment

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”.

Read more…

Categories: Coding

Drone registration

January 10, 2016 Leave a comment

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

Categories: General

Happy new year

January 9, 2016 4 comments

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.

Categories: Coding, Gaming, General, WWIIOL

Yes, Klesh

November 16, 2015 1 comment

Enough? :)

Categories: General

Why not to buy the Surface.

October 11, 2015 Leave a comment

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.

Read more…

Categories: General

Star Citizen development: Training.

October 1, 2015 Leave a comment

(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.

Read more…

Categories: General