A list of links and notes I collect throughout the year.

Link, Article, Note Desc
If include OpenGL/gl.h on macos fails To resolve this issue one need to install XCode command line tools. Once done /System/Library/Frameworks/OpenGL.framework/Headers/gl.h should exist and include <OpenGL/gl.h> should work again.
OpenAL Soft OpenAL Soft is a software implementation of the OpenAL 3D audio API. GitHub Repo (LGPL-licensed, cross-platform).
“The Best Mac Productivity Software” Nice collection of useful macos software. SelfControl - just brilliant :D
mkcert: valid HTTPS certificates for localhost Useful tool when developing web content which requires HTTPS.
Sound eXchange - sox For a fast and simple way to convert sound files. Convert xxx.mp3 to xxx.ogg? Simply do: sox xxx.mp3 xxx.ogg done.
HTML5 Gamepad Tester When working with gamepads this page is useful to see if a gamepad works as expected.
What is SDL_Joystick and what is SDL_GameController? SDL2 has more or less two gamepad APIs. This Stackoverflow entry explains the difference nicely.
“Open in Atom” in macOS context-menu On my machine it requires this modification: /Applications/Atom.app/Contents/MacOS/Atom -n "$@" &>/dev/null &.
Use private key with passphrase in ForkLift ForkLift 3 is a great UI to manage files on external machines (SFTP, S3, SMB, etc.). To make use of a passphrase protected private key-file one need to do this: ssh-add -K /path/to/private_key. The ui doesn’t support password input for this.
Cannot install Windows SDK 7.1 on Windows 10 Installing the Windows SDK with the Visual C++ compiler that is compatible with Windows 7 on Windows 10 seems to be blocked by .NET4. This Stackoverflow link shows some work around to that issue.
HtmlFlow Java DSL to write typesafe HTML (Github) If you are in need of a simple API for rendering HTML in Java. Nicly written in modern Java (MIT).
lftp mirror + ssh helps to sync folders via SFTP lftp -c 'set sftp:connect-program "ssh -a -x -i /path/to/private/key"; connect sftp://user@your.domain.example.com:1234; mirror -eRv --exclude-glob .DS_Store /path/to/local/source/ /path/to/remote/destination;'. This keeps a remote directory in sync with a local folder. The combined call using ssh adds supports passphrase protected key-files. The port is 1234 and it omits .DS_Store files.
List of warnings in IntelliJ Using Analyze->Inspect Code in IntelliJ gives you an incredible overview of all issues in your project. Found this helpful especially when working in an old PHP project.
Unwanted Margin Below Image It haunts me everytime: <div><img src=...""></div> can have a implicit margin below the image. <img style='display: block;' ...' does the trick. Same is true for <canvas>.
The Tragedy of systemd Comments disabled for this video :-) still interesting view.
I get conflicting provisioning settings error when I try to archive to submit an iOS app When XCode says something like: APP has conflicting provisioning settings. APP is automatically signed for development. Quote: This is the silly solution that works :-)
The executable was signed with invalid entitlements - 0xe8008016 If XCode 10 complains when creating an iOS app using Cordova this link is helpful. Legacy Build System :)
NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack Sometimes the JavaScript world with all their tools can be confusing. This SO post very nicely tries to make sense of the common tools and is activly discussed.
The Deadlock Empire Nice game approach to the many issues bad thread programming can impose. Really makes you wonder if you want to use Threads anymore :-D
“A very simple, seedable JavaScript PRNG.” Nice little GitHubGist in the event that Math.random() is too random.
“Simplify Your Life With an SSH Config File” A useful summary of how to optimize SSH workflow.
Setup a Firewall with UFW Using UFW it’s easy to setup a firewall (very similar to AWS security groups). Digital Ocean is kind enough to summarize the main commands to work with ufw. This is a good addition to prevent disconnects during initial configuration when working remotely.
Clean your Docker attempts DELETED webarchiv If added too many docker things this medium entry is useful to get rid of that.
https://developer.apple.com/ios/human-interface-guidelines iOS Icons, UI elements as PSD. As official as it gets.
Libre Office: [Solved] Image not embedded within Impress, it is linked Quote: It is not a bug, just a poor default. Well said. Open/Libre Office’ PowerPoint-Like does not embed images by default. The link explains how to get around that.
APK Tool - Install Instructions A useful tool to explore your APK files and check if they’v been build as expected.
How to Read a Twitter User’s Tweets WITHOUT Retweets On the website one can simply use the search form and type from:@<SOMEUSER>: tweet-feed without retweets.
Tabs and indents settings does not work - IntelliJ There is a property called Detect and use existing file indents for editing which can overrule the settings. If unchecked tab-behavior acts normal again.
IntelliJ Type missmatch If - for some magical reason - IntelliJ decides to recognize a JavaScript file as a text file just check Settings -> File Types. Search for the file or a the matching pattern in the Text File section.
How to Find or Validate an Email Address Perfect email regex? Welp… no :-)
Apache Cordova - Failed to generate v1 signature If building android app throws this while signing an APK this might help.
Atom: macOS Mojave font rendering change After an update to macos 10.14.x I really appreciate this line: defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO. It basically reverts this (@ min 28). Hopefully it’ll stick around for a while.
Why is processing a sorted array faster than processing an unsorted array?  This Stackoverflow entry gives an incredible insight into the prediction process of a CPU and how high level developer decisions have impact on speed because of that.
Remaking My First Flipbook 30 YEARS LATER I loved to work on flip books when I was young. Really nice to see what one can do with that today.
Install and Use Docker Compose on Debian If the repo does not support your version of compose files.
The 100% correct way to split your chunks with Webpack Not 90%… not 99%… no, this is the 100% guide to perfectly split JavaScript code using webpack. Very insightful.
twgljs.org Interesting library to reduce some of the code overhead when working with webgl
New Programming Jargon Nice article from Coding Horror. Smurf Naming Convention… just brilliant.
Get an apk file from an Android device Helpful lines of bash-code to download a specific APK from an Android device.
Creating a Fat Jar in Gradle Generate high carb jar with Gradle.
Jeka - Automate with plain Java code and nothing else A none declarative approach to build Java projects.
wk<html>toPDF HTML to PDF using webkit rendering engine. Very nice. brew install Caskroom/cask/wkhtmltopdf on macOS.
multichannel signed distance fields (msdf) Bitmap Font Rendering toolkit using the work of Chlumsky/msdfgen to generate AngelCode BMfont compatible font files.
Migrating paid app to free app with In-App Purchase Nice article on how to migrate an existing paid app to support in-app purches without annoy existing customers.
Why You Can’t Trust Local Storage in Your Cordova App Some details are just too good to be overlooked.
A free, easy to use tool for creating music! Bosca Ceoil is fun to fool around and to create retro music.
Backup and restore a mysql database from a running Docker mysql container   Helpful. It’s so obvious but for some reason my brain refused to come up with this. Considering the long list of thankful comments I’m not alone.
MariaDB JSON Functions, MariaDB virtual JSON columns I like MariaDB’s approach to JSON using VIRTUAL columns with index support and a bunch of functions to work with the data.
How scrolling textures gave Super Mario Galaxy 2 its charm Brilliant video explaining how Nintendo achieves water effects using displacement maps with low texture requirements.
note: Fix wrong IntelliJ import not found errors It happened to me in a larger Spring Boot project that for some reason IntelliJ showed me the import of the SecurityContext as invalid. The solution was to select File > Invalidate Cache / Restart.
EM vs REM vs PX – Why you shouldn’t “just use pixels”  Loosing my religion.
How to test Axios in Jest by Example Mock axios REST requests in nodejs using jest. Useful when writing tests in REST environment.

Quick note: the linked content of the articles, videos or websites here do not necessarily reflect my personal opinion. In some cases I might even disagree with all of it’s content but still like to share it. Over time the content behind a link might be edited or a blog changed into something different. Keep that in mind while enjoying the good stuff. If you find something really bad let me know: cschnack@gmx.de