30 Day Health Reboot 2023-05-02

I’ve really been dogging it on the health front. Metrics, self graded, have been in the toilet since middle of last year. To be honest, they were only good for a total of three months last year. Diet and exercise, captured by those metrics, was shit and it is reflected in my cardio fitness, strength fitness, body weight, and body composition all being in the toilet. When I had my comprehensive annual physical and blood work I figured my middle-aged body was probably going to show signs of being worse for the wear. Thankfully everything was still in line. That’s a dodged bullet not a sign that the status quo is okay though. So here I am one week into my 30 Day Health Reboot.

(More ...)
Dart Result Monad Library Update 2.1.0: The withResult Method 2023-04-18

I just recently pushed an update to my Dart Result Monad Library bumping the version from 2.0.2 to 2.1.0. For this version I added a feature that I’ve kept running into with my development of Relatica: wanting to do something non-transformative with a result and then just pass it on to the next stage. For full details on Result Monads and my initial implementation check out my original blog post and/or this post on the Dart Result Monad 2.0 release updates .

(More ...)
Apple False Advertising History 2023-04-17

My first computer was an Apple //c. I have been an off again/on again fanboy of Apple several times through my life. They are my go-to mobile device manufacturer right now. In the past couple decades though I learned to take their advertising claims with great skeptecism though. I’m reading through this 1978 Byte Magazine special Pascal issue . One of the things I love doing while reading this old magazines is look at the ads. When I ran across this ad from Apple Is was admittedly taken aback by how brazen their claims as market leader were. It seems that exaggerating beyond the usual marketing schtick and outright lying goes back to Apple’s earliest days.

Top of the 1978 Apple Ad with the headline reading: Why Apple II is the world's best selling personal computer.
(More ...)
Dart Web Client Programming Head to Head: Flutter, Jaspr, and Dart Web 2023-04-10

A big part of the Dart Snake project was so that I could evaluate the experiences of using Dart for server side development. A year ago I looked at the REST server landscape with this post and how Dart compared to Go in that respect . The Dart Snake project instead let me look at how well Dart worked for the front end by doing three different implementations for the web: Flutter Web, Jaspr, and plain old Dart Web Standard Libraries. In this post I compare these technologies with respect to the development experience and performance. If you’d like to play any of these versions to compare directly you can find the links below:

(More ...)
CSS Naked Day 2023-04-09 A friend on the fediverse pointed out that today is CSS Naked Day . It is an annual tradition going back to 2006 to “…promote web standards. Plain and simple. This includes proper use of HTML, semantic markup, a good hierarchy structure, and of course, a good old play on words. (More ...)
Dart Snake Project Part 5: Dart Snake Jaspr 2023-04-06

For the final segment in the The Dart Snake Project we will create a web implementation using the Jaspr Framework . Jaspr is a web app framework that works for building both server side rendered and client side rendered code. This will allow us to write the app with some of the niceties we had with Flutter while using actual HTML/CSS constructs not the “rendered in a browser” style web technology that Flutter Web provides. The code for this project, as well as screenshots, and other details can be found at the dart-snake GitLab project page . This is open sourced under an Apache 2.0 License.

(More ...)
Dart Snake Project Part 4: Dart Snake Dart Web 2023-04-05

Dart’s heritage is as Google’s 2011 attempt to have a better language for writing websites than JavaScript. For various reasons TypeScript came closer to the mark for developers and Dart has gone on to have utilization in other areas. But its web app heritage is still there for the world to use. This post continues The Dart Snake Project by doing a web app implementation using nothing but the core Dart libraries. The code for this project, as well as screenshots, and other details can be found at the dart-snake GitLab project page . This is open sourced under an Apache 2.0 License.

(More ...)
Dart Snake Project Part 3: Dart Snake for Flutter 2023-04-04

The core driver of Dart usage today is definitely Flutter . It is what got me into using Dart, which I now obviously love. The thrust of this series is about using Dart for deployments besides the mobile and desktop space which Flutter is designed for. Yet that is the biggest deployment target. It would therefore make sense that I show how to implement Snake in Flutter as well. The code for this project, as well as screenshots, and other details can be found at the dart-snake GitLab project page . This is open sourced under an Apache 2.0 License.

(More ...)
Dart Snake Project Part 2: Dart Snake for Command Line 2023-04-03

The first Dart Snake target in this project I will discuss is targeting the command line interface (CLI). Here I will show how we create a Dart command line application that will use the snake library from the first step with the ncurses library to make an interactive CLI app. The code for this project, as well as screenshots, and other details can be found at the dart-snake GitLab project page . This is open sourced under an Apache 2.0 License.

(More ...)
Dart Snake Project Part 1: Showing Off Dart (And Learning New Things) 2023-04-02

As I highlighted in my teaser post about my “Snake Game Written in Dart in Many Ways” , I’ve successfully written my first game ever, Snake, using just Dart but targeting almost every target you can think of: command line interfaces (CLI), desktop apps on Windows/Mac/Linux, mobile apps on iOS/Android, and websites. With respect to the web deployment this allowed me explore the entire range of how to write a web app with Dart: from hand-coding your own web app in plain old Dart to using the Jaspr framework to have a more Flutter-like experience but using traditional website components, to Flutter Web essentially rasterizing the Flutter app in the browser.

(More ...)