My Personal HomePage

Hi! If you've found this, I congratulate you. This isn't the most obvious place in the web, but I call it my home :)

Who am I?

I'm Puck, 19 years old, and I take an interest in weird old stuff. At the same time, I try to keep these "in the loop" with more modern stuff. This page is my interpretation of this combination of technologies.

My projects

My core project right now is Kroeg, a modern (Rust! Fast!) ActivityPub server. It allows you to talk to everyone in the fediverse! In fact, this whole site is running on top of a slightly modified Kroeg, just to show how powerful it is :)

For the main page for Kroeg, look at this page (though it probably won't look that great on the older systems~)

Recent toots

If you have a Mastodon (or Pleroma, or ...) account you can view these toots by entering https://puckipedia.com/ or @puckipedia@puckipedia.com in your search bar!

hacker teen puck 👩‍💻

in reply to @puckipedia@puckipedia.com

with new_rows as (insert into attribute (url) select ($1::text[]) on conflict (url) do nothing returning id, url) select id, url from new_rows union distinct select id, url from attribute where url = any($1::text[])

cursed query

view original 2018-11-25T20:33:13.859Z

hacker teen puck 👩‍💻

in reply to @puckipedia@puckipedia.com

OH i just realised Diesel is the reason kroeg's store is slow... I'm rewriting it async with handcrafted queries, and also trying to fix transactions again. turns out: an insert with "on conflict do update", even if the update is a noop, locks all those rows :( combine that with ... less efficient querying than i am capable of manually, and you end up with a lot of sad.. once the async psql store works, sqlite will follow soon though!!

view original 2018-11-25T19:29:47.742Z

hacker teen puck 👩‍💻

Lenovo 🤔pad

view original 2018-11-25T16:08:50.445Z

hacker teen puck 👩‍💻

hrm. i'm pretty sure one can build a proof an (AS2?) object existed at a certain url as long as you trust a third party (e.g. the tlsnotary amazon server thingy, which can be proven to contain certain software).. i don't think it's possible to make this work with an untrusted oracle. i wonder if something equivalent can be done with tls1.3??

view original 2018-11-23T17:28:51.128Z

hacker teen puck 👩‍💻

in reply to @puckipedia@puckipedia.com

Kroeg now has user ID + password based OAuth2 support! Cause of Reasons(TM) it's still building infinitely-valid tokens

The plan is to create special (refresh token?) objects in the quad store, so you can properly track them. yeah, stateless tokens are slightly broken but There's A Reason For Everything

view original 2018-11-21T23:12:49.512Z