Posts
3433
Following
205
Followers
340
Linux kernel maintainer. Compilers and virtualization at Parity Technologies.
@RunRichRun makes me wonder why this was not obvious from the get go
1
0
1
@thegibson Irritating welcome screen really nails this site!
0
0
1

Jarkko Sakkinen

Edited 4 months ago
Since I use #IRC "professionally" I spent 50 something euros to for annual #IRCCloud subscription.

The main reason is the bouncer they have in it that "just works" without even trying: https://blog.irccloud.com/bouncer/

If I ever build a company I will get IRCCloud Teams instead of Slack ;-)
0
0
4

Jarkko Sakkinen

#ladybird is compatible with #lwn ;-)
0
0
0
I'm happy I got to see this sight in my lifetime ;-) The blue egg of death.
1
0
0
@chrisdenton I'm considering a T-shirt design:
0
1
1

Jarkko Sakkinen

Edited 4 months ago

#rustc blows up completely when replacing a source file under ~/.cargo/registry/src with random data. It really should do better. This is not appropriate way to signal memory corruption, shouldn’t memory safety take care of this? :-) #rust #rustlang

2
1
1
Sixel test. It is funny how much sixels have late years go appreciation when they were invented by DEC already in 1987, when they introduced VT-320 series of dummy terminals ;-)
0
0
0

Jarkko Sakkinen

Edited 4 months ago
During holidays I found about #IBM Plex: https://www.ibm.com/plex/

Love this font! Best thing from IBM in years.
1
1
4

Jarkko Sakkinen

My apartment is about 7 min walk from central railway station of Tampere and I get these all the time. I really have to fight myself of not fuzzing in...
0
0
0

Jarkko Sakkinen

Tampere Sunday sightseeing
0
0
4

Jarkko Sakkinen

Unfortunately many new open source projects have performance benchmarks that seem to be heritage of Apple marketing.

Zed editor is a great example of this. There's so many moving parts missing here that I could write a book just listing those one by one ;-) This is objectively marketing propaganda because absolute timing values without context and environment do not have any other meaning than giving preferred impression.

Examples of reasonable ways to analyze performance can be found from e.g. https://www.akkadia.org/drepper/cpumemory.pdf.
0
0
2

Jarkko Sakkinen

holiday activities
0
0
0

Jarkko Sakkinen

In an art exhibition of some sort
0
0
0

Jarkko Sakkinen

time to work on a track #bitwig
0
0
2

Jarkko Sakkinen

Got a pile of random #vinyl ’s from my ex because she was moving that I had forgotten. Literally from the attic.
2
1
4

Jarkko Sakkinen

This is still IMHO a strong merit in #GNOME #Evolution, when having multiple identities.

In my case, I use a sub-address (RFC 5233) for bouncing kernel.org but it shares the account with my personal email address. Identities map to envelope addresses, and based on that msmtp will pick the correct SMTP server.

msmtp also allows to share SMTP configuration with #Git. E.g. for a freshly cloned repository, I might for instance:

git config from "Jarkko Sakkinen <jarkko@kernel.org>"
git config sendemail.envelopeSender "jarkko@kernel.org"
git config sendemail.sendmailCmd "/usr/bin/env msmtp"

#email #smtp

1
0
0

Jarkko Sakkinen

X aka "never ever touch this crate" tag ;-) That is how I literally interpret it.

#Rust #RustCrypto #rustlang
1
2
8

Jarkko Sakkinen

Edited 4 months ago

If #Radare2 vs #Rizin makes no sense to you, perhaps #Python will. It is pretty solid tool for driving #Capstone :-)

Transcript:

raw = open('/home/jarkko/work/nnn/nnn', 'rb')
from elftools.elf.elffile import ELFFile
elf = ELFFile(raw)
symtab = {s.name: s for s in (elf.get_section_by_name('.symtab')).iter_symbols()}
sym = symtab.get('move_cursor')
addr = sym['st_value']
size = sym['st_size']
text = elf.get_section_by_name('.text')
offset = addr - text['sh_addr'] + text['sh_offset']
raw.seek(offset)
payload = raw.read(size)
from capstone import Cs, CS_ARCH_ARM64, CS_MODE_ARM)
disasm =  Cs(CS_ARCH_ARM64, CS_MODE_ARM)
for opcode in disasm.disasm(payload, addr):
    print(f"0x{opcode.address:x}:\t{opcode.mnemonic}\t{opcode.op_str}")

Just got a bit familiar this. The main benefits are obviously:

  • Recursive traversal #disassembly (vs linear sweep style in objdump)
  • Re-usable analysis
  • No boundaries how you can post-process the analysis (or visualize it)

I find this super fascinating!

3
4
1
Show older