HNHacker News
TopNewBestAskShowJobs

dottedmag

923 karma · joined February 26, 2009

Mikhail Gusarov

Another self-taught software engineer.

https://dottedmag.net/

submissionscomments
dottedmag··on Drunk grizzlies keep getting hit by trains in Montana
Isn't it nice that the article has a summary with all the facts upfront for a change?
dottedmag··on Trying out TinaCMS
Oh, content management system, not color management system.
dottedmag··on Getaddrinfo() on glibc calls getenv(), oh boy
It has been fixed recently-ish.
dottedmag··on Ask HN: Who wants to be hired? (October 2023)
Location: Malta (Europe)

Remote: Yes

Willing to relocate: Maybe

Technologies: Go, GCP, Terraform, Kafka, ELK, C, and more

Resume: https://dottedmag.net/cv/

Email: cv@dt.mg

- Expert in low-level Linux, server automation, containerization, Kubernetes

- Head of engineering in an infrastructure startup, responsible for architecture and development processes

- Prolific open source contributor, created an embedded Linux distribution

- Owned development processes and tooling end-to-end in numerous companies

dottedmag··on One change could take India to the football World Cup
OTOH, this automatic cancellation is very useful if one wants to obtain another citizenship.

When I went through a process of relinquishing my previous citizenship, it included:

- 11 documents,

- 10 apostilles,

- many authorized translations,

- several photos (?!),

- notarizing my signature at the consulate,

- receiving two documents via regular mail from my birth country (IIRC this service is now discontinued, and one has to go to obtain these documents in person, and no, power of attorney is not accepted, and yes, the country in question is at war, so any man trying to do so risks being drafted and sent to frontlines immediately),

- several thousand euro in various fees,

- many hours spent preparing documentation,

- ~6 months from the beginning of the process to the end.

dottedmag··on Are any words the same in all languages?
In Norwegian this word is not recognized. Norwegians hear it as «kake» (kAh-keh), cake.
dottedmag··on Are any words the same in all languages?
Norwegian uses «Hæ?» instead
dottedmag··on My favorite Erlang program (2013)
It will be a closure "fun () -> ...", and it's serialized bytecode + a copy of captured variables — remember, they all are immutable. For a intra-node call it will be a reference to the bytecode, no need to copy anything.

However if this code refers to any functions from modules via syntax "foo:bar/1" then these references will be resolved on the target node, and both nodes better have the same versions of modules loaded.

dottedmag··on Focus: A simple and fast text editor written in Jai
I have asked several times and got no answer.
dottedmag··on OpenTelemetry in 2023
Ugh, protobuf and gRPC as blessed (?!) transports? Thanks, I always wanted to bring 100MB dependency into my code just to send metrics.
dottedmag··on Zaum
Most likely, yes.
dottedmag··on Sensor Watch: a board swap for the classic Casio F-91W wristwatch
Maybe not everyone wants to carry grandma's cuckoo clock on their wrist?
dottedmag··on Kafka is dead, long live Kafka
Do you have a reference documentation for S3 data layout?
dottedmag··on Why libvirt supports only 14 PCIe hotplugged devices on x86-64
Author here. D'oh, you're right. Added it to QEMU section.
dottedmag··on Why libvirt supports only 14 PCIe hotplugged devices on x86-64
Author here.

Have you got it working with PCI or PCIe? PCI devices attached to the top-level bus do not request I/O ports unless they need to, and if they do, they request only small slice.

QEMU also allows one to put 8 static PCIe devices into a single "multifunction PCIe device", so it requests 4K I/O ports per 8 devices, giving a bigger headroom. The downside, of course, is that all these 8 devices lose individual hotpluggability, and can only be added/removed en masse.

The biggest problem is hotplug slots, each taking 4K I/O ports unless told otherwise in a way libvirt does not support as I described in the article.

dottedmag··on Why libvirt supports only 14 PCIe hotplugged devices on x86-64
Author here. Your guess is right.

A lot of hardware has migrated from using I/O ports to memory-mapped I/O, and instead of fixed I/O addresses ACPI or a similar mechanism provides the OS with the directory of memory addresses to talk to.

For example, instead of PS/2 keyboard/mouse at I/O ports 0x0060-0x0064, ACPI provides the OS with the memory address to talk to a USB controller, and the USB controller does not use I/O ports at all.

