RSSAmplifier

Blog

(import this)

From ideas to tech and the life in-between

bryan-lott.github.ioRSS feed ↗46 posts

Latest posts

Trail Fixes

Trail Fixes

Cost Center or Loss Prevention Center

Changing the Narrative Around Business Cost Centers In the business/accounting world there's this concept of Revenue Centers and Cost Centers . Revenue Centers are used to track revenue and Cost Centers are used to track costs. This is great until you start applying it to the intrinsice value of those groups of people . Example: multiple companies that I've worked for in the past…

What I'm Currently Doing

What I'm currently Doing Work Fantastic company ( Recharge ) that really cares about the people that work for them and their clients Learning Offroad vehicle recovery, maintenance, driving (perpetually) Mindfulness Meditation Stoic Philosophy Welding Rust Hobbies Volunteering with Colorado 4x4 Rescue and Recovery ( CO4x4RnR ) Active volunteer with Burning Man Center Camp Guardian Temple…

Tools I Use

Uses A succinct overview of tools I use on a regular basis, mostly focused on my day job of software development but possibly other random stuff thrown in. Software Editor NeoVim (AstroNvim) VSCode: rarely used now ~Emacs (Doom) https://github.com/doomemacs/doomemacs~ Browser Brave ~Firefox~ Utilities DevUtils: One-off tools, base64 encode/decode, format and validate JSON,…

Log all (fish) commands

Log all non-sudo commands in fish-shell All credit (and inspiriation) to: https://www.justinjoyce.dev/save-your-shell-history-to-log-files/ (zsh version) https://spin.atomicobject.com/2016/05/28/log-bash-history/ (bash version) tl;dr: Copy this into your ~/.config/fish/fish.config file: # log every command function cmd_log…

Bolt Grades

Bolt Grades Bolts and Hitch Pins come in both unrated and rated. For the 4x4 application we'll be attempting to deal with rated gear only. Most hitch pins are not rated, however rated pins can be found, normally called Tractor Hitch Pins or Farm Hitch Pins. In a pinch, a properly rated bolt can be used as a hitch pin. Below you'll find common grades of bolts/pins, identifying…

Driving

Driving Driver Position "Dead" Pedal Right foot/leg braced against the transmission tunnel Hips pushed back into the seat Seatbelt ON Only exception is when making a water crossing (roll down all windows as well) Steering "Thumbs out" If airbags hands at 9 o'clock and 3 o'clock If not airbags, hands at 10 and 2 or 9 and 3 Shuffle steering Hands move from resting position to the top…

Drivetrain

Drivetrain Engine Transmission Manual Automatic CVT Transfer Case Part-time 4WD Engages the (almost always) front driveshaft Front and rear driveshaft spin in step with one another If rear driveshaft goes, can drive out in FWD w/ the transfer case engages Various gear reductions are available at the transfer case Jeep Wrangler Rubicon: 4:1 Can roughly treat 4-low - 2nd gear as 4-low - 1st…

Adult Education

Adult Education Communication Notes from The First Minute: How to Start Conversations that Get Results Intro The first 60s are what matter when communicating professionally Have clear intent Talk on one topic at a time Focus on solutions Steps Frame the conversation in < 15s Create a structured summary of the entire message Causes of miscommunication Lack of context Unclear purpose Not getting to…

Introduction to 4 Wheel Drive

Introduction to 4 Wheel Drive Notes from Previous TFC transfer case full-time&#x2F;part-time - selectable u-joint: 4 points of connection birfield: 6 points of connection no center differential IFS lower unsprung weight isolates bumps as one side compresses, the other side does as well Traction Aids differential lock selectable center differential failures happen in actuator bearings vs. axel…

About this Blog

Why (import this)? Have always loved easter eggs, open a python terminal and type import this ;). At the same time, I love the simplicity of Clojure and feel like it has embodied, even more-so than Python, the principals in the Zen of Python. Also, it’s a lisp, so you know, parentheses everywhere! They&#x27;re like ((hugs)) for your code. Potential Blog Topics Python Rust Clojure Functional…

Hi-Lift Jack

