Working on a single-user photo gallery for my wife and I. It uses full stack Gleam, Lustre for the frontend SPA, and SQLite for storage (against better judgment I'm also storing files in SQLite, even though that has already required a couple of workarounds). It also calls Exiftool and ImageMagick on the command line for getting photo metadata and creating thumbnails.
Right now it has simple authentication, file uploads, and thumbnail generation. I need to work on the frontend next to integrate some kind of masonry layout and make the upload experience better. Eventually I'll want to also add support for albums, but that'll be the end of the features.
To run command line tools (exiftool and magick right now) on the files, I read them from the database, pass them to the program as stdin and read back the answer over stdout. This runs into a limitation in the Erlang VM: it cannot close the stdin of the started child program. Basically you can't signal EOF, meaning the program will wait for more input until you hit a timeout and your process calling the program crashes. There's an issue for this, but it has been closed as "completed" even though it's not: https://github.com/erlang/otp/issues/4326
This takes the amount of bytes to read as the first argument and uses the rest of the arguments as arguments for the program to call. So basically from Erlang I call
The script reads 1234 bytes from stdin and passes that to the called program, closing its stdin properly. Erlang gets the output and everyone is happy, except for me because I had to write this wrapper in the first place. :P
That's a nice workaround, kind of reminiscent of a Content-Length header in http. I had a similar problem once in an Elixir system, and ended up using erlexec.
Hanging out with my new puppy and trying to get her to trust me / my partner. She's a Mini American Shepherd (an anxious breed) and came home from the breeder via a 10 hour car ride and since then has been stressed out, so I've been doing daily trust building exercises and spending a lot of time with her.
Also fiddling with translating the Marginalia index to C++. Mostly a fun exercise for now, unsure if I'll end up completing it. Almost finished with the buffer pool, which is a small component, but also a supremely fiddly one since it's lock free.
We've agreed to move, committed to it, and know where-ish we want to go... and every time we need to make an actual decision about it it's like we're starting from scratch again.
I have put off adopting a new text editor since I largely abandoned VS Code after its bloat got in the way one time too many. I've made do with a combination of Kate and Jetbrain IDEs. I like Kate, but I would want something just a little bit more programmable (don't say Emacs, Emacs is the antithesis of what I want, I want a simple and usable GUI editor with a smidgen of customability). So I thought I'd take some time this weekend and look at what is out there.
You might enjoy Sublime Text. The reasons you stated were why I took a look at it, and I found the configuration very straightforward compared to a lot of the fully-programmable editors (with solid defaults), while still allowing for additional functionality via a (Python-based) plugin system.
It's in poor taste to advertise my own article, but I wrote a whole post going "Helix just works out of the box and is very easy to learn."
It's similar to vim, but all of the difficult keys have pop-ups that explain you how to use them, so you don't need to leave the editor to look them up, see the video.
Maybe Zed? It can easily get bloated with LSPs and AI, but itās also easy to strip down and itās not a webview. It feels quite similar to Sublime Text in my opinion.
I had trouble running previously installed extensions with gram. A fresh config, whole toolchain is available, but they just don't load and there's no visible error bubbled up to investigate. I've just went back to zed with disabled AI integrations.
Makes sense. Sounds like the maintainer doesn't really use extensions, and is still building their plan to support them. I don't think I've ever used a zed extension.
Homeserver maintenance. I've been low on space for a while, checked and found out that I never finished my migration to my 4TB SSD which I'm a bit ashamed of.
Related: cleaning up my collections of photos which is taking a lot of space; I have RAW files and sometimes I'll try to salvage pictures with darktable and it's new AgX module which can do wonders so that takes extra time.
And probably some more stuff around the worst soldering hotplate ever that I recently built: a stainless steel plate and a heatgun below it. It works and it means I don't have to buy and store more hardware.
I'm not sure what I will be doing. Maybe meeting the parents-in-law for lunch. Maybe seeing one or more of the nephews and SIL. Probably cleaning the fish tank for our 17 year old goldfish. Cleaning is good, and never ends, not really.
But I can tell a short story about what I was doing.
I had decided to replace my secondary desktop (for $WORK) with something smaller and less power-consuming. I have a few different choices laying around the IT storage area.
My first choice was an old Acer mini-desktop with 8G of RAM, 4th gen Intel i5. Plenty for the secondary desktop, which is really just to act as a jump host and for note-taking. Along with being too old to run Windows 11, it was showing a little instability, in that it would not always recognize a boot drive. But it booted most of the time, so that was probably fine for my needs.
I transplant the SSD from the other system to this one, and no matter what I try, it won't recognize the drive. I do the usual stuff, resetting the BIOS, disabling secure boot, etc.. I had previously installed Debian on another SSD, that that worked most of the time, so I don't think it was something to do with secure boot. (*) Eventually I give up on it and it goes into the electronics recycling pile. (The pile is probably big enough to make another run.)
My next choice is a Acer mini-desktop (i3-8100) that is just barely new enough to run Windows 11... poorly. Since no one else is going to need it, I put my SSD in there, and have the same kind of problems as the previous one. But after disabling secure boot, it seems to be fine. I scavenge 8GB of PC4 memory for it (slower than what it originally had) but it seems to run OK.
I just have this fascination / desire to make use of slightly broken things, and putting them to good use. Given no constraints on time / space / money, you would probably find me surrounded with all manner of devices that have some quirks, and probably been repaired at least once, but can still be put to good use. I'm not quite sure why I am like that.
Edit:
(*) Though, maybe it does have something to do with secure boot after all. If the CMOS battery was flaky... It may have been reverting to secure boot, even after that was disabled. Meh. It is in the junk pile now, there's really no need to rescue it. What you have now runs and is stable, don't mess around further in search of answers you don't really need! (This is me talking to myself.)
There is something very satisfying about caring for healthy senior animals. My pet lizard is 18, and it sort of weirds me out that he'd be old enough to vote or take a driver's license - and it simultaneously feels like he's always been there and that I got him yesterday.
He's as active and outgoing as he ever was, keeps getting an excellent bill of health at his annual vet checkups, and has no signs of the geriatric diseases that sometimes affects his species (they're prone to arthritis and cataracts).
Was going to say that keeping a goldfish for 17 years is an impressive feat. I keep tropical fish, and it's not a walk in the park, so I'll be cleaning the tanks this weekend, like every other weekend ;)
I'm working on doing my taxes, because I don't want to leave it until last minute, and also I want to pay taxes as I go as I don't want to get stung by interest fees again >:(
I'm also reading a very interesting book: "The unwomanly face of war", which I've borrowed from the library.
Bevy kinda beat me when I tried learning it; as in I had a really nice well typed program, but it took a lot of mental energy to get a circle on the screen.
So I'm going to repeat it with the idea that it's a skill issue.
Getting ready to "ship" something I described here: https://lobste.rs/c/inx28h (TL;DR: a service to store disk encryption keys with auto-locking features to protect against physical theft). I finally have everything in place, so it's "just" a matter of cleaning up the copy on the web site and writing an article about it.
We passed our food safety course with 98/100 points and in barely ten minutes! So celebratin' that. Excited to visit a new board game bar nearby, too.
Making chili and doing so more safely than ever. Haha!
Lucky for us, it'll be cold enough tomorrow that we can attend a friend's birthday party in VRChat. (The breaker on our bedroom trips if we play anything too GPU-intensive with the AC also on.)
I kicked one project out the door as 1.0, so of course now my brain decides to come up with a bunch of new ideas for it. Iām going to ignore them though and figure out how to finish the game Iām working on. I converted it mostly to my home grown ECS since, uhh, there isnāt one in Ada, now itās moving on from āgame concept worksā to āscope, execute and polish.ā
I've been working on Lunacy, my interpreter + JIT compiler for Lua, again recently. It's now (very) fast, but I need to do a pass over all the Claude-slop quality code and rewrite the bad parts and all the comments. Then once I have all the new features cleaned up I can actually merge it into main and write a new blog post: I want to brag a bit!
Thinking about a job offer. I enrolled for the master's degree you need here to be a secondary school here, but an ex-colleague prodded me to apply for his company. They made a decent offer and in theory they would accommodate my studies.
However, my mind was already set on focusing on the master. I was very disenchanted from my previous gig and the master's is a plan B to have job options outside coding.
My ex-colleague's company is apparently friendly to people who won't use LLMs for now, and I'm told that only one of the members of the team I'd be going in relies heavily on LLMs, so it's not a bad option and well, getting paid while I study wouldn't be so bad.
I'm considering writing them why I'm taking the master's. If they still hire me after that (doubtful) then I would be more comfortable joining. (I know it's not really a recommended strategy to be this kind of transparent to prospective employers, but... I was not even considering a job, so if I lose it, no big deal- and if they hire me anyway, that's likely a great sign about working there.)
Other than that, probably I should code a bit. I'm mulling:
Implement kind of a real-time relational database on top of LMDB. I think I have a valid design (here and I think it's an area worth exploring.
Continue work on a small Nagios replacement I started drafting. Nagios is much more awesome than most people think, but I've become obsessed with a dumb issue with it: to configure a service to take more time to send a notification for warnings than for critical status requires absurdly verbose configuration.
I also had an idea that I thought I could implement a kind of version using rclone serve s3. The idea is to provide libraries so that applications can have configurable remote storage; like you use the library in your app and the first time you need to store data, the user gets a dialog so that they can choose some remote storage (Google Drive, Nextcloud, etc.) and grant the application access to a single folder inside that. I feel this would allow application writers to add "sync" functionality to their apps without having to run any backend service. Another idea worth exploring. But this requires so much more effort than the other two that I don't really want to do it.
I am making a terminal based replacement for open code in go instead of typescript. I've had enough of the 1.2gb of ram and CPU flat out. Silly stuff. Currently doing the multi thread pooling which is fairly interesting.
Have you tried Codex? It's Rust and open source and can connect to non-OpenAI models.
At one point I was playing with both OpenCode (or Claude, can't remember) and Codex at once, had both running different tasks, and saw how the former was pegging a CPU at 100% and the other was cruising at 4% or so... and I had enough of the TS CLI madness. Big fan of Codex now.
One thing that kept me in OpenCode for longer, though, was the ability to pop the current prompt open in Vim. But recently I discovered that you can do the same in Codex via Ctrl+G (though it's not as discoverable), and that really settled it.
I have not tried codex. I'm trying to get away from frontier models. I'm partially continuing with this due to the learning experience!
I didn't realise before starting, for example, that most of the difficulty isn't in threading or batching jobs but in the minutiae's of what happens 'between' all of this. Compaction and trimming constantly is more important than rounds and turns; or you end up in a crawl very quickly on big jobs.
I'm tired and wanna catch up on sleep lol (which means staying in bed till 7 instead of getting up at 5:45... if the kid lets me), but I've also been thinking a lot about merging some of my trusted old web techniques with some of the new concepts all the kids are playing with. Though one of the things I wanted was basically XSLT and sigh, the in-browser api is now deprecated, kinda sad, but maybe for the better. I have a simplified version in mind anyway now, gotta play to see how much I hate it in practice.
I did the basic functionality in this web thing yesterday and I'm ridiculously happy with it already. It does a server side dom transform plus a javascript web component so it works just as well with or without JS. Also bundles the css, using the newer native nesting features, and associated script (I don't love how i did this part yet but it isn't bad) in the same file so you get that component-like experience, but without most the nonsense.
I'll prolly keep at it. And yes, i stated in bed till 7:15 today yayyyyy.
I'm working through ~14 old hard drives I've accumulated over the years from various computer upgrades and decommissioned home NASes.
Each one is getting dumped, merged, and pruned until I have exactly one current, unified file tree representing all of my data. No more "old-w540-ubuntu-2017/" folders where I'm not sure if that's the only copy of the data or not.
I've misplaced some data over the years, and my laptop drive is always full. I hope to address both problems.
Heading up to Scotland to start a multi-day tour in the Z4 with some other BMWs/owners. Looking forward to it, haven't been up there for at least two weeks and love it around there.
I have been having a ton of fun building exploits for old windows vulnerabilities lately. Latest was CVE-2005-0416 an RCe with animated cursor files. Iāll probably look for another one.
Also, planning on bouldering and making a sourdough bread
I love this! How are you getting the vulnerable executables, and how are you testing them? Seems like a great way to learn about memory bugs in a simpler environment
Yes, I have been doing some simpler ctf challenges before, but I find it more enjoyable to have a Ā«realĀ» goal, especially when they are a bit tricky to exploit itās easier to stay motivated. Plus you learn a lot about windows internals at the same time.
I think my workflow could be improved quite a bit. There are a lot of ISOs available on archive.org. I just set up virtual machines without any service packs, so they have all, or at least most of, the bugs in them.
I copy the vulnerable programs over to my host and then reverse engineer with binary ninja.
I write and host the exploits on my host machine and then debug the executables in the guest with ollydbg which works well with old versions of windows. I have been meaning to setup remote debugging with windbg, might look into that this weekend.
Yes totally, also CTFs are nice, but they can be a bit artificial. While the bugs you're exploiting may not be normally exploited in the same way today, they have the advantage of being real bugs that actually happened. I love the idea! I'd probably want to do something similar at some point, but I find the yak shaving in setting up VMs and stuff gets in the way of my wanting to do it. One day I'll set up https://virt-manager.org/ and start hacking thick clients like I want to.
I have a tendency to end up yak shaving on personal projects š My idea is to work my way up to modern systems, with modern protections.
If I didn't plan on exploiting multiple bugs in these operating systems, I would probably not go through setting up the VMs though. It was actually a pain to set up. For windows 98 I had to download a custom patch to fix a race condition which just always happens on modern hardware because it is so fast.
But the joy of popping calc from a real IE bug for the first time was totally worth the hassle.
Going to keep writing some programs I had long put off now that Iām between jobs and learning Rust finally. Also reloading a novel to Kindle Direct now that they changed their formatting requirements. May rewrite the blurb and stuff at the same time.
Hopefully find some time to continue working through Pikuma's Compilers & Interpreters course! All the while thinking about my own language idea which would adapt WISP with a first class "splice" form.
Hopefully finishing up two circuit board layouts that have been lingering since⦠January or so. One is for Christmas lights and Christmas is coming faster than Iād like.
Other big thing is to start getting ready for winter. One last mow and yard cleanup. Put gas in the snowblower and see if the carb needs to get cleaned or not. Put up markers again to indicate where the baby trees are so I donāt take them in January.
After two non-stop days of rain, I'll be enjoying walking through the city with my wife. Trying to hit a few dives, a bookshop or two, and get some food somewhere.
My M1 Macbook Air's screen died today, so I ended up snagging a new M5 Air this afternoon as I head out of town for two weeks on Monday. I'm slowly and particularly setting things up :hugs:
DustyFuzzy | 21 days ago
Cleaning š«©
mordae | 21 days ago
I should as well. It's horrible how quickly entropy grows over the workweek.
SamRW | 21 days ago
It's OK, you can clean next weekend.
Nicd | 21 days ago
Working on a single-user photo gallery for my wife and I. It uses full stack Gleam, Lustre for the frontend SPA, and SQLite for storage (against better judgment I'm also storing files in SQLite, even though that has already required a couple of workarounds). It also calls Exiftool and ImageMagick on the command line for getting photo metadata and creating thumbnails.
Right now it has simple authentication, file uploads, and thumbnail generation. I need to work on the frontend next to integrate some kind of masonry layout and make the upload experience better. Eventually I'll want to also add support for albums, but that'll be the end of the features.
https://git.ahlcode.fi/nicd/kuvatus
motet-a | 21 days ago
Which workarounds? If itās single-user, it should work fine.
Nicd | 21 days ago
To run command line tools (exiftool and magick right now) on the files, I read them from the database, pass them to the program as stdin and read back the answer over stdout. This runs into a limitation in the Erlang VM: it cannot close the stdin of the started child program. Basically you can't signal EOF, meaning the program will wait for more input until you hit a timeout and your process calling the program crashes. There's an issue for this, but it has been closed as "completed" even though it's not: https://github.com/erlang/otp/issues/4326
The workaround I use is a wrapper script:
This takes the amount of bytes to read as the first argument and uses the rest of the arguments as arguments for the program to call. So basically from Erlang I call
The script reads 1234 bytes from stdin and passes that to the called program, closing its stdin properly. Erlang gets the output and everyone is happy, except for me because I had to write this wrapper in the first place. :P
tomjakubowski | 21 days ago
That's a nice workaround, kind of reminiscent of a Content-Length header in http. I had a similar problem once in an Elixir system, and ended up using erlexec.
https://github.com/saleyn/erlexec#communicating-with-an-os-process-via-stdin-and-sending-end-of-file
Nicd | 20 days ago
Yeah it has plagued me before as well. This wrapper script seems to be fast enough and doesn't require C++ build tools which is nice.
motet-a | 21 days ago
Oh okay. I thought you had issues with SQLite. I didnāt know Erlang had this issue.
k749gtnc9l3w | 21 days ago
At least you had enough control not to be forced to pass length a 32-bit integer in the first 4 bytes of the stdin!
(WebExtensions Native Messaging Host needs to communicate to the browser using packets like that, with JSON payload)
tel | 21 days ago
Exploring Barcelona
regulator | 21 days ago
One of my favorite cities. Have fun!
sevki | 21 days ago
landon | 21 days ago
Preparing the house for the cats i'm adopting next week
yiyu | 21 days ago
Iām working on Folune, a small, local-first desktop text editor for plain text and Markdown.
SamRW | 21 days ago
Looks very nice!
yiyu | 21 days ago
Thanks! Iām glad you like it. :)
regulator | 21 days ago
Hanging out with my new puppy and trying to get her to trust me / my partner. She's a Mini American Shepherd (an anxious breed) and came home from the breeder via a 10 hour car ride and since then has been stressed out, so I've been doing daily trust building exercises and spending a lot of time with her.
marginalia | 21 days ago
Been a stressful period, so enhancing my calm.
Also fiddling with translating the Marginalia index to C++. Mostly a fun exercise for now, unsure if I'll end up completing it. Almost finished with the buffer pool, which is a small component, but also a supremely fiddly one since it's lock free.
icefox | 21 days ago
Fighting with my partner about moving.
ansible-rs | 21 days ago
You've already committed to moving, but don't agree on the process?
You haven't come to a consensus on moving? Or where to move?
icefox | 21 days ago
We've agreed to move, committed to it, and know where-ish we want to go... and every time we need to make an actual decision about it it's like we're starting from scratch again.
ansible-rs | 21 days ago
Ugh. So there's committing to the move on an intellectual level, and committing to the move on an emotional level.
It sounds like you'll need to do some digging to find out what's really bothering your partner about all this.
From what I've seen in the past, one frequent issue is moving away from family. (Or moving closer to family, sometimes that's not great.)
If you want to talk to an Internet stranger who knows absolutely nothing about you beyond Garnet, feel free to send me a PM.
kryptiskt | 21 days ago
I have put off adopting a new text editor since I largely abandoned VS Code after its bloat got in the way one time too many. I've made do with a combination of Kate and Jetbrain IDEs. I like Kate, but I would want something just a little bit more programmable (don't say Emacs, Emacs is the antithesis of what I want, I want a simple and usable GUI editor with a smidgen of customability). So I thought I'd take some time this weekend and look at what is out there.
jbauer | 21 days ago
You might enjoy Sublime Text. The reasons you stated were why I took a look at it, and I found the configuration very straightforward compared to a lot of the fully-programmable editors (with solid defaults), while still allowing for additional functionality via a (Python-based) plugin system.
mond | 21 days ago
It's in poor taste to advertise my own article, but I wrote a whole post going "Helix just works out of the box and is very easy to learn."
It's similar to vim, but all of the difficult keys have pop-ups that explain you how to use them, so you don't need to leave the editor to look them up, see the video.
https://herecomesthemoon.net/2025/06/i-like-helix/
motet-a | 21 days ago
Maybe Zed? It can easily get bloated with LSPs and AI, but itās also easy to strip down and itās not a webview. It feels quite similar to Sublime Text in my opinion.
hoistbypetard | 21 days ago
If you'd like a calmer zed by default, gram looks like a very promising fork.
kwas | 21 days ago
I had trouble running previously installed extensions with gram. A fresh config, whole toolchain is available, but they just don't load and there's no visible error bubbled up to investigate. I've just went back to zed with disabled AI integrations.
hoistbypetard | 21 days ago
Makes sense. Sounds like the maintainer doesn't really use extensions, and is still building their plan to support them. I don't think I've ever used a zed extension.
regulator | 21 days ago
I switched to Zed due to VSCode's bloat and love it. Customizable but by default minimal, and super fast. It is great.
adrien | 21 days ago
Homeserver maintenance. I've been low on space for a while, checked and found out that I never finished my migration to my 4TB SSD which I'm a bit ashamed of.
Related: cleaning up my collections of photos which is taking a lot of space; I have RAW files and sometimes I'll try to salvage pictures with darktable and it's new AgX module which can do wonders so that takes extra time.
And probably some more stuff around the worst soldering hotplate ever that I recently built: a stainless steel plate and a heatgun below it. It works and it means I don't have to buy and store more hardware.
ansible-rs | 21 days ago
I'm not sure what I will be doing. Maybe meeting the parents-in-law for lunch. Maybe seeing one or more of the nephews and SIL. Probably cleaning the fish tank for our 17 year old goldfish. Cleaning is good, and never ends, not really.
But I can tell a short story about what I was doing.
I had decided to replace my secondary desktop (for $WORK) with something smaller and less power-consuming. I have a few different choices laying around the IT storage area.
My first choice was an old Acer mini-desktop with 8G of RAM, 4th gen Intel i5. Plenty for the secondary desktop, which is really just to act as a jump host and for note-taking. Along with being too old to run Windows 11, it was showing a little instability, in that it would not always recognize a boot drive. But it booted most of the time, so that was probably fine for my needs.
I transplant the SSD from the other system to this one, and no matter what I try, it won't recognize the drive. I do the usual stuff, resetting the BIOS, disabling secure boot, etc.. I had previously installed Debian on another SSD, that that worked most of the time, so I don't think it was something to do with secure boot. (*) Eventually I give up on it and it goes into the electronics recycling pile. (The pile is probably big enough to make another run.)
My next choice is a Acer mini-desktop (i3-8100) that is just barely new enough to run Windows 11... poorly. Since no one else is going to need it, I put my SSD in there, and have the same kind of problems as the previous one. But after disabling secure boot, it seems to be fine. I scavenge 8GB of PC4 memory for it (slower than what it originally had) but it seems to run OK.
I just have this fascination / desire to make use of slightly broken things, and putting them to good use. Given no constraints on time / space / money, you would probably find me surrounded with all manner of devices that have some quirks, and probably been repaired at least once, but can still be put to good use. I'm not quite sure why I am like that.
Edit:
(*) Though, maybe it does have something to do with secure boot after all. If the CMOS battery was flaky... It may have been reverting to secure boot, even after that was disabled. Meh. It is in the junk pile now, there's really no need to rescue it. What you have now runs and is stable, don't mess around further in search of answers you don't really need! (This is me talking to myself.)
datarama | 21 days ago
There is something very satisfying about caring for healthy senior animals. My pet lizard is 18, and it sort of weirds me out that he'd be old enough to vote or take a driver's license - and it simultaneously feels like he's always been there and that I got him yesterday.
He's as active and outgoing as he ever was, keeps getting an excellent bill of health at his annual vet checkups, and has no signs of the geriatric diseases that sometimes affects his species (they're prone to arthritis and cataracts).
sebastien | 21 days ago
Was going to say that keeping a goldfish for 17 years is an impressive feat. I keep tropical fish, and it's not a walk in the park, so I'll be cleaning the tanks this weekend, like every other weekend ;)
SamRW | 21 days ago
I'm working on doing my taxes, because I don't want to leave it until last minute, and also I want to pay taxes as I go as I don't want to get stung by interest fees again >:(
I'm also reading a very interesting book: "The unwomanly face of war", which I've borrowed from the library.
zetashift | 21 days ago
Bevy kinda beat me when I tried learning it; as in I had a really nice well typed program, but it took a lot of mental energy to get a circle on the screen.
So I'm going to repeat it with the idea that it's a skill issue.
thirdtruck | 21 days ago
Good luck! We've been meaning to revisit bevy once we've recovered from more of our professional burnout.
zetashift | 20 days ago
Thank you, there is something really cool things about bevy but it does feel like there is a certain barrier I can't cross.
And I do wish you a speedy and tranquil recovery(and congratulations on the food safety course)! It's not easy out there.
jmmv | 21 days ago
Getting ready to "ship" something I described here: https://lobste.rs/c/inx28h (TL;DR: a service to store disk encryption keys with auto-locking features to protect against physical theft). I finally have everything in place, so it's "just" a matter of cleaning up the copy on the web site and writing an article about it.
thirdtruck | 21 days ago
We passed our food safety course with 98/100 points and in barely ten minutes! So celebratin' that. Excited to visit a new board game bar nearby, too.
Making chili and doing so more safely than ever. Haha!
Lucky for us, it'll be cold enough tomorrow that we can attend a friend's birthday party in VRChat. (The breaker on our bedroom trips if we play anything too GPU-intensive with the AC also on.)
olex | 21 days ago
sleeping and maybe learning haskell
knirirr | 21 days ago
I'm at the Smallsword Symposium in Edinburgh, having been attending since it was founded.
https://smallswordsymposium.com/
pyj | 21 days ago
I kicked one project out the door as 1.0, so of course now my brain decides to come up with a bunch of new ideas for it. Iām going to ignore them though and figure out how to finish the game Iām working on. I converted it mostly to my home grown ECS since, uhh, there isnāt one in Ada, now itās moving on from āgame concept worksā to āscope, execute and polish.ā
icefox | 21 days ago
Ah, the "rest of the owl" phase. Good luck!
pyj | 21 days ago
I have my own level editor and 11 levels done, so the big problem right now is "how do I theme this and make it look nice?"
Hodei | 21 days ago
Taking my OSAI exam. I'm stressing the hell out, but I think it'll be fine (?).
st3fan | 21 days ago
Bsides Toronto
chc4 | 21 days ago
I've been working on Lunacy, my interpreter + JIT compiler for Lua, again recently. It's now (very) fast, but I need to do a pass over all the Claude-slop quality code and rewrite the bad parts and all the comments. Then once I have all the new features cleaned up I can actually merge it into main and write a new blog post: I want to brag a bit!
vulcan | 20 days ago
Nice! Iām working on a JIT compiler for Lua as well (though w/o AI), looking forward to reading your blog post!
koala | 20 days ago
Thinking about a job offer. I enrolled for the master's degree you need here to be a secondary school here, but an ex-colleague prodded me to apply for his company. They made a decent offer and in theory they would accommodate my studies.
However, my mind was already set on focusing on the master. I was very disenchanted from my previous gig and the master's is a plan B to have job options outside coding.
My ex-colleague's company is apparently friendly to people who won't use LLMs for now, and I'm told that only one of the members of the team I'd be going in relies heavily on LLMs, so it's not a bad option and well, getting paid while I study wouldn't be so bad.
I'm considering writing them why I'm taking the master's. If they still hire me after that (doubtful) then I would be more comfortable joining. (I know it's not really a recommended strategy to be this kind of transparent to prospective employers, but... I was not even considering a job, so if I lose it, no big deal- and if they hire me anyway, that's likely a great sign about working there.)
Other than that, probably I should code a bit. I'm mulling:
Implement kind of a real-time relational database on top of LMDB. I think I have a valid design (here and I think it's an area worth exploring.
Continue work on a small Nagios replacement I started drafting. Nagios is much more awesome than most people think, but I've become obsessed with a dumb issue with it: to configure a service to take more time to send a notification for warnings than for critical status requires absurdly verbose configuration.
I also had an idea that I thought I could implement a kind of version using
rclone serve s3. The idea is to provide libraries so that applications can have configurable remote storage; like you use the library in your app and the first time you need to store data, the user gets a dialog so that they can choose some remote storage (Google Drive, Nextcloud, etc.) and grant the application access to a single folder inside that. I feel this would allow application writers to add "sync" functionality to their apps without having to run any backend service. Another idea worth exploring. But this requires so much more effort than the other two that I don't really want to do it.citbl | 21 days ago
I am making a terminal based replacement for open code in go instead of typescript. I've had enough of the 1.2gb of ram and CPU flat out. Silly stuff. Currently doing the multi thread pooling which is fairly interesting.
jmmv | 21 days ago
Have you tried Codex? It's Rust and open source and can connect to non-OpenAI models.
At one point I was playing with both OpenCode (or Claude, can't remember) and Codex at once, had both running different tasks, and saw how the former was pegging a CPU at 100% and the other was cruising at 4% or so... and I had enough of the TS CLI madness. Big fan of Codex now.
One thing that kept me in OpenCode for longer, though, was the ability to pop the current prompt open in Vim. But recently I discovered that you can do the same in Codex via Ctrl+G (though it's not as discoverable), and that really settled it.
citbl | 20 days ago
I have not tried codex. I'm trying to get away from frontier models. I'm partially continuing with this due to the learning experience!
I didn't realise before starting, for example, that most of the difficulty isn't in threading or batching jobs but in the minutiae's of what happens 'between' all of this. Compaction and trimming constantly is more important than rounds and turns; or you end up in a crawl very quickly on big jobs.
thecloudlet | 20 days ago
Take my wife to the mountains, and have a BBQ in the forest.
adam_d_ruppe | 21 days ago
I'm tired and wanna catch up on sleep lol (which means staying in bed till 7 instead of getting up at 5:45... if the kid lets me), but I've also been thinking a lot about merging some of my trusted old web techniques with some of the new concepts all the kids are playing with. Though one of the things I wanted was basically XSLT and sigh, the in-browser api is now deprecated, kinda sad, but maybe for the better. I have a simplified version in mind anyway now, gotta play to see how much I hate it in practice.
adam_d_ruppe | 20 days ago
I did the basic functionality in this web thing yesterday and I'm ridiculously happy with it already. It does a server side dom transform plus a javascript web component so it works just as well with or without JS. Also bundles the css, using the newer native nesting features, and associated script (I don't love how i did this part yet but it isn't bad) in the same file so you get that component-like experience, but without most the nonsense.
I'll prolly keep at it. And yes, i stated in bed till 7:15 today yayyyyy.
spiffytech | 20 days ago
I'm working through ~14 old hard drives I've accumulated over the years from various computer upgrades and decommissioned home NASes.
Each one is getting dumped, merged, and pruned until I have exactly one current, unified file tree representing all of my data. No more "old-w540-ubuntu-2017/" folders where I'm not sure if that's the only copy of the data or not.
I've misplaced some data over the years, and my laptop drive is always full. I hope to address both problems.
[OP] caius | 20 days ago
Heading up to Scotland to start a multi-day tour in the Z4 with some other BMWs/owners. Looking forward to it, haven't been up there for at least two weeks and love it around there.
owl | 21 days ago
Reading Barad's Meeting the Universe Halfway in the hope that I will be able to use it in my thesis this autumn. Right now I feel out of my depth.
aaronmallen | 21 days ago
I'll likely be working on my Eve Online Companion pod
loldot | 21 days ago
I have been having a ton of fun building exploits for old windows vulnerabilities lately. Latest was CVE-2005-0416 an RCe with animated cursor files. Iāll probably look for another one.
Also, planning on bouldering and making a sourdough bread
SamRW | 21 days ago
I love this! How are you getting the vulnerable executables, and how are you testing them? Seems like a great way to learn about memory bugs in a simpler environment
loldot | 21 days ago
Yes, I have been doing some simpler ctf challenges before, but I find it more enjoyable to have a Ā«realĀ» goal, especially when they are a bit tricky to exploit itās easier to stay motivated. Plus you learn a lot about windows internals at the same time.
I think my workflow could be improved quite a bit. There are a lot of ISOs available on archive.org. I just set up virtual machines without any service packs, so they have all, or at least most of, the bugs in them.
I copy the vulnerable programs over to my host and then reverse engineer with binary ninja.
I write and host the exploits on my host machine and then debug the executables in the guest with ollydbg which works well with old versions of windows. I have been meaning to setup remote debugging with windbg, might look into that this weekend.
SamRW | 20 days ago
Yes totally, also CTFs are nice, but they can be a bit artificial. While the bugs you're exploiting may not be normally exploited in the same way today, they have the advantage of being real bugs that actually happened. I love the idea! I'd probably want to do something similar at some point, but I find the yak shaving in setting up VMs and stuff gets in the way of my wanting to do it. One day I'll set up https://virt-manager.org/ and start hacking thick clients like I want to.
loldot | 20 days ago
I have a tendency to end up yak shaving on personal projects š My idea is to work my way up to modern systems, with modern protections.
If I didn't plan on exploiting multiple bugs in these operating systems, I would probably not go through setting up the VMs though. It was actually a pain to set up. For windows 98 I had to download a custom patch to fix a race condition which just always happens on modern hardware because it is so fast.
But the joy of popping calc from a real IE bug for the first time was totally worth the hassle.
madhadron | 21 days ago
Going to keep writing some programs I had long put off now that Iām between jobs and learning Rust finally. Also reloading a novel to Kindle Direct now that they changed their formatting requirements. May rewrite the blurb and stuff at the same time.
alect | 21 days ago
Hopefully find some time to continue working through Pikuma's Compilers & Interpreters course! All the while thinking about my own language idea which would adapt WISP with a first class "splice" form.
tonyarkles | 21 days ago
Hopefully finishing up two circuit board layouts that have been lingering since⦠January or so. One is for Christmas lights and Christmas is coming faster than Iād like.
Other big thing is to start getting ready for winter. One last mow and yard cleanup. Put gas in the snowblower and see if the carb needs to get cleaned or not. Put up markers again to indicate where the baby trees are so I donāt take them in January.
blitz | 21 days ago
After two non-stop days of rain, I'll be enjoying walking through the city with my wife. Trying to hit a few dives, a bookshop or two, and get some food somewhere.
Also cleaning and practicing system design
brad | 21 days ago
My M1 Macbook Air's screen died today, so I ended up snagging a new M5 Air this afternoon as I head out of town for two weeks on Monday. I'm slowly and particularly setting things up :hugs:
marcecoll | 20 days ago
Battling pretty severe burnout