Paul Okstad ~ about me resume blog projects email rss feed

The Power of Simplicity

May 20, 2018

I recently updated my website. I decided I wanted an even simpler website than before. I chose to re-theme using the amazing remarkdown CSS stylesheet. I also decided to remove all javascript from the base template for my site. No more tracking or dynamic behavior on the majority of the pages. My reasoning for this: a blog should just be a simple website focused on content. Anything additional becomes a distraction. I have little time these days to manage the upkeep of a complex and overly engineered website.

software • hugo • jekyll • blogging

Simple Golang Strategies for Repetitive Error Handling

February 25, 2018

Error handling in Golang can sometimes suck. You may sometimes start to feel a bit of pain in your wrist from all of the if err != nil { you’ve been typing. Even if you have that code handled by an efficient macro, you’re going to end up with a file that looks like this:

golang • error handling

Handling Web Credentials in Swift with Cloudant Sync

July 17, 2016

I’ve been using Cloudant Sync for my latest project, Sofa King: Sync and I ran into some issues with complex passwords used for credentials. I realized that I made a major rookie mistake by following the documentation.

ios • couchdb • swift • cdtdatastore • nsurlsession

Introducing Sofa King Sync

July 7, 2016

My latest iOS project is Sofa King: Sync. It is a mobile database replication app that allows you to sync datasets from your server to your pocket. It is written almost entirely in Swift and is a launching point for some interesting concepts I want to test out on Apple’s newest tech. Check it out here: Sofa King: Sync.

ios • couchdb • swift

Golang and Docker on Google App Engine Managed VMs

July 29, 2015

Docker hasn’t been around very long, but already it’s all the rage in the tech world. Amazon is supporting Docker through a number of offerings, one of which is Elastic Beanstalk. Google has also been offering support, and one of those new services is called Google App Engine Managed VM’s.

code • golang • gae

Implementing a reverse proxy in Golang on Google App Engine

June 5, 2015

Google runs an interesting PaaS (Platform as a Service) called App Engine. It allows you to write code in one of four language/environments: PHP, Python, Java, and Go. Go is currently a beta offering but already offers the same features as the other three.

code • golang • gae • couchdb

CouchDB Reverse Proxy and Middleware in Go

April 18, 2015

Erlang and Go are mortal enemies, very true, but Go is also more pragmatic to the majority of programmers out there that learned C-based syntax and OOP strategies. I like Go a LOT, which is why I use Go in front of CouchDB. Previously I used Python, but there are so many problems with type errors and efficiently serving Python web code (Apache/Gunicorn/Greenlets/PyPy/Nginx/headaches…). Go is built to serve websites out of the box with their awesome HTTP library and Goroutines. It’s also built to check code for safety.

code • golang • couchdb

Installing Go Binaries On Ubuntu

February 3, 2015

Recently, I had the need to install Go on my Ubuntu server and discovered that Ubuntu does not contain the latest version of Go. How do we install it?

golang • ubuntu

Switched To Jekyll

February 1, 2015

Due to my hectic schedule with YAYOG, I’m switching to Github/Jekyll hosting for my site. I don’t have enough time to actively develop a brand new blogging system AND blog. By using this already stable system, it will give me the freedom to jot down my notes. I’ll still pursue a CouchDB blogging system, but for now I won’t use it to host until it’s stable enough.

Call Me Home by Kelvin Jones

February 22, 2014

Got those eyes that stare into my soul Got that smile when I’m giving you my all You’re the brighter side of things You’re the lighter side of life When all the joy that you bring is why I need you in my life

music

Casio G-Shock GW3000BB Review

February 20, 2014

Review of the GW3000BB

gear • watches

New Additions To Kb Family

February 19, 2014

I got some new toys from Functional Equipment in Costa Mesa:

fitness • gear • kettlebells

Hashing Strategies For Seo With Couchdb And Ajax

February 18, 2014

One of the big problems with using a heavy client side web app is search engine optimization (SEO). Historically, search engines crawled the web and built their index using pre-rendered webpages. What we mean by pre-rendered is that web pages are generated (at least mostly) by a web server before the client (in this case the web crawler) receives them. This is much easier for the web crawler because it simply needs to download the HTML file and scan it to build an index.

couchdb

Building A Blog Platform On Top Of Couchdb

February 17, 2014

In building this site, I wanted to accomplish something unique. Not just another blog hosted on Wordpress/Blogger/Tumblr. Also, I was bored of all the server side options (Django/Flask/Node). They all had weaknesses, whether it be the limitations of creating new code or the server technology delivering the HTTP responses. I ultimately planned to experiment by building a blog platform on top of CouchDB.

couchdb

Ultimate Body Press Dip Stand

February 6, 2014

This is a very solid piece of equipment geared towards doing two important bodyweight exercises: dips and bodyweight rows.

fitness • gear • bodyweight

Functional Equipment Anvil Kettlebell

February 6, 2014

I purchased a 53 lb (24kg) Anvil kettlebell from functionalequipment.com in Costa Mesa, CA. I really like this kettlebell, and I wish Functional Fitness would keep their inventory stocked so I could buy a another one.

fitness • kettlebells • gear

Cap Barbell Adjustable Kettlebell

February 6, 2014

I have mixed feelings about this kettlebell. On one hand, being adjustable is great. You can start with a really low weight and perfect form in a much safer environment. Changing weight on this kettlebell is extremely easy and the build quality is very high. The large round shape of the kettlebell also means that the surface area that comes into contact with your forearm during cleans is less sharp/curved which reduces bruising.

fitness • kettlebells • gear