Remarkable – Cool Future Paper

I’m super quick at typing. I mean nothing close to world records, but let’s say I’m fairly quick. I can’t imagine not typing to get things done, but at work I have an A4 college block as my mouse pad and I scribble around on it a lot, to remember something visual, something I don’t want to open a text editor window for or just because the experience of writing physically helps me not forget quite as much as I otherwise would.

Today I saw an ad for this sketchpad / e-ink e-reader hybrid Remarkable and I can’t wait to try it, also because I actually would like an e-reader. If it’s one that I can scribble away on, that would be even more awesome. (I can’t draw I can’t draw well).

Continue reading “Remarkable – Cool Future Paper”

Custom JavaScript Trigger Functions for Google Tag Manager

In this post we’ll go through how to fire events for the Google Tag Manager with custom JavaScript functions. Most tracking can be done just by using the built in Google Tag Manager tracking, but for developers that want to debug or need events to be recorded on very specific occasions that can not be implemented with the default functionality, JavaScript is the way to go.

Continue reading “Custom JavaScript Trigger Functions for Google Tag Manager”

Music Monday: Powerwolf

Powerwolf is a, who would have guessed by the name, power metal band that mainly digs into werewolf lore and grim stories of crusades and holy/unholy Christian history.

The singer is an opera singer by trait and that’s pretty clearly audible on most tracks (no growling ;)). The musical style is a bit Nightwish, Blind Guardian or Sabaton (if these names ring a bell). The lyrics remind me a bit of Rammstein and sadly sometimes they’re also a bit short and contain a lot of chorus, but that’s actually the only complaint I have.

Continue reading “Music Monday: Powerwolf”

Building a Singe Page App with Vue.js Tutorial

In this post we’ll create a single page app with Vue.js that shows a random quote or string. We’ll start from scratch and use the default webpack-simple boilerplate provided by the creators of vue through vue-cli.

This again is part of the Making of photographerexcuses.com post series, where I walk you through all parts that were necessary to create the page.

For this tutorial you’ll need to have node.js including npm installed.

Continue reading “Building a Singe Page App with Vue.js Tutorial”

Proxy / Rewrite your API Endpoint into Domain Segment with Nginx

I wanted to make an API available on the same domain as a single page app built with Vue.js, which means that I had to rewrite a part of the domain to use another port on the same host, but you can also use an entirely different machine or have a load balancer in between.

This post is part of the Making Of: photographerexcuses.com series.

I picked nginx for a server for some PHP productions and this because it simply has the best configs and it tends to perform a bit better if you don’t have a lot of RAM to throw at your server.

Continue reading “Proxy / Rewrite your API Endpoint into Domain Segment with Nginx”

Deploying your Golang App without Docker

How to deploy an app written in Go? That’s one of the questions I had when I first wanted to get something online after playing with Go for a while. Thinking back I think the first project I got online, was probably the redirect checker which is explained in detail here: Tracing or Preventing HTTP Redirects in Golang

When you just want to get stuff running, you probably don’t want to learn a container system, but just get it out there which is exactly what we’re going to have a look at in this post.

Continue reading “Deploying your Golang App without Docker”

Building a Go(lang) API with echo and MySQL

In this post we’ll have a look at how to build a MySQL backed API with Go and echo. This is part of the series that explains how we did photographerexcuses.com

The site is a Vue.js single page app, that gets its data (the excuses) from the Go API. We are storing the excuses in MySQL, because we can easily edit them at the same time with MySQL workbench or similar tools that don’t require flat files, git or other methods that would be more annoying to deal with.

Continue reading “Building a Go(lang) API with echo and MySQL”

Making of: Photographerexcuses.com

This is a short list of posts that describe how we built photographerexcuses.com using Go and Vue.

In the end we just found a bunch of silly excuses like

I don’t use Photoshop, it feels like cheating.

or

I didn’t know she was the bride.

and it took the biggest photo blogs on the net by storm, which was quite a surprise to us.

Continue reading “Making of: Photographerexcuses.com”

Best Cheap VPS Hosting Comparison (2017)

What are the greatest and cheapest VPS servers out there? Here’s a list of providers that offer developer friendly virtual private servers that make it super easy to spin up a new server in minutes.

My most common use cases for me are either starting new projects for pages, webcrawlers or to put client projects in a staging environment for them to preview it. I write my projects with a variety of languages and stacks, most commonly: Node.js, PHP (Laravel and WordPress) or Go, backed by xSQL or MongoDB.

Continue reading “Best Cheap VPS Hosting Comparison (2017)”

Best CSS Frameworks of 2017 (+SASS)

In this post I’ll go over CSS frameworks that I consider the best for different purposes. We’ll cover feature rich frameworks like bootstrap, but also look into some of the smaller and more light weight contenders.

What’s the best CSS framework is hard to answer, but what the best framework for you is, is a easier to answer when you know more than one. I work with Frontend or CSS every second day, so I have tried out all of the below.

I’ll compare them by features, which language they’re written in under the hood and how easy it is to just take the parts that you need.

Frameworks in this article:

  • Twitter Bootstrap 4
  • Zurb Foundation 6
  • Bulma
  • Cutestrap
  • MUI CSS
  • Wing CSS
  • Grd

Continue reading “Best CSS Frameworks of 2017 (+SASS)”