Posts
5491
Following
347
Followers
543
.

Jarkko Sakkinen

Edited 1 month ago

Pipewire daemon without systemctl (needed it this recently):

# In cat ~/.config/pulse/client.conf, set:
# autospawn = no

pid=$(pidof pulseaudio) && kill "$pid"
setsid bash -c '
  pipewire &
  PIPEWIRE_PID=$!
  wireplumber &
  pipewire-pulse &
  wait $PIPEWIRE_PID
' > /dev/null 2>&1 & disown

#linux #pipewire #note

0
0
1

Jarkko Sakkinen

One of the many reasons why Lua is my favorite scripting language, is that you don't need JSON, YML or TOML.

Lua works well for all those needs and purposes also as a data format.
0
0
0

Jarkko Sakkinen

WDF circuit modelling and learning all about the topic has by accident become my hobby 🤷

It started by learning to model some existing analog gear based on circuit diagram and getting surprisngly good results.

I've cut out all plugins to their own Git project from the Clarity DAW project in order to trim it to something accomplishable.

From that stash I've further split 808 plugin project, and will redesign WDF modelled internals :-)

Always nice to learn a craft and I could imagine that this can be generalized to circuit simulation overall, which is professionally useful craft.
0
0
0

Jarkko Sakkinen

This has spinned off from my recent side-projects and thought to release it because it is disturbing to reimplement this all the time:

https://codeberg.org/jarkko/libbasedir

There was not really great library to handle this simple task so here you go.
1
0
2

Jarkko Sakkinen

Edited 1 month ago
Caffeine Commander (ccd) is a terminal file manager written in C, based on non-blocking file I/O.

All I/O operations are asynchronous, and UI and CPU tasks share a single thread, making the most of the available resources :-) And this obviously minimizes context switch latency while at it.
1
0
3

Jarkko Sakkinen

With ccd I focus on to single thread implementation including I/O :-) Two threads is way too much...

And it enforces to amortize workoads and other good practices that are too easily bypassed by a thread pool.
0
0
0

Jarkko Sakkinen

There will be soon need for a book "LLMless cookbook" for kids so that they don't fuck their careers with misguided beliefs and fantasies.

One recipe could be "build your own stash with local repositories". It's not really about any "secret sauce" but more like less friction to do random experiments from which to learn from. It's losless compression of *your own memory* whereas neural network is lossful compression of LLM model + generated additional interference based on material fed (fuck that was complicated to phrase lol, sick layered)

For a person like me, LLM generated implementation is +1 variation of thing that I could have, and literally always also have written manually. This is for expanding search space of alternative ways to branch code for instance. We're looking for quality over quantity after all, aren't we?

There is one recent example where I did use an LLM agents successfully and in very planned, instructed and sandboxed manner. I did a huge file recovery operation that reconstructed a couple of lost Git repostories from ddrescue dumps of three different computers.

Third example is actually a bit obscure but for rootns patch set that I'm working on I use a bug I've found in claude code to make the agent go insane by removing cwd beneath it while being overstressed with "impossible" workload.

What these examples show is that since I have the craft under control, even the use of agents is very "tool-oriented". The non-tool oriented use would be OFC compensating my own shortcomings.

AI companies are throwing a generation of potentially great engineers under the bus. That's sad to watch happening.
0
0
2

Jarkko Sakkinen

Edited 1 month ago
I have now also syntax highlighted source code viewer in ccd. I stole that out from tree-sitter code of a small text editor project that never really got going.

My stash of local repos over the year really is like a super powerful LLM for me at least or could not be replaced with any of those :-)

Preloader will mean +1 thread, which again only uses non-blocking I/O.

That's really as much one should use at most. Context switches are expensive and IO is mostly just waiting from CPU's standpoint.

I think user space programs advertising the size of their thread pool are made by developers who really don't understand what they are doing TBH 🤷
0
0
0

LinkedIn Is Illegally Searching Your Computer. Microsoft is running one of the largest corporate espionage operations in modern history https://browsergate.eu/

Is there anything Microsoft is not doing these days?

6
11
0

Jarkko Sakkinen

Edited 1 month ago
The DAW project I found a path to reduce the current 100 KSLOC and it has about halved.

1. Reduce radically custom rendering by levering GSK of GTK4 and base on GTK4 for window creation etc.
2. Drop plugins from the main project and migrated deleted UI that they need to that project.

After week or two of repivoting now I have a lively 50 KSLOC base :-) It has strong non-portable Linux focus like Logic has macOS focus so this is not an issue. It will be totally designed-for-pipewire DAW.

I really don't start projects anymore that I don't eventually finish. This might take year or two but I just occasionally decide +1 step and move it forward.

Given AI copying trend you really don't want to push in-dev repos out there. I only publish stuff that I consider to be a usable version of something.
1
1
2

Jarkko Sakkinen

Edited 1 month ago
For caffeine command the only included themes are Catpuccin variations, as it fits to the brand :-)

It uses https://codeberg.org/jarkko/nippu to bundle the default themes. I hate dangling files at ../share.

Started to post about ccd because it suddenly starts to look like an app. Has been totally unintentional and off-topic project :-)

Powered by C.
0
0
1

Jarkko Sakkinen

Edited 1 month ago
I've created over last few months or so a single pane filemanger called Caffeine Commander aka ccd:

1.It has a VFS layer.
2. It does not invoke external programs as subconsequence of its predefined actions.
3. It does not have plugins.
4. While not always unavoidable, minimizing and reducing the build configuration is a continuous goal.
1
1
2

Jarkko Sakkinen

I have quite pretty big Yocto project to be published in near weeks/months including its own meta layer and complicated stuff such as OTA updates.

More on that later but https://github.com/siemens/kas was a great finding.

Unfortunately after working with Yocto for 2-3 weeks I found Kas only yesterday but was definitely worth of rewrite... (and i sleepless night)

Previously when working with Himmelblau Siemens surprised me with with linux-entra-sso browser extension. I guess they know how to deliver :-)
1
0
0

Jarkko Sakkinen

Thank God I have one M2 Mini. It's life saver in aarch64 builds despite having to docker wrap them. And orbStack is great!
0
0
0

Jarkko Sakkinen

"there's no place like lan" is trending :--)
1
0
0

Jarkko Sakkinen

leveled up my localhost git hosting from ssh-to-NAS to separate git-account and forgejo :-)

life quality++
1
2
4

Jarkko Sakkinen

xterm - still holding it ;-)
0
0
1
Show older