69 Followers
449 Following
406 Posts
Hobby Embedded Developer, System admin, Cloud operations, Orchestration and such...
Pronounshe/him
codeberghttps://codeberg.org/xsk
Makertubehttps://makertube.net/c/iguanatech/videos
Gitlabhttps://gitlab.com/xsk

so!! i am excited!!! to have finally finished the complete reimplementation of the #GlasgowInterfaceExplorer memory-25x applet for managing SPI NOR flashes. it is called memory-25q and it took an enormous amount of effort, because i have decided to Build It Properly

want to jump to the docs (there are a lot of docs, including on the fundamentals of (Q)SPI flashes) or read the code? here we go:

now, why did i do that? two reasons. memory-25x is one of the first applets i made, ~7 years ago, and i had no idea what kind of UI i should be building (yet). to make it worse, i thought that SPI NOR flashes were "easy", you could "just send a few bytes and that's basically it".

nothing could be further from truth. first off, SPI NOR flashes don't really exist—there is no spec, no standard organization that can say "no, your thing is not compliant", no order to any of this. every vendor does whatever they want, and then every other year JEDEC writes down all of the unhinged shit they did. here is the list of six incompatible methods to turn a single bit on or off, as a warmup

second, SPI flashes have an absolutely absurd diversity of framings. you cannot even express it without building a meta-framework for abstracting over all the ways people have come up to squeeze 8 bits into 2 or 4 wires. then on top of it you have to manage a bunch of global state that affects framing in subtle or sometimes really fundamental ways, without having any way to find out that you've made an error besides "you compare the actual data with the expected data (or its checksum) and it is not equal"

anyway, the new applet should be excellent at any daily task and at least okay at >90% of the exotic ones. also it's easily generalized for the (completely incompatible on the wire) QSPI NAND 25N series, octal or DTR variants, etc

applet.memory.25q: new applet by whitequark · Pull Request #1130 · GlasgowEmbedded/glasgow

This is a complete functional replacement for the memory-25q applet and it obsoletes and deprecates the latter. To do: figure out why 1-2-2 and 1-4-4 modes are broken not broken, just crosstalk ...

GitHub

@ariadne I hope you don't mind me paraphrasing this to "should Alpine take the legal responsibility to upstream things none took any legal responsibility until now?", I know it is not what you said but this is how I have experienced this process, and a default no is the only logical answer atm.

given though that we now have repos that hide AI contributions as well, it is a clear indicator that even outside the Alpine scope this is not a code contribution subject, it is a broader liability one, and a need to discuss what will happen if even involuntarily a maintainer ends up upstreaming something "legally/security/community toxic" is proper.

Most ( tech friendly ) legal people I spoke with just end up with "just avoid clear trademark infringement and set up an integration framework to prove to a court you at least tried if shit hits the fan", which I personally take it as as hard no for prod readiness.

Just to clarify, I am not against AI used as productivity tool in general ( same way as I am not for or against using an IDE to write code ), but I am definitely not ok setting up horizontal ( or in fact any ) rules upon castles made of sand... especially where it is not fit to do so and will introduce risks on the principles of a project.

Maybe after we, as society, go through some law suits and have established a better foundation on this subject.

As a warning, don't watch if you are a dev and feel burned out. If not, it is a funny one 😆

https://www.youtube.com/watch?v=xE9W9Ghe4Jk

Shipping a button in 2026…

YouTube
@schokopuddingg @gsuberland I can only hear Travolta yelling „It’s Electrifying!“

@gsuberland @ariadne yet we are bombarded with „get your AI girlfriend ( any range from deepfakes/ „real“ to waifu/anime ) from all sides of the internet, almost normalising this behaviour through gamification...

„Emotional isolationism as a service“ so that noone has to deal with reality and never having to reflect on feedback or mistakes, thats apparently what does not break any „community guidelines“

One friend I discussed with told me I might be viewing this from an old perspective standpoint and should also weigh in positive effects, but I cannot see anything that got better, financially, environmentally, technically, socially even scientifically, everything became less focused on real goals and needs of humanity, so much so that leaders that promote typical isolationism ( at the most light of takes ) politics gain momentum.

Meanwhile we experience global climate change and persons flipping out because things didn’t happen as they wanted like they have fallen back to a toddler’s level of social skills…

But I guess we should focus on how the DOW is doing and stop discussing boring things, especially without a smile.

@mgerdts 😆 that definitely makes things worse, but I had something like this in mind, so that you have no idea what kind of voltage you provide to your devices while you assume a default of 5V ( I am freshly bitten by this )
@whitequark Not cursed enough, needs a usb to barrel jack adapter as well

@nicolas17 @xgranade @whitequark „A filtered response is a response that offers a limited view on an associated response. This associated response can be accessed through filtered response’s internal response (a response that is neither a network error nor a filtered response).“

Well, if you say so…

I like my responses plain answers to requests, but apparently I never had to assign types of „limited views“ of them ( that themselves have internal responses)…

Well…. I say to myself that I can debug basic electronics issues but then I am looking at two ( not insignificant value ) boards fried in front of me because someone somewhere decided to replace a barrel plug with a usbc connector 😥

The output of that „charger“ is a fixed 12v 3A and that is evil as 12v qc devices will happily use that but it really, really messes up with any board that expects 5V and has a basic lipo charging circuit.

I spent half a day thinking about surges and improving charging in and out protections ( I believed for an embarrassing amount of time the problem was live connecting a lipo cell that is charged too low ), while in reality I had pushed 12v onto the poor things…

Im going to start adding labels to all usbc chargers I have around, in memory of those boards ❤️‍🩹

@asie I’ve been trying wezterm lately, mainly because of how configurable it is. It is pretty modern and apart from needing to configure mouse events ( I have no clue who would be happy with the defaults ) I like it until now. That said, most likely it is because I set up a parallax scrolling background 😛