Tech
- Pause the video at the frame you want to capture.
- Open the browser console (typically by pressing
F12orCtrl + Shift + I). - Run the following JavaScript code to remove the bottom gradient and control bar:
- I couldn’t figure out how to import CSS. The Remix documentation referred to Vite’s, which was technology-agnostic and suggested that importing CSS should be straightforward. However, my attempts failed. When simple tasks become difficult, I understand the strange popularity of Tailwind.
- Vercel has its own package to run Remix, leading Remix to remove their Vercel starter template from their repository. From an outside perspective, it seems ego battles are harming the developer experience.
- Sass seems to be considered outdated compared to all the PostCSS options.
How to Remove YouTube Controls from a Paused Video for Better Screenshots
If you’ve ever tried to take a clean screenshot from a paused YouTube video, you’ve probably noticed the overlay controls and gradient at the bottom of the screen that get in the way. Fortunately, there’s a simple solution using JavaScript in the browser console:
The steps to remove YouTube controls are:
document.querySelector(".ytp-gradient-bottom").remove()
document.querySelector(".ytp-chrome-bottom").remove()
After running this, the video controls and gradient will disappear, allowing you to take a clean screenshot of the paused video.
💻
It’s impressive that Marques Brownlee and David Heinemeier Hansson have achieved high profiles in the tech community while also reaching international levels in sports—ultimate frisbee for Brownlee and car racing for Hansson. 💻
When I had to choose between Notion and Craft, I picked Craft mostly for its offline capabilities. I have been questioning my choice ever since, especially after Notion introduced databases. I felt confident it was time to switch but Craft just announced objects. I wonder if that will be enough to close the gap. Craft probation extended. 🖥️
I have been using Base to handle SQLite databases on macOS for as long as I can remember. Today it failed me for the 1st time in a long time. It has not been updated in 4 years, which is not a problem per se but shows that my issue won’t be fixed anytime soon. So I am on the market for a new SQLite app of choice.
Trying Ducklet and Beekeeper Studio. 💻
Thoughts about the state of web tooling
I spent some time yesterday evening with a starter template of Remix + Vite. Here are a few thoughts:
I still believe the web is moving towards some consolidation among tools, but it’s very frustrating right now. 💻
Too many menu bar apps. They do not thrive with the MacBook Pro notch. We still need windows. 💻
The YouTube app on Apple TV is so frustrating to use. When opening a link from another app — such as the awesome Play — it will present the user profile selection screen first and then will lose context and present YouTube home screen. And ads seem much longer than on the browser. An alternative such as Juno on the Vision Pro that I read about would be awesome. 💻
Clicking “Trust & Enable” for every macro every time Xcode updates to latest package versions sucks. 💻
I wrote a Swift script to find iOS simulators identifiers. What I did over time explained here: bootstragram.com/blog/find… 💻
Got reminded of this awesome joke today.
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.
💻
Un membre de ma famille m’a demandé d’inspecter un email annonçant une lettre recommandée électronique venant de AR24 pour savoir si c’était un message légitime ou un scam. Après 10 minutes d’investigation, il s’avère que c’est légitime mais c’est comme si La Poste, Docaposte et AR24 faisaient tout pour avoir l’air que ce soit l’œuvre de pirates. 🤦♂️💻
I am not a big fan of the latest iterations of Craft: global search results are harder to read, calendar/journal entries are harder to navigate in, and overall new features seem to focus on parts I have no interests in, rather than approaching Finished Software.
Notion and Obsidian might get back on the table pretty soon. 💻
This Chores 2.0 demo fake app is obviously hilarious and could be life-changing. But my point about the Apple Vision Pro being still holds. 💻
How much the Apple Vision Pro costs… environmentally
The carbon footprint of an Apple Vision Pro amounts to 335kg of greenhouse gas emissions, slightly higher than the 300kg emitted by the 16-inch MacBook Pro I currently use. This represents approximately 15% of a yearly emissions budget of 2 tons, or about 3% when depreciated over a 5-year period.
As a programmer specializing in Apple technologies, I am naturally curious about the Apple Vision Pro. However, I have decided against purchasing one, not primarily due to financial constraints, but because I believe its environmental impact exceeds what is justifiable for a product that remains largely nonessential.
For numerous reasons, I hope the Apple Vision Pro fails to gain traction. However, it seems unlikely. Therefore, I urge you to consider its environmental cost as seriously as its monetary expense before making a purchasing decision. Please aim to offset emissions elsewhere, just as you would seek to save money in other areas if you choose to acquire one.
💻
I gave swift-openapi-generator a try to interact with Apple’s own App Store Connect API. The result was… unconvincing.
1️⃣ Compile time of my CLI reached 19 minutes:
[671/671] Linking mobile-cli
Build complete! (1137.97s)
2️⃣ The size of the CLI was 348M.
3️⃣ The command I wrote crashed because the API returned values that were not included in the OpenAPI spec.
Not a great 1st experience. 💻
Jekyll still has a pulse. Should I reconsider moving on? Probably not. Since Ruby is not as needed for iOS development as it used to (CocoaPods being replaced by SPM, fastlane being replaced by Xcode Cloud), it became my 3rd language. Soon to be 4th if I hold on to my resolution to learn Rust this year. I also found out about Astro, which is a good mix between Jekyll and going full on Remix. 💻
I just wrote my mission statement as a programmer. A little introspection never hurts. Especially when you find out you stand where you wanted to be. 💻
I iterated on my stupidly simple colour tool: write any colour hex code in the form field and the page will use it as a background colour. With shareable URL.
At first I wanted to demo theoretical properly typed forms flows on a very simple form but when I realised I did not have much time, I made the scope smaller.
But you know what? I love it. 🌈 💻
I just released version 0.2.0 of swift-blocks. It is a package of all the code I repeatedly use in all of my Swift projects. I love it. And maybe you will too. I also wrote a post to introduce it to the world. 💻
Johanna Stern interviews a guy who stole more than 300k$ from iPhone users through social engineering. TL;DR: Do not share your passcodes. Do not let people use your iPhone without supervision. I usually do that with 1 big exception: when I hand over my phone to my kids… and their babysitter. I wish iOS could provide a kids mode with an allow list or deny list of apps that are safe to use by anyone. 💻