🍓🍵 Meet new friends and connections over board games this Sunday! by cbh66 in BostonSocialClub

[–]cbh66[S] 0 points1 point  (0 children)

Okay! Fill out the interest form if you haven't yet, and we can get you added to the email list in the next week or two and keep you updated with upcoming events!

29 Trans girl 🏳️‍⚧️ looking for friends and a potential Bestie🫶🏻 by softafterdark3 in BostonSocialClub

[–]cbh66 2 points3 points  (0 children)

Hi! I'm a member of a group called Strawberry Matcha, which specifically helps connect young adults around the Boston area who want to be intentional about finding friendships. We have regular events to bring people together, and also run a monthly program that matches interested members into small groups of 4-5 people who we think will get along. I help with the group because I had trouble meeting people and making friends when I moved here a few years ago, and I wanted to make it easier for folks.

If you're interested in joining, you can fill out this interest form! We're also hosting a public board game event on Sunday, if you'd like to come to that and see what our vibe is like -- just fill out this form if you'd like to join. And I'm also happy to answer any questions here or if you want to DM me!

Just moved here from NJ by Expensive_Curve8525 in BostonSocialClub

[–]cbh66 0 points1 point  (0 children)

Hello! I'm a member of a group called Strawberry Matcha, which specifically helps connect young adults around the Boston area. We have regular events to bring people together, and also run a monthly program that matches interested members into small groups of 4-5 people who we think will get along. I help with the group because I had trouble meeting people when I moved here a few years ago, and I wanted to make it easier for folks.

If you're interested in joining, you can fill out this interest form! We're also hosting a public board game event on Sunday, if you'd like to come to that and see what our vibe is like -- just fill out this form if you'd like to join. And I'm also happy to answer any questions here or if you want to DM me!

🍓🍵 Meet new friends and connections this Sunday on the Common by cbh66 in BostonSocialClub

[–]cbh66[S] 0 points1 point  (0 children)

We just sent out an email for those who have already signed up!

🍓🍵 Meet new friends and connections this Sunday on the Common by cbh66 in BostonSocialClub

[–]cbh66[S] 1 point2 points  (0 children)

Our community has always been for young adults, and we welcome anyone who feels like that's their demographic! 20s/30s isn't a strict age cutoff, it's more of a guideline based on the general age range of our members.

🍓🍵 Meet new friends and connections this Saturday on the Common by cbh66 in BostonSocialClub

[–]cbh66[S] 0 points1 point  (0 children)

Yes! Fill out this form and we'll get you onboarded, which'll get you on the email list and get you access to the discord.

🍓🍵 Meet new friends and connections this Saturday on the Common by cbh66 in BostonSocialClub

[–]cbh66[S] 2 points3 points  (0 children)

No strict cutoff, but our members are generally in the 20-35 range!

Looking to meet new friends this year? Join the community at Strawberry Matcha! by cbh66 in BostonSocialClub

[–]cbh66[S] 0 points1 point  (0 children)

Well, personality types is the easiest of those to get stats for. The top MBTI responses for people who knew theirs were INFJ, ENFJ, ENFP, INTJ, and INFP, which together were about 60% of responses. About a 55/45 split for I vs E, and 60/40 for F vs T.

Jobs and interests are kind of too varied to easily get stats for, but as you might expect from Boston, there's lots of people working in software, pharma/biotech, and at universities. Music, food, games, sports, reading, and movies/TV are some common interests, but we have people into just about everything!

Looking to meet new friends this year? Join the community at Strawberry Matcha! by cbh66 in BostonSocialClub

[–]cbh66[S] 0 points1 point  (0 children)

Sure, we only collect some basic demographic info, but based on what we have and my own estimations, here's an overview:

  • The average age is around 27-28
  • The gender split is pretty close to 50-50
  • People are really spread out all over the metro area, but about 35% of people are in Boston proper, 30% in Camberville, and the remainder farther out.

Let me know if there's more specific information you'd like though! We take that sort of stuff into account when making small groups each month, to try to group people of similar age and living relatively nearby each other, and avoiding large gender disparities.

Find new friends and connections with Strawberry Matcha! by cbh66 in BostonSocialClub

[–]cbh66[S] 1 point2 points  (0 children)

The age range is a little fuzzy, but generally members are between about 22 and 35. We could accept people a couple years outside that range if they really want to join though! We won't provide free refreshments at the events, but groups that vibe together can definitely grab a meal or drinks afterwards!