Have a look at a list of the most common I/O ports: https://wiki.osdev.org/I/O_Ports#The_list

Most of this hardware is gone. The easiest way to see them at all is to boot a VM in QEMU and specifically ask for these ancient devices to be present.

dottedmag··on Why libvirt supports only 14 PCIe hotplugged devices on x86-64
Author here. Thanks, I'll give it a whirl!

Not sure it will work though: I need to add an option to a `pcie-root-port` command-line argument managed by libvirt.

I can try skipping creating `pcie-root-port`s by libvirt completely, and add them manually using options passthrough, but I'm not sure the rest of libvirt won't throw a fit when it finds other devices that refer to these (unknown to libvirt) PCIe slots.

dottedmag··on Why libvirt supports only 14 PCIe hotplugged devices on x86-64
Author here. As correctly guessed in other comments: cloud infrastructure.

To make public IPs and volumes hotpluggable without a guest agent running inside every VM one has to manage them in a way guest OS will handle hotplug using regular mechanisms. For volumes it's PCIe storage hotplug, for public IPs it's PCIe network card hotplug.

If a VM is used as a Kubernetes worker, couple of dozen volumes and public IPs attached is not an unlikely situation.

dottedmag··on Launch HN: Sweep (YC S23) – A bot to create simple PRs in your codebase
CC-NC-SA is not an open-source license. Please do not use "open source" to describe your software in your marketing materials.
dottedmag··on Workarounds for C11 _Generic()
Somehow C++ (and now C) standardization very often ends up with constructs that require a lot of ugly hacks in the code that uses them.
dottedmag··on Wordward Draw
For anyone looking at it on desktop and wondering how to play it: make the browser window wider.

Window width as a determining characteristic of a mobile? Come on.

dottedmag··on Google vs. the Open Web
Has anyone sent such a message to their authority? Please share, as more authorities (Norwegian anti-competition authority will surely want to hear about taht) need to be contacted with well-researched text.
dottedmag··on Stanford president resigns over manipulated research, will retract 3 papers
My father was a school gym coach and then a flight attendant. My mother was a sales clerk. Neither of them were into computers.

I have no idea about none of their areas either.

So I guess this only applies to a prestigious occupations.

dottedmag··on {n} times faster than C
You could try this (in-progress) course: https://www.computerenhance.com/p/table-of-contents
dottedmag··on Brains on Drugs: How tinkering with consciousness became a societal sin
This is a circular argument: "X is not Y because it moved on. Why one says it has moved on? Because we see X is not Y anymore"
dottedmag··on My First Impressions of Nix
Than all other _niche_ distributions. But that's not a very high baseline. I'd say it's abysmally low baseline.

When I was using NixOS I regularely saw software that was tested on Ubuntu and Fedora and had installation instructions for these two distros, but was missing from Nixpkgs (because it was experimental, new or very obscure), and didn't work out of the box with NixOS' FHS.

dottedmag··on My First Impressions of Nix
This was an exaggeration, I admit.

Nevertheless community of NixOS developers is many magnitudes smaller than the amount of developers churning out new software, hence once you get off the golden path of the widely or somewhat widely software, the probability of a random thing working without additional elbow grease from the one who tries to use it is indistinguishable from 0, due to NixOS' dialect of Linux not being perfectly compatible with other dialects.

At the very least, documentation for the random thing will never tell you what to do under NixOS, and documentation is very much the part of the software product.

dottedmag··on A case for toe socks
It's definitely a thing in many parts of the Old World too.
dottedmag··on Codespaces but open-source, client-only, and unopinionated
There is zero text on the webpage on what this actually is, except that it's like Codespaces. Is Codespaces a household word nowadays? I had to look it up.
dottedmag··on My First Impressions of Nix
I tried NixOS and dropped it after spending several hours trying to make an experimental FPGA compiler work. The instructions were reasonable, but they expected to have a classic Linux distro: Fedora or Debian-like.

I don't remember the exact set of errors (there was more than one), but NixOS+FHS failed so many times I gave up, and wrote that blog post.

This is the essence: you can't expect application developers to target your niche distro.

← PreviousPage 2 of 13Next →