•February 12, 2014 • Leave a Comment

alias hlog=’git log –date-order –all –graph –format=”%C(green)%H %Creset%C(yellow)%an%Creset %C(blue bold)%ar%Creset %C(red bold)%d%Creset %s”‘


•February 4, 2014 • Leave a Comment
OPERATOR = /// ^ (
  ?: [-=]>             # function
   | [-+*/%<>&|^!?=]=  # compound assign / compare
   | >>>=?             # zero-fill right shift
   | ([-+:])\1         # doubles
   | ([&|<>])\2=?      # logic / shift
   | \?\.              # soak access
   | \.{2,3}           # range or splat
) ///

Poor man’s AutoSSH

•January 25, 2014 • Leave a Comment

Just cron this baby, the more frequent the better

# $COMMAND is the command used to create the reverse ssh tunnel
COMMAND="ssh -f mo@mozone -L 22448: -N"

# Is the tunnel up? Perform two tests:

# 1. Check for relevant process ($COMMAND)
pgrep -f -x "$COMMAND" > /dev/null 2>&1 || $COMMAND

# 2. Test tunnel by looking at "netstat" output on $REMOTE_HOST
ssh mo@mozone netstat -an | egrep "tcp.*:22448.*LISTEN" \
> /dev/null 2>&1
if [ $? -ne 0 ] ; then
pkill -f -x "$COMMAND"

وأبحث عنك كثيرا.. كثيرا

•January 19, 2014 • Leave a Comment

ويرحل عنا زمان الأمان

فأشتاق من راحتيك الحنان

وأحمل قلبي كطفل جريح

يصارعه الشيب قبل الأوان

وأصبح بعدك لحنا.. عجوزا

شقي الزمان غريب المكان

وتبقين وحدك فوق الزمان

وتبقى عيونك أحلى مكان

سنين من العمر تمضي علينا

وفي الفرح ننسى حساب السنين

أعد الليالي.. ربيعا ربيعا

ويمضي الزمان ولا ترجعين

وتبقين وحدك نبضا بقلبي

ويرحل عمري ولا ترحلين

وسافرت بعدك في كل أرض

وكم كنت أشعر أني غريب

وجربت يا حب عمري كثيرا

وأسأل قلبي.. ولا يستجيب

فألقاك في كل حلم بعيد

وألقاك في كل طيف قريب

* * *

وأبحث عنك كثيرا.. كثيرا

يدور الزمان وقلبي لديك

يضيع الأمان فأبحث عنك

ويشتاق قلبي كثيرا إليك

إذا جاء صيف سألت النسيم

ترى من عبيرك هذا العبير؟

وإن طال ليل تساءل قلبي:

بربك أين ملاكي الصغير؟

وإن جاءني الحزن ضيفا ثقيلا

يعاتبني الدمع هل من رفيق؟

فأبحث عنك على كل ضوء

وعمر الحيارى ظلام سحيق

لأنك مني وأني إليك

كما يعرف الزهر طعم الرحيق

وأبحث عنك كثيرا.. كثيرا

فأنت الضياع وأنت الطريق!!

— فاروق جويدة

Logging TCP Connections with iptables

•January 9, 2014 • Leave a Comment
At the top of the iptables file (after the last line beginning with a :), add:
-A OUTPUT -o bond0 -p tcp --tcp-flags SYN,ACK,RST SYN,ACK -j LOG --log-level alert
-A INPUT -i bond0 -p tcp --tcp-flags SYN,ACK,RST SYN,ACK -j LOG --log-level alert
This will log all newly established ingoing and outgoing TCP connections. You can change the log level as specified in man syslog.conf. This will turn on kernel-level logging which you will then need to direct to a file. To do this, add the following to /etc/syslog.conf:
kern.alert                                              /var/log/firewall.log
Afterwards, you will need to restart syslog and iptables via:
service syslog restart
service iptables restart
This will monitor all new connections, so you may also want to take a look at netstat -a | grep ESTABLISHED to look through already established connections.

Parsing the Log File


This script will generate a tab-delimited log from /var/log/firewall.log:

echo -e 'Date\tHost\tIn Interface\tOut Interface\tMAC Address\tSource IP\tDest IP'
forline in `cat /var/log/firewall.log`
   echo $line | sed -e 's/^\(.*\) \(.*\) kernel: .*IN=\(.*\)\sOUT=\([a-z0-9]*\) \(MAC=\(.*\) \)*SRC=\(.*\) DST=\(.*\) LEN=.*/\1\t\2\t\3\t\4\t\6\t\7\t\8/'
If the script cannot match any part of the input, it will just dump the original line. (Note that if you want to be able to run this script as a non-superuser, then as root, run chmod 644 /var/log/firewall.log.)

Snaphshots that act like Maven snapshots on Gradle

•January 8, 2014 • Leave a Comment

//defaults to check for update once per 24 hours
configurations.all {
// check for updates every build
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'

//flag as changing
dependencies {
compile group: "group", name: "projectA", version: "1.x-SNAPSHOT", changing: true

•April 12, 2013 • Leave a Comment

9x-7i >3( 3x – 7u )
9x-7i > 9x – 21u
-7i > -21u
7i < 21u
i ❤ u