Skip to content

Instantly share code, notes, and snippets.

View amiraliakbari's full-sized avatar

AmirAli Akbari amiraliakbari

View GitHub Profile
@amiraliakbari
amiraliakbari / TrxMultiSend.sol
Created October 27, 2020 13:44
Tron Multi-send contract
pragma solidity ^0.5.0;
/**
* SPDX-License-Identifier: UNLICENSED
*/
/**
* @title SafeMath
* @dev Math operations with safety checks that revert on error
*/
library SafeMath {
@amiraliakbari
amiraliakbari / XKB IR Keyboard
Last active July 26, 2022 11:58
XKB Customized Persian Keyboard Layout
// Iranian keyboard layout
// Replace with "/usr/share/X11/xkb/symbols/ir"
// Customized Version
////////////////////////////////////////
// Persian layout,
// based on
// Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards
// ISIRI 9147 – 1st Edition
@amiraliakbari
amiraliakbari / sms_service.py
Created October 20, 2014 06:27
Sms sending
# -*- coding: utf-8 -*-
"""
SMS Service Module
====================
Utilities to easily send sms using any service provider
usage:
>>> from commons.sms.sms_service import Sms, SmsService
>>> sms_ir = SmsService('sms.ir', '30000958', 'username', 'pass')
>>> sms_ir.send_sms(Sms(to='09122132796', message=u'Hello World!'))
@amiraliakbari
amiraliakbari / models.py
Last active April 14, 2020 18:46
Badoom Primary Models
class Member(AbstractUser):
GENDER = Choices((1, 'male', u"مرد"), (2, 'female', u"زن"))
image = models.ImageField(verbose_name=u"عکس", null=True, blank=True)
city = models.ForeignKey(City, null=True, blank=True, verbose_name=u"شهر")
gender = models.PositiveSmallIntegerField(verbose_name=u"جنسیت", choices=GENDER, null=True, blank=True)
default_page = models.ForeignKey('network.Page', null=True, blank=True, verbose_name=u"صفحه پیش فرض",
related_name="member_default_page")
settings = models.ForeignKey('MemberSettings', name='settings', null=True, blank=True)
birth_date = models.DateField(null=True, blank=True, verbose_name=u'تولد')
@amiraliakbari
amiraliakbari / is_binary.c
Last active April 14, 2020 18:45
Interview Code Reading Questions
static void gather_stats(const char *buf, unsigned long size, struct text_stat *stats)
{
unsigned long i;
memset(stats, 0, sizeof(*stats));
for (i = 0; i < size; i++) {
unsigned char c = buf[i];
if (c == '\r') {
stats->cr++;
@amiraliakbari
amiraliakbari / install.sh
Created October 2, 2014 19:49
OpenCV automatic installation script for ubuntu
#!/bin/bash
# Initial version forked from: https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_9.sh
arch=$(uname -m)
if [ "$arch" == "i686" -o "$arch" == "i386" -o "$arch" == "i486" -o "$arch" == "i586" ]; then
flag=1
else
flag=0
fi
echo "Installing OpenCV 2.4.9"
@amiraliakbari
amiraliakbari / Logger.java
Created November 10, 2014 07:25
Java Logger
package livedoc.utils;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Logger {
@amiraliakbari
amiraliakbari / main.css
Created April 29, 2018 13:38
Slack Persian Fix
@font-face {
font-family: 'IRANSans';
src : url("https://ir-cloud.ir/fonts/IRANSansFaNum/eot/IRANSansWeb(FaNum).eot"), url('https://ir-cloud.ir/fonts/IRANSansFaNum/woff/IRANSansWeb(FaNum).woff') format('woff'), url('https://ir-cloud.ir/fonts/IRANSansFaNum/ttf/IRANSansWeb(FaNum).ttf') format('truetype'), url("https://ir-cloud.ir/fonts/IRANSansFaNum/woff2/IRANSansWeb(FaNum).woff2") format('woff2');
}
.c-message {
font-family: 'IRANSans', 'B Nazanin';
}
.c-message__content {
@amiraliakbari
amiraliakbari / keybase.md
Last active October 29, 2017 09:07
keybase.md

Keybase proof

I hereby claim:

  • I am amiraliakbari on github.
  • I am amirali (https://keybase.io/amirali) on keybase.
  • I have a public key ASAt67tVKyA6SZOfPurVv0F7SS0j9Qo7kQlOhmfcNiPv9go

To claim this, I am signing this object:

@amiraliakbari
amiraliakbari / proxy.pac
Last active September 16, 2017 06:54
Proxy Auto Configuration
/**
* Proxy auto configuration file for accessing sites blocked in Iran due to
* sanctons or filtering. To use, a socks5 proxy must be running and accessible
* on localhost port 1080. Set url of this gist in "Automatic proxy configuration URL"
* field in "Network Proxy Settings" in Firefox.
*/
function FindProxyForURL(url, host) {
var blockedHosts = [
'twitter.com', 'twimg.com', // Twitter