Posts

This profile is from a federated server and may be incomplete. Browse more on the original instance.

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 25 done in

I decided to use a probabilistic approach. I pick 200 random pairs of nodes and find the paths between them. About half those paths use the cut-set edges, so those three edges will be used more than the others. That's enough to identity the cut-set.

Full writeup: https://work.njae.me.uk/2024/01/06/advent-of-code-2023-day-25/

Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent25/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 21 done in

A geometric approach to finding the solution, involving slicing up the map for part 2 into regions that would repeat, then finding how many of each I'd need for the final solution.

Full writeup: https://work.njae.me.uk/2023/12/29/advent-of-code-2023-day-21/

Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent21/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 19 done in

Using the type system keeps me on track, and lenses and monoids keep things simple.

Full writeup: https://work.njae.me.uk/2023/12/24/advent-of-code-2023-day-19/

Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent19/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 18 done in

A day of two parts: variations on parsing the input, and some fiddling around with finding the area (which I admit, I just looked up after a bit of a struggle).

Full writeup: https://work.njae.me.uk/2023/12/22/advent-of-code-2023-day-18/

Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent17/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 17 done in

Things became much more simple when I stopped trying to be clever and instead represented the moves as actual Move records. I also used phantom types to handle the two types of move generation while keeping all the rest of the code the same.

Full writeup: https://work.njae.me.uk/2023/12/21/advent-of-code-2023-day-17/

Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent17/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 15 done in

I thought I could get away without data structures and parsing, but it wasn't to be. This was a fairly straightforward one.

Full writeup: https://work.njae.me.uk/2023/12/18/advent-of-code-2023-day-15/

Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent15/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 14 done in

I used a cache to find repeated states for part 2, then spent ages hunting an off-by-one error that wasn't there (I'd made a bigger mistake).

Full writeup: https://work.njae.me.uk/2023/12/18/advent-of-code-2023-day-14/

Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent14/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 12 finally done in

Brute force suffices for part 1, but I had to use dynamic programming to solve part 2.

Full writeup: https://work.njae.me.uk/2023/12/15/advent-of-code-2023-day-12/
Code: https://gitlab.com/NeilNjae/advent-of-code-23/-/tree/main/advent12

neilnjae, to random
@neilnjae@dice.camp avatar

Hi @megueyb & @lumpley ! We're having great fun with a game of Under Hollow Hills, but a question.

For us, the performance seems divorced from the play that proceeds it. Any tips on bringing them together?

We've done a couple of Occasions. Everyone really enjoys getting into the situation. But the transition from that to the performance seems forced.

Any tips on how to make the Performance flow naturally from the previous play? Is it something about going from reactive to proactive play?

lumpley,
@lumpley@dice.camp avatar

@neilnjae @megueyb

Bearing in mind that I'm completely guessing...

In your game, whose decision is it, when you make the switch from earlier play to planning your show?

Whose decision is it, when you switch from planning your show to performing?

If it feels unnatural and divorced, maybe try switching up whose decision it is. If the MC's been choosing, try letting early play go on until the players decide to switch it. If the players have been, maybe jump in earlier as MC.

Or even...

lumpley,
@lumpley@dice.camp avatar

@neilnjae @megueyb

...Or even, try playing through a whole occasion without ever performing, if the PCs never decide to perform. That's within the bounds of the rules, and it might be revealing to try it!

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 11 in

A good choice for representation made part 2 trivial (apart from an off-by-one error). Lots of folds to update collections of things.

Full writeup on my blog: https://work.njae.me.uk/2023/12/11/advent-of-code-2023-day-11/
Code on Gitlab: https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent11/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 10 in

Nothing much clever here. Depth first search to find the loop, breadth-first search to flood-fill the regions. The only clever bit is doubling the scale of the map to make it easy to "squeeze between pipes."

Full writeup on my blog https://work.njae.me.uk/2023/12/10/advent-of-code-2023-day-10/.

Code on Gitlab https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent10/Main.hs

mina,
@mina@berlin.social avatar

@neilnjae

I tripled the size.

neilnjae, to random
@neilnjae@dice.camp avatar

For no reason, I want to remind people of the wonderful "The Thrilling Adventures of Lovelace and Babbage" by Sydney Padua https://app.thestorygraph.com/books/fff0586f-4d2b-4514-846d-cc2d0d7b74ec

PlaneSailingGames,
@PlaneSailingGames@chirp.enworld.org avatar

@neilnjae

I bought that a few years ago and love it. Highly recommend.

neilnjae, to haskell
@neilnjae@dice.camp avatar
neilnjae,
@neilnjae@dice.camp avatar

@mina There's a working replica in the Science Museum in London. (But they don't operate it very often. ) It's lovely. It's huge!

mina,
@mina@berlin.social avatar

@neilnjae

Next time, I'm in London, it's a visit.

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 8 in

I'm not a fan of this type of reverse-engineering, find-the-clever-trick sort of puzzle (in this context).

Part 1 was pretty straightforward. Part 2 resisted all efforts at exploration, so I resorted to looking on Reddit and finding the trick.

Full writeup on my blog https://work.njae.me.uk/2023/12/08/advent-of-code-2023-day-8/

and code on Gitlab https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent08/Main.hs

neilnjae, to haskell
@neilnjae@dice.camp avatar

day 7 done, in . Being explicit about data ended up making the problem easy to think about.

Full writeup at https://work.njae.me.uk/2023/12/07/advent-of-code-2023-day-07/

Code at https://gitlab.com/NeilNjae/advent-of-code-23/-/blob/main/advent07/Main.hs

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • tacticalgear
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • Youngstown
  • everett
  • cisconetworking
  • slotface
  • GTA5RPClips
  • rosin
  • thenastyranch
  • kavyap
  • mdbf
  • Leos
  • modclub
  • osvaldo12
  • Durango
  • khanakhh
  • anitta
  • provamag3
  • ngwrru68w68
  • cubers
  • tester
  • ethstaker
  • megavids
  • normalnudes
  • lostlight
  • All magazines