I've been in a bit of a developer rut. It's not lack of projects I want to do and can work on. It's more like analysis paralysis on some, death by a thousand cuts aversion on others. So I piss away time on social media. I decided to try to get some dev momentum by picking up something I first tried back in 2020 the last time I got dev writers block: The Ray Tracing Challenge. Back then it was Kotlin and I only got as far as basic ray projection before wrestling with the Cucumber test system and "real work" derailed me. This time I'm going to be trying it in Dart and Flutter. My progress, or lack thereof, will be in this repository with a corresponding plain text developer log. #programming#DartLang#flutter
I never realized you could check type with switch and if-case statements, but there is some nuance there. I also never did but see why it is generally not a good idea to use the runtimeType of an object to do a similar comparison #DartLang#flutter Dart .runtimeType Caution!
I often run my Flutter apps on my Mac and Linux desktops even beyond debugging but they are essentially the mobile app UI/UX running in a desktop window. I have an unwieldy spreadsheet "app" I have decided to convert to some Dart/Flutter code. I was originally going to just do my usual dev process but now I'm thinking I may try to make a legit desktop version of it. I'm curious to see where things are with respect to features like menus, toolbars, MDI (if I chose to do that), etc. I haven't explored true desktop UI/UX in Flutter since Flutter Desktop first hit beta back in 2021 so this should be interesting :). #flutter#DartLang#FlutterDesktop
@trematerra I have explored that a bit but haven't tried more than "hello world" level stuff with it. I do have their Version 1.2 keynote in my YouTube queue for when it goes live in a few days though :) #DartLang#Flutter#ServerPod
I did a thing. OneLoneCoder did a C++ Windows Console first person shooter demo just for the hell of it. I decided to see if I could easily get that going in #DartLang. Yep :). The Dart version works on Linux (the best), Windows (2nd best), and MacOS (the worst) too! I may write a blog about the details later but in the meantime enjoy the code and videos of each platform on this GitLab repo I setup. #DartLang
I've posted some small tweak updates to my Result Monad Dart library. This adds a 'withError' method to go along with 'withResult' and it also makes all of the Result methods available on the FutureResult for chaining in async calls.
JSON not allowing trailing commas kills me every time. I'm so used to using them as a matter of course when writing code. I'll pop champagne if the spec is ever updated to support it. It's the little things... (trailing ellipsis unnecessary but intentional) #programming#JavaScript
How the hell did I miss this implementation typo in Relatica’s spoiler alert code? I know how it happened. Dart string interpolation uses ${} for inserting expressions and I apparently mis-typed a second } instead of ). But I can’t believe I didn’t see the typo until today. Sorry folks :( #relatica#friendica#DartLang#flutter
I am happy to try LLMs that run locally in my IDE. I never want to stream all my data to OpenAI or any other service's data vacuum as I code. Which leads me to ask which of the two categories do these plugins fall into, JetBrains? I'm disabling them because they aren't doing squat for this Dart/Flutter developer anyway right now but I'm not going to activate them until I'm certain they aren't streaming every flipping keystroke back to the usual suspects. I'd say state explicitly in the overview whether it runs local or does network stuff or even better have a setting to disable all network traffic of this sort across the board since plugin manufacturers could be up to similar things. Hell maybe I need a firewall rule to block outgoing network traffic from the IDE, assuming I could do that without breaking all the local network traffic needed to connect to apps, emulators, etc. for debugging... #JetBrains#JetBrainsAI#OpenAI#ML#AI#DartLang#flutter
Looking into Dart's DateTime class for something and saw it has a hardcoded maximum elapsed milliseconds from epoch of 8.64x10^15 (plus or minus). I figured it'd be a 2^64 or 2^63 type number. Ah well watch out in ~274,000 years when this Y2K type bug may crop up... :) (with 63/64 bit numbers it'd go out 1000X longer). #dartlang#DevHumor
Speaking of IntelliJ updates, I do hate when the Flutter or Dart Plugins are broken right after a release...like they apparently are today. I often wonder if it is an overly stringent version check or a legitimate problem. Thankfully today I can just get by on CLI and using IntelliJ just for the editor. #flutter#DartLang#JetBrains#IntelliJ
I've been experimenting with Riverpod a lot the last couple weeks and am now ready to try it in a greenfield project I've been meaning to write for some time. In lieu of a good design patterns/best practices book (if one exists I haven't found it anyway) I've been doing as best homework I can with finding videos/blog posts and little side experiments. One thing I discovered earlier this week was nested providers which I was thinking I may want to use to replace another idiom I had been using of having a provider that takes an item ID. Based on this presentation by @randalschwartz it sounds like that is not the way to go. In the video he does show how to do various scoping, both literal scope and logical scope, of providers in Riverpod. #riverpod#flutter#DartLang The Riverpod "Global" Myth
@cliftonlabrum When I first started Flutter and couldn't get my head wrapped around state management Riverpod was the new hotness and I just couldn't get there. I did get my head wrapped around Provider. When I wrote this post series to show how flexible Dart and Flutter were for deployment targets I had no choice but to use something other than Provider since there were non-Flutter implementations. I decided to give Riverpod a second try and really liked it.
Me : Use #dartlang
Me : Want to parse rss feed
Me : find a #dartlang rss feed lib
Lib : be deprecated
Me : So now I have to ready the rss spec and write my lib ?
My project : And here we go for a 3 months side project !
I've avoided using stuff like Freezed because the code generation aspects of Dart/Flutter don't integrate seamlessly with the IDE like I had with Java/Kotlin equivalents. Now that I've done a deep dive on trying to learn Riverpod it seems that code generation really helps make Riverpod a lot easier to work with. If I stick with RIverpod maybe that'll be what finally brings me over on using gen tools like Freezed too #DartLang#Flutter#programming#Riverpod
> Why build a cross platform social media client?
Trying to see how far I can stretch the capabilities of #flutter before I want to pull my hair out and beat my skull into the keyboard. So far, not many dents in the desk (or my head for that matter). The framework and language (#dartlang) have been super simple to pick up and run with.
Continuing with my joy levels about the Dart 3 switch statement, yes it is as powerful as Kotlin's ever was. For example one can now do something like this (admittedly contrived but you get the point) #dartlang#dart3#flutter
I present the first named release of the Friendica mobile/desktop client: Relatica. It is still very much a work in progress but I'm going to start opening it up for beta usage (early beta). For iOS that will mean me letting up to 100 people into the inside testing team (Apple's limit). For the other platforms I'll be posting binaries/packages/install instructions for Android, Linux, macOS, and Windows in the coming days as well. I also setup a Relatica Matrix room for interactive discussions with me and other users. The README on the GitLab repo will have all those sorts of details. Enjoy! #friendica#FriendicaDev#relatica#flutter#DartLang#fediversegitlab.com/mysocialportal/rela…