preload

dez 27

Créditos: Eustáquio Rangel

Marcadores:
dez 27

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é +…

Marcadores:
dez 24

Créditos: nerdson.com

Marcadores:
dez 21

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

;)

Marcadores:
dez 21

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é +…

Marcadores:
dez 20


pensei que só eu usava a palavra “lonjura”…

Creditos: Danosse.com

Marcadores:
dez 18

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! ;)

Marcadores:
dez 18

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.

Marcadores:
dez 15

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!

Marcadores:
dez 15

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!");
	}
}
Marcadores:

2006 - 2009 (c) bleno.org
100% Compatível com Mozilla Firefox