Making sense of random movements

Steven Barnett

Retirement

Not entirely by choice.

Retirement

Well, retirement came early and a bit sudden. After a lifetime of working with computers ranging from the big blue IBM S/370 to the iPad/iPhone, you would think I wanted a rest from computing. Not on your life.

I begin my retirement with a few projects on the go.

Web Sites

UAV Test Pilots is intended to help build a small business. They're massively experienced UAV and model aircraft pilots - probably the best in the world. This is my small contribution to helping get them noticed for their skills and knowledge test piloting UAV aircraft.

HVMA is the other side of the UAV test pilots venture. People spend vast amounts of money on their aircraft, so getting the right advice up front is essential if they're not going to see their pride and joy come down in flames the first time they fly it. The HVMA site tries to put some structure around the decisions that need to be made throughout the process of building and flying High Value Model Aircraft. This site is currently under construction.

Coding - Google Flutter

After so many years coding in Windows, it seemed a time for a challenge, a fresh learning experience, as I try to get my head round Google Flutter. Backed by the excellent course from the Learn Flutter & Dart to Build iOS & Android Apps course by Maximilian Schwarzm├╝ller, I managed to complete several non-trivial applications and indulged myself with one of my own. Be kind, this is my first go at Flutter!

Apple development

Several years ago, when Objective-C ruled the Apple eco-system, I had a play with XCode and Apple development. I didn't like it! Fast forward and we have a much more civilised programming language in SWIFT, so I threw together a couple of iOS apps for my own pleasure. Then I stopped again due to work pressures.

Guess I'm back in the Apple eco-system again.

Training: Firstly, a call out to a truly AWESOME iOS course from Sean Allen. For such a long time I've had the basics of creating an iOS app but, having learnt from online courses where the programs you write are entirely trivial, approaching a larger project is a bit scary. It's all the bits they don't teach you, like proper project organisation, proper componentising of the app and taking a clean design and converting it to clean code. Sean does that in bucket loads.

Mac Application: I'm also writing a Mac application. I have no idea how to do that and it's definitely not easy. As a Windows programmer, I just knew how to create Windows desktop applications. It's plain and simple. Then you get into the Mac world and nothing makes sense. You do a lot more work for yourself and missing a step generally means you end up with a blank screen and a cryptic exception. It's a very steep learning curve and the web isn't exactly flooded with Mac tutorials. Anytime you search for Apple tutorials, they're inevitably skewed to iOS development.

Mac Development Book: As part of my learning curve, I'm putting together a 'book' of things I learn along the way. It's not exactly production ready, nor is it intended to be a commercial enterprise. My intention in the writing of Random Acts of Mac Development is to end up with a reference to how I think things work and a pattern for any future development I undertake on the Mac desktop.

Markdown Deep for Swift: One of the many hurdles I face with the Mac app is that it needs to support Markdown for the formatting of text. For many years, I used a package called MarkdownDeep, which is a C# package. It does everything I want from a Markdown conversion tool. Sadly, as a C# library, it wasn't going to work in SWIFT. So, I've spent a couple of months converting C# to SWIFT to end up with a SWIFT version of the library. MarkdownDeepSwift is the end result; it passes all the original Markdown Deep tests and a few of my own, so I'm confident that it's a true conversion of the code.

I've also started reading books again in my spare time.

Software Skills

  • Google Flutter
  • HTML & CSS
  • SWIFT

Testimonials

Don't take my word for my abilities, take a look at other peoples opinions about me.