Epiktistes

Epiktistes is my home in the Fediverse. It is an instance of Ktistec, a single-user ActivityPub server like Mastodon, but with fewer users and fewer commits. Here's my introduction (last updated early-2025).

I wrote a series of posts about optimizing the performance of the Ktistec server, its build time, and its executable size: part 1, part 2, part 3, part 4, and part 5.

Some things I regularly write about, organized by hashtag:

I also wrote some #pointfreeverse.

Todd Sundsted

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

Todd SundstedCrystalLanguage

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.

airtable.com/shr5ZDA4JuVutPILW

#CrystalLanguage #conference #meetup #community

Todd Sundsted

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!

#ktistec

Todd Sundsted
tiles, mortar, and metal lath

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

#homeimprovement 

Todd SundstedCrystalLanguage

Crystal 1.8.0 is here!

Crystal has a new release with several bugfixes and improvements: crystal-lang.org/2023/04/14/1..
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

Todd Sundsted
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

Todd Sundsted

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

Todd Sundsted

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...!

Todd Sundsted

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

Todd Sundsted

chat gpt straight up cheats at tic tac toe!

tic tac toe with chat gpt

#chatgpt #tictactoe