Todd Sundsted
Better dead than bored.
epiktistes memory metrics

well, i've run epiktistes long enough without restarting to have some confidence about memory performance. while there is an extended period of growing memory usage, the server does settle down after about 15 days.


there’s some upside in everything. the george santos thing has even taught me a new word: fabulist

Big Announcement Crystalists (Crystal Conference 2023)

Crystal Conference 2023 is in the making. The proposed date of the conference would be 15th September 2023. We would like to learn from our amazing community their preferred choice of location for the conference and the meet-ups from the shortlisted bunch of locations that we are presenting. Please choose those locations that you actually plan to attend.

#CrystalLanguage #conference #meetup #community

i've been following hashtags for a while now. i turn off shares (boosts) and replies so they don't appear in my timeline (there's too much sharing going on out there), but then follow a handful of hashtags (like #woodworking and #crystallang and #boardgame) to see more of what i like!


tiles, mortar, and metal lath

after banging away with hammer and chisel for a couple hours, i have new appreciation for sculptors...


Crystal 1.8.0 is here!

Crystal has a new release with several bugfixes and improvements:
If you find an issue, do file a bug after checking the issue tracker, it will be fixed in the following patch version.

Happy contributing, Crystalists!
#CrystalLanguage #programming #community

Epiktistes Memory Statistics

I've been tracking epiktistes inbox/outbox traffic and memory statistics (as reported by the Boehm garbage collector) for a while. There's always a consistent increase in both heap size and free memory—to the point where reported free memory is greater than the originally allocated heap—though the difference between the two doesn't appear constant over time. At the moment, heap seems to have plateaued but (pessimistically) I don't expect it to remain flat.

Given relatively flat traffic, the growth in free memory is surprising. I haven't had a chance to investigate, but based on what I understand about Boehm the increase in free memory could be due to increased fragmentation, and the growing difference between heap and free memory could be due to the conservative nature of the garbage collection algorithm.

Or there could be legitimate memory leaks. I did find one, months ago, which was the result of caching SQL prepared statements (in a Hash) and poor practice constructing queries in a couple places, which led to nearly linear growth in cached statements. The difference then was that heap growth was much more consistent, which is not what I see here, now.

#ktistec #crystallang

fdescribe/xdescribe, fcontext/xcontext, fit/xit have really been game changers during tdd. previously, i specified specs to run by line number, which works but requires me to hunt down the line number... i don't know why it took me so long to adopt this—i guess i assumed spectator didn't support them.

#crystallang #spectator

i like acronyms, and i really like keeping things simple, but i don't like the acronym KISS (for "Keep it Simple, Stupid"). it just seems unnecessarily pejorative. from now on i'm just using KIS...!

saturn is one of my favorite coffee shops (and music venues) anywhere. you’ve got your 8-bit (and 16-bit) consoles, old circuit boards for decor, and great coffee!

saturn, birmingham al

#coffee #birmingham-al