I’m using Elm to make a browser based trading card game. I’ve always wanted to make my own TCG and Elm is making it easy on so many fronts. It’s quite restricting, but I’ve tried before and other frameworks with endless possibilities just got me stuck.
The functional virtual DOM is a blessing for rapid iterations, and with HTML5 I’ve got a huge toolkit for me - doesn’t look very good yet but everything already works. Usually I get something that looks amazing but breaks with every change. Very happy.
Functional programming is making me think hard about good structure. It can be tedious, but when the pieces fit I know it’ll work for everything. For instance, the game engine and the AI can use the same card rule code, and even some of the UI can use it.
I’m using Monte Carlo Tree Search for the AI and the game will be single-player only, which is another restriction which is helping me heaps. I’m making game mechanic decisions based on what will be easier for the AI. Realistically it’s never gonna be played with paper, which is freeing as well. One novel mechanic that came from this is turns will be played simultaneously and you can play any amount of cards. The search space becomes broader rather than deeper, which is great for MCTS and there’s no fiddling with physical cards either.
$work: penultimate week of current gig, in the office to hand over what I can to my replacement. I forsee lots of writing down things and whiteboard sessions talking through things. Also making sure subscriptions are moved off my corporate card before I go, and I no longer “own” any service accounts. The usual “clear your desk before you leave” stuff I guess.
!$work: Fire, running and housework. Think we’re also dog-sitting a friend’s Rottweiler puppy one evening, be interesting to see how it gets on with our long-term loan Labrador.
I’m learning more about amateur radio while I wait for my vanity call sign (KC0JSL) application to finish processing. I’m also looking to buy a better radio than my cheap Baofeng handheld. I’d like something flexible enough to use on my bike with batteries, in my car with 12-volt cigarette lighter power, and at home plugged in. I think the Icom 5100 will work, but I need to go take a look at one at the Ham radio store in Denver.
I’m still playing with OpenGL and cellular-automata a little bit, and refactoring the code I wrote a few weeks ago to support multiple ways of visualizing the same automata over time. The initial implementation was the traditional checkerboard cell display, and now I’m implementing a 3d visualization where each cell is a point in a 2d grid, and the grid for each new iteration is translated 1 unit above the previous grid with a line between each cell that’s “on” in the old grid and each neighboring cell that’s on in the new grid. I think it’ll look like some kind of tree, but I don’t really know.
Also, tomorrow I’m packing up the car and heading out to camp, bike, and hike around Alamosa and Trinidad. I’ll probably stop at the radio store on the way.
I’m working on Readline-like interactive terminal line editing for a Windows/Linux program. I just got input-driven formatting working where commands and file paths highlight depending on if they’re valid or not. I’m working on adding tab-completion and history now.
Second half of the week on vacation, first half of the week working my ass off to prep things for a launch that happens the day after I get back from vacation. It’s suboptimal, but it’s too late to change either plan without drama :)
I’m looking to add saved program loading to my Zig playground. This will let you share snippets with others and hopefully be useful to some people. I’m also considering writing a terms of service page since I will be storing data too. If anyone has any recommendations on how to avoid any issues down the road (legal or otherwise), I’d appreciate it. For now, I am using other sites as a guide.
I’m using Elm to make a browser based trading card game. I’ve always wanted to make my own TCG and Elm is making it easy on so many fronts. It’s quite restricting, but I’ve tried before and other frameworks with endless possibilities just got me stuck.
The functional virtual DOM is a blessing for rapid iterations, and with HTML5 I’ve got a huge toolkit for me - doesn’t look very good yet but everything already works. Usually I get something that looks amazing but breaks with every change. Very happy.
Functional programming is making me think hard about good structure. It can be tedious, but when the pieces fit I know it’ll work for everything. For instance, the game engine and the AI can use the same card rule code, and even some of the UI can use it.
I’m using Monte Carlo Tree Search for the AI and the game will be single-player only, which is another restriction which is helping me heaps. I’m making game mechanic decisions based on what will be easier for the AI. Realistically it’s never gonna be played with paper, which is freeing as well. One novel mechanic that came from this is turns will be played simultaneously and you can play any amount of cards. The search space becomes broader rather than deeper, which is great for MCTS and there’s no fiddling with physical cards either.
$work
: penultimate week of current gig, in the office to hand over what I can to my replacement. I forsee lots of writing down things and whiteboard sessions talking through things. Also making sure subscriptions are moved off my corporate card before I go, and I no longer “own” any service accounts. The usual “clear your desk before you leave” stuff I guess.!$work
: Fire, running and housework. Think we’re also dog-sitting a friend’s Rottweiler puppy one evening, be interesting to see how it gets on with our long-term loan Labrador.$!work:
I’m learning more about amateur radio while I wait for my vanity call sign (KC0JSL) application to finish processing. I’m also looking to buy a better radio than my cheap Baofeng handheld. I’d like something flexible enough to use on my bike with batteries, in my car with 12-volt cigarette lighter power, and at home plugged in. I think the Icom 5100 will work, but I need to go take a look at one at the Ham radio store in Denver.
I’m still playing with OpenGL and cellular-automata a little bit, and refactoring the code I wrote a few weeks ago to support multiple ways of visualizing the same automata over time. The initial implementation was the traditional checkerboard cell display, and now I’m implementing a 3d visualization where each cell is a point in a 2d grid, and the grid for each new iteration is translated 1 unit above the previous grid with a line between each cell that’s “on” in the old grid and each neighboring cell that’s on in the new grid. I think it’ll look like some kind of tree, but I don’t really know.
Also, tomorrow I’m packing up the car and heading out to camp, bike, and hike around Alamosa and Trinidad. I’ll probably stop at the radio store on the way.
I’m working on Readline-like interactive terminal line editing for a Windows/Linux program. I just got input-driven formatting working where commands and file paths highlight depending on if they’re valid or not. I’m working on adding tab-completion and history now.
Second half of the week on vacation, first half of the week working my ass off to prep things for a launch that happens the day after I get back from vacation. It’s suboptimal, but it’s too late to change either plan without drama :)
Need to organize my first speed dating event to make my app profitable
I’m looking to add saved program loading to my Zig playground. This will let you share snippets with others and hopefully be useful to some people. I’m also considering writing a terms of service page since I will be storing data too. If anyone has any recommendations on how to avoid any issues down the road (legal or otherwise), I’d appreciate it. For now, I am using other sites as a guide.
Work: content editing Personal: doing some porting/reimagining of some Tailscale code in Rust, continuing to learn Gregg shorthand