Robot lawnmowers (The Robomow R630)

Af9e89793852c739 800x800ar

When we moved to our house, we were excited about our big yard. The last house we lived in had a yard that was so small that it took me maybe 15-20 minutes to mow it. This new yard was large enough that it took me an hour to an hour and a half to finish if I cut it with a walk-behind mower. Quite a difference, and a not insignificant amount of time that I’d have to spend cutting the grass. I didn’t want to buy a riding mower, which would cut down on time but would require maintenance and more storage space.

Hiring someone to cut the grass for us would be very expensive. The expense of hiring someone to cut our grass at the house with the tiny yard was so expensive that I just started cutting the grass myself. Honestly, I didn’t even check into how expensive it would have been at this house. So I decided to look into other options, and ended up with a Robomow R630 robotic lawnmower.

The Robomow was very well engineered and very modular, which made it very easy to do repairs/maintenance. In the time that I’ve owned it, it’s reliably cut the grass the entire time. I’ve replaced the blades a couple of times, and the wheel motors once (after the yard flooded a bit and it ended up half-submerged for a few hours.

I also had to repair the perimeter wire a time or two. Similar to an invisible dog fence, the Robomow requires a boundary wire to be laid out around the yard so that it knows where it’s safe to cut. Once, I cut through the wire myself while fighting a snake with a shovel, and the other time my dog got very excited about digging into a mole tunnel.

Other than that, it’s been great. Every so often, it leaves its charging base, cuts the grass, and returns to its base. The yard is always just cut.

Recently, after a little more than 4 years, we had a deep freeze that basically killed the Robomow. It didn’t even power on for about a week, and now it’s slowly come back to life, but I can’t control it from my phone anymore. I looked into replacing the main board of the unit, but it’s been discontinued, so parts are increasingly expensive and I’m not sure that it would fix the issue. So I decided to buy another robot lawnmower. Lasting for 4 years meant that it cost me about $31/month. Not bad for getting housrs of my life back!

For awhile, I’ve had my eye on the Segway Navimow, which isn’t yet available here in the states. The benefit there is that it uses GPS for navigation, so you can just draw a boundary line around your yard on a map instead of relying on a perimeter wire.

Since I can’t even check one of those out yet, I bought the latest Robomow. I went with the RK4000. It seems very much like the R630, just more refined. I’m mostly looking forward to the better tires and better blade system that will hopefully be easier to change. We’ll see how that goes! I’ll report back.


A car that moves sideways.

Forget normal parallel parking, I want a car that can crabwalk like this Hyundai concept!


A List of Things that happen in every episode of 24, ever.

1. Something absurd happens.

2. Jack Bauer is called in to save the day, as no one else on the planet is as awesome as he is at yelling in people’s faces, shooting them through walls, stabbing scissors into their necks, and generally trying to get himself killed.

3. The other agents speak in “computery” terms that make them sound completely ridiculous to anyone who knows anything about how computers work: “I’m going to vector that firewall’s hard drive to my monitor’s bus!”

4. The very people who called him in to help actively work against Jack, so instead of having the full weight of a team behind him, he has to work with one or 2 agents who have to cover their monitors and sneak around corners into server rooms.

5. Jack stabs someone in the neck with scissors/chops his buddy’s hand off/shoots a room of 50 armed men in the face with one clip from his gun/levitates/builds Chitty Chitty Bang Bang, saves the Rebel Alliance, destroys Babylon 4, gives Worf some pointers, and makes it home in time for an early breakfast, where he eats bullets, using bullets, on a plate of bullets.

6. Jack does not sleep.

7. 3:59:59.


Whenever I make scrambled eggs, I think of people I’ve lost.

I grew up poor. So poor, in fact that at one point during my childhood we ended up having to move in with my mom’s mom: Mary Noel LaGrange. That ended up workng out great for me, because I got to spend a lot of time with my grandmother.

She loved to feed me and watch me eat. Looking back through old photos, I was such a fat baby! A lot of it was her doing.

What I remember most, though, are the quiet mornings that we spent in the kitchen, when she’d make me eggs and cheese.

4 eggs. Cast iron pot. Butter. 2 slices of American cheese.

The pot she used was well seasoned, and I remember that she’d somehow get the eggs and cheese to brown in such a way that they became one delicious entity.

I was by her bedside when she passed away. I was still too young to learn how to cook, so she didn’t get to teach me how to make them.

A few years later Cheryl, the older neighbor girl who lived next door came over and taught me how to make scrambled eggs. She also passed away way too soon, in a horrific car accident.

I have made at least 8,000 scrambled eggs in my life, but I have never been able to replicate my grandmother’s eggs. There’s just something about them that I have yet to figure out.

Every time I make scrambled eggs, I think of my grandmother and Cheryl, and every now and then I throw in some American cheese and try to make those eggs.

One day I’ll get them right.


How to resolve Apple HomeKit issues between the Chamberlain MyQ Home Bridge with a UniFi router

If you have a UniFi setup with a Chamberlain MyQ Home Bridge, sometimes it can be flaky under HomeKit. Specifically, the issue that I was seeing was that the garage door opener could be seen and controlled by the MyQ app, but in the iOS home app, both the MyQ Home Bridge and the garage door opener showed the dreaded “No Response” message. It turns out that the issue is that HomeKit WiFi devices tend to use the 2.4GHz band, but your computers and other devices are probably on the 5GHz band. The UniFi router/WiFi access points will silently create 2 networks with the same SSID… one that’s 2.4GHz and one that’s 5GHz.

Normally that’s not a problem, but due to the way that HomeKit discovers devices, it becomes a quite annoying issue. Basically, HomeKit/Bonjour devices advertise themselves using something called Multicast DNS. In some cases, the UniFi software won’t send the Multicast traffic between the 2 networks, so your HomeKit bridge can’t find the MyQ Home Bridge.

The way that I fixed it was to open the UniFi Controller interface and turn on the setting named “Enable multicast enhancement (IGMPv3)”. I found it under Settings > Wireless Networks. I clicked Edit on my wireless network, and then I clicked Advanced Options to reveal the setting. Once I applied that setting, my Home Bridge showed up immediately.


Don’t ride in the bus. Drive your own car.


I’ve been entrepreneurial since I was young. I started my own business when I was 15, and although I’ve had more than a few years of working for someone else, my goal has always been to work for myself. Over the years, that feeling got stronger and stronger. I was tired of being asked for my opinion about something, taking the time to give a well-reasoned answer and having my advice be completely ignored. I was tired of working on things that never shipped. I was tired of working on things that had no reason other than “because I said so”. I’ve always done my best work when I can see the reason behind the work that I’m doing. Around February of 2013, the startup that I was working for ran out of money and after panicing for a few months, I realized that I’d built up enough of my own business over the years that I didn’t have to find another job. I figured out that if I just focused on growing the apps that I was already working on, I’d be fine.

It’s been a great ride so far. My business has grown and is continuing to grow. By December of last year, I was making as much revenue in 5 days as I did in the entire month of April.

I’ve been doing a lot of thinking recently about why I prefer running my own business. I’ve come to the conclusion that I feel that running your own business is like driving your own car, while working for someone else is like taking the bus.

When you ride in the bus: You can make suggestions to the bus driver, but they don’t have to take them (and they probably won’t). If the bus gets in a wreck, you (and everyone else in the bus) might see it coming, but the only one who can decide to avoid the accident is the person behind the wheel. The bus driver can also decide to kick you off of the bus at any time, for any reason. Conversely, if the bus is consistently the best bus on the road and never gets in any wrecks, it might get upgraded over time, or traded out for a new bus. Everyone in the bus benefits from things like heated seats, free meals, video screens, free wifi, etc (health insurance, stock options, bonuses). You can focus on just the job that you’re getting paid to do. As long as you’re getting that job done within the organization, you’ll probably get paid.

If you drive your own car: You have to be alert all of the time, because your business depends on you being able to see issues coming, and avoiding them. You’re responsible for all of the decisions, so your failure or success depends on you. However, you can take your foot off of the gas at any time. You can take a shortcut, or a more scenic route.  You can buy a sports car if you want (which may accelerate your success or failure, depending on how you drive), you can drive a reliable, dependable car, and you can even drive a minivan if you want (doesn’t go as fast as the rest, but it holds your whole family!), depending on what’s most important to you. Your mistakes and successes are your own.

In my experience, it feels pretty good to be the one driving the car, instead of riding the bus with everyone else. It’s great not to be tied to the same destiny as everyone else, with no real control over how things end up. It’s not the best choice for everyone (some people prefer the illusion of security that employment brings), but it’s definitely the best choice for me.

Maybe you shouldn’t be riding in the bus either.


Say No More Often.

Earlier in my career, I found it very hard to say no to anyone who asked me to do anything for them. I was just happy that people were using what I built, and I wanted to do whatever it took to keep them using my products. If a customer asked for a feature, I’d most likely trip over myself to add it.

Lately, I’ve been saying no more often, both to existing customers who ask for things that are outside of the direction that I have in mind for my products, and to potential new customers who ask for me to do things that I’m not comfortable with (recently a potential new customer asked me to sign an NDA for them to start a trial of my SaaS app, and I said no).

I think that the root cause of my inability to say no in the past was that I didn’t really have a defined audience or direction for my products. It’s pretty hard to be able to say no to things if you don’t know who you want as a customer. So I took some time to define my ideal customers. Since I know who they are now, I also know who doesn’t fit into that group, and it’s easy to tell them no when they ask for things outside of that. I’ve also found it easier to say no once I realized that even if I did what they wanted me to do or added the feature that they wanted me to add, it wouldn’t be something that I would really care about, so the app would suffer overall from lack of focus, and they’d probably leave eventually anyway because I wouldn’t be fully invested in making that feature better over time, leaving me with a feature that literally no one wants.

So, take some time and figure out who your ideal customers are, and what your longer-term vision for your product is. It doesn’t even need to be super long-term, just your vision for the next couple of months is fine. Taking time out from the daily grind of writing code or marketing your app to define who you want for your app to serve will pay off dividends for years to come, and your app (and your life) will be much better because of it.


The stages of being an entrepreneurial developer

Learn to code. Write a lot of code for fun.

Figure out that people will pay for you to write code, start writing code as a job.

Figure out that you want to be in control of your own destiny, and start writing code to solve problems that you see. Make no money.

Figure out that you actually need to solve problems that people see as problems and are willing to pay for solutions for.

Figure out that even though you’re solving real problems that people are willing to pay for solutions for, no one knows about them.

Figure out that you can write the most technically brilliant code ever, but if no one knows about the value of your code, it’s worthless because you can’t feed yourself with brilliant code.

Figure out how to tell people about your products, and how to present them in a way that people will pick up on and buy.

Start selling products successfully.

Spend more time thinking about writing code than writing code.

After thinking about writing code a lot, write less code.

Write smarter code.

Blog more.

Write better marketing copy.

Teach others.

Keep learning.


Consider the source.

People are always giving us advice, both in our personal and professional lives. It’s unavoidable, unless you’re a hermit. But a lot of advice that you get isn’t actually going to help you. Many people mean well, but they are giving you information based on their own experiences, which will never exactly match yours.

Always consider the source. Is there an ulterior motive behind the advice? Is the advice something that won’t really work for you, given your situation and your goals, even though it legitimately worked for someone else?

If a surgeon who specializes in gastric bypass surgery tells you that low carb diets don’t work and that you’ll gain all of the weight back (and more) after you stop the diet, they’re most likely just trying to get more business. If someone tells you that content marketing is the best way to gain an audience online and they’re selling you content marketing courses…. they might be right, but they might be trying to sell you something. If your parents tell you that you should have a baby soon, is it because they actually believe that you should, or do they just want a grand-child to play with? 🙂 If people keep telling you that you should buy a house, is it because you actually should, or is it because they own a house and are jealous that you aren’t tied down to one place like they are?

Unless you have several data points from different sources that are all saying the same thing or reaching the same conclusions, take all advice with a grain of salt. A lot of advice out there is actually helpful and shared by people who care. Your job is to be aware of why people say the things that they say, and to take the information that best applies to your situate, which only you can decide.

Start with this post! I’m giving you advice. Consider the source.


It’s ok to take your foot off of the gas pedal.

Since I launched my first web app in 2006, I’ve had my foot on the gas. Since then, I’ve built, or been one half of building 13 other web and/or iOS apps. It’s only been 7 years. I guess you can say I have a lead foot.

For most of that time, I’ve been creating my own stress.

I’ve been stressed out for most of that time. Either I’m stressed out that I’m not building fast enough, or that something is breaking and I have to fix it, or that some customers are driving me up a wall, or that someone on a project isn’t pulling their weight and putting more of a burden on me. Some people are never going to be as crazy about building products as I am. I can’t expect them to be. I’m not going to spend so much time worrying about things that I can’t change. I’ve realized that the majority of that stress is stress that I put on myself. 

I’ve long known that if I took my foot off of the gas, not much would change. If I didn’t stress out about getting to every single customer immediately, not much would change. A customer will be almost as happy about getting a response from me if I get to them within an hour or several, instead of immediately, and I’ll be a whole lot less stressed out about having to immediately get back to people. Not everything is an emergency. It’s taken me this long to really internalize it, though.

Even though I’ve known for a long time that I shouldn’t be building my apps to meet every person’s needs, it’s been very hard to say no to people, because someone has a need and is paying me for a product, and I’ve felt a personal kind of responsibility and pressure to build whatever they want. No more. For the past year or so, I’ve still been listening to customer requests, but I’ve been considering the long-term ramifications of every feature, and prioritizing the development of feature requests that will benefit most, if not every user of my apps. It is helping to keep me sane. For awhile there, I forgot that the point of building products is to give me the freedom to build the things that I want to see in the world… to be able to say no to things if they don’t fit my long-term vision, and to not have thousands of bosses.

There was never enough time because I wasn’t making enough time.

I have been using a GTD app since 2008. Or maybe the right word is abusing. I’ve been using it all wrong. I separated things into projects at first, but then that devolved into a state where I was just dumping everything new into my Today folder, when I knew full well that I’d never get all of those things done in any given day, especially since I would remove 2 things and add 5. At the end of every day, I would feel like a failure, even though I had obviously set myself up for it.

When it got to 80 items recently, I said enough is enough, and decided to make time every day to sort out my to-do list. Every night I get a notification to review my list and get my Today list ready for the next day. Starting the day with 5-10 items is a lot more realistic, and sometimes I actually get to all of them now!

I’m giving myself permission to slow down. To get in the slower lane. To pull over to the side of the road, get out of the car, and walk around. I feel much better already. You should try it.

You will feel better too.