you are here: codestackercodes [RSS]

convert a DMG file to ISO in terminal

hdiutil convert /path/imagefile.dmg -format UDTO -o /path/convertedimage.iso

find php.ini path

php -i | grep php.ini

dynamic js loading

<html>
<head>
<title>Dynamic JavaScript Loading</title>
<script type="text/javascript">
function loadJS(src){
  var js = document.createElement('script');
  js.setAttribute('type','text/javascript');
  js.setAttribute('src', src);
  document.body.appendChild(js);
}
</script>
</head>
<body>
<a href="javascript:loadJS('dynamic.js');">Load JavaScript</a>
</body>

gerador de cpf

<script language="JavaScript">

// Função para gerar números randômicos

function gera_random(n)
{
    var ranNum = Math.round(Math.random()*n);
    return ranNum;
}

// Função para retornar o resto da divisao entre números (mod)

function mod(dividendo,divisor) 
{
	return Math.round(dividendo - (Math.floor(dividendo/divisor)*divisor));
}

// Função que gera números de CPF válidos

function cpf()
{
	var n = 9;
	var n1 = gera_random(n);
 	var n2 = gera_random(n);
 	var n3 = gera_random(n);
 	var n4 = gera_random(n);
 	var n5 = gera_random(n);
 	var n6 = gera_random(n);
 	var n7 = gera_random(n);
 	var n8 = gera_random(n);
 	var n9 = gera_random(n);
 	var d1 = n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
 	d1 = 11 - ( mod(d1,11) );
 	if (d1>=10) d1 = 0;
 	var d2 = d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
 	d2 = 11 - ( mod(d2,11) );
 	if (d2>=10) d2 = 0;
 	return ''+n1+n2+n3+'.'+n4+n5+n6+'.'+n7+n8+n9+'-'+d1+d2;
}

// Função que gera números de CNPJ válidos

function cnpj()
{
	var n = 9;
	var n1  = gera_random(n);
 	var n2  = gera_random(n);
 	var n3  = gera_random(n);
 	var n4  = gera_random(n);
 	var n5  = gera_random(n);
 	var n6  = gera_random(n);
 	var n7  = gera_random(n);
 	var n8  = gera_random(n);
 	var n9  = 0;//gera_random(n);

 	var n10 = 0;//gera_random(n);

 	var n11 = 0;//gera_random(n);	

 	var n12 = 1;//gera_random(n);		

	var d1 = n12*2+n11*3+n10*4+n9*5+n8*6+n7*7+n6*8+n5*9+n4*2+n3*3+n2*4+n1*5;
 	d1 = 11 - ( mod(d1,11) );
 	if (d1>=10) d1 = 0;
 	var d2 = d1*2+n12*3+n11*4+n10*5+n9*6+n8*7+n7*8+n6*9+n5*2+n4*3+n3*4+n2*5+n1*6;
 	d2 = 11 - ( mod(d2,11) );
 	if (d2>=10) d2 = 0;
 	return ''+n1+n2+'.'+n3+n4+n5+'.'+n6+n7+n8+'/'+n9+n10+n11+n12+'-'+d1+d2;
}

// Função para escolher qual função chamar de acordo com a chamada

function faz()
{
	if (document.form1.tipo[0].checked)
		document.form1.numero.value = cpf();
	else
		document.form1.numero.value = cnpj();
}

// FIM

</script>

<form name="form1" method="POST" action=""> 
<strong>Gerador de CPF e CNPJ</strong><br/>
<input name="numero" type="text" id="numero" size="20" style="color: #808080; border: 1px solid #000000; "><br/>
<input name="tipo" type="radio" value="cpf" checked> CPF 
<input type="radio" name="tipo" value="cnpj"> CNPJ <br/>
<input type="button" name="Button" value="Gerar" onClick="faz()" />

</form>

basic jquery events

$('.box_1').bind('click', function(){
  alert("Clicked Box 1");
});

$('.box_2').click(function(){
  alert("Clicked Box 2");
});

