quarta-feira, 29 de setembro de 2010

Semana Assembly - Os Cinco Furiosos (Parte 3)

Hoje começamos os comandos de repetição, o primeiro deles é o FOR, em Java ou C++ este comando é dividido em três partes:
  1. Inicialização
  2. Teste
  3. Incremento
A lógica deste comando é a seguinte: no primeiro momento os passos 1 e 2 são executados, caso o teste seja verdadeiro termina o laço, caso contrário executa o bloco com as intruções a repetir e os passos 3 e 2 até que o teste seja verdadeiro.

Em Assembly este comando pode ser descrito da seguinte maneira:

include emu8086.inc

ORG 100h

MOV AL, 1      ; fazer AL = 1  (Passo 1)
laco:
CMP AL, 10     ; comparar AL com 10
JG final       ; se AL > 10 saltar para o final (Passo 2)
PUTC '*'       ; mostrar '*' (bloco com as instruções a repetir)
ADD AL, 1      ; fazer AL = AL + 1 (Passo 3)
JMP laco       ; retornar ao laco

final:
END

As explicações estão no próprio código junto a cada comando. O FOR é um comando chamado de DETERMINADO pois sabemos exatamente quantas vezes as instruções serão repetidas.

Abraços e até a próxima
Fernando Anselmo

terça-feira, 28 de setembro de 2010

Semana Assembly - Os Cinco Furiosos (Parte 2)

Mais um dia para a nossa semana Assembly, e no cardápio de hoje veremos o interessante comando SWITCH, originalmente ele era um dos Anões da Branca de Neve, porém foi tentar uma carreira solo e ficou perdido em comandos das linguagens C, C++, Ruby e Java com a sua quase eterna briga com o IF. Sua estrutura envolve um menu de opções que podem ocorrer, tal como:

switch (i) {
  case 1: faça 1
  case 2: faça 2
  case 3: faça 3
  default: se não fizer nenhuma delas
}

Em linguagem Assembly existe algumas maneiras bem diferentes de implementar este comando, porém prefiro a mais padrão que pode ser aplicada a todas as máquinas:

include 'emu8086.inc'
#MAKE_COM#
ORG 100h

.data
  value dd 3

.code

cmp value, 3


jge default
  cmp value, 0
je part0
  cmp value, 1
je part1
  cmp value, 2
je part2

part0:
  print 'Parte 0', 0
  jmp fim
part1:
  print 'Parte 1', 1
  jmp fim
part2:
  print 'Parte 2', 2
  jmp fim
default:
  print 'Default', 0
fim:

RET

Acredito que não exista o menor mistério nestes comandos, já que vimos todas essas instruções anteriormente.

Abraços e até a próxima
Fernando Anselmo

Semana Assembly - Os Cinco Furiosos (Parte 1)

Essa semana vamos incrementar nosso estudo da linguagem Assembly aprendendo como executar os cinco comandos que vemos em quaisquer linguagem, hoje é dia do IF. Em Assembly podemos dar saltos estruturados através da verificação de uma variável denominada ZF:

Se ZF = 1 (comando JE ou JZ)
Se ZF >= 1 (comando JGE ou JNL)
Se ZF <= 1 (comando JLE ou JNG)
Se ZF > 1 (comando JG ou JNLE)
Se ZF < 1 (comando JL ou JNGE)

Além de outros tipos de saltos (em breve estarei postando no meu site um cartão com um resumo de todos os comandos em Assembly). Vamos ao programa então:

include emu8086.inc
ORG 100h

MOV AL, 25
MOV BL, 25
CMP AL, BL
JE igual
PUTC 'N'
JMP parar
igual:
PUTC 'S'
parar:
RET

END


Neste programa enviamos para duas variáveis AL e BL o valor 25, em seguida executamos o comando CMP (Compara) que caso sejam iguais fará ZF = 1 (esse é o real comparador), em seguida se o resultado de JE for ZF = 1 realizará um salto para o label denominado igual, caso contrário o código segue seu caminho e mostra N e em seguida saltando para o label denominado parar. Ao entrar no label denominado igual mostra o valor S.

