Skip to content

Instantly share code, notes, and snippets.

View snit-ram's full-sized avatar

Rafael Martins snit-ram

View GitHub Profile
@snit-ram
snit-ram / RecursiveArrayIterator.php
Created September 27, 2011 02:18
Recursive Object iterator that reads protected and private properties
<?php
class ObjectIterator implements Iterator{
protected $object;
protected $reflectionObject;
protected $properties;
public function __construct( $object ){
$this->object = $object;
@snit-ram
snit-ram / 0-howto-listfield-django-admin.rst
Created November 16, 2011 02:51 — forked from jonashaag/0-howto-listfield-django-admin.rst
Howto use ListFields in Django's admin

Howto use ListFields in Django's admin

Problem

Consider this blog post model:

models.py

:

@snit-ram
snit-ram / nodefix.common.js
Created May 11, 2012 16:14
Workaround to binder tests on mojito or nodejs-yui3
/*
* This file allows you to write binder tests using node.one(selector) in your
* mojito binder tests. simple add 'nodefix' to your "requires" on bindertests
* then use it like this:
*
* var node = Y.NodeFix.create('<div><p>sample child<p></div>')
* binder.bind(node);
*
* Then all the usage of node.one and node.all inside the binder will work as
* expected
@snit-ram
snit-ram / gist:3515501
Created August 29, 2012 16:48
Javascript code to hide elements from a list when scrolling. This is designed to improve performance on native scrolling lists for iphone/ipad.
/**
* Hides all elements that are outside the scrolling viewport to improve
* performance.
*
* You'll need to call this function whenever dom nodes are inserted or removed
* in the list.
*
* You'll need to declare the "unload" class in your css file as following:
* .unload { visibility: hidden; }
*
@snit-ram
snit-ram / gist:4557947
Created January 17, 2013 17:49
Javascript port of object selector originally in php
/*
* Copyright (c) 2011 Yahoo! Inc. All rights reserved.
*/
/*jslint nomen: true */
(function () {
'use strict';
function mix(target, source){
@snit-ram
snit-ram / gist:4666222
Last active December 11, 2015 21:58
Combined List Projection. Combines items with groups
// For an introduction to the Blank template, see the following documentation:
// http://go.microsoft.com/fwlink/?LinkId=232509
(function () {
"use strict";
WinJS.Binding.optimizeBindingReferences = true;
var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
@snit-ram
snit-ram / position-absolute.html
Created March 8, 2013 03:17
Html for the position absolute article
<div id="dialog">
<div id="navegacao"></div>
<div id="cabecalho"></div>
<div id="conteudo"></div>
<div id="rodape"></div>
</div>
@snit-ram
snit-ram / position-absolute.css
Created March 8, 2013 03:24
CSS for the position absolute article
html, body{
margin: 0;
padding: 0;
}
#dialog {
width: auto;
top: 50px;
left: 50px;
right: 50px;
@snit-ram
snit-ram / timeslice-examples.py
Created March 19, 2013 04:34
Sample usage of timeslice module. Used in the timeslice post in my blog
from timeslice import *
from datetime import datetime, date
"""
TimeSlice Creation
"""
slice1 = TimeSlice(start=datetime(2009, 1, 1, 0, 0, 0),
end=datetime(2009, 1, 2, 0, 0, 0))
slice2 = TimeSlice(start=datetime(2009, 1, 1, 22, 33, 44),
@snit-ram
snit-ram / timeslice_disp_post.py
Created March 19, 2013 05:19
Arquivo usado pra exemplificar o uso do módulo timeslice aplicado ao problema de disponibilidade de links. Exemplo para o post de timeslice em meu blog
from timeslice import TimeSlice, TimeSet
from datetime import datetime
import calendar
def monta_grade():
grade = TimeSet()
dias_mes = calendar.monthrange(2013, 2)[1]
for dia in range(1, dias_mes + 1):
grade.append(