$('.box_3').click(function(){
  $(this).css('background', '#8C0')
});

$('.box_4').bind('dblclick', function(){
  $(this).text('Double Clicked');
});

$('.box_5').mouseenter(function(){
  $(this).css('background', '#C60');
}).mouseleave(function(){
  $(this).css('background', '#06C')
})

$('.box_6').hover(function(){
  // In

  $(this).text('IN')
}, function(){
  // Out

  $(this).text('OUT')
})

google-like css 3 button

http://www.zurb.com/playground/google-buttons

button.g-button, a.g-button, input[type=submit].g-button {
padding: 6px 10px;
-webkit-border-radius: 2px 2px;
border: solid 1px rgb(153, 153, 153);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(255, 255, 255)), to(rgb(221, 221, 221)));
color: #333;
text-decoration: none;
cursor: pointer;
display: inline-block;
text-align: center;
text-shadow: 0px 1px 1px rgba(255,255,255,1);
line-height: 1;
}

iphone: prevent copy paste

* {
   -webkit-user-select: none;  /* prevent copy paste for all elements */
} 

humanize secs

source: http://stackoverflow.com/questions/4136248/how-to-generate-a-human-readable-time-range-using-ruby-on-rails

def humanize secs
  [[60, :seconds], [60, :minutes], [24, :hours], [1000, :days]].map{ |count, name|
    if secs > 0
      secs, n = secs.divmod(count)
      "#{n.to_i} #{name}"
    end
  }.compact.reverse.join(' ')
end

p humanize 1234
#=>"20 minutes 34 seconds"

p humanize 12345
#=>"3 hours 25 minutes 45 seconds"

p humanize 123456
#=>"1 days 10 hours 17 minutes 36 seconds"

p humanize(Time.now - Time.local(2010,11,5))
#=>"4 days 18 hours 24 minutes 7 seconds"

.htaccess examples

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ $1.php [L,QSA] 
# http://domain/about -> http://domain/about.php 

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 
# http://domain/about -> http://domain/index.php?q=about 

sending email with pony

Pony.mail(:to => 'email@provider.com', :via => :smtp, :via_options => {
:address => 'smtp.gmail.com',
:port => '587',
:enable_starttls_auto => true,
:user_name => 'id_gmail',
:password => 'parola_gmail',
:authentication => :plain, # :plain, :login, :cram_md5, no auth by default

:domain => "HELO", # don't know exactly what should be here

},
:subject => 'hi', :body => 'Hello there.')

fetching tweets with jquery

$(document).ready(function() {
    // Declare variables to hold twitter API url and user name

    var twitter_api_url = 'http://search.twitter.com/search.json';
    var twitter_user    = 'leozera';

    // Enable caching

    $.ajaxSetup({ cache: true });

    // Send JSON request

    // The returned JSON object will have a property called "results" where we find

    // a list of the tweets matching our request query

    $.getJSON(
        twitter_api_url + '?callback=?&rpp=5&q=from:' + twitter_user,
        function(data) {
            $.each(data.results, function(i, tweet) {
                // Uncomment line below to show tweet data in Fire Bug console

                // Very helpful to find out what is available in the tweet objects

                //console.log(tweet);


                // Before we continue we check that we got data

                if(tweet.text !== undefined) {
                    // Calculate how many hours ago was the tweet posted

                    var date_tweet = new Date(tweet.created_at);
                    var date_now   = new Date();
                    var date_diff  = date_now - date_tweet;
                    var hours      = Math.round(date_diff/(1000*60*60));

                    // Build the html string for the current tweet

                    var tweet_html = '<div class="tweet_text">';
                    tweet_html    += '<a href="http://www.twitter.com/';
                    tweet_html    += twitter_user + '/status/' + tweet.id + '">';
                    tweet_html    += tweet.text + '<\/a><\/div>';
                    tweet_html    += '<div class="tweet_hours">' + hours;
                    tweet_html    += ' hours ago<\/div>';

                    // Append html string to tweet_container div

                    $('#tweet_container').append(tweet_html);
                }
            });
        }
    );
});

