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 / 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]
@Glutexo
Glutexo / cs.yml
Last active December 13, 2015 20:38
České formátování data/času pro gem delocalize. Názvy měsíců jsou v genitivu, protože to tak při vypsání celého data vypadá dobře. Samozřejmě pro vypsání pouze názvu měsíce to chce vyřešit jinak. Poznámka: Soubor cs.yml patří do složky /config/locales.
cs:
number:
format:
separator: ','
delimiter: ' '
precision: 2
date:
input:
formats:
- :default
#!/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 / 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 / stdout.log
Last active April 5, 2018 08:51
manageiq bundle exec rake update:ui fails
** override_gem: manageiq-providers-ansible_tower, [{:path=>"/Users/stomsa/Vývoj/ManageIQ/Repozitáře/manageiq-providers-ansible_tower"}], caller: /Users/stomsa/Vývoj/ManageIQ/Repozitáře/manageiq/bundler.d/custom.rb
** override_gem: ansible_tower_client, [{:path=>"/Users/stomsa/Vývoj/ManageIQ/Repozitáře/ansible_tower_client_ruby"}], caller: /Users/stomsa/Vývoj/ManageIQ/Repozitáře/manageiq/bundler.d/custom.rb
** override_gem: manageiq-schema, [{:path=>"/Users/stomsa/Vývoj/ManageIQ/Repozitáře/manageiq-schema"}], caller: /Users/stomsa/Vývoj/ManageIQ/Repozitáře/manageiq/bundler.d/custom.rb
** override_gem: manageiq-ui-classic, [{:path=>"/Users/stomsa/Vývoj/ManageIQ/Repozitáře/manageiq-ui-classic"}], caller: /Users/stomsa/Vývoj/ManageIQ/Repozitáře/manageiq/bundler.d/custom.rb
bower manageiq-ui-components#bower-dev not-cached https://github.com/ManageIQ/ui-components.git#bower-dev
bower manageiq-ui-components#bower-dev resolve https://github.com/ManageIQ/ui-components.git#bower-dev
bower jquery.observ
@Glutexo
Glutexo / bash_escaped_path.rb
Created May 11, 2018 10:17
Converts non-ASCII chars of the current path to bash string entities
(File.realpath('.').each_char.map do |char| char.ascii_only? ? char : "\\u#{char.ord.to_s(16).rjust(4, '0')}" end).join
@Glutexo
Glutexo / utf8_decode_demo.rb
Created May 17, 2018 07:11
Practical demo showing manual UTF-8 decoding
# Practical demo showing manual UTF-8 decoding. Ispired by an article by Tim Bray [Characters vs.
# Bytes](http://www.tbray.org/ongoing/When/200x/2003/04/26/UTF).
# These are characters mentioned in the article. Their UTF-8 represenation is written as an array of hex-encoded bytes.
utf8_chars = [
%w(26), # &
%w(D0 96), # Ж
%w(E4 B8 AD), # 中
%w(F0 90 8D 86) # 𐍆
]