-
Joke with versions of the “haskell hello-world”: Factorial function….
Entradas do Setembro 2006
links for 2006-09-30
Setembro 30, 2006 · 1 Comentário
Categorias: links
Implementando uma pilha simples em Ruby
Setembro 29, 2006 · 7 Comentários
Há algumas semanas eu estava lendo um artigo sobre Máquinas de Minsky e o autor comentava sobre como implementar uma pilha (de inteiros) simples com alguns registradores. A idéia principal é usar o fato de que a multiplicação/divisão binária por 2^n desloca o valor do registrador exatamente n bits. Por exemplo, ao multiplicar um número por 4 (2^2), você está deslocando seus bits 2 “casas” na direção mais significativa (mais “alta”). Dividindo por 8 (2^3), os bits são deslocados na posição oposta 3 “casas”.
Partindo desse princípio, fica fácil implementar a pilha. Um registrador seria usado para armazenar a pilha e outro para a multiplicação/divisão. Para empilhar um número basta multiplicar o valor atual da pilha pela potência de dois correspondente ao número de bits que queremos armazenar e então somamos nosso valor.
Exemplo: Empilhar o valor 6 (1010)
Pilha atual (bit mais significativo à esquerda): 111001
Após multiplicação (por 2^4): 1110010000
Após soma: 1110011010
Para recuperar o topo da pilha, basta aplicar a operação “módulo” à pilha e à potência de 2 usada. Para retirar um valor, basta dividir pela mesma potência.
Código em ruby:
class SimpleStack
def initialize(bits = 2)
@stack = 0
@size = 2**bits
end
def push(x)
@stack *= @size
@stack += x
end
def top
@stack % @size
end
def pop
result = top
@stack /= @size
result
end
end
PS: De alguma forma o editor do wp.com não está indentando nem reconhecendo linhas em branco na tag “<code>”…
Categorias: programação · ruby
links for 2006-09-28
Setembro 28, 2006 · Deixe um comentário
-
Most people have no idea how much hard work and time it takes to create a new business.
Categorias: links
links for 2006-09-26
Setembro 26, 2006 · Deixe um comentário
-
Parallax’s Basic Stamp is the mainstay for hobbyists wanting to add intelligence to everyday devices. A new system called Arduino provides the benefits of the Basic Stamp at a greatly reduced cost, increased speed, and is entirely open-source.
Categorias: links
links for 2006-09-25
Setembro 25, 2006 · Deixe um comentário
-
“…a relatively simple script that wraps the GDB console, using popen to communicate with it from Ruby. It lets you do some fun stuff, but it’s still kind of fragile”
Categorias: links
links for 2006-09-23
Setembro 23, 2006 · Deixe um comentário
-
“MT15 is a (mostly) transistorised CPU.”
Categorias: links
links for 2006-09-22
Setembro 22, 2006 · Deixe um comentário
-
I thought I’d pass on 17 things that I’ve learned over the past years, listed in really no particular order of importance:
-
According to A Pattern Language: Towns, Building Construction, you’ll be comfortable in your workspace when:
-
I am a huge fan of simple living and of the do-it-yourself ethic. It’s no surprise then that I am fascinated by homesteading, the lifestyle of “agrarian self-sufficiency”. This article was written for Get Rich Slowly by Phelan, host of A Homesteadin
Categorias: links
Tradução do WordPress
Setembro 22, 2006 · Deixe um comentário
Alguns erros que encontrei na tradução (voluntária) para português do Brasil do WordPress.com:
- Post “salvado”
- Traduções de tags html (ex: <forte></forte>)
- Na string original (F_Friday_Initial), a tradução deveria ser apenas S_Friday_Initial (Ok, esse é complicado de adivinhar…)
Voluntários, se apresentem! Desde ontem tô passando cerca de 15 a 20 minutos traduzindo… =)
Categorias: internet
Gripe / Resfriado
Setembro 22, 2006 · Deixe um comentário
Desde ontem pela manhã: a garganta muito inflamada, corpo dolorido, dor de cabeça, etc.
Categorias: pessoal



