Articles on various topics such as coding, tools and sometimes tutorials

You can subscribe to this section via RSS or Atom

2020

Back to navigation

05/29/2020 | 05/29/12020 HE

Ira Atari - Berlin Berlin →

In April one of my favorite Artists, Ira Atari (Facebook), released her new Song “Berlin Berlin”. I love the song and the video with all it’s glitched visuals! Content wise the song hits close home, as I’ve had panic attacks, too, and especially the following line is something I can relate to

I may stop by the club but to many people stand in line so I can’t drop by - I’m so sorry guys

This is something I’ve sort-of experienced more than once in the last 10ish years. I did often cancel plans with friends because I was too anxious to go out, often saying I had to work late when in reality I was “just” panicking to meet up with people - even though those people were long time friends. Pretty fucked up (, a fucked up Queen ♫). It’s gotten better overall but at times I still get panic attacks or feel extremely anxious when I need to go out or meet lots of people.

Anyway, back to more fun things. For over a decade now I’ve been listening and dancing to Ira Atari and I was basically going to all her Concerts in my region, together with my friend Isabel. Always in front of the stage, always dancing and always having a good time! It’s also Ira Atari of whom I took my favorite photo of all time - this Black & White shot from a Concert.

Seeing that Ira released a new song after 4-ish years made me board the Hypetrain like never before! And the hype was justified, because this new song is more “to the roots” and back to her older style, more rough and danceable.

I can’t wait to hear it live and I hope I’ll soon be able to.

Big up, Ira, see you soon! ❤️

Buy and stream:

05/28/2020 | 05/28/12020 HE

NoClip: The Untold History of Arkane →

“The Untold History of Arkane: Dishonored / Prey / Ravenholm / LMNO / The Crossing” is a documentation by NoClip about Arkane Studios, one of my absolute favorite game studios! Lately they gained popularity with daring AAA games like Dishonored and Prey. This documentation explores the 20 years of history that made Arkane what they are today and contains never seen footage of a Half-Life Game developed by Arkane which got cancelled.

You can view the full documentation for free on YouTube and support Noclip on Patreon.

05/20/2020 | 05/20/12020 HE

Dan Dubuque Slide Guitarist

I just discovered Dan Dubuque’s YouTube channel because the video “Dan Dubuque covering RAGE AGAINST THE MACHINE’s “Killing In The Name Of” on Weissenborn Slide Guitar” caught my attention. First off, I love Rage Against The Machine, and second what the fuck is a Slide Guitar? While I know the sound of it, I’ve never heard the name before. The cover is really good and the channel seems to be new (only one month old).

View full post
05/19/2020 | 05/19/12020 HE

DIY Face Masks

In light of COVID-19 and the resulting changes to public life I decided to take up a needle and sew some face masks! It’s actually fun to do and I wouldn’t have thought that I could actually do it! I got the layout from Nina (German blog post), who in turn got it from Jess Dang’s Video on YouTube (English video). Jess’ masks look way better and cleaner than mine, but for my first few tries I’m incredibly happy with how they turned out.

View full post
05/18/2020 | 05/18/12020 HE

Deno 1.0 released

