Show more

@veer66 you can use Option<T> to make your destination field optional on read, and then add the value as Some<T> before you write it. Make sure you read the csv into a mutable struct and you should be good to go.

@stsquad indeed shared data has been the one time I needed to explicitly declare a lifetime. Someone somewhere wrote an excellent piece that demystified them a good deal. I’ll try to find it, though perhaps it’s not as mystifying to real developers. I’m just a guy who sometimes solves problems with software.

@rbrown in my case the shutoffs happened while I was out of battery and thought I was charging but was not. That’s what led me down the am I charging or discharging path. My screen (hdmi through the usb-c hub) randomly shutting off may be due to the sys-usb qube OOM killing things so I bumped it up to a gig from 300M. Plan to use it that way today. Will let you know how that goes.

In an embedded security presentation I watched today my favorite language, , got a notable mention. I happened to be concurrently building Buildroot for one of my Beaglebone Black boards, and it had just gotten to the compiling of so Cargo was busy doing its thing. Perhaps next week I will actually get started on the Rust Embedded book and make some lights blink.

@veer66 you don’t have to. Which csv crate are you using, and did you use serde’s macros to map the header fields to whatever you wanted them to be? Extra stuff doesn’t matter.

@stsquad very little I’ve written has required explicit lifetimes, but in the cases it has ‘static is almost always the only sensible one anyway.

May well be that my USB-C hub, or my sys-usb qube, is to blame in my troubles with the Librem 14. Using everything straight off the laptop made it through a day of repeated Buildroot builds that flexed all my cores for more than an hour at a time.

ajmartinez.com/tech/posts/2021

Performance on my fairly beefy homeserver was atrocious the last 3-4 days. It took 9 attempts to join the synapse room on Matrix.org, and then the “solution” suggested was to add federation workers. Six hours after I noted more than 85% of my federation traffic was failing 1.37.1 was released, and actually addressed the very issue I was seeing.

If you’re running a Matrix homeserver do yourself, and everyone else, a favor and get off stale releases.

matrix.org/blog/2021/06/30/sec

Time to review some sections from Linux Hardening in Hostile Networks by @kyle again.

Some words on why you should:

a) Always check certificates, and
b) Periodically make sure any devices you own are too

The steps for (b) are provided.

ajmartinez.com/tech/posts/2021

@moparisthebest pretty much everything under the umbrella of IoT is non-compliant with the protocol standards they use for telemetry.

For example, XMPP core states one MUST validate certificates if they are used. Given that my successful attack was both fast and trivial, it’s clear that part of the spec was ignored on the client and that indeed the server did not require a client cert or a stronger xmpp-sasl authentication method than “PLAIN”.

A post is coming soon.

Less than 5min with bettercap and sslstrip to intercept XMPP+STARTTLS. Always check certs y’all. No exceptions.

During a Qubes backup there was a slight dip in the battery charge even while plugged in. Next up, 12-thread DispVM compiling a bloated kernel.

ajmartinez.com/tech/posts/2021

Baseline charging rate for my Librem 14 over USB-C while running Qubes OS is.. 10W.

That may explain why the laptop died while charging from a low battery under load... I'll get some more data and see which rabbit holes that leads me down. Note that the same power supply handles all day heavy use on my work laptop without any decrease in battery status, so it can most certainly give more than 10W if asked.

ajmartinez.com/tech/posts/2021

On a train to add France to the list of countries I’ve physically traveled to in order to fix someone’s router...

Released v0.1.0 of check-tls-suites to provide some tooling to those who might want to check their cipher suites.

This takes the list of suites maintained by IANA, and uses them to check either a hex stream, or a list of integers like one might get from a TLS Client Hello in Wireshark or tshark. Each cipher is marked either as recommened, or not recommended.

Suites that are not recommended are wrapped in '!' characters.

crates.io/crates/check-tls-sui

Given that A Rust Site Engine was written for my better half, it appears another feature has been added to the 1.0 roadmap: an image gallery/slideshow.

Initial and simple POC is done... in JavaScript. It's not my favorite language, and it never will be, but I see how/why it's popular and useful.

Though other times I do update tech-y things: ajmartinez.com/tech/posts/2021

TL;DR - if you're annoyed that using a smartcard with gnupg stops you from later using it with pkcs11 directly the solution is simple: kill gpg-agent.

Show more
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml