Kari Pahula
kaol.piperka.net
Kari Pahula
@kaol.piperka.net
Software herder. Haskell, Debian, GPU compute, etc. I run and maintain a web comics site, https://piperka.net/

Mostly here to talk about UA+EU apparently.
Pinned
Hello Bluesky.

I run a web site about web comics, piperka.net. It can do bookmarks, follow updates and give you recommendations on almost any web comic with a public archive. I just added Bluesky as a login option if you want to check it out.
Piperka
piperka.net
Some Sunday Haskell: data Foo a = Foo { foo :: a Int }

Foo Identity contains one Int.
Foo Maybe contains one or no Ints.
Foo [] contains none or multiple Ints.

Can you have a Foo that has no Ints? Sure, it's Foo Proxy.
November 9, 2025 at 10:57 AM
I submitted a patch to kan-extensions. Does that make me a Haskell programmer yet?

github.com/ekmett/kan-e...
Add MonadThrow instance for Codensity by kaol · Pull Request #83 · ekmett/kan-extensions
The exceptions package is a transitive dependency of this package via semigroupoids so these instances can't be there.
github.com
September 27, 2025 at 5:13 PM
I'm learning Ukrainian.

They have every possible fricative apparently.
September 14, 2025 at 3:51 PM
I hadn't heard of an astrogation web API before.
September 9, 2025 at 4:59 PM
Whoever started the Youtube fad of zooming for emphasis on talk videos?

It's annoying and distracting.

"I say an important word, I need to close up of my face." Argh.
July 10, 2025 at 5:36 PM
HTML is trolling me.

Of course "select" tags don't use "select" events, but "change" and "input" instead.

I don't know how many times I've rediscovered that property already.
July 8, 2025 at 3:29 PM
Typical.

I need to implement a web GUI for a project and one thing led to another and now I'm reading about Nix.
June 9, 2025 at 8:17 PM
Hello Bluesky.

I run a web site about web comics, piperka.net. It can do bookmarks, follow updates and give you recommendations on almost any web comic with a public archive. I just added Bluesky as a login option if you want to check it out.
Piperka
piperka.net
May 18, 2025 at 9:26 AM
I just printf debugged my auth code for hours in production to conclude in the end that the problem was that I didn't have an NTP client installed on my server, which had made the system clock lag enough to make the JWT issue times be too old.

The code was fine, I'm just a mediocre sysadmin.
May 18, 2025 at 1:20 AM
Oops.

I had upgraded to a new GHC version on my site. I was puzzled since a few functional changes that went with it didn't seem to work at all.

Turns out that I had hard coded the old compiler's dist path to a deployment script. I had been deploying a months old back end executable all along.
May 11, 2025 at 7:29 PM
After having this code ferment locally for months, I got to deploy some 2000 lines of changes. Most of it was due to API changes in libraries. The only visible change was supposed to be Bluesky login support for Piperka but for some reason I get a PKCE error in prod with it. It worked on my machine.
April 27, 2025 at 5:40 PM
I joined bsky to post things about my software activities but instead I've been on a spree to comment about the war in Ukraine.

I've gained some followers and I think I'll confuse quite a few people when I resume talking about Haskell libraries, my web comics website, Debian or the like.
March 23, 2025 at 7:25 PM
Running a web site leads to receiving some funny spam.

A "professional Wikipedia writer" offers me to write an article for Piperka. With some blather about SEO and stuff. They offer it to be "valid for a lifetime guarantee". All this for $120.

I don't think they can override WP:N just like that.
January 29, 2025 at 3:19 PM
108 files changed, 1342 insertions(+), 1126 deletions(-)

I'm dragging #Piperka from GHC 8.8 to 9.6, along with upgrading some dependencies. Hasql was the main culprit for touching pretty much everything. Piperka is pretty DB heavy. First version to compile, I didn't try to run it yet.

#haskell
January 12, 2025 at 3:22 PM
January 9, 2025 at 3:23 PM
I ran into two bugs in Debian testing. One was that upgrading only libc switched from systemd to sysv init, due to deps on libc. The second, funny, one was that sysv init's package setup script crashes a systemd-nspawn container. I don't expect many people to run sysv init anymore anywhere.

#debian
January 5, 2025 at 4:39 PM
I signed up for a Ukrainian language course. I don't even know any Ukrainians personally. Something new for the new year?
January 1, 2025 at 9:04 AM
It feels like after you've done auth stuff once you're cursed to do it forever. I had already a PR on jose library for a partial implementation of JWEs and another one on openid-connect to expand its tutorial. And now I implement more RFCs on my own auth library.

#haskell
December 31, 2024 at 8:19 AM
I'm looking into implementing bsky auth for Piperka. They have a whole shopping list of things I need to implement first: PKCE, PAR and DPoP. Maybe even more.

Too bad snaplet-customauth is only used by me. Free software is better if it has more users than one.
December 29, 2024 at 12:52 PM
I fixed push notifications in #piperka. I must say that the past me wrote some pretty questionable code. IPC via writing to a stamp file and catching it with inotify? It's a web server, just let it have HTTP.
December 15, 2024 at 11:18 AM
I must be getting old. I'm adding comments to my code.
December 7, 2024 at 12:18 PM
Random Finnish moment: I grabbed the next customer's package of pasta that was the exact same kind I was buying since I was distracted by the store's app and bought it too and I was too embarrassed to say anything when I noticed that I had two. I hope he went back to buy another package. Sorry.
November 30, 2024 at 10:53 AM
I've done some #ROCm #Debian things lately. I asked on the list what needs attention (lists.debian.org/debian-ai/20...) and I uploaded a few 6.1 updates to experimental and sprinkled my GPG dust on some other uploads. Running GPU compute tests is a good room warmer in the winter. I might do more.
Helping with ROCm packaging
lists.debian.org
November 29, 2024 at 9:20 PM
I may have given an impression by joining and right away following accounts talking about the war in Ukraine. However, if I post something it's likely mostly about my own activities with software.

I've never been that into social media.

Still: Slava Ukraini.
November 26, 2024 at 7:03 AM