@csepp@wim_v12e@bugaevc@theruran@janneke In the case of the Lattice iCE40 parts, the programming flash is the same device as what a soft-core processor would boot from. So, it actually does have access to its own bitstream.
If the bitstream is programmed to treat the flash as ROM, then I don't think it would be backdoored without physical access. (This is why my Kestrel Computer Project mandated that the flash be treated as ROM, not as reprogrammable flash). But, if programming capability is provided, and the hardware doesn't bounds check, then it's conceivable that a new bitstream can be injected with bad-actor hardware.
Depending on the new hardware injected, it might evade detection by most end-users. The gate count required to exfiltrate data is relatively small (e.g. a wait-state generator that modulates its wait state count depending on data in a simple shift register).
I tried to realize this before with my Kestrel Computer Project. But, zero people showed any willingness to help, because it was still kinda sorta too abstract. Or, maybe I was just too nostalgic (the idea was to "revert progress" and develop a neo-retro platform from which we could once again move forward from).
One of my core ideas was to standardize (memory-mapped) I/O register interfaces for a wide variety of peripheral classes using an I/O fabric like (or even forking) RapidIO, kind of like how the most sophisticated video cards of today still support true-blue VGA emulation. I reject the idea that it's "impossible" to achieve with other classes of peripherals. UUIDs would have been used to identify device classes and revisions to a specific binary interface.
But, that project is dead now due to (1) nobody willing to help out, and (2) me burning out.
@requiem That is when you hold an all-hands meeting, citing specific sequences of code and the impacts that code has had on your time and ability to deliver on your deliverables, and the economic impact to the company. Make sure to emphasize the economics. Managers love dollars and hours.
Then, stipulate a new rule: he who uses Copilot fixes Copilot's shit. Using git blame or your VCS's equivalent functionality, it ought to be possible to determine who injected the defect. Halt the build pipeline until it's fixed.
@b0rk@palin For the same reason we talk about "digits" in decimal numbers.
A "bit" in a binary (base-2) number can be 0 or 1.
An "triad" in an octal (base-8) number can be 0, 1, 2, ..., 6, or 7.
A "digit" in a decimal (base-10) number can be 0, 1, 2, ..., 8, or 9.
A "quartet" or "nybble" in a hex (base-16) number can be 0, 1, 2, ..., E, or F. Nybble is "half a byte," making it something of a joke.
An alternative name for what we call a "byte" today is, as you'd probably guess, "octet."
Basically, these terms are ways of communicating two pieces of information at the same time: that you're talking about a single digit in some numerical base of some kind, and what the base actually is.
@eythian@b0rk@palin The disk encoding uses "group coded recording", or GCR, on the disk surface. These are 5-bit codes with certain properties useful for magnetic media. Of the possible 32 binary values that have these properties, only 16 are valid. Hence, each five bit group records a single nybble.
If you copied a disk one group at a time, you could overcome some copy protection schemes that rely upon invalid group representations.
Software that focused on copying disks this way are called nybblers because they focus on copying data one group at a time, in effect performing error correction at the individual group (hence, nybble) level.
@seanmcbeth@davidgerard They relied heavily on such medieval techniques as maintaining customer support staff, user surveys, keeping an eye on outside support channels, etc.
But, we are in the renny-seance period now, so companies are better than that. All hail Big Data. Don't forget to rub Big Table's belly for good luck.
I opened the door and quickly slipped inside. Unlike outside, the library was quiet, with only one attendant behind the information desk, and one other person was reading a set of books off in a corner.
I approached the desk, carrying a duffle bag that was every bit as drenched as I was. Once there, my white cat jumped out onto the counter.
"I'm sorry, but we don't allow pets in this library. You'll have to leave it outside."
"Forgive me, that's not a pet. She is my familiar," I reply quietly but somewhat laden with indignation.
The librarian took a moment longer to ponder the feline. "You a warlock?"
"I am."
"Aren't the familiars of witches and warlocks supposed to be black?"
"Yes; but, I ran out of ink while writing an article for the university."
"... And?"
"Well, I cast a spell to refill my ink well, and I needed to get the black color from somewhere!" The cat hissed and growled at me. "She still hasn't forgiven me for that. That's actually why we're here."
HW: #KestrelComputerProject #Kestrel3 #vdc2 #vdcII #fpga.SW: #Forth, Common #Lisp, #Python, #Asm, #APL, #J, #Rust.Creator of the VIBE screen editor, Kestrel computers, and most recent project: ROSE. My code likely runs on your harddrives.#nobot