Skip to main content

Posts

Windows Subsystem for Linux Internals

Background Windows Subsystem for Linux was developed by Microsoft to enable command line programs compiled for the Linux operating system to be executed on Windows. To explain the architecture I would like to show the evolution of OS design and how that has enabled this subsystem to be built. Dark Ages (or Back in the Day) Microsoft's MS-DOS was quite primitive in its design (compared to today's OS's). It is a single user OS that can execute one process at a time. DOS had an application programming interface to allow user programs to access some hardware in a device independent way, but only for character-based applications. This allowed applications to display graphical elements emulated with text characters as these screenshots of Microsoft word for DOS show: This is Microsoft Word version 1. To use these programs you had to remember key combinations to bring up the menus and used the cursor keys to navigate around the screen. If the a
Recent posts

What does "Full Stack" mean?

I've been a software engineer for a little while and I see the term "Full Stack developer" more and more, but what does it mean? Okay, let's walk through what a complete system will comprise of and see if we can work it out. UI First (from the users perspective) is the UI. It's how they interact and really all they care about (as long as the application does what is expected of it. Here is a list of some UI technologies that I know of AWT Swing Qt Android XML MFC and VB OpenGl Vulkan Communication Protocol Next up is the communications protocol (as most applications these days are a thin UI talking to a backend server (we've gone back to the mainframe era!) RPC FTP SNMP SMTP DDS ActiveMq/RabbitMq Network Layer The communications protocol has to be transported between the client and the server somehow, so here we have the network layer IPX/SPX Token Ring Bluetooth USB Server So now we have data being transferred between t

School Story

When I was at school (yes I can remember that long ago, just) I remember that I submitted a story (I guess it was a homework exercise) and the teachers would not believe that I wrote it myself. During NaNoWriMo 2018 I finally got round to recreating the story as best I can remember. Story “ Detention sucks.  Especially in winter. ” That’s what I was thinking as I wandered towards the pedestrian path behind the school that would lead me to the main road. It was November, and it was now dark and misty. I hated it when the days started getting shorter. I didn’t like the dark. I was a big fan of horror. I enjoyed watching films and reading books that scared me. Unfortunately for me that made walking home alone along a dark path a bit nerve-racking as my mind would remember all the stories where a lone teenager would get to be walking alone in the dark and some monster would grab them. The path wasn’t lit, and it had trees on one side with a high fence on the school side. I hu

First race of 2019

As I am aiming for a middle distance triathlon in September, I want to make sure that I can complete it before shelling out the (rather high) entry fee. my main concern is that my knees cope with the run section which will be 21 Km (a half marathon). In the past, I have had a bit of trouble with my knees playing up. I thought it was because I had run too much (increased my training too quickly, too many races close together, that sort of thing). So for the last 8 months, I have been trying to acclimatise my knees by running around 5km three times a week To take stock of how my knees are with running, I decided to enter a 10K race. The race I entered was the Bristol Race For Chocolate 10K. It sounded like a fun race and was on 27th January, which would give me plenty of time to train for my main race in September. I wanted a 10K as it is just under half the distance of my target middle distance and if my knees cope with that then I have plenty of time to increase the distance up

Triathlon Training in the new year

So, my 2019 training has got off to a good start. I'm running regularly and my knees seem to be holding up. I've got a training plan to get me to a middle distance triathlon in September and I am managing the run distances I have set myself. I need to find some longer cycling routes to work and ones with a few hills too, but that shouldn't be a problem. my weekly cycling distance is okay, I just need to move to get my ebike to be doing less of the work. last week I did use my normal commuter bicycle and managed the whole four days as well as my runs, so that was a really good sign. Swimming won't be an issue, I have always found that to be the easy part of a triathlon (not that I'm fast, but I can keep going, and I did manage to swim the distance within the cut off time when I tried the ironman 70.3 last time) The main worry about going longer is my knees. I've got a 10K booked in late January which will test my knees out and I'm hoping that they hold

Creating a Watch Face for Android Wear OS 2

Step 1 - Setup my watch for development I have wanted to create a watch face for android wear for a while, but as no new watches were being released my old Moto 360 watch running wear os 1.0 got out of date and I stopped using it. For Christmas 2018 I got a new wear os watch running wear os 2.2 (android os 8.0.0). it has a round 400 x 400 screen and I decided to finally get round to creating myself a custom watch face for it. The first thing I do with all my android devices is to enable developer options. if you don't know how to do that then you can find the method using a google search. I won't give it hear as it opens up all sorts of options that could make android become slow/unusable. Once I had developer options enabled, I turned on USB debugging. This watch (as opposed to my old Moto 360) has a USB connection to the computer, so I don't have to use WiFi debugging (which has to be set up for each debugging session). now on to the watch face creation. St

2019 is Here

So, 2019 is here and it's going to be a big one. Since I started at Scott Logic last year I am getting much fitter. being just about 10.5 Km door to door it's an easy cycle (or will be once I get fit again). Also there are lots of us who like to go running at lunchtime. Well, they go running, I just try to keep up, and mostly just watch their backs head off into the distance. Of course trying to keep up will get me fitter and faster in the long run (I keep telling myself that). Last year, I finally got back into triathlons and I am now looking at which races I will be participating in this year (notice I don't say competing in, which would be a misnomer, I only compete to not come last!) Many years ago (around 2007) I attempted to complete the Ironman 70.3 at Wimbleball. I failed. I was far too slow on the bike leg and ran out of time. That was the first race I had not managed to finish. This year I am thinking about trying my hand at another middle distance race