DeveloPassion's Newsletter #119 - Baby steps
Edition 119 of my newsletter, discussing Knowledge Management, Knowledge Work, Zen Productivity, Personal Organization, and more!
Hello everyone! I'm Sébastien Dubois, your host (I'm on Twitter). You're receiving this email because you signed up for DeveloPassion's Newsletter. Thank you for being here with me ✨
Welcome to the 119th edition
Another week, another newsletter! I hope that you all had a great one 🤩
This week, I've continued working on Knowii. I'll tell you more in the lab section!
If you enjoy this newsletter and get value from it, please consider becoming a subscriber. You'll be able to join our community and meet like-minded people while enabling me to keep creating content. If you prefer, you can also buy one of my products on Gumroad or offer me a cup of coffee.
Alright, let's gooooo 🚀
The lab 🧪
Gareth, a friend on the Slack PKM took some time to analyze my revenue on Medium. The graph is rather interesting and helps me reiterate a point I've made before: cross-posting articles on different platforms is a valuable approach. I've published most of my article on my own domain and cross-posted those on Medium for a while, and it generated ~$100/month on average, without me doing anything specific for that platform.
What matters is setting the canonical URL to my own domain, to make sure I keep control over the search results. Other than that, it's an interesting source of income. I think there's value in providing more options for my readers. Some already have a Medium subscription and don't necessarily want one-more on their list. The main downside I see is the dilution. Some of my readers will just follow me on Medium and might miss some of my content and promotions I run from time to time...
I didn't have as much time as I wanted for Knowii, but I was able to make some more progress this week. I implemented social logins in production and a solution for usernames.
When users log in using a social provider like Google, Twitter or GitHub, we (developers) don't always have the same information available. In particular, the username is not always there. GitHub provides a "username" field, but Google does not. In their case, the email also the username, and it's not something I want for Knowii... As a community platform, I want users to be able to use their real name and/or a nickname/username. I see a lot of value in the anonymity. That's why I needed to build a little system to take care of that. Now, when users sign up using Knowii, they'll be able to pick a username:
And they'll directly see if it's still available:
I also needed a way to generate a random username so that users who log in using Google also get one (albeit temporary):
At this point, I didn't want to have a complicated multistep onboarding process. I want users to be able to dive right in, without being bored by administrative overhead. The username generation mechanism took me a lot of time to implement. I needed to write PL/SQL functions to randomly pick nouns, adjectives, and random numbers, make those long enough but not too long, etc. Finally, the implementation wasn't easy because I couldn't see the logs when something went wrong 😂
Anyway, one more step forward!
New articles
Quotes of the week
- "Do or don't, there is no try"
- "Awareness, not age, leads to wisdom" — Publius Syrus
Book of the week
Thinking and learning
Indie Hacking and bootstrapping
Tech
Vercel launched its storage solution, including PostgreSQL databases. This is a really interesting move:
Names are not so simple to handle. Take time to read this to remove wrong ideas from your mind: