Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InitWare
The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I checked the keyboard debouncing logic [0] and it was fine. Some keyboards from other manufacturers, notably Lenovo Thinkpads, have absurd debouncing algorithms that scramble keys or add delays, so it's good to see Framework spent the effort to build a correct solution.
[0]: https://github.com/FrameworkComputer/EmbeddedController/blob...
The scrambling is easy to see once you know it's happening: press k and l simultaneously on your Thinkpad keyboard. It'll always come out "lk" unless you deliberately separate them.
Testing was done [0], but it's not written in an easy-to-understand way. As a summary, Thinkpad keys are scrambled within 15-23 ms. Usually, humans ascribe scrambled letters to their own mistakes, but this time it's the keyboard's fault. Lenovo continues to ignore the issue.
The stock edk2 menu has, like, two items.
System76 have built a more serious setup UI: https://github.com/system76/firmware-setup
Microsoft’s https://github.com/microsoft/mu also probably contains UI from the Surface line or something??
The stock edk2 menu has, like, two items.
System76 have built a more serious setup UI: https://github.com/system76/firmware-setup
Microsoft’s https://github.com/microsoft/mu also probably contains UI from the Surface line or something??
> Yes indeed, I should've expanded to requiring user namespaces and other kernel magic I can't expect from any random box i wanna work on.
That's fair, do have to make sure to avoid to modules that do user systemd services.
Longer term, though, I am hoping https://github.com/InitWare/InitWare will help with the userland part. And I hope to personally help with things like
https://lists.freebsd.org/archives/freebsd-arch/2022-January...
https://lore.kernel.org/lkml/f8457e20-c3cc-6e56-96a4-3090d7d...
to get us more sane cross-platform system calls.
I've extracted the Chromium-EC encryption functions, they are convenient for signing / verifying firmware on other platforms. Chromium-ec is nice for example code like this:
https://github.com/jhallen/rsa-verify
On the other hand, if you are looking for some generic embedded system code all in C, here is our library:
https://github.com/nklabs/libnklabs
I think it's most unique feature is the embedded schema-based database- so you can save things like calibration and configuration information in local flash memory. Recently I've been adding device drivers for all common devices I can find on break-out boards for the Arduino and Raspberry-PI communities.
I've extracted the Chromium-EC encryption functions, they are convenient for signing / verifying firmware on other platforms. Chromium-ec is nice for example code like this:
https://github.com/jhallen/rsa-verify
On the other hand, if you are looking for some generic embedded system code all in C, here is our library:
https://github.com/nklabs/libnklabs
I think it's most unique feature is the embedded schema-based database- so you can save things like calibration and configuration information in local flash memory. Recently I've been adding device drivers for all common devices I can find on break-out boards for the Arduino and Raspberry-PI communities.
I can run a Linux vm emulating x64 or aarch64 right now on M1…
It’s more flexible that WSL2 in my opinion
See https://github.com/lima-vm/lima for a very friendly QEMU wrapper