
Créditos: Eustáquio Rangel
Dica rápida…
Para ver a lista de e-mails não lidos em seu GMail, procure por:
is:unread
Vai te retornar todos os e-mails não lidos de sua conta! Caso queira ver somente os e-mails não lidos da caixa de mensagem, procure por:
is:unread in:inbox
Caso você tenha marcadores em sua conta, em in: pode-se usar o nome do seu marcador, listando assim os e-mails não lidos que fazem parte do seu marcador!
Inté +…
Heiow,
Lendo os RSS da vida. Chego ao blog de um cara chamado Paulo Matias. Lendo o blog do mesmo vejo o post sobre o termino de seus projetos de final de semestre. O que me chamou atenção foi: Display de LEDs rotativos.
Eu simplesmente sou fã deste tipo de projeto. É algo quase que surreal, dispensa comentários e sobram elogios: Parabéns! Veja você mesmo:

…

…
Show de bola não? Veja mais imagens e mais sobre o projeto em: http://matias.archlinux-br.org
;)
Woway…
Em um post anterior falei que estava estudando java nestas férias do curso. Enfim, sai então o primeiro exemplo! No melhor do estilo: Agenda Simples. Depois de “brincar” com java, vejo que OO (Orientação a Objetos) é realmente “foderoso” (mistura de foda + poderoso). Estou fascinado com o poder do Java. Lembrando: este exemplo é ridículo :P
*** Download dos arquivos
- Clique aqui para baixar o ex5.java
- Clique aqui para baixar o ModuloAgenda.java
O ex5.java tem os métodos principais e o ModuloAgenda.java a classe de mesmo nome, com os construtores e demais métodos. Veja abaixo os dois arquivos, divirta-se ;)
[ ex5.java ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | /* * ex5.java * -------- * * Simples exemplo de "Agenda" em Java. * Só a merito de apredizado :P */ import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; public class ex5 { private static int MAX = 10; // maximo de registros :D private static int registros = 0; // controle de registros na agenda! private ModuloAgenda[] dadosAgenda; public static void main(String args[]) { boolean ctrl = true; String escolha = ""; ex5 regDadosAgenda = new ex5(); BufferedReader dadosMenu = new BufferedReader(new InputStreamReader(System.in)); while(ctrl) { System.out.println("--- MENU ---"); System.out.println("------------\n"); System.out.println("[A] Adiciona dados"); System.out.println("[B] Excluir dados"); System.out.println("[C] Visualizar dados"); System.out.println("[Z] Sair\n"); System.out.print("Opção: "); try { escolha = dadosMenu.readLine(); } catch(IOException e) { System.out.println("\nErro: Caractere de escolha inválido!\n"); } switch (escolha.charAt(0)) { case 'A' : case 'a' : regDadosAgenda.incluirDados(); break; case 'B' : case 'b' : regDadosAgenda.excluirDados(); break; case 'C' : case 'c' : regDadosAgenda.exibeDados(); break; case 'Z' : case 'z' : System.out.println("\nflw ;)"); System.exit(0); } } } /* * Construtor default... * Ao iniciar o programa, cria a agenda... :P * */ public ex5() { dadosAgenda = new ModuloAgenda[MAX]; } /* * public void incluirDados(); * --------------------------- * * Receber dados do usuario e incluir os mesmos * na classe ModuloAgenda() via construtor... * */ public void incluirDados() { String nome = ""; String endereco = ""; String tel = ""; String email = ""; BufferedReader dadosIn = new BufferedReader(new InputStreamReader(System.in)); if (registros == MAX) { System.out.println("\nErro: Agenda está cheia!\n"); return; } try { System.out.print("Informe o nome: "); nome = dadosIn.readLine(); System.out.print("Informe o endereço: "); endereco = dadosIn.readLine(); System.out.print("Informe o telefone: "); tel = dadosIn.readLine(); System.out.print("Informe o e-mail: "); email = dadosIn.readLine(); } catch (IOException e) { System.out.println("\nErro ao capturar dados!\n"); } ModuloAgenda volumeDados = new ModuloAgenda(nome, endereco, tel, email); dadosAgenda[registros] = volumeDados; registros++; } /* * public void excluirDados(); * --------------------------- * * Exclui dados do vetor "dadosAgenda" :D */ public void excluirDados() { int regNum = 0; BufferedReader dadosIn = new BufferedReader(new InputStreamReader(System.in)); if (registros == 0) { System.out.println("\nErro: Agenda está vazia =/\n"); return; } try { exibeDados(); System.out.print("Numero do registro: "); regNum = Integer.parseInt(dadosIn.readLine()) - 1; } catch (IOException e) { System.out.println("\nErro ao capturar dados!\n"); } if ((regNum < 0) || (regNum >= registros)) { System.out.println("\nErro: Registro fora do limite da Agenda!\n"); return; } else { for (int i = regNum; i < registros; i++) { dadosAgenda[i] = dadosAgenda[i + 1]; } dadosAgenda[registros] = null; registros--; } } /* * public void exibeDados(); * ------------------------- * * ... */ public void exibeDados() { if (registros == 0) { System.out.println("\nErro: agenda está vazia!\n"); } else { for (int i = 0; i < registros; i++) { System.out.println("Registro: " + (i + 1)); System.out.println("Nome : " + dadosAgenda[i].getNome()); System.out.println("Endereço: " + dadosAgenda[i].getEndereco()); System.out.println("Telefone: " + dadosAgenda[i].getTel()); System.out.println("E-mail : " + dadosAgenda[i].getEmail() + "\n"); } } } } |
[ ModuloAgenda.java ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | /* * ModuloAgenda.java * ----------------- * * Simples classe para ser usando no exemplo "Agenda" :P */ public class ModuloAgenda { private String nome; private String endereco; private String tel; private String email; private static int numCadastros; // construtor default... public ModuloAgenda() { numCadastros++; } // construtor para inserir volume de dados... public ModuloAgenda(String nome, String endereco, String tel, String email) { this.setName(nome); this.setEndereco(endereco); this.setTelefone(tel); this.setEmail(email); } // assessor para nome... public String getNome() { return nome; } // assessor para endereço... public String getEndereco() { return endereco; } // assessor para telefone... public String getTel() { return tel; } // assessor para email... public String getEmail() { return email; } // modificador para nome... public void setName(String nome) { this.nome = nome; } // modificador para endereço... public void setEndereco(String endereco) { this.endereco = endereco; } // modificador para telefone... public void setTelefone(String tel) { this.tel = tel; } // modificador para e-mail... public void setEmail(String email) { this.email = email; } } |
Inté +…

pensei que só eu usava a palavra “lonjura”…
Creditos: Danosse.com
heyow,
No Wordpress quando necessitamos colocar um trecho de código de alguma linguagem recorremos – geralmente – a classes CSS para deixar o código mais organizado. Mas esqueça as “horas” criando css para deixar o código mais legível. Use o plugin WP-Syntax.
O WP-Syntax foi desenvolvido por Ryan McGeary usando PHP e portando para usar como plugin do Wordpress seguindo os padrões highlighting do projeto GeSHi. Vejamos como usá-lo:
*** Instalando…
1. Como toda instalação de plugin do Wordpress, você baixa o pacote com os arquivos do plugin e extrai no do diretório wp-content/plugins/ ficando então – apos descompactar o pacote ZIP – wp-content/plugins/wp-syntax/
2. Abra seu gerenciador do Wordpress (wp-admin) e vá em plugins e ative o wp-syntax.
*** Usando…
Depois de instalado e ativo o plugin wp-syntax, o uso é muito simples. Ao criar/editar um post do seu blog use:
<pre lang=”linguagem” line=”1″>
…
seu trech de código
…
</pre>
Em lang=”", você define a linguagem usada no trecho de código. Em line=”", você defina a linha inicial do trecho de código, no caso acima, o código será numerado começando da linha 1. Caso não queira numerar seu trecho de código, não use line=”". Veja abaixo um exemplo de como ficaria seu código usando o wp-syntax:

exemplo de um trecho de código em php não numerado…

exemplo de um trecho de código em ruby on rails, começando a contagem na linha 18…
Acima é o resultado gerado no seu post do wordpress usando o plugin wp-syntax. Veja abaixo como ficaria seu html no wordpress, respectivamente:
<pre lang="php"> <div id="foo"> <?php function foo() { echo "Hello World!\\n"; } ?> </div> </pre><pre lang="ruby" line="18"> class Example def example(arg1) return "Hello: " + arg1.to_s end end </pre>
Veja acima em lang=”" que é especificada a linguagem usada no trecho de código, o wp-syntax suporta várias linguagens de programação que podem ser conferidas no seu “readme.txt” contido no pacote do plugin!
Espero que tenha gostado! ;)
Wow,
Sabemos que o cliente de ftp nativo do ubuntu e linux’es em geral não suportam recursividade para upload de arquivos, ou seja, caso seja necessário fazer o upload de um diretório onde há vários arquivos e sub-diretórios dentro do mesmo o cliente ftp nativo não suporta a recursividade. Podemos resolver este problema com o ncftp.
O ncftp é um cliente de ftp “incrementado” em suas funções. Suporta recursividade para upload e download. Então, usaremos:
*** Instalando…
~$
~$ sudo apt-get install ncftp
*** Usando…
~$
~$ ncftp
ncftp> open -u usuario -p password ftp.host.com
ncftp /home/usuario> …
Como visto acima, logar em um server ftp é muito simples, sem mais dificuldades. O uso de recursividade para upload e download é dados com o comando “put” e “get“, respectivamente, usando o argumento -R. Vejamos:
ncftp /home/usuario> put -R diretorio_cheio_de_arquivos
ncftp /home/usuario> get -R baixando_diretorio_cheio
Simples… me quebrou um galho esta semana… para ver os demais comandos e o que cada comando suporta, use “?” na linha de comando do ncftp e veja o help do mesmo, ajuda muito, verá que este cliente ftp é realmente bem incrementado.
Espero ter ajudado! ;)
ps.: Créditos para o Rodrigo (mult), que deu a dica de uso do ncFTP.


Wow,
Sempre quando estamos no gnome e sentimos a necessidade de anotar aquela idéia e recorremos a um editor de texto mais próximo do ponteiro do mouse e sempre acumulamos arquivos de anotações descenessarios na área de trabalho? Esqueça está desorganização. Existe o Tomboy.
O Tomboy é um bloco de notas no melhor do estilo post-it. Desenvolvido em C++ usando Mono runtime e GTK#, é leve, simples e quebra um galho de verdade. Ao ser executado, ele fica na systray (ao lado o mostrador de horas) do Gnome, é só clicar e anotar a sua idéia que ele acumula os dados.
O Tomboy é um aplicativo nativo do gnome (não sendo necessário instalar), mas se por ventura precisar instalar, o apt-get resolve:
~$
~$ sudo apt-get install tomboy
Pronto! É só usar. Despensa comentários sobre o seu uso, sua interface simples e intuitiva faz com que em alguns minutos você já domine o seu uso. Veja abaixo algumas screens do Tomboy:

suporta links para web em suas anotações…

procura duas idéias rapidamente…
Então fica a dica, anotações vai no tomboy!
Que começe o show :P
1 2 3 4 5 | public class ex1 {
public static void main(String args[]) {
System.out.println("Alô Java!");
}
} |