• 2 Posts
  • 3 Comments
Joined 16 days ago
cake
Cake day: March 13th, 2025

help-circle
  • Yeah, I don’t think I ever got the best intro to ruby… which may attribute to my dislike for it.

    When I was in college rails was the big thing at the time and in the software engineering class I had in 2014, they basically gave us preconfigured vms and a quick “here’s how to ruby” before introducing us to rails and the convention over configuration mindset. That was a nightmare experience for me because there were all these magic functions and I had to name my variables certain ways that I didn’t understand the reasoning behind at that point, and it made it much more difficult to differentiate between actual ruby vs. rails’isms.

    My only non-rails ruby experience was well after I had graduated and at my first job. Even though that was an experience in and of itself, it was refreshing not having magic classes and just seeing it work like a regular language. I would have preferred that to rails in any world.


  • I always get thrown off by ruby, mainly because of rails magic though whenever I look at it. Convention over configuration hurts my brain some days. My only experience with testing there was rspec and cucumber. Wasn’t great at either of those, but loved pytest a lot

    For testing I end up putting things in a docker container and running pytest through it for sanity checks. May have to update my testing approach soon though to cover more low-level validation. My memory error looks to be from closing a channel before a child goroutine could write to it. My working theory solution I’m trying out tomorrow is just wait for a second write to the channel from the other child routine before letting the function end. Seems a little hacky to me but it should hopefully work

    It also had the added benefit of teaching me that goroutines will hold memory from fmt.Sprintf calls in cases where they were used only as a function argument in a logger.

    Edit: removing a bad understanding of pprof on my part, I didn’t know until today that the allocs profiler shows lifetime data by default instead of inuse…