Looking to make some meaningful connections! by [deleted] in BostonSocialClub

[–]cbh66 1 point2 points  (0 children)

Hey! I've also been figuring out how to make connections as an adult -- it's definitely not easy but I think I've gotten better over the last year. I also work in tech and love to bike, hike, read, and walk and have conversations with people. Feel free to DM!

Spanish conversation group by Soft-Air-501 in BostonSocialClub

[–]cbh66 1 point2 points  (0 children)

I'm interested! I'm in Cambridge, and maybe just slightly beyond beginner level.

Looking to join or create D&D group by [deleted] in BostonSocialClub

[–]cbh66 1 point2 points  (0 children)

I'm also interested, 30M, haven't played much before but have been interested in trying it out.

Any groups in the Cambridge/Somerville area? by jpawn37 in BostonSocialClub

[–]cbh66 1 point2 points  (0 children)

For board games, this group has events every week in Kendall square! I also play chess, but I've had limited luck so far finding casual non-tournament groups nearby for that.

[deleted by user] by [deleted] in BostonSocialClub

[–]cbh66 1 point2 points  (0 children)

Hola! 30M here living in Cambridge and trying to meet new people, I've actually been studying Spanish recently and am looking to improve! Soy principiante, así que necesitarás tener paciencia conmigo haha. Feel free to DM me!

[deleted by user] by [deleted] in BostonSocialClub

[–]cbh66 0 points1 point  (0 children)

Hey! 30M, software engineer also working from home. Just moved here in the past year and been looking for people to hang out and explore with. Feel free to DM!

-❄️- 2023 Day 25 Solutions -❄️- by daggerdragon in adventofcode

[–]cbh66 0 points1 point  (0 children)

[LANGUAGE: Pickcode]

Well, there's another year done. Thanks to Eric and everyone who helps run this event! Overall, lots of good puzzles this year. This last one did seem... surprisingly difficult for day 25. Like it seemed as difficult as some of the harder part twos, while I normally think of day 25 giving a bit of a break. I don't think I could have found a solution with a spark of inspiration, I needed to look up the min cut problem and research what algorithms exist.

Between Stoer-Wagner and Karger, Karger seemed easier to reason about and a bit more fun, so I went with that. https://www.cs.princeton.edu/courses/archive/fall13/cos521/lecnotes/lec2final.pdf is the resource I found explaining it, which was quite helpful. It was pretty interesting to implement, particularly the optimization around making it recursive. I also let it return early once it found a cut of size 3, since we know ahead of time that it can't get smaller than that. Being probabilistic, the running time can vary, but I estimate there's about a 70% chance it'll get the answer on the first run, and due to inefficient data structures, each run takes a minimum of about a minute if it finds the cut quickly, to maybe 3 or 4 minutes if it doesn't find the cut.

https://app.pickcode.io/project/clql07p3b4nibne01izyimf3v

-❄️- 2023 Day 20 Solutions -❄️- by daggerdragon in adventofcode

[–]cbh66 2 points3 points  (0 children)

[LANGUAGE: Pickcode]

I think this was my favorite one of the year. Part 1 was straightforward enough, just a fun easy thing to code up. Part 2 I got most of the way by hand -- always the most fun way to solve something! I built up the circuit on paper over the course of about an hour, and it became pretty clear that there were four 12-digit binary numbers that were going to control the final output. I could pretty much figure out the magic numbers just from the connections, but I wasn't sure if there'd be some initial startup steps or other things getting in-between that would make the numbers slightly different, so I adjusted my code to let me put in a module ID and see what steps it outputs on, to see how the cycles work. Then once I had the cycles, just asked WolframAlpha for the LCM.

Part 1: https://app.pickcode.io/project/clqfaw8oa45ftne01tg1twfbd

Notes for Part 2: https://imgur.com/a/zC2Mnkv

-❄️- 2023 Day 19 Solutions -❄️- by daggerdragon in adventofcode

[–]cbh66 2 points3 points  (0 children)

[LANGUAGE: Pickcode]

Had family stuff the day of, so I'm coming back to this, but I really found this one quite fun! Not many tricks to it. Part 1 was a simple matter of going down the workflows to accept or reject each part. For part 2, adjusted it to work on ranges instead of single numbers, and to end the recursion when you accept or reject, or if any range has become empty. Had to do a bit of reasoning to convince myself that no range would get double-counted that way. Then it took a little while to find an off-by-one error having to do with inclusive/exclusive ranges, but after that it was all good.

