A personal blog about software, startups, life and the messy journey of the process

Notbase Landing Page

It’s important to share your next project early, whether it is a creative or business venture. And to help gauge and collect customer interest, you need a web presence with sign-up form.

I work at ConvertKit and we now offer free landing pages as any easy way to validate your idea and build a pre-launch list. I created my own landing page for Notbase, and customized the theme and connected a custom domain in just 15 minutes.

Have an idea you want to pursue? Build a free landing page today!

Share Early

I studied architecture in graduate school and can still remember this image. I don’t remember which professor first introduced it, though that class that focused on the business aspects of running an architecture practice surely presented it.

The image captures the increasing cost of change over time as the building project progresses from design to development and finally to construction.

As a corrollary, the opportunity for influence as a designer diminishes as the project progresses. No foundational design decisions can be made when the foundation is already set.

Read more »

Notbase Logo

It was time my side hustle received a proper logo, but I knew I didn’t want to fall into the trap of over-design and over-thinking, particularly when this project was still just getting started. I’ve already done that once.

Yet I still wanted to uniquely represent my project while also trying to convey some of its qualities. So given that Notbase aims to be a new way to manage your structured data, I literally took the traditional database design and flipped it upside down.

Read more »

Embracing Client-Rendered Web Applications

The web has changed dramatically over the past 25 years. When I first started building websites, “under construction” gifs blinked in unison and Flash animations were still just experiments. Webpages then were mostly text-based content, structured in a format called HTML.

Rendered HTML looked beautiful to me in a properly sized browser, but with just one additional line of HTML, externally linked Cascading Style Sheet (CSS) or JavaScript (JS) files could be incorporated to customize the page’s design or behavior.

People styled their documents with CSS to improve readability or to add their own distinctive flare. They celebrated a separation of concerns between content and presentation, and I coded in awe of the original CSS Zen Garden.

They added JS to enhance the behavior and usability of their webpages. They could provide interactive date pickers, inform users of validation errors in forms, or render beautiful charts from source data tables.

I trusted these separations, and fell in love with the concept of progressive enhancement, which still aligns superbly well with text-based content.

Fast-forward 25 years, and while my appreciation for text-based content remains, I now find myself using and building primarily data-based web applications. For these projects, the separation of concerns between HTML, CSS and JS can often feel orthogonal to the concerns of the application itself.

Read more »

Run Multiple FoundationDB Clusters on macOS

The FoundationDB documentation provides a guide to Getting Started on macOS. Follow that guide and install the base FoundationDB client and server libraries.

I currently develop in Ruby, so I also downloaded the official Ruby gem from the FoundationDB downloads page, and then ran gem install ~/Downloads/fdb-6.1.8.gem so that it was available locally to RubyGems.

With this setup it’s easy to connect Ruby to FoundationDB and develop on macOS. But what happens when you want to test your code? Running clear_range('', '\xFF') is a common test practice but will also clear your development data.

You could namespace your data, but that makes application configuration and achieving production parity more difficult. It’s often easier to instead run a dedicated FoundationDB test database.

Read more »

Autumnal Equinox

Up north the nights are noticeably longer. Morning sun rises later and a calm darkness sets sooner. Our child sleeps.

The first brushes of red, orange and yellow paint the many deciduous trees, and the air becomes ever more brisk.

The change of the seasons is my favorite time of the year.

Do the Oatmeal Dance!

I’ve never been much of a breakfast person. Sure, I’d indulge in coffee and a baked treat, but anything more and I’d be ready for bed again; I certainly wouldn’t feel more alert.

In my younger days I managed fine skipping breakfast completely. But as I’ve grown older – and must keep up with my two-year-old – I’ve required something more substantial.

I now prepare a morning bowl of steel cut oats in a process that I call the “oatmeal dance”.

Read more »

Finding a Rhythm

I‘ve lost my rhythm, and finding it again has been more challenging than I would have expected. It‘s not that I don‘t have a rhythm, but rather I‘m not living my desired one.

I originally lost my rhythm a few years ago due to intense stress. The stressors have recently subsided, and I can again remember my familiar self. But all too often I find myself living foreign patterns as my body settles back into its accustomed rhythm.

Read more »

General Solutions

As a creator it can be easy to get hung up on implementation details. Sometimes you can even get stuck on the implementation itself. But it’s important to not accidentally reduce your customer base with too narrow of a solution.

I did this with Static Website Manager, my first “startup”. I had an old problem and needed a way for less-technical team members to manage a complex website’s data. I also had this problem for a couple simpler websites, which already existed as static Jekyll website.

Read more »

Old Problems

Most things take a long while to build. Good results require time and iteration, and that perseverance is challenging. But old problems can provide a persistent counter force.

I took this advice literally when I embarked upon my current side-hustle, and reignited the problem behind my first paid software gig. Fourth time is the charm!

Read more »

An Introduction

I’ve never written a blog before, not really. I have designed and maintained several personal websites, but only published completed work.

I wouldn’t dare show you my process. Nor would I write about it. What if was silly, or never materialized? What if it just wasn’t good enough? But we should instead embrace our vulnerabilities.

Read more »