Array method to return array elements as quoted strings

class Array
  def to_quoted_s(q="'")
    "#{q}#{self.join("#{q}, #{q}")}#{q}"
  end
end

# Example:


a = ['a', 'b', 'c', 'd', 'e']
puts a.to_s # abcde

puts a.to_quoted_s # 'a', 'b', 'c', 'd', 'e'

puts a.to_quoted_s("\"") # "a", "b", "c", "d", "e"

flash_messages helper method to rails 3

def flash_messages 
  %w(notice warning error).each do |msg| 
    concat content_tag(:div, content_tag(:p, flash[msg.to_sym]), :class => msg) unless flash[msg.to_sym].blank? 
  end 
end

finding large files

find . -size +20000k -exec du -h {} \;

listing files in a directory with rails

via Shairon Toledo @ rails-br

Dir.glob("*").each{|f|  puts "Name: #{f} | Created at: #{File.ctime(f)} | Updated at: #{File.mtime(f)}"   }

smooth scrolling with jquery

// Smooth scrolling within page anchors

$('a[href*=#]').click(function() {
    
  if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
        
        var $target = $(this.hash);
            
        $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
            
        if ($target.length) {
              var targetOffset = $target.offset().top;
              $('html,body').animate({scrollTop: targetOffset}, 1000);
              return false;       
        }      
     }        
});

post in twitter using rest_client

http://github.com/adamwiggins/rest-client

require "rubygems"
require "rest_client"

RestClient::Resource.new("http://twitter.com/statuses/update.json", :user => "user", :password => "pass").post :status => "Hello, there!"

estrutura de dados

exercícios sobre pilhas e filas

public class exercicio_pilha_fila {

    int topo = 0;
    int maxPilha = 0;
    int pilha[] = new int[maxPilha];
    int comeco = 0;
    int fim = 0;
    int total = 0;
    int maxFila = 0;
    int[] fila = new int[maxFila];
    
	// 15/03/2010

    // Desenvolva um método para remover uma determinada quantidade de dados

 	// em uma pilha estática. Caso nao haja inserida, remova o possivel

    public void remove() {
        if (topo == 0) {
            System.out.println("Pilha Vazia");
        } else {
            int qtde = Leitura.readInteger();
            if (qtde > topo) {
                System.out.println("Quantidade: " + (qtde - topo));
                topo = 0;
            } else {
                topo = topo - qtde;
            }
        }
    }

    // 15/03/2010

	// Desenvolva um método que através de uma ED tipo pilha verifique

	// se uma palavra é palíndroma. Ex.: ovo, ama, asa

    public void Palavra() {
		if (topo == 0) {
			System.out.println("Lista Vazia");
		} else {
			int cont = topo - 1;
			int aux = 0;
			while ((pilha[aux].equals(pilha[cont])) && (cont > aux)) {
				cont--;
				aux++;
			}
			
			if (aux > cont) {
				System.out.println("Palíndroma");
			} else {
				System.out.println("Não palíndroma");
			}
		}
    }

    // 22/03/2010

	// Exemplo do caderno: Insere fila

    public void InsereFila() {
        if (total == maxFila) {
            System.out.println("fila cheia");
        } else {
            if (fim == maxFila) {
                fim = 0;
                int tes = Leitura.readInteger(" Digite algo::");
                fila[fim] = tes;
                fim++;
                total++;
            }
        }
    }

    // 22/03/2010

	// Exemplo do caderno: Remove fila

    public void RemovaFila() {
        if (total == 0) {
            System.out.println("Fila vazia");
        } else {
            if (comeco == maxFila) {
                comeco = 0;
            }
			comeco++;
            total--;
        }
    }

    // 24/03/2010 

	// Considere 2 estruturas de fila estática. Verifica se 

	// ambas sequências de remoção e quantidade são iguais