Observe que isso é como um IF de cabeça para baixo, seu fluxograma é algo como:

INICIO PROGRAMA
  FAZER AL = 25
  FAZER BL = 25
  COMPARAR AL e BL e se iguais FAZER ZF = 1
  SE (ZF = 1) SALTAR PARA igual
  MOSTRAR N
  SALTAR PARA parar
  igual:
  MOSTRAR S
  parar:
FIM PROGRAMA


Para solidificar ainda mais seus conhecimentos teste este programa com os outros tipos de saltos.

Abraços e até a próxima
Fernando Anselmo

domingo, 26 de setembro de 2010

Literatura - Librivox

Hoje, não quero falar sobre um livro que estou lendo ou um Autor, quero falar sobre uma Biblioteca. Não é qualquer biblioteca, o termo Audioteca cairia melhor para ela. A idéia é simples, obter voluntários do mundo inteiro para ler obras que estão sob Domínio Publico.

Então imagine que voluntários da Inglaterra, Japão, EUA, Brasil e muitos outros países leiam obras de Shakespeare, Esopo, Coleções de Poemas, Contos de Horros, clássicos como Tarzan ou o Corcunda de Notre Dame em várias línguas, e deixam tudo isso gravado e disponível em MP3 simplesmente para você poder se familiarizar com os sons de outros idiomas sem pagar um único centavo para ninguém.

Você ainda pode colaborar sendo um leitor de obras e ajudar esse incrível projeto, pode ler em português mesmo ou quem saber treinar seu inglês? Pegue um capítulo da Bíblia para ler, grave e envie para a Librivox. Não perca tempo e acesse hoje mesmo esse incrível projeto, o endereço a seguir lhe abrirá o catálogo com todas as obras disponíveis:

http://librivox.org/newcatalog/search.php?title=&author=&status=all&action=Search

Abraços e até a próxima
Fernando Anselmo

PS. Fique de olho nessa semana pois faremos a Maratona ASSEMBLY.

domingo, 19 de setembro de 2010

Literatura - Mundodisco de Terry Pratchett

Esqueça tudo o que você já ouviu sobre "Harry Potter" ou "Mundos de Magia" aonde Magos e Bruxas são levados à sério, estamos entrando em um mundo que possui o formato de um long-play, que é carregado por quatro elefantes que estão sobre uma tartaruga A'Tuin e essa é uma série onde realmente nada é o que se espera. O primeiro contato que tive com Terry Pratchett foi no livro "Good Omens" (traduzido no Brasil como "Belas Maldições") escrito em parceria com Neil Gaiman, fiquei então com as "antenas" (apesar de não ter isso) ligadas nesse escritor e comecei a ler a série de livro de "Mundodisco".



Mundodisco lida com um mundo de mágia, Magos, Cavaleiros, Heróis, Donzelas, andam neste mundo, e entre eles, Deuses, Duendes, Anões, Trols, Monstros Marinhos, e toda a sorte de coisas inclusive a "Morte" (em pessoa, ou melhor, em esqueleto), para se ter uma idéia da loucura tem o Grêmio dos Comerciantes, dos Mercadores e dos Assassinos. Pratchett deve ser lido com o máximo de cuidado, pois como o desenhista Sérgio Aragonés (conhecido pelos microdesenhos na MAD), ele sempre escreve nas entrelinhas, o mais cômico dos livros é quando um objeto ganha vida, como por exemplo uma mala (que possui várias perninhas e é fiel ao seu dono) ou um cajado (que possui um "ar" de cajado), no terceiro livro "Equal Rites" um mago tenta consolar um prédio de uma universidade pois está chovendo e ele está com medo (fico imaginando essa cena na minha mente).

Dizer que me diverti é muito pouco, curti cada segundo dos 32 livros (alguns já foram publicados aqui, mas cuidado, é preferível buscá-los pelo nome do autor do que pelo nome da série) até então publicados e fico ansiosamente aguardando uma nova história. Morro de pena que no Brasil não temos as coisas ao mesmo tempo que lá fora, já que além dos livros existem mais de 4 filmes desta hilária série e nenhum até hoje chegou aqui, quem sabe um dia.

