• Recently my work computer switched from a Windows box to a MacBook Pro, which reminded me of this feature in iTerm (I had been using this feature on Console2 on Windows): The Quake Terminal controlled by Alt + \`. In iTerm preferences: Under Keys, select Hotkey Press to \*Create a Dedicated Hotkey Window\...\` Set the Hotkey to Opt + \` Configure it to only "Animate showing and hiding" After that iTerm creates a Hotkey Window profile that is assigned to the iTerm pane that drops from top of the screen each time. To make this work well with multiple screens, select the Hotkey Window profile, and under the Window tab, pick "Screen with Cursor" for the Screen picker.

  • The seeming slow crawl collapse of Twitter is an unpleasant and unsightly process, but if there's any benefit to this shift in social media, it's the exodus to Mastodon and the much needed interested boost to ActivityPub and federated networks- and riding the currents off of this, the resurrection of the "Indie Web". Although I've gotten used to centralized social media and services, going to Mastodon and other federated services feels a lot like coming home. As someone who grew up in the brief splint of time before the widespread availability of broadband and wifi networks, limited access to the common internet was a reality that shaped much of my origins in the early 2000s. Despite that, I was drawn to the web, and was running my own set of local web servers (WAMP, specifically, Windows 2000 with Apache, MySQL, and PHP) on a wired router and between computers with patch cables (all offline). As a thirteen year old kid, without any discretionary income, I dived into the scant few books I could get at the local library, as well as taking advantage of open source where I could (throwback, SourceForge was big back then). Apache VirtualHosts combined with edits to the Windows hosts file go a long way to making no internet access feel like some interact access (even though it was all me). In short, I've always leaned towards the side of building the web rather than consuming it (which is one of the reasons why I've never really enjoyed using Wordpress or many of the other headless SaaS CMS services. If you're new to the distributed internet, welcome! If you're finally coming back, welcome home.

  • Disclaimer: I am not well educated in food and diet, I am a programmer, not a nutritionist. I recommend doing your own research before opting to use meal replacements. Over the last month, I've been supplementing my meals during my professional life with Huel, a meal replacement that includes a meal's worth of calories and nutrition packed in a easily consumable drink. My typical choice of meal replacement is a competing product, Soylent, but I came into contact with Huel from instagram advertisements, as well as my cousin having previously been a user of the product. Unlike Soylent, Huel has a gritty texture to it, but the flavor is a world's difference. Compared to Soylent Powder in its original flavor, the original flavor of Huel is quite appetizing, and without an "artificial" feel or aftertaste. When I had been consuming powdered Soylent on the regular, it was out of a desire to expedite my meals, rather than for flavor or nutrition, so Huel was a pleasant surprise. While Soylent will always hold a special place in my gut as my first exposure to meal replacements, I think Huel will be my powdered choice going forward. It'll probably be the product I recommend to others as well- while I still enjoy Soylent ready-to-drink bottles, they are admittedly, an acquired taste.

  • While I consider myself a frontend developer, and find the most joy and energy from working in JavaScript and the browser, my roles have traditionally been full stack, and I've always been in a position where I know just enough about the backend stack of the projects I work on to be dangerous and unblock myself. Last month, I rejoined the team at one my previous employers, but I've into a new (and admittedly, desirable) situation: The backend that I work with is in Python instead of C#.NET. I've dabbled in Python in the past for simple scripting and automation, but I haven't really taken a deep dive into building a non-trivial tool in Python yet, so it's a good time to take a dive into Python and get set up. I do nearly all my personal development on macOS, so the following will be written with that in mind. There are many ways to get Python installed and get a suitable environment established for development, but what I've chosen is pyenv and poetry. macOS ships with Python, but it's not a recent version, and it's managed by the system. To ease management of dependencies and updates, I'll be installing pyenv through Homebrew. Homebrew provides a package manage for macOS, similar to linux package managers like dpkg or RPM, commonly via as apt or DNF/yum respectively. Beyond running brew install pyenv, there's some set up to be followed in the pyenv repo. At this time, the latest release of pyenv is 2.2.5, which has 3.10.3 at the latest release of Python available, so install that and set it as the global python. Python dependency isolation is usually handled through virtualenvs or venvs, which will allow package installation to occur within that environment and not affect the base python install. Coming from the JavaScript ecosystem, where npm and yarn make dependency management and dependency isolation incredibly painless, I opt for using poetry, which provides a similar experience to frontend package management. Poetry will even create a virtualenv automatically and manage dependencies for the project in there, so it's often ready to use on a new project with minimal effort. The recommended method to install poetry is through its installer script. poetry installs to \~/.local/bin, which should already exist in $PATH on macOS. Once it's installed, create a new project directory, and initialize poetry in it. Follow the prompts to set up poetry for that folder. After that, dependencies can be added with poetry add, not disimilar to yarn. If a virtualenv doesn't exist at this point, it will be created when adding the package. After that, poetry run can be used to run scripts and executables in its environment. There we have it, Python running in a npm-like configuration on macOS.

  • Welcome to a new topic on Everyday Carry, which I like to think of as "life changing capitalism", in a good sense. The baggage that I bring with me (figuratively and literally) affects how I react to situations, where I decide to go, and what I decide to do while I'm out and about, and so it's a good idea to get my daily possessions codified in writing for future review and reflection. Frequent Flyers The frequent flyers are items that I take with me almost all the time, often due to their ability to hold other objects and essentials, or due to their versatility and adaptability. Peak Design Everyday Carry Backpack v2 (30L) Peak Design Packable Tote Nomatic Wallet Uniqlo AIRISM Mask OnePlus 9 iPhone 12 mini The Peak Design bags are some of the most costly bags I've had in possession, but they're well worth the investment. The build quality is superb and they fit everything I bring with me, and all the unexpected surprises too. The packable tote provides storage when I need it, and is out of the way when I don't. The Nomatic Wallet is a relatively new addition: previously, I used combination wallet and phone case. My choices in phones are fairly uninspiring. There are some things that Android does better, and the overall software and user experience on iOS is sleeker and polished. The OnePlus is the only one of the two devices that has a sim in it, but I find myself reaching for the iPhone rather than the OnePlus for smartphone photography. The Heavyweights MacBook Air 2020 (M1) MacBook Pro 14" 2021 iPad Pro 11" 2021 with Magic Keyboard Olympus E-M10 MkII, Lumix G 20mm f/1.7 Nintendo Switch and games My first Macs were the Mid-2009 and 2008 Core 2 Duo MacBook Pros, with the 2009 unit being my daily laptop until I replaced it with a Surface Pro back in 2017. The Surface didn't last quite as long, only seeing around 3 years of use before replacement. I've been pretty disillusioned with the MacBooks that Apple has been putting out since 2009, but they've made great strides with the M1 models. Generally speaking, I'll pick one of the MacBooks depending on the personal workload I expect to do outside of work, and pair it with the iPad Pro, which serves as my main mobile device, drawing tablet, and a second screen for one of the Macs. Desktop quality performance out of these ARM chips makes them a no-brainer for use away from an outlet, and they're light to boot. The E-M10 doesn't get to see quite as much use on my normal daily commute to work, but it's a weekend companion. Bits and Bobs Depending on the items above, I bring an additional assortment of accessories, with my favorites being the Basic Stand, the MX Keys Mini, and the MX Master 3 with a DeltaHub Carpio. I generally bring a couple Anker USB-C cables and chargers, and have an Anker Power Bank for the phones.