GitHub Actions workflow screenshot - cropped less

Preliminary Adventures in CI/CD with Flutter

In an effort to become a more well-rounded and full(er) stack developer, the time has come for me to embark on a path to understanding the world of CI/CD within the realm of Flutter development. I had, admittedly, put off learning CI/CD because, while I looked forward to automating the development and deployment processes, immersing

DCM lint fix: prefer-null-aware-spread | `...?playersMap['new'],`

Up Your Dart and Flutter Programming Game: Learning by Linting

Due to an innate burden that saddles me with self-comparisons of everything I do with the likes of highly talented software engineers, I can never consider myself to be a great developer (albeit context is everything, and I certainly aspire to be). However, in my pursuit of that ever-elusive aspirational goal, a few primary concepts

GitHub Copilot suggested code for List.of type cast error.

GitHub Copilot is pretty AWESOME!!

Just taking a few minutes to express a little nuanced gratitude for the GitHub Copilot AI tool. Practically speaking, in working with Dart, when creating shallow copies of Lists and Maps, I recently learned a primary difference between .from() and .of(): Using .from() will yield runtime exceptions while using .of() will reveal any potential type

KD-reCall welcome screen

Lessons Learned Refactoring a Flutter App from Provider to Flutter Bloc

Why refactor? Why choose Flutter Bloc? The story answering these questions could be categorized as a coding horror story, but the lessons learned were plentiful. Enter: Frankenstein I began the practical learning of Flutter app development by looking to create a suite of simple reminder apps. Being my first mobile apps, despite over ten years

A Tour of some of Dart 3’s Impactful New Features

I created a public Gist of my experience touring Dart 3’s new features via their Dart Codelab. Gist files from Dart’s codelab: Dive into Dart 3’s new OO language enhancements including patterns, records, enhanced switch and case, and sealed classes. It was intriguing and educational!! 💡 A couple of the features I recall learning or using

Certificate of Completion: Refactoring.guru

Dart and OO: Design Patterns, Refactoring, and Code Smells

I would like to thank Refactoring.guru for their insightful course on, well, refactoring (and code smells) at an Object-Oriented (OO) level. The course helped to set me on the right track for being more cognizant of my coding practices in Flutter and Dart. While some refactoring concepts might appear self-explanatory, the dissection of the refactoring processes in

TIL — `.nonNulls`

From the source code: flutterbincachedart-sdklibcollectioniterable.dart /// Operations on iterables with nullable elements. @Since(“3.0”) extension NullableIterableExtensions<T extends Object> on Iterable<T?> {   /// [Returns] The same elements as this iterable,   /// except that `null` values are omitted.   Iterable<T> get nonNulls => NonNullsIterable<T>(this); } dart:collection Source — changelog: https://github.com/dart-lang/sdk/blob/5d30f18892f1f825943a74e81ab02f27c2c6c26f/CHANGELOG.md#dartcollection Added extension members: nonNulls firstOrNull lastOrNull singleOrNull elementAtOrNull Obtained

Wrote an App; Got a Mac; Wrote another App

Or more specifically, “Wrote an app for Android; Bought my first Mac; Wrote another app for iOS and Android.” App development is a time-consuming, minutely detailed process, and there is little time for pause. Mar 29 First Flutter mobile app approved for Closed Testing in the Google Play Store. Apr 22 First interview for a Flutter Developer position (knowingly

Architectural Challenges: My Flutter Frankenstein

The Bottom line: I really like Flutter.It has been extremely challenging at times, but the lessons learned from those challenges have been mostly fundamental and insightful. My first major challenge with Flutter came in October when I found I could not update multiple Flutter widgets from various ‘reactive’ sources using Flutter’s Provider package. I got to

I got a Flutter Full Course Certification—Now what?!

The Goal: Find a mutually-accommodating position working on productive solutions involving mobile apps built with Flutter or JavaScript-based web interfaces before the end of the year. The Plan: → Phase I:  Begin learning mobile app development via Flutter. Complete. Yay! 🥈 → Phase II:  Focus on a solid project to continue to broaden and strengthen

New Browser Extension: Too-Much-Time

Browser Extension: Too-Much-Time This blog entry is to simply document the creation and publishing of my third browser extension now available in the Chrome Web Store. The extension was relatively light and more of a personal project to accomplish something during—and break the monotony of—my mobile app development learning curve (which is coming along nicely).