Skip to main content

in reply to Devine Lu Linvega

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
in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

wait does it recurse . Like if you spawn a terminal off a terminal off a terminal is there a tree
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

in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

I'm so close to being able to spawn transparent windows, looking forward to have @hikari's xneko rom running all over the place.
This entry was edited (11 months ago)
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

in reply to Devine Lu Linvega

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?
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

I for one like the Meryl from Metal Gear Zolid wallapaper
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

This entry was edited (11 months ago)
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 😉

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

in reply to Devine Lu Linvega

I even went a bit overboard with the recovery pass and I made it so it's optimizing itself a bit each pass. Let's call it .. antifragile software.
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

it's... optimizing itself?

wait you have a self-assembling optimizing assembler now?

in reply to Athena L.M.

@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.
in reply to Devine Lu Linvega

maybe I should get to bootstrapping assembly on top of javascript
in reply to Athena L.M.

@alilly I think that would just add a layer of indirection on an already massively bloated ecosystem, you're probably better off writing plain js.
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

This entry was edited (11 months ago)
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

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

This entry was edited (11 months ago)
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

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!

in reply to Devine Lu Linvega

I'm also curious to know whether having to use un-natural glyphs like those used for Palm graffiti can be practical for writing code ...
in reply to Devine Lu Linvega

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
in reply to Devine Lu Linvega

Now you could create small drawings for snippet expansion. Imagine drawing something to put the signature in an email or to create and save a file.
in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

niiice! Curious, how are you converting wallpapers to tga for tga2chr? I havent had good results on that front ^^;
in reply to Devine Lu Linvega

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
in reply to Devine Lu Linvega

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!
in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

Bootstrapping can be such a puzzle.

Not to mention a *ton* of work.

in reply to Kirtai

@kirtai yeah, it was a bit of a head-scratcher, it took me a couple of tries to get it all to play nice.
in reply to Devine Lu Linvega

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
in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
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. 😁

in reply to Devine Lu Linvega

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
in reply to Devine Lu Linvega

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
in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

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
This entry was edited (11 months ago)
in reply to Devine Lu Linvega

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
in reply to Devine Lu Linvega

do you have the physical version of it? I wanted to find a second hand copy but it's hard to find or almost as expensive as new
This entry was edited (11 months ago)
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.

Unknown parent

Devine Lu Linvega
@gauthier ah yeah! I've been meaning to check it out 😀
in reply to Devine Lu Linvega

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
Unknown parent

Devine Lu Linvega
@alilly and you weren't able to write javascript?
Unknown parent

Devine Lu Linvega
@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
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.

in reply to Athena L.M.

@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
Unknown parent

Devine Lu Linvega

@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

Unknown parent

James Chip
would something like this be possible with cursive, or would the writing style be too chaotic to parse in any acurate way?
in reply to James Chip

@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.
Unknown parent

Devine Lu Linvega
@zens yup! there's a whole bunch of schemes for different setups. I picked one that didn't do any trigonometry.
Unknown parent

Devine Lu Linvega
it's not a OCR, think of this more like a sort of shorthand for the computer to parse mechanically.
This entry was edited (11 months ago)
Unknown parent

Devine Lu Linvega
@jameschip it doesn't do much at all, d for drawing lines, m for moving. That's it 😀
Unknown parent

Devine Lu Linvega
@lukianos I just pretend to be an academic :eccehomo:

Lo, thar be cookies on this site to keep track of your login. By clicking 'okay', you are CONSENTING to this.