• Sign in
  • Sign up
Elektrine
EN
  • EN English
  • 中 中文
Log in Register
Modes
Overview Search Chat Timeline Communities Gallery Lists Friends Email Vault VPN
Back to Timeline
  • Open on infosec.exchange

Kevin McDonald

@sudorandom@infosec.exchange
mastodon 4.6.0-alpha.5+glitch

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰


https://kmcd.dev

0 Followers
0 Following
Joined November 07, 2022
Languages:
English, Danish (beginner)
Interests:
programming, doing weird things with data, video games, board games
Website:
https://kmcd.dev

Posts

sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · 2d ago

📆 Daily Prompt [2026-03-18]: If you could `grep` your own memories, what pattern would you search for first?

https://kmcd.dev/prompts/2026-03-18/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · 3d ago

📆 Daily Prompt [2026-03-17]: What is the best variable name for a loop counter that isn't `i`?

https://kmcd.dev/prompts/2026-03-17/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · 4d ago

🪧 IRC Log: Standup 2: The team attempts another text-based standup, this time with management present. It goes significantly worse than the first one.
https://kmcd.dev/posts/irc-log-standup-2/
#Humor #Irc #Engineering #Standup

View on infosec.exchange
0
0
1
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · 4d ago

📆 Daily Prompt [2026-03-16]: Which fictional computer system would you most like to use?

https://kmcd.dev/prompts/2026-03-16/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · 5d ago

📆 Daily Prompt [2026-03-15]: What is the 'Y2K bug' of the next decade?

https://kmcd.dev/prompts/2026-03-15/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · 6d ago

📆 Daily Prompt [2026-03-14]: If you could replace your inner monologue with a CLI, which shell would it be?

https://kmcd.dev/prompts/2026-03-14/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 13, 2026

📆 Daily Prompt [2026-03-13]: What is the most creative way you have seen someone misuse a spreadsheet?

https://kmcd.dev/prompts/2026-03-13/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
2
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 12, 2026

Rust takes SO LONG to compile. I'm so spoiled in go

View on infosec.exchange
0
0
0
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 12, 2026

📆 Daily Prompt [2026-03-12]: How do you name your private repos?

https://kmcd.dev/prompts/2026-03-12/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 11, 2026

Okay, that's a wrap on the HTTP/2 section of my HTTP From Scratch series.

I've always found that the best way to learn a protocol is to build it from the ground up. In these posts, we stop using high-level abstractions and write an implementation in Go to see how things actually work under the hood.

I walk through the very start of negotiating for HTTP/2 during the TLS handshake, moving into the binary framing structure that all HTTP/2 messages use. From there, we get into outputting and parsing each message type and finally adapting it all to the standard http.Request and http.Response structs.

If you enjoy doing a depth-first search into networking and Internet infrastructure, you might like following along with this series:

Part 1: https://kmcd.dev/posts/http2-from-scratch-part-1/
Part 2: https://kmcd.dev/posts/http2-from-scratch-part-2/
Part 3: https://kmcd.dev/posts/http2-from-scratch-part-3/
Part 4: https://kmcd.dev/posts/http2-from-scratch-part-4/

At some point, I'll get around to doing QUIC and then HTTP/3! Stay tuned!

View on infosec.exchange
0
0
0
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 11, 2026

I realized I should talk about some of my side projects more often. So today, let's look at FauxRPC.

If you are doing protobuf-heavy development, you usually want a way to test against a server without spinning up the entire backend. This is a giant (but under-utilized) strength of schema-first API development.

The idea behind FauxRPC is that you can point it at your protobuf files, protobuf descriptors, or a Buf BSR repo, and suddenly you have a mocked server implementation.

By default, it returns generated fake data for all of your RPCs. To make things more realistic, it uses hints from protovalidate and other annotations to shape the data it returns.

If you need specific scenarios, you can also feed it API stubs to return exact data and use CEL expressions to control how it all behaves.

https://fauxrpc.com/

View on infosec.exchange
0
0
0
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 11, 2026

🪧 HTTP/2 From Scratch: Part 4: More HPACK and using http.Request and http.Response
https://kmcd.dev/posts/http2-from-scratch-part-4/
#Go #Http2 #Protocols #Networking

View on infosec.exchange
0
0
0
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 11, 2026

📆 Daily Prompt [2026-03-11]: What is a piece of hardware you are nostalgic for?

https://kmcd.dev/prompts/2026-03-11/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 10, 2026

📆 Daily Prompt [2026-03-10]: If you could fork the internet, what is the first change you'd make?

https://kmcd.dev/prompts/2026-03-10/
#Dailyprompt #writing #softwareengineering

View on infosec.exchange
0
0
3
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 10, 2026

Now may finally be the time that I learn rust so that I can do a rewrite of a project using bgpkit. I didn't realize how much I was duplicating work done by others... but I learned a TON by integrating directly with data sources to build a picture.

View on infosec.exchange
0
0
0
0
sudorandom
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
Kevin McDonald
Kevin McDonald
@sudorandom@infosec.exchange

Software Engineer. I post about backend programming, and nonsense. 
🇺🇸 living in 🇩🇰
 https:// kmcd.dev

infosec.exchange
@sudorandom@infosec.exchange · Mar 02, 2026

Most of us only notice the Internet when it breaks. But under the hood, thousands of routers are constantly negotiating paths to keep things running.

I wanted to visualize this chaos, so I built a live map of the Border Gateway Protocol (BGP). I even included a "BGP Anomalies" dashboard, which has essentially become a real-time networking wall of shame. Just cross your fingers you don't see your own AS number sitting at the top of the list!

To handle the sheer volume of data (BGP updates can easily peak at over 30,000 events per second), I built a centralized engine in Go and used Ebitengine for hardware-accelerated 2D rendering. The backend processes the raw RIPE RIS stream, classifies the events into four severity tiers, and broadcasts a smooth 30 FPS render 24/7 to YouTube.

This map highlights exactly what the network is doing:
🔴 Route leaks and outages
🟠 Volatile links and BGP "babbling"
🟣 Routers "hunting" for backup paths
🔵 Routine network discovery

It has been incredibly rewarding to turn raw routing data into a relaxing, lofi experience. You can actually watch the Internet heal itself in real time when a connection drops.

Check out the live map: http://livemap.kmcd.dev
Read the full technical breakdown: https://kmcd.dev/posts/live-internet-map/

#GoLang #Networking #BGP #SoftwareEngineering #DataViz #Infrastructure

View on infosec.exchange
7
0
5
0
313k7r1n3

Company

  • About
  • Contact
  • FAQ

Legal

  • Terms of Service
  • Privacy Policy
  • VPN Policy

Email Settings

IMAP: imap.elektrine.com:993

POP3: pop.elektrine.com:995

SMTP: smtp.elektrine.com:465

SSL/TLS required

Support

  • support@elektrine.com
  • Report Security Issue

Connect

Tor Hidden Service

khav7sdajxu6om3arvglevskg2vwuy7luyjcwfwg6xnkd7qtskr2vhad.onion
© 2026 Elektrine. All rights reserved. • Server: 21:07:46 UTC