Skip to content

Instantly share code, notes, and snippets.

View paulofreitas's full-sized avatar

Paulo Freitas paulofreitas

  • I'm my own boss
  • Brazil
  • 04:59 (UTC -03:00)
View GitHub Profile
@paulofreitas
paulofreitas / birthdays.php
Created February 20, 2016 02:42
Working with birthdays using Carbon
<?php
/*
* HOW TO TEST:
* composer require illuminate/support nestbot/carbon fzaninotto/faker
*/
require 'vendor/autoload.php';
date_default_timezone_set('America/Sao_Paulo');
header('Content-Type: text/plain');
<?php
$env = $app->detectEnvironment(function () {
$env_files = glob(__DIR__ . '/../.env.*.php');
if (count($env_files)) {
list($env) = sscanf(basename(current($env_files)), '.env.%[^.].php');
return $env;
}

AbstractSanitizer.php

<?php

abstract class AbstractSanitizer
{
    protected $sanitizers = [];

    public function sanitize($data)
    {
@paulofreitas
paulofreitas / AbstractEloquentRepository.php
Created May 2, 2014 18:33
AbstractEloquentRepository
<?php
use Illuminate\Support\Collection;
abstract class AbstractEloquent implements BaseRepositoryInterface
{
/**
* Model repository.
*/
protected $resource;
#!/usr/bin/env python
def matrix(n, i):
assert i < n
for j in range(n):
yield j + 1 + (i * n)
n = 10000
search_n = 50000
#!/usr/bin/python
# Alteração in-place
with open('dados1.txt', 'r+w') as f:
lines = [' '.join(l.split() + [str(reduce(lambda x, y: x * y, map(int, l.split())))]) for l in f]
f.seek(0)
f.write('\n'.join(lines))
# Dois arquivos
open('dados2.txt', 'w').write('\n'.join(' '.join(l.split() + [str(reduce(
<?php
print date('m', strtotime('first day of 1 month ago'));
print date_create()->modify('first day of 1 month ago')->format('m');
print (new DateTime())->modify('first day of 1 month ago')->format('m');
@paulofreitas
paulofreitas / win_proc_arch.py
Last active April 18, 2025 18:21
Windows processor architecture via Windows API
# MSDN info: http://msdn.microsoft.com/en-us/library/ms724958(VS.85).aspx
import ctypes
from enum import IntEnum
DWORD = ctypes.c_ulong
DWORD_PTR = DWORD
LPVOID = ctypes.c_void_p
WORD = ctypes.c_ushort
class ProcessorArchitecture(IntEnum):
@paulofreitas
paulofreitas / gist:6941716
Created October 11, 2013 20:41
Implementação do nono dígito com o Masked Input Plugin (http://digitalbush.com/projects/masked-input-plugin/).
var changePhoneMask = function () {
var phone = $(this).val().replace(/\D+/g, '');
if (phone.length == 2) {
if ($.inArray(phone, [11, 12, 13, 14, 15, 16, 17, 18, 19] > -1)) {
$(this).unmask().mask('(99) 99999-9999');
} else {
$(this).unmask().mask('(99) 9999-9999');
}
}
<?php
function formatSize($bytes, $force_unit = null, $format = null, $si = true)
{
// Format string
$format = ($format === null) ? '%01.2f %s' : (string) $format;
if (($si == false) || (strpos($force_unit, 'i') !== false)) {
// IEC prefixes (binary)
$units = array('B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB');