balou23
Joined 3 years ago
Joined 3 years ago
If you ever dug into x86 assembler programming... at first they make no sense at all. They only save/restore a tiny part of the available flag registers. The mnemonics themselves make little sense - load/store are not really used in any other base x86 mnemonics (unlike e.g. 6502 mnemonics, which use LD?/ST? instead of MOV like x86).
It only clicked when I read an Intel document about porting assembler code from the 8080 to the 8086.
LAHF/SAHF are basically convenience instructions to make porting easier. Many 8080 instructions did not alter the flags, unlike their 8086 counterparts. Substituting an `INX` instruction with `LAHF; INC; SAHF` made it possible to mechanically translate assembler source code.
And yeah, 8080 mnemonics had LDA and STA like the 6502...
I'd have gone down an optimization rabbit hole, while never finishing the original project.
Source: https://www.theregister.com/2023/08/29/freebsd_boots_in_25ms...
After asking the owner of said screen how he could stand that... "stand what?"
Yep, I guess most people are not that picky.
But more seriously... I don't think that Linux has ever been booted on a non-monolithic CPU (I wanted to say 'discrete cpu' first, but there's some PDP-11s with 4 chip CPUs)
Some points:
* there's a real lack of quality, up-to-date documentation. I would have thought that at least on Linux you'd find some documentation, but most of it seems to be "RTFS".
* BLE is in general very unfamiliar to most developers. There's no client and server, there's central and peripheral. GATT profiles are a mix between TCP connections and binary REST-ish interface.
* Encryption/authentication is possible, but depending on the manufacturer's API/quality of documentation it's not really apparent a. how to select a secure connection method b. how to even check if and which authentication/encryption was chosen
* Coming from the previous point, many BLE devices have the same generic GATT profiles, sometimes with the same sample data. This looks like a lot of BLE devices just copy&pasted sample code from the manufacturer and added the minimal changes "to make it work"
* It's probably really easy to do passive/active fingerprinting to find out the manufacturer and/or chip version used in a device. Default services, ordering of advertising options etc
* Many BLE devices are not conformant. Uninitialised name fields with garbage in them ("Device Name: WHOOP\020��=u5״\023n"), manufacturers using random identifiers that clearly don't belong to them
* when doing passive BLE sniffing: the biggest obstacle isn't getting data. It's how to filter it. One of the most useful filters of the nRF Connect app for android is to filter out all advertisement packages for apple and ms devices, to cut down the overwhelming amount of such devices
Coincidentally, if anyone knows how to figure out which Intel CPUs actually support 5-level paging / the CPUID flag known as la57, please tell me.
Nmap used to have a mode where you could portscan via a third-party FTP server.
And it just so happened that HP Laserjet printers had an FTP server active by default that allowed PORT to any IP.
But if you're totally comfortable with vim you'd better use ex, which basically is both an extension to ed, and the non-interactive part of vim.
Other fonts... I could see myself being distracted by changing fonts in a document, except maybe for comment blocks. But for those italic/thin seems to work well already.
Tried to find the tool... it's GNU enscript. Syntax highlighting for several languages, outputs to postscript.
If you scroll down a lot, the post goes into details.
I have to admit, it's a bit hard to follow the exact details as a non-physicist on a lazy sunday morning... but you change the refractive index by uhh... something related to the polarization and Maxwell's equations