Skip to content

Instantly share code, notes, and snippets.

Avatar

Sokratis Galiatsis sokratisg

View GitHub Profile
@sokratisg
sokratisg / gist:7894195
Created Dec 10, 2013
json_decode example
View gist:7894195
<?php
$json = '{"image_intro":"storage\/images\/media\/fotografies\/thumbnail.jpg","float_intro":"","image_intro_alt":"fragkoul
$obj = json_decode($json);
echo $obj->{'image_intro'} . '<br>';
?>
@sokratisg
sokratisg / functions.php
Created Feb 21, 2014
WordPress - Restrict Media access per user
View functions.php
/* Restrict users viewing their own attachments */
add_filter('pre_get_posts', 'restrict_media');
function restrict_media($arg) {
global $user_ID;
if ( current_user_can('editor') ) { // Disable this to apply on all roles
if ($arg->query['post_type'] == 'attachment' && is_admin()) {
$arg->query['author'] = $user_ID;
$arg->query_vars['author'] = $user_ID;
}
}
@sokratisg
sokratisg / pdns-pipebackend.py
Created Apr 7, 2014
PowerDNS PipeBackend python example
View pdns-pipebackend.py
#!/usr/bin/python -u
import sys, os, time
import random
class DNSLookup(object):
"""Handle PowerDNS pipe-backend domain name lookups."""
ttl = 30
@sokratisg
sokratisg / sysctl.conf
Last active Dec 20, 2019
Tuned sysctl.conf for use by CentOS/RHEL 6.x or later
View sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Turn on execshield
# 0 completely disables ExecShield and Address Space Layout Randomization
# 1 enables them ONLY if the application bits for these protections are set to “enable”
# 2 enables them by default, except if the application bits are set to “disable”
# 3 enables them always, whatever the application bits
@sokratisg
sokratisg / permissions.sql
Created Jun 13, 2014
MySQL permissions for Backup Admin
View permissions.sql
CREATE USER 'backupadmin'@'localhost' IDENTIFIED BY '<secret_password>';
GRANT LOCK TABLES, SELECT ON <DB_NAME>.* TO 'backupadmin'@'localhost';
GRANT RELOAD ON *.* TO 'backupadmin'@'localhost';
GRANT CREATE, INSERT, DROP ON mysql.ibbackup_binlog_marker TO 'backupadmin'@'localhost';
GRANT CREATE, INSERT, DROP ON mysql.backup_progress TO 'backupadmin'@'localhost';
GRANT CREATE, INSERT, SELECT, DROP ON mysql.backup_history TO 'backupadmin'@'localhost';
GRANT REPLICATION CLIENT ON *.* TO 'backupadmin'@'localhost';
GRANT SUPER ON *.* TO 'backupadmin'@'localhost';
GRANT CREATE TEMPORARY TABLES ON mysql.* TO 'backupadmin'@'localhost';
FLUSH PRIVILEGES;
@sokratisg
sokratisg / cdpinfo.pl
Created Jun 19, 2014
listen & print Cisco CDP through tcpdump or snoop
View cdpinfo.pl
#!/usr/bin/perl -w
#
# Listen for Cisco Discovery Protocol (CDP) packets
# and print out key values such as switch, port and vlan.
#
# This script depends on either "snoop" (Solaris) or
# "tcpdump" (Linux, AIX, and others). Both of those programs generally
# must be run as root.
#
# It has been tested on Solaris 10 and Linux (CentOS, Ubuntu)
@sokratisg
sokratisg / myisam_to_innodb.sql
Last active Aug 29, 2015
DDL for MyISAM to InnoDB conversion
View myisam_to_innodb.sql
SELECT CONCAT('ALTER TABLE `',table_schema,'`.`',table_name,'` engine=InnoDB;') FROM information_schema.tables WHERE TABLE_SCHEMA='<MY_DATABASE>' AND ENGINE = 'MyISAM';
@sokratisg
sokratisg / vimrc
Created Sep 13, 2014
vim-enhanced configuration
View vimrc
" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
View grok_tester.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'grok-pure'
require 'pp'
grok = Grok.new
grok.add_patterns_from_file("grok-patterns")
pattern = 'your_grok_pattern'
@sokratisg
sokratisg / lircd.conf
Created Jan 11, 2015
Supertel Pilot TV Code 396 (Sony)
View lircd.conf
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.9.0-pre1(default) on Sun Jan 11 20:58:28 2015
#
# contributed by
#
# brand: /home/pi/lircd.conf
# model no. of remote control:
You can’t perform that action at this time.