Extensible Dart Classes with Extension Methods

I was recently tasked with creating a general-purpose unit conversion class. The class needed to be easily extensible so new conversions could be easily added at any time. It also needed to throw an exception when an unsupported conversion was attempted. Furthermore, I was told that the conversion method needed to take in two string

Introduction to Algorithms with Dart

Once a novice developer learns the basic syntax of their programming language, and begins writing anything more than simple hello-world type apps, they start to encounter problems. At first, these problems seem daunting. To find answers, they usually start hitting the various software development forums and social sites where their kindred spirits tend to congregate

Dart: “static”, “const”, and “final”

With the droves of developers flocking to Dart/Flutter as a cross-platform development solution, I tend to see the same questions come up again and again on Slack, Stack Overflow, and Discord as well as many other forums. One such question is What is the difference between “static”, “const”, and “final”? For the uninitiated, they can

Multi-Group Checkboxes in Flutter

I spend a lot of time on the Flutter Slack channel (thanks Scott!), and I try and help as many people as possible during my breaks from my own work. Today I was asked how to implement multiple selectable groups of checkboxes in Flutter. I offered a solution which as is often the case, was

Flutter Navigation with Confirmation

I spend a lot of time in the Flutter slack channel answering questions to help others. Sometimes I am asked a question that seems trivial at first, and then I realize I’ve been working with Flutter since 2017 and even I sometimes struggled with the simplest of tasks when I started. So, when I can,

Design Patterns In Dart

This entry is part 2 of 2 in the series Design Patterns In Dart

GoF Design Patterns in Dart Back in the ’90s, a group of four authors released a book that became standard reading for any self-respecting software developer, the Gang of Four’s Design Patterns book. Along with Fred Brooks’s Mythical Man-Month, Don Knuth’s The Art of Computer Programming series, these books are still fundamental to our profession

Design Patterns In Dart – Part 2

This entry is part 1 of 2 in the series Design Patterns In Dart

The Singleton Pattern From time to time you’ll find you need to ensure that your code creates only a single instance of a class. This often occurs in hardware drivers or certain OS sub-systems. It’s not a feature you need often but, when you need it, you really need it! The singleton pattern is one

Dart / Flutter State Management with Okito

Recently in the slack flutter forum, the Okito package was announced. I took a quick look at the package but at the time didn’t have time to investigate it fully. This past week I got the chance to look the documentation over and produced my first ever Youtube video using Okito as the subject. In

Flutter Reaches 2.0

Flutter Reaches 2.0
Flutter Logo

Compiling Legacy Dart/Flutter Code with Sound Null Safe Code Anyone who knows me knows how I feel about flutter, Googles (fairly) new cross-platform toolkit. I started working with flutter back in 2017 and it has been a lot of fun! This past week Google held a virtual event for flutter called Flutter Engage. During the

Implementing Stack Oriented Languages – Part 4

This entry is part 4 of 4 in the series Implementing Stack Oriented Languages

Strings and Variable So far we’ve added lots of stack operations and a couple I/O routines with the KEY and EMIT keywords. At the moment if we wanted to write a simple “Hello World” application we would need to place each character on the stack and pop them off using the EMIT keyword. This is

An Introduction to Graph Algorithms

An Introduction to Graph Algorithms
This entry is part 1 of 1 in the series An Introduction to Graph Algorithms

This post marks the first in a series of posts I will complete on graph algorithms. The code will be python however, I will write the code very verbosely so it will be easily ported to your favorite programming language. I will assume you have some programming skills but are still a novice or that

Implementing Stack Oriented Languages – Part 3

Implementing Stack Oriented Languages – Part 3
This entry is part 3 of 4 in the series Implementing Stack Oriented Languages

Before we move on to adding more features to our language, I think it is high time we combine our disparate parts into a single entity.