February 9, 2020

Keep newsmail.today Flying

I have started working on newsmail.today when I have realised that I was spending more time on Hacker News and reddit than I would be happy with, and I was also finding it exhausting to catch up with “things” that I was genuinely interested in. My setup used to consists of Feedly + Reeder on my iPhone & iPad, and frequenting HN and reddit for discovering new sources. Through time, I became addicted to “scrolling”, so my Pocket kept growing with articles I thought would be nice to read but never read as scrolling was more fun.

I have registered newsmail.today on 19 June 2019 and I have been working on it ever since as a solution to my own problem. I was never a big fan of e-mail newsletters up until I subscribed to Financial Times, whose topic-oriented personalised newsletters are nothing but amazing. Not only content-wise, but also because the workflow of e-mail newsletters mimic physical newsletters so well: there is no fear of missing out things nor a sense of urgency to check, because the onus on the mailbox that acts like a buffer until you are ready to start processing them. Digital newsletters are as persistent as you would like them to be unlike links that rot, and any decent e-mail client would also make them fully searchable. So that’s like Feedly, Pocket, and Reeder combined except that e-mail has been around since 1973.

Modus Operandi

The hardest part of creating newsmail.today was DevOps, that is, dealing with the disparity between development & production environment (and eliminating it), deployments, monitoring, securing, and so on. The things that are not taught at the universities, nor explained in the tutorials, yet learned by practice and/or mistakes.

Using Docker was a blessing, because it eliminated the disparity between different environments to a great extent and Docker and docker-compose files were self-documenting, and it was a curse, because deploying new versions were still quite “manual”, and thus slow, tiring, and error-prone. The development has stagnated because of that for a long time as I was simply burnt-out and the fun in working on a project I truly cherished was gone.

Dokku has changed everything, and it is now the cornerstone of the infrastructure that powers newsmail.today. It is a self-hosted Platform-as-a-Service that makes deployment as simple as git push dokku master. All of a sudden things were fun again, and I had the luxury of being able to focus on developing the project without having to worry about deploying it.

How I Stopped Worrying and Learned to Love the Structure

Structure is the recurrent patterned arrangements which influence or limit the choices and opportunities available. Agency is the capacity of individuals to act independently and to make their own free choices.

Structure and Agency - Wikipedia

If you are contemplating about starting your own business or a pro-bono service that you host yourself, or anything really, my only advice is that agency is incredibly overrated in the context of software development where it has little to no significance. The capacity to make your own free choices is not a freedom but a burden in the context of finding a reliable 3rd-party library for your micro web framework of choice for CSRF protection, whereas being able to switch between AWS and DigitalOcean is a big plus that I can justify easily; hence I regard the time invested in Flask as wasted but not in the case of Dokku for instance.

Another trade-off is between self-hosting and outsourcing things, but for many small businesses the cost of outsourcing makes self-hosting often the only choice. Regardless, I believe there has never been as many opportunities for an entrepreneur to bootstrap their business than before, thanks to the widespread culture of free and open-source software and competition-driven generosity of companies providing comfortable free-tiers of their services. For instance newsmail.today uses GitLab for git hosting and CI/CD pipelines, SNYK for dependency scanning, Papertrail for log aggregation, and Healthchecks.io for uptime monitoring, all available for free.

I am glad that I have managed to made keeping newsmail.today flying fun again. Today is going to be the first day of opening it for private beta and I am quite happy & nervous to see how it will perform, but there is definitely a charm in not only creating but operating something in the service of others.

Bora M. Alper

© newsmail.today 2020