Skip to content

Instantly share code, notes, and snippets.

View BYK's full-sized avatar
🔦
Helping engineers help themselves help us all

Burak Yigit Kaya BYK

🔦
Helping engineers help themselves help us all
View GitHub Profile
@BYK
BYK / GHAPILanguageStats.js
Created July 11, 2011 07:42
Get language stats of your GitHub
window.getLangStats = function getLangStats(repos) {
var mapper = function(ent){return ent.language},
reducer = function(stats, lang) {stats[lang] = (stats[lang] || 0) + 1; return stats},
langStats = repos.map(mapper).reduce(reducer, {});
delete langStats['null'];
return Object.keys(langStats).sort(function(a,b){return langStats[b] - langStats[a]});
};
window.ghApiCallHandler = function(result) {
if (Math.floor(result.meta.status/100) == 2)
@BYK
BYK / djb2.js
Last active December 26, 2015 03:49 — forked from anonymous/djb2.sql
Compatible DJB2 Hash implementation in JS and SQL
function djb2Hash(str, seed) {
for (var counter = 0, len = str.length; counter < len; counter++) {
seed ^= (seed << 5);
seed ^= str.charCodeAt(counter);
}
// We discard the sign-bit for compatibility with the DB implementation
// and "always positive integers"
return seed & ~(1 << 31);
}
@BYK
BYK / i18n.js
Created February 27, 2014 11:08
grunt.registerTask(
'translations.install',
'Installs Transifex client, tx for other translation tasks. Usually requires `sudo`.',
function () {
var done = this.async();
grunt.util.spawn({
cmd: 'easy_install',
args: ['transifex-client']
}, function (error, result, code) {
@BYK
BYK / tld_python.sh
Last active August 29, 2015 14:03
Fetch the most current list of TLDs and create a Python module from them
echo 'TLDS = (' > $1 &&
curl -f -sS https://data.iana.org/TLD/tlds-alpha-by-domain.txt -L |
awk '{print tolower($0)}' |
grep '^[[:alnum:]\-]\{1,63\}$' | sed 's/^.*$/"&",/g' >> $1 &&
echo ')' >> $1
@BYK
BYK / hurriyet.js
Created January 13, 2015 09:49
Hurriyet.com.tr Galeri Duzlestirici
var fullContent = [];
var contentContainer = document.querySelector('div.gBigOverlay');
contentContainer.innerHTML = '<img style="display: block; width: 16px; height: 16px; margin: 45% auto" src="' +
'data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQACgABACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkEAAoAAgAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkEAAoAAwAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkEAAoABAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQACgAFACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQACgAGACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAAK
@BYK
BYK / Instructions.md
Last active August 29, 2015 14:15
KindleIt Manifest for Firefox Share
  1. Go to about:config in your Firefox
  2. Right click
  3. New -> String
  4. Name: social.manifest.fivefilters-org
  5. Value: contents of social.manifest.fivefilters-org.raw.json below
  6. Type social.activeProviders in the search box in the config page
  7. Double click on the result
  8. Add ,"http://fivefilters.org":1 right before } in the value
  9. Enter
  10. Restart your Firefox and use the FiveFilters icon showing up when you click on the paper plane share icon
@BYK
BYK / sudoku.py
Last active April 24, 2016 00:59
class SudokuSolver(object):
def __init__(self, n=3):
self.n = n
self.size = self.n * self.n
self.matrix = [
[set(range(1, self.size+1)) for i in range(self.size)] for
j in range(self.size)
]
def show(self):
import itertools
import operator
get_branches = lambda: [branch[1:].strip() for branch in $(git branch --list).split('\n') if branch]
get_remotes = lambda: dict((k, set(v[1] for v in group)) for k, group in itertools.groupby(branch.split('->')[0].split('/') for branch in $(git branch -r).split(), operator.itemgetter(0)) if k)
@BYK
BYK / libwindows.py
Last active August 6, 2019 03:51
sudo for Python 3 on Windows
'''
This file is based on the code from https://github.com/JustAMan/pyWinClobber/blob/master/win32elevate.py
Copyright (c) 2013 by JustAMan at GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
@BYK
BYK / escape_args.php
Last active April 12, 2016 14:27
Process call argument escaping on Windows with PHP
<?php
/**
* Escapes a single argument to be glued together and passed into
* CreateProcess on Windows through `proc_open`.
*
* Adapted from https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
*
* @param string The argument to be escaped
* @result string Escaped argument that can be used in a CreateProcess call
*/