not screen-reader friendly
not screen-reader friendly
on to some really cursed bullshit:
𝓮𝔁𝓮𝓬𝓿𝓮("/usr/bin/id", ["id"], ٠𝔁٧𝓯𝓯𝓭٤٩٣٠٦٦٤٨ /* ٥٠ 𝓿𝓪𝓻𝓼 */) = ٠
Hey everyone. I'm about to finish my in-progress contract and I've got availability for more work. I build desktop and web software, design and build websites, and do other stuff like digital archiving and tech education[1].
Alternatively, if you think the software I build is cool[2], and can spare a few bucks, donations[3] go a long way.
Financial goals right now:
- child support
- May's rent
- new tires for my van so I can safely make it to iwp9
[1]: https://lightcrystal.systems
[2]: https://forge.lightcrystal.systems/nilix
[3]: https://lightcrystal.systems/support
@nyx damn been a minute since i listened to this album, yeah vektor is freaking awesome 🖤
has any neo-thrash band ever done it better than Vektor jfc
https://www.youtube.com/watch?v=T04QFKnBIiM
even with the 9pfs i still need to keep stdin and out on hand so i can
- send a byte to tell the window to reread some data out of the 9pfs or terminate itself
- know when the window is closed so i can destroy its 9pfs
this is gonna be really cool tho ><
@PolyWolf that blows :< hope you can get back on your feet soon!
New World Chaos 8: Neo Dorothy Motherfucker | https://nilfm.cc/mixes.html
@ritualdust ooh this is very cool :D
@lofty Heheheh reasonable people are just LARPing too ^^
i'm not leaving my house till i get a perfect(ly satisfactory) recording of nwc8
@neauoire beautiful; i've often had similar riffs about my own worldline. here's to that subtle time magic which bleeds through all decisions!
redesigning the 9pfs for kuro, very excited but it's gonna involve implementing some more heavy duty xrxs modules than the ones i built so far ><
how it feels to inject estradiol and drink a monster and take melatonin the same day
i promise nwc8 is still happening, i recorded another run yesterday and its sounding really fucking good
🌺
For all the daydreamers and night swarmers.
#ocular #painting #type #art
https://ocular.nchrs.xyz/feed.html#260322_TROYMER01.jpg
Free yourself from the bondage of time and place and status
For what peace do they give?
What truth do they reveal?
What lie do they live?
Whose blood weeps from these wounds?
Detach yourself!
Detach yourself!
For there is a war
Deep in our hearts
And that's where all battles ought to be fought
Come here
Lower your eyes
And surrender
@eli_oat didnt do a write up but i rewrote https://forge.lightcrystal.systems/nilix/xrxs as a generic 9p server framework and https://forge.lightcrystal.systems/nilix/taro with uf2 support and to use xrxs as a backend!
@neauoire happy bday! 👽🤙
@nyx @kittenlikeasmallcat this is so adorable and fun!!
happy saturday :>
update from my side of the world- ive been fortunate enough to get another short term contract and a gracious donation this week but im still about $100 from making April rent without dipping into my savings. if youve got another gig to keep the ball rolling or a few bucks to spare please help a girl out
https://lightcrystal.systems/support
#mutualAid #fediHire
re: Some idle thoughts about programming language UX
re: Some idle thoughts about programming language UX
@neauoire you're clearly cooking here, this is looking sooooo good :D
@lake really cool, i like the colors and the contrast between handdrawn images and pixelated fonts!
xrxs v0.6.0: i hope you like plan9 C | https://nilfm.cc/xrxs.html
Taro v0.3.0 is here! New stuff:
- uf2 support (includes a monospace version of Geneva which makes the mscan output look nice)
- the order of the theme colors follows the standard
- scrollbars are pixel-perfect and the mouse pointer is a bit nicer
- search and pending indicators are gone; search button stays hilighted when search is active; pending indicator is not needed with the synchronous architecture
- new architecture! the backend uses the xrxs framework to expose a 9p filesystem, which the uxn instance reads and writes to
https://forge.lightcrystal.systems/nilix/taro
#np in #theStudio: Yan Cook - Displaced
re: uxn in the linux console
re: uxn in the linux console
@d6 yeeeee! i wonder if this will run on my remarkable >:3
@nyx @risperdoll awesome @_@
came up with a neat way to simplify text rendering in the new taro. since i'm always either:
- drawing multiple lines of text in a listbox
- or drawing a single line of text in a label or text entrybox
when drawing a line of text, when i reach a newline, i increment the address and return it, so the calling function can draw the next line of text without having to reseek to it; when i reach the end of the string, i return a null short for the calling function to check against :>
@irisnk audrey has this, she calls it "perfect taste memory" and she describes it not infrequently as a curse
@nyx @demha @azureazure @fujoshi i think about texhnolyze all the time; its a masterpiece
ugh i have had multiple people tell me recently during my job search how brave it was that i quit my job and am trying to fight the current...
as i explained at the beginning of my last blog post, it's not like i had a choice. i literally couldn't function anymore, so yeah i guess there's an element of bravery in quitting instead of letting them fire me but the end result would have been the same
> When developers say that LLMs make them more productive, you need to keep in mind that this is what they’re automating: dysfunction, tampering as a design strategy, superstition-driven coding, and software whose quality genuinely doesn’t matter, all in an environment where rigour is completely absent.
https://www.baldurbjarnason.com/2026/the-two-worlds-of-programming/
by @baldur
banging my head against the wall all day has been very frustrating however i am getting used to thinking like a stack machine again and i have made a bit of progress ^^
@nyx i honestly love that book so much, the passages like this are gold
@notchoc @neauoire yeah that was it. i'm past that hurdle and starting to reimplement the other logic :>
@neauoire oh, my goodness T-T
yeah gonna take me a while to get back in the groove with this lol
my font rendering adventures are not going well -.-
|00 @System &vector $2 &wst $1 &rst $1 &eaddr $2 &ecode $1 &pad $1 &r $2 &g $2 &b $2 &debug $1 &halt $1
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
|30 @Audio0 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|40 @Audio1 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|50 @Audio2 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|60 @Audio3 &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1
|80 @Controller &vector $2 &button $1 &key $1 &func $1
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|b0 @File_ &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
( variables )
|0000
( program )
|0100 ( -> )
( default theme )
#028d .System/r DEO2
#0a8d .System/g DEO2
#098d .System/b DEO2
load_font
#0400 .Screen/width DEO2
#0300 .Screen/height DEO2
#0010 .Screen/x DEO2
#0010 .Screen/y DEO2
;wtf uf2/draw
BRK
@load_font ( -- )
;font_file .File/name DEO2
#2100 .File/length DEO2
;font .File/read DEO2
JMP2r
@wtf "Taro 20 "or 20 "something $1
@font_file "font.uf2 00
@uf2/draw ( text* -- )
[ LIT2 15 -Screen/auto ] DEO
[ LIT2r 03 -Screen/sprite ]
&>w
LDAk DUP ?{ POP POP2 POP2r JMP2r }
#0000 ROT #20 SUB
( addr ) DUP2 #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2
( move ) ;font ADD2 LDA .Screen/x DEI2 ADD2
( draw ) [ DEOkr DEOkr ] .Screen/x DEO2
INC2 !&>w
@font $100
&glyphs $2000
@neauoire i can't really identify what i'm doing wrong here
@mauve hehe thats cute
taro backend is rewritten as a 9p filesystem, just gotta clean things up a bit and push the changes, (also push the changes to xrxs itself) then i can start fucking around with the uxn side :D
@CenTdemeern1 @thermia based. dollctl x dollreport collab when
awww yeah we got the basics down. can probably have the whole backend of taro rewritten as a 9p filesystem by the end of the weekend
@neauoire thanks! i'm gonna do all rendering in uxn though, it's more or less gonna be the same broad strokes architecture as taro currently is, just instead of communicating over STDIO it'll communicate over 9p, and instead of the backend being written in crystal with event loops it'll be in C using the xrxs approach!
but i'm sure as i redo the whole frontend i'll have more than a few questions for you since i haven't really touched uxntal in a couple years ^^;
so to flesh this out i'm going to rewrite taro as a xrxs application; also going to take this opportunity to migrate taro to use uf2 instead of an 8x8 monospace font :3
ok we have a basic ass library that lets us build 9p filesystems really fast, like this :>
#include "xrxs/types.h"
#include "xrxs/fns.h"
enum FileType {
CTL = 1,
DATA
};
void xrxs_attach(Req* r) {
respond(r, nil);
}
void xrxs_read(Req* r) {
Aux* a = r->fid->file->aux;
switch (a->type) {
case DATA:
readstr(r, "some data\n");
respond(r, nil);
break;
default:
respond(r, nil);
}
}
void xrxs_write(Req* r) {
respond(r, nil);
}
int threadmaybackground(void) { return 1; }
void threadmain(int argc, char* argv[]) {
Srv* fs = xrxs_create(xrxs_read, xrxs_write, xrxs_attach);
xrxs_build(fs->tree->root, "ctl", nil, DMAPPEND | 0600, create_aux(CTL));
xrxs_build(fs->tree->root, "data", nil, 0400, create_aux(DATA));
xrxs_srv(fs, nil, "/home/nilix/n");
}
i decided to revisit xrxs as a generalized framework and keep it in plan9port c instead of migrating it to go, so i'm experimenting with what abstractions to include in the framework and what to leave to individual applications
feels nice to be writing C again ngl
full of CHAOS and RAGE
tracing the through line between xrxs, taro, and kuro; i see something really cool waiting to be built
textual offcuts from an unpublished essay
textual offcuts from an unpublished essay
When I engage with new technologies questions linger in the afterglow of the initial excitement. Am I wasting my time? What impact is this having on me?
I think that whenever we find ourselves enamoured with a novelty from the labs of humanity we should sooth fears of missing out. And instead ask questions. What do I gain from this? What do I lose? What does the purveyor gain from my adoption? How do I want to use this new thing? Questioning: do I even want this? To pause and consider the risks. Risks exist independent of our perception.
In Charlie Stross's noughties novel Accelerando, the main character is a prolific and virtuosic user of artificial agents, which in the book are computer programs that perform acts at his bidding. The primary interface for this novel substrate is a pair of glasses. In one part of the book the main character loses his computational glasses. Lost with them is the capacity for any kind of engagement with the world. He finds himself cognitively bereft, lost in a non-capacious haze.
Smart glasses exist today. I don't have any nor does anyone I know. I could make an analogy to "agentic AI", but I don't use LLMs. Instead, the smart device I consult every day is the smartphone. Where I live there is a personal identification app, produced and owned by a consortium of the biggest banks. This app is woven into all facets of life. If my phone breaks, I lose access to the identification app. A minor personal catastrophe ensues. I lose the ability to pay bills or file taxes. I can kiss goodbye to making second hand purchases on the regional version of eBay. In spite of my physical debit cards, most Internet transactions fail because I will have lost the ability to countersign. Out of town family can't contact me, and I can only let them know through the grace of the few others around with their phone number. Public transit would become an immense hassle. When my smartphone breaks the haze settles on me too.
Reducing this dependence relationship on technologies feels important. Whether for gadgets, technologies, or information networks. I don't want to be reliant on technology where I lack a voice in how it operates, any say in future changes. So that when deprived, whether temporary or otherwise, I keep my change-making capacity.