Skip to content

Instantly share code, notes, and snippets.


Sergey Lukin sergeylukin

View GitHub Profile
sergeylukin /
Created Mar 7, 2012
Bash: launch monitoring terminals
# Script Name: Launch terminals for monitoring
# Author: Sergey Lukin
# Wait for Network to be available.
while true
ping -c 1
sergeylukin / feed.xml
Created May 6, 2012
Git hook: Export pushed commit to RSS FEED
View feed.xml
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="" xmlns:thr="" xml:lang="en">
<title type="text">Git push feed</title>
sergeylukin / commit-msg
Last active Oct 7, 2015
Git hook: prefix BRANCH name in every COMMIT
View commit-msg
# Adds current branch name as a prefix for every Commit
# To enable this hook, rename this file to "commit-msg" and make sure it is executable
ticket=$(git symbolic-ref HEAD | awk -F'/' '{print $3}')
if [ -n "$ticket" ]; then
sed -i "1 s/^/$ticket: /" $1
sergeylukin / pre-receive
Last active Oct 7, 2015
Git hook (pre-receive): commit any local changes before PUSH accepted
View pre-receive
# This hooks is placed in a Bare repository
# It makes sure that working tree doesn't contain any local changes
# And if it contains - submits a commit and returns false
# So if false returned - client should PULL and then PUSH again
# Assuming following file structure:
# .
# |-- myproject
sergeylukin / post-receive
Last active Apr 27, 2018
Git hook (post-receive): update working tree on PUSH
View post-receive
# 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 / post-update
Created Jul 25, 2012
Git hook: deny specific branches to be pushed
View post-update
# <oldrev> <newrev> <refname>
# sanitize pushed branch
while read oldrev newrev ref
branch=$(echo $ref | awk -F'/' '{print $3}')
if [ "$branch" != "master" -a "$branch" != "docs" ]
echo It is not allowed to push any branch except for master and docs
sergeylukin / newdraft
Created Aug 25, 2012
Ruby script for creating New Draft Post in Jekyll
View newdraft
#!/usr/bin/env ruby
unless ARGV[0]
puts 'Usage: newdraft "the draft title"'
date_prefix ="%Y-%m-%d")
post_name = ARGV.join ' '
post_file_name = post_name.strip.downcase.gsub(/ /, '-')
sergeylukin / WORKSTATION
Created Nov 7, 2012
FreeBSD 9 KERNEL for ThinkPad T60
include GENERIC
# Exclude CPU types
nocpu I486_CPU
nocpu I586_CPU
# Disable mount partitions from UNIX server over TCP/IP
# Enable when needed
sergeylukin / xorg.conf
Created Nov 8, 2012
FreeBSD X11 configuration file for ThinkPad T60
View xorg.conf
Section "ServerLayout"
Identifier " Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
Section "Files"
ModulePath "/usr/local/lib/xorg/modules"
FontPath "/usr/local/lib/X11/fonts/misc/"
View services_controller.rb
class ServicesController < ApplicationController before_filter :authenticate_user!, :except => [:create] def index # get all authentication services assigned to the current user @services = end def destroy # remove an authentication service linked to the current user @service =[:id]) @service.destroy redirect_to services_path end def create # get the service parameter from the Rails router params[:service] ? service_route = params[:service] : service_route = 'no service (invalid callback)' # get the full hash from omniauth omniauth = request.env['omniauth.auth'] # continue only if hash and parameter exist if omniauth and params[:service] # map the returned hashes to our variables first - the hashes differ for every service if service_route == 'facebook' omniauth['extra']['user_hash']['email'] ? email = omniauth['extra']['user_hash']['email'] : email = '' omniauth['extra']['user_hash']['name'] ? name = omniaut
You can’t perform that action at this time.