What are you coding?

Fwiw 23 and 24 both have much more substantial part 2s.

1 Like

Question about 23.1: am I right assuming that I can somehow trick A* into doing the longest path? Because a first cursory search suggested longest path algorithms to be completely different. But isn‘t A* supposed to also find minima or maxima (I could in theory declare the minimum of unwalked spots to be the goal?) But I‘d rather not go down a completely wrong „path“ (after I finish the 2nd act of BG3 hopefully this morning)

1 Like

That’s not the way I did it, but if it works it’ll be a lot better than the way I did it.

1 Like

23.1 To my huge surprise… it worked.
Took me less than an hour to implement the “Pathable” interface for my recently made Dijkstra class and then I fiddled around with heuristics for A* and figured out that reverse sorting the priority queue plus adding 4 times manhattan distance to goal gave me… the result the site wanted for both test and prod inputs.

It was a bit of an oops moment … I had not expected this to work and especially not so quickly.

this is so exciting I haven’t even looked at part 2–

edit: I have looked and the modification of valid steps was easy, but the heuristic doesn’t work… I got factor 10 working for test input, but fiddling with it for prod is not producing results. But I have another idea.

1 Like

I am thinking… a more valid approach for the whole problem might be to find all “crossings” which is spots with 3 valid “next steps” and calculate which are neighbors in the graphs, determine edge lengths and it might just yield an adequate performance on a brute force attack for all paths. I need to google Longest Path again… last time I didn’t have a minute to actually delve into that.

edit: NP complete problems are not fun. So it seems my hunch here wouldn’t be wrong, it’s just one that I am too lazy to program, so I’ll fiddle around with the heuristic a bit more if that yields nothing, I yield to the problem.

Not that I have much more time for anything this year. From today 6pm until next year we’re almost scheduled for every waking moment. It is too much this time. Even if most of it is hanging out with friends.

1 Like

I got stalled out at Day 16 again. But my 1862 note taking helper app is coming along nicely. I might even be almost ready to start thinking about sharing the code!

3 Likes

my current state:

I have started on 24.1 but can’t get the math right because of brain-empty :wink:

This is more than I did last year.

my friend who had not been programming due to a manager job for many years, got back into it with this year’s Advent of Code and he went up (and down) to 25. The latter ones only part 1 though and he asked if we could get together to do a few more of the complicated puzzles… so I am very motivated to find time to do some problem solving together (instead of getting beaten up in 7 Wonders Duel)

Most other friends who participated stalled out around the mid-teens…

We’ve been having a lot of fun with this, so I really must thank @RogerBW again and again for introducing me to this and through me the “locals” :slight_smile:

Most of us studied comp science at least partially because we enjoy programming, most of us lost touch with the sheer fun of it in the course of our careers… it’s been really good for us. Some of us may have cursed at the difficulty of some problems but they definitely bring a festive joy to the season that is quite… particular :slight_smile:

(not all partner’s who aren’t themselves techies were equally joyful but I believe everyone found the right balance)

3 Likes

I’ve tried some other programming challenge sites like Project Euler but AoC is the only one I keep coming back to.

2 Likes

I actually completed 24.1 the other day after struggling with the 8th grade math involved because I had not realized “in the past” meant both Hail pieces…

Now I am brooding over how to random sort my way through 25.1

My friend solved 12.2 yesterday … something in python and I am sure he did not use any libraries. I need to check out his code.

2 Likes

I really ought to do 25 properly rather than cheating.

1 Like

I considered downloding a tool for DOT and doing a visual “snip” because I could easily identify the snips on the test graph after visualizing…

My plan is to randomly distribute the nodes into two sets and then pulling them back and forth until it all fits. I have some ideas for how to do that.

2 Likes

been working on a big chunk of new stuff for work since November… mostly with a colleague as pair programming. tomorrow we’re supposed to present during Spring Review. This is work from across 2 sprints (one of which was the truncated Xmas sprint and during the other both of us were on vacation for a week at different times)… the whole feature was about 4 sprints worth.

