~krystianch/krystianch.com

8e110fee25e2e4d36152e98a7d513534f7f12cf0 — Krystian ChachuĊ‚a 2 months ago 7515117
Add 2024break
1 files changed, 109 insertions(+), 0 deletions(-)

A content/posts/2024break.md
A content/posts/2024break.md => content/posts/2024break.md +109 -0
@@ 0,0 1,109 @@
---
title: "I spent 4 weeks working only on free software"
date: 2024-01-31
---

The [SafeDNN][1] project ended in December 2023.
I decided to take January off to rest and work on free software.
Here's a summary of what I worked on after returning from a week-long ski trip.

[1]: https://safednn.com/

Let's start with [Alpine Linux][2].
I've packaged the [new libcamera-based Raspberry Pi camera stack][3].
I built it, solved some problems, tested it and
[submitted the package to aports][4].
The old raspicam API is [deprecated][5], so this package, once it is merged,
will be a convenient way to switch to the new one.

[2]: https://alpinelinux.org/
[3]: https://www.raspberrypi.com/documentation/computers/camera_software.html#libcamera-and-rpicam-apps
[4]: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/59410
[5]: https://github.com/raspberrypi/userland/?tab=readme-ov-file#update

Thanks to ikke's hint on IRC (#alpine-devel on OFTC), I've also written
[a wiki page][6] on an alternative way to upgrade the kernel on diskless
Alpine on Raspberry Pi.
It's handy when you need to upgrade to a version that is available in the package
repositories but is not yet part of an Alpine release.

[6]: https://wiki.alpinelinux.org/wiki/Raspberry_Pi_-_Upgrade_kernel_from_repos

I revamped my own Alpine package repository, which is now available at
[alpine.krystianch.com][7] and includes some packages that are not available in
the official ones.
To complete it I set up a Raspberry Pi B+ as a dedicated builder so besides
packages for x86_64, there are also some built for the armhf architecture.

[7]: https://alpine.krystianch.com/

Since I started using WireGuard, I dreaded adding new devices to the network.
Generating keys, assigning addresses, creating and importing configs, testing
the connection all required some careful work.
I've searched for a solution for that, but I didn't really like anything that was
available.
So I made [wgpeer][8].
It's a convenient shell script for adding new peers to a network.
But please note that it mainly caters to WireGuard setups with a central *hub*.

[8]: https://git.sr.ht/~krystianch/wgpeer

I've installed [OpenWrt][9] on an Edgerouter X in my home network.
It was pretty painless and the software is way better than the Ubiquiti's stock
EdgeOS.
Its default configuration was surprisingly good.
For example, local name resolution under the .lan domain is set up out of the
box.
Configuring the firewall, Wireguard, and DDNS is very easy and convenient.
The LuCI web interface is an exceptional piece of software.

[9]: https://openwrt.org/

Speaking of OpenWrt's [ddns-scripts][10], I've done some work on a new script
that sends updates to [Hexonet][11].
The basic functionality is there, and it is running on my router and updating
correctly as I write this, but few ddns-scripts settings and features are
currently supported.
Nevertheless, you can find it [here][12].

[10]: https://openwrt.org/packages/pkgdata/ddns-scripts
[11]: https://hexonet.net/
[12]: https://git.sr.ht/~krystianch/update_hexonet/tree/master/item/update_hexonet.sh

There was also some time for experimental projects such as my new home video
security system.
It's a development of [an idea][13] I had in the past but this time more polished
and on a larger scale (supports multiple cameras).
It includes live previews in the browser, cameras with interchangeable lenses
(thanks to the [RPi HQ Camera][14]), quick manual on/off switch and recording
LEDs for privacy.
Everything done by integrating free software components such as [ffmpeg][15].

[13]: {{< ref "cctv" >}}
[14]: https://www.raspberrypi.com/products/raspberry-pi-high-quality-camera/
[15]: https://ffmpeg.org/

I published a post about my [HSV night light][16] on this blog and added
a demonstration video to [an older one][17].
I took some time to organize my notes using [nb][18].
I'm still new to this tool, but I'm liking it so far.
I also brushed up on neural network math so that I'm sharp before the first day
of my new job.

[16]: {{< ref "light" >}}
[17]: {{< ref "pgrid" >}}
[18]: https://xwmx.github.io/nb/

Speaking of which, tomorrow is that first day.
I'm going to work at [Comtegra][19] as an AI / DevOps engineer.
I'm very excited.
It's a medium-size Polish company located in Warsaw that specializes in system
integration and have their own cloud solution called [Comtegra GPU Cloud][20],
which I'll be working on.
I've used it when I worked at the Warsaw University of Technology and quite
liked it for the simplicity of its user interface.
I can't wait to look at the internals.
See you next time!

[19]: https://www.comtegra.pl/en/
[20]: https://cgc.comtegra.cloud/