sábado, 18 de setembro de 2010

Informática - Cartões de Referência

Na minha época de programador (a long time ago...) não dispensava de maneira alguma os "Cartões de Referência", ele "eram" extremamente úteis por conter de forma simplificada toda a informação que era necessária, abertos eles pareciam um grande mapa e fechados cabiam no seu bolso.

Como tudo na informática tem o seu período de evolução, atualmente, existe um novo modelo chamado de "Quick Reference Card" ou QuickStudy. QuickStudy é uma mistura entre um "Mapa Mental" e os "Cartões de Referência", e a ideia é colocar em 1, 2 ou 4 páginas (no tamanho de uma folha A4) o máximo de imagens, detalhes, descrições, fórmulas, ou seja, tudo que possa lhe ajudar a obter um conhecimento sobre "qualquer" assunto. Essa moda aqui no Brasil, com o nome de "Resumão", começou com o Vestibular e foi se expandindo até chegar em Concursos. Se você for a uma boa papelaria encontrará "Resumão" sobre Medicina, Engenharia, Veterinária, Advocacia, Línguas e até mesmo Informática.

No meu site http://fernandoans.site50.net/ (na seção de cartões), postei 2 QuickStudy sobre GIMP e APF, espero que seja úteis.

Abraços e até a próxima
Fernando Anselmo

quinta-feira, 16 de setembro de 2010

Informática - Férias? Não! Semana do Sufoco

É pessoal a informática tem dessas coisas, às vezes, depende do cargo que você está que férias começa a se tornar algo raro, e de vez em quando tem o que chamo de "Semana do Sufoco", sabe aquelas segundas que quando você repara já é sexta? E o pior fica tudo acumulado, normalmente se você está na faculdade é exatamente a semana de provas, se está dando aulas é a semana que ocorre um problema e você é encarregado para substituir alguém doente e por aí vai.

Enquanto estou vivendo meu "Umbral" (assista ao filme "Nosso Lar" que você irá entender), peço um pouco de paciência aos meus blogleitores, mas espero que isso logo logo normalize. Enquanto isso curtam o vídeo com a inauguração das fontes de Dubai: http://www.youtube.com/watch_popup?v=jD69C0y6_J0.

Notas de Quem Me Enviou: Esta é uma gravação da cerimônia de abertura da Fonte de Dubai.  Foi apelidado como o Show mais avançado tecnologicamente. A Fonte de Dubai custou E.U.$ 218 milhões. Jatos de água podem atingir até 50 andares de altura. Além disso, a fonte tem medidas de mais de dois campos de futebol (mais de 275 metros de comprimento).  É tão impressionante quando se está em plena exibição, que pode ser visto até 200 milhas em um dia claro.

[ ]´s
Fernando Anselmo
 
PS. Quem sabe minhas férias não será em Dubai...ai...ai

domingo, 12 de setembro de 2010

Literatura - The Graveyard Book de Neil Gaiman

Entre meus escritores favoritos Neil Gaiman com certeza ocupa um lugar de destaque, posso dizer que tenho com orgulho todos os seus livros e filmes publicados (e alguns raros). Conheci "The Graveyard Book" (publicado aqui no Brasil com o título "O Livro do Cemitério" pela Edt Rocco) no site do autor http://www.neilgaiman.com/ no qual sou um frequentador assíduo, e, em uma dessas visitas, minha maior surpresa, ninguém menos que o próprio Gaiman lendo o livro (COMPLETO) que tinha acabado de ser lançado, você ainda pode assistí-lo em http://www.mousecircus.com/videotour.aspx, fiquei imaginando se fizessem isso no Brasil, será que é por medo que ninguém vai querer com comprar o livro? Pois não apenas comprei a versão em inglês, como em português, coloquei o papel de parede no meu computador e continuo tão fã desse escritor Britânico como sempre fui.

