Jorropo's Avatar

Jorropo

@jorropo.net

I break code, both mine and not mine. Mainly in Go. ๐Ÿ‡ซ๐Ÿ‡ท IPv6 maximalist

652
Followers
117
Following
150
Posts
14.04.2023
Joined
Posts Following

Latest posts by Jorropo @jorropo.net

Post image

I just published kotama, an experimental GOOS=tamago compiler branch that allows execution of a rich example in barely 6MB of RAM, running on an rv64imfc CPU (yes, no d or a extension).

This paves the way for supporting aifoundry.org Minion cores!

github.com/usbarmory/ko...

05.03.2026 08:25 ๐Ÿ‘ 16 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
runtime: regression Linux synology fork's of linux causes syscall conflict on older kernel versions ยท Issue #77930 ยท golang/go @calmh report: We seem to be seeing the same crash on armv7 -- or should I file this separately? syncthing/syncthing#10587 The return code is slightly different: $ syncthing --version futexwakeup a...

Really Cursed go.dev/issue/77930

TIL there exists such thing as syscall conflicts between Linux and vendor forks of Linux.

04.03.2026 13:23 ๐Ÿ‘ 16 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

3. the best one, on the correct endianness a pointer to a number is also a pointer to all of it's truncations.

So Go gives a *int64 to Linux, Linux loads it as a *int32 so it only loads the lower half.
But this is fine because to convert an int64 to int32 you truncate it to the lower half anyway.

04.03.2026 10:28 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This one is pretty funny go.dev/issue/77934.

Turns out a struct used for Go โ†โ†’ Linux syscalls use int64 when Linux expects int32.

But by chance this can't cause a bug because:
1. it is the last field of the struct
2. the size of the struct doesn't change since C aligns int64 to 8 bytes on 32 bits

04.03.2026 10:28 ๐Ÿ‘ 11 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

This could be a devious hacking challenge.

Make a program that has a vulnerability only if you cross compile it on amd64 yet run it on arm64.

02.03.2026 15:17 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Byte for Byte reproducibility across cross compilation hosts

I assume it depends what architecture the program is compiled on.

If you compile it on an amd64 machine you get a stupid-ish answer.
Otherwise you get a more sensible answer.

groups.google.com/g/golang-dev...

02.03.2026 15:10 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

What sample did you used to fine tune the translation model ?

26.02.2026 00:52 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I cold compiled Firefox today.
Not in artifact mode, a complete compile.

And it finished in 35 minutes !
35 !!!

Linux takes a bit more than an hour.
I was ready to come back tomorrow.

How is it so fast ?

25.02.2026 22:32 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
[Security FIX]: Hide Predefined Bluetooth PIN from Pairing Screen by kuroanji ยท Pull Request #9641 ยท meshtastic/firmware Hide Predefined Bluetooth PIN from Pairing Screen Summary When Bluetooth pairing mode is set to Fixed PIN, the device no longer displays the PIN code on screen during pairing. Instead, it shows a m...

In my threat model hackers have arms and USB cables.

github.com/meshtastic/f...

14.02.2026 17:14 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Screenshot of video game children wizards from the game YAPYAP.

Screenshot of video game children wizards from the game YAPYAP.

TELEPORTANA
ANAPORTTELE

10.02.2026 00:51 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
cmd/compile: CSE is `O((nยฒ+n)/2)` ยท Issue #77506 ยท golang/go What version of Go are you using (go version)? $ go version go version go1.27-devel_9777ceceec Sat Feb 7 15:11:25 2026 -0800 linux/amd64 Does this issue reproduce with the latest release? yes What ...

github.com/golang/go/is...

After a bit of research the algorithm currently used is un-optimimal and a simple fix would be kicking down the worst case later.

I don't know if I want to commit to rewriting it ?

09.02.2026 12:37 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Code comment:

partition can grow in the loop. By not using a range loop here, we process new additions as they arrive, avoiding O(n^2) behavior.

Code comment: partition can grow in the loop. By not using a range loop here, we process new additions as they arrive, avoiding O(n^2) behavior.

HUMMMMMMM

This doesn't look to be working as intended.

09.02.2026 11:12 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Plot of numbers of lines of code in a function versus the compile time by go build.

Shows an O(n*n) trend with 2 to the 15 at 50 seconds.

Plot of numbers of lines of code in a function versus the compile time by go build. Shows an O(n*n) trend with 2 to the 15 at 50 seconds.

Hum that compile time versus number of lines of code in the function looks O(n*n) suspicious.

09.02.2026 10:49 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
A pick and place machine in front, with an industrial storage shelf in the back with three 3D printers.

