Skip to content

Instantly share code, notes, and snippets.

Avatar
🤗

Alexander Karlstad carestad

🤗
View GitHub Profile
@carestad
carestad / gist:3842750
Created Oct 5, 2012
MySQL 5.X UTF-8 config
View gist:3842750
[client]
character-set-server = utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci
character-sets-dir = /usr/share/mysql/charsets
#default-character-set = utf8
init-connect = 'SET NAMES utf8'
@carestad
carestad / cssversioner.php
Created Oct 5, 2012 — forked from vidluther/cssversioner.php
Add a query string to the end of the theme's style.css when WordPress is loaded.
View cssversioner.php
<?php
/**
* Add a filter to stylesheet_uri, which appends a query string to it automagically.
*/
add_filter('stylesheet_uri', function($css) {
$parts = parse_url($css);
$file = $_SERVER['DOCUMENT_ROOT'] . $parts['path'];
@carestad
carestad / skyss.sh
Last active Apr 4, 2017
Skyss travel planner [Bash style]
View skyss.sh
#!/bin/bash
#
# By: Alexander Karlstad <alexanderkarlstad@gmail.com>
#
# Requires 'jq' and 'curl'
#
# To install (on Ubuntu):
# sudo apt install jq curl
function halp() {
@carestad
carestad / .bash_completion.jotta
Created Apr 23, 2018
Bash completion for jotta-cli
View .bash_completion.jotta
#!/bin/bash
function _jottacli() {
local config_params cmds cur first params prev second
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
first=${COMP_WORDS[1]}
second=${COMP_WORDS[2]}
prev=${COMP_WORDS[COMP_CWORD-1]}
@carestad
carestad / laravel-superglobals-cheat-sheet.php
Last active Dec 13, 2018
Laravel superglobals cheat sheet
View laravel-superglobals-cheat-sheet.php
<?php
$_SERVER['HTTP_HOST'] = Request::getHttpHost();
$_SERVER['HTTP_HOST'] = request()->getHttpHost();
// Alternative could be to use URL::previous(), but this will always return current URL if no referer is present.
// @see https://github.com/laravel/framework/blob/5.7/src/Illuminate/Routing/UrlGenerator.php#L154
$_SERVER['HTTP_REFERER'] = Request::header('referer', 'default');
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = Request::getPreferredLanguage();
@carestad
carestad / convert-first-page-pdf-to-jpg.php
Created Feb 22, 2019
Convert first page of PDF to JPG thumbnail in PHP
View convert-first-page-pdf-to-jpg.php
<?php
$file = '/foo/bar/document.pdf';
$im = new \Imagick($file);
$im->setIteratorIndex(0); // just use first page
$im->setImageAlphaChannel(\Imagick::VIRTUALPIXELMETHOD_WHITE); // Other alpha options are available, see Imagick PHP documentation
$im->setImageColorspace(\Imagick::COLORSPACE_SRGB); // Other colorspaces are available, see Imagick PHP documentation
$im->setImageBackgroundColor('white'); // Set transparent background elements to this color
$im->setFormat('JPG'); // Format, a wide variety is supported
View keybase.md

Keybase proof

I hereby claim:

  • I am carestad on github.
  • I am karlstad (https://keybase.io/karlstad) on keybase.
  • I have a public key ASBdjb4nFyklP4MvxzxDntz8_HIN-VFz1SKRfFHtBqUJbAo

To claim this, I am signing this object:

@carestad
carestad / apt-slack.sh
Last active Jul 17, 2019
Script to notify on Slack when updates are available in APT. Logs already reported packages on a $0.log file.
View apt-slack.sh
#!/bin/bash
#
# Author: Alexander Karlstad <carestad@github>
# Updated: 2019-07-17
# Configurable variables
slack_channel="@alexander"
slack_icon=":information_source:"
slack_user="apt@$(hostname -f)"
slack_webhook=""
@carestad
carestad / DataUriToFile.php
Last active Nov 6, 2019
Middleware to detect if a POST parameter of a given type is present, and if it is a data URI string we convert it to an instance of UploadedFile and make it accessible via Laravel's Request class and the file handling methods there.
View DataUriToFile.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\UploadedFile;
class DataUriToFile
{
/**
@carestad
carestad / README.md
Last active Aug 24, 2020
TTML to SRT conversion. Written in PHP.
View README.md

ttml2srt.php

This is a simple script for converting TTML subtitle files to SRT ones. Tested with TTML files on tv.nrk.no.

It assumes the data is structured like this:

<tt>
 <body>
  <div>
   <p>(...)</p>