cleanup + now topper

This commit is contained in:
Cory Dransfeldt 2023-03-12 11:17:56 -07:00
parent 6c81b89874
commit 82604bd42b
No known key found for this signature in database
38 changed files with 123 additions and 8 deletions

View file

@ -0,0 +1,32 @@
---
title: 2021 reading list
date: '2021-03-21'
draft: false
tags: ['reading']
---
I've been working on making reading a habit again for the past few years (my streak in books is currently 383 days).<!-- excerpt --> Here's where I'm at for 2021 so far:
**Finished**
- [Kill Switch: The Rise of the Modern Senate and the Crippling of American Democracy](https://www.harvard.com/book/kill_switch_the_rise_of_the_modern_senate_and_the_crippling_of_american_dem/), by Adam Jentleson
- [Working in Public: The Making and Maintenance of Open Source Software](https://blas.com/working-in-public/), by Nadia Eghbal
- [Let My People Go Surfing](https://www.patagonia.com/product/let-my-people-go-surfing-revised-paperback-book/BK067.html), by Yvon Chouinard
- [The Responsible Company](https://www.patagonia.com/product/the-responsible-company-what-weve-learned-from-patagonias-first-forty-years-paperback-book/BK233.html), by Yvon Chouinard & Vincent Stanley
- [Dark Mirror](https://www.penguinrandomhouse.com/books/316047/dark-mirror-by-barton-gellman/), by Barton Gellmen
- [Get Together](https://gettogether.world/), by Bailey Richardson, Kevin Huynh & Kai Elmer Sotto
- [Zucked](https://www.penguinrandomhouse.com/books/598206/zucked-by-roger-mcnamee/), by Roger McNamee
- [Fentanyl, Inc.](https://groveatlantic.com/book/fentanyl-inc/), by Ben Weshoff
- [A Promised Land](https://obamabook.com/), by Barack Obama
**In progress**
- [This Is How They Tell Me the World Ends](https://www.bloomsbury.com/us/this-is-how-they-tell-me-the-world-ends-9781635576061/), by Nicole Perlroth
- [Revelation Space](http://www.alastairreynolds.com/release/revelation-space/), by Alastair Reynolds
**Next up**
- [JavaScript for Impatient Programmers](https://exploringjs.com/impatient-js/), by Dr. Axel Rauschmayer
- [Deep JavaScript: Theory and Techniques](https://exploringjs.com/deep-js/), by Dr. Axel Rauschmayer
- [Don't Think of an Elephant!](https://georgelakoff.com/books/dont_think_of_an_elephant_know_your_values_and_frame_the_debatethe_essential_guide_for_progressives-119190455949080/), by George Lakoff
- [The Assassination of Fred Hampton](https://www.amazon.com/Assassination-Fred-Hampton-Chicago-Murdered/dp/1569767092), by Jeffrey Haas

View file

@ -0,0 +1,105 @@
---
title: A brief intro to git
date: '2021-06-07'
draft: false
tags: ['git', 'development']
---
As a developer, a version control system is a critical part of your toolkit, no matter the size of the project or team you may find yourself working on.<!-- excerpt -->
I first started learning to use git by applying it to my own projects and maintaining local repositories to track those projects. From there I moved on to hosting and storing my git repositories at [Bitbucket](https://bitbucket.org) while still working independently. My first experience with working alongside other developers in git came at my first full time development job on a small team (think _really_ small — two developers, myself included). I picked up the basics of branching, handling merges, developing different features in parallel and, ultimately, dealing with QA and production deployments that were sourced from various branches in our project repository.
I've expanded on my knowledge git in the jobs I've held since that first position and have used [svn](https://subversion.apache.org) pretty heavily as well (I don't mind it, but I don't love it — I'd argue git is the better choice for a number of reasons, its decentralized nature and flexibility being chief among them).
One of the many appeals of git is its flexibility and there are a wide range of commands that come with it. To get started, I'd suggest digging in with the following:
```bash
# initialize git
git init
# clone repo
git clone <repo url>
# view the state of the repo
git status
# this will stage all of your modified and/or untracked files for commit
git add -A
# this will stage only the files that you pass into the command as an argument, delimited by a space
git add <path to file(s)>
# this will commit all modified files and apply the commit message that follows it
git commit -am "<commit message>"
# this will commit only the files that you've staged and apply the message that follows it
git commit -m "<commit message>"
# amend the last commit message
git commit --amend
# this will fetch changes from the remote branch that you're currently on; this will require a merge if your local copy of the branch has diverged from the remote
git pull
# you can also specify arguments and branches with git pull, for example
git pull origin master
# this will checkout a different branch from the branch you're currently on
git checkout <branch name>
# alternatively you can revert the state of your current branch to match the head of that branch, or that of of an individual file
git checkout .
git checkout <path to file>
# check out a new branch, diverging from the current branch
git checkout -b <branch name>
# see available branches
git branch
# delete a branch locally
git branch -d <branch name>
# delete a branch remotely
git push origin --delete <branch name>
# merge a branch into the branch you're currently on
git merge <branch name>
# stash your current changes and return to the head of the branch you're on
git stash
# reapply your stashed changes
git stash apply
# reapply your topmost stashed changes and discard the change set
git stash pop
# show commit logs
git log
# show the reference log of all recent actions
git reflog
# fetch remote branches
git fetch
# throw away uncommitted changes and revert to the head of the branch (destructive command)
git reset --hard HEAD
# back branch up to previous commit
git checkout <commit hash value>
# revert a previous commit
git revert <git commit hash value>
```
Each of these commands has numerous options associated with it and allows for broad control over the flow and history of your project. There are a number of other options I'd suggest for learning more about git:
- [Github's git tutorial](https://try.github.io)
- [Pro Git book](https://git-scm.com/book)
- [Oh shit, git!](http://ohshitgit.com/)
- [Github guides](https://guides.github.com)
- [Git Real](https://courses.codeschool.com/courses/git-real)
- [Git documentation](https://git-scm.com/documentation)

View file

@ -0,0 +1,38 @@
---
title: 'Apple Music: a tale of woe'
date: '2022-02-15'
draft: false
tags: ['music', 'apple', 'services']
---
Last week my Apple Music collection, in as far as I can tell, become corrupted or otherwise unmanageable. This isn't the first issue I've had with the service nor is it the most severe — I gave Apple Music a try right after it launched, remnants of Beats Music and all.<!-- excerpt --> Adding an album to your library was unreliable and tracks would get duplicated if you tried a second time. It ended up overheating my phone battery to the point it could no longer hold a charge. Back to Spotify I went.
I'm the kind of music nerd that likes to meticulously manage genre tags, trim extraneous strings out of track and album names and update album artwork[^1]. Apple Music is the only streaming service that supports importing your own music to supplement their catalog while also editing their metadata to match. I've been doing this for a few years now and all was well and good as my music collection grew.
A few weeks ago I read through a [Brooklyn Vegan](https://brooklynvegan.com) on the best hardcore releases of 2021, added a few to my collection, tagged them and queued them. No problem. I don't end up liking all of them[^2]. I go back and notice the tags are all back to Apple's defaults (no big deal, this happens occasionally) and proceed to delete the albums I don't like. Fast forward to the next day — I sit down, scroll through Recently Added to queue up something new and everything is right back to where it was. I try deleting the same albums from the iOS app and it works briefly before they reappeared. Great.
My next steps were pretty standard, escalating, troubleshooting:
- [x] Log out of Apple Music on all devices
- [x] Reboot
- [x] Log in
Welcome back _Glow On_!
- [x] Reset my Apple Music library[^3]
- [x] Reconstruct my collection[^4]
- [x] Notice that I _still_ can't update metadata and Apple fingerprints your tracks, tries to overwrite the metadata and creates duplicate tracks if there's the _slightest_ mismatch. Notice that these duplicates can't be deleted.
So, here I am: I've had swapped a phone after the service launched and cooked the battery. I gave it a second try, it worked for a while exactly how I'd liked — as a cloud locker with a supplemental catalog of music I was less invested in — and then it hit a wall.
I had a pretty large library, I tweaked the data and imported external data. I imagine that's tough to sync and I imagine matching imported music helps with deduplication and performance. I would venture to guess that my usage lives in what would be considered an outlier or edge case, I get that. It's still disappointing to see the service fall on its face so spectacularly.
My music collection, for all intents and purposes, was broken in Apple Music. I took a brief look around, knowing that I already owned the vast majority of music I was _actually_ invested in and found [Doppler](http://brushedtype.co/doppler/). I downloaded the trial, imported my music, let Dropbox backup `~/Music`, signed out of Apple Music and deleted the app. I can update metadata and there's no streaming hiccups when Apple Music mysteriously pulls a track off my phone. I no longer have to maintain a smart playlist to track what falls out of Apple's catalog either.
I likely should have been listening to and managing music this way all along and there's a refreshing clarity to knowing exactly what's in your finite collection and what you actually _want_ to be in that collection. I know what I enjoy, it's on my phone and there's no more cycling through endless playlists and recommendations. Apple Music is convenient, but it's inconsistent and unreliable. I don't think I'll be back.[^5]
[^1]: I'm looking at you Audiotree Live.
[^2]: I've seen folks raving about the new Turnstile record and that's rad, but I don't get it. I'm so sorry.
[^3]: There's a button to do this in the Mac App store app and it doesn't work. I throws a generic exception telling you to try later — use the one in the Music app.
[^4]: Cool — an opportunity to get introspective and pare back what I actually care to listen to.
[^5]: This prompted me to move the last of my import data, my photos, off of Apple's services — my music library is one thing, having the same happen to my photos would be devastating. They're now sitting in Google Photos, getting mirrored to Dropbox and perhaps off to BackBlaze. Is this an overreaction? Maybe — but I've also had a tab Safari claims is open on my Mac Mini for 3-4 months now. Syncing is hard and the evidence leads me to believe the service implementation may not be that reliable.

View file

@ -0,0 +1,34 @@
---
date: '2021-04-01'
title: 'Digital privacy tools'
draft: false
tags: ['tech', 'privacy']
---
**[The New York Times:](https://www.nytimes.com/2021/03/28/style/tools-protect-your-digital-privacy.html)**
> Everything you do online — from browsing to shopping to using social networks — is tracked, typically as behavioral or advertising data. But browser extensions are simple, generally free add-ons that you can use to slow down or break this type of data collection, without completely ruining your experience of using the internet.
This is a helpful, albeit basic, guide to online privacy tools.<!-- excerpt --> In addition to the tools cited, I would recommend the following:
**Private email providers**
- [Fastmail](https://fastmail.com)
- [mailbox.org](mailbox.org)
- [Proton Mail](http://protonmail.com)
Ubiquitous free email providers profit by mining user data (whether humans are involved or not). Your inbox acts as a key to your digital life and you should avoid using any provider that monetizes its contents.
**Adblockers**
- [1Blocker](https://1blocker.com)
- [Better](https://better.fyi)
These are both light-weight, independently developed ad and tracker blockers. 1Blocker is considerably more configurable, but could be daunting to new users (the defaults offer a nice balance though).
**DNS providers**
- [nextDNS](https://nextdns.io)
- [Cloudflare 1.1.1.1](https://www.cloudflare.com/learning/dns/what-is-1.1.1.1)
I use nextDNS on my home network for basic security and have a more restrictive configuration that heavily filters ads at the DNS level on specific devices. Cloudflare's 1.1.1.1 service doesn't offer the same features, but is still preferable to Google's offering or your ISP's default.