bom dia pra vc tbem norteshopping

On April 4, 2012, in trecos, by athanazio
0


Nada como levar as crianças no shopping de carro pela manhã e receber um bom-dia da catraca que insiste em não abrir apesar de soltar os bilhetinhos que estão acima … usei pela primeira vez o microfone do sistema de bilhete !! e funcionou !!

A maquina misteriosa me respondeu : “Estacionamento Norteshopping Bom-dia”, eu com toda paciência do mundo : “Companheiro a cancela não esta abrindo apesar de ter saido bilhete … “, dai após outro bilhete e uma abertura manual da cancela entrei e descarreguei as crianças …

Mas nem tudo esta perdido na hora de sair a mesma novela … os dois tickets estavam inválidos, e la vou eu para o microfone … Companheiro a cancela não abre !!! sou eu que não abriu na entrada … fim das contas acabou abrindo manualmente de novo. tenha um bom-dia estacionamento !!!

Tagged with:
 

de volta a sala de aula

On March 21, 2012, in trecos, by athanazio
4


Hoje depois de muitos anos retornei a tarefa que mais me dá prazer nesta vida : ensinar !! e desta vez estou em uma casa muito nobre o Oi Nave ! ótimos alunos, ótimos colegas professores e ótimo ambiente, inclusive gostei da merenda :D

Tagged with:
 

usar matriz ou um array bem grande ?

On March 15, 2012, in games, java, by athanazio
3

Cá estou eu sem sono e pensando num problema de programação … imagina a cena : preciso manter um memória para acesso aleatório uma matriz de 250 por 250 que vão representar eventos ocorridos em um mapa de um jogo, dai a pergunta que não quer calar é : será que matrizes multidimensionais no Java fazem diferença para acesso randômico ?

Porque sempre tem a opção de representar a matriz como um array bem grande, que o numero de elementos eh a quantidade de linhas x colunas, fiz alguns testes sem conclusão de quem tem melhor performance, pelo fato de serem dados aleatórios a cada teste acaba não ajudando muito nas conclusões, alguma sugestão ? :)

eis o código que usei para os testes

public class ArrayLengthCheckPerformance {

	private static final int LINES = 250;
	private static final int REGION_SIZE = 50;
	private static final int COLUMNS = 250;

	private static int[] foo1 = new int[COLUMNS * LINES];
	private static int[][] foo2 = new int[COLUMNS][LINES];

	public static void main(String[] args) {

		int testsInner = 50;
		int testsOuter = 100;
		long total1 = 0;
		long total2 = 0;
		long dif = 0;

		for (int i = 0; i < testsOuter; i++) {
			long duration1 = runTest1(testsInner);
			long duration2 = runTest2(testsInner);
			dif = duration1 - duration2;
			System.out.print("\nduration 1 / 2 = " + duration1 + " / "
					+ duration2 + " dif(1-2) = " + dif);
			total1 += duration1;
			total2 += duration2;
		}

		dif = total1 - total2;
		System.out.print("\n total duration 1/2 = " + total1 + " / " + total2
				+ " dif(1-2) = " + dif);
	}

	private static long runTest2(int tests) {
		long start = System.currentTimeMillis();

		for (int i = 0; i < tests; i++) {
			test2(10000);
		}

		long end = System.currentTimeMillis();
		long duration = end - start;
		return duration;
	}

	private static long runTest1(int tests) {
		long start = System.currentTimeMillis();

		for (int i = 0; i < tests; i++) {
			test1(10000);
		}

		long end = System.currentTimeMillis();
		long duration = end - start;
		return duration;
	}

	private static void test1(int iterations) {

		int[] location;
		int x;
		int y;
		int pos;
		int changeMe = 0;

		for (int i = 0; i < iterations; i++) {
			location = randomLocation();
			x = (int) location[0] / REGION_SIZE;
			y = (int) location[1] / REGION_SIZE;
			pos = x + (y * LINES);
			changeMe = foo1[pos] + x + y;
		}

	}

	private static void test2(int iterations) {

		int[] location; // use as y also ...
		int x;
		int y;
		int changeMe = 0;

		for (int i = 0; i < iterations; i++) {
			location = randomLocation();
			x = (int) location[0] / REGION_SIZE;
			y = (int) location[1] / REGION_SIZE;
			changeMe = foo2[x][y] + x + y;
		}

	}

	private static int[] randomLocation() {
		int x = (int) (Math.random() * COLUMNS * REGION_SIZE);
		int y = (int) (Math.random() * LINES * REGION_SIZE);
		int[] result = new int[2];
		result[0] = x;
		result[1] = y;
		return result;
	}

}
Tagged with:
 

wow em portugês

On December 1, 2011, in trecos, by athanazio
1

bem lançaram o patch 4.3 e com ele jah tem a opção de português Brasil !!! mudei em options e estou reiniciando o cliente … doido para aparecer VentoBravo ao invés de Stormwind :P

