Skip to content

Instantly share code, notes, and snippets.

View dbalabka's full-sized avatar
🔍
Search for opportunities

Dmitry Balabka dbalabka

🔍
Search for opportunities
View GitHub Profile
@dbalabka
dbalabka / gist:f8c19044282db049e71ca143dd3e0680
Created March 23, 2018 11:17 — forked from trongthanh/gist:2779392
How to move a folder from one repo to another
# source: http://st-on-it.blogspot.com/2010/01/how-to-move-folders-between-git.html
# First of all you need to have a clean clone of the source repository so we didn't screw the things up.
git clone git://server.com/my-repo1.git
# After that you need to do some preparations on the source repository, nuking all the entries except the folder you need to move. Use the following command
git filter-branch --subdirectory-filter your_dir -- --all
# This will nuke all the other entries and their history, creating a clean git repository that contains only data and history from the directory you need. If you need to move several folders, you have to collect them in a single directory using the git mv command.
@dbalabka
dbalabka / generator.php
Last active July 31, 2017 15:00
Inteteresting PHP generators behavior
<?php
class TestGenerator {
public function task1($doGenerate = true)
{
echo "Enter generator\n";
if ($doGenerate) {
echo "Generate values\n";
yield 1;
yield 2;
@dbalabka
dbalabka / constructor-arguments.php
Created May 19, 2017 14:14
Using new PHP7 operator "..." to provide variable number of arguments into constructor we can easier manage child classes constructor interfaces.
<?php
class ParentClass
{
public $a;
public $b;
public function __construct($a, $b)
{
$this->a = $a;
@dbalabka
dbalabka / remove-all-cookies.js
Created January 7, 2016 22:42
Removes all cookies on current page
(function () {
var cookie = document.cookie.split(';');
for (var i = 0; i < cookie.length; i++) {
var chip = cookie[i],
entry = chip.split("="),
name = entry[0],
domain = window.location.hostname;
document.cookie = name + '=; domain=' + domain + '; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/;';
<?php
$size = 0;
foreach (realpath_cache_get() as $pathInfo) {
$size += strlen($pathInfo['realpath']) + 1 + 56;
}
var_dump($size, ini_get('realpath_cache_size'));
@dbalabka
dbalabka / api.js
Last active August 18, 2016 23:35
Google Experiment Client
(function () {
var d, f = this, k = function (a, c, b) {
a = a.split(".");
b = b || f;
a[0] in b || !b.execScript || b.execScript("var " + a[0]);
for (var e; a.length && (e = a.shift());)a.length || void 0 === c ? b = b[e] ? b[e] : b[e] = {} : b[e] = c
}, l = Date.now || function () {
return +new Date
};
var p = function (a) {
@dbalabka
dbalabka / ghost-upgrade.sh
Created July 16, 2015 08:51
Ghost blog upgrade with full backup
#!/bin/sh
cd /var/www &&
service ghost stop &&
now=$(date +"%Y%m%d_%H%M%S") &&
tar -zcvf "ghost_${now}.tar.gz" ./ghost &&
wget http://ghost.org/zip/ghost-latest.zip -O ghost-latest.zip &&
rm -rf ghost/core &&
unzip -uo ghost-latest.zip -d ghost &&
chown -R ghost:ghost ghost/* &&
cd ghost &&
<?php
/**
* This file is part of PDepend.
*
* PHP Version 5
*
* Copyright (c) 2008-2013, Manuel Pichler <mapi@pdepend.org>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@dbalabka
dbalabka / .bashrc
Created February 3, 2015 14:41
GIT advanced support for command promt
# Append to ~/.bashrc
# Download from https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
source ~/.git-completion.bash
# Download from https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh
source ~/.git-prompt.sh
# Below script is part of http://msysgit.github.io/
# non-printable characters must be enclosed inside \[ and \]
@dbalabka
dbalabka / Vagrantfile
Created December 12, 2014 17:12
Vagrant VM with PHP, HHVM and ElasticSearch
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
$build_script = <<SCRIPT
apt-get update
echo Installing HHVM...