O livro conta a história de um menino chamado "Nobody" que é quase assassinado, salvo por um fantasma e levado ao cemitério, adotado por um simpático casal (de fantasmas) Sr. e Sra. Owens, além de ser cuidado por um meio imortal chamado "Silas". No cemitério "Bod" (apelido do menino) faz amizade com todos os moradores do local sendo querido por todos enquanto o "Man Jack" (assassino de seus pais) continua a sua procura. Não poderia classificá-lo como um livro de terror, e isso nem passa perto, é apenas mais um livro que só o gênio de Neil Gaiman poderia criar.

Neil Gaiman era um roteirista de quadrinhos que um dia recebeu uma missão, dar uma nova vida ao herói "Sandman", ao invés de fazer isso ele propós uma roupagem completamente nova e criou os Perpétuos, são eles, Destiny, Death, Dream, Desire, Despair, Delirium que era chamada Delight, e Destruction (prefiro os nomes em inglês pois observa-se que todos começam com "D"). Gaiman não apenas teve sucesso com sua série, como elevou o mundo dos quadrinhos ao respeito do mundo literário, de lá para cá já é muita história, muitos livros, vários roteiros para TV e quatro filmes para o cinema (pena que Sandman nunca conseguiu ser filmado).

Abraços e até a próxima
Fernando Anselmo

quarta-feira, 8 de setembro de 2010

Informática - Gordinhos da Informática

OK, eu confesso, sou maluco por Mac Donalds. Pronto! falei, alias isso não é nenhuma novidade para quem convive comigo, se existe um Mac perto é lá que vou comer, e confesso que amo muito tudo isso. Mas afinal de contas o que é uma alimentação saudável?

Durante toda minha vida profissional, nunca fui um bom exemplo a ser seguido no horário de almoço. Entre caixas de BIS e Coca-Cola de 1,5 litros, entre coleções de Tartaruguinhas que vinham no Kinder Ovo e coleções de coisas que vinham no Mc Lanche Feliz, ali estava meu "saudável" almoço, isso sem contar em 250g de Amendoim com Chocolate ou na falta deste pacotes com 50 paçocas de rolha. Minha gaveta era cheia de balas, pirulitos e toda a sorte do que poderia se dizer "Nem um pouco Diet". Café? só se fosse no copo de 500 ml. Conto tudo isso com orgulho? Nenhum. A única coisa que consegui com isso foi uma pré-diabetes, um peso que chegou a 140Kg, muitas noites mal dormidas, e outras coisas que não quero mencionar neste blog. Quando fiz 40 anos percebi que muita coisa estava errada então resolvi cortar tudo (exceto os Mac), balinha agora só de menta e não ficam na gaveta, café reduzi o copo e tomo com adoçante e comecei a andar.

Espero que possa aproveitar esse vídeo com algumas dicas sobre nutrição em self-service:



Abraços e até a próxima
Fernando Anselmo

segunda-feira, 6 de setembro de 2010

Informática - Linguagem Assembly - Parte 3a

Nessa terceira parte, aprenderemos como utilizar a biblioteca "emu8086" para facilitar a programação, o comando de chamada desta é:

include 'emu8086.inc'

Nessa biblioteca as seguintes macros estão disponíveis:
  • PUTC char - mostrar o char em ASCII na posição atual do cursor.
  • GOTOXY col, row - colocar o cursor em um determinada posição.
  • PRINT string - mostrar a string na posição atual do cursor.
  • PRINTN string - mostrar a string na posição atual do cursor, e descer para a próxima linha
  • CURSOROFF - apagar o cursor.
  • CURSORON - ligar o cursor.
E as seguintes procedures:
  • PRINT_STRING - mostrar uma String na posição atual do cursor e receber o endereço da string em registro DS:SI registo. É necessário declarar: DEFINE_PRINT_STRING.
  • PTHIS - idêntica a PRINT_STRING, mas recebe o endereço da string de Stack. A string terminada em zero deve ser definida logo após a instrução CALL.
  • GET_STRING - obtém uma string de um usuário, a seqüência recebida é gravada no buffer DS:DI, com o tamanho do buffer alocado em DX. Procedimento encerra quando for digitado a tecla "Enter". É necessário declarar: DEFINE_GET_STRING.
  • CLEAR_SCREEN - Limpar a tela. É necessário declarar: DEFINE_CLEAR_SCREEN.
  • SCAN_NUM - Receber o número de dígitos SIGNED multi a partir do teclado e armazena o resultado no registrador CX. Para utilizá-la é necessário declarar: DEFINE_SCAN_NUM.
  • PRINT_NUM - Mostrar um número de registo, assinada em AX. É necessário declarar: DEFINE_PRINT_NUM e DEFINE_PRINT_NUM_UNS.
  • PRINT_NUM_UNS - Mostrar um número unsigned no registo AX. É necessário declarar: DEFINE_PRINT_NUM_UNS.