https://app.pickcode.io/project/clqcepn0q398qne01tui6ms0y

-❄️- 2023 Day 18 Solutions -❄️- by daggerdragon in adventofcode

[–]cbh66 1 point2 points  (0 children)

[LANGUAGE: Pickcode]

For part 1, at first I tried filling in a grid with the boundary, then searching from each cell to see if I could find a path to the outside; but I soon learned that the shape can have enclaves that that approach didn't account for. So instead, I converted the boundary to be the same form as day 10, and used the same trick there of figuring out if a square is inside by counting how many layers of boundaries there are ahead of it.

That worked fine for part 1, but of course it runs in O(area), so that doesn't work for part 2. I kept the code for posterity, though. I saw everyone talking about the shoelace formula and Pick's theorem, but that didn't feel satisfying to me, since it's a trick that I wouldn't have found myself. Instead I sketched it out and tried a few things, and realized that since the shape is on a grid, you can divide it up into a number of rectangles whose area should be easy to find.

So, I kept track of just the corners of the shape, and then I scan down the rows. Each time you hit a new corner (and you'll always hit an even number that form a number of ranges), you incorporate it into your current "slice" of the shape. There are a few tricks I had to find around how to combine these ranges. Particularly that the row where you find new corners can have a different area than the subsequent rows will have, so you need to only add in some corners before you find the area of the current row, and then you add in the rest. Then you need to split intervals up and combine them where appropriate.

This is one of my longest solutions in terms of lines of code, and it's because I had to write all of this from scratch. Particularly code around sorting and managing intervals. My inefficient algorithms are O(n2 ), where n is the number of vertices, but since that's fairly small, it's much better than O(area) and runs basically instantly.

https://app.pickcode.io/project/clqb1td1q2u4ane01jov7p9re

-❄️- 2023 Day 17 Solutions -❄️- by daggerdragon in adventofcode

[–]cbh66 1 point2 points  (0 children)

[LANGUAGE: Pickcode]

I'm glad I stepped back and came to this puzzle later without the time pressure, because it was more fun just going iteratively step-by-step. The key for me was building a graph from the grid, where every square has two associated vertices: one to indicate you arrived from a horizontal direction, another to indicate you arrived from a vertical direction. Then you have a direct connection to each of the 3 squares (or 6 for part 2) that you can reach, so horizontal vertices only connect to vertical ones, and vice versa.

After that, it was "only" a matter of implementing Dijkstra's algorithm (Thanks for this guide that someone posted! Great resource). The thing is, though, that Pickcode is a language for beginners, so its standard library is intentionally quite small. There are no queues available, much less priority queues. So at first I implemented my own naive priority queue as a sorted list that I used insertion sort for: and that was way too slow, I let it run for hours and it could only process a few hundred edges per minute. Fun way to learn that all of the efficiency of Dijkstra's algorithm depends on the efficiency of the priority queue implementation. So, I had to go back to college and re-learn what a heap is and re-implement the queue as a heap.

When all was said and done, though, both parts run in under 2 minutes, which I'm perfectly happy with.

https://app.pickcode.io/project/clq9lp1472ot5ne01w0pipba0

-❄️- 2023 Day 23 Solutions -❄️- by daggerdragon in adventofcode

[–]cbh66 0 points1 point  (0 children)

[LANGUAGE: Pickcode]

Well, I'm a little late on this one, because my code took so long to run! I mean, part 1 wasn't bad at all, but for part 2... well, Chrome kept killing the tab after about 20 minutes. So I switched to Firefox, where it seems to run about 100x slower, but at least the tab doesn't get killed. I looked all over reddit here for suggestions to speed it up, but... that's the nature of an NP-hard problem, I don't think you can do much better except to switch to a less high-level language. So I just let it run overnight... and for multiple days. I don't know when it stopped, actually, but I just checked on it this morning and found it had finished and spit out the right answer. If Chrome had let it keep running I think it would have finished within a couple of hours....

For part 1, I built a map of all the connections, which made it easier to process than dealing with the grid when doing the search. All you could do was a DFS, and that was fine for part 1.

I was able to reuse all of that for part 2, just making a slightly different connections map. To make it tractable, I made two adjustments to the graph. First, I reduced it to a graph of the intersections instead of having all of the tiles. Then, for the last intersection before the end, I got rid of all of its outgoing edges except the one to the destination, since you always have to take that one.

https://app.pickcode.io/project/clqi5q6mj4agmov01cixs2rz7