Email or username:

Password:

Forgot your password?
2,452 posts total
Devine Lu Linvega

There's hardly a day that goes by on a boat when you don't have to build some sort of shelving or some other thing.
#theBoatyard

A locker spacer to separate critical wiring from food stores.
Devine Lu Linvega

For weeks now, I've been trying to use my assembler in a playground type way, where I can give it a filename interactively, and it assembles it, returning to its "waiting" state, and I had issues where erroring would always happen at different depth in the code, so the stack was always messy after encountering an error in live mode.

Devine Lu Linvega

I made an arity checker(it's a thing that makes sure that a program's function doesn't leave the stack in an unexpected state), and would run it over my assembler source and it threw an error at my error handling code. Each time I thought, it's probably being confused.

But NO, it was telling me this whole time what I should change . I gave it a second look today and fixing that little thing was all I needed this whole time to get it to work properly. Thank you arity checker sensei.

Devine Lu Linvega

I've been changing my workflow these past few days from working with textual sources, to using something called structured editing.

Normally you'd think of a program as source code made of text, but in structure programming, you edit the symbols of the program, in this case the bytecode, labels and comments.

I use the textual representation when saving my work, so it can be versioned, but while working anything that is not a bytecode, a symbol or a comment is not recorded.

Show previous comments
berry

@neauoire feels like this'd have parsing benefits - could likely parse something faster if you already have the binary representation, could be as simple as copying into memory

jakintosh

@neauoire yes! this is how co works, the source code is natively a bytecode, and there is even a subset of the instruction set reserved specifically for source-only tokens (like newlines, indents, comments, and different types of label definitions) and then the text representation is really just a transformation layer/interface. and then there is also a symbol database integrated to the language tooling, similar to the “symbol file” you mentioned (i imagine?)

Devine Lu Linvega

So a few days I've realized that I very much liked working using structured editing.

Structured editing means that your editor is aware of the program's functioning enough that it handles how it should be presented, so you're not editing text as much as the underlying structure of the program.

It's just a fancy way of saying that it's basically just a symbols aware disassembler.

I've spent the past 2 days improving the UX so I could run the reassembler without going through the terminal.

Devine Lu Linvega

Implementing structural editing in #uxntal. I remember having lots of fun with THINK Pascal when the IDE was reformatting my program automatically and I've been meaning to have this as part of my workflow now.

Show previous comments
nf

@neauoire are the labels and comments stored in the sym file?

Max Cahill

@neauoire kickass 💪 and then the images too 😉

Josh Dick :mac:

@neauoire Off-topic, but that Cream font you customized looks glorious every time I see it in one of your posts. I’m curious if there’s any existing way to convert the UFX font to something like OTF?

Devine Lu Linvega

Walked in front of a yoga studio that had the words "Nothing in the history of the universe ever happened from the outside in." drawn in the window.

Walked the rest of the way in a kind of haze

Show previous comments
Ivan Reese

@neauoire Every time I just want to loosen my ligaments, some stretchypant shaman is trying to make me think of the cosmos. What a weird sense of humour they must have.

[DATA EXPUNGED]
Kartik Agaram

@neauoire @spiralganglion Ooh, I have a counter-example: getting eaten (most often)

Devine Lu Linvega

Added extra notes to the disassembly that shows jump labels, I have an idea in mind that I'd like to try with this.

charlie

@neauoire love this, it's going to be really helpful. ooh, and thank you for making labels no longer overshadow the byte they're on top of, I think that's a fantastic change :)

Devine Lu Linvega

@eli_oat I'm not sure if you've seen this yet, or how interested you are in hebrew, but I thought you might like this: youtube.com/watch?v=44FutoWme8

The referenced talk is very good: youtube.com/watch?v=6_aFvmY8Zb

eli_oat

@neauoire thanks for sharing this!

This was a fun watch.

It also reminded me how, once upon a time, when I was young and naive I thought I wanted to be a rabbi (narrator, it would turn out that he did not want that at all), and on that path I once wrote a (terrible) essay on et as a holographic term, a word from which you could build anything else, and, that tried to posit how, if you could build anything from et, you could store anything in it, too...which is weirdly computer-y in vibe.

tinspin

@neauoire @eli_oat I'm sure you guys know about Toki Pona? I tried to make my own little 4 letter language inspired by that: move.rupy.se/file/talk.txt

Devine Lu Linvega

I'm working on a project on self-modifying code(SMC), and I'd like to get as many stories of fun things you've done using SMC, papers, articles, videos. Anything but examples of SMC used for obfuscation - stack hacking, ad-hoc quoting, literal injection, branchless conditions, etc.. I want to see it all :maru:

Show previous comments
Exandra

@neauoire I worked on dynamic binary translator projects (like an off-road JIT).

One translated PPC to x86-64 code on the fly, in chunks of 5-30 instructions, writing and optimizing new machine code on the fly and patching together the completed chunks just in time to execute them.

One very confusing week I was translating a music synthesis app but it kept crashing; I came to realize that the audio app itself used self modifying code to efficiently generate the notes.

Hart of the Wud

@neauoire I'm pretty sure this is not what you're looking for, but there was an interesting line of research in the 90s to create circuits with FPGAs using self-modifying genetic algorithms. The results were kinda scary since they ended up leveraging inscrutable analog properties of the hardware instead of human-understandable digital logic.

eetimes.com/whatever-happened-

scrottie (he/him/they)

@neauoire github.com/scrottie/Code-Splic for injecting inspection, and for in-lining method calls in a certain not-dead-yet language. I wrote a conference lighting talk that I never gave that continuously pulled from github, parsed the diffs, and spliced changes in to the running program. Wasn't able to keep up with maintaining that and afaik no one else really used it for anything so long dead.

Devine Lu Linvega

Somebody at Github pushed some messed up html to production, and everyday I wonder when someone is going to notice it

Show previous comments
Rasmus Andersson

@neauoire lately I’ve been feeling like the web platform is becoming the chromium platform — too many websites are only developed for and tested with Chrome :-(
I can’t even access figma anymore in Safari. So silly.

Dudley

@neauoire logged out status removes the problem in Firefox ESR.

Adrián Pérez

@neauoire since Microsoft bought it, I've seen already a few glitches, some of them pretty bad like entirely breaking the site for a certain browser due to skipping proper feature detection: github.com/webcompat/web-bugs/

Devine Lu Linvega

A quine is a computer program which takes no input and produces a copy of its own source code as its only output.

The following sequence of bytecode is a valid #uxn quine. Uxn is at an advantage in that raw hex is valid uxn code. So the quine here reads its own program(without self-evaluating it, or introspection) and outputs itself again.

en.wikipedia.org/wiki/Quine_(c

Quine program made from aw hex code.
leah & asm & forth, oh my!

@neauoire yeah, that probably counts as cheating in quine terms ;-)

William D. Jones

@neauoire

william@xubuntu-dtrain:~$ touch foo
william@xubuntu-dtrain:~$ sh ./foo > bar

Kube

@neauoire was wondering today about quine food recipes.....

you order a pie at a restaurant and the pie's got a list of ingredients baked on top

Devine Lu Linvega

Wrote a program that draws little pictures into its own memory.

Devine Lu Linvega

It was hard to see which blending modes allowed transparency in the old screen-test.rom, so I added a scrolling checkboard.

[DATA EXPUNGED]
Devine Lu Linvega

@mcc I don't seem to have the redraw issue that you see, using latest oquonie(v5), and latest uxnemu(built from sources)

mcc

@neauoire 6/n This looks like Linux. Has anyone besides me tried oquonie5 on Mac?

benjohn

@neauoire @mcc i love the art style, and scroll-free interaction! Cool tunes too.

Devine Lu Linvega

Spring cleaning aboard pino, under a big blue sky, to Burial/Four Tet's Moth.

Mark Reid

@neauoire Such a great track. I sometimes have it on repeat for ages when coding.

Devine Lu Linvega

Working off solar on the pinebook via usb-c on an overcast day and we're still power-positive. I feel silly to have not noticed the usb-c charger on the pinebook after all this time, it beats going through the inverter and wasting lots of power there.

Show previous comments
arthur.pizza

@neauoire I would love to see your setup. The dream of solar powered computing is all I ever wanted!

Dom DeLorenzo

@neauoire Ohh - this is super attractive to me. Do you do development on your pinbook? I had looked at them, but with 2G of RAM, thought they might be kind of underpowered. Would love to know more about your setup (OS, window manager, IDE, etc.)

Devine Lu Linvega

Took off every MC4 solar connector aboard, we're tired of them breaking and leaking. We'll try just using simple marine butt-connectors.
#theBoatyard

A pile of MC4 connectors.
Show previous comments
WimⓂ️

@neauoire misread that as MC Solaar. Brief confusion ensued.

[DATA EXPUNGED]
zem

@neauoire
As I had some trouble aquiering those plugs in the first place, I ended up by soldering those wires together, which lasted for 10+ years on the top of my car. I did not have to deal with salty water though.

Go Up