Add uses and table of contents to pages
This commit is contained in:
parent
2a0d16cc2f
commit
e99434ed3d
7 changed files with 519 additions and 3 deletions
|
@ -10,6 +10,11 @@ markup:
|
|||
renderer:
|
||||
unsafe: true
|
||||
|
||||
tableOfContents:
|
||||
endLevel: 3
|
||||
ordered: false
|
||||
startLevel: 1
|
||||
|
||||
# permalinks:
|
||||
# post: /blog/:title
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ imageOverlayOpacity: 0.6
|
|||
heroBackgroundColor: "#0af"
|
||||
title: About
|
||||
description: "A little about the man behind this website."
|
||||
toc: false
|
||||
---
|
||||
|
||||
My name is Daniel Flanagan. I was born in Virginia (but my family didn't stay
|
||||
|
|
10
content/blog/my-uses.md
Normal file
10
content/blog/my-uses.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
date: "2023-07-06T14:32:00-06:00"
|
||||
title: "Things I Use"
|
||||
draft: false
|
||||
toc: false
|
||||
---
|
||||
|
||||
I saw a post recently on ye ole fediverse that linked [this post](https://dev.to/nickytonline/do-you-have-a-uses-page-5b82) and I was inspired to create mine! So I did! <a href="/uses">You can view it here</a>! Enjoy!
|
||||
|
||||
<!--more-->
|
|
@ -6,6 +6,7 @@ imageOverlayOpacity: 0.7
|
|||
heroBackgroundColor: "#333"
|
||||
title: Contact
|
||||
description: "Need to get in touch?"
|
||||
toc: false
|
||||
---
|
||||
|
||||
If you want to reach out, please do so via my email at [daniel@lyte.dev][e],
|
||||
|
|
487
content/uses.md
Normal file
487
content/uses.md
Normal file
|
@ -0,0 +1,487 @@
|
|||
---
|
||||
# date: 2017-02-22T14:43:02-06:00
|
||||
# image: /img/space.jpg
|
||||
# imageOverlayColor: "#000"
|
||||
# imageOverlayOpacity: 0.6
|
||||
# heroBackgroundColor: "#0af"
|
||||
title: Uses
|
||||
description: "About my tools, workflow, and other things I use as a software developer."
|
||||
---
|
||||
|
||||
This page lists the tools (both physical and otherwise) that I use to do my job
|
||||
as a software developer along with some thoughts on them.
|
||||
|
||||
For other pages like this from other folks, check out this repository: https://github.com/wesbos/awesome-uses
|
||||
|
||||
I'll go through a theoretical "day in the life" of myself working. Mostly to
|
||||
help me remember all the stuff involved, but also as a means of storytelling and
|
||||
being imformative. I normally don't drop brand names, but since that's kind of
|
||||
the point here, I will be doing a _lot_ of name dropping. No links to products
|
||||
for simplicity, but everything listed here should be searchable. If not, let
|
||||
me know! I'll try to link to anything free, though, such as software.
|
||||
|
||||
I'll break stuff up by topic as things come up so you can skip things that are
|
||||
not interesting to you.
|
||||
|
||||
I also think that in general sharing this much information about yourself isn't
|
||||
the _best_ idea. However, since I'm confident the bots can't know much more
|
||||
about me that they already do and this will really only mostly be useful to my
|
||||
fellow human beings, I think it's worth sharing. I hope you discover some cool
|
||||
new stuff! Better yet, I hope you recommend me better stuff! I'm always wanting
|
||||
to try new tools and discover something new that's good at something.
|
||||
|
||||
# Good morning!
|
||||
|
||||
I wake up when my kids do out of a Purple mattress.
|
||||
|
||||
I slip on my PineTime wrist watch, grab my Android smartphone, put on my
|
||||
prescription glasses, and usually make some tea.
|
||||
|
||||
## Mattress: Purple King Size
|
||||
|
||||
Sleep is real important, so get a good mattress! Of course, "good" here is
|
||||
highly subjective, so you will want to do your own research. We usually have a
|
||||
kid or two join my wife and I in the mattress, so we went with a king size to
|
||||
account for this. Fantastic decision!
|
||||
|
||||
## Smart Watch: PineTime
|
||||
|
||||
I love my PineTime! It serves as a good flashlight in the pitch black of a
|
||||
baby's room and can tell the time. That alone is good enough. However, it can
|
||||
also vibrate when I get notifications on my phone if I want, which I do use
|
||||
on occasion. The price is also unbeatable at 25USD and the InfiniTime firmware
|
||||
keeps improving! I get about two weeks of battery with light use and bluetooth
|
||||
off. I get about 5 days if I've got notifications on full blast, but they
|
||||
recently improved the firmware and claim this may now be more than double!
|
||||
|
||||
## Smart Phone: ASUS ROG Phone 5S
|
||||
|
||||
I bought the phone that I can get root access to with the biggest battery,
|
||||
nicest display, and a headphone jack. That's pretty much all I want in a phone.
|
||||
The speakers are a great bonus. The two USB-C ports is actually a super nice
|
||||
feature since I can connect peripherals while charging without a dock or crazy
|
||||
dongle. I've also used the video mirroring on the side port to good effect a few
|
||||
times in a pinch. I love this device so much I've bought it twice. I'm not sure
|
||||
I've done that for anything else...
|
||||
|
||||
### Android-Specific Softeware & Applications
|
||||
|
||||
Since I'm discussing my phone, I'll go over phone-specific apps (and some common
|
||||
with my laptops/desktops) now in no particular order. I have no idea if any of
|
||||
these have iOS equivalents, but here ya go.
|
||||
|
||||
- [Firefox](https://github.com/mozilla-mobile/fenix) as my web browser
|
||||
- [F-Droid](https://f-droid.org) as an awesome resource for applications
|
||||
- [Termux](https://github.com/termux/termux-app) for doing Linux-y and terminal-y things on my phone
|
||||
- [OpenKeychain](https://github.com/open-keychain/open-keychain) for mobile GPG key management
|
||||
- [Password Store](https://github.com/android-password-store/Android-Password-Store) for interacting with my password manager database
|
||||
- [Bitwarden](https://github.com/bitwarden/mobile) for interacting with shared password databases
|
||||
- [Magisk](https://github.com/topjohnwu/Magisk) for managing Android root access
|
||||
- [NewPipe](https://github.com/TeamNewPipe/NewPipe) for YouTube access without dealing with ads
|
||||
- [Smart AudioBook Player](https://play.google.com/store/apps/details?id=ak.alizandro.smartaudiobookplayer) for listening to audiobooks
|
||||
- [Gadgetbridge](https://github.com/Freeyourgadget/Gadgetbridge) for interfacing with my smart watch
|
||||
- [Obsidian](https://play.google.com/store/apps/details?id=md.obsidian) for reading and writing my notes (sync'd via `git`)
|
||||
- [Fedilab](https://codeberg.org/tom79/Fedilab) as my mobile fediverse client
|
||||
- [Weechat-Android](https://github.com/ubergeek42/weechat-android) as my mobile IRC relay interface
|
||||
- [Tailscale](https://github.com/tailscale/tailscale-android) for accessing my VPN
|
||||
- Google Wallet for NFC payments (tap-to-pay or contactless) because getting cards out of a wallet is _so_ pre-COVID
|
||||
- Google Messages for SMS, MMS, and RCS
|
||||
- Google Maps for meatspace navigation
|
||||
- Pocket Casts for listening to podcasts
|
||||
- Spotify for listening to music
|
||||
|
||||
# Server Room
|
||||
|
||||
Once the day has started and I've said my goodbyes to the fam, I head downstairs
|
||||
to my basement where my home office is located. I walk past a super overkill
|
||||
server rack I got on Craigslist. It holds a few things, but the most important
|
||||
things are my home router/gateway. It's connected to a Google Fiber jack where
|
||||
I get 500 Mb/sec speeds for about 55USD/month. It's hooked up to a Netgear
|
||||
16-port gigabit switch which in turn is hooked up to a bunch of little devices,
|
||||
the most important of which are my home server, WiFi access point, and a really
|
||||
long cable that goes to my desk where there is another tp-link 8-port gigabit
|
||||
switch.
|
||||
|
||||
The rack also has a bunch of loose cables, peripherals, and other random gear,
|
||||
like a big knife. I think I was using it to strip some wires. I should get some
|
||||
easy-mode wire strippers.
|
||||
|
||||
## Router & Gateway: Any decent dual-NIC machine
|
||||
|
||||
For a long time, I used a Raspberry Pi 4 with a USB3 ethernet adapter. It did
|
||||
great, too! But then I wanted it (and my ethernet adapter) for another project
|
||||
and I scored a Datto Alto 2 with 2 NICs built right in on Ebay for like $30.
|
||||
_Ebay is awesome_.
|
||||
|
||||
The Datto Alto 2 is great, but not because of what it is. Any little dual-NIC
|
||||
box will do nicely. It's running Arch Linux and is configured via the contents
|
||||
of [this repo](https://git.lyte.dev/lytedev/router) (please be nice to my
|
||||
network). Having a router I'm in full control of has helped with networking
|
||||
problems immensely and makes port forwarding stuff a breeze. I'm roughly
|
||||
familiar with its workings, which makes troubleshooting network problems that
|
||||
much easier for me.
|
||||
|
||||
## WiFi Access Point: Unifi AP-Pro
|
||||
|
||||
Fantastic access point that plays nicely with my very DIY home router. Not
|
||||
really much else to say. I set it up a long time ago and update it with some
|
||||
regularity, but it just works.
|
||||
|
||||
## Ethernet Switches: Anything with enough speed and ports
|
||||
|
||||
Seriously I just bought the cheapest switches at Micro Center with enough ports
|
||||
for me. They're getting hilariously cheap, which is great! Having extra ports
|
||||
for ad-hoc stuff, like LAN parties, is a must-have for me, even in the age of
|
||||
WiFi.
|
||||
|
||||
_Share the load_.
|
||||
|
||||
## Server(s)
|
||||
|
||||
I have a lot of servers, but the main server is just an ASUS Chromebox 3 that I
|
||||
flashed Arch Linux to. It pretty much just runs a big ol' Docker Compose setup
|
||||
with a sprinkling of other non-Docker'd services. It can do the hardware
|
||||
transcoding for Jellyfin, my home media server, and just generally does not
|
||||
break a sweat.
|
||||
|
||||
I recently was given a Dell R720xd with 20 hyperthreaded CPU cores (40 threads),
|
||||
256GB RAM, and 44TB of raw disk space, which I am _very_ excited about, so I'll
|
||||
probably be moving most stuff to that bad boy, though I expect the power bill to
|
||||
go up _just a tad_.
|
||||
|
||||
I have a few other cheap machines with larger disks at friends and family's
|
||||
houses for off-site, encrypted backups of important data. I should
|
||||
_really_ take the time to validate and automate my backup setup, because right
|
||||
now, I do a completely garbage job of it.
|
||||
|
||||
Any paid client workloads are served via redundant mechanisms via cloud
|
||||
services, generally Digital Ocean, and backed up with whatever the relevant
|
||||
cloud offering is.
|
||||
|
||||
I run the following applications for my home:
|
||||
|
||||
- Traefik to reverse proxy all the things
|
||||
- A homemade chat bot for various things
|
||||
- Various game servers
|
||||
- A small service the multiplexes audio and video feeds
|
||||
- Gitea for https://git.lyte.dev
|
||||
- Nginx to serve static files for https://files.lyte.dev
|
||||
- Jellyfin
|
||||
- Plausible for web analytics
|
||||
- PostgreSQL as the great database for anything that needs one
|
||||
- MariaDB for anything too lame to use Postgres
|
||||
|
||||
I run a few services from the cloud as well:
|
||||
|
||||
- A small DDNS application that machines report to so I have relatively up-to-
|
||||
date public IP information on most of my devices (this can't run from home for
|
||||
fairly obvious reasons 😉)
|
||||
- Various monitoring scripts for specific things
|
||||
|
||||
# Starting Work
|
||||
|
||||
I sit in a way-too-expensive computer chair at a homemade desk and wiggle my
|
||||
mouse or slap my keyboard until my workstation wakes up. I punch in my password
|
||||
and a script fires off to make sure I am ready to work. It does stuff like have
|
||||
me log in to various work services that need daily (or hourly) authentication
|
||||
and making sure I remember to review certain reminders and things of that
|
||||
nature.
|
||||
|
||||
I usually spend my work mornings reviewing neat things I read about the night
|
||||
before on my various feeds -- assuming nothing urgent is happening with work,
|
||||
which there usually is not. Tinkering with things is super important for
|
||||
learning. This is usually done by pulling down my notes as sync'd from my phone,
|
||||
where I do most of my reading.
|
||||
|
||||
I may also spend some time playing games or working with electronics in the
|
||||
workshop area.
|
||||
|
||||
Then the standup meeting notification pops up and I spend about 10 minutes
|
||||
reviewing work stuff so I'm ready for the day. I make sure any audio/visual
|
||||
settings are reset for the workday from any tinkering I may have done the
|
||||
previous evening, usually with musical instruments or just general goofing
|
||||
around with Pipewire.
|
||||
|
||||
## Chair: Steelcase Gesture with Headreset
|
||||
|
||||
Like a mattress, very subjective. Get your chairs secondhand for way cheap and
|
||||
you can get some heckin' nice chairs. I spend about 8 hours a day in my chair,
|
||||
so having a good chair is well worth it, even if the price tag is 1,500USD. 😬
|
||||
|
||||
## Desk: Custom
|
||||
|
||||
It's a huge slab of butcher's block I got from Home Depot for about 200USD and
|
||||
I made some _really_ crappy legs to try and hold it up. It's huge and awesome
|
||||
and by the time I can't move it around by myself anymore is probably a good
|
||||
indicator for retirement.
|
||||
|
||||
You can see an old but decent picture of it here:
|
||||
https://files.lyte.dev/images/battle-station-2020.jpg
|
||||
|
||||
## Mouse: Logitech MX Master 3 and Mionix Avior Pro
|
||||
|
||||
The MX Master 3 is my default, go-to mouse. It's great. I don't use any of
|
||||
the fancy features, really, but the mousewheel on it is _real_ special. Can't
|
||||
go back.
|
||||
|
||||
The Avior Pro I got a long time ago after my last mouse bit the dust. I really
|
||||
only pull out for gaming on the more competitive side, such as _Counter Strike_.
|
||||
For pretty much everything else, the MX Master 3 is not noticeably bad -- even
|
||||
for _Doom Eternal_.
|
||||
|
||||
## Keyboard: Sofle Choc RGB
|
||||
|
||||
Another very subjective thing! Building and programming your own keyboard is
|
||||
something that is super fun for heavy keyboard users, which I think is most
|
||||
people these days. This one is focused on being good for my hands and wrists to
|
||||
use for long programming sessions. It's split into two wireless pieces so each
|
||||
hand can move them independently and the keys are laid out in a sensible manner
|
||||
that fits the human hand. There are other features that are nice, but that I
|
||||
rarely use.
|
||||
|
||||
Here's a picture if you like: https://files.lyte.dev/keyboards/zofle.jpg
|
||||
|
||||
## Monitors: Aorus FO48U and 2 Dell U2720Q
|
||||
|
||||
I stumbled into having a huge 4K display when COVID had Postmates send our
|
||||
little Kansas City satellite office packing and I took the meeting hardware
|
||||
home. At some point, I plugged it in to see what _World of Warcraft_ would look
|
||||
like in 4K on a big screen and realized it was actually amazing for programming
|
||||
as well.
|
||||
|
||||
Here's roughly my monitor layout, though I usually have two of the secondary
|
||||
monitors -- one on either side:
|
||||
https://files.lyte.dev/images/battle-station-2022-10-13.3.jpg
|
||||
|
||||
## Laptop: Lenovo T480 and MacBooks
|
||||
|
||||
A recent acquisition. It was pretty busted up when I got it, but I bought the
|
||||
high capacity external battery and some phat sticks of RAM and replaced the
|
||||
trackpad. A little bit of superglue and a good cleaning later and I've just
|
||||
fallen in love with this laptop. Sometimes I use it even though I have a really
|
||||
beefy workstation with what I consider to be a pretty high-end setup -- it just
|
||||
feels so cozy! All my machines run Arch Linux configured as specified in my
|
||||
dotfiles repo.
|
||||
|
||||
Work provides MacBooks. I'm able to use them as proxies and simply SSH into them
|
||||
for work-related tasks. They otherwise run Linux virtual machines or serve as
|
||||
dumb terminals to Linux environments in _the cloud_ where I do the majority of
|
||||
my work. In general, I'm not a big of macOS and its interface, but I fully
|
||||
recognize that I'm used to a very bespoke and unique way of interacting with
|
||||
my computer.
|
||||
|
||||
That said, before work really cracked down, the M1 Max MacBook Pro they got
|
||||
me was one of my favorite machines ever. Insane battery life, performance,
|
||||
speakers, display, _**and** the ability to run Linux natively on it_ is going to
|
||||
be really hard to beat. I miss being able to use that thing to its fullest!
|
||||
|
||||
## Desktop: Custom Rig
|
||||
|
||||
Probably easiest to list the parts. I wanted something quiet, small, and cute.
|
||||
In hindsight, I think it would have been more practical to just get a bigger and
|
||||
more expandable system. I'm somehow always out of USB ports.
|
||||
|
||||
- **CPU**: AMD Ryzen 9 5950X
|
||||
- I wanted as many performant cores as possible for as cheaply as possible
|
||||
and reasonable. I did some math and realized that with the time spend
|
||||
running unit tests and compiling code, this thing would pay for itself in a
|
||||
month or two. It did. Love it and looking forward to the next upgrade!
|
||||
- **GPU**: AMD Radeon RX 6700 XT
|
||||
- Bought this at the worst possible time, but it's been a great card. It can't
|
||||
quite keep up with 4K@120Hz for some titles like _Doom Eternal_ on the highest
|
||||
settings, but it's good enough for my current usage.
|
||||
- **RAM**: Some 64GB kit that's more than enough for me
|
||||
- **PSU**: Some small form factor 750W fully modular power supply - it's very
|
||||
cute because it's so little!
|
||||
- **CPU Cooler**: Can't remember what it is exactly, but I bought the biggest,
|
||||
baddest air cooler that would fit with my setup
|
||||
- **Case**: Cooler Master NR200P
|
||||
- **Linux SSD**: Sabrent Rocket 1TB PCIe 4.0 NVMe
|
||||
- I went with PCIe 4.0 since I make pretty heavy use of my disk what with
|
||||
a great internet connection and all - those Docker images ain't gonna sling
|
||||
themselves, y'know!
|
||||
- What is it with "enterprise" Docker images being absolutely gargantuan?!
|
||||
Why must things suck?! Not that I put anything proprietary to work on my
|
||||
personal machine(s) of course!
|
||||
- **Windows SSD**: TeamGroup MP34 2TB PCIe 3.0 NVMe
|
||||
- Occasionally, I boot to Windows for some games that run better or at all,
|
||||
like Valorant or Destiny 2
|
||||
|
||||
## Other Neat Computing Devices
|
||||
|
||||
I also have a PinePhone and a Steam Deck.
|
||||
|
||||
The PinePhone was unfortunately a dud for me personally since MMS is still
|
||||
pretty prevalent in my life in a way that I can't overlook in addition to the
|
||||
notification setup not quite being up to snuff. I am _very_ excited for the
|
||||
time when a Linux (you know what I mean) phone is feasible, though! I got the
|
||||
keyboard addon, though, and since my phone has some radio issues in the US, I
|
||||
sometimes use it when I need better radio performance, like when camping.
|
||||
|
||||
The Steam Deck is absolutely wonderful. Anything I would play with a controller,
|
||||
I usually just play it on the Steam deck. I haven't touched my Switch since!
|
||||
Plus, it's Linux, so the tinker factor is there too. Highly recommend one if
|
||||
you're considering it.
|
||||
|
||||
## Headphones: Sony WH-1000XM4
|
||||
|
||||
Bought the XM3s on a Black Friday special and fell in love. _Nice_ noise
|
||||
cancelling head are absolutely wonderful. They made my mom cry.
|
||||
|
||||
Work got almost all their engineers the XM4s not long after so I kind of have
|
||||
2 pair. The XM4s are _much_ nicer with multiple device pairing and the firmware
|
||||
voice feedback fading out your audio instead of cutting it completely when it
|
||||
says anything. The XM4s also automatically shut down if they can detect they
|
||||
aren't on your head for a little bit, which makes the main issue I had with the
|
||||
XM3s of setting them on my desk without turning them off a non-issue.
|
||||
|
||||
## Microphone: Blue Yeti USB
|
||||
|
||||
Sounds good enough, but I've got a fancy audio interface now, so I'm wanting to
|
||||
upgrade at some point. Super low priority, though.
|
||||
|
||||
## Audio Interface: MOTU M4
|
||||
|
||||
A recent gift. I'm hoping to do more with music and mixing in the future,
|
||||
though, so it will be welcome at that point! I play drums and would love to
|
||||
put together a decent electric guitar setup. I also have an Arturia MicroFreak
|
||||
digital synthesizer which is a lot of fun to play with. I'd love to put some
|
||||
cool tracks together!
|
||||
|
||||
## Keys: Some twist-lock cable keyring
|
||||
|
||||
It's nicer than those metal rings you have to snap your thumbnail to get keys
|
||||
off of. I had one fail after about 10 years and my keys went everywhere, so if
|
||||
you're gonna use these, I guess you should replace them occasionally or check
|
||||
them in rather rough ways with some regularity after a certain amount of time.
|
||||
|
||||
These are usually karabiner'd to my backpack or a belt loop.
|
||||
|
||||
When I'm driving with the family, we take the van, which has one of those
|
||||
wireless keys, so I can just throw my whole bag in and we can drive. If I'm
|
||||
driving solo, it's still a good, old insert-and-turn key, so the keys un-
|
||||
karabiner from the bag or loop and go back on when disembarking.
|
||||
|
||||
My keyring is also attached to my wallet. Speaking of which...
|
||||
|
||||
## Wallet: Chums Surfshorts Wallet
|
||||
|
||||
Cheap, has a zipper to hold keyfobs and cards, and easily attaches to my
|
||||
keys. Having them all together means I just gotta grab two things, one for each
|
||||
pocket: phone and wallet-keys.
|
||||
|
||||
I haven't tried tap-to-paying through the wallet, which is probably a big
|
||||
security hazard. 🤷
|
||||
|
||||
# Software
|
||||
|
||||
When my machine boots up, I'm greeted by the standard Linux login at the
|
||||
console. No display manager or graphical login or anything. Once I'm logged in,
|
||||
I usually run `wm` which fires up my window manager, Sway.
|
||||
|
||||
When Sway starts, it runs Kitty, my terminal emulator of choice, and Firefox, my
|
||||
web browser of choice.
|
||||
|
||||
## Web Applications
|
||||
|
||||
Firefox usually has the following web applications opened:
|
||||
|
||||
- Shortwave for email
|
||||
- Linear.app for personal task management
|
||||
- Google Calendar for scheduling, planning, event management, etc. for both work
|
||||
and personal life
|
||||
- Hacker News for mostly-relevant and -interesting articles to me
|
||||
- Lobste.rs for reasons similar to Hacker News
|
||||
- Lemmy.world since Reddit killed API access
|
||||
- GitHub for open-source and similar work
|
||||
- Band.us for communicating with friends, family, and church folks
|
||||
- Discord for communicating with friends, family, "more-hip" church folks, various communities, and other acquaintences
|
||||
- Element for communicating with friends, coworkers, various communities, and other acquaintencas
|
||||
- Slack for communicating with friends, coworkers, and various communities
|
||||
- Spotify for music
|
||||
- Various applications specific to work, such as Okta, Jira, GitLab, etc.
|
||||
|
||||
Ugh, modern messaging is a mess, isn't it?
|
||||
|
||||
Tailscale connects all my machines to the same VPN. It's great!
|
||||
|
||||
I also frequent these:
|
||||
|
||||
- git.lyte.dev for personal code management
|
||||
- a.lyte.dev for personal online analytics
|
||||
- bw.lyte.dev for shared password database management
|
||||
- Shopping:
|
||||
- ebay.com
|
||||
- facebook.com/marketplace
|
||||
- craigslist.com
|
||||
- amazon.com
|
||||
- aliexpress.us
|
||||
|
||||
I'm sure I'm forgetting a ton here.
|
||||
|
||||
## Terminal
|
||||
|
||||
Beyond the web stuff, I pretty much live in the terminal. Interacting with my
|
||||
machine is mostly done via hotkeys as configured for Sway. Otherwise, everything
|
||||
happens in the terminal. Here are my most popular commands in no particular
|
||||
order:
|
||||
|
||||
- `fish` as my interactive shell (and sometimes for scripts, too!)
|
||||
- `helix` for text editing
|
||||
- `git` for code version management (source control)
|
||||
- I use `git-delta` for viewing diffs
|
||||
- `pass` for passwords and secrets management
|
||||
- `ssh` and `mosh` for accessing other machines
|
||||
- `tmux` and `zellij` for multiplexing terminals
|
||||
- `htop` and `btm` (or `bottom`) for process management and resource monitoring
|
||||
- `rtx` for managing various runtimes' and applications' versions
|
||||
- `sk` (or `skim`) for fuzzy searching for stuff
|
||||
- `rg` (or `ripgrep`) for specific searching for stuff
|
||||
- `sd` for most things I used to use `sed` for
|
||||
- `nnn` for filesystem browsing and navigation
|
||||
- `bat` for viewing files as a `cat` replacement
|
||||
- `exa` as an `ls` replacement
|
||||
- `man` for reading documentation
|
||||
- `xh` and `curl` for interacting with HTTP endpoints (I want to check out `hurl`, too!)
|
||||
- `jq`, `gron`, and `jql` for interacting with JSON data
|
||||
- `rsync` for moving files amongst machines
|
||||
- `watchexec` for doing stuff as I edit files (like running unit tests anytime code is changed)
|
||||
- `age` and `sops` for secrets management
|
||||
- `dua` for disk usage analysis
|
||||
- `sc-im` for managing two-dimensional, relational data (spreadsheets)
|
||||
- `pulsemixer` for adjusting audio levels and volumes
|
||||
- `bluetoothctl` for managing bluetooth devices (also `bluetuith` for a TUI!)
|
||||
- `weechat` as my IRC client
|
||||
- This is usually running in a persistent `tmux` or `zellij` session on a
|
||||
server that I remote into
|
||||
- I occasionally use the relay functionality that `weechat` offers as well
|
||||
- `docker` and `podman` for container management
|
||||
- `hexyl` when I need to look at binary data
|
||||
- `make` for doing things describe in `Makefile`s
|
||||
|
||||
## GUI
|
||||
|
||||
From Sway, the only utilities I use are `waybar`, `mako`, and `gammastep`.
|
||||
|
||||
`waybar` shows the time, a HUD for my virtual desktops, various volume
|
||||
information, and a high level overview of system resource usage.
|
||||
|
||||
`mako` shows me notifications and let's me interact with them.
|
||||
|
||||
`gammastep` makes my displays orange-y at night time.
|
||||
|
||||
I use `wofi` for launching applications occasionally. It lists the following
|
||||
often-used applications:
|
||||
|
||||
- Steam for installing and running games
|
||||
- Slippi for playing Super Smash Brother Melee online!
|
||||
- Lutris for running World of Warcraft
|
||||
- `qpwgraph` for routing audio via `wireplumber`
|
||||
- Inkscape for editing vector graphics (like SVGs) and image files
|
||||
- Audacity for recording audio
|
||||
- Krita and GIMP for editing non-vector (bitmap?) graphics and image files
|
||||
- KDE Connect for when I want phone notifications to be mirrored to my desktop
|
||||
- Usually only when expecting a specific call or message
|
||||
- VS Code for pairing with other VS Code folks or troubleshooting a VS Code user's setup
|
||||
- Thunar for managing files in a GUI
|
||||
- PulseAudio Volume Control `pavucontrol`
|
|
@ -9,5 +9,13 @@
|
|||
Posted on {{ dateFormat "Jan 2 2006" . }}
|
||||
</p>
|
||||
{{ end }}
|
||||
{{ if not (isset .Params "toc") }}
|
||||
<details style="margin-bottom: 2.5em;">
|
||||
<summary>
|
||||
<h3>Table of Contents</h3>
|
||||
</summary>
|
||||
{{ .TableOfContents }}
|
||||
</details>
|
||||
{{ end }}
|
||||
{{ .Content }}
|
||||
{{ end }}
|
||||
|
|
|
@ -70,6 +70,8 @@ html,body
|
|||
padding 0.5em
|
||||
line-height 1.6em
|
||||
|
||||
main:first-child, footer:first-child { margin-top: 0 }
|
||||
|
||||
&> main, > footer
|
||||
.highlight
|
||||
position relative
|
||||
|
@ -78,10 +80,13 @@ html,body
|
|||
border-left solid var(--syntax-bpx) var(--syntax-ledg)
|
||||
display flex
|
||||
|
||||
.highlight, form, ul, ol, p
|
||||
li
|
||||
margin-top 0.5em
|
||||
margin-bottom 0.5em
|
||||
|
||||
.highlight, form, > ul, > ol, p
|
||||
margin-top 1em
|
||||
margin-bottom 0.25em
|
||||
&:first-child { margin-top: 0 }
|
||||
|
||||
h1, h2, h3, h4, h5, h6, details
|
||||
margin-top 2em
|
||||
|
@ -92,7 +97,6 @@ html,body
|
|||
|
||||
> h1 + p, > h2 + p, > h3 + p, > h4 + p, > h5 + p, > h6 + p { margin-top: 0 }
|
||||
> h1, > h2, > h3, > h4, > h5, > h6 { color: var(--heading-fg) }
|
||||
*:first-child { margin-top: 0 }
|
||||
|
||||
h1, h2, h3, h4, h5, h6
|
||||
position relative
|
||||
|
|
Loading…
Reference in a new issue