kokada

# dd if=/dev/urandom of=/dev/brain0 dd: error writing '/dev/brain0': No space left on device
https://kokada.capivaras.dev/ (RSS)
visit blog
Enabling LE Audio/LC3 in WF-1000XM5
7 Oct 2024 | original ↗

One of things that I hate the most about the fact that we are all using wireless earbuds instead of wired earphones is the latency: it is bad, getting up to seconds(!) depending on your particular combination of OS/earbuds/device. There is a solution though: Bluetooth LE Audio, that is supposed to fix multiple issues with the original design for...

Quick bits: where does Nix store Flake's trusted settings?
30 Sept 2024 | original ↗

Have you ever run a nix build command and had this prompt? $ nix run .#darwinActivations/Sekai-MacBook-Pro do you want to allow configuration setting 'extra-substituters' to be set to 'https://nix-community.cachix.org https://thiagokokada-nix-configs.cachix.org' (y/N)? y do you want to permanently mark this value as trusted (y/N)? y And realise...

My coding experience with LLM
2 Sept 2024 | original ↗

I don't want to talk about AI. AI fatigue is real, with (garbage) AI content everywhere you go. However, I like to talk about tools, and AIs, or more specifically, Large Language Models (LLM), can be really useful tools. Maybe someday we will have our AI overlords dominating everything (including my job), but right now I don't feel particularly...

Making a blog for the next 10 years
24 Aug 2024 | original ↗

So one thing that I realise after starting writing this blog is that I care more about it than some of my other projects. For some reason or another I want to make sure that this blog will continue with me for a long time. This is one of the reasons why I use GitHub as mirror blog and why I created a bunch of automation to make sure I never...

An unordered list of hidden gems inside NixOS
21 Aug 2024 | original ↗

After using NixOS for the last 5+ years as my main OS, I end up with a configuration with many things that are interesting for one reason or another, but it is not listed anywhere (well, except if you are the kind of person that reads man 5 configuration.nix or the release notes in every release). So kind in the same spirit as my list of things...

An unordered list of hidden gems inside NixOS
21 Aug 2024 | original ↗

After using NixOS for the last 5+ years as my main OS, I end up with a configuration with many things that are interesting for one reason or another, but it is not listed anywhere (well, except if you are the kind of person that reads man 5 configuration.nix or the release notes in every release). So kind in the same spirit as my list of things...

Quick bits: using forks with Go modules
20 Aug 2024 | original ↗

There are 2 types of blog posts: the ones you write for others, and the ones that you write for yourself. This blog post is the latter kind. What I am going to talk here is probably something most people know, but I didn't, and the documentation is all scattered in the internet. So I am writing mostly to remember myself, in future, if I have the...

Quick bits: using forks with Go modules
20 Aug 2024 | original ↗

There are 2 types of blog posts: the ones you write for others, and the ones that you write for yourself. This blog post is the latter kind. What I am going to talk here is probably something most people know, but I didn't, and the documentation is all scattered in the internet. So I am writing mostly to remember myself, in future, if I have the...

Quick bits: Go automatically downloads a newer toolchain if needed
19 Aug 2024 | original ↗

