Skip to content

Instantly share code, notes, and snippets.

View Glutexo's full-sized avatar
🇨🇿
Wypili moją krew na hejnał

Glutexo Glutexo

🇨🇿
Wypili moją krew na hejnał
  • Frýdek, Czechia
View GitHub Profile
@Glutexo
Glutexo / mail-log-and-notify.sh
Created February 17, 2015 10:25
Log mail an raise an OS X notification
#!/bin/sh
# Mail logging combined with OS X notification.
# Uses terminal-notifier – https://github.com/alloy/terminal-notifier.
# Writes the whole message with header to the file, timestamp included,
# and raises a system notification with the message subject. The log
# file (LOG_FILE variable) is opened in the Console app upon clicking
# on the notification.
#
@Glutexo
Glutexo / random-file.rb
Created February 22, 2015 13:14
Creates a file filled with random content.
#!/usr/bin/env ruby
require 'securerandom'
TARGET_FILE_NAME = "random-file.iso"
TARGET_FILE_SIZE = 4707319808 # DVD-RW
CHUNK_SIZE = 1000000 # 1 MB
file = File.new TARGET_FILE_NAME, 'w'
@Glutexo
Glutexo / update-big-picture-on-heads-change.sh
Created November 27, 2015 13:04
Outputs git-big-picture to the “big-picture.svg” file every time something in a git repository changes.
#!/bin/sh
# Uses ruby to encode JSON, watchman to watch for changes, git-big-picture to output the image.
# Can be improved by watching only file creation/deletion, since content changes are irrelevant.
CURRENT_PATH=`pwd`
JSON=`HEADS_PATH="$CURRENT_PATH/.git/logs/refs/heads" ruby -e "require 'json'; puts JSON.dump ENV['HEADS_PATH']"`
watchman -j <<-EOT
["watch", $JSON]
#!/usr/bin/env ruby
# Reads a mail from stdin, saves it to a new timestamped file and raises
# an macOS system notification. Can be used with PHP by entering this
# scripts path as a sendmail_path PHP INI variable. If used this way,
# from a webserver PHP instalation, make sure that the _www user has
# sufficent rights to execute the script and to write to the DIR_PATH
# folder. Also note that Dir.home returns the current user’s homedir.
# That means that if run by _www, it would return /Library/WebServer.
#
@Glutexo
Glutexo / format-exponential.php
Created September 2, 2016 14:15
Converts an exponential (scientific) number notation to a decimal one using neither GMP nor BCMath module.
<?php
/**
* Converts an exponential (scientific) number notation to a decimal one.
* Uses neither GMP nor BCMath modules.
*
* @param float|int|string $value
* @return string
*/
function formatExponential($value) {
// Both upper-case “E” and lower-case “e” would work.
@Glutexo
Glutexo / atom-keymap-fix.cson
Created March 1, 2017 16:03
Oprava Atomu, pokud v něm nejde napsat hvězdička *
# Pokud ti nejde v Atomu na Windows s českou klávenicí napsat hvězdička,
# zkus postupovat podle tohoto návodu:
#
# 1. V atomu zvol v nabídce File › Keymap…
# Otevře se ti textový soubor s hromadou šedého textu.
# 2. Na konec tohoto souboru vlož dva řádky uvedené na konci tohoto
# návodu.
# 3. Soubor ulož, například klávesovou zkratkou Ctrl-S.
#
# Teď už by mělo být možné napsat hvězdičku stiskem Ctrl-Alt-pomlčka,
@Glutexo
Glutexo / maybe.php
Created August 3, 2017 06:38
PHP class that allows method chaining even if some part of the chain returns null
<?php
class Maybe
{
/**
* @var mixed|null
*/
public $value;
@Glutexo
Glutexo / 0-not-working.php
Last active January 24, 2018 07:23
Demonstration of a strange PHP behavior concerning class definition order when nested traits are used
<?php
class MyClass
{
use MyFirstTrait;
}
// This does not work. MyFirstTrait should use MySecondTrait, "Fatal error:
// Trait 'MyFirstTrait' not found" is raised instead.
trait MyFirstTrait
@Glutexo
Glutexo / Gemfile
Last active March 29, 2018 10:56
bundle update fail
raise "Ruby versions less than 2.3.1 are unsupported!" if RUBY_VERSION < "2.3.1"
source 'https://rubygems.org'
#
# VMDB specific gems
#
gem "manageiq-gems-pending", ">0", :require => 'manageiq-gems-pending', :git => "https://github.com/ManageIQ/manageiq-gems-pending.git", :branch => "master"
# Modified gems for gems-pending. Setting sources here since they are git references
@Glutexo
Glutexo / orangeHRM.js
Last active July 1, 2020 08:16
OrangeHRM timesheet fill-out
// ==UserScript==
// @name OrangeHRM filler
// @version 1.0.0
// @description Simplifies OrangeHRM monthly timesheet submission
// @author Glutexo
// @homepage https://gist.github.com/Glutexo/c07cc56085a00d11906094597c97ff9d
// @match https://*.orangehrm.com/index.php/time/viewTimesheet/mode/my
// ==/UserScript==
/**