Weekly Brain Dump #19
At a Glance
- Neospec v0.0.2 released
- Poros v0.6.0 and v0.7.0 released
- Interesting Links Cool things I found this week
- Comments
Neospec
I finally had a need for neospec in one of my Ruby projects. That’s when I realised all the improvements I’ve made haven’t been pushed to ruby gems. I also realised that the build was half migrated to LocalCI so I fixed that up and did a release.
Poros
I had speed issues with my budgeting application I’ve built and finally decided to figure out why. It turned out to be a simple n+1 query. I was tempted to add some sort of preloading functionality but realised that actually wouldn’t help with the problem I was having. Instead I added a simple query caching system to Poros so repeat queries are significantly faster. This dropped my page load speed down from 12~ seconds to 1~ second.
The reason I did two releases was because I didn’t think to just use gem
"poros", path: "../poros" after adding the logging and instead did a release. I
guess I was thinking that the problem wouldn’t be in Poros? Either way, I ended
up doing the query caching and releasing that in v0.7.0.
I do just want to say, this was built as an experiment to learn how ORMs works but I do find it really useful. It’s great when you don’t want to go through the hassle of even setting up SQLite.
Interesting Links
Crystal 1.20.0 is released!: A new Crystal release, a fantastic language I really need to go back and check out again.
Why Crystal, 10 Years Later: Performance and Joy: This post has been a big driver behind my desire to go deep on Crystal again.
Optimizing Ruby Path Methods: A great deep dive on how Ruby path methods work and how they’ve been sped up. This is also an amazing blog and you should follow it.