I am using elliotchance/orderedmap as my choice of ordered maps (since Go doesn't have one in standard library yet). I recently did a PR to implement Go 1.23 iterators, because I find them neat, however I was avoiding to use it in the code that generates this blog since Go 1.23 was just released and is still not the default Go in nixpkgs. I...

Quick bits: Go automatically downloads a newer toolchain if needed
19 Aug 2024 | original ↗

I am using elliotchance/orderedmap as my choice of ordered maps (since Go doesn't have one in standard library yet). I recently did a PR to implement Go 1.23 iterators, because I find them neat, however I was avoiding to use it in the code that generates this blog since Go 1.23 was just released and is still not the default Go in nixpkgs. I...

An unordered list of things I miss in Go
17 Aug 2024 | original ↗

I like Go. I think it is a reasonable good language, and has some good qualities that makes up for its flaws. However, this doesn't mean I think the language couldn't be better, far from it. This blog post is a list of things that I miss from Go from other languages. Some of the things here could probably be implemented soon, some other would...

An unordered list of things I miss in Go
17 Aug 2024 | original ↗

I like Go. I think it is a reasonable good language, and has some good qualities that makes up for its flaws. However, this doesn't mean I think the language couldn't be better, far from it. This blog post is a list of things that I miss from Go from other languages. Some of the things here could probably be implemented soon, some other would...

Quick bits: NixOS's boot.kernelPackages is a attrset
15 Aug 2024 | original ↗

I don't know if this is just something that got me by surprise or not, but boot.kernelPackages option does not receive a derivation like most other packages, but instead receives a function and returns an attribute set with all packages. Here is the documentation: This option allows you to override the Linux kernel used by NixOS. Since things...

Quick bits: NixOS's boot.kernelPackages is a attrset
15 Aug 2024 | original ↗

I don't know if this is just something that got me by surprise or not, but boot.kernelPackages option does not receive a derivation like most other packages, but instead receives a function and returns an attribute set with all packages. Here is the documentation: This option allows you to override the Linux kernel used by NixOS. Since things...

Abusing Makefiles for fun and profit
13 Aug 2024 | original ↗

If you are following this blog for a while, it should be no surprise that most of the workflow in this blog is automated using Go. I basically write Markdown files with some special rules inside the repository, commit and push it. In seconds, the CI (currently GitHub Actions) will take the latest commit, generate some files (since I use the...

Abusing Makefiles for fun and profit
13 Aug 2024 | original ↗

If you are following this blog for a while, it should be no surprise that most of the workflow in this blog is automated using Go. I basically write Markdown files with some special rules inside the repository, commit and push it. In seconds, the CI (currently GitHub Actions) will take the latest commit, generate some files (since I use the...

Things I don't like in my Chromebook Duet 3
12 Aug 2024 | original ↗

So this is kind of a continuation from my previous post talking why my favorite device is a Chromebook. In this post I want to talk about what makes me this device unhappy, and comment about things that if changed would make it a much better device. But before talking about the negative aspects, let me talk about a positive aspect that I just...

Things I don't like in my Chromebook Duet 3
12 Aug 2024 | original ↗

So this is kind of a continuation from my previous post talking why my favorite device is a Chromebook. In this post I want to talk about what makes me this device unhappy, and comment about things that if changed would make it a much better device. But before talking about the negative aspects, let me talk about a positive aspect that I just...

Building static binaries in Nix
11 Aug 2024 | original ↗

I recently had laser eye surgery for my near-sightedness, and while evaluating if I could have the surgery I discovered that I was suffering from dry eyes. Thanks to this, my ophthalmologist recommended that every 20 minutes while using screens, I look somewhere 20 feet away for 20 seconds, a technique known as 20-20-20 rule. I had issues...

Building static binaries in Nix
11 Aug 2024 | original ↗

I recently had laser eye surgery for my near-sightedness, and while evaluating if I could have the surgery I discovered that I was suffering from dry eyes. Thanks to this, my ophthalmologist recommended that every 20 minutes while using screens, I look somewhere 20 feet away for 20 seconds, a technique known as 20-20-20 rule. I had issues...

Meta: are quick bits really quick?
7 Aug 2024 | original ↗

When I wrote my first quick bits post in this blog, I gave that title prefix without much thought: I knew it was supposed to be a quicker post than my previous one, but I never thought too deeply about it. But after: $ ls -lah **/*quick-bits*.md | wc -l 4 Well, 4 blog posts starting with the same prefix, I was curious: are those quick bits really...

Quick bits: is Crostini a micro VM?
7 Aug 2024 | original ↗

Disclaimer: I am not a Virtual Machine specialist, this post is mainly the conclusion I got after some searching. Someone asked me in my previous post about my Chromebook if Crostini could be considered a micro VM. This was a interesting question, so I decided to do another post. To start, it is really difficult to get a good definition of what a...

Meta: are quick bits really quick?
7 Aug 2024 | original ↗

When I wrote my first quick bits post in this blog, I gave that title prefix without much thought: I knew it was supposed to be a quicker post than my previous one, but I never thought too deeply about it. But after: $ ls -lah **/*quick-bits*.md | wc -l 4 Well, 4 blog posts starting with the same prefix, I was curious: are those quick bits really...

Quick bits: is Crostini a micro VM?
7 Aug 2024 | original ↗

Disclaimer: I am not a Virtual Machine specialist, this post is mainly the conclusion I got after some searching. Someone asked me in my previous post about my Chromebook if Crostini could be considered a micro VM. This was a interesting question, so I decided to do another post. To start, it is really difficult to get a good definition of what a...

My favorite device is a Chromebook
5 Aug 2024 | original ↗

Most of the posts in this blog (including this one) and most of I would call "personal computing" that I do nowadays is mostly done in one of the most unremarkable devices that I own: a cheap Chromebook Duet 3, that I bought for around EUR300. I was thinking why, because it is woefully underpowered: a Snapdragon 7c Gen 2, a CPU that was already...

My favorite device is a Chromebook
5 Aug 2024 | original ↗

Most of the posts in this blog (including this one) and most of I would call "personal computing" that I do nowadays is mostly done in one of the most unremarkable devices that I own: a cheap Chromebook Duet 3, that I bought for around EUR300. I was thinking why, because it is woefully underpowered: a Snapdragon 7c Gen 2, a CPU that was already...

Make nixd module completion to work anywhere (with Flakes)
4 Aug 2024 | original ↗

If you want the TL;DR, go to the bottom of the post (search for "final result"). I recently switched from nil to nixd as my LSP of choice for Nix. I was curious in nixd for a long time since the fact that it can eval Nix code means it can offer much more powerful completion than the nil's static analysis, however it used to be difficult to setup....

Make nixd module completion to work anywhere (with Flakes)
4 Aug 2024 | original ↗

If you want the TL;DR, go to the bottom of the post (search for "final result"). I recently switched from nil to nixd as my LSP of choice for Nix. I was curious in nixd for a long time since the fact that it can eval Nix code means it can offer much more powerful completion than the nil's static analysis, however it used to be difficult to setup....

Troubleshooting: ZSH lag and solutions with Nix
1 Aug 2024 | original ↗

Inspired by this blog post from Tavis, I decided to document my own recent journey of reducing terminal (ZSH) lag startup. This post is way less interesting than the one from Tavis that uses a debugger to patch applications on the fly, but should still be interesting for some. And it also shows how powerful Nix can be for some things. For...

Quick bits: realise Nix symlinks
1 Aug 2024 | original ↗

When you are using Nix, especially with Home-Manager, there are times when you want to test something or maybe debug some issue in your configuration. Those times it would be really convenient if you could avoid a rebuild of your Home-Manager configuration, since this takes time until evaluation and activation. For those times I have this small...

Troubleshooting: ZSH lag and solutions with Nix
1 Aug 2024 | original ↗

Inspired by this blog post from Tavis, I decided to document my own recent journey of reducing terminal (ZSH) lag startup. This post is way less interesting than the one from Tavis that uses a debugger to patch applications on the fly, but should still be interesting for some. And it also shows how powerful Nix can be for some things. For...

Quick bits: realise Nix symlinks
1 Aug 2024 | original ↗

When you are using Nix, especially with Home-Manager, there are times when you want to test something or maybe debug some issue in your configuration. Those times it would be really convenient if you could avoid a rebuild of your Home-Manager configuration, since this takes time until evaluation and activation. For those times I have this small...

Generating YAML files with Nix
31 Jul 2024 | original ↗

I hate YAML. Instead of writing an essay on why I hate YAML, I can just link to noyaml.com. In my personal projects I will never use it, preferring either JSON, TOML or even plain old INI files depending on the use case. However the ship has sailed already, there are tons of projects everywhere that uses YAML: from most CI systems (GitHub...

Generating YAML files with Nix
31 Jul 2024 | original ↗

I hate YAML. Instead of writing an essay on why I hate YAML, I can just link to noyaml.com. In my personal projects I will never use it, preferring either JSON, TOML or even plain old INI files depending on the use case. However the ship has sailed already, there are tons of projects everywhere that uses YAML: from most CI systems (GitHub...

First impressions: FPGBC
30 Jul 2024 | original ↗

Here is something for nostalgia: I just put together a Game Boy Color made of completely new parts for a friend: here is the FPGBC. The FP part of the name comes from FPGA, because instead of software emulation this device use FPGA to reproduce the device. While I am not convinced that FPGA is necessary more accurate than a good software...

First impressions: FPGBC
30 Jul 2024 | original ↗

Here is something for nostalgia: I just put together a Game Boy Color made of completely new parts for a friend: here is the FPGBC. The FP part of the name comes from FPGA, because instead of software emulation this device use FPGA to reproduce the device. While I am not convinced that FPGA is necessary more accurate than a good software...

Quick bits: why you should automate everything
29 Jul 2024 | original ↗

If everything works as expected this blog post should appear in in my blog without I ever touching the capivaras.dev website. I rewrote my previous Python script to Go (permalink) since my attempt to generate proper description to the RSS feed resulted in slow startup times (not because of Python, but because of my usage of nix-shell since I...

Go, a reasonable good language
29 Jul 2024 | original ↗

Go was one of the languages that I always was interested to learn, but never got the hang of it. I first got interested in the language when I was in my first job, between 2016-2018. At the time the language was a completely different beast: no modules, no generics, no easy way to error wrap yet, etc. Go forward 2023 (no pun indented), I wrote my...

Quick bits: why you should automate everything
29 Jul 2024 | original ↗

If everything works as expected this blog post should appear in in my blog without I ever touching the capivaras.dev website. I rewrote my previous Python script to Go (permalink) since my attempt to generate proper description to the RSS feed resulted in slow startup times (not because of Python, but because of my usage of nix-shell since I...

Go, a reasonable good language
29 Jul 2024 | original ↗

Go was one of the languages that I always was interested to learn, but never got the hang of it. I first got interested in the language when I was in my first job, between 2016-2018. At the time the language was a completely different beast: no modules, no generics, no easy way to error wrap yet, etc. Go forward 2023 (no pun indented), I wrote my...

Quick bits: nix-shell is cursed
27 Jul 2024 | original ↗

The other day I had to run a PHP project in my machine. I have no idea how PHP ecosystem work, I just wanted to get it to run. The easiest way to get a script to run if you use Nix is to use nix-shell. As many of you probably know, you can add nix-shell as a shebang in your scripts to run them as ./script. This was a PHP script so I wanted to do...

Quick bits: nix-shell is cursed
27 Jul 2024 | original ↗

The other day I had to run a PHP project in my machine. I have no idea how PHP ecosystem work, I just wanted to get it to run. The easiest way to get a script to run if you use Nix is to use nix-shell. As many of you probably know, you can add nix-shell as a shebang in your scripts to run them as ./script. This was a PHP script so I wanted to do...

Using GitHub as a (bad) blog platform
26 Jul 2024 | original ↗

I finally started a new blog, thanks to the offer of @ratsclub to give me free access to capivaras.dev. But considering how small this blog platform is supposed to be, I want to have at least somewhere to have a backup of my posts. I know Mataroa, the blog platform that capivaras.dev runs, has automatic e-mail backups, but I want something more...

Writing NixOS tests for fun and profit
26 Jul 2024 | original ↗

I recently started a new side project writing an IPC library in Go for Hyprland, a Window Manager for Wayland. Once I got past the Work-in-Progress phase, I realise I had an issue: I wrote some tests, but I was running then inside my system running Hyprland. And the tests themselves were annoying: since they send commands to the current running...

Using GitHub as a (bad) blog platform
26 Jul 2024 | original ↗

I finally started a new blog, thanks to the offer of @ratsclub to give me free access to capivaras.dev. But considering how small this blog platform is supposed to be, I want to have at least somewhere to have a backup of my posts. I know Mataroa, the blog platform that capivaras.dev runs, has automatic e-mail backups, but I want something more...

Writing NixOS tests for fun and profit
26 Jul 2024 | original ↗

I recently started a new side project writing an IPC library in Go for Hyprland, a Window Manager for Wayland. Once I got past the Work-in-Progress phase, I realise I had an issue: I wrote some tests, but I was running then inside my system running Hyprland. And the tests themselves were annoying: since they send commands to the current running...

↑ these items are from RSS. Visit the blog itself at https://kokada.capivaras.dev/ to find other articles and to appreciate the author's digital home.