Posts
3458
Following
207
Followers
343
Linux kernel maintainer. Compilers and virtualization at Parity Technologies.

Jarkko Sakkinen

Wondering how #Bevy implements the parameter discovery for e.g. add_systems.

#rust #rustlang
2
1
1

Jarkko Sakkinen

The first job interview was today of many that I'm going to have after the holidays. It included also live coding but since I did not expect it I passed it ;-)

If I had knew it, I would probably have failed. I'm really bad dealing with that type of stress even tho can stand a lot of pressure in IRL situatation.
0
0
0

Jarkko Sakkinen

@pinkforest LOL, I don't still think that completely renders out my point ;-)
0
0
0

Jarkko Sakkinen

I don't think #Rust should have any business in any core features of #Linux #kernel before there is GPL licensed toolchain for it. #rustlang
2
5
7

Jarkko Sakkinen

Edited 3 months ago
After working with RISC-V CPU's produced by SocHub, and CVA6 running on FPGA and projects like Keystone Enclave during my "industry sabbatical", here's my thoughts on the topic enumerated in random and chaotic order:

1. Specifications are ambiguous and sometimes plain incomplete. WFI opcode is a great example of ambiguity. The lack of ability to define caching properties (like MTRR on x86 ) for physical memory is a great example of incompleteness.
2. IRQ handling is worst I've seen in any modern CPU architecture. It is slow and badly engineered.
2. CPU's behave quite differently depending on vendor, especially cache. For this reason I spent almost two months fixing trivial page table boostrapping code for Keystone Enclave (on CVA6).
3. Commercial CPU's are proprietary as hell given that the "openness" means that companies just fork and tailor and obviously do not publish any changes back to the community.
4. There is neither shared repository for hardware definition in VHDL nor Verilog.
5. There's no open source community. There is only corporate body called OpenHW Group. It is all about companies doing together an open hardware brand, not individuals making together great things.

To have actually open hardware the design and HDL should be copyleft licensed. Not sure if that is commercially realistic but otherwise it is all just as fake as having a BIOS based on Tianocore, and claiming that BIOS is open source.

It is more open to have a proprietary vendor that either sells CPU's (Intel) or licenses the spec (ARM). It is also better for individual because you have an entity that talks you back if you are a customer of them.

#riscv #hardware #opensource #sifive #arm #intel
1
2
4

Jarkko Sakkinen

With the overhauling modulation capabilities in #Bitwig, there's still need for manual curves, so I've taken this somewhat fixed strategy in order to not get confused about all options:

1. At most one manual curve per track and I always record it to mod-wheel. That way it translates from hardware to every plugin and have different meanings.
2. Rest of the automation and "wiggling" with modulation capabilities
3. Proactively (mis)using MPE parameters (pressure timbre etc) exactly to sequence automation. It feels pretty natural as it is like note effects in trackers. Like in a bass I might map pressure to subtone, so that it can be taken away while harmonics are kept in same voulme.

Sometimes modulation crap becomes too convoluted. In those situations I make a new track and record the curve there as. #MIDI CC 1 (modwheel).

Have been a bit with confused for couple of years how and when, when there is lot of options, but this is now what I'm converged into.

#MusicProduction
1
0
0

Jarkko Sakkinen

Took me two years to pay attention this setting for filters in the Poly and FX Grid devices of #Bitwig.

I've been wondering why they just don't feel or sound right but could not have pointed my finger. So I just put this it to +12 dB. and problem fixed.

With stock devices (not necessarily with some analog emulated plugins) sound does not destroy. If you add let's 20 dB gain boost and bring it down the same amount it should be perfectly recovered (assuming that signal path is "stock-only").

#MusicProduction
1
0
1

Jarkko Sakkinen

I started my own fork of #isync (or #mbsync)

https://codeberg.org/jarkko/isync

It has now couple of commits:

❯ git log --oneline -2
8ea62c9 (HEAD -> main, origin/main) fix: compile with -fno-lto
f5782aa refactor: open code FORCEASYNC far and near parameters

The first is the fix for crash in #Fedora. The second open codes FORCEASYNC:

diff --git a/src/common.h b/src/common.h
index 940e74d..22bd827 100644
--- a/src/common.hb
+++ b/src/common.h
@@ -120,7 +120,8 @@ BIT_ENUM(
        ZERODELAY,
        KEEPJOURNAL,
        FORCEJOURNAL,
-       FORCEASYNC(2),
+       FORCEASYNC_F,
+       FORCEASYNC_N,
        FAKEEXPUNGE,
        FAKEDUMBSTORE,
 )

I plan to do this for all of those, as it allows to cut some slack out from bit_enum_get.pl. That will lead to a roadmap where eventually the whole ugly script can be rendered out replaced with BIT_UL macro from kernel (msync is GPL 2.0 licensed).

There is also a #zig branch but before build can be defined properly the C codebase first needs to be made sound in terms of the build. Then it is relatively easy task to repeal and replace main.c with main.zig.

#email

0
0
3

Jarkko Sakkinen

The only #Rust tutorial you ever need is:

cargo doc --open -p <crate>

This opens documentation in the web browser for any crate that a project might be using.

Example would end up opening documentation for env_logger:

cargo add env_logger
cargo doc --open -p env_logger

#rustlang

2
5
21

Jarkko Sakkinen

#audija #kickdrum is really a game changer plugin. E.g. can resize the window freely. There is also 2.0 upcoming.

And despite being simple it has added value to using stock plugins of a #DAW, given that EQ curve is calculated and thus does not cause phasing issues.

#musicproduction
1
0
1

Jarkko Sakkinen

Love this #YouTube channel: www.youtube.com/@ConsoleCowboys. So much useful and applicable content. Whoever #ConsoleCowboys is, I'm your fan.
0
0
0

Jarkko Sakkinen

I still hate reading GAS syntax after all these years. I learned assembly with Turbo Assembler and Intel syntax, which I still think is so much more readable.
0
0
1

Jarkko Sakkinen

Edited 3 months ago

Just so that you know llvm-ir is the language tag for #LLVM #IR when formatting it for #Markdown. I did not know this but found it by trial and error.

0
0
1

Jarkko Sakkinen

What does this mean?

```
install transitive failure
└─ install main transitive failure
└─ zig build-exe main Debug native 1 errors
```

I tried --verbose-cc and --verbose-link but neither made this more verbose.

#zig
0
0
0

Jarkko Sakkinen

I've been using #Storj as my only cloud storage since March, except 50GB iCloud for being "L2 cache" for photos, which go to my NAS.

Just S3 without extra clutter is just soo convenient, and there is #CyberDuck, #s3fs and #rclone to make using it super smooth.
1
1
3

Jarkko Sakkinen

Edited 3 months ago
this is really super smooth workflow-wise kick: https://audija.com/kickdrum

Ignoring that it so much cleaner (except colors suck) than #KICK2, it is has one benefit over: the EQ multiplies the source signal with the EQ curve like per Fourier coefficient (i.e. like local EQ in #Harmor and the EQ in Phase Plant's wave editor). This cancels any possible phasing errors.

You cannot really have that otherwise, except other kick drum generators with similar built-in EQ (of which I'm not aware of).

#audija #MusicProduction
0
0
0

Jarkko Sakkinen

supernatural marathon with my girlfriend made me do it released some day i future (once finished) #bitwig
1
0
1
Show older