Kevin K's BlogMusings of programming TexanZola2024-02-03T00:00:00+00:00https://kbknapp.dev/atom.xmlConfiguration Tetris2024-02-03T00:00:00+00:002024-02-03T00:00:00+00:00
Unknown
https://kbknapp.dev/config-tetris/<p>Thoughts on best practices when when building a configurable application.</p>
CLI Structure in Rust - Part 52023-12-27T00:00:00+00:002023-12-27T00:00:00+00:00
Unknown
https://kbknapp.dev/cli-structure-05/<p>In Part 5 we update our trait to work with Derive based CLIs and discuss the
tradeoffs in doing so.</p>
CLI Structure in Rust - Part 42023-12-26T00:00:00+00:002023-12-26T00:00:00+00:00
Unknown
https://kbknapp.dev/cli-structure-04/<p>In Part 4 of this series we go back to the beginning and look at Derive based
CLIs, and how we can structure our program with the tradeoffs that a Derive
based CLI brings.</p>
CLI Structure in Rust - Part 32023-12-22T00:00:00+00:002023-12-22T00:00:00+00:00
Unknown
https://kbknapp.dev/cli-structure-03/<p>In Part 3 of this series we define a trait to help control the chaos and
enforce some structure on our CLI programs.</p>
CLI Structure in Rust - Part 22023-12-20T00:00:00+00:002023-12-20T00:00:00+00:00
Unknown
https://kbknapp.dev/cli-structure-02/<p>In Part 2 we dive into some actual code to see what it would look like to use
these patterns for CLIs that utilize the <code>clap</code> Builder method.</p>
CLI Structure in Rust2023-12-19T00:00:00+00:002023-12-19T00:00:00+00:00
Unknown
https://kbknapp.dev/cli-structure-01/<p>How should one structure their CLI programs? I've seen this question a few
times, and over the years I've come up with some patterns that I really like.
This post explores the variations of these patterns and trade-offs between
them.</p>
Generically Bloated2023-02-05T00:00:00+00:002023-02-05T00:00:00+00:00
Unknown
https://kbknapp.dev/generically-bloated/<p>Rust generics are great, but they can bloat the final code, and have negative
effects on compile times. This post discusses a "trick" to help fight those
effects.</p>
Network Coordinates and Vivaldi2022-11-26T00:00:00+00:002022-11-26T00:00:00+00:00
Unknown
https://kbknapp.dev/network-coordinates/<p>Imagine you have a distributed system and need to answer a question such as,
"Which node is closest to Node X?" or perhaps "Which N nodes are closest to
Node Y?"</p>
<p>It turns out answering this question naively is <em>wildly</em> wasteful.</p>
<p>We'll dig in to an efficient solution to this problem correctly using a popular
Network Coordinates system.</p>
strace with Navi2021-04-05T00:00:00+00:002021-04-05T00:00:00+00:00
Unknown
https://kbknapp.dev/strace-navi/<p>Diving into <code>navi</code> as an interactive command builder, and using <code>strace</code> as a
demo for concise cheat sheet!</p>
My Shell Setup2021-04-02T00:00:00+00:002021-04-02T00:00:00+00:00
Unknown
https://kbknapp.dev/shell-setup/<p>Details a few steps I take to make my terminal experience a little more
pleasant.</p>
CLI Shell Completions in Rust2021-01-08T00:00:00+00:002021-01-08T00:00:00+00:00
Unknown
https://kbknapp.dev/shell-completions/<p>Taking a look at adding shell completions to CLI programs using Rust. </p>
<p>In this post we add shell completions to the XKCD CLI utility <a href="../rust-cli/index.html">we made earlier</a>.
We'll show how easy it is to support multiple shells, and generate the
completions both at compile time and/or run time.</p>
eBPF and Rust (Part 4)2020-12-28T00:00:00+00:002020-12-28T00:00:00+00:00
Unknown
https://kbknapp.dev/ebpf-part-iv/<p>This is a multi-part series on my adventure into eBPF with Rust.</p>
<p>In part 4 do a deep dive into the current implementation of <code>redbpf-probes</code>
networking code in order to mark areas we want to look at for improvement.</p>
eBPF and Rust (Part 3)2020-12-17T00:00:00+00:002020-12-17T00:00:00+00:00
Unknown
https://kbknapp.dev/ebpf-part-iii/<p>This is a multi-part series on my adventure into eBPF with Rust.</p>
<p>In part 3 we look at current state of eBPF networking in Rust and what it would
look like to solve our Part 1 problem.</p>
eBPF and Rust (Part 2)2020-12-14T00:00:00+00:002020-12-14T00:00:00+00:00
Unknown
https://kbknapp.dev/ebpf-part-ii/<p>This is a multi-part series on my adventure into eBPF with Rust.</p>
<p>In Part 2 we go over the guide I wish I'd had before diving into eBPF.</p>
eBPF and Rust (Part 1)2020-12-13T00:00:00+00:002020-12-13T00:00:00+00:00
Unknown
https://kbknapp.dev/ebpf-part-i/<p>This is a multi-part series on my adventure into eBPF with Rust.</p>
<p>Part 1 details the problem set encountered that led to researching eBPF and what
we actually being trying to solve as our example problem throughout the series.</p>
Diving into Rust with a CLI2020-05-28T00:00:00+00:002020-05-28T00:00:00+00:00
Unknown
https://kbknapp.dev/rust-cli/<p>A blog post titled, <a href="https://eryb.space/2020/05/27/diving-into-go-by-building-a-cli-application.html">"Diving into Go by Building a CLI
Application"</a>
has been making it's rounds of the internet. It uses a small
<a href="https://xkcd.com/">XKCD</a> downloader as the subject. I thought was small and
self contained enough, that it'd be interesting to see the same example in Rust!</p>
Micro-blogging2020-01-28T00:00:00+00:002020-01-28T00:00:00+00:00
Unknown
https://kbknapp.dev/micro-blogging/<p>In an attempt to get more words on paper I'm going to attempt to microblog.</p>
clap v3 Update: No More Strings2019-03-08T00:00:00+00:002019-03-08T00:00:00+00:00
Unknown
https://kbknapp.dev/clap-v3-update-no-more-strings/<p>This is the second post in a series detailing the issues, progress, and design decisions used in <code>clap</code> v3. This post details removing the "stringly typed" nature of <code>clap</code>.</p>
clap v3 Update: Structopt2019-03-08T00:00:00+00:002019-03-08T00:00:00+00:00
Unknown
https://kbknapp.dev/clap-v3-update-structopt/<p>I want to put out some notes on why clap v3 is taking so long. I'd also like to spell out what exactly I've been doing over the past few months and why there hasn't appeared to be much progress publicly.</p>
First Post2018-11-26T00:00:00+00:002018-11-26T00:00:00+00:00
Unknown
https://kbknapp.dev/first-post/<p>This site represents something I've been meaning to do quite some time; write out my thoughts on various subjects. I plan on writing about my work in <a href="https://rust-lang.org">Rust</a>, most likely on projects like <a href="https://clap.rs"><code>clap</code></a>, but also some personal thoughts on the happenings of the greater tech industry.</p>