comp coop 10

19/07/2009

Media Center, o cinema em sua casa… ou não

Filed under: mac, media center, programas — Tags:, , , , , — Russo @ 8:58 am

ZumbiIconpor Eduardo Russo

Meus pais, pessoas maravilhosas, que evoluíram com o tempo e usam computadores cotidianamente, aceitaram minha sugestão de transformar seus mais de 1600 CDs de música e 1200 DVDs em arquivos digitais. Com isso, terão acesso fácil e rápido a qualquer mídia digital em qualquer lugar da casa.

Tudo ótimo, lindo e maravilhoso, mas a tarefa de montar toda a brincadeira ficou para mim, consultor oficial de tecnologia da família.

Resolvi então testar alguns media centers disponíveis para Mac (se você usa Linux ou Windows e está procurando um comparativo e opiniões, meu programa escolhido também roda em Linux e Windows). Desses, vou falar mais detalhadamente dos que mais gostei. (more…)

17/07/2009

Duas funções do Dock que a Apple escondeu das preferências

Filed under: mac, programas, tutorial — Tags:, , , — Russo @ 8:25 am

ZumbiIconpor Eduardo Russo

Uma das grandes cartas na manga do OS X é o fato de ser baseado em Unix. Já vi muito usuário de Linux migrar para o OS X e se sentir extremamente confortável exatamente por causa desse aplicativo.

Com o Terminal você consegue fazer coisas que nem sempre são possíveis pela interface gráfica. Seguem duas dessas coisas que podem ser feitas com o Dock. (more…)

16/07/2009

Python

Filed under: programação, python — helionagamachi @ 10:12 pm

Boa tarde. Eu e o Barbolo estávamos pensando em organizar uma aula de python para quem ainda não conhece….

Mas….  Fazemos (Vivemos na) POLI e tempo é um artigo raro.

Resumindo, vou passar o que sei via o blog da sala, quem conseguir um tempo pra acompanhar pode tentar aprender um pouco, quem não tiver tempo mas ainda quer aprender, o post vai ficar registrado e mais tarde pode ser lido.

Não vou dar aula de história de python, se quiserem informações desse tipo procurem no google, wikipedia.

Primeiro passo:

Instalar um interpretador python.

eu uso a distribuição que pode ser encontrada em : Active Python ( eu aprendi python com essa distribuição, também consigo ter mais de uma versão dos interpretadores python instalados na minha máquina ao mesmo tempo ),ou pegue a distribuição do site oficial mesmo. Eu testei um pouco a oficial, aparentemente há uma função de debug.

Agora há algo importante, é sobre versões do python…

Atualmente há as versões 2.x e 3.x ( chamada por alguns de pyhton 3k ).

As da versão 3.0 pra frente mudaram coisas e a própria linguagem sofreu mudanças na sintaxe sendo assim vários programas das versões 2.x são incompatíveis com os interpretadores 3.x.

Após instalar o python abra o interpretador, usando um atalho, digitando python no cmd ou digitando python no slickrun. Como você quiser…

Uma tela preta parecida com um terminal deve aparecer.

Console

Bom, no console do interpretador python você pode literalmente programar nele, muito bom para ver o que acontece na hora, o que uma função faz , retorna, sem ter que escrever um arquivo .py e depois executá-lo….

Começando com o infame Hello World

Digite:print ‘Hello World’

Obs: Em python 3k teríamos que usar : print(‘Hello World’)

A frase Hello world deve aparecer na linha seguinte, o efeito seria o mesmo se você digitasse isso em um arquivo do tipo py ( sim o programa escrito em py irá fechar praticamente instantaneamente se aberto por duplo clique, abra o programa pelo cmd para ver sua saída, digitando o nome do programa )

Bom, agora vamos a declaração de variáveis, escolha um nome qualquer( regras do tipo não escolher nome como uma palavra reservada se aplicam! Você até pode colocar o nome de uma função como nome de variável, mas isso não vai ser muito legal…  ) , seguido de um = e a variável que você quer guardar, pronto.

Exemplo:

>>>a = 7

>>>b = 6

Criamos duas variáveis, a e b que contém os inteiros  7 e 6.

Se quisermos ver o valor delas, no console, basta digitar o nome delas, isso é equivalente a dar um print nelas…

>>>a

7

>>>b

6

Se fizermos a + b…

>>> a + b

13

O resultado irá aparecer na linha seguinte, podemos guardar o resultado fazendo:

>>> c = a + b

>>> c

13

>>> c**a

62748517

>>> 10**3

1000

obs: ** é o elevado à, no caso temos 13 elevado à 7

Usando o interpretador como calculadora =P

Usando o interpretador como calculadora =P

Sim, não é necessário dizer qual é o tipo de variável que você quer, o python vai se encarregar de descobrir  que tipo de varíavel é e agir de acordo.

Agora vamos à primeira função em python.

