Skip to content

Instantly share code, notes, and snippets.

View atannus's full-sized avatar

André Tannús atannus

  • Epungo
  • São Paulo - Brasil
View GitHub Profile
@atannus
atannus / gulp-cl-family.js
Last active June 21, 2020 13:57
Basic Gulp Setup for Closure Family: Library + Compiler + Stylesheets + Templates
/**
* This is a minimal working setup for using Google Closure Tools.
*
* One thing I've used extensivelly that is not covered here is support for
* i18n, which would require generating a messages file, translating it and
* passing it into the js compilation step.
*
* Also not covered is CSS minification, but you can (probably) just enable
* that by passing the appropriate flag in the compile-css step.
*
@atannus
atannus / python-operator-overload.py
Last active February 14, 2019 02:36
Python Operator Overload
#!/usr/bin/env python
""" A simple example of overloading the plus operator.
Instances are created by passing a notation consisting of a numerical value followed by one of the supported
dimensions (m, cm, mm) separated by a single space.
Adding two values initialized with different dimensions returns an object with the dimension of the first value.
Example:
// Revela todas as máscaras.
function revealMasks(event) {
event.stopPropagation();
event.preventDefault();
if( typeof dataLayer !== 'undefined') {
dataLayer.push({'event': 'RevealMask'})
dataLayer.push({'ListingPageType': 'conversion'});
dataLayer.push({'event': 'PageTypeChange'})
}
$('.contactMask').fadeOut();
// Conversion, ConversionDiganos, ConversionWhatsApp, etc...
if( typeof dataLayer !== 'undefined') {
dataLayer.push({'event': 'Conversion'})
}
// Ao digitar 3 caracteres no 1o campo do formulário.
if( typeof dataLayer !== 'undefined') {
dataLayer.push({'ListingPageType': 'conversionintent'});
dataLayer.push({'event': 'PageTypeChange'})
}
// No sucesso do envio do formulário.
if( typeof dataLayer !== 'undefined') {
dataLayer.push({'ListingPageType': 'conversion'});
dataLayer.push({'event': 'PageTypeChange'})
// Em todas as páginas.
if( typeof dataLayer !== 'undefined') {
dataLayer.push({'ListingId': '...'});
dataLayer.push({'ListingTotalValue': ...});
dataLayer.push({'ListingPageType': '...'});
dataLayer.push({'event': 'PageTypeChange'})
}
# npm run dev
> parabol-action@0.3.1 dev /home/atannus/com.parabolinc.action
> NODE_ENV=development node ./src/server/server.babel.js
[Busy] Launching SocketCluster
>> Broker PID: 22307
Creating a pool connected to localhost:28015
>> Worker PID: 22319
[Active] SocketCluster started
> plot(1:10, 1:10)
Error in (function (display = "", width, height, pointsize, gamma, bg, :
X11 module cannot be loaded
In addition: Warning message:
In (function (display = "", width, height, pointsize, gamma, bg, :
unable to load shared object '/usr/lib/R/modules//R_X11.so':
/usr/lib/x86_64-linux-gnu/libpng12.so.0: version `PNG12_0' not found (required by /usr/lib/R/modules//R_X11.so)
> qplot(1:10, 1:10)
Error in (function (display = "", width, height, pointsize, gamma, bg, :
X11 module cannot be loaded
<?php
$path = 'test.xml';
$reader = new XMLReader();
$reader->open($path);
while ( $reader->read() )
{
//$name = $reader->name;
@atannus
atannus / kohana.php
Created July 6, 2013 19:38
Quick hack to allow Kohana to handle memory_limit and max_execution_time violations.
<?php defined('SYSPATH') or die('No direct script access.');
class Kohana extends Kohana_Core {
/**
* Augments the core method for two reasons:
* 1) Reserve an extra 1M memory to allow handling memory_limit violation.
* 2) Reserve more exec time to allow max_execution_time violation.
*
* Note: keep variable creation at a minimum.