Vinicius Cainelli

RSS
Jun 4

…tento entrar na balada sem RG.

aquele-momento-que:

image

…fui bem na prova.

aquele-momento-que:

image

The brick walls are not there to keep us out; the brick walls are there to give us a chance to show how badly we want something.

- Randy Pausch

Resposta Google Developer Day 2011

Olá Pessoal,

Bom estou postando aqui o algorítimo que utilizei para realizar a prova do GDDBR2011.

Está escrito em Python, dei uma melhorada no código, mas sei que sempre há coisas que podemos melhorar.

Não me preocupei muito com o desempenho do código e sim o seu resultado.

Segue:

Lógico, os dados são os que me apareceram no momento da prova, logicamente não são os mesmo que apareceu para você =]

Espero que tenha ajudado.

Abraços.

Aug 5

Programming Languages

To program in an expressive and powerful language: Python
To get a website up quickly: PHP
To mingle with programmers who call themselves “rockstars”: Ruby.
To really learn to program: C.
To achieve enlightenment: Scheme.
To feel depressed: SQL
To drop a chromosome: Microsoft Visual Basic
To get a guaranteed, mediocre, but well paying job writing financial applications in a cubicle under fluorescent lights: Java.
To do the same thing with certifications and letters after your name: C#
To achieve a magical sense of childlike wonder that you have a hard time differentiating from megalomania: Objective C

I could go on… but I’m not feeling hateful enough today.

Jul 7

Sorteio com pesos (algoritmo) - weighted shuffle

Olá Pessoal.

Estes dias eu esta a procura de algum algoritmo de sorteio com pesos nos itens, não encontrei. Então fiz.
Tipo assim, eu tenho 3 itens:

    laranja,
    maçã,
    abacaxi

vamos dizer que quero a maçã tenha peso 5 em relacao aos outros na hora do sorteio, ou seja, quero que ela tenha maior chance de sair, e também que a abacaxi tenha peso 3, o que seria algo assim se fosse um sorteio manual:

    laranja,
    maçã,
    maçã,
    maçã,
    maçã,
    maçã,
    abacaxi,
    abacaxi,
    abacaxi,

Agora a maçã tem maior chance de sair. No algoritmo, eu somo todos os pesos.

    laranja * 1,
    maçã * 5,
    abacaxi * 3

Neste caso o total de pesos é 9 (1 + 5 + 3). Encaixo os itens em grupos de numeros, por exemplo:

    [1] => laranja,
    [2 .. 5] => maçã,
    [6 .. 9] => abacaxi

Agora eu sorteio um numero de 1 até 9 e vejo em qual item ele se encaixa, por exemplo:

    Numero sorteado: 7, no caso sorteará o abacaxi.
    Numero sorteado: 2, no caso sorteará o maçã.
    Numero sorteado: 1, no caso sorteará o laranja.
    Numero sorteado: 3, no caso sorteará o maçã.

Entenderam?
Segue o algoritmo (python):

    import random
    
    items = [
        {
            'item': 'vinicius',
            'weight': 100,
        },
        {
            'item': 'ruan',
            'weight': 50,
        },
        {
            'item': 'cainelli',
            'weight': 20,
        },
    ]
    
    total_weight = sum([item['weight'] for item in items])
    weight_rand = random.randint(1, total_weight)
    
    sum_weight = 0;
    item_selected = None
    for item in items:
        sum_weight += item['weight']
        if weight_rand <= sum_weight:
            item_selected = item['item']
            break;
    
    print item_selected;

Abraços a todos e até a próxima. =]

Jun 9

Problemas com acentuação MySQL

Sabe quando você precisa usar por exemplo o utf8_encode() do PHP para cada dado que sua aplicação requisita do banco de dados?

Se você passa ou já passou pelo problema de acentuação do banco de dados. Está aqui a solução.

Depois de realizar a sua conexão com o banco de dados, execute a seguinte query:

SQL:

    SET NAMES utf8



Exemplo PHP:

    // cria uma nova conexão com o banco de dados
    $conexao = mysql_connect('localhost', 'usuario', 'senha');
    
    // seta os dados de saída para utf8
    mysql_query("SET NAMES utf8");
    
    // seleciona o banco de dados
    mysql_select_db("nome_do_banco");
    
    // fecha a conexão
    mysql_close($conexao);

Não precisa se preocupar com a ordem, pode ser usado a qualquer hora, até mesmo após selecionar o banco e/ou ter feito algumas consultas.

Bom é isso.

=]

Jun 7
Literalmente, isso sim é um banco de dados.

Literalmente, isso sim é um banco de dados.

Jun 3

Os grandes são grandes porque eu ainda estou de joelhos

- Algum lugar da internet

Como instalar o Botão +1 do Google em meu Blog/Site

Olá Pessoal,

Bom não sei se notaram, mas a pouco tempo o Google lançou um recurso chamado de “botão +1" que veio para concorrer com o "curtir" do Facebook.
Eu estou aqui para mostrar como adicionar o botão ao seu site/blog/ondeMaisQuiser.

Olhe os botões abaixo e copie e cole o código onde quiser =].

Exemplo 1:

Codigo - Exemplo 1:



Exemplo 2:

Codigo - Exemplo 2:



Exemplo 3:

Codigo - Exemplo 3:



Exemplo 4:

Codigo - Exemplo 4:

Tentei mostrar a forma mais simples e a que mais utilizarão.

Há mais formas de configurar seu botão, você pode visitar o site do +1 button do Google para obter mais informações.

Espero que ajude.

Até mais!