My last post is creeping up on two years ago. In a few days, it will be 15 years since I made my first post on this blog. If nothing else, don't let anyone tell you I give up on things.
It's remarkable both how things have changed in 15 years, and how they have stayed the same. I'm living in the same house. My kids were in preschool when I started this blog and now they are in college. I still do consulting, and I still love it, though these are challenging times for people with knowledge-based professions for sure. Perhaps I ought to do a series of posts on my thoughts on AI. (hint: It's amazing technology, but also overhyped and overpromised and presently on an untenable trend. It's anyone's guess how it will shake out in the long run. I try to stay up on developments and utilize what I can and try to avoid wasting time on things I feel are probably dead ends)
I hate making promises on this blog about future content, but here's to another 15 years of this. I'm going to try to post at least monthly, and also post less personal reflection, and more fun nerdy stuff my cult following has come to expect. (This blog is wildly popular in the Principality of Andorra). I think shorter posts might help keep frequent content easier.
Here are some updates on things I have blogged about in the past.
CNC
Sedition
Knockback
I love love love this little app so much. It's a puzzle/board game that I didn't blog that much about before letting this blog go fallow in 2018, but it's also still around. I missed some great blogging opportunities last year in that I spent a few weeks worth of development nights doing a total re-write of the GUI. Knockback was originally written using Xamarin and Xamarin forms for the UI. Xamarin was acquired by Microsoft and then discontinued. It was not possible maintain an up to date app with modern libraries required by Google using Xamarin. Microsoft's replacement for Xamarin/Xamarin forms is called "Maui". Maui, in my experience, has been plagued by growing pains, and this consistent feeling like it was a work in progress. I made a few false starts trying to convert Knockback to Maui when Maui first came out, and I kept running into things that were "not quite there yet". I tried again last year, and it turned out it was going to be enough work that I just decided to port the whole UI to Avalonia UI instead. I'm a super huge fan of Avalonia UI. It's a dot-net Xaml-based UI that has a very WPF-like feel to it, except I think they improved a lot of things compared to WPF. If you've ever worked with Xaml, you might now that there's a few different "styles" of Xaml. Maui is in the Xamarin Forms style, and Avalonia is definitely more a WPF style. I personally much prefer the WPF style of Xaml. I was very pleased with the result of porting it. As a bonus, I was also able to make a Linux port and a Web Assembly port of Knockback, those are two platforms that Maui does not support. That reminds me, I ought to publish the web version of knockback somewhere. I do still actually play this game pretty regularly. It has a lot more long term replay value than Sedition.
Straight Up Poker.
This project.... this project is, next to my family, the love of my life. I have so much fun working on this software. It's available on Steam, (Single player only) and on my Website (single and multiplayer). I have a mobile version too, and I need to get my act together and get the mobile out of beta, where it's languished for a bit. I still put new releases out about once a month, and add new features all the time. If you want to check it out for free, I have a couple demos. You can try the Android demo, or play the web-based demo here. It's built on Avalonia UI that I mentioned in the Knockback section above. This illustrates one thing I love about the Dot Net platform, you'd be hard pressed to find a development technology that is so seamlessly cross platform. The core engine is 100% identical shared codebase across all platforms and editions of the software. The 2D graphics engine for rending the cards and table is 100% identical across all platforms and editions of the software. That saves so much development time. In fact, the entire codebase has very few things in it that are platform specific. Audio output is one of those things, because audio APIs are dramatically different across different platforms. I still don't have audio support for Linux because after much effort, I was not able to get it stable to my satisfaction, and moved on to more important things. I don't think I'll be able to quit my day job with my income from this game, but it's immensely satisfying to get a few coins from something I built from the group up almost entirely by myself (My son did help with some artwork). I still really do love poker. Unfortunately, writing poker software does not translate into making me a better player. I still have a ton of features I'd love to add. Thought I am starting to run out of gameplay features, and might shift a little more into the post game and analytics aspects of the game, because poker people are big into that. I already have probability and hand odds simulators. I recently added a post-game analytics feature where it exports a bunch of stats about a game into a spreadsheet. (I wondered as I wrote that feature "how many games on Steam have an 'export to spreadsheet' feature? Probably not many.")Hardware stuff.
I do still love to mess around with hardware, though admittedly, I have been a little less involved with hardware on personal projects. I still do embedded development professionally, but I don't write about clients or their work on this blog. The fact is that I've always been a software guy first, and hardware second. It's also much easier to share my work with the world when it's just software they can download. I hope that if I can regain momentum with this blog, it will also inspire me to get back into personal hardware projects. I bought some RP2350 ARM microcontrollers from the Raspberry Pi folks recently because they seem super cool, and I had a potential work opportunity to use some(sadly I don't think that will pan out). .
Other stuff.
Astronomy/Astrophotography. That's a new hobby I've picked up in the last couple years. It was on my bucket list. It's also not a cheap hobby, though you can find ways to reduce costs a lost, used equipment, making parts yourself, etc. It's a strange hobby if you think about the fact that 95% of what your doing is photographing the same things that thousands of other people are also photographing. Why not just look at their photos? It's hard to explain, it's just fin. And hobbyists do sometimes make discoveries and find things no one else has found before. Space is kind of big. Computerized "goto" telescope mounts remind me in some ways of CNCs, you have a computer talking to a device over a data link, controlling /commanding actuators to move something to specific coordinates. It has a pretty steep learning curve which attracts me.
Diabetes. I was diagnosed last year with type 2 diabetes. It sucks. I feel like I only have it 75% under control, and that 25% has a habit of giving me a bad day sometimes. I had always though diabetes was mostly something overweight people or sugar addicts got. It turns out genetics have something to say too. I know that it will only become more of a challenge as I age, and the more I can tame it now, the better it will be for me long term, and if I don't tame it, it will chip away at my lifespan and my quality of life, so this is something I want to "hack" my metabolism, and hack my habits.
--P





