@toddsundsted@epiktistes.com
@toddsundsted@epiktistes.com avatar

toddsundsted

@toddsundsted@epiktistes.com

Better dead than bored.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

i can't tell you how often i write echo instead of cat and vice versa.

i need a utility called echocat that just does the right thing...

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

I just released v2.0.0-10 of ktistec. I expect this to be the last pre-release before releasing v2.0.0.

As ironic as it sounds, the Fediverse doesn't feel very federated. ActivityPub, in particular, doesn't account for the real topology of the Fediverse—large groups of users clustered together on large server instances. (Or maybe it does, and this is a feature, not a bug!) Exchanges are largely actor to actor, and large servers create the illusion of "a Fediverse" by pooling their local actors' aggregate inbound and outbound activity.

The consequence of this is that running a single-user instance can feel lonely.

This release finally tries to address that. Hashtags and threads are the backbone of expressed interests and conversations in the Fediverse. Ktistec now lets you follow hashtags and threads, and will proactively (but gently) pull relevant content in to your server. Most of the changes in the last year revolve around making this work well.

The rest of the changes are less visible:

  • Substantial reduction in build times and memory required to build.
  • Substantial reduction in database size (if you care to shrink it) and query performance.
  • Substantial reduction in the time it takes to run tests.
  • Tons and tons of refactoring.

You can see all of the changes here.

(So that it's clear, I have a massive amount of respect for anyone who builds software and gives it away for free. None of the decisions I've made with Ktistec should be taken as personal criticism of anyone else in this space!)

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

i'm listening to the soundtrack for the legend of zelda: breath of the wild and some of the tracks (the battle themes, of course) still trigger me! it's amazing the strength of the associations we have to sounds (and smells, too, i've heard).

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

sometimes i wish crystal had type based control of i/o. (not necessarily non-strict evaluation and the io monad a la haskell, though...) i'm looking at a boatload of code and wondering, "does this all just compute a result, or do i have to scan for the side-effects..."

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

pushing a boatload of small improvements and fixes to main that i've been running myself for the last couple weeks... there are many ways a request to another activity pub server can fail—ktistec does a much better job of logging those failures, among other things...

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

nearly just shot my foot off with git. i popped a stash full of work onto a branch and then accidentally reset hard against my main branch by picking the wrong command in my shell history. poof! thankfully, with enough effort you can do anything in git—including checking out the commit representing that deleted stash...

but, some things you should somehow never allow in your shell history:

  • rm -rf <anything>
  • git reset --hard <anything>
  • probably others...

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

i added code to log slow queries in ktistec and it's already paying dividends. most are obviously missing indexes and it's great to fix them, but the latest example—which is missing an index—is querying a table that only has one row (in my single user instance). should that table need an index on that column? i mean, just return that row...

fwiw, a slow query is currently anything that takes longer than 50msec. i wonder if that is tight enough...?

toddsundsted,
@toddsundsted@epiktistes.com avatar

@onghu thanks! yes, i haven't ruled out bugs somewhere else. running the query in the console does confirm it is scanning the table. on the other hand, the timing indicates a reasonable 6msec—not the 100+msec i'm seeing in the application...

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

one thing ktistec related that i haven't had the time for is working on build and deployment tools. there are a bunch of outstanding requests—and a few PRs—for docker builds, packaged deployments for various hosting environments, etc.

if you're interested in contributing, let me know. you only have to agree to maintain them—i won't be able to.

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

https://epiktistes.com/uploads/4b7ac37d/586d/42cd/1.jpegripping a cd using itunes on my vintage macbooki went to a show and bought a cd and then had to figure out how to rip it, because that's not a workflow i've used in a while...

my vintage (c2010) macbook pro—one of the last with a cdrom drive—came to the rescue. i haven't touched it in years but thankfully it booted without problem!

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

buying concert tickets online is just one dark pattern after another...

toddsundsted, to Halloween
@toddsundsted@epiktistes.com avatar

In our room of requirement we have a 7’ wooden shipping crate. It’s now going to hold a 6’6” mummy that I made for Halloween.

https://epiktistes.com/uploads/d099289e/eec6/464a/1.jpegspare 7' tall wooden crateI built the mummy out of chicken wire and 3" strips of gauze and muslin. If I had more time, I'd stain the cloth to age it—not this year!

https://epiktistes.com/uploads/32be3d07/fe39/47aa/1.jpegthe mummy, under constructionIt's anachronistic but I'm leaving the styrofoam in place just in case I need the crate for its original purpose!

https://epiktistes.com/uploads/8b695f10/d080/45e2/1.jpegthe crate, with mummy, and partially filled with "packing straw"🎃 HAPPY HALLOWEEN 🎃

toddsundsted, to RaspberryPi
@toddsundsted@epiktistes.com avatar

i'm finally running octoprint directly on my prusa mk3s+ via an installed/integrated raspberry pi zero 2 w and octopi. the hardest part was finding and buying the zero 2 w—thankfully they have been showing up in online inventories lately—and the 18mm breakable header. (i also had to hunt down the zero 2 w frame pattern that is a slight remix of the original frame—not linked because there might be some licensing issues in play.)

https://epiktistes.com/uploads/a4080389/92cc/4c4a/1.jpegraspberry pi zero 2 w plugged into the prusa#3dprinting

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

backyard astronomy workshop thursday night at dragoncon, hilton hotel, downtown atlanta.

https://epiktistes.com/uploads/3ceee195/569f/4c57/1.jpegtelescopes trained on saturn#dragoncon

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

https://epiktistes.com/uploads/c34e37a4/e56e/4f48/1.jpegc1978 schwinn spitfire 5’slatest project… we got my wife’s parents bikes out of storage where they’d been collecting dust for about 25 years, put new tires on them, tuned them up, cleaned them up and went riding!

toddsundsted,
@toddsundsted@epiktistes.com avatar

@tallship now i just need some warmer weather again!

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

@rpilocator great work! i snagged a raspberry pi zero 2 w off adafruit today after catching notice that it was in stock!

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

the first thing you realize when you set up a pi hole is how much trackable noise all of your devices emit.

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

well that was a I hope I don’t die uber ride!

liaizon, to random
@liaizon@wake.st avatar

Came across some compatibility issues in @toddsundsted's Ktistec project posted by @rahul (← this account is a instance) and it made me think: I would love to have a fediverse compatibility "issueathon" where we make a super list of everything that we expect to work across the fediverse and where all the issue are at.

Support for Lemmy group posts with !post notation
https://github.com/toddsundsted/ktistec/issues/61

Following kbin magazines does not work
https://github.com/toddsundsted/ktistec/issues/72

toddsundsted,
@toddsundsted@epiktistes.com avatar

@liaizon at a previous company we held integrate-a-thons with other vendors to collaboratively work out integration issues en masse. i'd 100% support and participate on the part of ktistec if that took place!

toddsundsted,
@toddsundsted@epiktistes.com avatar

@liaizon it would be a nice cure to the feeling that you're fixing things off in your little corner all by yourself!

toddsundsted,
@toddsundsted@epiktistes.com avatar

@liaizon i'll think on it. we'd get together at an industry event. that's likely not the right model for this...

toddsundsted, to woodworking
@toddsundsted@epiktistes.com avatar

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 and and ) to see more of what i like!

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

