Bentok
banner
bencope.land
Bentok
@bencope.land
Software engineer by day, hobbyist game dev by night, husband, dad, tend to be hanging around F#, Typescript and Swift stacks these days. Love F#, Godot, games, anime, haiku, oolong and kukicha, nature. 🎮🍵🌳🦔

The opinions expressed here are solely my own.
Day 9 - Favorite Antagonist

This one is Higgs from Death Stranding. He’s a threat throughout both games, he’s got one of the best voice actors, and has an interesting story and unpredictable behavior. Excellent character.

Runners-up: Ganon, Dracula (Castlevania), and Sephiroth.
December 22, 2025 at 1:03 PM
Day 8 - Favorite Protagonist

Samus Aran. There are other contenders: Solid Snake, Leon Kennedy, Claire Redfield, Sam Porter Bridges, but Samus has captured me since the very first Metroid game. The first badass protagonist I played and remains a badass through every entry.
December 22, 2025 at 12:39 AM
Day 7 - Favorite multiplayer or mmo

This is a tough one. Thinking back through the years the highlights are Phantasy Star Online, GoldenEye, Gears of War, Resident Evil 5 (if co-op counts), but Left 4 Dead 2 stands out to me as the most fun I’ve had in multi player.
December 20, 2025 at 2:13 PM
Day 6 - Best world building

Bioshock pulled me into its world like no other game. The eerie setting starts off extremely uncomfortable but as time goes on I got attached to the setting. It’s one of those games you are sad to finish because you miss exploring Rapture.
December 19, 2025 at 11:14 AM
Day 5 - Game that deserves a remake

Vigilante 8 was always my favorite of the vehicular combat games, and I’ve always thought it would be cool with all of the capabilities of modern systems if the proper effort was put into it.
December 19, 2025 at 3:38 AM
Day 4 - Currently playing

The last month or so I haven’t had much time for games, but when I do I’ve been focusing on Demonschool. It’s an excellent game and the story-telling and combat are perfect for intentionally slowing down and enjoying a game for relaxation.
December 17, 2025 at 12:08 PM
Day 3 - Hardest boss fight

Probably dumb, but I’m going with the final boss in Infinite Wealth. The whole game has a steady pace but if you aren’t the right level and jobs for the last boss, he’s impossible. And I didn’t want to load an old save and grind so I bailed. Love the game though.
December 17, 2025 at 12:32 AM
Day 2 - Most hours in a game

I’m pretty sure this one is GTA 5 because I have the actual logged hours on PS4 plus all the hours I put into it on the 360, but Halo 3 is likely up there too.
December 17, 2025 at 12:30 AM
Day 4 - Hardest boss fight

Probably dumb, but I’m going with the final boss in Infinite Wealth. The game is pretty easy the whole time, but if you get to the boss without the right setup he’s impossible. I didn’t want to grind and have to redo the final stint leading up to him so I bailed.
December 17, 2025 at 12:26 AM
Day 1 - First Video Game

Super Mario Bros. This was the first game I played, and I played it a ton as it was the only game a had for a while.
December 14, 2025 at 3:36 PM
Reposted by Bentok
Standard inflation analysis reduces inflation to a single aggregate index. This conceals that inflation is often triggered by price shocks and that consumption baskets differ systematically across income groups, producing unequal inflation burdens. 2/16
December 8, 2025 at 8:42 PM
It almost makes it embarrassing to use FP/immutable styles in C#. I was found myself thinking “the team is going to hate this code,” even though it’s literally how the code must be written.
December 10, 2025 at 1:55 PM
Rubio is a wasteful diversity move.
December 10, 2025 at 3:17 AM
Cheers to that! 🍻
December 8, 2025 at 8:21 PM
Forgot to tag @dzoukr.cz since the post calls out the excellent Dapper.Fsharp library.
December 8, 2025 at 7:38 PM
That’s cool to hear. It’s nice to know other people are in your shoes; it can feel like you’re on an island sometimes.

Are y’all going to try to cut out the C# eventually or will you keep the 50/50 split?
December 8, 2025 at 7:37 PM
Nice!

This post does a better job at explaining kind of how we do translations if you are interested. It’s probably too barbaric for your situation though lol.

We rely heavily on Microsoft.FsharLu.JSON which has this compact serialization technique built in.

blog.bencope.land/cross-bounda...
Cross-Boundary ADTs
Modeling a domain with algebraic data types (ADTs) is a powerful, expressive way to design code that is both concise and readable. Too often, code that does too little with too many lines negatively i...
blog.bencope.land
December 8, 2025 at 6:44 PM
Yup! It’s the | operator, but you just add a tag (in the screenshot, it’s “state”). As long as the tag is in each type and is a literal value, the TS compiler is smart enough to know what keys are on the object. It goes pretty far for making the domain explicit on the FE.
December 8, 2025 at 6:40 PM
This basically makes F# the point of truth though, I suppose. The other systems have conventions that give deference to the F# system (which works well in our situation).
December 8, 2025 at 6:29 PM