Having a daily routine is important as it allows you to coast through the day knowing what comes next. For most people, daily routines include going to work, having dinner, picking up the kids, etc. and once it’s ingrained into your daily life it seems to just happen.
I’ve noticed for me my routine of creating stuff changes based on the seasons. In the winter when it’s cold and it gets dark at 5 PM, I tend to spend more time on the computer writing, drawing, or coding. Then when the time changes and the weather turns warm I want to be outside away from all this.
A good example of this is this blog. Check out the yearly posting schedule. From October – February I posted a ton, then the time changed and I’ve stopped writing.
At the end of the day, there are only 24 hours and if you can’t keep up a daily habit because you’d rather do something else don’t let that bother you. To quote Olin Miller, “You probably wouldn’t worry about what people think of you if you could know how seldom they do!”. Just push it aside and pick it up again when you are ready to start back.
This is also why I’m a fan of TV shows having seasons, Podcast doing seasons, and even software development going through sprints. It allows you a dedicated time to do something then move on to something else. When the end is in sight you can push to it.
Derek Sivers has a blog post from back in January on the benefits of a daily diary and topic journals and this part is something I started trying:
There are certain subjects in your life you think about a lot. People, places, hobbies, health, plans, finances.
For each subject that you might have ongoing thoughts about, start a separate “Thoughts On” journal. Whenever you have some thoughts on this subject, open up that file, write today’s date, then start writing.
I’ve started doing this in my notes app and once I see something that makes me think I open it up and start writing.
Derek describes his thoughts on like this:
I find it so useful to keep my thoughts on each subject together, because I can see my past thoughts and current thoughts in one place. I can see how my thoughts on this subject have evolved or keep repeating. Sometimes I think I have a new thought on a subject, so I open up the file and write it down, then afterwards I see I had that same thought a year ago and had forgotten about it. If you care about your thoughts, keep them.
For me, each has been more of a rant. I see something on the internet and that enrages me so I write down all my anger. Then I’m done with it and I don’t have to think about it again. Next time you want to argue on the internet write it down and move on with life. I promise you’ll be happier.
Today I hit an interesting problem and when creating a report for an internal billing system. The system itself automatically bills each customer every year and we have two types of customers. One that pays with a credit card through Stripe, and another type that we invoice and their billing departments pay.
Because invoices take longer for us to be paid we always create the invoice 30 days before it’s actually due and for Stripe customers, we do it 7 days early. This way if anything goes wrong like a declined credit card it gives them extra time to fix it before becoming delinquent.
Of course, the side effect to this is it causes our stored “next billing date” to be 7 or 30 days off depending on the type of customer, and we keep the original date in case the customer ever decides to switch from one to the other.
With that setup out of the way, I needed to create a list of customers ordered by when they would be billed. Like all things, there are many ways to solve this but for this, I decided to do it directly through SQL. What I wanted to happen was if an organization is a Stripe customer then creating a “real_bill_date” set to 7 days before it’s due, otherwise create a “real_bill_date” to 30 days prior.
Here is the query I was able to create:
organizations.stripe_active = \'1\'
DATE_SUB(next_bill_date,INTERVAL 7 DAY)
DATE_SUB(next_bill_date,INTERVAL 30 DAY)
END AS real_bill_date,
subscription_active = 1
This uses SQL WHEN/ELSE clauses to determine what should be happening. Basically translating into “if Stripe is active, then subtract 7 days”, “else subtract 30 days”.
This is useful for the next time you think you have to do a query and then do a query looping each to get a calculated field. Yes, that typically works but is process intensive and can lead to timeouts. Doing it directly through SQL is usually much faster.
In my local paper, there was a story about a guy doing something dumb, the internet found it and now the insanity has started spiraling. He was fired from his job, now getting death threats, and on and on. The article ended with a quote from him saying, “now when anyone searches his name this event will be the first thing that comes up and will continue to affect my life”.
This is a reminder of why it’s so important to own your own narrative. Have your own blog or website where you can control the SEO, you can respond to whatever event on your own terms, and bypass the journalist that have their own narrative that may not match your own.
Many (most) journalists are spin doctors and they already know the angle they are going to take on a story before they even contact you. They will take your quotes out of context and they will bury if that is what their story calls for. Without having your own medium to fight back you might be at their mercy, and that is not somewhere you want to be.
Today the CommitStrip featured this comic about losing touch with your users. It’s really great:
But it also made me think about the other side of this. If you are building something where your target market is someone really close to yourself then, by all means, take advantage of that. One thing that comes to mind is fonts for code blocks on your personal blog. You are probably save using source code pro or something that isn’t preinstalled yet many developers have it installed.
Of course, there are many more examples of how you can take advantage of what you target user will be using and it never hurts to plan for them first with simple fallbacks for the others.
A few years ago, 2016 according to my projects page, I launched a site named dotdev. The original goal was a developer magazine, but that didn’t really work out, so then it turned into a Medium publication where I curate web development tutorials. Due to Medium’s constant changes, I decided sticking with them was not a great idea so I moved all the articles I had written over to a WordPress install and just left it sitting.
I’ve been thinking about it ever since and finally decided its time for me make use of the site and I’m going to officially relaunch it on Monday. Instead of developer tutorials, it’s going to be a site dedicated to bringing you cool developer tools and news. There are so many neat apps, code, and products that I come across that I’d really love to share them but I don’t have a great outlet for that. So dotdev is going to be that place. The goal is to curate and highlight products that I think are cool and each post will be short and to the point, so it’ll be easily digestible.
The site will continue to be on WordPress and I’m using Tailwind CSS to create the theme with the help of Jason Beggs. I wanted something super minimal and the goal right now is to just get content out and stick with it. I plan to improve it as time goes on and I’m setting little milestones so when I hit one I’ll spend more time improving it.
If developer tools and resource are something of interest to you be sure and follow dotdev through RSS, Twitter, Facebook, or Email.