Hi-Lift Jack Parts 1. Top clamp-clevis 8. Handle socket 15. Cross pin 2. Top clamp-clevis bolt & nut 9. Pitman pin 16. Climbing pin 3. Standard 10. Pitman 17. climbing pin spring 4. Reversing latch 11. Hex bolt & nut 18. Small running gear 5. Handle clip spring 12. Large running gear 19. Shear bolt & nut 6. Cap screw with washer 13. Reversing switch spring 20. Foot 7. Handle (w&#x2F; cotter pin)…

Write It Down Yo

Related to your professional job&#x2F;career, quickly, what&#x27;s in your head that isn&#x27;t in someone else&#x27;s? Why haven&#x27;t you written it down? No, really, go write that down now. Even if it&#x27;s a single sentence. Have you done it yet? Here&#x27;s a fun test. Either way, go make yourself come coffee or tea or a sandwich or something that&#x27;ll force you to context switch. Now,…

CSV Primer

Parsing certain data formats can be more challenging than others. One of the granddaddy&#x27;s of challenging file formats is the humble CSV or "comma separated value" file (I&#x27;ve also heard "character separated value"). The lack of a strong specification as well as adherance to a specification is what makes parsing these files particularly challenging at times. Given the experiences I&#x27;ve…

ETL Tracers

Firing visible data at a target to see if you hit ETL (Extract-Transform-Load) pipelines are notoriously complex and opaque. I&#x27;ve always wanted something to pierce the opaqueness I&#x27;ve experienced on many ETL projects. I&#x27;ll take a wild guess I&#x27;m not the only one. What follows is an idea I had around five years ago to pierce that opaqueness along with the experience I&#x27;ve had…

2019 Year in Review

Apparently I missed doing one of these last year. Oh well. This year has been difficult and challenging and pretty amazing all rolled into one. First, I read (and listened) to a lot more books than I realized. That&#x27;s amazing. I grew up a voracious reader and somehow got out of the habit. Needless to say, I think I&#x27;m back in the groove and just need to keep up the habit! Books Audio It…

Drowning in a Sea of Complexity

When&#x27;s the last time you looked a piece of code and went "ugggh, I don&#x27;t want to try to figure out what this does, it&#x27;s so complex?!" Yesterday? Today? The reason why you&#x27;re reading a blog and not reading&#x2F;writing code? ;) We programmers reach for complexity like it’s goddamn instinctual. Wait, let me back up. What is complexity? According to Rich Hickey, it’s the…

Onboarding Is Hard (part 2)

tl;dr: if you&#x27;re joining a company, your first n days shouldn&#x27;t be spent being productive, they should be spent building knowledge and connections so you can be productive. After reading my last post, I&#x27;ve been stopping and starting the next one for close to a month. The previous one focused pretty hard on what the hiring company can do to onboard a new hire. Which is great and all,…

Onboarding Is Hard

Why both sides need to be positive, intentional, and communicative when someone new joins your company. We&#x27;ve all experienced the first-day jitters and shininess that comes from the excitement of new possibility and challenge. Broadly speaking, that energy can be focused one of two ways. Either it&#x27;s used to catapult the new employee onto the fast track of becoming an active contributor…

Projects

So, for whatever reason, I&#x27;m feeling inspired this morning. Have a few projects in mind, some of which are ongoing, and others that are just a twinkle in my mind&#x27;s eye. The "perfect" D&D&#x2F;RPG note taking system. Something along the lines of bullet journal, customized for RPG player note taking. Also, would love it if the character sheet was integrated into the system as well. I…

Including the Why

The biggest question I see unanswered in technology, stories, news, etc, is "why?" Why do I want to experience your content? Why does it matter to me? Wrapped up in that question is the context of why it matters to you, the creator. Why you spent time producing the content. Why is this a thing that needed to exist in the world? Sometimes we may not understand that question ourselves, even while…

Music to Work By

An (incomplete) list of the music I listen to when I&#x27;m trying to get shit done :tm:. Obviously all the links are on Spotify for easy listening to. And part of me wishes we were still in the "personal collection of mp3&#x27;s" era but I also like being exposed to a lot of new bands&#x2F;music that I wouldn&#x27;t have found otherwise. Pandora was great for that for quite a while, but I&#x27;ve…

Goldilocks and the Three Company Sizes

Which company size is right for you? One of the questions that has to be answered is where do you fall on the spectrum of size and associated company mentality you work best for. The spectrum goes from startup through midsize and all the way up to massive-multinational-conglomerate. There are a few general rules of thumb I’ve come to recognize. As size goes up, individual freedoms go down As size…

Python to Scala

Let me set the background. I&#x27;m not a classically trained programmer. In fact, I&#x27;ve been coding for about 8 years and ended up teaching myself on the job. I&#x27;m currently a senior software engineer and end up fighting with Imposter Syndrome on a regular basis. I&#x27;ve been a Python programmer for pretty much that entire time with occasional dabbles in other languages (Clojure, Java,…

Git Commit Messages

git commit -m "gah!" So, apparently, git commit messages are a point of contention with developers. Yeah, the ~50 characters you get to say what the commit does, your state of mind, why this is a thing, etc. Not only that, this is the message that&#x27;s probably lost when you squash merge your commit. Maybe it&#x27;s just me, but I find very little value in reading any git commits. There&#x27;s…

Tools I Work With

Yay for interesting writing prompts. Here’s a quick list of the tools I use on a daily basis to get my job as a software engineer done: Slack: pretty much required for asynchronous communication. Email is reserved primarily for more “formal” communication over “getting shit done”. iTerm2: terminal emulator, nothing much to say here but it’s far and away the best on OSX, to the point where I can…

Predict the Future of Your Industry

Honestly? I think my industry (software development) is heading for a cliff. A complexity cliff. We&#x27;re already struggling to build abstractions well enough to keep our heads from exploding with the complexity we all seem to love. Without a drastic change in direction away from OO, leaky abstractions (DAO and ORM come to mind), and a rejection of incidental complexity, we&#x27;re going to…

YAGNI Revisited

"You aren&#x27;t gonna need it" (YAGNI) is a phrase used in software development to help combat complexity and prevent building unnecessary components. It&#x27;s a great idea but one rarely implemented. What I see most often are cron schedulers with api endpoints that put data onto an AWS queue and use an RPC framework internally for no good reason. I.e., the complete opposite of following the…

2017 Recap

Like other blogs, I&#x27;m doing "2017 in review". It gives me something to blog about and might jump start a new habit of writing more often. Daily blogging would be fantastic but I&#x27;d like to start with something reasonable, monthly or maybe weekly and work up from there... Note, after writing this it completely changed my perspective on how 2017 went for me. When I originally started I was…

Refactoring Python if Statements

Note: I&#x27;m not recommending the following refactoring to everyone, nor am I saying it was even a good idea. It did, however, work out quite well for myself and my team. if pred_1 == &#x27;first&#x27;: output_data = output_data._replace(output_data_1=pred_3, output_data_2=pred_4) if pred_2 and self.state_management_3 in pred_2: output_data = merge_namedtuple(output_data, self.process_data_1())…

Doing what you Love

Those that know me, know that I love Clojure as a language. The simplicity of syntax and concept draws me like a moth to a flame. It wouldn&#x27;t be too far to say it&#x27;s my favorite language and I never have the option of developing anything in it. I started with Clojure several years ago when I got fed up with the Python threading&#x2F;multiprocessing pain. While it wasn&#x27;t exactly the…

When It&#x27;s Time to Move On

I&#x27;m now in the final stages of moving from my current company to a new one. What follows is a rundown of what&#x27;s been going on in my brain throughout the entire process, my motivations, and my reasoning. This is not intended to disparage my current company nor hold the new company up on a pedestal. This is my (limited) perspective. Coming to Conclusions Hindsight is, of course, 20:20.…

Why I love RPG&#x27;s

Introduction For the people that know me, they know I love RPG&#x27;s, whether they be computer based, tabletop, or just reading the new source book that came out yesterday. Maybe it seems a bit odd to the general population with questions like "isn&#x27;t that dangerous&#x2F;satanic?" Seriously, this still gets asked 30+ years after D&D (Dungeons & Dragons) was put in the same category as…

Concurrency Part 2

Wow, even trivial concurrency in Python is hard... So, you have a list of tasks that you want to consume lazily (as they&#x27;re generated, so you don&#x27;t blow up memory). Great! That&#x27;s easy to do with a generator function using the yield keyword or the (syntax). But, oh no... you can&#x27;t pass that to a multiprocess function because it&#x27;s not picklable. Drat! Next, you go down the…

How-to: Read from STDIN or a File in Clojure

or... how to avoid wasting 2 days! First, the completed code: (ns char-check.core (:require [clojure.tools.cli :refer [parse-opts]]) (:gen-class)) (defn exit "Exits the program with a status code and message." [status msg] (println msg) (System&#x2F;exit status)) (defn main "Main function. Calling without a file object results in reading from STDIN (*in*). Otherwise, opens the in-file as a…

Reading Update

So, after about 8 months of on-and-off focusing on reading more long-form items, how am I doing? Objectively, I&#x27;d give myself a C-. Barely passing, and here&#x27;s why. I can absolutely say that I&#x27;m doing much better at reading long-form items. Currently I&#x27;m working through Stephen Hawking&#x27;s Illustrated A Brief History of Time and The Universe in a Nutshell. Fantastic read,…

Burnout

Burnout ...and possibly how to defend against it. A little bit of backstory is probably in order. For me, burnout has never been a problem until this past month. Working on a migration from a data center to the cloud that&#x27;s run over 6 months of constant work has gotten me pretty fried. We&#x27;re nearly at the end and I feel like I&#x27;ve gained quite a bit of perspective on this problem, at…

List of Wonderous Links

This is going to be nothing more than a link post of articles and blogs that have resonated with me in a powerful way. All of these relate to job "stuff", not tech stuff. Minor Offenses The Elves Leave Middle Earth Six Languages to Master (archive copy) What to Write You Need to Start a Whizbang Project Immediately Programming Without a Net Care and Feeding of Software Engineers How to Level Up as…

Wow...

What a vacation... note to self, as someone that always needs to be creating something for his own wellbeing, never take a vacation without a purpose or something to do, otherwise, you&#x27;ll go crazy!

The Most Important Skills for a Software Developer

First off, this isn&#x27;t going to be a post about languages, technologies, etc. It would be borderline pointless to write one of those as they come and go so quickly, which brings me to my first important skill: Adaptability Or, if you don&#x27;t change, you die. Sure there are still some COBOL programmers around, and I&#x27;m sure they get paid a lot of money to keep what&#x27;s essentially a…

Reading

So, reading. It&#x27;s something I grew up loving. I used to spend every waking moment with my head stuck in a book. Everything from software development to high fantasy to memoirs. This began when I was very young, my parents used to read to me every night before bed and my dad promised me that whenever we went to a bookstore, he&#x27;d buy me whatever I wanted to read as long as I kept reading.…

Vacation is Hard

...not necessarily because going on vacation is hard, but coming back from it? Oof. I just spent 10 days camping without cell phone service at a spiritual retreat. Had a great time, hung out with friends that I only see once a year, and had some seriously knock-your-socks-off spiritual moments. Then, the return to day-to-day "normalcy". Usually it takes me a few hours, maybe a day at most to get…

Concurrency

Or... why Python will eventually become irrelevant.

Imposter Syndrome

Wikipedia Essentially, it&#x27;s the opposite of the Dunning-Kruger effect. You feel that your skills are less than those of your peers and that you&#x27;re just skating by on luck. One day, someone is going to discover you don&#x27;t really know what&#x27;s going on and bam, your career is over. Is this an irrational fear for most of us that have it? Of course. Does that change the fact that we…

BOFH

(bastard operator from hell) What a term. It used to only apply to curmudgeonly sysadmins and the neckbeard elite but I&#x27;ve noticed lately that it can be applied to a large number of other IT professionals. Specifically, I&#x27;m talking about developers. I know you have to sit in your cube staring at page after page of incomprehensible piles of crap code written by someone else that clearly…

On Python, Clojure, and PHP

So, I sort of fell into programming. When I was a kid, I learned QBasic because it was the only way I knew how to put games on my computer. At that point, my father wouldn&#x27;t buy or install games on the 286 we had, so I had to do it myself.