Skip to content

Instantly share code, notes, and snippets.

@efaisal
efaisal / icmp.py
Created August 5, 2019 15:27
POC using ICMP to exchange info
#!/usr/bin/env python
import random
import socket
import select
import struct
import time
import platform
def checksum(frame):
s = 0
@efaisal
efaisal / sps.patch
Last active November 22, 2017 09:38
A patch to sps.py or sps.py replacement.
--- sps.py.old 2017-11-16 15:31:01.000000000 +0800
+++ sps.py 2017-11-22 16:53:36.822417986 +0800
@@ -8,6 +8,27 @@
import errno
import glob
+class CalledProcessError(Exception):
+ def __init__(self, returncode, cmd, output=None):
+ self.returncode = returncode
+ self.cmd = cmd
@efaisal
efaisal / sprsemakisirumah.py
Created October 4, 2017 02:35
POC automating Semakan Pemilih Isi Rumah
#!/usr/bin/env python
# Dependencies: requests, lxml, beautifulsoup4 [simply pip install those]
# Tested with Python 3.6.2 on Linux
import logging
from time import sleep
import requests
from bs4 import BeautifulSoup
URL = 'http://pengundi.spr.gov.my/isirumah2/'
FORM = '{}{}'.format(URL, 'semakandm_baru2.asp')
@efaisal
efaisal / jakim_waktu_solat.py
Created June 19, 2017 16:26
Extract solat time from JAKIM
#!/usr/bin/env python
import sys
from urllib.request import urlopen
from bs4 import BeautifulSoup
URL = 'http://www2.e-solat.gov.my/xml/today/?zon=SGR01'
with urlopen(URL) as req:
if req.getcode() == 200:
@efaisal
efaisal / client.c
Last active November 22, 2016 12:51
Simple example of socket programming using Python and threading module
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
int main(int argc, char *argv[]) {
struct sockaddr_in server;
int sock;
char msg[] = "12";
@efaisal
efaisal / process_xml_eg.py
Created September 2, 2015 16:03
Example on how to process XML using lxml
#!/usr/bin/env python
"""
Sample taken from http://www.w3schools.com/xml/simple.xml
"""
from StringIO import StringIO
from lxml import etree
# Open XML file
@efaisal
efaisal / my.cnf
Created April 10, 2015 13:41
Minimal Galera MariaDB Multi Master Synchronous Replication
[mysql]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysql.pid
@efaisal
efaisal / face.html
Created April 8, 2015 08:46
Draw my face using HTML
<pre style="font: 6px/3px monospace;"><span style="color: #95998b;"></span><span style="color: #969a8b;">#</span><span style="color: #979b8a;">#</span><span style="color: #989c8b;">#</span><span style="color: #979b8a;">#</span><span style="color: #979b8c;">#</span><span style="color: #979b8c;">#</span><span style="color: #989d89;">#</span><span style="color: #999e8a;">#</span><span style="color: #9a9f8b;">#</span><span style="color: #9a9e8d;">#</span><span style="color: #9a9f8b;">#</span><span style="color: #999e8a;">#</span><span style="color: #9a9d8c;">#</span><span style="color: #9a9d8c;">#</span><span style="color: #9a9c8e;">#</span><span style="color: #9a9c8e;">#</span><span style="color: #9b9d8f;">#</span><span style="color: #9b9e8d;">#</span><span style="color: #9b9e8d;">#</span><span style="color: #9b9e8d;">#</span><span style="color: #9a9d8c;">#</span><span style="color: #9a9d8c;">#</span><span style="color: #9b9d8f;">#</span><span style="color: #9b9e8d;">#</span><span style="color: #9a9d8c;">#</spa

Keybase proof

I hereby claim:

  • I am efaisal on github.
  • I am efaisal (https://keybase.io/efaisal) on keybase.
  • I have a public key whose fingerprint is E56E 520A 0A98 6199 35EA 9593 CC75 BBF9 BFFC 75D8

To claim this, I am signing this object:

@efaisal
efaisal / sprpdf.py
Created January 23, 2014 07:35
Split PDF file given by SPR every quarterly according to Daerah Mengundi for people to check voters' movement.
#!/usr/bin/env python
"""
Split PDF given by SPR every quarterly according to Daerah Mengundi
Requires PyPDF2 https://github.com/mstamy2/PyPDF2
"""
import sys
import os
import re
from cStringIO import StringIO