Adam Vartanian (@flooey) profile picture

Software engineer at Relay. Counterculture-adjacent. Strong opinions, rarely tweeted. @flooey@mastodon.flooey.org (he/him)

London
Joined February 2007
Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)Photo by Adam Vartanian (@flooey)
Monthly update time! In which I visit the sortation center, play a fun new game, and get Covid. flooey.org/monthly-update-20…
1
2
250
I wrote up a blog post for how we’re taking advantage of TypeScript to make developing our APIs easier and less error prone, check it out! cord.com/blog/leveling-up-ap…
2
3
399
Replying to @lsv
@lsv @Marshall_LR My favorite combo you didn’t mention is that the Ring level 3 triggers when the creature becomes blocked, which means if you sacrifice it to something like Nasty End before damage, the blocker still gets sacrificed at end of combat.
1
23
I live 5000 miles from my high school, so it depends on your definition of “keep up with”, but I’ve seen one in person in the last 5 years and have talked to a second from time to time.
If you are more than 10 years removed from graduating high school, answer a question for me: How many people from your class do you keep up with?
2
398
My friends have informed me that in our friend group, I am the one human character surrounded by the Muppets
7
201
Finally wrote up my experience using Crystal for #AdventOfCode, check it out! flooey.org/crystal.html
1
108
There’s been lots of discussion on when it’s acceptable to start playing Christmas music, but when do you have to *stop* playing it?
55%Boxing Day (26 Dec)
9%New Year’s Day
27%After Epiphany (~7 Jan)
9%Results
11 votes • Final results
134
Today is Start the Year Off Right Day in our house, the day to deal with a bunch of those lingering tasks that you always meant to get around to doing. So far, we’ve cleaned the oven, sorted out piles of clothes and shoes, recycled boxes, and more!
1
5
259
All done with #AdventOfCode for 2022! Overall, it was a fun year, though a couple of the puzzles didn’t land great to me. I’ll write up my experience with Crystal in the next few days, but the short version is that it seems like a very nice language for problems like these.
2
127
Today’s #AdventOfCode (day 23) was a breath of fresh air. Just do the thing!
1
110
Mr. 6: Ms. 3 is copying me! Ms. 3: Ms. 3 is copying me! Mr. 6: Stop copying me! Ms. 3: Stop copying me! Mr. 6: Knock knock Ms. 3: Who’s there? Mr. 6: Ha ha, you didn’t copy me! Ms. 3: Knock knock Mr. 6: Who’s there? Ms. 3: Ha ha, you didn’t copy me!
3
99
Day 16, part 2 of #AdventOfCode is really kicking my ass. After a few hours spread over a couple days, I’ve managed to get my solver down to 30s to give me the wrong answer. That’s much better than the >1 hour or OOM after 15 minutes that I had before!
1
2
105
Oh, there we go, I had a comparison operator backwards. Back to 10+ min execution times, despite it solving the sample input in 4ms, that’s much more what I’m used to.
52
Today’s #AdventOfCode is the first one where Ruby would have been significantly different than Crystal. Ruby has eval, whereas I had to write a parser for int arrays like I’m in a compilers course or something. The cruel price of type safety.
1
Abstract algebra folks, help me out? Does Z/pZ (p prime) always have a generator using multiplication? My memory said that p-1 was always a generator, but that’s trivially disprovable. Is there some other special property about p-1 & generators that I’m misremembering?
2
Finally getting to dig into The Staff Engineer’s Path by @whereistanya
1
I don’t have a lot of artistic skills, but I peel a mean orange.
4
I ran into a weird feature of Crystal in today’s #AdventOfCode (day 7). I wanted to structure things with a recursive type, effectively type A = Hash(String, Int32 | A) I looked in the docs, and it helpfully pointed me to the alias keyword, which it said would do just that.
1
1
1
But it doesn’t work! It turns out that alias can’t really be used that way. You end up getting errors that you can’t put an A into a Hash(String, Int32 | Hash(String, Int32 | A)), because the type system can’t infer things properly without what appears to be a lot of help.
1
Our book club at work has just started a new book about networking, and can I just say: I so love the Internet. Not the content (though that’s nice too), the underlying technology. Talking about IP and TCP and BGP and DNS and everything else just fills me with joy.
4
You know a Money Stuff Segment is going to be good when it starts like this
Didn’t really want to spend my whole evening cleaning up a mess that @heroku dropped on me with no warning, but here we are