Posts
5533
Following
349
Followers
548
.

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

Jarkko Sakkinen

Siemens is doing BTW amazing job in open source IMHO. Bumping a lof of to cool projects they have spinned off all the time.
0
0
0

Jarkko Sakkinen

Reminder to myself:
npm config set prefix ~/.local
0
0
0

Servo is now passing 1.9M subtests at wpt.fyi: 1,903,187 / 2,131,264 (89,3%) 🎉
See https://wpt.fyi/results/?product=servo

0
3
0

Jarkko Sakkinen

reminder to myself: -DLUAJIT_DISABLE_FFI
0
0
0

Jarkko Sakkinen

I think I also publish at some point my personal backup tool of which I've been using for ages in various forms. I don't know how backup tools work, never used them, and it has been implemented over that basis :-) This is actualy only backup tool I've ever used.

/* KOPIO on-disk format structures */

static const uint8_t KOPIO_MAGIC[8] =
{ 'K', 'O', 'P', 'I', 'O', '7', '7', '7' };
0
0
0

Jarkko Sakkinen

Edited 2 months ago

“nippu - does one thing right”

https://codeberg.org/jarkko/nippu

I just need something simple and stupid as it is quite often :-)

I.e.,

#include <stdio.h>
#include <nippu/nippu.h>

int main(void)
{
	const struct nippu_node *node;
	const unsigned char *data;

	if (nippu_lookup(&assets, "/hello.txt", &node) != NIPPU_SUCCESS)
		return 1;
	if (!nippu_is_file(node))
		return 1;

	data = nippu_data(&assets, node);
	fwrite(data, 1, (size_t)nippu_size(node), stdout);
	return 0;
}
1
0
0

Jarkko Sakkinen

I sometimes wonder how many of the people who think compiler injected safety checks are great have heard about icache :-)
0
0
0

Jarkko Sakkinen

AI competition and deregulation in the United States have caused "pop-up" data centers to be created like mushrooms in the rain, and energy for them is largely produced with fossil fuels. Other resources, such as water, are also consumed in shocking amounts.

So remember that if you rely dominantly on agent infrastructure, it will come at the expense of basic human resources, and you will destroy the planet for future generations. Appealing to the economy is irrational, because the economy is always ultimately a virtual issue and a matter of contract.

Nvidia's hardware is quite bad in terms of energy use in terms of environmental specs, because it's half a graphics card, and not just for inference etc. designed. Only Google (maybe someone else) has energy efficiency in order, because they produce an ASIC designed for the purpose, the Tensor Processing Unit (TPU).

Tech is not problem, humans are once again. E.g., my use of inference in my sample browser pakki is probably example of such case as it runs smart sample search just fine on my X390 ThinkPad :-)
1
0
2

Jarkko Sakkinen

Edited 2 months ago
Pakki - a sample browser i'm putting together :-) it has also AI and interference run with CPU/GPU (works fine on my X390 Thinkpad).

The only AI app I've made so far...

If there's a magic button that generates all the code in the world, I can only assume that everyone is pushing that button. How I adjust my focus on topics such as AI is to look into smaller scale not as crowded areas such as local AI, which has the similar optimization challenge as all optimization challenges I love :-)

1. pfffft for FFT
2. libonnxruntime for inference
3. https://github.com/LAION-AI/CLAP/ for epoch models.
0
0
1

Jarkko Sakkinen

Edited 2 months ago
This is was hard one in its own way:

https://github.com/himmelblau-idm/himmelblau/pull/1079/changes/83c1b07599e75d8d4c86e7df4ddace3ff34383db

I.e. simple patch but finding exactly correct simple patch of unlimited choices was the sudoku here.

I left out dynamic update as it requires:

1. Detection of "no sessions for user" (probably through loginctl?).
2. Maintaining "no sessions" state while e.g. running recursive chown.

I did not figure this out yet and even if I had it appears to me to be at least complex in size as my initial patch. Since the current returns error on dynamic change, it leaves door open to add a opt-in flag for it later.

#himmelblau #linux #systemd
1
0
1

Jarkko Sakkinen

Edited 2 months ago
created a vga esque home page to fit this ao486 leisure time work: https://jarkko.codeberg.page/

for 486 SX authenticity it uses 24:8 fixed point at run-time no floats :-)
0
0
1

Jarkko Sakkinen

I decoupled the protected mode extender in ao486kit as its own project called TinyPM.

TinyPM is basically a single process protected mode kernel, which exists back to MS-DOS instead of shutting down when its only process dies.

TinyPM builds tpm.exe, which runs .TPM files, which are 32-bit relocatable binaries of their own format.

The project includes scripts:

- scripts/mktpm.lua: Takes base address zero 32-bit elf and creates a TPM file.
- scripts/linktpm.lua: Links tpm.exe and a .TPM file into a self-hosted executable.
0
0
1

Jarkko Sakkinen

Decoupled module in ao486kit:

- tinyfb: graphics library
- tinygus: hardware playback routines for GUS
- tinypm: my protected mode extender
0
0
1

Jarkko Sakkinen

Edited 2 months ago
OMG I found an *active* GUS fork of ao486:

https://github.com/xolod79/ao486_MiSTer/tree/GUS

SB16 is a CPU hog with worst imaginable sound.

486 SX-33 + 16 MiB + GUS is ideal :-) GUS is a legend, love it.
2
5
4

Jarkko Sakkinen

Edited 2 months ago
After I've landed ao486 I have already +1 retroproject on my drawing board.

I happen to own one Atari STE:

1. Has a blitter and DACs
2. This one out of this world 4 MiBs RAM
3. Has a VGA adapter.

I just need to get UltraSaTan to get on going :-)

Major difference to ao486 is that i will be just m68k assembly without C (that said neither ao486 has whole a lot of C).
0
0
2

Jarkko Sakkinen

Edited 2 months ago
I never liked writing apps until I found the joy of writing non-portable apps :-) For me non-portability is a feature. And for my personal project the only decent GUI library is either Vulkan-GLSL or framebuffer.

Even in programs I use myself I love this feature, like for instance in foot, which is the best terminal emulator for Wayland I know.
0
0
2

Jarkko Sakkinen

Edited 2 months ago
As a sidekick from my DAW project just to do something more scoped to get the code in field testing I wrote a sample browser called PAKKI.

Somewhat opionated specs:

1. libwayland
2. inotify
3. Vulkan+GLSL or uses AVX2/NEON optimized software rasterizer.
4. AI 🧟 Uses ONNX and https://github.com/LAION-AI/CLAP. Enabled text/tag search for instruments, voices, percussions, foleys etc.
5. Very basic wave editing functionalities with zero crossing detection automatically.
6. Pipewire-only.
7. DSP also in AVX2/NEON SIMDs.

I wanted to do Splice search type of in my local file system and I have now similarity search, recognization of samples to percussion and stuff like that. And it has collections/favorites type of usual features.

I'll put this out at least sooner than the DAW like within few months. This really did not exist at least not in the form I would care about it. Sononym is quite good but it has too many features and not available everywhere I want it to be (I own actually a license).

PAKKI is like test bench for GUI and DSP stuff at basic level and I think it meld as browser of audio resource in Clarity DAW...
0
0
0
Show older