Tagged with:
 

gerando calendário em PDF

On November 30, 2011, in trecos, by athanazio
0

Discutindo com a secretária aqui de casa detalhes sobre as tarefas chegamos a conclusão que o melhor para as tarefas ciclicas seria ter um calendario colado em alguma porta com o que precisa ser feito.
tipo limpar vidro da área, nao precisa limpar toda semana, mas … nao rola de limpar soh uma vez por mes hhehehhehe dai achei este site legal que gera calendários em PDF !! http://www.pdfcalendar.com/monthly/ mão na roda total

Tagged with:
 

controlando o time machine

On November 28, 2011, in trecos, by athanazio
0

eh brabo durante o dia o timemachine disparando backups … achei meu novo amigo http://timesoftware.free.fr/timemachineeditor/ agendamento do horário dos backups !!!!

Tagged with:
 

movendo a barra de menu para monitor secundário no mac

On November 22, 2011, in mac, by athanazio
0

Depois de fazer malabarismos para conseguir colocar o menu do mac no monitor secundário, que na verdade é um televisão :) , achei este post aqui http://macdevelopertips.com/system/multiple-monitors-specifying-menu-location.html, que resolveu o problema ! e a solução é muito simples na verdade :

siga as figuras :
1. acesse preferências do sistema

2. selecione displays

3. selecione arrangement e arraste a barra do menu para o monitor desejado

Tagged with:
 

jogo de puxar paredes

On June 5, 2011, in trecos, by athanazio
0

show de bola o joguinho de puxar paredes !

http://www.gameoz.net/Adventure/15244/Fault-Line.html?utm_source=twitterfeed&utm_medium=twitter

Tagged with:
 

a chuva do chafariz

On May 31, 2011, in trecos, by athanazio
0


passando pelo norteshopping vi este cartaz, e pelo que entendi eles usam acgua da chuva no chafariz, sera que eh por isto que as vezes o chafariz fica desligado ? hehehehe

Tagged with:
 

trocando editor padrão de arquivos no Mac

On May 31, 2011, in mac, by athanazio
0


várias vezes clico com o botão direito para abrir um arquivo e escolho toda vez com que aplicativo abrir, em especial os arquivos texto, como cansei desta operação acabei descobrindo como definir o editor padrão para todooooos os arquivos com a mesma extensão.
Exiba as informações do arquivo com Command+I, vai na seção “Open With”, escolhe o editor e “Change all” !! salvou um tempão. :P

Tagged with:
 

um elevador me basta ?

On May 31, 2011, in trecos, by athanazio
0

no meu corredor tem 3 elevadores, e as vezes distraido apertava os 3 botões ao mesmo tempo … mas será que eu preciso dos três elevadores ? acho que não :P melhor ficar atento e apertar um botão só.
Parece bobagem, mas o fato de se preocupar com pequenas coisas, acaba de alguma maneira se traduzindo em um comportamento comum ao seu redor, acaba de alguma maneira pequena e indolor gerando ondas de mudança.
um elevador só pra mim basta.

Tagged with:
 

quebra cabeça 3D de nova iorque

On May 30, 2011, in trecos, by athanazio
0


Nada como um fim de semana montando quebra-cabeça … cachorro latindo, afastando as peças para por a mesa do almoço de domingo, reclama daqui, reclama dali, chama visita para ajudar a montar, pirraça aqui, choradeira acolá, e no fim das contas fica montado o quebra-cabeça, dai alguém pergunta : faz o que agora pendura na parede ? e vem a sinistra resposta : desmonta e guarda na caixa.

Tanto a vida como quebra-cabeças tem o prazer na jornada, o prazer do desvendar as peças de entender como as coisas se encaixam, de perceber de tanto olhar que aquele verde não era tão verde assim, esta é vida onde o prazer e o desprazer estão na jornada, e não no fim dela. Por isto sou grato a Deus por esta experiência louca e maravilhosa que é a vida, tão única, tão assustadora e ao mesmo tempo tão boa. curta a vida, curta o quebra-cabeça porque depois é caixa.

mais fotos do famigerado “puzzle 3D” (a embalagem cismou que era 4D)

Fiz um video também do meu celular sobrevoando a cidade hehehe
http://www.youtube.com/watch?v=dsBRlhpsjdo

E este é o link do produto no site da amazon : http://www.amazon.com/Cityscape-York-City-Skyline-Puzzle/dp/B002T1HG82

Tagged with:
 

desenhando apartamento no OpenOffice

On May 24, 2011, in trecos, by athanazio
0

Faz muito tempo que sou fã de carteirinha do openoffice, não só por ser uma ferramenta opensource, mas por ser um bom editor mesmo, em especial a ferramenta de desenho vetorial, acho muito pratica e soh perde mesmo na hora de gerar imagens pro inkscape.
Mas tinha uma limitação, na verdade minha, que era o fato de não conseguir desenhar planta baixa de apartamento ou um projeto de uma prateleira ou o que seja usando uma escala diferente de 1:1, ou seja quando desenhava um quadrado de 10 metros não queria que o papel tivesse 10 metros :D
dai descobri quase por acidente a opção de informar a ESCALA !!

