Fridtjof Siebert
banner
fridis.bsky.social
Fridtjof Siebert
@fridis.bsky.social
࿋🚴🏃🐕‍🦺🐈🎏🥨🥐🥝🇪🇺
Designing the Fuzion programming language and implementing related tools (http://fuzion-lang.dev).
SW safety&security, static code analysis, compilers, FP&OOP.
Radical cyclist, distance runner, resisting car centric culture.
The small cherry tree in our garden has started blossoming this week.
April 5, 2025 at 9:58 AM
Hanami in Karlsruhe!
March 29, 2025 at 1:36 PM
Big thanks to all the helpers and supporters of @fosdem.bsky.social for this great event and great infrastructure!
Those responsible for the sunshine deserve special thanks, that made a big difference!
February 10, 2025 at 9:29 AM
Hab schon seit ein Paar Wochen mit dem Gedanken gespielt, das @wirtschaftswoche.bsky.social-Abo abzuschließen. Jetzt gab es einen Anlass! Wenig als drei Wochen bleiben uns, Merz als Kanzler zu verhindern.
February 2, 2025 at 10:19 PM
Free Java devroom @fosdem is packed already 15min before talks start!
February 1, 2025 at 10:07 AM
Awful rain today, but just a few days ago, there was this delightful frosty weather.
January 2, 2025 at 2:39 PM
Cold air and high humidity created a magic scenery yesterday.
December 30, 2024 at 10:04 AM
The Christmas Day's #AdventOfCode puzzle's solution took only three lines of logic using combine, zip, ∀ and count in @fuzionlang.bsky.social.

src: github.com/fridis/fuzio...

I am happy to have solved all 25 puzzles in Fuzion this year. The main goal was to improve Fuzion.

1/4
December 26, 2024 at 1:28 PM
Late with yesterday's #AdventOfCode in @fuzionlang.bsky.social: A mixture of o-o and fp code: A parent `Wire` with abstract inner feature `state` and children `inpt` and `gate` that implement `state`.
Sneaked in monadic bind operators >>=, just for option.and_then.
srcs: github.com/fridis/fuzio...
December 25, 2024 at 10:33 PM
Dec 23 #AdventOfCode was a fun graph problem of finding cliques in graphs. My @fuzionlang.bsky.social defines types for vertices, edges and cliques to work with. To find the largest clique, it helped to start with smaller ones and add vertices one by one.
Sources: github.com/fridis/fuzio...
December 23, 2024 at 11:53 PM
After almost giving up, #AdventOfCode today was easier, but not trivial. Using memoization and arrays to speed up the code in @fuzionlang.bsky.social.
The sources on github: github.com/fridis/fuzio...
December 22, 2024 at 8:55 PM
Almost gave up on yesterday's #AdventOfCode: First, I did not want to believe that taking different paths on the small keypads really would make a difference, got convinced after peeking into other's solutions.

Concise solution using effect-based memoziation APIs.

Src: github.com/fridis/fuzio...
December 22, 2024 at 2:03 PM
Dec 20 #AdventOfCode reading comprehension exercise: A feature point with many inner helper features, including infix + and - operators helped to create a clean solution in @fuzionlang.bsky.social .
The sources: github.com/fridis/fuzio...
December 21, 2024 at 9:48 AM
Happy about a clean @fuzionlang.bsky.social solution for today's #AdventOfCode challenge: arranging towels to match designs. Caches did the trick.

A nice gimmick: Added a new feature `suffix` to be called on `String`, just to make the code a little cleaner.

The source: github.com/fridis/fuzio...
December 19, 2024 at 8:56 PM
Dec 18 #AdventOfCode started with a path search in a maze. In part 2, the maze gradually becomes denser until unsolvable. In my solution in @fuzionlang.bsky.social, instead of re-solving each maze, I track walls from bottom/left and top/right until they connect.
src: github.com/fridis/fuzio...
December 19, 2024 at 9:51 AM
Had fun with today's #AdventOfCode in @fuzionlang.bsky.social:

Part1 An interpreter for machine code, managed to use only pure functions.

Part2 is hacky, basically guessing input 3 bits at a time. Almost tried to change the dir of time in the part 1 interperter.

src github.com/fridis/fuzio...
December 17, 2024 at 9:18 PM
Today's #AdventOfCode was a fairly standard shortest path finding in a 2D grid, but it turned out to actually be 3D since turning has a hefty extra cost.
Here my solution in @fuzionlang.bsky.social on github: github.com/fridis/fuzio...
December 16, 2024 at 9:58 PM
Today's #AdventOfCode has 2 input sources: input file & bathroom dimensions. In the @fuzionlang.bsky.social solution, I use command line args for the latter, which is, of course, another effect envir.args. Simple image detection for part2 detects the frame only.
Sources: github.com/fridis/fuzio...
December 14, 2024 at 9:52 PM
Today's #AdventOfCode was easy with a little algebra. @fuzionlang.bsky.social supports exponents like 1E13 also for integer literals, which was helpful here. Part2 only needs to adjust prize locations.
The sources: github.com/fridis/fuzio...
December 13, 2024 at 12:23 PM
Insight for today's #AdventOfCount: # of sides in polygon is # of corners, which are easier to count, but still tedious: 8 cases: in/out-side x 4 (NE, SE, SW, NW).
@fuzionlang.bsky.social solution uses locally mutable arrays and an int for total cost.

The sources: github.com/fridis/fuzio...
December 12, 2024 at 8:27 PM
Today's #AdventOfCode in @fuzionlang.bsky.social requires memoization / caching of results. Since caching a value performs a state change, we need a mutate effect. We use a local mutate `M` in our `blink` function that itself remains pure.
The sources on github: github.com/fridis/fuzio...
December 11, 2024 at 4:13 PM
Today's #AdventOfCode solution in @fuzionlang.bsky.social is compact and fully functional. Part2 is simpler than part 1. The solution starts backwards: From the highest points creating an array of distances in a recursive function down to the starts.
The source on github: github.com/fridis/fuzio...
December 10, 2024 at 9:32 PM
Today's #AdventOfCode in @fuzionlang.bsky.social using mutable arrays created using a local mutate effect. Some type casts since Fuzion is not yet consistent in the index variable type for arrays (i64 vs. i32).
The sources on github: github.com/fridis/fuzio...
December 8, 2024 at 5:29 PM
User defined operators and type parameters in @fuzionlang.bsky.social enable a nice #AdventOfCode solution today: Adding an infix ++ op too all integer types made part 2 a one line change. Small optimization: t >= v to stop once v is too big.
Sources: github.com/fridis/fuzio...
December 7, 2024 at 10:48 AM
#AdvenOfCode today requires mutable two-dimensional arrays, so I enclosed the @fuzionlang.bsky.social code with a local mutate instance. The ||> operator came in handy today to destructure tuples.
The sources on github: github.com/fridis/fuzio...
December 6, 2024 at 7:56 PM