David Konsumer's Avatar

David Konsumer

@konsumer.bsky.social

NERD (game-dev, open-source, musician, train-enthusiast) he/him

45 Followers  |  46 Following  |  54 Posts  |  Joined: 14.11.2024  |  2.4863

Latest posts by konsumer.bsky.social on Bluesky

It's back up! Still getting fake legalish threatening emails from Nick Ashton (charlatan, who stole sbagen open-source and resells it for $200 a piece.)

21.11.2025 09:21 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

And Cotterzz is this person, always working on cool stuff! bsky.app/profile/cott...

28.10.2025 23:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

the audio-demo is a glsl-based "audio shader" that actually works with this, which is a really nice composition: gist.github.com/konsumer/43a...

28.10.2025 23:22 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
GitHub - cyberboy666/r_e_c_u_r: an open diy py/pi based video sampler an open diy py/pi based video sampler. Contribute to cyberboy666/r_e_c_u_r development by creating an account on GitHub.

recur is this cool pi-based device for live-performance, and I wanted to make a web-based editor, so you can try out shaders with videos & knob-params.

28.10.2025 23:18 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Cotterzz has been working a super-cool shader-prototyping thing (www.sleditor.com) and in the process of thinking about features and stuff, I mentioned these 2 sort-of-related things I worked on github.com/konsumer/aud... github.com/konsumer/rec...

28.10.2025 23:15 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

Looks like it got silently taken down. So annoying! They went after anyone that publicly shared the connection between their open-source theft (of sbagen.) so shady. github.com/search?q=rep...

26.10.2025 09:17 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

C has that problem, too. Floats are weird.

26.10.2025 09:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

yep, or even just like files. Regardless of language, you can't put complex objects directly in a file, and get it back, without serialization, in every case.

26.10.2025 06:51 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

it also seems a bit funny to be like "because js doesn't have types" but the truth is it's the opposite prob, here. Only 1 type is allowed for localstorage, not "whatever you want"

26.10.2025 05:55 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

it's worse passing things over webworker-boundry. some things work, but a lot don't (I tend to just do JSON-able + typed-arrays)

26.10.2025 05:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

it solves a much bigger problem, like if you really allow anything, there are still lots of things that don't work (imagine storing unresolvable pointers to disk, in C, for example.) it's easy to think it's all about "js sucks" but I don't think it's the worse solution possible.

26.10.2025 05:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

the first one's answer is "it was simpler for casual users, and stuck" and the answer to 2nd is "localstorage can't efficiently or appropriately store everything, so they just went with the easiest"

26.10.2025 05:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

like it's really 2 complaints: "why does js coerce non-strings into string?" and "why doesn't localstorage only store strings?"

26.10.2025 05:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

being mad about it (and you have every right to, obviously) makes me feel like "why can't I just get a complex object from a fetch or a file-read?" I mean you can, you just have to serialize/deserialze (with JSON or whatever.)

26.10.2025 05:42 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

numbers-for-object-keys too, like thing[1] is really thing['1'], so if you ask for thing[1] it still works, because it coerces it both times to string.

26.10.2025 05:40 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

much like keys of an object like thing[some-complex-object] it will just coerce to string ([object Object]) it gets even weirder when things are inconsistant, though, like passing types across web-worker boundary. some things are cool, but others are not.

26.10.2025 05:37 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

There are quite a few other ways to store stuff on web if you hate it, but yes localstorage is strings-only. It has to do with consistency (cookies are also string-only) and there is already a pretty standard serialization format that works well, if you need more types (JSON.)

26.10.2025 05:35 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

There have been lots of things like meshtastic for a while, but this works easily over anything, not just lora. I have a radio (about $15) hooked to my computer, which connects that to a much wider TCP/IP connection (over the internet.) I get a range of around 5 miles, on very cheap devices.

24.09.2025 22:20 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The key differentiator of reticulum and other similar things, in my mind, is that the address is your key, so "if you can open it, it's yours" but no physical addresses or anything like that, and also no sender-info, unless you can read it.

24.09.2025 22:04 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
GitHub - konsumer/nomadnet-js: Nomadnet library for JS Nomadnet library for JS. Contribute to konsumer/nomadnet-js development by creating an account on GitHub.

This gives us basic access to reticulum in javascript. Also check out demo/interfaces/WebsocketClientInterface.py which is an interface you can use in any reticulum client to connect over websockets. My next goal is filling in this library's functionality and making a complete web demo.

24.09.2025 21:52 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I have been going deep on reticuluum/lxmf/nomadnet.

If you aren't familiar, reticulum is a cool protocol that uses your pubkey as your address. It's used over cheap p2p lora radio, but easy to also route over internet. lxmf is a protocol for routing/messaging over that.

24.09.2025 21:37 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0
Post image

I got my own rudimentary Interface transport for websockets, in the hope of being able to make browser-only clients. I don't think it's quite working right, but tests look good. github.com/konsumer/ret...

14.09.2025 03:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Micron Playground

There are a bunch of test interfaces, so you can connect to a big net of nodes, but you can run your own, too. Totally P2P, and decentralized, doesn't even need internet. I can setup some cheap lora things to participate in the network. It also has dynamic pages (basically a shell-script.)

13.09.2025 20:17 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
image of my nomad page, in console, at fe6cb7cebb0b91de51ab716a324ddb27:/page/index.mu

image of my nomad page, in console, at fe6cb7cebb0b91de51ab716a324ddb27:/page/index.mu

For those unfamiliar, you setup "interfaces" on each node which are entry-points to sub-networks over internet or lora (or other things.) Using these, you can connect a bunch of nodes in a mesh. It also has a kind of lofi-web: fe6cb7cebb0b91de51ab716a324ddb27:/page/index.mu

13.09.2025 20:02 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I have been playing with non-internet digital comm this weekend. Really excited about Reticulum and nomadnet! If anyone wants to chat, I am at 5d8ccebf24acd91266e86653d42e970d

13.09.2025 19:55 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

Obviously, you can do whatever you want in those tag-things, but often I just want plain strings.

20.04.2025 22:13 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

tags looks like this: gist.github.com/konsumer/0ae...

20.04.2025 21:59 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

This is one of those lil features that makes me so happy using Zed: sub-type syntax-highlighting. I am dyslexic, and embedding strings in JS is super-annoying, in other editors. Zed handles it with grace, and I started using this for everything.

20.04.2025 21:57 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
mechmidi
YouTube video by David Konsumer mechmidi

I've been working on this programmable midi controller/instrument/macropad thing: youtu.be/3DC8_nlmCxc

09.03.2025 07:47 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Saddened by the news about David Lynch. RIP, you brilliant weirdo. "A filmmaker doesnโ€™t have to suffer to show suffering. You just have to understand it. You donโ€™t have to die to shoot a death scene."

16.01.2025 19:43 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@konsumer is following 20 prominent accounts