From f2315a58fdaaa20c9e1300399ea8d528c80e2cc6 Mon Sep 17 00:00:00 2001 From: Kumar Damani Date: Tue, 28 Jul 2026 23:09:22 -0400 Subject: new post, and few updates --- index.typ | 3 + main.typ | 5 ++ post/a-rack-finally.typ | 99 +++++++++++++++++++++++++ post/a-rack-finally/24hlater.png | Bin 0 -> 1105465 bytes post/a-rack-finally/annotated.png | Bin 0 -> 698589 bytes post/a-rack-finally/final.jpg | Bin 0 -> 766677 bytes post/a-rack-finally/powering-on.jpg | Bin 0 -> 635529 bytes post/a-rack-finally/rack-rails.jpg | Bin 0 -> 853580 bytes post/a-rack-finally/rack.jpg | Bin 0 -> 717985 bytes post/a-rack-finally/rear-view.jpg | Bin 0 -> 605892 bytes post/a-rack-finally/side-vew.jpg | Bin 0 -> 703315 bytes post/a-rack-finally/survived.png | Bin 0 -> 205740 bytes post/a-rack-finally/switch-and-patch-panel.jpg | Bin 0 -> 633606 bytes post/a-rack-finally/switch-reset.jpg | Bin 0 -> 675291 bytes post/a-rack-finally/tldr.png | Bin 0 -> 1248163 bytes post/programs.typ | 36 ++++----- site.typ | 7 ++ software.typ | 53 ++++--------- 18 files changed, 144 insertions(+), 59 deletions(-) create mode 100644 post/a-rack-finally.typ create mode 100644 post/a-rack-finally/24hlater.png create mode 100644 post/a-rack-finally/annotated.png create mode 100644 post/a-rack-finally/final.jpg create mode 100644 post/a-rack-finally/powering-on.jpg create mode 100644 post/a-rack-finally/rack-rails.jpg create mode 100644 post/a-rack-finally/rack.jpg create mode 100644 post/a-rack-finally/rear-view.jpg create mode 100644 post/a-rack-finally/side-vew.jpg create mode 100644 post/a-rack-finally/survived.png create mode 100644 post/a-rack-finally/switch-and-patch-panel.jpg create mode 100644 post/a-rack-finally/switch-reset.jpg create mode 100644 post/a-rack-finally/tldr.png diff --git a/index.typ b/index.typ index 2fb5b2f..1cf7e27 100644 --- a/index.typ +++ b/index.typ @@ -7,6 +7,7 @@ linguistics enjoyer, social media hater, disciple of the contrarian stack. Posts I have written, newest first: +- #pageref("post/a-rack-finally") - #pageref("post/framework-server-p2") - #pageref("post/nas-upgrade") - #pageref("post/listing-my-fav-advice") @@ -15,4 +16,6 @@ Posts I have written, newest first: - #pageref("post/programming-as-art") - #pageref("post/self-host") - #pageref("post/programs") + +The #pagelink("software")[Software] page lists some of my projects. ] diff --git a/main.typ b/main.typ index 1ed62ff..a7f470a 100644 --- a/main.typ +++ b/main.typ @@ -9,6 +9,7 @@ #import "/software.typ" as software-page #import "/contact.typ" as contact-page +#import "/post/a-rack-finally.typ" as a-rack-finally #import "/post/framework-server-p2.typ" as post-framework-server-p2 #import "/post/nas-upgrade.typ" as post-nas-upgrade #import "/post/listing-my-fav-advice.typ" as post-listing-my-fav-advice @@ -32,6 +33,10 @@ #page("contact", site-info, contact-page.doc) ] +#document("post/a-rack-finally.html", title: title-for("post/a-rack-finally"))[ + #post-page("post/a-rack-finally", site-info, a-rack-finally.doc) +] + #document("post/framework-server-p2.html", title: title-for("post/framework-server-p2"))[ #post-page("post/framework-server-p2", site-info, post-framework-server-p2.doc) ] diff --git a/post/a-rack-finally.typ b/post/a-rack-finally.typ new file mode 100644 index 0000000..8cbf084 --- /dev/null +++ b/post/a-rack-finally.typ @@ -0,0 +1,99 @@ +#import "/global/common.typ": * + +#let doc = [ +Migrating my home-lab to a more permanent home. + += tldr; + +#fig("a-rack-finally/tldr.png", alt: "before and after pic") + +Mostly. + += motivation + +This is what we are working with. It's a "rack" split into +two...lets be generous and call it _zones_. +If you squint hard-enough you can make out a chair that has the first +zone, and that shoe-rack houses the second zone. + +#quote(block: true)[ +context: When I lived in a tiny apartment, the shoe-rack was the whole thing. +Once I moved to a larger space, naturally, I expanded. Unfortunately a worn-out +chair was all that was left of my budget at the time :) +] + +#fig("a-rack-finally/annotated.png", alt: "all my equipment annotated") + ++ See that NAS up there? It came with rack-rails. Sure would be nice + to use them so that I don't have to take eveything above it off every time + I need to get into my NAS. + ++ I have 24P PoE switch sitting in box that I have no desire + to introduce to this mess. Would be nice to use it to try out some home + security camera stuff (also out of my budget). + ++ It's an eye-sore. Literally, every time I venture into my basement, I think to + myself: _got to fix that!_ + += build + +So I picked up this 9U adjustable-depth rack, with two rack-shelves and casters from ebay +for around a \$100. +Though technically possible, it's a PITA to adjust. +Would not recommend doing it more than once. + +I adjusted it to fit the length of my rack-rails kit for my NAS. +Fortunately, this length gives me _just_ enough clearance to rack +mount two rack-shelves back-to-back. More on this later. + +#quote(block: true)[ + I had already measured my stuff prior to purchasing the rack. +] + +#fig("a-rack-finally/rack.jpg", alt: "my new rack assembled") + +Its cheap, but sturdy enough once assembled. It will do the job for now. + += lift & shift + +First things to go in are the patch-panel and my new (to me) +Brocade switch. + +#fig("a-rack-finally/switch-and-patch-panel.jpg", alt: "switch and patch panel in") + +After some wrangling with the console port, I got it configured. + +#fig("a-rack-finally/switch-reset.jpg", alt: "console into switch from laptop") + +My rack rails in action. + +#fig("a-rack-finally/rack-rails.jpg", alt: "sliding in the NAS on the rack rails") + +And the rest of the crap. + +Hopefully, now you can see why I needed those shelves to fit back-to-back... + +#fig("a-rack-finally/side-vew.jpg", alt: "side view of the rack to show the shelves.") + +Still kind of a mess, but less of an eye-sore? + +#fig("a-rack-finally/rear-view.jpg", alt: "rearview of the rack to show the shelves.") + +In hindsight, I probably should've gone with a 15U :) + += final + +Ended the day with this. + +#fig("a-rack-finally/final.jpg", alt: "final rack at the end of the day") + +Checking back the next day...things were normal since the big shift. +Yay we survived! + +#fig("a-rack-finally/survived.png", alt: "grafana metics") + +And...oh well. + +#fig("a-rack-finally/24hlater.png", alt: "final final") + +] diff --git a/post/a-rack-finally/24hlater.png b/post/a-rack-finally/24hlater.png new file mode 100644 index 0000000..393c550 Binary files /dev/null and b/post/a-rack-finally/24hlater.png differ diff --git a/post/a-rack-finally/annotated.png b/post/a-rack-finally/annotated.png new file mode 100644 index 0000000..e3ecc28 Binary files /dev/null and b/post/a-rack-finally/annotated.png differ diff --git a/post/a-rack-finally/final.jpg b/post/a-rack-finally/final.jpg new file mode 100644 index 0000000..2366a1c Binary files /dev/null and b/post/a-rack-finally/final.jpg differ diff --git a/post/a-rack-finally/powering-on.jpg b/post/a-rack-finally/powering-on.jpg new file mode 100644 index 0000000..2872e7f Binary files /dev/null and b/post/a-rack-finally/powering-on.jpg differ diff --git a/post/a-rack-finally/rack-rails.jpg b/post/a-rack-finally/rack-rails.jpg new file mode 100644 index 0000000..b951ea5 Binary files /dev/null and b/post/a-rack-finally/rack-rails.jpg differ diff --git a/post/a-rack-finally/rack.jpg b/post/a-rack-finally/rack.jpg new file mode 100644 index 0000000..afb86b2 Binary files /dev/null and b/post/a-rack-finally/rack.jpg differ diff --git a/post/a-rack-finally/rear-view.jpg b/post/a-rack-finally/rear-view.jpg new file mode 100644 index 0000000..9912dda Binary files /dev/null and b/post/a-rack-finally/rear-view.jpg differ diff --git a/post/a-rack-finally/side-vew.jpg b/post/a-rack-finally/side-vew.jpg new file mode 100644 index 0000000..c65aa81 Binary files /dev/null and b/post/a-rack-finally/side-vew.jpg differ diff --git a/post/a-rack-finally/survived.png b/post/a-rack-finally/survived.png new file mode 100644 index 0000000..ac85cca Binary files /dev/null and b/post/a-rack-finally/survived.png differ diff --git a/post/a-rack-finally/switch-and-patch-panel.jpg b/post/a-rack-finally/switch-and-patch-panel.jpg new file mode 100644 index 0000000..f2a4480 Binary files /dev/null and b/post/a-rack-finally/switch-and-patch-panel.jpg differ diff --git a/post/a-rack-finally/switch-reset.jpg b/post/a-rack-finally/switch-reset.jpg new file mode 100644 index 0000000..d71e522 Binary files /dev/null and b/post/a-rack-finally/switch-reset.jpg differ diff --git a/post/a-rack-finally/tldr.png b/post/a-rack-finally/tldr.png new file mode 100644 index 0000000..0322a34 Binary files /dev/null and b/post/a-rack-finally/tldr.png differ diff --git a/post/programs.typ b/post/programs.typ index fb675f7..68f15ea 100644 --- a/post/programs.typ +++ b/post/programs.typ @@ -16,7 +16,7 @@ fact with much consternation) or looking at maps. == Software I Use -=== OS Distribution +=== OS Distribution - Server #extlink("https://nixos.org/")[NixOS]. NixOS is an immutable OS where you are only allowed to modify the system via declarative config files. @@ -28,38 +28,34 @@ I did like Debian, and Fedora as well. You can find my configs #extlink("https://gitlab.com/kdam0/dotfiles-nix")[here]. There is a dedicated #pagelink("post/nixos-p1")[post] about this. -=== Desktop Environment +=== OS Distribution - Desktop/Laptop -I've settled on #extlink("https://github.com/djpohly/dwl")[DWL] after many -years of hopping. Its clean, functional, and extremely light. +Fedora. -Prior to this, I've used Bsmpw + Sxhkd, i3, Gnome, KDE Plasma etc. I'm glad -these exist and people get use out of it, but for now I do not miss it. -#fig("programs/dwl.png", alt: "DWL") +=== OS Distribution - Mobile -=== Text Editor +GrapheneOS. -#extlink("https://neovim.io/")[(neo)vim]. Less of a text editor and more of a -lifestyle. Check out my dotfiles for this. No, I'm not going to ever switch to -emacs. +=== Desktop Environment -#fig("https://neovim.io/images/showcase/telescope_helptags.png", alt: "Neovim") +Gnome. It's fine. + +=== Text Editor + +#extlink("https://helix-editor.com/")[Helix]. +Think of it like batteries included (neo)vim. +No, I'm not going to ever switch to emacs. === Web Browser #extlink("https://www.mozilla.org/en-US/firefox/features/")[Firefox] / -#extlink("https://brave.com")[Brave] / -#extlink("https://vivaldi.com")[Vivaldi]. I have tried Chromium, Qutebrowser in -the past. +#extlink("https://helium.computer/")[Helium] / the past. === File Manager -#extlink("https://github.com/ranger/ranger")[ranger]. Yes, I've tried `nnn` and -others. Yes I know its not the fastest, but something about Ranger makes me -keep coming back to it. - -#fig("https://raw.githubusercontent.com/ranger/ranger-assets/master/screenshots/twopane.png", alt: "ranger") +#extlink("https://yazi-rs.github.io/")[yazi]. Yes, I've tried `nnn` and +others. == Where can I find good software options? diff --git a/site.typ b/site.typ index c36ef3c..1c65b48 100644 --- a/site.typ +++ b/site.typ @@ -10,6 +10,13 @@ ), contact: (title: "Contact"), + "post/a-rack-finally": ( + title: "A Rack, finally!", + long-title: "A Rack, finally!", + date: "2026-07-28", + description: "A permanent home for my home-lab.", + hidden: true, + ), "post/framework-server-p2": ( title: "Framework Laptop Again", long-title: "Letting my Framework 13 be a laptop again", diff --git a/software.typ b/software.typ index bd3c50e..ff50ff6 100644 --- a/software.typ +++ b/software.typ @@ -5,7 +5,7 @@ #let doc = [ Here you can find a list of my note-worthy public repositories, all hosted - on #extlink("https://gitlab.com/kdam0/")[GitLab]. + on #extlink("https://gitlab.com/users/kdam0/projects")[GitLab]. #show list: prev => html.ul(class: "biglist", { for c in prev.children { @@ -13,6 +13,13 @@ } }) + - + = home-lab + #description[ + My Nix, Terraform, Ansible repository for self-hosting, + as started in #pagelink("post/framework-server")[this post]. + ] + #source("https://gitlab.com/kdam0/home-lab/") - = nixdots #description[ @@ -20,50 +27,18 @@ #pagelink("post/nixos-p1")[this post]. ] #source("https://gitlab.com/kdam0/dotfiles-nix") - - - = home-lab - #description[ - My Terraform, Ansible repository for self-hosting, as described in - #pagelink("post/framework-server")[this post]. - ] - #source("https://gitlab.com/kdam0/home-lab") - = nccli #description[ - A Docker-ized Golang CLI for CRUD ops for Namecheap's DNS settings. + A Go CLI for managing DNS on Namecheap. ] #source("https://gitlab.com/kdam0/nccli") - - = vps - #description[ - How I implement #pagelink("post/self-host")[self-hosting], including - my DIY ZFS backed NAS setup. - ] - #source("https://gitlab.com/kdam0/vps") - - - = go-druid-mysql-influx - #description[ - A fast, containerized cron script that interacts with Druid, MySql, - and Influxdb written in Go, with basic unit testing. - ] - #source("https://gitlab.com/kdam0/go-druid-mysql-influx") - - - = devops-api - #description[ - A containerized, highly modular REST API that writes to Influxdb. - ] - #source("https://gitlab.com/kdam0/devops-api") - - - = slack-to-teams - #description[ - A Python script to migrate Slack exports to MS Teams messages. - ] - #source("https://gitlab.com/kdam0/slack-to-teams") - - - = random-shell-helpers + = namemydragon.lol #description[ - A small collection of helper scripts that I used frequently for - random things. + A western themed meme site for identifying your dragon + from the Game of Thrones universe. + #extlink("https://namemydragon.lol")[Try it] and turn on your sound! ] - #source("https://gitlab.com/kdam0/random-shell-helpers") + #source("https://gitlab.com/kdam0/namemydragon") ] -- cgit v1.2.3