Our hero has skills.
My naive Part 2 iimplementation quickly ran into exponential memory allocation issues. After a rethink, though, I found a solution with sub-second performance. Fun.
Our hero has skills.
My naive Part 2 iimplementation quickly ran into exponential memory allocation issues. After a rethink, though, I found a solution with sub-second performance. Fun.
Well Part 2 was a bit more difficult than expected. Perhaps because I decided to assume UTF-8 input, rather than ASCII input.
Glad to have iter().rev() in the collection I was using.
Well Part 2 was a bit more difficult than expected. Perhaps because I decided to assume UTF-8 input, rather than ASCII input.
Glad to have iter().rev() in the collection I was using.
Given the Star Wars references in today's adventure, I couldn't help but think: "There is no try. There is only do, or do not."
#AdventOfCode
Given the Star Wars references in today's adventure, I couldn't help but think: "There is no try. There is only do, or do not."
#AdventOfCode
Glad to be done, but this took longer than it should have because a) i didn't read the specs carefully, and b) I was betrayed by my naive understanding of refs, ownership and lifetimes.
Glad to be done, but this took longer than it should have because a) i didn't read the specs carefully, and b) I was betrayed by my naive understanding of refs, ownership and lifetimes.
This time my Part 1 solution was easily extensible to the Part 2 solution. And I learned more about Rust mutability rules and references and error generation and handling. Fun.
This time my Part 1 solution was easily extensible to the Part 2 solution. And I learned more about Rust mutability rules and references and error generation and handling. Fun.
Just finished Part 2. This solution is the first one I'm not ashamed of.
I'm sensing a pattern: Part 1 code is a bit of a kludge, a bit messy. Part 2 is cleaner, perhaps because I add helper functions.
Just finished Part 2. This solution is the first one I'm not ashamed of.
I'm sensing a pattern: Part 1 code is a bit of a kludge, a bit messy. Part 2 is cleaner, perhaps because I add helper functions.
Part 1 took me a long time as I took the opportunity to learn about processing an input stream of UTF-8 data in Rust. Part 2 was interesting and just a bit tricky.
Part 1 took me a long time as I took the opportunity to learn about processing an input stream of UTF-8 data in Rust. Part 2 was interesting and just a bit tricky.
#chess #chesscom
It is a long thread; make sure to drill down through to the last post (numbered 9. in the text)
bsky.app/profile/jene...
#chesspunks #chess
🧵
It is a long thread; make sure to drill down through to the last post (numbered 9. in the text)
bsky.app/profile/jene...
#chesspunks #chess
- Hanging Pieces
- Pins
- Forks
- Skewers
- Removing the Defender
- Discovered Attacks
- Double Check
Thinking about cutting it back to 5 puzzles each, because life. #chesspunks
- Hanging Pieces
- Pins
- Forks
- Skewers
- Removing the Defender
- Discovered Attacks
- Double Check
Thinking about cutting it back to 5 puzzles each, because life. #chesspunks
#chesspunks
#chesspunks
64squares.substack.com/p/engine-spa.... At the bottom of the post, Ivan talks about using the Komodo engine for sparring and also playing long time control games.
#chesspunks
64squares.substack.com/p/engine-spa.... At the bottom of the post, Ivan talks about using the Komodo engine for sparring and also playing long time control games.
#chesspunks
#chesspunks
#chesspunks