Posts
4817
Following
319
Followers
489
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

Jarkko Sakkinen

Edited 1 year ago

Given that I want to switch back to ext4, i need to also reinstall.

I went through manually installed RPM packages, narrowed the list down to 41 most critical, and here’s what I ended up with:

aerc bat bison ccache clang cmake expect fatcat flex fzf gcc github-cli gh git gnupg hatch hyperfine irssi mc mediainfo meson mmv msmtp ncdu neovim openssl pam-u2f pass patch pwgen qemu ranger rclone ripgrep sha3sum socat strace tealdeer w3m zig zola zoxide zsh

These are mapped to Arch Linux package names. I’ll install that distribution because I can just pass that list to archinstall be back in online maybe about ~2h :-)

It goes like this:

  1. Install Arch Linux to VM and use archinstall for this.
  2. Export json.
  3. [Backup json too.]
  4. On bare metal boot from stick and pass that json to the installer and shit will just happen!

Now that I anyway have to reinstall I found out about how this works and it plain just make sense to me…

EDIT: actually 42 packages, gnupg was missing, well anyway…

0
0
0

Jarkko Sakkinen

I think I reinstall my system with #ext4.

I miss stability, simplicity, recover-ability and compatibility.

I even like journal-based approach and quota's.

And I know *in detail* how it works in the implementation.

So giving up on #btrfs for good.
2
0
1

Jarkko Sakkinen

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

Jarkko Sakkinen

In #kernel QA test applications made with #Rust is one of the better ideas for some time.

Cargo is almost like Docker in this context. I can just compile #BuildRoot image with #cargo baked in, and once the image boots up it can install test apps from cargo.

Super nice approach for doing something more complex than kselftest but going to podman would be over the top...

#rustlang
0
0
4

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

Edited 1 year ago

I published source code for my #resume here, which is entirely made with Typst:

https://codeberg.org/jarkko/resume

I tried to take extra care properly cover everything with CC-BY-NC-SA-4.0 before publishing it.

The reason why I posted is however this nice small script that I did:

❯ cat scripts/license-photo.sh 
#!/usr/bin/env sh

exiftool \
  -XMP-xmpRights:UsageTerms="CC-BY-NC-SA-4.0" \
  -XMP-xmpRights:WebStatement="https://creativecommons.org/licenses/by-nc-sa/4.0/" \
  images/photo.jpg
exiftool images/photo.jpg | grep -E "^Usage Terms|^Web Statement"

The script injects CC-BY-NC-SA-4.0 as part of the EXIF metadata embedded to the image.

Not doing this would have caused my weird OCD symptoms and sleepless nights ;-)

Ya, and also in this my Git starts with a “merkle commit”:

❯ git log --oneline      
21f8497 (HEAD -> main, origin/main, origin/HEAD) Initial commit
a79299e 

I.e. “the empty set” is public domain and not enforced by CC-BY-NC-SA-4.0 ;-) I like licensing and security borders that are clear and visible…

1
0
0

Jarkko Sakkinen

Alacritty upstream NAK’d my install script so I created a repository for it:

https://codeberg.org/jarkko/alacritty-install

I also modified it to install the icon and desktop file by default with the perfix ~/.local .

Usage:

alacritty-install -h
usage: alacritty-install [-bhp]
-b <wayland|x11> select the rendering backend
-h               usage information
-p <prefix>      select the installation prefix (defaults to '/usr/local')

Just a convenient way to get the bleeding edge binary, which is convenient because typical Rust app is a single fat binary.

1
0
0

Jarkko Sakkinen

A true time saver ;-)

git-init-linux () {
  git config sendemail.envelopeSender "jarkko@kernel.org"
  git config sendemail.from "Jarkko Sakkinen <jarkko@kernel.org>"
  git config sendemail.sendmailCmd "/usr/bin/env msmtp"
}

Given that, I don’t want to keep this in the #global #git config.

#linux #kernel

1
1
0

Jarkko Sakkinen

My life at the free town of Codeberg (Germany) has started: https://codeberg.org/ticho/irssi-matrix/pulls/8

N=1 in PR's :-)

#codeberg #irssi
1
1
0

Jarkko Sakkinen

apparently also #irssi is hosted at #codeberg: https://codeberg.org/irssi/ #irc
0
1
2

Jarkko Sakkinen

Edited 1 year ago
#Wikipedia has a great coverage on what #Codeberg is all about:

https://en.wikipedia.org/wiki/Codeberg

I'd like to see actors like EU and Linux Foundation give some donations/funding/hosting for the sake of providing non-profit but still easy to use and competitive Git hosting for the open source ecosystem (but that is not up to me).
1
0
0

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

Jarkko Sakkinen

Edited 1 year ago

Installed gh (cli.github.com) for the sake of convenience of being able to do this:

gh release download v2.6.0 -R woodpecker-ci/woodpecker

#github #cli

0
0
0

Jarkko Sakkinen

0
0
1

Jarkko Sakkinen

Early potatoes, herring and egg dip 😛
0
0
0

Jarkko Sakkinen

Edited 1 year ago
A typical #TUI #Rust application has usually about ~600 dependencies or similar figure.

A typical C applications has less than ten. C application might possibly be less "memory safe" language but you can statically analyze every bit and piece of the code base, including dependencies.

And by doing hat, you end up getting more verified, and *objectively* more memory safe build artifact ;-) 🤷

What many people especially in the Rust community completely have ignored, one side-effect of this new language popping, was igniting the heyday of the development of static analysis of the C language, which has *vastly* improved both in LLVM and GCC toolchains.

Just look at how amazing e.g. GCC 14 is when analyzing C code, and given the low amount of dependencies you can get pretty solid guarantees on safety of your code base.

Static analysis of C can *only* get better because the base language is compact and does not really grow anymore. One thing where C is factors more immutable is the language spec itself ;-) Rust language spec on the other hand is the most mutable spec ever invented, and run by a Github pull request process...

#rustlang #gcc #llvm #toolchain
3
2
6

Jarkko Sakkinen

Edited 1 year ago

I want to my own so called wallet and looking at options of hardware incorporation:

  1. TPM2: not feasible since does not handle P256K1 (only P256R1).
  2. Hardware crypto wallets (from companies like Ledger): in my opinion worst inventions done during past 20 years. We need open and application agnostic keystore backends, not pollution like these.
  3. FIDO2: Yubikey very compelling collection of crypto algorithms and ECC curves, including popular ones for blockchains.

So the choice is somewhat obvious based on this quick feasibility study: I want a FIDO2 wallet.

The next issue. I found this really nice FIDO2 wallet in C++: https://github.com/hoytech/defido2

My next question would be tho does anyone know is the choice of implementation language in this driven by “passion” or something actually preventing to do this using W3C API’s for FIDO2?

Does W3C API e.g. block some ECC curve types that my Yubikey might support?

#blockchain #wallet #w3c #fido2 #ethereum

0
0
0
Show older