Fica lah em Tools > Options > OpenOffice.org Draw > General

Tagged with:
 

e a corrida pelo android começou

On March 21, 2011, in android, by athanazio
4

android bovino
os desenvolvedores já começaram a sua corrida para desenvolver soluções para o Android,
uma tal de vaca vitória software já apresenta algumas soluções …
www.vacavitoria.com/android

Tagged with:
 

fazendo foto 3×4 em java

On January 26, 2011, in fotos, java, programacao, by athanazio
0

Hoje de tarde perguntei para a secretária da minha esposa que estava rodeando pela casa : ” Ae vai querer umas fotos 3×4 ? to fazendo umas e vou mandar imprimir … quer ? ” a resposta foi ótima !!! “pra que ? é tudo digital hoje … ” pronto eu com cara de tacho, maledito condomínio que esta pedindo fotos 3×4 para carteirinha da piscina, não podia ter uma camera por lá ?

Bem choradeira de lado, acabei resgatando um código que tinha feito em 2005 para montar uma folha de impressão de fotos 5×7, porque na época achei um absurdo pagar o preço pedido, ainda acho hehehe, dai fiz as fotos com o ipod mesmo, dei uma arrumada basica no código para suportar mais dimensões do que o 5×7 e pronto !! recebe como input uma imagem jpg e monta uma outra de saida no tamanho 1000×1500 que eh para ser impressa no tamanho 10×15.

clique na imagem para ver como fica o resultado :

o código em si não é complicado, é soh ter alguns cuidados na hora de compor a imagem de resultado e todos ficaram felizes, segue o código

package br.com.thz.photo;

import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.ImageIcon;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class ProtoComposer {

	private static final int BORDER = 5;

	public static void main(String[] args) throws FileNotFoundException, IOException {

		createImage3_4("mario.jpg");
		createImage3_4("cachorro.jpg");

	}

	private static void createImage3_4(String fileName) throws FileNotFoundException, IOException {
		createImage(fileName, 300, 400);
	}

	private static void createImage5_7(String fileName) throws FileNotFoundException, IOException {
		createImage(fileName, 500, 700);
	}

	private static void createImage(String fileName, int width, int height) throws FileNotFoundException, IOException {
		int x = 0;
		int y = 0;
		int maxWidth = 1000;
		int maxHeight = 1500;

		BufferedImage buffer = new BufferedImage(maxWidth, maxHeight, BufferedImage.TYPE_INT_RGB);
		Graphics2D g2 = buffer.createGraphics();
		ImageIcon image = new ImageIcon(fileName);

		g2.setColor(Color.WHITE);
		g2.fillRect(0, 0, maxWidth, maxHeight);

		// font definition
		Font font = new Font("Tahoma", Font.BOLD, 30);
		g2.setFont(font);

		// draw images with the dimension informed
		while ((x + width) <= maxWidth) {
			while ((y + height) <= maxHeight) {
				drawImageWithTimeStamp(g2, image.getImage(), x, y, width, height);
				y += height;
			}
			x += width;
			y = 0;
		}

		generateJPG(buffer, width +"_" + height + "_" + fileName);
	}

	private static void drawImageWithTimeStamp(Graphics2D g2, Image image, int x, int y, int w, int h) {
		g2.drawImage(image, x + BORDER, y + BORDER, w - BORDER, h - BORDER, null);

		String text = getDate();
		FontMetrics metrics = g2.getFontMetrics();
		Rectangle2D rect = metrics.getStringBounds(text, 0, text.length(), g2);
		g2.setColor(Color.BLACK);

		int lateral = (int) ((w - rect.getWidth()) / 2.0);
		Rectangle toFill = new Rectangle();
		toFill.x = x + lateral - BORDER;
		toFill.y = (int) (y + h - (2 * BORDER) - rect.getHeight());
		toFill.height = (int) rect.getHeight();
		toFill.width = (int) rect.getWidth() + BORDER;

		g2.fillRect(toFill.x, toFill.y, toFill.width, toFill.height);
		g2.setColor(Color.WHITE);
		g2.drawString(text, toFill.x, (int) (toFill.y + rect.getHeight() - (2 * BORDER)));

	}

	public static String getDate() {
		SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
		return sdf.format(new Date());
	}

	private static void generateJPG(BufferedImage buffer, String fileName) throws FileNotFoundException, IOException {

		FileOutputStream file = new FileOutputStream(fileName);

		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(file);
		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(buffer);
		param.setQuality(1.0F, true);
		encoder.setJPEGEncodeParam(param);

		encoder.encode(buffer);
		file.close();
	}

}
Tagged with: