Skip to content

Instantly share code, notes, and snippets.

Fred Muya muya

Block or report user

Report or block muya

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
muya /
Last active Jul 19, 2019
Timestamped Models in PeeWee
from peewee import *
import datetime
database = SqliteDatabase("/data/amazing_people.db", **{})
class BaseModel(Model):
class Meta:
database = database
muya / msisdn_regex.txt
Created Feb 28, 2016
Regex for Safaricom Kenya, Airtel Kenya & Tigo Tanzania Phone Numbers
View msisdn_regex.txt
# KE
SAFARICOM: "/(\+?254|0|^){1}[-. ]?[7]{1}([0-2]{1}[0-9]{1}|[9]{1}[0-2]{1})[0-9]{6}\z/"
AIRTEL: "/(\+254|0|^){1}[-. ]?[7]{1}([3]{1}[0-9]{1}|[8]{1}[5-9])[0-9]{6}\z/"
# TZ
TIGO: "/(\+?255|0|^){1}[-. ]?([7]{1}[1]{1}[2-9]{1}|[6]{1}[57]{1}[2-9]{1})[0-9]{6}\z/"
muya / random_saf_ke_msisdn_faker.php
Last active Apr 6, 2017
Code for creating random Safaricom Kenya Phone numbers (accompanying blog post:
View random_saf_ke_msisdn_faker.php
// include Faker in your project (
use Faker\Factory as Faker;
$faker = Faker::create();
$regex = "/(\+?254|0){1}[7]{1}([0-2]{1}[0-9]{1}|[9]{1}[0-2]{1})[0-9]{6}/";
$samplePhoneNumber = $faker->regexify($regex);
muya /
Last active Mar 4, 2017
Sublime Text 3 Plugin to Minify JS & CSS files on save (requires bistory's Sublime Minifier here:
import sublime, sublime_plugin
class MinifyOnSave(sublime_plugin.EventListener):
def on_post_save(self, view):
file_types_to_minify = ['js', 'css']
filenameParts = view.file_name().split('.')
if filenameParts[len(filenameParts) - 1] in file_types_to_minify:
muya / yii-relations.php
Created May 27, 2013
Snippet of a Yii model's relations function
View yii-relations.php
* @return array relational rules.
public function relations()
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'studentProfiles' => array(self::HAS_MANY, 'StudentProfiles', 'userID'),
'userGroupMappings' => array(self::HAS_MANY, 'UserGroupMappings', 'userID'),
muya / yiiCGridView.php
Last active Dec 17, 2015
Example of a Yii CGridView Widget used in the StudentPortal Project
View yiiCGridView.php
* CGridView widget
$this->widget('zii.widgets.grid.CGridView', array(
muya / yii-actionAdmin.php
Last active Dec 17, 2015
Snippet for Yii's actionAdmin function in the Controller class
View yii-actionAdmin.php
* UsersController actionAdmin function
public function actionAdmin() {
$model = new Users('search');
$model->unsetAttributes(); // clear any default values
if (isset($_GET['Users']))
$model->attributes = $_GET['Users'];
$this->render('admin', array(
muya /
Created Oct 17, 2015
Configuring multiple loggers in a file
import logging
from logging import FileHandler
from logging import Formatter
"%(asctime)s [%(levelname)s]: %(message)s in %(pathname)s:%(lineno)d")
LOG_LEVEL = logging.INFO
# messaging logger
muya /
Created Oct 17, 2015
Convert Timestamp Between Timezones
import datetime
from dateutil import parser as date_parser
from dateutil import tz
def convert_timestamp_timezone(timestamp, from_tz="UTC", to_tz="UTC"):
function to convert a string timestamp between timezones
@timestamp - A string timestamp (dateutil.parser will be used to parse)
@from_tz - A string, the current timezone as a string.
@to_tz - A string, the timezone to convert the time to.
Refer to: for a list of acceptable TZ strings
muya / ViewController.swift
Created Jul 18, 2015
swift tutorial imagePickerController problem
View ViewController.swift
// ViewController.swift
// FoodTracker
// Created by Muya on 14/07/2015.
// Copyright © 2015 muya. All rights reserved.
import UIKit
You can’t perform that action at this time.