Utilizando esta biblioteca, podemos criar o seguinte programa (compare-o com os outros já criados) para mostrar a palavra "Hello!" na tela:

include emu8086.inc

ORG 100h
PRINT 'Ola Mundo'
END

Agora como exercício, proponho que você crie o programa para obter dados (que veremos na próxima publicação).

Abraços e até a próxima
Fernando Anselmo

domingo, 5 de setembro de 2010

Literatura - Clive Cussler

Permita-me hoje falar de um grande escritor, Clive Cussler que criou diversos livros sobre o Diretor de Projetos Especiais da NUMA, chamado Dirk Pitt. Dirk vive uma série de tramas que envolve, constantemente, a destruição em massa. A imaginação de Clive só é comparada ao fracasso que, infelizmente, atingiu dois de seus livros quando foram adaptados para o cinema: "Resgate do Titanic" (1980) e mais recentemente "Sahara" (2005).

Os 20 livros sobre Dirk Pitt são fantásticos pela história envolvente de sua vida ao longo de todos os livros, com seu grande amor Summer Moran, seus filhos Dirk e Summer e a Deputada Loren Smith com seus olhos violetas. Enfim, Cussler deu vida a um maravilhoso personagem que é um apaixonado pelo Mar, Antiguidades (sua coleção envolve Carros, Aviões e até mesmo um trem), sua ácida e hilária amizade com Al Giordino (seu parceiro inseparável de aventuras) e seus opalinos olhos verdes que deixam loucas todas as mulheres e intimidados os homens. Dirk é quase um James Bond Marinho. Eis a relação de seus livros:

The Mediterranean Caper (1973)

Iceberg (1975)
Raise the Titanic! (1976)
Vixen 03 (1978) - Aparece Loren Smith
Night Probe (1981)
Pacific Vortex (1983)
Deep Six (1984)
Cyclops (1986)
Treasure (1985)
Dragon (1990)
Sahara (1992)
Inca Gold (1994)
Choques Wave (1996)
Flood Tide (1997)
Atlantis Found (1999)
Valhalla Rising (2001) - Aparece Dirk Jr. and Summer
Trojan Odyssey (2003) - Dirk finalmente se casa e adivinha quem aparece na festa?
Black Wind (2004)
Treasure of Khan (2006)
Artic Drift (2008)

Estes são os 20 livros publicados, e em 16 Novembro de 2010 aguardo a prometida e nova aventura de Dirk, chamado "Crescent Dawn".

Algumas Curiosidades:
  • O nome do filho de Cussler é Dirk Cussler, e é co-autor de seus livros a partir de "Black Wind".
  • Em alguns dos livros aparece um personagem, que normalmente ajuda o herói, chamado Clive Cussler.
  • Assim como Dirk a paixão de Cussler é o Mar (sendo inclusive um arqueólogo marinho amador) e Carros Antigos.
  • Cussler ainda escreveu 8 livros sobre Kurt Austin (outro explorador da NUMA) e 7 livros sobre os arquivos Oregon, além de um livro infantil e alguns livros de não-ficção sobre o Mar.
  • Existe também um livro de referência de Dirk Pitt, chamado Clive Cussler and Dirk Pitt Revealed (1998).
  • Clive é o fundador da National Underwater and Marine Agency (NUMA), uma organização sem fins lucrativos sobre a exploração marítma.
Abraços e até a próxima
Fernando Anselmo

sábado, 4 de setembro de 2010

Informática - Lógica com Lógica

