Flutter makes it easy and fast to build beautiful apps for mobile and beyond
Tbh I had no idea this was even a thing until recently. I've been working with Rails for a while now and somehow never came across it. So let me explain it the way I understood it. You know how we normally do associations in Rails, User has many Posts, Post belongs to User. Two different models, two different tables. Simple. But what if a model needs to reference itself? Like same table, same mode
Comments
Why I built another Ruby test runner inspired by Playwright Test Ruby already has great testing tools. If you are building Rails applications today, you probably use one of these combinations: RSpec + Capybara Minitest + Capybara Rails system tests Maybe Selenium, Cuprite, Ferrum, or Playwright through Ruby bindings These tools are mature, battle-tested, and widely used. So the natural question
Dart's concurrency model is unusual: single-threaded event loop by default, with explicit Isolates for true parallelism. No shared memory, no race conditions, no mutex locks. This guide covers everything from the simple compute() helper to long-lived Isolate workers, structured concurrency patterns, and Stream-based reactive flows. Concept Dart Isolates JavaScript Workers Java Threads Memor
Dart Metaprogramming — build_runner, Source Gen, and Dart 3 Macros Explained Every Flutter developer has used json_serializable or freezed, but few understand what actually happens when dart run build_runner build runs. Understanding Dart's code generation stack unlocks the ability to eliminate repetitive boilerplate in your own projects. This guide goes from "using existing generators" to "writ
Dart Records & Patterns Deep Dive — Destructuring, Sealed Classes & Exhaustive Matching Dart 3.0 shipped Records, Patterns, and Sealed Classes together. Used well, they eliminate entire categories of runtime errors and make state management dramatically more expressive. // Before: untyped Map Map<String, dynamic> getUserInfo() => {'name': 'Alice', 'age': 30}; // Dart 3: typed Record (String nam
Flutter CustomPaint Deep Dive — Canvas API, Animations & Fragment Shaders When Flutter's standard widgets can't achieve the visual effect you need, CustomPaint unlocks the full power of the Canvas API — and with Fragment Shaders, you can push rendering directly to the GPU. class WaveChart extends StatelessWidget { final List<double> data; const WaveChart({required this.data}); @override