WireGuard provides unlimited possibilities for creating private and secure networks without having to expose devices to the public internet. In this example I wanted to access the Mikrotik router...
The generic “Custom Fields” feature in WordPress is really useful for adding meta data to posts such as redirect URLs or custom feature flags. However, this metabox wasn’t updated for Guten...
Reading and processing button presses with microcontrollers is a lot harder than one could assume because of the signal noise for which we have hardware and software solutions. I couldn’t find ...
It took me a few days to read through the relevant parts of the webpack and webpack-dev-server source code and figure out how to enable Webpack Hot Module Replacement for any project that doesn...
All photos, videos and the associated meta data for the MacOS Photos library is stored in the Photos Library directory under Pictures in your home directory. However, the original files are pl...
YouTube provides these subscribe buttons which include the number of your channel subscribers which can be extracted using a simple regular expression. Extract the Subscribe Count in PHP The C...
In episode 7 of my video blog I explain how I converted the popular Sony MDR-7506 headphones into wireless headphones using a bluetooth audio receiver from Havit. This is a follow-up video to my ...
The 26-pin expansion port of the Orange Pi Zero is placed on the opposite side of the board compared to Raspberry Pi while the pinout is exactly the same: OSH Lab created a nice illustration ...
Creating a USB install disk for macOS (OS X) can take 5 to 40 minutes and the createinstallmedia utility doesn’t provide any indication of the progress. However, the Disk tab in the Activity M...
Turns out that iPhone can’t act as a Bluetooth A2DP “sink” (it supports only “source”) which is required for receiving audio from one of these Bluetooth audio transmitters. They can�...
Update: This script has been converted into a proper PHP library called MiniSheets that can be installed as a Composer dependency. All instructions below are for the original script. Excel .xlsx ...
I created a simple PHP script that reads the OS X Photos library (SQLite) and creates a folder with symlinks to the original photos organized by the month the photos were taken. This folder can ...
Here is how to enforce SSL for WordPress admin only on certain sites on your Multisite network by adding this snippet to wp-config.php: $ssl_domains = array( 'example.com', 'anotherexample.com', ...
Blogs usually provide multiple feeds for things like posts, comments and categories so you want to pick the right one when subscribing to the site on Feedly. I created a little bookmarklet that d...
A while back I created a simple shell script for building and installing PHP 7 on Debian based systems. It checks out the PHP-7.0.0 branch of the PHP Git repo, runs configure to place everythi...
Today I upgraded to the latest “Public Beta” of OS X 10.10.5 and suddenly PHP CLI was returning the following error: $ php dyld: Library not loaded: /usr/lib/libnetsnmp.25.dylib Referenced f...
Connecting to a Raspberry Pi out of the box would be so much easier if it had an UART bridge at the USB power connection. One would simply plug it in the computer and it would show up as a virtua...
https://kaspars.net/blog/raspberry-pi-wi-fi-settings-sd-card
Have a look at this URL linking to this post: https://kaspars.net/blog/invisible-click-tracking Notice any tracking variables? Me neither! But check out the HTTP request and response in the n...
Espressif have packaged the GCC-based toolchain for ESP8266 as a VirtualBox appliance running lubuntu which makes it super easy to get started with compiling your own firmware for the module. Al...
https://kaspars.net/blog/esp8266-mount-shared-folder-virtualbox-os-x
Everyone knows that GitHub is awesome and so is their API. However, there are limits to the amount of unauthenticated request you can make to the API from a single IP address. I am using their A...
https://kaspars.net/blog/use-nginx-reverse-proxy-mirror-github-api
Here is a quick way to get follower stats for any Twitter user without using the Twitter API. I found this via their Follow button so please don’t consider this a permanent solution. https://c...
I have updated the Storage for Contact Form 7 plugin to add support for CSV export of the contact form entries. Now you are able to export either all or a selected set of entries filtered by ...
Update: I’ve created the “Storage for Contact Form 7” plugin which saves all form submissions securely in your WordPress database so they never get lost when the email delivery fails....
WordPress will ignore your page template settings for the static front page with themes that include their own front-page.php. Here is a quick filter that checks for a page template setting and ...
Ever wanted to work on your GitHub Gists locally? Here is the SSH URL for Gists: git@gist.github.com:NNNNNN.git where NNNNNN is the ID of your Gist. Read more →
GitHub provides a really nice way of creating release zip files for any of your GitHub projects. Here is a very simple shell script that can be used with any non-GitHub repository for creating r...
Sometimes for a responsive website you might want to apply the desktop stylesheet also on tablets and mobile devices in landscape mode. When using media queries to style a website based on the de...
Here are two simple filters to remove the rewrite of
https://kaspars.net/blog/disable-title-rewrite-wordpress-seo
While adding new blogs to WP Roll I noticed that a lot of them still redirect their RSS feeds to FeedBurner. I guess it’s because of subscriber stats, email delivery and other little features t...
Today I noticed that WordPress (3.6-alpha-23883) has started automatically adding content to my posts that use post format other than the standard “post” and have some of the new meta fields...