Today while prepping for the presentation tomorrow and testing… about 2 hours before Feierabend, I discovered I had had a major misunderstanding of how the other side (we’re talking to a service) worked… which would have been alleviated if we ever had a chance to talk to someone from the other side (neighboring team, same org)… I tried at several points but not enough. While I was on vacation the team lead of the team told my colleague that he felt we should talk but that fizzled and …

Our code is so well abstracted, and so well tested, that I was able to fix this major misunderstanding within about 90 minutes. And it looks like we can present tomorrow. But I’ll take this lack of communication (which is not my fault alone but also) to our retro. This needs addressing.

If I had been alone this afternoon, I’d be a wreck right now. Luckily, I wasn’t. Even a rubber ducking dev who is working on a power point presentation is enough to make things far less stressful than they could have been. It was exhausting though…

6 Likes

Just written a converter from rck to rgt format: both of them are the save formats for track editors for Rallyman GT, and I have a lot of other tooling that works with rgt already.

2 Likes

I fixed a bug in the C of our MVC for the user clients.

We had estimated 5 Storypoints due to the possible complexities.

It took me a day to figure out how to reproduce the thing (due to hidden configuration options) and an afternoon to fix it. It was about 5 lines of code… 5 / 8 story points are reserved for complex things. 5 for a bug is unusual around here. Most bugs get 1, 2 or maybe 3. And this was with the assumption of having our “project eldest” have a go at it. (I don’t want to say senior, most of us are. I don’t want to say architect, because it is not an official role, though he more or less inhabits it despite scrum)

This was a very satisfying bug, too. Because there was an actual human mistake of overlooking something–not some deeply technical detail nobody could have known (f.e. hibernate cache troubles)

I like bug-fixing. Especially other people’s bugs–I make too many assumptions about my own code, so fixing my own mistakes is often harder on some levels despite or because of already knowing the code.

3 Likes

I think there may be a single-peak curve on ease of bugfixing my own code.

If very recent: yes obviously that’s the way I meant to write it, it must be correct.
If very old: what was this idiot thinking, I have no idea how this works.
Somewhere in between: ah, I see the thing I’ve forgotten.

3 Likes

That’s exactly it. The recent stuff is obviously correct and the old stuff is too crazy–though my range of when stuff starts to go crazy has extended a lot since my early beginnings. It used to be I couldn’t go more than 6 weeks before wanting to throw away everything I had written earlier… now I sometimes see code I wrote a year or two ago and it’s not bad.

When looking at my advent of code stuff from last year… I wasn’t mortified (most of the time) and indeed I recycled all the meta-code I wrote to handle the repeating stuff like reading input files or support classes like “Matrix”

edit: which does not mean I sometimes refactor stuff because my code aesthetics have changed slightly.

2 Likes

We used to use “t-shirt sizing” for bugs, but we often found ourselves vastly exceeding the allocated points, particularly if the bug was in the core codebase rather than supporting tools.

We’ll now have an initial story to check the bug still exists and do a precursory investigation to get a better feeling for complexity. Then a series of follow on stories to propose a candidate fix and then implement it.

2 Likes

That sounds complicated.
We do have those kinds of bugs… but that’s what happens when we get to hibernate caching issues.

Or recently we had some performance issues though those were also resolved faster than we had feared. Performance stuff can be a lot of fun, too, if you can pinpoint the database as culprit at least (and more often than not it is some kind of database bottleneck in our project)

Mostly we overshoot our estimates on underspecified forward development (new features) with 8 or 13 story points. Those also tend to have unclear boundaries what is part of them and what not.

2 Likes

Anyone would think you didn’t know exactly what you were going to do before you started to do it.

3 Likes

The team are custodians of some legacy software which requires very specialised domain knowledge some of which has been lost over the years.

We’re trying to make an argument for starting from scratch but it’s a hard sell.

3 Likes