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 an 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.

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