Posts
4606
Following
317
Followers
479
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

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
1
8

Jarkko Sakkinen

Edited 1 year 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
3
1

Jarkko Sakkinen

another classic piece of software with *uncluttered* Tk GUI: #gitk :-) #git
0
0
0

Jarkko Sakkinen

#Python #IDLE is still rockin' :-) Always have it open as my calculator (and doing binary analysis and whatnot).
0
2
2

Jarkko Sakkinen

0
0
4
@ljs @lkundrak @pony Maybe a bit pointless but working image preview is a thing for me in kitty :-) There's also standard called Sixels for showing images on terminal but kitty's own protocol as widely supported (because it is the precursor of doing this) and generally just works better and is more efficient and glitch-free.

It even has tool called icat for raw shell.
1
0
2
@mikebabcock Yep, breakin' the law I guess 😅 But you know this WFM me best...
1
0
0
it does the job it was meant to in any case
0
0
0

Jarkko Sakkinen

need this for my #btrfs to #ext4 migration 🤷 https://codeberg.org/jarkko/adhoc-backup #git

#codesberg - “Probably the best git hosting in the world”

1
0
1

Jarkko Sakkinen

Edited 1 year ago
why not? 🤷luks allows to do that why build imaginary blocks...
1
0
0

Jarkko Sakkinen

Really started to like Woodpecker :-) Nicest CI experience so far...
0
0
0

Jarkko Sakkinen

after a bit of adaptation i feel at home with #woodpecker #ci :-) #codeberg
0
0
0

Jarkko Sakkinen

Using #Storj and local #Nextcloud (one per machine) is actually quite easy:

!/usr/bin/env bash
# Taken from https://fedoramagazine.org/nextcloud-20-on-fedora-linux-with-podman/.

podman network create nextcloud-net
podman volume create nextcloud-app
podman volume create nextcloud-data
podman volume create nextcloud-db

# MariaDB
podman run --detach \
           --env MYSQL_DATABASE=nextcloud \
           --env MYSQL_USER=nextcloud \
           --env MYSQL_PASSWORD=DB_USER_PASSWORD \
           --env MYSQL_ROOT_PASSWORD=DB_ROOT_PASSWORD \
           --volume nextcloud-db:/var/lib/mysql \
           --network nextcloud-net \
           --restart on-failure \
           --name nextcloud-db \
           docker.io/library/mariadb:10

# Nextcloud
podman run --detach \
           --env MYSQL_HOST=nextcloud-db.dns.podman \
           --env MYSQL_DATABASE=nextcloud \
           --env MYSQL_USER=nextcloud \
           --env MYSQL_PASSWORD=DB_USER_PASSWORD \
           --env NEXTCLOUD_ADMIN_USER=NC_ADMIN \
           --env NEXTCLOUD_ADMIN_PASSWORD=NC_PASSWORD \
           --volume nextcloud-app:/var/www/html \
           --volume nextcloud-data:/var/www/html/data \
           --network nextcloud-net \
           --restart on-failure \
           --name nextcloud \
           --publish 8080:80 \
           docker.io/library/nextcloud:20

So no need to use Oracle cloud for this. And instances do not really need to necessarily to sync up given the user count.

0
1
1

Jarkko Sakkinen

Migrating my stuff from #Github and #Gitlab to #Codeberg. The first successful CI run done. And seems to generate legit results: https://jarkko.codeberg.page/ #Woodpecker #CI
1
0
2
Show older