I can’t believe it’s been over two years since I last published an article here! Time really flies. The crazy part is that over these last two years, I’ve done more writing than ever; it just hasn’t been public. Several years back, I started a journaling habit , and since then, most of my writing energy has been redirected from my website to my private journal. While…
I’ve always been the sort of person who works with music in the background. Ever since I was a little kid writing code in my bedroom, I’d routinely listen to my favorite music while programming. Over the last 12 years, as my responsibilities have shifted from purely writing code to writing articles, recording videos, and participating in meetings, my habits have changed. Out of necessity, I’m…
As I’ve mentioned before , I’m a bit of a personal finance nerd. I’ve been carefully tracking my spending and investing for many years now. In particular, I find the investing side of personal finance fascinating. For the last eight years, my wife and I have split our investments roughly 50/50 between broadly diversified index funds and real estate (rental properties). Earlier…
2021 was a challenging year in many ways. Other than the global pandemic, many things changed in my life (some good, some bad), and it was a somewhat stressful year. In March of 2021, I almost died due to a gastrointestinal bleed (a freak accident caused by a routine procedure). Luckily, I survived the incident due to my amazing wife calling 911 at the right time and the fantastic paramedics and…
I’m a bit of a sustainability nerd. I love the idea of living a life where your carbon footprint is neutral (or negative) and you leave the world a better place than it was before you got here. While it’s clear that there’s only so much impact an individual can have on carbon emissions, I like the idea of working to minimize my personal carbon footprint. This is a big part of the…
I’ve been building and working with REST APIs for many years now. Recently, however, I’ve been spending more and more of my time working with (and building) GraphQL-based APIs. While GraphQL has generally made my life easier, especially as I’ve been building and consuming more data-heavy APIs, there is still one extremely annoying problem I’ve run into over and over again:…
The “feature snowball”, as I like to call it, is a product and time management technique I’ve been successfully implementing for the last 10 years or so. I’ve used it across many personal projects, work projects, and consulting projects with great success. Today, I’d like to explain what the feature snowball method is, why you may (or may not) want to adopt it…
I live in the bay area of the United States in a suburb of San Francisco. At the time of writing, I’ve been in isolation from the world for roughly 3 weeks, with no clear end in sight. And while the stock market is currently doing unusually well , there’s no question in my mind that the coronavirus pandemic is going to cause a lot of financial hardship for just about everyone over…
Time is valuable. In fact, time is the single most valuable thing any of us have. That’s why I think it’s so important not to waste time if you don’t have to . Every second you waste working on something unnecessary is literally cannibalizing your life. Over the span of my professional career, I’ve spent the vast majority of my time building developer services at small…
I love API services. It still feels magical each time I query an endpoint and get back some interesting data or cause some complicated functionality to occur. I’ve built my entire career (and hobbies) around API services. I’ve only ever had one job (which only lasted several months) that wasn’t focused on building or working with API services for other developers. To say I am…
I’ve always been fascinated by money: how people earn it, spend it, and invest it. What fascinates me most about personal finance is how personal it is. Everyone has different goals and desires, and everyone has to pick and choose what to do with the limited resources they have. When I turned 24 (I’m 31 today at the time of me writing this) I took a serious look at my finances and…
Seriously. Just stop it already. I don’t know what it is, exactly, that drives so many developers to store session information in local storage , but whatever the reason: the practice needs to die out. Things are getting completely out of hand. Almost every day I stumble across a new website storing sensitive user information in local storage and it bothers me to know that so many developers…
Over the last few years you might have noticed banners like this one popping up on a lot of web pages: These banners are a direct result of the passage of the EU directive, sometimes known as the Cookie Law, back in 2011. The EU passed this directive to improve consumer awareness about how their data is being used by websites and give consumers the option not to participate in the data collection…
Several years ago I created a free web service, ipify . ipify is a freely available, highly scalable ip address lookup service. When you query its REST API, it returns your public-facing IP address. I created ipify because at the time I was building complex infrastructure management software and needed to dynamically discover the public IP address of some cloud instances without using any…
I’m a big fan of cryptocurrencies and blockchain technologies. They have a number of interesting applications, one of which I’ll be discussing today: monetizing your websites. Developing and running a successful website can be really challenging. If your website doesn’t directly charge users for a service, making money to cover your expenses (and potentially turn a profit) can be nearly…
I currently own 47 domain names. I know it sounds like a lot, but that’s down quite a bit from my all-time high of 78 ~two years ago. I’m constantly thinking about fun websites and businesses to build; I can’t help it. For the last ten years or so, I’ve probably acquired around ten domains per year as a way to satisfy my never-ending need to build silly things. My most…
For the last handful of years I’ve been too busy to do a lot of things. Too busy to launch new products on my free time, too busy to go on trips for fun, and too busy to spend time with family and friends. I’ve spent the better part of the last few years working on company projects, trying to leave a lasting impression with my work. While this has been moderately successful, it’s…
Every now and then I’m reminded of just how much I hate software licensing. Instead of doing what I normally do and silently complaining to myself, I figured I’d mix things up a bit and write a good old fashioned rant >:) A few days ago I got an email from a developer working at some enormous corporation: Hi Randall, I am trying to use your flask-dynamo project at <big corporation…
Over the past handful of years, as I’ve been building and working on several very large and very public API services, I’ve noticed that almost everyone I speak with is a zealot for availability. The API service must be up at all times! Availability is the number one most important thing at our company! We have an entire team of devops people working around the clock to ensure you get…
In a couple short months, I’ll have been at Stormpath for two full years. It’s pretty insane how fast the time has flown by. It seems like only yesterday I was writing about my decision to move to Stormpath, and leaving my startup behind. Since I’m finally taking a bit of a break to sit back and reflect about everything that’s happened over the past two years, I figured now…
It’s hard to describe in words how painful it is to lose a best friend – so instead, I’ll simply tell you about how amazing having a best friend can be. I didn’t have a bad childhood. I grew up in a family with two parents who loved me and supported me – and although we had fights and disagreements all the time, I always felt loved and care for. Despite this, at some…
NOTE : You’re currently reading part 2 of a series I’m writing called “Building a Heroku Addon” . If you haven’t read the previous installment , you’ll want to go do that before continuing. Welcome back! Glad to see you again. In this article I’ll be sharing my Heroku addon plans with you. I’ll discuss exactly what I’ll be building, what…
I hope it’s no surprise to any of you that I’m a big fan of Heroku . If you’re not already familiar with the service, it’s probably the most popular, well designed, oldest, and best all around platform-as-a-service company. Heroku hosts all sorts of applications ( large and small ), and does so in a best practices way. If you want to learn more about Heroku, you might enjoy…
One of the disturbing trends I’ve noticed over the past few years is that more and more API services are slowly ditching support for HTTP Basic Authentication ( aka: Basic Auth ) in favor of OAuth. As someone who’s been: Using REST API services for years. Has built numerous REST API services. Has built and ran a REST API company. Is currently working at a large developer-focused REST…
When Sami and I first got married ( almost 5 years ago, now! ), our biggest source of marital frustration and unhappiness was chores. More specifically: the fact that I didn’t do them. Growing up, my mom always ran our household, and did everything for me and my siblings: laundry, dishes, cleaning, cooking – all of it. After getting married, I subconsciously expected the same. So I did…
Life can be really hard sometimes. Everyone has a million responsibilities: family, friends, work, hobbies, ambitions, etc. It can all be a lot to deal with on a daily basis. Over the past several years I’ve experienced this first hand: I’ve gone from having practically no pressure and responsibility at all to having important jobs and roles at companies, a real family to spend time…
I’ve got many different interests. Chances are, if you’re reading this, you found this site through my technical writing ( it’s what I’m best known for ). What you may not know, however, is that technical stuff isn’t really my main passion. My main passion is personal development and self improvement. For me, technical stuff ( programming, writing, startups, etc. ) is…
I’ve been incredibly lucky in my life as I’ve always known what it is I enjoy doing – what I love. I realize that not everyone is so lucky. When I was just a kid, my family received a computer as a gift. This computer had some video games pre-installed on it, which my brother and I ended up immersing ourselves with. Through video games, I came to appreciate technology, and this…
As of late, I’ve been spending a fair amount of time writing Node.js code. While I’m not a huge Node.js fan ( yey Python + Go! ), I find myself liking some parts of the language quite a lot. Over the past few months I’ve been working on a really awesome authentication library for Node.js: express-stormpath , and have learned quite a lot about Node as I’ve been working on it…
Earlier today I was accused of spamming the Flask subreddit ( you can see a link to the offending post here ). What essentially happened is that I wrote a post on the Stormpath blog about the new Flask library I wrote, then submitted the blog link to Reddit. Several comments were left, and I was called a spammer for continuously posting Stormpath related stuff to Reddit. The worst part? The…
In the past, I’ve written a bit about service oriented architecture , what’s great about it, what’s bad about it, and how I’ve used it extensively in past ventures with incredible success. Today I’d like to dive deeper on this, but cover a parallel topic: why Heroku is quite possibly the best platform for hosting service oriented web apps. If you’re not already…
Since I first started working as a “professional developer” , my primary focus has been building a lot of different things – fast . Even when I was younger and spent all my free-time after school building projects, I’d exclusively focus on building lots of little services and command line programs without much regard for their longevity. I tend to get bored of working on…
Three weeks ago I joined Stormpath as a Developer Evangelist. This is my first Developer Evangelist job, and so far it’s been a lot different than anything I’ve done before. As many of you know (if you’ve read my blog), I’m a programmer, and have been programming almost every day since I was 12. To say that being a Developer Evangelist is different than being a programmer…
As I wrote the other day , my startup OpenCNAM has been doing really well over the past two years since it’s launch, and lots of exciting things have been happening. While I will always love OpenCNAM and all the amazing things we’ve accomplished over the past few years, I’d be lying if I said I was still the best person to move the company forward. Since I first got involved in…
Wow, the past ~2 years have been totally crazy. Almost two full years ago I launched OpenCNAM , with this post here on my blog. Since then I’ve learned a ton, and wanted to take some time to reflect on what things I did right, what things I did wrong, and hopefully share an interesting story along the way. If you’ve got any questions, feel free to drop me an email . Launching OpenCNAM…
For the past few days, I’ve been reading an excellent new book: The Tipping Point , by Malcom Gladwell. Despite the relative wordiness of the book, it’s an incredibly great read, and I’d highly recommend it to anyone looking to improve their life (and the lives of those around you). The subject of the book is something I find particularly interesting: why do some things become…
Oh man. I don’t do this often, but, I’m going to do a bit of ranting >:) Why? I’ve been working with telephony stuff for almost 5 years now, and have a pretty decent understanding of how things work. Truth be told: the entire telephony industry is one huge hack. All the big players are using old technologies and standards which are frustrating to work with, and cause loads of…
Two months ago I was having a pretty lousy time. I was in a serious rut. The new project I’d been working on was struggling with various scaling issues (something I’m going to cover in subsequent articles), and I was routinely pulling 16 hour days trying to get things working without much luck. In a desperate attempt to find some sort of relief, I was looking through my Ideas Google…
A little bit of life advice to myself for future reference: the next time you’re not feeling great – feeling lonely, sad, whatever it may be – just get up and fucking do something . No excuses. Want to sit there and feel bad for yourself? Grow the fuck up! Sometimes you’ve got to be hard with yourself, there’s just no getting around it. You’ve got to get up, go…
Today I had the unfortunate luck of having to integrate an XML web service into an application I’m working on. As you might already know, parsing JSON data with Python is really simple thanks to some great built in tools. I wish I could say the same thing for working with XML! Unfortunately, while Python does include built in XML processing tools, they’re not exactly the easiest thing…
Lately I’ve been rereading one of my favorite books of all time: The Passionate Programmer . While every page of this book contains an important lesson, I wanted to write about a particular one today. NOTE : If you had to pick one book to read to become a better programmer (and person), The Passionate Programmer would be my recommendation. Every programmer should own a copy –…
In this article series, I’m going to show you how to build an API company from the ground up, step-by-step. I’ll be covering the entire process (in depth), so if you’re a programmer who’s always wanted to build their own company, now is your chance to stop thinking about it and start doing it ! No more excuses! Intended Audience I really love web APIs. Unfortunately, due to…
Today is my 25th birthday. I promise you I won’t bore you with the details of what I’m doing for my birthday, but I did want to spend a few minutes and write about some of the things I’ve learned in my first 25 years of life. Every person will live life in their own way, so don’t take my experiences as your own – make your own decisions, and do what makes you happy.…
I’ve been using PostgreSQL for the past few years as my primary database of choice. I figured I’d take a moment to write about one of the coolest features I use on a daily basis, that you may find interesting (if you’re not already using it). NOTE : I use Heroku Postgres to host all my PostgreSQL instances – so these instructions will work for you if you’re using…
Ever seen a truly fearless person? If so, you’re likely one of the few people on earth who have. Truly fearless people are incredibly rare. Having the courage, willpower, and dedication to your goals to face them without fear is something that not many people are willing to do. Being able to crush whatever obstacles are in your way (regardless of how large and imposing they are) is an almost…
All my life, I’ve been the sort of person that likes to sleep until 2pm, then wake up and do things. For as long as I can remember, I’ve been more awake and active at night than during the day. Being awake at night just feels natural to me. It always has. Starting two weeks back, I decided to change things up a bit, and try something new. Instead of waking up at 1 or 2pm each day, I…
There are certain practices every programmer learns at one point or another, which greatly improve their productivity. All the best productivity hacks for programmers are obvious things (in retrospect), but sometimes having them explained to you and presented in a direct way will trigger the Oh yeah! I should be doing that! light bulb which eventually leads you to implementing these practices.…
Last month I started actually using bitcoin for the first time. I’ve used it in the past, but never had any serious interest in the stuff until recently. Since I’m a relatively new bitcoin user (and software developer), I thought I’d share my thoughts about bitcoin at this early stage, for any of you with similar backgrounds and interest in bitcoin. Why I Decided to Give it a Try…
A couple of weeks ago, my friend Alven and I built a small webapp together that I wanted to share with you today: motivation.io . The idea behind motivation.io is simple: when I go workout at the gym and lift weights, it requires a lot of effort and energy. What I like to do before I go to the gym is open YouTube , search for bodybuilding motivation , and then watch a video or two to get myself…
While I’m not one to advocate many personal development hacks , there is one hack that I think everyone dedicated to personal growth and success should know about: have high standards for yourself . Unlike many of the other hacks you may read about, having high personal standards will almost immediately force personal growth, and will help you live up to your potential day after day –…