Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 51
  1. Parameter-efficient fine-tuning in tinygrad Home Parameter-efficient fine-tuning in tinygrad Parameter-efficient fine-tuning (PEFT) is a family of techniques used to adapt LLMs (along with other types of large models) to specific tasks or datasets.

  2. Nix dependency tree

    Nix dependency tree Home Nix dependency tree This tip is so useful to me but simultaneously so hard to find that I’m going to dedicate an entire entry to it.

  3. Flaky tests, or: why not to ignore mysteries Home Flaky tests, or: why not to ignore mysteries I spent a few weeks earlier this year tracking down a set of flaky end-to-end tests where bpftrace would occasionally cease to print output.

  4. Application blackbox

    Application blackbox Home Application blackbox In aviation, a “black box” is the colloquial term for the flight recorder, a device that records the recent history of a flight.

  5. Big strings in bpftrace Home Big strings in bpftrace If you’ve ever written BPF code you’ve probably run into the limits of the BPF programming model. bpftrace, a high level tracing language built on BPF, does its best to hide these limits – usually throu…

  6. Reading local variables with bpftrace Home Reading local variables with bpftrace Most tracers are designed around functions.

  7. errno and libc

    errno and libc Home errno and libc A few weeks ago I wanted to confirm if errno was a libc abstraction or a kernel feature.

  8. Innovative –help messages Home Innovative –help messages Last week I heard about how Google Gemini was offering a very generous free tier on their API.

  9. Pull request review: still files!

  10. Kernel IPIs

    Kernel IPIs Home Kernel IPIs An inter-processor interrupt (IPI) is a way for one processor to signal to another processor that some work needs to be done.

  11. Packet drop reasons

    Packet drop reasons Home Packet drop reasons Figuring out why the kernel is dropping packets can be challenging.

  12. Truthiness in C

    Truthiness in C Home Truthiness in C This week someone mentioned that C supports casting from int to bool.

  13. AppImage explosions

    AppImage explosions Home AppImage explosions In a previous post, I detailed how bpftrace’s CI was reworked to use Nix.

  14. Revamping bpftrace’s CI with Nix Home Revamping bpftrace’s CI with Nix I’ve been rewriting the bpftrace CI on-and-off the past few months.

  15. bpfilter is forever

    bpfilter is forever Home bpfilter is forever This week it was brought to my attention that bpfilter might be delaying our kernel boot sequence.

  16. Kernel string overcopying Home Kernel string overcopying While on a long roadtrip the past weekend, I somehow remembered one of the fun bugs I fixed in the kernel a couple years ago.

  17. Sudo and signal propagation Home Sudo and signal propagation This week I spent some time debugging a curious case where signals were not being delivered to a sudo’ed process.

  18. The case for a community maintained BPF book Home The case for a community maintained BPF book It’s widely accepted that it’s hard to get started with eBPF (BPF).

  19. vmtest: Run your tests in virtual machines Home vmtest: Run your tests in virtual machines Motivation Systems software that depend on specific kernel or host properties often contains logic to gate functionality based on what features are available at run…

  20. Not so perfect forwarding Home Not so perfect forwarding Consider the following C++ structs: struct Foo { char b; int a; } __attribute__((packed)); struct Bar { Bar(int a) {} }; Now consider the following code: #include <memory> int main() { Foo…

  21. Visualizing below using Grafana Home Visualizing below using Grafana The fancy way to describe below is “a time traveling resource monitor for modern Linux systems”.

  22. Generating kernel patchsets Home Generating kernel patchsets Background The Linux kernel famously has an email workflow.

  23. 3D modeling with OpenSCAD Home 3D modeling with OpenSCAD The Boring Background A few months ago I got tired of commuting to the local hacker space so I bought a cheap 3D printer to use at home.

  24. File capabilities and /proc/<pid> Home File capabilities and /proc/<pid> I’ve spent the past few evenings staring at a rather interesting kernel “bug”.

  25. BPF and go pprof

    BPF and go pprof Home BPF and go pprof Earlier this week I was made aware of what appeared to be an infinite loop in the in-kernel BPF verifier.

  26. Pull request review (prr) Home Pull request review (prr) Last month I developed a new tool that brings mailing-list style code reviews to github.

  27. Rewriting clipd

    Rewriting clipd Home Rewriting clipd clipd is a distributed clipboard I wrote back in 2017.

  28. Ahead-Of-Time compiled bpftrace programs Home Ahead-Of-Time compiled bpftrace programs This page serves as a design document for bpftrace AOT compilation support.

  29. DWARF stack walks and fast symbolization for BPF Home DWARF stack walks and fast symbolization for BPF 10/12/21 update: I have no immediate plans to work on this b/c I’ve recently switched jobs.

  30. Debug

    Debug Home Debug This page is used for debugging.

  31. Switching to Caddy

    Switching to Caddy Home Switching to Caddy I decided to upgrade my ancient Fedora 25 VPS to Fedora 33 this weekend.

  32. C++ patterns: static registration Home C++ patterns: static registration Plugin architectures are useful: it’s hard to predict future needs in the present.

  33. libbpf-rs: eBPF for the Rust ecosystem Home libbpf-rs: eBPF for the Rust ecosystem Summary libbpf-rs provides safe Rust bindings to libbpf as well as a cargo plugin to help you develop “Compile Once - Run Everywhere” eBPF applications.

  34. Understanding btrfs internals part 4 Home Understanding btrfs internals part 4 This is the fourth of a multipart series that explains the basics of btrfs’s on-disk format.

  35. Understanding btrfs internals part 5 Home Understanding btrfs internals part 5 This is the fifth and final part of a multipart series that explains the basics of btrfs’s on-disk format.

  36. Understanding btrfs internals part 3 Home Understanding btrfs internals part 3 This is the third of a multipart series that explains the basics of btrfs’s on-disk format.

  37. Understanding btrfs internals part 2 Home Understanding btrfs internals part 2 This is the second of a multipart series that explains the basics of btrfs’s on-disk format.

  38. Waiting on process exit Home Waiting on process exit How does a process wait for another process to exit?

  39. On writing unmaintainable code Home On writing unmaintainable code The internet’s beaten to death the concept of legacy code, unmaintainable code, bad code, and insert-word-here-code.

  40. Setting up a barebones website Home Setting up a barebones website I had a very specific workflow in mind when I set out to host a website.

  41. Understanding btrfs internals Home Understanding btrfs internals This is the first of a multipart series that explains the basics of btrfs’s on-disk format.

  42. GDB hacking part 2

    GDB hacking part 2 Home GDB hacking part 2 One of the issues I’ve had with GDB is reliably building the code.

  43. Playing with C++ templates Home Playing with C++ templates Last week I found myself quite sick.

  44. GDB hacking

    GDB hacking Home GDB hacking This past weekend I spent some time hacking on GDB where the overall goal was to improve rust debugging support.

  45. /proc/[pid] and the missing threads Home /proc/[pid] and the missing threads Suppose you run the following program: use std::time; use std::thread; fn main() { println!

  46. Comparing interned strings Home Comparing interned strings C/C++ has this interesting property where if you define a string literal, the compiler will make sure to only keep one copy of it.

  47. std::vector and emplace_back Home std::vector and emplace_back There are some interesting bits about the C++ runtime.

  48. systemd and sd_notify(3) Home systemd and sd_notify(3) A little bit of background first: I’ve been spending a lot of time recently mucking around with systemd and its process management features.

  49. Creating a basic Linux kernel development setup Home Creating a basic Linux kernel development setup Linux kernel development is something I’ve been wanting to get into for a long time now.

  50. Tracking down a race condition in the Apache Trafficserver logging subsystem Home Tracking down a race condition in the Apache Trafficserver logging subsystem TODO: make this post more coherent Lately at work, I’ve been tracking down a log corruption issue