    public void Verifica_Igualdade() {
		if (total1 != total2) {
			System.out.println("Tamanhos diferentes");
		} else {
			if (com1 != max) {
				int aux1 = com1;
			} else {
				int aux1 = 0;
			}
			
			if (com2 != max) {
				int aux2 = com2;
			} else {
				int aux2 = 0;
			}
			
			int cont = 0;
			while ((cont != total1) && (fila1[aux1] == fila2[aux2])) {
				aux1++;
				aux2++;
				
				if (aux1 == max) {
					aux1 = 0;
				}
				if (aux2 == max) {
					aux2 = 0;
				}
				cont++;
			}
			
			if (cont == total) {
				System.out.println("Filas iguais");
			} else {
				System.out.println("Filas diferentes");
			}
		}
    }

    // 24/03/2010 

	// Desenvolva um método para verificar qual posição

	// da fila um determinado valor foi encontrado

    public void LocalizaPosicao() {
        if (total == 0) {
            System.out.println("Fila vazia");
        } else {
            int valor = Leitura.readInteger("Digite valor a ser localizado: ");
            if (comeco == maxFila) {
                int aux = 0;
            } else {
                int aux = comeco;
                int cont = 0;
                while ((cont != total) && (valor != fila[aux])) {
                    aux++;
                    cont++;
                    if (aux == maxFila) {
                        System.out.println("Não encontrado");
                    } else {
                        System.out.println("Encontrado:  " + (cont + 1));
                    }
                }
            }
        }
    }

    // 24/03/2010     

	// Crie uma ED fila que ao receber a multiplicação dos valores cadastrados

	// em 2 filas estáticas que possuem a mesma quantidade de dados

    public void Multiplica() {
        int maxFila2 = 0;
        int comeco2 = 0;

        if (total == 0) {
            System.out.println("fila vazia");
        } else {
            int[] fila3 = new int[total];
            if (comeco == maxFila) {
                int aux = 0;
            } else {
                int aux = comeco;
            }
            if (comeco2 == maxFila2) {
                int aux2 = 0;
            } else {
                int aux2 = comeco2;
                int cont = 0;
                while (cont != total) {
                    fila3[fim3] = (fila[aux] * fila2[aux2]);
                    aux++;
                    aux2++;
                    fim3++;
                    total3++;
                    if (aux == maxFila) {
                        aux = 0;
                    }
                    if (aux2 == maxFila) {
                        aux2 = 0;
                        cont++;
                    }
                }
            }
        }
    }

    // Exemplo do caderno

	// Desenvolva um método para apresentar o primeiro e o ultimo elemento da fila.

    public void Apresenta() {
        if (total == 0) {
            System.out.println("Fila vazia");
        } else {
            System.out.println("Começo: " + fila[comeco] + " último: " + fila[fim - 1]);
        }
    }

    // 31/03/2010 

	// Remova os elementos de uma pilha e uma fila simultaneamente,

	// enquanto ambos estruturas forem iguais

    public void RemovePilhaFila() {
        if ((topo == 0) || (total == 0)) {
            System.out.println("Fila ou pilha vazias");
        } else {
            while ((total > 0) && (topo > 0) && (pilha[topo - 1] == fila[comeco])) {
                topo--;
                comeco++;
                total--;

                if (comeco == maxFila) {
                    comeco = 0;
                }
            }
        }
    }

    // 31/03/2010 

    // Considere uma agência de viagens, a qual trabalha com

 	// fila de espera. Considere o cliente cod 9783. Verifique 

	// em 2 filas, as quais este cliente esta cadastrado, qual

	// apresenta a maior possibilidade de conseguir a passagem

    public void Localiza() {
		if (comeco1 == max) {
			int aux1 = 0;
		} else {
			int aux1 = comeco1;
		}
		
		if (comeco2 == max) {
			int aux2 = 0;
		} else {
			int aux2 = comeco2;
		}
		
		int cont1 = 0;
		int cont2 = 0;
		
		while (fila1[aux1] != 9783) {
			cont1++;
			aux1++;
			if (aux1 == max) {
				aux1 = 0;
			}
		}
		
		while (fila2[aux2] != 9783) {
			cont2++;
			aux2++;
			if (aux2 == max) {
				aux2 = 0;
			}
		}
		
		if (cont1 > cont2) {
			System.out.println("Fila 1 menor");
		} else if (cont2 < cont1) {
			System.out.println ("Fila 2 menor");
		} else {
			System.out.println ("Tanto faz");
		}
    }

