Good writers write every day, right? It’s not a calling, but more of a muscle that needs to be practiced day by day. That’s where this blog used to stand, first on wordpress, then standalone, then I lost the desire…
Acts as Taggable On Tutorial with Rails 5
For more posts in this series, check out my tutorial on Devise Authentication with Rails 5. Acts as Taggable On is one of my favorite underrated (and awkwardly named) Rails gems. There’s almost always the need to search or organize objects in…
5 Hidden Moscow Bars You’ll Never Get Into
Moscow does hidden bars right. There’s no pretense of secret doors hidden behind a bookshelf, or phone booths where you dial just the right number. No. Moscow speakeasies do not want to be found. They conceal themselves well — behind unmarked metal…
The types of nightmare clients you get as a freelancer and how to avoid them.
This article is a part of my series on freelancing in China. For more articles on the subject, click here. Over my time as a freelance web developer, I’ve become pretty good at sniffing out clients who will be a…
April-May 2018 Reading list
Truth be told, my cooking style is all over the place – I’ve never met a plate of (gluten-free) pasta that I haven’t fallen in love with; I try to make vegan Buddha bowls whenever I can. But at the…
Always get paid before you start a freelance project, except in this one case..
This is a part of my series on freelancing in China. For more articles on the subject, click here. I recently had to cancel a contract with a freelance client, which is something I hadn’t had to do for a…