Quick Tip: Keep ‘Find Next Word’ with Vim Mode

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:

'atom-text-editor.vim-mode-plus:not(.insert-mode)':
    'ctrl-d': 'native!'

Continue reading “Quick Tip: Keep ‘Find Next Word’ with Vim Mode”

Golang: Arrays of Strings

This post is going to be about Golang, arrays and strings. In Go we have more than simple arrays that we know from JavaScript or PHP. They are basically divided into the following:

  • arrays
  • slices
  • maps

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”

history.pushState and IE SCRIPT5022: SecurityError

I stumbled upon this error in Internet Explorer when I wrote my Redirect Checker and discovered that JavaScript Errors that imply an attempted security violation, that on top of that are not wrapped in a try-catch block, will totally disable your whole script execution.

I had code that looked something like this:

Continue reading “history.pushState and IE SCRIPT5022: SecurityError”

Google Webmaster Tools: Add HTTPS as separate property

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.

Webpack Sass / Scss compiling to separate file

Webpack is an amazing tool for transpiling and bundling JavaScript, but it can also take care of compiling Sass or Scss to static files.

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”

Tracing or Preventing HTTP Redirects in Golang

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 301, 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”

Best (light) Atom Editor Themes

This post will present the best light or bright atom editor themes I’ve found so far. Usually I pick one of the dark atom themes, but the light ones are usually a little more subtle and often relaxing to look at.

For the screenshots I used the One Light UI theme, which I also use with the light / bright themes in my everyday coding adventures.

No matter if you prefer bright background themes or if you just need to turn up your screen brightness in order to get through winter without a depression, I’ve compiled a list of some themes you might enjoy!

Continue reading “Best (light) Atom Editor Themes”

[Solved] Laravel: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.

Recently I set up a project with the laravel PHP framework and hit a little bump right away. After cloning my project on my computer at home, I encountered an error message about the AES key length.

Luckily I wasn’t the only one with that issue and running the following and conveniently available artisan commands fixed it already:

php artisan key:generate
php artisan config:clear

Continue reading “[Solved] Laravel: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.”

Example: JSON Web Tokens with Vanilla JavaScript

In this post we’re going to learn how to use JSON web tokens on the frontend with vanilla JavaScript and no libraries necessary. What you learn will be easily applicable to frameworks such as Angular, Angular2, Vue.js or similar.

In the last post we had a look at how to create an express app with jwt authentication.

Why No Framework?

I wanted to write a post simply illustrating how everything works and how easily this can be achieved without any frameworks in place. It’s just another layer of abstraction you have to learn if you’re just trying to build some sort of login for your web app.

Continue reading “Example: JSON Web Tokens with Vanilla JavaScript”