>>> def    funcao(frase, inteiro):

…<tab>contador = 0

…<tab>while contador < inteiro :

…<tab><tab>print frase

…<tab><tab>contador = contador + 1

…<tab>print ‘fim do laco’

>>>

Onde eu escrevi “<tab>” dê um tab para que o código fique indentado de acordo ( acho melhor do que ficar pressionando espaço 4 vezes para cada nível de indentação, como alguns fazem…. )

Agora uma pausa… não temos nenhum “{” ou “}” nesse código, então como o python sabe onde é código da função , do laço ?

Simples, pela indentação.

Assim que se define uma função se espera pelo menos uma linha indentada com código. quando aparecer a próxima linha em que não há indentação , entende -se que acabou a função. Para o while , if e afins o mesmo vale o código que estiver imediatamente abaixo deles e indentado um nível em relação a eles pertencem ao seu bloco, quando surgir uma linha que está no mesmo nível de indentação que eles, isso marca o fim para eles.

Voltando à nossa função, podemos chamá – la agora…

>>> funcao(‘Teste da funcao’, 7)

Teste da funcao

Teste da funcao

Teste da funcao

Teste da funcao

Teste da funcao

Teste da funcao

Teste da funcao

fim do laco

>>>

Definição e chamada de uma função no console

Definição e chamada de uma função no console

Bom, mais alguns tipos de dados:

True -> boleano verdadeiro

False -> boleano falso

‘alguma coisa’ -> colocando caracteres dentro de aspas simples temos uma string, use + para ter como retorno a concatenação de duas strings.

>>> string1 = ‘Uma frase’

>>> string2 = ‘ mais completa’

>>> string3 =string1 + string2

>>> string3

‘Uma frase mais completa’

4.0 -> float de valor 4.0, se você fizer uma operação de um inteiro com um float , o resultado será float também.

Python converte automaticamente hexa, binário , octal em decimal, tanto que :

>>> 0x10

16

>>>0o10

8

>>>0b1010

10

Para a conversão de uma string, usamos a função int() , deve ter como argumento a string, e há um segundo argumento opcional para a base. Se não houver informação da base, assume-se que seja base 10

Conversão de números...

Conversão de números...

há o if e else no python, adicionalmente , se você quiser testar uma outra condição no else, use : elfi é equivalte ao else if que se usa em outras linguagens….

em python para  a entrada de dados do usuário usamos a função : raw_input ( em python 3k , é apenas input), como parametro opcional, podemos colocar uma string que será mostrada ao usuário antes dele digitar a entrada.

Bom, definindo mais uma função de exemplo, tentando mostrar mais um pouco sobre o detalhe de indentação…

>>> def ultima(frasefinal):
…<tab>continua = True
…<tab>while continua:
…<tab><tab>dado = raw_input(‘Digite um numero \n’)
…<tab><tab>numero = int(dado)
…<tab><tab>if numero % 7 == 0:
…<tab><tab><tab>print ‘O numero eh um multiplo de 7.’
…<tab><tab>elif numero % 6 == 0:
…<tab><tab><tab>print ‘O numero eh um multiplo de 6’
…<tab><tab>else:
…<tab><tab><tab>print ‘cansei de comparar….’
…<tab><tab>dado = raw_input(‘Devo continuar ? \n 1-nao\n’)
…<tab><tab>numero = int(dado)
…<tab><tab>if numero == 1:
…<tab><tab><tab>continua = False
…<tab><tab>else:
…<tab><tab><tab>multiplode7 = numero % 7 ==0
…<tab><tab><tab>maiorque7 = numero > 7
…<tab><tab><tab>if multiplode7 and maiorque7:
…<tab><tab><tab><tab>print ‘maior que 7 e multiplo’
…<tab><tab><tab>elif multiplode7:
…<tab><tab><tab><tab>print ‘multiplo de 7’
…<tab><tab><tab>elif maiorque7:
…<tab><tab><tab><tab>print ‘maior que 7′
…<tab><tab><tab>else:
…<tab><tab><tab><tab>print’caiu no else.’
…<tab>print frasefinal

>>>

Segunda e última função de hoje

Segunda e última função de hoje

Coloquei código da função aqui.

No próximo post, explico como fazer para abrir arquivos e outras coisas…

エリオ

08/07/2009

Tutorial definitivo para recompilar o Minix 3

Filed under: disciplina, tutorial — Tags:, — Russo @ 5:56 pm

ZumbiIcon

por Eduardo Russo

Depois de MUITO apanhar com recompilações e mais recompilações do Minix, com resultados alternados de funcionamento, testes e mais testes com VirtualBox, VMware Fusion (que insiste em dar um kernel panic no Mac OSX cada vez que dou um boot no Minix), Parallels Desktop e Q (versão do QEMU pro OSX), consegui entender o que acontece e como fazer uma compilação do kernel funcionar corretamente! (more…)

Blog no WordPress.com.