Earlier this week on a Reddit thread I was discussing Caffeinated Checkbook . Someone pointed out that “every banking app does this, so why does anyone need it?” It’s a fair question. Every bank has an app, and there are many similar apps such as Credit Karma, YNAB, Quicken Simplifi, and many others. They all show you your transactions, pull in your data, and categorize your…
I started writing code in 1981 on a Commodore VIC-20. I was 11 years old. Not because I had a plan, not because I saw a career path, I was only 11 after all, but because computers were the most interesting thing I’d ever encountered. I couldn’t stop thinking about them and the endless possibilities that they represented. By the time I was 14 I was writing BBS software and had landed my…
I used GnuCash religiously from around 2005 until 2011. Every transaction, every account, credit cards, the works. I was the kind of person who reconciled to the penny every month and felt vaguely anxious if I didn’t. Then life had other plans.
Since I started writing code in the early 80s I’ve always had a notebook with me. In high school and college it was a spiral notebook. I’d sit in the cafeteria between classes with a cup of coffee and literally write code by hand to transcribe and edit when I got home. At the office it was a steno pad. Once I wasn’t in school, it was just the steno pad. I used to buy them in bulk…
What happens when a doctor gives instructions to an arguably neuro-spicy middle-aged developer and said developer can’t find an app that suits them? They write their own of course.
I’ve been self-hosting my own calendar infrastructure for a while now. CalDAV, Radicale, the whole stack. It works. But the one thing I could never get right was the client . Every calendar app I tried either wanted me to route everything through their servers, locked me into a single ecosystem, or just didn’t handle shared calendars well. So I built one.
New month, new scam attempt. I’m certain this is also because I’ve put my number out there a lot recently, but today I got a call from someone claiming to be a sheriff from my actual county. It started out with him announcing that he was from the [Actual] County Sheriff’s office, his name, and his badge number very quickly . He followed up by telling me that the reason for his…
Over the past few months, I’ve been increasing my visibility — more blogging, more conversation on LinkedIn, and generally showing up again after some time off. It was paying off: more profile views, more engagement, more conversations. With additional visibility to actual people, that same visibility increased for scammers. They’ve always been part of life, but this time they showed up looking…
Update (April 2026): Since writing this post, I built Caffeinated Calendar , which connects directly to Radicale and any CalDAV server alongside Google, iCloud, Outlook, and Zoho. It has full CalDAV task support and replaced both OneCalendar and Tasks.org for me. The Radicale setup below still applies. Jump to the update. Update (May 2026): Since my last update, I’ve completely uninstalled…
Static sites are great. They’re fast, secure, easy to deploy, and scale better than just about anything else. What they don’t do well, though, is anything dynamic that requires a web service. The most ubiquitous example of this is the contact form.
For years, I was a satisfied paid user of Enpass . It was simple, reliable, offered a one-time purchase model that respected the idea of software ownership, and best of all, worked everywhere that I worked – Linux, MacOS, Android, and iOS all synced with WebDAV.
I originally wrote a version of this for Caffeinated Softworks , but the topic struck close enough to home that I wanted to share an edited version of it here too. A recent piece titled “ Why Developers are Quietly Quitting Golang ” has been making the rounds. It references a Medium post where a startup founder says that choosing Go (Golang) was “the biggest mistake of [their] life.”
Terms of Use This site, marclewis.com, is a personal blog. By accessing and using this website, you agree to the following terms: No Guarantees : The information on this site is provided “as is.” I make no guarantees as to the accuracy, completeness, or reliability of any content. Use at your own risk.
Privacy Policy This site, marclewis.com, is a personal blog. I take privacy seriously and aim to be transparent about what is and isn’t collected when you visit. What this site collects Analytics : I use privacy-friendly analytics (currently Umami ) to understand traffic patterns. No personally identifiable information is collected or stored. Comments : When you leave a comment via Commento+, your…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut…
For the last couple of years, I’ve been dabbling with a few side/hobby projects. Several of these have been in the form of a Single Page App (SPA). There is a lot of appeal to that with the modern web. The question always comes up, though, which framework should I use to create my new app?
So I’ve been working on bringing a new project to light in my spare time over the last few years, dittos.io . It is a communications platform for teachers to more effectively communicate with parents. The goal is to build stronger communities and hopefully create more parental involvement. We recently launched the website, and the app will be available soon.
So last March I purchased a Synology DS1515+ and wrote about it in one of my posts “Who Shall Control My Media? Part 4 - Backend Storage” and up until this weekend, it had been performing very well.
Paid Memberships Pro is a great WordPress plugin that allows paid subscriptions to your WordPress site. It has tons of features and is incredibly flexible with handling subscriptions.
It took me way too long to figure this out, but there is no documentation at all on Sony’s store website, and google kept referring me to Windows 10 setups. We’re running a Windows 7 gaming setup, so things are quite a bit different. I’m putting there here so others might have something so search for.
Google WiFi promises an attractive, easy to setup, easy to manage, and relatively inexpensive home router that is mesh capable. Mesh networks help to eliminate “dead spots” in larger homes or homes with too many obstacles for strong WiFi coverage from a single router. It also promises simple parental control and the ability to easily disable kids internet access.
Our oldest son has been wanting one of these since he first saw them. We’ve got several of the HexBugs already, including HexBug nanos, beetles, spiders, larvae, fish and tarantulas. He also loves Lego and K’nex toys. Imagine how excited he was when his sister got him the Vex Robotics Spider for Christmas. It was the first thing he wanted to open and build because BIG, ROBOT, BATTLE.
I love popcorn. Always have. Its one of those things from childhood that provides fond memories and an overall sense of happiness to me. My boys also love popcorn. About once a month we do a “movie night” where we spend a Saturday afternoon watching a movie, having a “carpet picnic” and all watch a movie together. Our movie nights are one of those things that I hope will…
After using an Nvidia Shield tablet for a year or so, and dealing with a battery recall and then an RMA because it would no longer hold a charge after only 3 months, I decided to try something different. The Shield is an impressive tablet, and the original version even more so. I would still recommend it for anyone who is serious about mobile gaming, but the average battery life and weight of the…
For the last few months, I’ve had a D-Link DSP-W110 sitting in a drawer. I bought it when it was on sale, and have been meaning to compare it to the TP-Link HS100 smart plugs. Having put up our Christmas tree yesterday, I thought that now was the perfect time to pull it out of the drawer, set it up and tie it in to our “smart home” via the Amazon Echo.
I’ve been through quite a few Android tablets since they first hit the market a few years back. I started with the incredibly well built T-Mobile branded Galaxy Tab 7.0 Plus. I actually still have this tablet and it still works. This particular tablet was during Samsung’s early days in the Android smartphone and tablet market. It is built like a tank, very solid construction despite it…
Since the Media Players post, I’ve been working on refining our setup and getting it to the point where I can stop tinkering with it and just leave it be to run. I believe I’m finally close to that point. With that in mind, here is the last post in this series, covering all of the back end servers and front end players and everything that goes in between.
So you’ve got a lot of videos, home movies, pictures, etc., that you want to have access to from all of your devices and get them on your big screen. Sounds simple, right? Its anything but. With the huge amount of competition and proprietary solutions out there it can be very confusing and extremely frustrating trying to figure out what the “best” solution is.
I didn’t really want a new phone but my HTC One M9 was starting to really irritate me. Specifically the battery and power usage. It got to the point where I was having to charge it at least 3 times a day or I would run out of power. I was able to watch the battery tick down two percentage points just by having the phone on and looking at the home screen. Not doing anything or running any…
Media players are a interesting topic. Over the past couple of years, we’ve tried a variety of them. The first one was back in 2007 and was the D-Link MediaLounge DSM-520 that got its media from a UPNP Media server . It was designed to fit into a home entertainment unit, the typical ~19 inches wide and looked a lot like a DVD player or VCR. At the time it was great. There was no metadata,…
I just thought I would put this out there in case anyone else had the same problem as I did as there is surprisingly little out there. I just recently switched back over to using Redmine from Jira, this time via a Docker image. Its nice and clean and avoids the various problems I was having with Apache and Passenger, which is partly what made me switch to Jira in the first place. After getting…
UPDATE - Dec 1, 2018 - I’ve Finally installed Ubuntu 18.04 LTS on the Asus ZenBook UX501VW First off, let me first say, what a nightmare this was. After the relative ease of installing Ubuntu 15.10 on the ZenBook I was more than a bit disappointed with how difficult it was installing Ubuntu 16.04.
Update 2016-04-25, this post is obsolete. I now have information on installing Ubuntu 16.04 at https://marclewis.com/2016/04/25/installing-ubuntu-16-04-lts-on-asus-zenbook-ux501vw/ After writing about installing Ubuntu 14.04 on the ZenBook Pro I used it for about a month or so, but was not really happy with it. Nothing seemed quite right. Fonts were off, cursor sizes were off, applications…
I thought I would put this here in case anyone else has been experiencing the same thing I have been. Start up a JetBrains product, any of them -- PhpStorm, WebStorm, CLion, DataGrip, or any of the others and it will start up, start indexing files, and then freeze. The only way to recover from it is to go to the command line and do a ‘kill -9’ on the process.
After I purchased the new ASUS ZenBook, I went looking for another power supply for it, one to keep plugged in at my desk at the office, and another one for my backpack. One would think that would be easy to do, right? Not so. ASUS decided to do something very odd, and rather stupid. They changed the size of the power tip for the power supply, but kept the same part number. I went through two…
The infrastructure I’ve had our media setup on has changed quite a bit over the years, too. When I first started streaming stuff, I was using UPNP servers to serve a D-Link streamer. It worked pretty well for the first generation of this type of product. I used DiVX to encode our DVD collection, and things weren’t bad. I then migrated to MythTV and things were significantly better. It…
Over the last couple of years, the entire media landscape has changed. We were quite happy with MythTV , but its pretty limited in its scope, it can only handle TV, Recorded TV, Videos, Music and Pictures that are on its local drives. Now, add in the fact that we’ve had a Roku now for a while, as well as played with the Fire TV stick and set top box, and things get more messy. I’ve…
Update 2016-04-25, this post is obsolete. I now have information on installing Ubuntu 16.04 at https://marclewis.com/2016/04/25/installing-ubuntu-16-04-lts-on-asus-zenbook-ux501vw/ After receiving my new ASUS ZenBook Pro UX501VW , the first thing I did was prepare it to dual boot between Windows 10 and Ubuntu. I’m not a fan of Windows at all, but I do understand that sometimes its required,…
With Jessica not being nearly as mobile any more, we decided it was time to start looking into a little bit of home automation. To start, we decided to just add a couple of controls for our lights. The TP-LINK HS100 WiFi Smart Plug seemed like a good way to get started as TP-LINK makes fairly decent products and they’re significantly less expensive than most of the others. The fact they say…
After three years of using my trusty Vaio laptop, the time had finally come to replace it. The Vaio has been a great laptop for me, but it was starting to show its age. When I bought the Vaio, its intended use was to be a desktop replacement when I wasn’t at the office. Its large 17.3" screen suited that purpose well. At the time I bought it we weren’t living in a place where we could…
So, after upgrading my laptop a couple weeks ago I found myself with a “spare” 960GB SSD from my old laptop. Since the new laptop uses an M.2 PCIE SSD and has no room for expansion, I thought this would be the perfect opportunity to replace the WD Black hard drive I use as secondary storage in my office workstation.
Its no secret that I like Amazon and their services. There are a lot of things they do much better than their competition, but there are also quite a few things that could use some re-thinking.