Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Sergey Lukin sergeylukin

🎯
Focusing
View GitHub Profile
@sergeylukin
sergeylukin / twom.sh
Created Oct 13, 2015
Save and load progress in "This War of Mine" video game
View twom.sh
#!/bin/bash
# Copyright (c) 2015 gruberator
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted
# provided that the above copyright notice and this paragraph are
# duplicated in all such forms and that any documentation,
# advertising materials, and other materials related to such
# distribution and use acknowledge that the software was developed
# by the gruberator. The name of the
@sergeylukin
sergeylukin / install
Created Jun 24, 2020
Install Jenkins via Docker on OS X
View install
docker run -d -p 8080:8080 jenkins/jenkins
docker ps
# Install docker-enter function:
# docker-enter() {
# docker exec -it "$@" bash
# }
docker-enter <container_id>
@sergeylukin
sergeylukin / init.lua
Last active Nov 5, 2019
Hammerspoon Hyper key configuration
View init.lua
--Reload config
local hyper = { "cmd", "alt", "ctrl", "shift" }
hs.hotkey.bind(hyper, "0", function()
hs.reload()
hs.notify.new({title="Hammerspoon", informativeText="Config loaded"}):send()
end)
--Resize windiows
hs.window.animationDuration = 0
hs.hotkey.bind(hyper, "h", function()
@sergeylukin
sergeylukin / optimg.sh
Last active Jul 3, 2019
Shell script for JPGs and PNGs optimization
View optimg.sh
#!/usr/bin/env sh
#
# This script automates images optimization
# is mainly used by a developer who manually
# can execute it when adding new images to the
# project
#
# Download and compile following binaries:
#
# - [jpegtran](http://www.ijg.org/)
View keybase.md

Keybase proof

I hereby claim:

  • I am sergeylukin on github.
  • I am sergeylukin (https://keybase.io/sergeylukin) on keybase.
  • I have a public key ASAT5Q5Fzp-1mB8mJYAXvkD_DA4ifS2gloH3vCl-CMDa1Qo

To claim this, I am signing this object:

View enlgish_to_gettext.php
<?php
define('MY_APP_DIR', __DIR__ . '/src');
function rsearch($folder, $pattern) {
$dir = new RecursiveDirectoryIterator($folder);
$ite = new RecursiveIteratorIterator($dir);
$files = new RegexIterator($ite, $pattern, RegexIterator::GET_MATCH);
$fileList = array();
foreach($files as $file) {
@sergeylukin
sergeylukin / error_handler_slack.php
Created Nov 4, 2018
Sends error to Slack via Webhook
View error_handler_slack.php
<?php
// Set your Slack WEBHOOK here
define('_SLACK_ERRORS_CHANNEL_WEBHOOK_URL', '<WEBHOOK>');
// Register function that will be executed in the end of PHP runtime
register_shutdown_function("shutdown_error_handler");
/*
* Sends a message to channel on Slack, example:
@sergeylukin
sergeylukin / error_handler_slack.php
Created Oct 17, 2018
Send PHP fatal errors to Slack
View error_handler_slack.php
<?php
register_shutdown_function("shutdown_error_handler");
function FriendlyErrorType($type)
{
switch($type)
{
case E_ERROR: // 1 //
return 'E_ERROR';
case E_WARNING: // 2 //
@sergeylukin
sergeylukin / post-receive
Last active Apr 27, 2018
Git hook (post-receive): update working tree on PUSH
View post-receive
#!/bin/sh
#
# This hook is placed in Bare repository and it updates Working tree whenever a PUSH
# is executed
#
# Assuming following file structure:
# .
# |-- myproject
# |-- myproject.git
# set WORKTREE=../myproject
@sergeylukin
sergeylukin / test.json
Created Apr 3, 2018
testing rtl values
View test.json
{
"ch1": 1,
"ch2": 1,
"ch3": 1,
"title": "כפר סבא",
"ch4": 1,
"ch5": 1,
"ch6": 1,
"ch7": 1,
"ch8": 1,
You can’t perform that action at this time.