commits 984e28b7 through a367c215 include changes that support following threads, hashtags and mentions:

  • index pages for threads, hashtags and mentions include a follow/unfollow button
  • following a thread, hashtag or mention results in notifications when new posts arrive that are part of the thread or include the hashtag or mention
  • to support navigation and discovery, the details pages for posts include labels with links to the index pages for hashtags and mentions

next up is support for actively finding and fetching followed content from elsewhere in the fediverse.

also included are a bunch of bug fixes, some internal enhancements, and greatly reduced build times and executable sizes.

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

i'm slowly working my way through the backlog of ktistec issues. i just pushed small changes that:

  • render posts written in markdown as html (no support for editing markdown yet)
  • allow users to manually fetch posts missing from threads (following threads is coming soon)
  • allow users to navigate to the post on the original server

following threads—and later tags—is going to be a huge benefit to single user ktistec instances. large instances with many users sit on top of a huge pile of content (both local and federated) and that creates an environment that sometimes feels more complete. users of ktistec will still have to intentionally follow a thread or follow a tag, but ktistec will do the work of pulling in the relevant content in the background and making it available.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • tacticalgear
  • magazineikmin
  • cubers
  • everett
  • rosin
  • Youngstown
  • ngwrru68w68
  • slotface
  • osvaldo12
  • Durango
  • kavyap
  • InstantRegret
  • DreamBathrooms
  • JUstTest
  • khanakhh
  • GTA5RPClips
  • normalnudes
  • thenastyranch
  • mdbf
  • ethstaker
  • modclub
  • Leos
  • tester
  • provamag3
  • cisconetworking
  • anitta
  • lostlight
  • All magazines