Update uses page with a lot of links

This commit is contained in:
Daniel Flanagan 2023-07-10 11:13:54 -05:00
parent da6a82df93
commit 42ed8c29f4
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4

View file

@ -11,7 +11,8 @@ description: "About my tools, workflow, and other things I use as a software dev
This page lists the tools (both physical and otherwise) that I use to do my job 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. 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 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 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 help me remember all the stuff involved, but also as a means of storytelling and
@ -64,7 +65,7 @@ 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 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... I've done that for anything else...
### Android-Specific Softeware & Applications ### Android-Specific Software & Applications
Since I'm discussing my phone, I'll go over phone-specific apps (and some common 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 with my laptops/desktops) now in no particular order. I have no idea if any of
@ -72,19 +73,30 @@ these have iOS equivalents, but here ya go.
- [Firefox](https://github.com/mozilla-mobile/fenix) as my web browser - [Firefox](https://github.com/mozilla-mobile/fenix) as my web browser
- [F-Droid](https://f-droid.org) as an awesome resource for applications - [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 - [Termux](https://github.com/termux/termux-app) for doing Linux-y and
- [OpenKeychain](https://github.com/open-keychain/open-keychain) for mobile GPG key management terminal-y things on my phone
- [Password Store](https://github.com/android-password-store/Android-Password-Store) for interacting with my password manager database - [OpenKeychain](https://github.com/open-keychain/open-keychain) for mobile GPG
- [Bitwarden](https://github.com/bitwarden/mobile) for interacting with shared password databases 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 - [Magisk](https://github.com/topjohnwu/Magisk) for managing Android root access
- [NewPipe](https://github.com/TeamNewPipe/NewPipe) for YouTube access without dealing with ads - [NewPipe](https://github.com/TeamNewPipe/NewPipe) for YouTube access without
- [Smart AudioBook Player](https://play.google.com/store/apps/details?id=ak.alizandro.smartaudiobookplayer) for listening to audiobooks dealing with ads
- [Gadgetbridge](https://github.com/Freeyourgadget/Gadgetbridge) for interfacing with my smart watch - [Smart AudioBook Player](https://play.google.com/store/apps/details?id=ak.alizandro.smartaudiobookplayer)
- [Obsidian](https://play.google.com/store/apps/details?id=md.obsidian) for reading and writing my notes (sync'd via `git`) 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 - [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 - [Weechat-Android](https://github.com/ubergeek42/weechat-android) as my mobile
- [Tailscale](https://github.com/tailscale/tailscale-android) for accessing my VPN IRC relay interface
- Google Wallet for NFC payments (tap-to-pay or contactless) because getting cards out of a wallet is _so_ pre-COVID - [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 Messages for SMS, MMS, and RCS
- Google Maps for meatspace navigation - Google Maps for meatspace navigation
- Pocket Casts for listening to podcasts - Pocket Casts for listening to podcasts
@ -96,11 +108,11 @@ 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 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 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 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 I get 500 Mb/sec (symmetric) speeds for about 55USD/month. It's hooked up to a
16-port gigabit switch which in turn is hooked up to a bunch of little devices, Netgear 16-port gigabit switch which in turn is hooked up to a bunch of little
the most important of which are my home server, WiFi access point, and a really devices, the most important of which are my home server, WiFi access point, and
long cable that goes to my desk where there is another tp-link 8-port gigabit a really long cable that goes to my desk where there is another tp-link 8-port
switch. gigabit switch.
The rack also has a bunch of loose cables, peripherals, and other random gear, 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 like a big knife. I think I was using it to strip some wires. I should get some
@ -125,7 +137,8 @@ much easier for me.
Fantastic access point that plays nicely with my very DIY home router. Not 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 really much else to say. I set it up a long time ago and update it with some
regularity, but it just works. regularity, but it just works. At some point, I'd love to get wireless devices
on their own VLAN for another layer of security.
## Ethernet Switches: Anything with enough speed and ports ## Ethernet Switches: Anything with enough speed and ports
@ -287,9 +300,9 @@ more expandable system. I'm somehow always out of USB ports.
running unit tests and compiling code, this thing would pay for itself in a 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! month or two. It did. Love it and looking forward to the next upgrade!
- **GPU**: AMD Radeon RX 6700 XT - **GPU**: AMD Radeon RX 6700 XT
- Bought this at the worst possible time, but it's been a great card. It can't - Bought this at the worst possible time, but it's been a great card. It
quite keep up with 4K@120Hz for some titles like _Doom Eternal_ on the highest can't quite keep up with 4K@120Hz for some titles like _Doom Eternal_ on the
settings, but it's good enough for my current usage. highest settings, but it's good enough for my current usage.
- **RAM**: Some 64GB kit that's more than enough for me - **RAM**: Some 64GB kit that's more than enough for me
- **PSU**: Some small form factor 750W fully modular power supply - it's very - **PSU**: Some small form factor 750W fully modular power supply - it's very
cute because it's so little! cute because it's so little!
@ -382,35 +395,53 @@ 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 When Sway starts, it runs Kitty, my terminal emulator of choice, and Firefox, my
web browser of choice. web browser of choice.
Anywhere I can, I really like to use the
[Catppuccin color scheme](https://github.com/catppuccin/catppuccin).
Otherewise, I used a modified Monokai with a darkened
background color for the longest time.
## Web Applications ## Web Applications
Firefox usually has the following web applications opened: Firefox usually has the following web applications opened:
- Shortwave for email - [Shortwave](https://shortwave.com) as my email client for my Google Mail
- Linear.app for personal task management accounts to which my other emails forward to
- [Linear](https://linear.app) for personal task management (a better Jira/
Trello IMHO)
- Google Calendar for scheduling, planning, event management, etc. for both work - Google Calendar for scheduling, planning, event management, etc. for both work
and personal life and personal life
- Hacker News for mostly-relevant and -interesting articles to me - [Hacker News](https://news.ycombinator.com) for mostly-relevant and
- Lobste.rs for reasons similar to Hacker News interesting links to me and for high-quality discussions
- Lemmy.world since Reddit killed API access - [Lobsters](https://lobste.rs) for reasons similar to Hacker News
- GitHub for open-source and similar work - [Lemmy.world](https://lemmy.world) for federated link aggregation and
- Band.us for communicating with friends, family, and church folks discussions since Reddit
- Discord for communicating with friends, family, "more-hip" church folks, various communities, and other acquaintences killed API access for my clients of choice
- Element for communicating with friends, coworkers, various communities, and other acquaintencas - [GitHub](https://github.com) for open-source and similar work
- Slack for communicating with friends, coworkers, and various communities - [Band](https://band.us) for communicating with friends, family, and church
- Spotify for music folks
- [Discord](https://discord.com) for communicating with friends, family, "more-
hip" church folks, various communities, and other acquaintences
- [Element](https://element.io) for communicating with friends, coworkers,
various communities, and other acquaintencas
- [Slack](https://slack.com) for communicating with friends, coworkers, and
various communities
- [Spotify](https://spotify.com) for music
- Various applications specific to work, such as Okta, Jira, GitLab, etc. - Various applications specific to work, such as Okta, Jira, GitLab, etc.
Ugh, modern messaging is a mess, isn't it? Ugh, modern messaging is a mess, isn't it?
Tailscale connects all my machines to the same VPN. It's great! [Tailscale](https://tailscale.com) connects all my machines to the same
VPN. It's great! And I think once I get it fully setup, I will put it in the
"gamechanger" bucket.
I also frequent these: I also frequent these:
- git.lyte.dev for personal code management - https://git.lyte.dev for personal code management
- a.lyte.dev for personal online analytics - https://a.lyte.dev for personal online analytics
- bw.lyte.dev for shared password database management - https://bw.lyte.dev for shared password database management
- Shopping:
And do my online shopping here:
- ebay.com - ebay.com
- facebook.com/marketplace - facebook.com/marketplace
- craigslist.com - craigslist.com
@ -426,62 +457,95 @@ 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 happens in the terminal. Here are my most popular commands in no particular
order: order:
- `fish` as my interactive shell (and sometimes for scripts, too!) - [`fish`](https://github.com/fish-shell/fish-shell) as my interactive shell
- `helix` for text editing (and sometimes for scripts, too!)
- `git` for code version management (source control) - [`helix`](https://github.com/helix-editor/helix) for text editing
- I use `git-delta` for viewing diffs - [`git`](https://git-scm.com) for code version management (source control)
- `pass` for passwords and secrets management - I use [`git-delta`](https://github.com/dandavison/delta) for viewing diffs
- `ssh` and `mosh` for accessing other machines - [`pass`](https://www.passwordstore.org) for passwords and secrets management
- `tmux` and `zellij` for multiplexing terminals - [`ssh`](https://www.openssh.com) and [`mosh`](https://mosh.org) for
- `htop` and `btm` (or `bottom`) for process management and resource monitoring accessing other machines
- `rtx` for managing various runtimes' and applications' versions - [`tmux`](https://github.com/tmux/tmux) and [`zellij`](https://zellij.dev) for
- `sk` (or `skim`) for fuzzy searching for stuff multiplexing terminals
- `rg` (or `ripgrep`) for specific searching for stuff - [`htop`](https://htop.dev) and
- `sd` for most things I used to use `sed` for [`btm` (or `bottom`)](https://github.com/ClementTsang/bottom) for process
- `nnn` for filesystem browsing and navigation management and resource monitoring
- `bat` for viewing files as a `cat` replacement - [`rtx`](https://github.com/jdxcode/rtx) for managing various runtimes' and
- `exa` as an `ls` replacement applications' versions
- `man` for reading documentation - [`sk` (or `skim`)](https://github.com/lotabout/skim) for fuzzy searching for
- `xh` and `curl` for interacting with HTTP endpoints (I want to check out `hurl`, too!) stuff
- `jq`, `gron`, and `jql` for interacting with JSON data - [`rg` (or `ripgrep`)](https://github.com/BurntSushi/ripgrep) for specific
- `rsync` for moving files amongst machines searching for stuff
- `watchexec` for doing stuff as I edit files (like running unit tests anytime code is changed) - [`sd`](https://github.com/chmln/sd) for most things I used to use `sed` for
- `age` and `sops` for secrets management - [`nnn`](https://github.com/jarun/nnn) and
- `dua` for disk usage analysis [`broot`](https://github.com/Canop/broot) for filesystem browsing and
- `sc-im` for managing two-dimensional, relational data (spreadsheets) navigation
- `pulsemixer` for adjusting audio levels and volumes - [`bat`](https://github.com/sharkdp/bat) for viewing files as a `cat`
- `bluetoothctl` for managing bluetooth devices (also `bluetuith` for a TUI!) replacement
- `weechat` as my IRC client - [`exa`](https://github.com/ogham/exa) as an `ls` replacement
- [`man`](https://wiki.archlinux.org/title/man_page) for reading documentation
- [`xh`](https://github.com/ducaale/xh) and [`curl`](https://curl.se) for
interacting with HTTP endpoints (I want to check out
[`hurl`](https://github.com/Orange-OpenSource/hurl), too!)
- [`jq`](https://github.com/jqlang/jq),
[`gron`](https://github.com/tomnomnom/gron), and
[`jql`](https://github.com/cube2222/jql) for interacting with JSON data
- [`rsync`](https://rsync.samba.org) for moving files amongst machines
- [`restic`](https://restic.net) for local and remote deduplicated, encrypted,
and automated backups
- [`watchexec`](https://github.com/watchexec/watchexec) for doing stuff as I
edit files (like running unit tests anytime code is changed)
- [`age`](https://github.com/FiloSottile/age) and
[`sops`](https://github.com/mozilla/sops) for secrets management
- [`dua`](https://github.com/Byron/dua-cli/) for disk usage analysis
- [`sc-im`](https://github.com/andmarti1424/sc-im) for managing two-dimensional,
relational data (spreadsheets)
- [`pulsemixer`](https://github.com/GeorgeFilipkin/pulsemixer) for adjusting
audio levels and volumes
- [`bluetoothctl`](http://www.bluez.org) for managing bluetooth devices (also
[`bluetuith`](https://github.com/darkhz/bluetuith) for a TUI!)
- [`weechat`](https://weechat.org/) as my IRC client
- This is usually running in a persistent `tmux` or `zellij` session on a - This is usually running in a persistent `tmux` or `zellij` session on a
server that I remote into server that I remote into
- I occasionally use the relay functionality that `weechat` offers as well - I occasionally use the relay functionality that `weechat` offers as well
- `docker` and `podman` for container management - [`docker`](https://docker.com) and [`podman`](https://podman.io) for container
- `hexyl` when I need to look at binary data management
- `make` for doing things describe in `Makefile`s - [`hexyl`](https://github.com/sharkdp/hexyl) when I need to look at binary data
- [`make`](https://www.gnu.org/software/make/) for doing things describe in
`Makefile`s
## GUI ## GUI
From Sway, the only utilities I use are `waybar`, `mako`, and `gammastep`. From Sway, the only utilities I use are the following:
`waybar` shows the time, a HUD for my virtual desktops, various volume - [`waybar`](https://github.com/Alexays/Waybar) shows the time, a HUD for my
information, and a high level overview of system resource usage. virtual desktops, various volume information, and a high level overview of
system resource usage.
- [`mako`](https://github.com/emersion/mako) shows me notifications and let's me
interact with them.
- [`gammastep`](https://gitlab.com/chinstrap/gammastep) makes my displays
orange-y at night time.
`mako` shows me notifications and let's me interact with them. Beyond these, I have a bunch of scripts and configuration in my
[dotfiles repo](https://git.lyte.dev/lytedev/dotfiles).
`gammastep` makes my displays orange-y at night time. I use [`wofi`](https://hg.sr.ht/~scoopta/wofi) for launching applications
occasionally. It lists the following often-used applications:
I use `wofi` for launching applications occasionally. It lists the following - [Steam](https://steampowered.com) for installing and running games
often-used applications: - [Slippi](https://slippi.gg) for playing Super Smash Brother Melee online!
- [Lutris](https://lutris.net) for running World of Warcraft
- Steam for installing and running games - [`qpwgraph`](https://gitlab.freedesktop.org/rncbc/qpwgraph) for routing audio
- Slippi for playing Super Smash Brother Melee online! via [`wireplumber`](https://pipewire.pages.freedesktop.org/wireplumber/)
- Lutris for running World of Warcraft - [Inkscape](https://inkscape.org) for editing vector graphics (like SVGs) and
- `qpwgraph` for routing audio via `wireplumber` image files
- Inkscape for editing vector graphics (like SVGs) and image files - [Audacity](https://www.audacityteam.org) for recording audio
- Audacity for recording audio - [Krita](https://krita.org) and [GIMP](https://www.gimp.org) for editing
- Krita and GIMP for editing non-vector (bitmap?) graphics and image files non-vector (bitmap?) graphics and image files
- KDE Connect for when I want phone notifications to be mirrored to my desktop - [KDE Connect](https://kdeconnect.kde.org) for when I want phone notifications
to be mirrored to my desktop
- Usually only when expecting a specific call or message - 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 - [Visual Studio Code](https://code.visualstudio.com) for pairing with other VS
- Thunar for managing files in a GUI Code folks or troubleshooting a VS Code user's setup
- PulseAudio Volume Control `pavucontrol` - [Thunar](https://docs.xfce.org/xfce/thunar/start) for managing files in a GUI
- [PulseAudio Volume Control (or `pavucontrol`)](https://freedesktop.org/software/pulseaudio/pavucontrol/)