This is part 1 of this series
In part 1, we focus on getting a basic Django project up and running with React and Typescript using Vite.
Set up dev environment Python virtual environment There are many options to manage virtual environments and dependencies in Python. Here I’m using pipenv.
Create a new virtual environment and activate it:
pipenv shell Install Django
pipenv install django Git This is a good website to create a gitignore file gitignore.
I’ve recently needed to set up a new web app. In my last job (currently on a one year break!), the tech stack was well-established. Now, out of the cage and with the freedom to choose (which is awesome!), I’m feeling a bit overwhelmed by the sheer number of options available.
To avoid analysis paralysis, I’ve decided to pick the things I liked about my previous job’s stack and see if there are suitable alternatives for each element.
I’m having so much fun with this Page Redirect extension I’ve created. Initially, it was created for two main usecases I have:
Automatically set a homepage. For example, it can change the Facebook homepage (Newsfeed) to the Facebook Feeds tab. Open the current YouTube video in Invidious. This removes ads before you watch. Thanks to the use of regular expressions, the extension helps me in other scenarios as well.
Since YouTube started cracking down on ad blockers, I’ve been using Invidious more and more. There are many public instances of Invidious (https://instances.invidio.us/) that I can choose from.
However, Invidious isn’t great for content discovery. I find myself frequently going back to the YouTube homepage to browse content. For each video I want to watch, I copy the ID and open it in Invidious. But that gets tedious quickly.
I’ve found a creative use for the Safari extension, Page Redirect, that I blogged about recently.
My Facebook Newsfeed is full of irrelevant content. I keep getting suggested posts from people and sites I don’t even follow.
In 2022, Facebook announced a new Feeds tab which, according to the announcement, is:
a new way to find the most recent posts from your friends, Favorites, Pages and groups. You can curate a Favorites list of the friends and Pages you care about most and filter their content in this new tab.
TL;DR:
This is a noob’s perspective on Safari Web Extension development. I did not have prior experience in this area or Apple Development ecosystem in general. I created a total of four Safari Web extensions in this fun experiment: fuzzy tab search, no duplicate tabs, linkding bookmarklet, redirect to invidious. XCode is not great for web extension authoring. Web extensions must undergo the same review process and adhere to the same set of requirements as regular apps in the App Store.
When I started learning Vim 6-7 years ago, I found all the micro-movements, such as 4j or d3w, to be completely insane. They didn’t seem to enhance productivity at all. The time it would take for me to count the number of characters was probably longer than just grabbing the mouse and clicking. I didn’t really understand why people would use Vim.
Now, I still barely use those micro-movements, but I have come to love how Vim enables me to craft my own workflows.