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”
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.
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”
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)”
A common annoyance when setting up atom on a new machine is that one of my favourite packages, vim-mode-plus keeps overriding a native setting, that I want to use. The nice select the next occurence of this word or variable feature is overridden by
vim-mode-plus:scroll-half-screen-down, which honestly isn’t that useful at all.
All you need to do to revert the plugin from occupying a key binding is to open your
keymap.cson and to insert the following:
Continue reading “Quick Tip: Keep ‘Find Next Word’ with Vim Mode”
This was confusing to me at first, because in basically every language I knew I could change the length of an array by just
pushing things to it. Not so; in Go.
Continue reading “Golang: Arrays of Strings”
I had code that looked something like this:
Continue reading “history.pushState and IE SCRIPT5022: SecurityError”
Google Webmaster Tools tracks http and https on separate properties. God knows why. I had a small heart attack when I visited the dashboard and saw that my domain seemed to have vanished from search result pages and that the only thing people found my site on was a post about mining bitcoin.
It’s been a while since I switched a couple of domains to https through the awesome people at Let’s Encrypt, but I absolutely forgot that the Google Webmaster tools would not pick up search engine traffic to my pages after making use of the new URLs.
I just added https://jonathanmh.com to the tracking and voilà:
Everything seems alright again 😉 I’m off to doing that to a bunch of other domains now.
get the code on github
I came across this issue while developing a prototype and not a single page app, that I needed to have a
.scss file include some other files and output a
.css file. I didn’t need inlined and scoped CSS like one would probably do with a single page app.
Continue reading “Webpack Sass / Scss compiling to separate file”
Continue reading “Atom vs Brackets”
In this post we’re going to have a look at how to have a close look at HTTP requests processed by Go and how to prevent automatic redirection through
302 or similar redirects. This is useful both for investigating tracking links from twitter, buffer, bit.ly or email marketing, or to make sure your tools to generate them actually work 😉 For a demo, check out the Redirect Checker Tool
Continue reading “Tracing or Preventing HTTP Redirects in Golang”