    // 31/03/2010 

    // Considere uma pilha a qual foi inserida de forma intermediária valores

	// positivos e negativos altere a ED de forma a possuir somente os 

	// valores positivos. Não há a necessidade de manter a pilha original

    public void PilhaPositiva() {
        if (topo == 0) {
            System.out.println("Pilha esta vazia!!");
        } else {
			int PilhaN = new Int[(topo/2) + 1];
			int TopoN = 0;
			
			while (TopoN > 0) {
				if (pilha[topo - 1] > 0) {
					PilhaN[TopoN] = pilha[topo -1];
					TopoN++;
				}
				topo--;
			}
		}
    }

	// Outro semestre

    // Desenvolva um método para remover com exceção do 

	// primeiro, todos os outros elementos da fila

    public void RestaUm() {
        if (total == 0) {
            System.out.println("fila vazia");
        } else {
            total = 1;
            comeco = fim - 1;
        }
    }

    // Outro semestre

	// Crie um método para apresentar todos os dados

	// inseridos em uma fila (do primeiro ao ultimo)

    public void ApresentaTodos() {
        if (total == 0) {
            System.out.println("Fila vazia");
        } else {
            int aux = comeco;
            int cont = 0;

            while (cont != total) {
                if (aux == maxFila) {
                    aux = 0;
				}
                System.out.println("Retorno:  " + fila[aux]);
                aux++;
                cont++;
            }
        }
    }

	// Outro semestre

	// Se pilha e fila são formas de listas por que existem especifidades para ambas?

	// Porque existem situações computacionais que exigem restrições.

	// Ex. Pilha: CTRL + Z, voltar do browser, recurvidade.

	// Ex. Fila: Impressora


    // Outro semestre

	// Desenvolva um método para preencher todas alocacoes vazias 

	// de uma ED tipo pilha com um determinado valor digitado pelo usuário

    public void PreencherPilha() {
        if (total == maxPilha) {
            System.out.println("Pilha vazia");
        } else {
            int texto = Leitura.readInteger(" Digite algo::");

            while (topo < maxPilha) {
                pilha[topo] = texto;
                topo++;
            }
        }
    }

    // Outro semestre

	// Crie um método para realizar o backup de uma lista ED tipo fila

    public void BackupFilaOutro() {
        if (total == 0) {
            System.out.println("Fila vazia");
        } else {
            int filaBackup[] = new int[total];
            int aux = comeco;
            int totalBackup = 0;
        	int fimBackup = 0;
            
			while (totalBackup != total) {
                filaBackup[totalBackup] = fila[aux];
                totalBackup++;
                aux++;
                fimBackup++;

                if (aux == maxFila) {
                    aux = 0;
                }
                int comecoBackup = 0;
            }
        }
    }

    // Outro semestre

	// Desenvolva um método para apresentar na sequência de remoção

	// todos os dados inseridos em uma ED tipo fila estática

    public void apresentaFila() {
        if (total == 0) {
            System.out.println("Fila vazia");
        } else {
            int cont = comeco;
            int aux = 0;

            while (aux != total) {
                if (cont == maxFila) {
                    cont = 0;
                    System.out.println("Apresenta Fila" + fila[cont]);
                    cont++;
                    aux++;
                }
            }
        }
    }
}

rails 3 two lines install

gem install i18n tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler

gem install rails --pre

clean way to open a popup window

$('a.popup').live('click', function(){
	newwindow=window.open($(this).attr('href'),'','height=200,width=150');
	if (window.focus) {newwindow.focus()}
	return false;
});
Displaying Code 101 - 120 of 300 in total