A pick and place machine in front, with an industrial storage shelf in the back with three 3D printers.

Playing factorio in real life:
The factory is growing !
2nd Pick-and-Place and 4 3D printers print-farm (4th one is bigger and doesn't fit).

01.02.2026 15:48 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Commit 7b7abfe in torvalds/linux.
From November 10 2005, shows a completely empty description and title.

Commit 7b7abfe in torvalds/linux. From November 10 2005, shows a completely empty description and title.

Feeling like that time someone merged a completely empty commit description and title to the Linux kernel.

01.02.2026 04:39 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

In fact one already supports doing so, but the UX makes it unsuitable for whole home backup.

I guess we will see more DC charger spoofing options, where an inverter basically directly pull energy from the battery pack through the DC charging pins (which skips the car's on board power modules).

31.01.2026 03:54 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

An other interesting idea is the household already owns 140kWh of battery storage !
However it is in the cars, and difficult to access due to proprietary Vehicle to Grid solutions.

Ideally we can use the on board car AC charger reversed as an inverter.

31.01.2026 03:54 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Conclusion after 7100โ‚ฌ / 3300โ‚ฌ/y = ~2.15 years I could pay off a completely offgrid photovoltaic + battery system for a home system.

Now think what utilities can do with economies of scale. (also maybe like -20% consumption if I swap the heatpump but renter moment)

31.01.2026 03:47 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Adding the cost of batteries I currently use ~30kWh during the "night".

Remove ~20kWh of that by charging the EVs during the day (currently doing night to use reduced rate nuclear power).

Right now I could buy a second hand EV 17kWh battery for 4kโ‚ฌ, maybe add an other 1kโ‚ฌ for the charger.

31.01.2026 03:47 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Given my electrical provider does net metering (aka the meters run backward if I provide power to the grid).
Overproducing during the day would cover night consumption.

Note that this is toxic behavior, since you are a net monetary loss to the power network, utilities are catching on.

31.01.2026 03:47 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Ok so I did the math, results are crazy.

My household is currently paying 0.19โ‚ฌ/kWh this is 3312โ‚ฌ a year, yes it's a lot, reasons include a broken heatpump and 2EVs.

For 1kโ‚ฌ I can buy 5kw of solar panels, a 6kw for 1.1kโ‚ฌ more.
As you might have noticed, if I install them myself, 2100โ‚ฌ < 3312โ‚ฌ.

31.01.2026 03:47 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

NVM rm is multiple orders of magnitude faster if you don't use -v

30.01.2026 02:18 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Never before I thought the performance of rm needed to be improved.

I need to remove a single directory with a few hundred millions of files.
I know it looks insane but it's on a modern file system (btrfs) so it works fine.

Anyone got multithreaded faster alternatives to suggest ?

30.01.2026 02:05 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
> ssh root@192.168.1.147
WARNING: connection is not using a post-quantum key exchange algorithm.
This session may be vulnerable to "store now, decrypt later" attacks.
The server may need to be upgraded. See https://openssh.com/pq.html

> ssh root@192.168.1.147 WARNING: connection is not using a post-quantum key exchange algorithm. This session may be vulnerable to "store now, decrypt later" attacks. The server may need to be upgraded. See https://openssh.com/pq.html

TIL openssh-client now warns you with a very helpful error message if the server does not support post-quantum cryptography.

Gotta update my robot vacuum I guess.

25.01.2026 16:20 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Recent golang/go commit history shows many commits by @Jorropo (myself).

Recent golang/go commit history shows many commits by @Jorropo (myself).

Enjoying the end of the winter freeze and you ?

23.01.2026 22:07 ๐Ÿ‘ 8 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I need to make a story inspired on Roko's Basilisk but using instrumental convergence as a premise.

13.01.2026 07:42 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
The Worst Programming Language Ever - Mark Rendle - NDC Oslo 2021
The Worst Programming Language Ever - Mark Rendle - NDC Oslo 2021 YouTube video by NDC Conferences

youtu.be/vcFBwt1nu2U?...

12.01.2026 16:44 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

It has a monotonic component, for all relative times materialized from `time.Now` and not stripped of their relative component (imagine serializing it and reparsing it), .Sub does the difference between two points since the start of the program.

12.01.2026 16:32 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Counter point:
> Mon Jan _2 15:04:05 2006

12.01.2026 15:13 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Didn't have "the Mercator projection will cause the end of the world" on my bingo chart

11.01.2026 02:55 ๐Ÿ‘ 139 ๐Ÿ” 17 ๐Ÿ’ฌ 7 ๐Ÿ“Œ 2