Deno made its first stable release with the release of v1! I’ve heard of Deno in the past but I never really cared for it. My work with JavaScript has always been in the browser and I’m not too much of a NodeJS fan - mainly because of the security and sandbox aspects of the runtime (or more, the lack of them). Deno aims to do better and fix some (or all?

View full post
05/14/2020 | 05/14/12020 HE

Unreal Engine 5 Demo

Unreal Engine posted a Video on Vimeo showing Unreal Engine 5 running live on a PlayStation 5. The demo is truly mind-blowing, especially considering it is running on a console and not on a high-end, custom build PC. I knew the PlayStation 5 and the XBox Series X (or whatever the next XBox is called, horrible naming again from XBox 🙄) are powerful and truly next-gen game changing consoles, but this demo just surprised me with its details.

View full post
05/5/2020 | 05/5/12020 HE

Docker Apache Proxy Setup

In this post I’d like to detail how I am managing docker containers behind an apache2 proxy on a Ubuntu 18.04. server. I’m using one Apache server to route traffic from multiple sub-domains to docker containers all running with docker-compose. This setup is not automated and the containers do not need to interact with each other; It’s just how I run software for my private usage. Overview Let’s start with an overview image, because this can be quite confusing.

View full post
04/29/2020 | 04/29/12020 HE

DIY Iced Tea

A few days ago I made my own Iced Tea and I thought I’d share this quick ‘n easy recipe on the blog. Ingredients for 1 liter Half a lemon A bit of Agave syrup (1-2 table spoon) 300ml fresh brewed black tea (I used a cheap Earl Grey) 700ml water (I used with gas, can also be without!) Steps Boil water and make black tea, let it sit for longer, we need it to be strong (~10-15min) Cut lemon and squeeze out juice Mix lemon and Black Tea, e.

View full post
04/27/2020 | 04/27/12020 HE

Night on Earth

Last weekend I finished “Night on Earth” a Netflix documentation about animal life during the night, filmed with super light sensitive cameras making the darkest night look like early evening; It’s an interesting look into the night and quite entertaining and educating. You can find the documentation here on Netflix ★★★★☆

View full post
04/24/2020 | 04/24/12020 HE

Terrasave

I just released a tiny tool function I’ve been using for some time called terrasave. It’s a Bash / Fish function that prevents you from running terraform without the -target option. Why does this exist? In terraform it is incredibly easy to destroy things with terraform apply. If you run apply terraform shows a huge output and sometimes you may overlook a thing being “replaced” instead of updated. Once upon a time I destroyed a MongoDB Atlas Cluster this way and lost all its data, because the “must be replaced” was hidden in a lot of terraform output and I simply didn’t see it.

View full post
03/24/2020 | 03/24/12020 HE

Random Theme

I’ve decided to add some randomness to this website! You may noticed that the two main colors change on every page reload - there’s a fixed number of “themes” available and they change at random. To accomplish this I used the following JavaScript. (function(window, document, undefined) { let theme = window.localStorage.getItem("kgde_theme"); console.log(theme); if (theme) { var [colorMain, colorSecondary] = JSON.parse(theme).colors; document.body.style = `--color-main:${colorMain};--color-secondary:${colorSecondary}`; } else { // [dark-color, light-color] // Color combinations taken from https://botsin.

View full post
01/29/2020 | 01/29/12020 HE

No Tracking

I don’t track you. That’s a promise and a statement, this website works without Tracking. Inspired by Laura Kalbag, who was inspired by the footer text on Karolina Szczur’s website. Why The reason I do not use tracking is an idealistic one. I no longer want to collect data for Google, and I do not want to support trackable users across websites. Data sharing on the web is absolutely crazy, as this example of USAToday shows - GDPR is saving us Europeans again tho.

View full post
01/25/2020 | 01/25/12020 HE

Two Factor Auth, Password managers, and cloud sync

A guide on how I secure my passwords, 2FA data, and sync between devices

For years I have not given much thought to passwords, security, or how to manage my passwords efficiently and securely. I usually would either save them in the browser or just re-use passwords (which of course is the worst). Around 7-8ish years ago I began to use password managers and password generators, and when 2FA became a more common thing I was enabling that on all services I could. 2FA (Two Factor Authentication) is a method of authentication where two parts are needed: A Password and a generated token, this token can be hardware based (e.

View full post
01/8/2020 | 01/8/12020 HE

Auto SSL With apache2

How Apache 2.4.30 and later can be used to automate SSL certificate setup and renewal

Apache 2.4.30 and later supports an experimental module called mod_md which allows automatic SSL certificate management with Let’s Encrypt as standard provider. This greatly simplifies the management of SSL certificates. Instead of setting up certbot and cronjobs to automatically renew certs server administrators now only need to add a few lines to their virtual host files. This guide assumes the operating system is Ubuntu! If you use a different distro some commands may be different.

View full post
01/7/2020 | 01/7/12020 HE

Using Archetypes in Hugo

For the longest time I completely ignored archetypes in hugo. I’d always copy over the front-matter from the last blog post I wrote and then fill in the things I needed - leading to some mistakes (e.g. using category instead of categories) over time. Archetypes are easy to use, for example to create this post I ran the following command $ hugo new blog/2020-01-07-using-archetypes-in-hugo.md This copied over the archetype file from archetypes/blog.

View full post
01/6/2020 | 01/6/12020 HE

Hugo aliases and redirects

Using aliases to prevent 404 when restructuring your Hugo site

With the recent redesign and re-structuring of my website I decided to include year and month in URLs. I previously only used the post title as URL key, so a post with title Hello world would be available at kevingimbel.de/hello-world. With the new format this includes the section, year, and month, so for example kevingimbel.de/blog/2020/01/hello-world. To prevent all old URLs from failing with a 404 I added aliases to all old posts.

View full post
01/3/2020 | 01/3/12020 HE

Hugo: ignore _index.md in list templates

How I ignore _index.md files in my list templates

While creating my new website I also added more sections, namely a blog, photography, and art section. All of these use list templates and render “article”-like content previews. I wanted to add some content to these lists and Hugo has a special file named _index.md for that. This file can be used to create index pages for lists. When I did that I somehow also included the index files in the post listings which was not what I wanted, so I added a if statement to my article-preview.

View full post
01/2/2020 | 01/2/12020 HE

Hugo: compare dates to flag old content

How I use Math and Date functions to flag old posts in Hugo

With the recent redesign of my website I also wanted to add a note to old articles. The IT world is changing fast and information can quickly be outdated, so I decided to add an automatically generated note to every post that is older than 4 years. Using the Hugo Math function and Date values it can be accomplished in automated-enough fashion. Partial First I created a new partial named single-header.

View full post
01/1/2020 | 01/1/12020 HE

Safe calc usage in CSS

Using CSS calc function reasonable and with fallbacks

calc is a great CSS function to calculate values, e.g. margins or widths. What makes it especially great is that it can combine different values, for example calc(100% - 4rem - 1px) is valid and works in modern browsers - in simpler words: Calc works with different units like em, %, px, etc. The problem with calc is that if it doesn’t work you may get a unexpected result. Take the following code for example:

View full post

2018

Back to navigation

11/7/2018 | 11/7/12018 HE

Fallout 76: B.E.T.A

If you know me you’ll probably know that I am a huge Fallout fan. I absolutely love the games (all of them basically, maybe not Tactics) and I’ve played Fallout 3 and Fallout New Vegas countless times on XBox 360 and PC. When Fallout 76 was announced via a mysterious live stream in anticipation of E3 2018 I spent an entire evening on Twitch watching - nothing. It was a bit frustrating at the time but checking Reddit and Twitter for all kinds of hints as to what this stream could mean and speculation with the amazing r/Fallout community was a lot of fun.

View full post
09/12/2018 | 09/12/12018 HE

Mastodon Embed Shortcode for hugo

You may know that I made some shortcodes for Hugo, the static site generator I am using to create this website. So far I made a shortcode for caniuse.com and codepen.io which allow to embed CodePen and “Can I Use” embeds easily with Hugos build-in Shortcode system. Today I made another one which allows embeds from Mastodon, the decentralized Twitter-like social network. An example embed is shown below. The Source Code can be found on GitHub.

View full post
04/18/2018 | 04/18/12018 HE

TIL: Bash select

I was recently researching different bash prompts and stumbled upon an StackExchange answer which explains the different prompt types (PS1, PS2, PS3, and PS4). The answer explains how the PS3 prompt is used for commands like select. I did not know about select before, so that’s the real TIL here! […] PS3 is shown when the select command is waiting for input […] So the PS3 prompt is shown when a bash program is waiting for user input, and it turns out that the select bash command is used for creating a “choice” UI in bash.

View full post

2017

Back to navigation

11/26/2017 | 11/26/12017 HE

CSS Custom Properties and a new look

You may have noticed that some things changed on this website. I completly re-wrote the Front-End and created a new theme with a focus on accessibility and well-structured content. On the web, Accessibility is enabled by default; All you need is a good HTML structure and your website is almost ready to go! A second important part of accessibility is color and contrast as well as font sizing. I decided to let users choose their own color scheme, font-size, and dark or light mode - all done with CSS Custom Properties (aka CSS variables).

View full post
04/2/2017 | 04/2/12017 HE

2017, week 10, 11, 12, 13

Time sure does fly sometimes! I just realized the last “weekly” review post was from the beginning of march, namely week 8 and 9, so one month ago. In the meantime I played a lot of The Legend Of Zelda: Breath Of The Wild, worked on a Go thing, and went to a concert. Breath Of The Wild Link looking onto Death Mountain I am absolutely in love with Breath Of The Wild.

View full post
03/29/2017 | 03/29/12017 HE

Using the Terminal: The Prompt

The Terminal (or bash, shell, console) is an incredibly powerful program available on (almost) all operating systems such as Mac OS, Windows, or Linux Distributions like Ubuntu, Mint, Fedora, CentOS, … - you get the picture. Using the terminal in an efficient way to navigate the computer or writing your own programs and snippets to enhance your workflows is incredibly powerful. I already wrote about one custom script named ws which enhances my daily workflows.

View full post
03/5/2017 | 03/5/12017 HE

2017, week 8 and 9

It turns out that a lot of my time is actually spent working or playing games - so there’s not too much to tell and weekly updates become hard-ish to write. I am going to go with bi-weekly or even monthly updates from now on. So this post is week eight and week nine - week nine being the week the Nintendo Switch and The Legend Of Zelda: Breath of the Wild were released.

View full post
02/18/2017 | 02/18/12017 HE

2017, week seven

In week six nothing happened so it was skipped. Quite nice, actually. In the second half of week six and through week seven I prepared a workshop which I gave on Friday at the Coding Night. This Coding Night was a special one: The topic was “CodingNight feat. CodeDoor feat. Refugees” which was a collaboration between CodingNight and CodeDoor. CodeDoor is a project which teaches Refugees coding skills, how to build projects and how to get a Job in the programming field.

View full post
02/8/2017 | 02/8/12017 HE

2017, week five

Another week passed, another personal review. This week I finally got a appointment with my tattoo artist to finish up my tattoo. I’m only 6 months late to do so because I kept saying “I’ll call next week”, “I’ll do it when I’m back from Amsterdam”, “I’ll do it after Christmas” - and so on. I am really bad with managing time and work-life balance. If you have any tips on how you manage the things you have to do, hit me up on twitter @_kevinatari.

View full post
01/29/2017 | 01/29/12017 HE

2017, week four

It’s the last week of the first month already - weird how fast time seems to tick! This week has been rather stressful and loaded with work which is why I did not write any posts or did any programming in my free time. Looking back at the week there’s not much to say so this will be a quick read with some reading recommendations at the end. dep The Go language has released a alpha version of dep - their dependency management tool.

View full post
01/22/2017 | 01/22/12017 HE

2017, week three

Another week another short review! The third week of 2017 had a lot of travel because I attended an Elasticsearch training course in Munich to learn more about Elasticsearch hands-on. The two day course was exiting and I enjoyed my time, learning quite a lot about the different features of Elasticsearch and Kibana. Part of the course material is a 500 page PDF file which is a copy of the presentation held during the two days - I am glad I got it because it’s a great reference to look at.

View full post
01/17/2017 | 01/17/12017 HE

Deploy a static site with git

If you follow my blog you might recall that I switched from Jekyll hosted on GitHub to Hugo hosted on Uberspace. Beside the fact I had to create a custom Hugo theme for myself and learn how to run a Hugo blog/website I also had to think about how I am going to deploy my website. Hugo is a static site generator and when executed ($ hugo) it compiles the site from Markdown and HTML templates into a public directory with lots of folders and HTML files.

View full post
01/15/2017 | 01/15/12017 HE

2017, week two

This week I spent a lot of time with Amazon Web Services, or AWS, and made myself familiar with the backend and the way server / instance management works on AWS. While doing so I also learned that AWS instances are by default not accessible from the internet - they have no open ports and each instance needs a “Security Group” which defines ways to access the instance. They also do not have Shell access by default.

View full post
01/12/2017 | 01/12/12017 HE

Bash script: ws

For the past year or so I had a little function in my .bash_profile file which made my interaction with the terminal roughly 9001% better - yeah, over 9000! This little function is called ws and makes switching between projects inside my workspace a lot easier. Both my private and work projects are inside the ~/Development directory. If I want to get to a project I would normally navigate like cd ~/Development/private/github/kevingimbel/kevingimbel.

View full post
01/9/2017 | 01/9/12017 HE

Writing NodeJS cli tools

Over 2015 and 2016 I got more and more interested in automating my daily workflows with scripts. For this purpose I learned Bash Scripting (or Shell Scripting) and started writing my first scripts to automate repeating tasks, creating apache vhosts files for example. Recently I started exploring how to implement command line tools in NodeJS and this post should give an overview. Shebang If you already know what a Shebang is skip to the next section

View full post
01/8/2017 | 01/8/12017 HE

2017, week one

German blogger, designer, and YouTuber Marcel Wichmann started a weekly-review blog series which I find quite interesting! Reviewing in short what happened in each week of the year is a nice and “easy” way to recap everything that happened - and it also helps writing this years big review post at the end of the year. I am not sure if I’ll keep it up for each week but I will try.

View full post
01/1/2017 | 01/1/12017 HE

2016, a short review

2016 has been an odd year in regards to world events and deaths - quite depressing actually. For me personal it has been the exact opposite. Overall, for me 2016 has been an excellent year. January View from the hotel in Fuerteventura. January started with what we call a “Braincamp”. A Braincamp is a company trip to a remote location where we at Synoa GmbH take time outside the office and come up with ideas and projects to do for the year.

View full post

2016

Back to navigation

12/27/2016 | 12/27/12016 HE

Goodbye Ubuntu, Hello Mac

Christmas came earlier this year! Since my co-workers switched to MacBooks over the year I got a MacBook, too. I got my new PC last year so I was not due to a hardware change for at least another year but - to my luck - I also got a new PC so we all have the same hardware. After three years of Ubuntu and Linux/GNU it’s odd to switch to MacOS.

View full post
12/21/2016 | 12/21/12016 HE

Gotcha: dockerignore

Today I was caught off-guard by a docker “bug” - or so I thought at first. I tried to boot up a project with docker-compose up like I do since switching to a Mac. Unusual was that docker-compose stopped at the build step and would not finish the boot. After some confusion and after checking the projects docker-compose.yml configuration file I went to GitHub to see the newest docker for mac issues because I was using the beta release and thought a recent update might broke a thing or two.

View full post
11/16/2016 | 11/16/12016 HE

Farewell Jekyll, Hello Hugo

If you have visited my website in the past few weeks you might have notices a few things. First of all it looks different. Second, it is now served over HTTPS which is possible because I moved away from GitHub Pages and back to self-hosting my website. Third, and possible most important, I also moved away from Jekyll after using it for three years. This very site you read right now is build with Hugo, a static site generator build by Steve Francia, Bjørn Erik Pedersen and a lot of contributors.

View full post

2015

Back to navigation

12/16/2015 | 12/16/12015 HE

Speed up your Jekyll workflow

Lately I had a hard time working with my own website. Whenever I wanted to make some updates, write a post or fix a little buggy thing it only took a few minutes of “work” to get me really frustrated. Jekyll, despite my love for it, has become horribly slow. My site, which I consider rather “simple”, took 17-20 seconds to build on every change! Changing the CSS? Rebuild entire site.

View full post
08/13/2015 | 08/13/12015 HE

A Beginners Guide to Drum and Bass

It’s been quite a while since I last posted a Mixtape but luckily I just happened to create one the other day for a friend, hoping to get her into Drum and Bass. So here it is, “A Beginners Guide to Drum and Bass” with a selection of tracks from liquid to harder Drum and Bass. Enjoy! See all Mixtapes

View full post
05/7/2015 | 05/7/12015 HE

ReactJS - Hello World!

This article is the first in a series about ReactJS, a JavaScript library for building user interfaces. It is actively developed at Facebook and Instagram, while Instagram uses React to build their web app. At Facebook, however, React plays a role in the “background”, featuring administrative screens such as the Ads Managment. React itself says one very important and true thing about itself: Lots of people use React as the V in MVC.

View full post
03/10/2015 | 03/10/12015 HE

Getting into Performance Measurement

I’ve spent the past week developing some features for our own website at work. We’re using WordPress and I almost always enjoy working with WordPress beside Magento projects, it’s way easier to keep an overview and with a good overview of data flow and available data it’s easier to measure and find performance bottleneck. In the following post I want to examine my workflow and the way I refactored our code base to increase the speed and overall performance of our site.

View full post
01/22/2015 | 01/22/12015 HE

Snippet: SASS Source Maps with Gulp

Yesterday I finally took a few moments to implement Source Maps with Gulp for one of our client projects at work. I wanted to use the benefits of Source Maps for quite some time but never actually found the time to wrap my head around it (aka throw in another Gulp plugin). Source Maps are used to connect your pre-compiled files, like Sass, with the later compiled CSS - so inside the Dev Tools you can see for every line of CSS from which Sass file it comes - this is super handy once your project get’s bigger!

View full post
01/21/2015 | 01/21/12015 HE

Getting into vim - again

It’s been some time since I first got my fingers on VIM. My first impression was - as everyones I guess - pretty bad. VIM is not that easy to understand, yet a powerful, shortcut-based, distraction free editor. I’ve already written about turning Sublime Text into VIM mode and my very first VIM impression, but back then I just copy & pasted everything I found on the Internet into my .

View full post

2014

Back to navigation

11/21/2014 | 11/21/12014 HE

Snippet: theme-color for Android 5.0

Just yesterday I got my Android 5.0 update which also features a new way multi-tasking works and Chrome interacts with this multi-tasking. In fact, all recently opened tabs are available via the multi-tasking button (square to the down right on Stock Android) instead of an in-app button like it used to be. This not only is very handy actually since you can switch between apps and websites seamlessly you can also set your own status bar colors for chrome which are used on the page and in the multi-tasking overview.

View full post
08/27/2014 | 08/27/12014 HE

Magento: Add fields to the Admin Backend

Today I had a task at work that first sounded rather easy: Add a field to the Admin backend, namely System->Config->Catalog where the user could later insert some SKUs to control which products are shown on the home page. The first resources I found on how to edit the Backend where all suggesting to create a Module and then create a settings page. Not only was this rather complex it was also way too “over engineered” for a simple thing like a text field.

View full post
08/22/2014 | 08/22/12014 HE

Endless Multi-Dimensional Navigation

The past I decided to get my head around multi-dimensional navigations, like navigations that can have (endless) sub navigations nested inside them and so I started to try some ideas on CodePen. My first idea was to have a trigger element that, when clicked, triggeres the nearest Sub Navigation to activate it (e.g. giving it an open class). The JavaScript for this looks like this: var d = document, trigger = d.

View full post
07/31/2014 | 07/31/12014 HE

Conditional CSS

While there’s a lot of talking about CSS writing styles, organization styles and if it’s maybe better or not to avoid pre-processors or frameworks there’s one very powerful thing that gets pretty much no attention at all: Conditional CSS, i.e. pieces of CSS that serve one specific task the easiest and most known is .active given to, well, active elements. I’d like to talk a bit about conditional CSS that I’ve been using in production and that I think can improve the overall logic of CSS.

View full post
07/20/2014 | 07/20/12014 HE

A closer look to closure

Closure is a very interesting concept in JavaScript. It basically determinse where and how variables or functions are accessable and where not. Since this is an essential part of JavaScript and one can run into quite some problems I want to try and give short introduction to closure and what it can be good for. It’s good to have at least basic understanding of JavaScript. So before I start I’d like to say that I consider myself a JavaScript beginner and this is how I understand closure and scopes at the moment.

View full post
07/13/2014 | 07/13/12014 HE

Noobish VIM

Since I’m still trying to really get why so many (Front-End) Devs love VIM I tried to find a “good” way to integrate it into my daily workflow. Since I’m working in a relativley small company it’s most of the time stressy to get all things done and to keep an overview - so long story short: There’s not much time for new tools that don’t increase my workflow directly. VIM is one of these tools that don’t fully support my workflow at the moment.

View full post
06/13/2014 | 06/13/12014 HE

Useful Web Developer Tools

I myself always like to see what other developers use in their workflow: What tools? What plugin? Live-Reload, Pre-Processors, shortcuts - all that stuff. It’s always great to save some time, especially for repeating tasks or challenges. Today I want to share my list of tool that I use on a daily base for all kinds of things. Browser-based The following tools are all for Chrome because I use Chrome for most of my development.

View full post
05/27/2014 | 05/27/12014 HE

Magento: get and set variables in config.xml

The other day I had a kind of easy problem in Magento that still took me quite some time to solve. In the shop I’m working on we had a contact form module that sents and validates emails which worked perfectly fine on one page (the one it was made for), however this form should be “cloned” to be present on 4 pages with different email addresses. Since Magentos Core is MVC-like I believed there would be an easy way to pass email addresses to the Controller.

View full post
05/26/2014 | 05/26/12014 HE

Vim - first impression

When I first looked at Vim it was a very short experience that was literally as follows # from the command line vim test.md *vim opens* "What's that?" *CTRL + C* "How do I even close this?!" *opens browser, googles "how to close VIM"* ESC + :q That was it and that was my Vim experience for quite some time. However, lately I see more and more people talking about Vim being the single best editor for everything - no matter what language one writes.

View full post
05/23/2014 | 05/23/12014 HE

Passing Arguments in JavaScript

One of my favorite aspects of JavaScript is that it is unbelievable flexible. I am currently reading “Secrets of the JavaScript Ninja” by the amazing John Resig and try to play around with JavaScript whenever I’ve the time to do so. Just yesteday I needed to pass as many arguments to a function as the user wants which means I can’t check for every possible thingy. Anyway, I’ll cover this in a small write-up aka a blog post.

View full post
03/2/2014 | 03/2/12014 HE

Mixtape: February 2014

Another month passed and a new mixtape arrived. My favorites of February 2014. Enjoy!

View full post
02/22/2014 | 02/22/12014 HE

Pure JavaScript slider

The great thing when you’re a beginner in any programming language (or in anything in general) is, that even small successes make you happy and proud of what you did. I’m very proud of my back to top script even though it’s not perfect at all. I could make a back to top button with jQuery in a few minutes but it wouldn’t be that much fun. However, I made another JavaScript thing I’m proud of: A pure JavaScript slider.

View full post
01/13/2014 | 01/13/12014 HE

Fatboy Slim - Why Try Harder

Start your day right and listen to the best of the best of the best from Fatboy Slim - Free on SoundCloud!

View full post
01/10/2014 | 01/10/12014 HE

Digitalism - Boiler Room at MELT! 2013

I really like Digitalism and I really love electronic music so this DJ Set recorded at MELT! festival in Germany is just perfect. I can highliy recommend to follow Digitalism and Boiler Room on SoundCloud.

View full post
01/8/2014 | 01/8/12014 HE

Labels in GMail

In case your company is using GMail Business there’s one thing that comes to your daily work-life I really love about GMail: Labels. Labels are used to sort eMails automatically and - what I really love about - without removing them from the Inbox into 1000 folders. Instead they just get a Label and their own “View” inside GMail - on Desktop as well as Mobile which makes them even better!

View full post
01/6/2014 | 01/6/12014 HE

Bullgit loves Jekyll

After having a static HTML Page for about 6 months, we at bullgit just switched to a brand-new Jekyll page that uses the GitHub API to display all our repos as well as a list of members with images and links and there are a few reasons why we made this switch: Jekyll is built-in GitHub pages Jekyll is easy-to-learn and easy to maintain No-Database handling of Data (see the list of members we use) Everyone can clone the repo and run it locally So basically, as soon as you have a Project on GitHub or an organization like bullgit you can use the power of Jekyll to make your page easy to use and easy to change even for new members.

View full post
01/5/2014 | 01/5/12014 HE

Mixtape: 2013

I like to make Mixtapes (or playlists) on SoundCloud and this one is my “Best of 2013” Mixtape featuring my favorites of Drum and Bass, Electro and Dubstep. Enjoy!

View full post
01/2/2014 | 01/2/12014 HE

Web Development in 2014

As soon as you start to really dig into web development it feels like things would change daily - at least I feel that way. But there’s one thing that I’d like everyone to do in 2014: At least basic responsive web development to ensure your site - at least - looks good and is usable on whatever screen it will be displayed. There’s nothing I hate more than scrolling websites around on my phone when I want to read an article (to be honest, I mostly leave the site and never come back).

View full post

2013

Back to navigation

12/25/2013 | 12/25/12013 HE

Brackets vs. Sublime Text

I first tried Brackets back in my Windows time. It was a very early version, kinda heavy and wonky and not what I wanted from an editor I use on a daily base at all. Just today I decided to give it a second look because beside VIM it is the editor I read quite a lot about latly. My first impression was: “Wow, that’s a simple, clean editor!” - exactly the thing I liked so much about Sublime Text 2 which I’ve been using for the last two years or so.

View full post
12/22/2013 | 12/22/12013 HE

How I got employed

About 1 year ago I joined a tlk.io Chat created by Tim Pietrusky. It was my first time ever I joined a group of other devs and I was more then nervouse about because I - at this time - considered my self more of a Hobby-Dev who’s not that skilled. I just started using CodePen a few months before and did some fun demos and experiments there like drawing images with CSS and stuff.

View full post
11/24/2013 | 11/24/12013 HE

Pseudo Product Flags

For a recent client Project I had to create Product Flags that are displayed at the top of each product. The Flags should have different colors and different values (which also have different lengths). The values are applied via the data Attribute and the colors are also controlled via a data Attribute. The “Problem” with this task was that it’s not only a few different length, it’s a multi-language system and therefore can end up in a lot of different width of the product flags - a “fixed” solution, like applying a max-width of let’s say 20em, isn’t the best solution for this so I ended up creating a flexible solution.

View full post
11/18/2013 | 11/18/12013 HE

To infinity and beyond

While I was re-designing my Website I decided to finally add some JavaScript to it. I’m learning JavaScript for like 2 months now and - to be honest - I finally understand most of the things I’m doing. Yesterday night’s topic was a “Back to Top” Button written in Vanilla JS. Actually the code behind it is kinda simple, however, I wrote an endless function that got to infinity and beyond (that’s where the title comes from.

View full post
10/28/2013 | 10/28/12013 HE

Custom Radio Buttons

Today I thought about a project I had in mind for some time, it has to do with ratings of different contents and the first thing I thought about was: What’s the easiest or best way to create a rating form with custom buttons (stars, hearts, whatever). A few years ago I had to do this once and I remember doing it with an image and background-position but as of today I really love pseudo elements and “Look-Ma-No-Image!

View full post
10/16/2013 | 10/16/12013 HE

Ghost in the shell

Finally Ghost launched to the public! I waited for this CMS since I first heard of, at this time my blog was running on WordPress which always felt overloaded. WordPress has a lot of functions and stuff I don’t need when publishing a few articles a month to the Internet. However, I switched to Jekyll as you may know and now there is Ghost. It felt like it’d be my birthday while unpacking the *.

View full post
10/14/2013 | 10/14/12013 HE

i-js

Today I decided to dig deeper into JavaScript and experiment a bit with scope, query selection and the general manipulation of the DOM. To do so I set up an object to store all my functions - this is not necessary but definitely more fun. After naming my Object $ (because I new this from jQuery and I thought it would look cool) I renamed it to I and here comes the fun part: While learning JS I build i.

View full post
10/13/2013 | 10/13/12013 HE

Join a Dev Group

Earlier this year I joined a Dev Group. It was the best decision I made this year and I want to tell you why. After doing more experiments on CodePen and right after I got to know Tim Pietrusky he opened a tlk.io Chat called #CodePen. For those who’re not familiar with tlk: it’s an open web chat. You can create a room, everyone can join and all things are open to everyone who knows the URL.

View full post
10/2/2013 | 10/2/12013 HE

From 0 To Sass

If you’re a Front-End Developer you may have already heard about Pre-Processors such as Sass, LESS or Stylus. It’s fair to say that they’re all good and which one you use is up to you or your team. I prefer Sass with the SCSS Syntax (= keeps semicolons and brackets). Even though Pre-Processors are easy to use and setup some people are still confused: Do I have to run them on a server?

View full post
09/20/2013 | 09/20/12013 HE

A bit sticky

I just stumbled upon a very handy CSS Property: position:sticky. As far as I found out it’s only working in Chrome and Chromium with the experimental Webkit Features Flag enabled (see at chrome://flags/#enable-experimental-webkit-features). position:sticky is a pretty handy feature that allows you to stick an element to the top of the page (or wherever you want) until the parent element is moved out of the screen. Basic Markup To get an idea of how position:sticky works I made some basic markup.

View full post
09/1/2013 | 09/1/12013 HE

Endless scrolling

If you see Apps (no matter if native or web) and websites like I do, you’ll probably now the worst thing that can happen to an endless scrolling page: No shortcut to get back to top. Even Facebook doesn’t offer a way to get back to top on their website nor do they on Facebook for Android. On Android you can simply hit the menu button and the sidebar-like menu will fade in, so there is no problem with not having an “scroll to top” action because there is no need to get back to the top.

View full post
08/16/2013 | 08/16/12013 HE

Is this :valid?

I recently stumbled upon the :valid and :invalid class for input fields. It gives you the ability to use visual feedback on inputs that show the user whether the input is - guess what? - valid or not. This is, in fact, a very handy pseudo class in case of UI and UX Design because you can easily give a feedback on input without using JavaScript. Anyway, this pseudo element does not validate the input, the entered email for example can still be formated wrong.

View full post
08/15/2013 | 08/15/12013 HE

px vs em

Recently Tim Pietrusky wrote and article about px vs em that contains a few links on resources that explain why you should use em instead of px as measure unit on websites. I was using pixel like forever and I couldn’t think of any reason to switch to a new unit until Tim explained why em is better: em is more responsive and it is scalable. In fact when you switch from pixel to em you’ll feel like working on a completely new Level.

View full post
08/12/2013 | 08/12/12013 HE

Hello World

Recently I decided to redesign and redefine my online appearance and the way I publish content to the internet. I switched from using 2 domains as Blog and Portfolio to one new Domain for both: kevingimbel.com This page is build with Jekyll a blog-aware static site generator you’re going to love. I wrote a Guide to get started - so if you consider doing so give it a look. Beside switching to a new domain I also switched my hoster.

View full post