I've been meaning to have the menu rom complete before the month starts, but alas. So this morning I've added arrow controls to help with selecting the right thing from the menu's list, and I've added A button and Enter key to send the selection to Porporo. I think this month will be a lot of this, working on something from within the system, and partly fixing the little friction that I encounter along the way. https://rabbits.srht.site/decadv/ #DecemberAdventure
I've been scratching my head about how to handle terminal roms(like linters and generators), and until now I thought to pause execution until a connection from the rom was made, but that had some issues. Instead, I figured that I could transfer the connections of the closing menu onto the newly spawned rom, this seems to solve that! https://rabbits.srht.site/decadv/ #DecemberAdventure
I still haven't started to improve cli roms so they can recover after usage, but I'll have to tackle this sooner or later. At the moment, it sounds like so much of a bore in comparison to doing graphics programming, problems for another day, F5 reload 'til then.
Had an excellent time catching up with tracks I missed this summer as I did optimizations I had lined up from yesterday. I've added a global cursor so I can finally see what I'm doing when between windows. The cursor handling makes use of the applications' mouse vector port to see if a cursor is present in the application or not. This neat trick allows me to draw the global cursor over the applications that do not have one. https://rabbits.srht.site/decadv/ #DecemberAdventure
Didn't get to implement translucent windows, but I did get a bunch of things moving forward.
I fixed some message passing issues I've had since day1, and pushed on with the program that monitors what is going through connections between the programs, it sounds boring like that, but it wasn't, it was pretty fun, the rom intercepts and draws the data that programs send to each other in real-time. https://rabbits.srht.site/decadv/ #DecemberAdventure
Wait. Translucent windows in a four bit video buffer? You might not remember this, but that was a touted feature of Aubade, my Hyperjam submission many moons ago! 😃 What's your plan, hypothetically, for low bit depth translucency?
I don't have much time today so I'll keep it short, implemented theme parsing at the OS level. I wanted the little interface there is to follow the colors defined by the theme file. That's it, just wanted to make things a tad comfier while I work for the rest of the month.
I had been dreading today's task since the month begun, I knew I'd have to eventually make Drifblim able to survive being thrown paths interactively. The original design expected to be terminated after assembly, relying on self-modification like nobody's business it left the original assembler data in memory nearly unrecognizable after a run. The project here was to make sure that it recovers into a usable state, even after erroring.
@alilly yeah, it reduces the boundaries of search loops and stores the new bounds in its own code, so the next run, unless symbols change, it scans only what's needed.
After completing yesterday's task which was to make it so the little self-hosted assembler was interactive, I knew I'd finally able to build my website without leaving the comfort of Porporo. I did it, felt real nice. But, that's it, I'm calling it a day. ^^
Until now, I must have spent a total of 15 minutes on the actual drawing of the wires. Silly, considering how central to this whole thing these are. So, today I added detection for which corners to draw the wires from and to, to help reduce their overlapping windows content. It's all coming together better than I had hoped, I'm positively surprised at how many of the tasks that I set out to do and have managed to complete already.
Woke up hungover, booted porporo, slouched with my face resting on my fist, wondering about input methods, if there wasn't an interesting way that I could possibly program with just the one hand holding the tablet pen, that wasn't an on-screen keyboard. I considered the way I could write letters on the palm pilot, and wonder what went into a system such as that, and then implemented it.
I didn't expect shorthand recognition to be such a fascinating rabbit hole to fall into. I've spent a second day on the implementation of such a system. I've wanted to see if the scheme I chose could be extended to cover the rest of the ASCII sheet, and if I could remember each glyph. I've also implemented a punctuation mode. Perhaps I will write tomorrow's entry with a tablet pen.
Okay, one more day on this, it's just too fun. I've split the canvas into three sections so I can input capitalized letters at the top, lowercase letters in the middle, and punctuation at the bottom. This new UX makes the whole thing a lot more practical to use. I'd like to say that I've written lots of code today, but I mostly practiced drawing the alphabet over and over again. https://rabbits.srht.site/decadv/ #DecemberAdventure
This month's list of experiments is thinning, one of the remaining thing I'd like to do is create a rom that exposes the controls that have until now only been available through keystrokes to move, close, center, collapse and draw connections between programs. The interesting bit of this project is to have most of the state of the operating system collected into the bar's ram. https://rabbits.srht.site/decadv/ #DecemberAdventure
ok, say i convert my wallpaper to tga with the correct size in gimp - do i save it RLE or not, and top or bottom origin? I assume color mode should be indexed with 4 colors
Finally got around to retrying this with my problematic image! Not really useable as-is (I have to adjust the contrast I think to get it to cut down on the green with this .theme) but actually looks pretty cool 😁 Happy new year!
Since parts of Porporo are built with itself, to compile it we need to have a partial implementation of the Varvara ecosystem capable of running cli roms, and an assembler, so that the roms that live at the core of porporo can be assembled and transformed into valid C files with the help of the formatter rom. When this is ready we can finally compile Porporo. http://rabbits.srht.site/decadv/ #DecemberAdventure
It looks like the work I set out to do on Porporo is done, all I have left is to document it properly. This project is going to transform the way I work moving forward. Today, I completed a handful of challenges from lovebyte's tcc event from within the operating system itself to test things out, without running into any issues. https://rabbits.srht.site/decadv/ #DecemberAdventure
Decided to revisit trying to make one of these 3d tunnels effects after failing last year, with some help from the #lovebytetcc folks, I was able to make a neat 210 bytes demo and learnt a neat trick to approximate distance between two points without a square root function. https://rabbits.srht.site/decadv/ #DecemberAdventure
I've done a lot of creative coding these past few days, but today I figured I might do well going over everything with the peephole optimizer, linter, formatter, tidying things up a bit. I've also found a little optimization to the theme loading code that resides at the core of nearly every graphical application I've written. https://rabbits.srht.site/decadv/ #DecemberAdventure
I guess hand writing and brush strokes haven't quite left my mind since the other day, and so I find myself revisiting Oekaki, I knew that I could use that little trick from monday to approximate distance between points, and connected it to the brush tool to add a quick and dirty natural line thickness. https://rabbits.srht.site/decadv/ #DecemberAdventure
I was helping a friend with their toy scheme compiler last night and we got talking again about SECD, and to help explain the thing, I started putting together a base implementation of the abstract machine's runtime so we could target it with their compiler. It has been a long time since I played with SECD so I've updated the lisp documentation on the XXIIVV wiki with a couple of notes of things I had forgotten. https://rabbits.srht.site/decadv/ #DecemberAdventure
Finished preparing the SECD runtime, I've been wondering if there ever were other functional languages designed to target it besides Pure Lisp(Lispkit), I looked around a bit but I couldn't find any. I noticed there was very little documentation out there on it, so I've started a page of my own. I think I might expand the self-hosted compiler to support line comments and the 'quote expression, because in its current state it's a bit of a pain to use. https://rabbits.srht.site/decadv/ #DecemberAdventure
Wrote very little code today, I closed Henderson's "Application and Implementation", and reopened SICP.. I felt like I needed a refresher of the last chapters(esp. the one about a LISP implementation). So yeah, today was drinking lots of tea, scrolling up and down the wizard pdf, maybe I should get the actual book at some point.. https://rabbits.srht.site/decadv/ #DecemberAdventure
ah, i've been reading sicp on and off for the last while. it's a really cute little book. i feel like every time i look at it i gain a deeper appreciation for scheme
Just saw it now. It's really interesting, I don't think I've ever seen it before; at a cursory glance it doesn't seem to be equivalent to either manhattan or chebyshev?
(Manhattan is dx+dy, Chebyshev is max(dx,dy), and yours seems to be max(dx,dy)+min(dx,dy)/2, if I'm reading it correctly.)
I should play around with it a bit and do some comparisons.
i think the ideal for oneko-uxn's purposes is if it could somehow ask the emulator to reposition the window. then i could bring back the whole chasing the pointer around the screen thing
@alilly it's cool that you made yourself a little js interpreter for a language that you like 😀 The text editor is written in that assembly language as well? That's pretty cool
I would like to get there eventually, but the furthest I actually got was verifying the arithmetic and conditional jump microcode. I started to write a primitive assembler (as0) then got distracted.
One of the problems is there needs to be input/output arrangements of some kind, which have to be written in JS, so there's a lot of back and forth between hand-assembling programs and writing JS to make them able to actually do anything before you can start assembling things automatically.
I did let myself use an external text editor and store programs in files outside the JS environment, reasoning that I would probably at least be able to use scratch paper if I were trapped in a room. Adding storage and writing a line editor to stop doing that would be very cool but the latter would reasonably need a working as2 and I didn't even finish as0.
@alilly keep it up, you'll get there don't worry to much about getting it right the first shot, the ISA will change as you learn to use the thing 😀 good luck
@jameschip I'm not sure, I thought about it, but I don't have a solution for it yet. There are some letters that are easy to tell apart, and break the parsing to start another, but I have to sleep on this to really understand how it could be done.
Caffeine’s Heir
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Caffeine’s Heir • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
mcc
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to mcc • • •bouncepaw 🍄
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •I still haven't started to improve cli roms so they can recover after usage, but I'll have to tackle this sooner or later. At the moment, it sounds like so much of a bore in comparison to doing graphics programming, problems for another day, F5 reload 'til then.
https://rabbits.srht.site/decadv/
#DecemberAdventure
mcc
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to mcc • • •mcc
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Devine Lu Linvega
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •Didn't get to implement translucent windows, but I did get a bunch of things moving forward.
I fixed some message passing issues I've had since day1, and pushed on with the program that monitors what is going through connections between the programs, it sounds boring like that, but it wasn't, it was pretty fun, the rom intercepts and draws the data that programs send to each other in real-time.
https://rabbits.srht.site/decadv/
#DecemberAdventure
rezmason
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to rezmason • • •J|.
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to J|. • • •Jonas
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •I don't have much time today so I'll keep it short, implemented theme parsing at the OS level. I wanted the little interface there is to follow the colors defined by the theme file. That's it, just wanted to make things a tad comfier while I work for the rest of the month.
More tomorrow, until then I've got lifelines to splice.
https://rabbits.srht.site/decadv/
#DecemberAdventure
Laurent Victorino
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Laurent Victorino • • •XXIIVV — kaleidoscope
wiki.xxiivv.comLaurent Victorino
in reply to Devine Lu Linvega • • •Lau 🔞
in reply to Devine Lu Linvega • • •Z@b0\/\/
in reply to Devine Lu Linvega • • •we want Werner Herzog to make a documentary about @neauoire while programming, choosing his backgrounds, changing his fonts, fixing @Pino with @rek.
well, ok, let's skip the fonts part 😉
Devine Lu Linvega
in reply to Z@b0\/\/ • • •Z@b0\/\/
in reply to Devine Lu Linvega • • •kelp
in reply to Devine Lu Linvega • • •ThaCuber
in reply to Devine Lu Linvega • • •YES
PYWAL UXN VERSION
noarn chornsky
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to noarn chornsky • • •https://rabbits.srht.site/decadv/
Devine Lu Linvega
in reply to Devine Lu Linvega • • •I had been dreading today's task since the month begun, I knew I'd have to eventually make Drifblim able to survive being thrown paths interactively. The original design expected to be terminated after assembly, relying on self-modification like nobody's business it left the original assembler data in memory nearly unrecognizable after a run. The project here was to make sure that it recovers into a usable state, even after erroring.
https://rabbits.srht.site/decadv/
#DecemberAdventure
Devine Lu Linvega
in reply to Devine Lu Linvega • • •Athena L.M.
in reply to Devine Lu Linvega • • •it's... optimizing itself?
wait you have a self-assembling optimizing assembler now?
Devine Lu Linvega
in reply to Athena L.M. • • •Athena L.M.
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Athena L.M. • • •Athena L.M.
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Athena L.M. • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •After completing yesterday's task which was to make it so the little self-hosted assembler was interactive, I knew I'd finally able to build my website without leaving the comfort of Porporo. I did it, felt real nice. But, that's it, I'm calling it a day. ^^
https://rabbits.srht.site/decadv/
#DecemberAdventure
gvv
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •Until now, I must have spent a total of 15 minutes on the actual drawing of the wires. Silly, considering how central to this whole thing these are. So, today I added detection for which corners to draw the wires from and to, to help reduce their overlapping windows content. It's all coming together better than I had hoped, I'm positively surprised at how many of the tasks that I set out to do and have managed to complete already.
https://rabbits.srht.site/decadv/
#DecemberAdventure
Devine Lu Linvega
in reply to Devine Lu Linvega • • •Woke up hungover, booted porporo, slouched with my face resting on my fist, wondering about input methods, if there wasn't an interesting way that I could possibly program with just the one hand holding the tablet pen, that wasn't an on-screen keyboard. I considered the way I could write letters on the palm pilot, and wonder what went into a system such as that, and then implemented it.
https://rabbits.srht.site/decadv/
#DecemberAdventure
ThaCuber
in reply to Devine Lu Linvega • • •Eri
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Eri • • •backspace is a leftward stroke
https://git.sr.ht/~rabbits/grail/tree/main/item/src/grail.assets.tal#L44
~rabbits/grail (main): src/grail.assets.tal - sourcehut git
git.sr.htEri
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •I didn't expect shorthand recognition to be such a fascinating rabbit hole to fall into. I've spent a second day on the implementation of such a system. I've wanted to see if the scheme I chose could be extended to cover the rest of the ASCII sheet, and if I could remember each glyph. I've also implemented a punctuation mode. Perhaps I will write tomorrow's entry with a tablet pen.
https://rabbits.srht.site/decadv/
#DecemberAdventure
krowe
in reply to Devine Lu Linvega • • •Sir, it's only Day 12, this needs to be stretchier.
> Stretch Goal: Build my dream operating system, and have fun!
Devine Lu Linvega
in reply to krowe • • •PypeBros
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Javier 🖖🏃♂️🌻
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
nilix
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to nilix • • •@nilix when I boot porporo, it gives me the size I need. Here's how I make a wallpaper 😀
https://git.sr.ht/~rabbits/porporo#wallpaper
~rabbits/porporo - Varvara Multiplexer, written in Tal/ANSI C(SDL2) - sourcehut git
git.sr.htnilix
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to nilix • • •nilix
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to nilix • • •nilix
in reply to Devine Lu Linvega • • •.theme
) but actually looks pretty cool 😁Happy new year!
Devine Lu Linvega
in reply to nilix • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •http://rabbits.srht.site/decadv/
#DecemberAdventure
December Adventure 2023
rabbits.srht.siteKirtai
in reply to Devine Lu Linvega • • •Bootstrapping can be such a puzzle.
Not to mention a *ton* of work.
Devine Lu Linvega
in reply to Kirtai • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Bad Diode
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
rezmason
in reply to Devine Lu Linvega • • •max(|x|,|y|) + min(|x|,|y|) ÷ 2 eh?
I can see why you like it. It's got kind of a stellar bias, which makes it mysterious.
I wish to trade it kelp. 😁
Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Alexander Cobleigh
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Alexander Cobleigh • • •Alexander Cobleigh
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
ratfactor
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to ratfactor • • •https://git.sr.ht/~rabbits/oekaki/tree/main/item/src/oekaki.tal#L278
~rabbits/oekaki (main): src/oekaki.tal - sourcehut git
git.sr.htDevine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Thomasorus
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Thomasorus • • •pulusound
in reply to Devine Lu Linvega • • •Grass the grass-planting programming language
www.blue.sky.or.jpDevine Lu Linvega
in reply to pulusound • • •Devine Lu Linvega
in reply to Devine Lu Linvega • • •https://rabbits.srht.site/decadv/
#DecemberAdventure
Morgan Arnold
in reply to Devine Lu Linvega • • •Kototama
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Kototama • • •Kototama
in reply to Devine Lu Linvega • • •Kiëd Llaentenn
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Kiëd Llaentenn • • •Kiëd Llaentenn
in reply to Devine Lu Linvega • • •Just saw it now. It's really interesting, I don't think I've ever seen it before; at a cursory glance it doesn't seem to be equivalent to either manhattan or chebyshev?
(Manhattan is dx+dy, Chebyshev is max(dx,dy), and yours seems to be max(dx,dy)+min(dx,dy)/2, if I'm reading it correctly.)
I should play around with it a bit and do some comparisons.
Caffeine’s Heir
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Caffeine’s Heir • • •Caffeine’s Heir
in reply to Devine Lu Linvega • • •Caffeine’s Heir
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Caffeine’s Heir • • •Caffeine’s Heir
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to Caffeine’s Heir • • •Devine Lu Linvega
Unknown parent • • •Devine Lu Linvega
Unknown parent • • •hikari 🌟 (falling into the sky)
in reply to Devine Lu Linvega • • •Devine Lu Linvega
in reply to hikari 🌟 (falling into the sky) • • •Devine Lu Linvega
Unknown parent • • •Devine Lu Linvega
Unknown parent • • •Athena L.M.
in reply to Devine Lu Linvega • • •I would like to get there eventually, but the furthest I actually got was verifying the arithmetic and conditional jump microcode. I started to write a primitive assembler (as0) then got distracted.
One of the problems is there needs to be input/output arrangements of some kind, which have to be written in JS, so there's a lot of back and forth between hand-assembling programs and writing JS to make them able to actually do anything before you can start assembling things automatically.
I did let myself use an external text editor and store programs in files outside the JS environment, reasoning that I would probably at least be able to use scratch paper if I were trapped in a room. Adding storage and writing a line editor to stop doing that would be very cool but the latter would reasonably need a working as2 and I didn't even finish as0.
Devine Lu Linvega
in reply to Athena L.M. • • •Devine Lu Linvega
Unknown parent • • •@jameschip https://merveilles.town/@neauoire/111560145031207861
Devine Lu Linvega
2023-12-11 05:32:00
Devine Lu Linvega
Unknown parent • • •Devine Lu Linvega
Unknown parent • • •@jameschip It's super fun, I think you might appreciate the links I shared on today's Decadv:
https://jackschaedler.github.io/handwriting-recognition/
https://mlajtos.mu/posts/new-kind-of-paper-2
New Kind of Paper, Part Two
mlajtos.muJames Chip
Unknown parent • • •Devine Lu Linvega
in reply to James Chip • • •Devine Lu Linvega
Unknown parent • • •Devine Lu Linvega
Unknown parent • • •Devine Lu Linvega
Unknown parent • • •computer recognition of visual text
Contributors to Wikimedia projects (Wikimedia Foundation, Inc.)Joshua A.C. Newman
in reply to Devine Lu Linvega • • •Devine Lu Linvega
Unknown parent • • •Devine Lu Linvega
Unknown parent • • •