O melhor de escrever um livro é quando as pessoas fazem uma opnião sobre ele, seja esta boa ou ruim. No meu livro "Aplicando Lógica Orientada a Objetos" propus uma série de 100 exercícios para a prática e muitas pessoas reclamaram que não coloquei a resposta para que o resultado pudesse ser conferido. Minha resposta sempre a mesma: "não existe resposta correta ou resposta errada, se você faz o que o exercício pede então está certo, ninguém pode lhe dizer que sua lógica está errada". Lógica funciona assim, para que você praticar um pouco, peguei uma série de 5 exercícios de alguns livros:
  1. Maria e Manuel disputaram um jogo no qual são atribuídos 2 pontos por vitória e é retirado 1 ponto por derrota. Inicialmente cada um tinha 5 pontos. Se Manuel ganhou exatamente três partidas e Maria ficou no final com 10 pontos, quantas partidas eles disputaram?
  2. Em uma família há três mães, três filhas, duas avós, duas netas, uma bisavó e uma bisneta. Quantas pessoas compõem essa família?
  3. Robervaldo criava patos. Certo dia, um homem apareceu em sua fazenda e lhe ofereceu R$ 200 por pato e R$ 50 por ovo. No total, Robervaldo tinha 12 patos. Porém, dois deles eram de estimação, então ele resolveu não vendê-los. Os demais patos foram vendidos. Quantos reais ele obteve com essa venda?
  4. Se eu leio 5 páginas por dia de um livro, eu termino de ler 16 dias antes do que se eu estivesse lendo 3 páginas por dia. Quantas páginas tem o livro?
  5. Uma pessoa vai comprar um presente e leva R$1.200,00. Quando lhe perguntam quanto custou o presente ela disse: "Sobrou troco, mas não direi nem o troco nem o preço do presente. Digo apenas que o preço do presente, sendo lido ao contrário é o valor de 9 presentes.". Quanto custou o presente?
Abraços e até a próxima
Fernando Anselmo

quinta-feira, 2 de setembro de 2010

Informática - Perda do Equipamento

Faixas de pedestres, carros e motos é uma mistura que não combina. Ontem, infelizmente, eu era o cara da moto e resultado foi um ombro deslocado, um joelho ralado e o pior de tudo, um Notebook com tela rachada, desespero total. Muitas vezes sonhamos que nunca precisamos de um backup, se fosse calcular, somente este ano, quanta informação perdi, a conta seria assim:
  • No começo do ano um notebook formatado, um HD com 100 Gb perdidos
  • Um pen-driver sumido, mais 2 Gb perdidos.
  • Um desktop de casa trocado, mais 80 Gb perdido.
  • Saldo: uma vida inteira de dados que nunca mais vou ter.
Um notebook quando racha a tela seu primeiro pensamento é... (não posso dizer nesse blog), depois você respira fundo, medita, coloca um aroma de Sândalo para acalmar e começa a avaliar suas reais possibilidades. A primeira delas é arrumar um monitor novo para poder retirar os dados, no meu não existia um FN+F4, ou, qualquer tecla similar para transferir a imagem, por sorte ainda sobrou um quadradinho de 3x7 cm estava funcionando no canto superior, e minhas esperanças estavam nesse quadradinho. Tive que acessar o Windows XP, depois propriedades de vídeo, avançada e finalmente chegar no aplicativo que promovia a troca. Para meu alívio consegui, por volta das 23:58, ter a imagem do meu pré-falecido Note na tela, agora era transferir os dados. Segundo trabalho foi mais fácil, já que uso a maravilhosa tecnologia Wireless em casa, deste modo bastou uma pasta compartilhada para começar a transferência de mais de 200 Gb de informação salva e a promessa de mais uma vez começar um backup.

Como diria Murphy, um equipamento elétrico sempre dará problema e acontecerá quando não puder dar problema, então, nunca esqueça de atualizar seus backups. Atualmente, um DVD pode ser adquirido por R$ 0,60 e cada um guarda 4,33 Gb de informação preciosa, ou seja, com R$ 6,00 podemos preservar 43,30 Gb e isso irá demorar no máximo 30 minutos. Faça as contas e tente não sair perdendo.

Abraços e até a próxima
Fernando Anselmo