Porque programo em inglês

Em destaque

Não foi sempre assim, mas hoje em dia escolho as minhas variáveis, funções, classes e até mesmo comentários em inglês.

Já me disseram na Universidade que se estamos em Portugal, falemos português. Pois, mas as linguagens de programação que uso estão escritas em inglês, e até considero mais profissional por questões de internacionalização.

Há vários benefícios.

Continuar a ler

2012 e o fim do mundo

Em destaque

O ano 2012 tem sido alvo de muita atenção nos últimos tempos devido ao calendário Maia. Em suma, o calendário Long Count—usado para registar eventos num longo período de tempo—, começou a sua contagem em 3113 A.E.C, e tem a duração de 5125 anos, terminando em 2012. Devido a isso, o ano 2012 tem sido publicitado por muitos como o fim do mundo. Uns gozam com isso, quando outros, olhando para os dias que correm, abraçam essa possibilidade e cedem ao medo do futuro. Mas há uma terceira perspectiva.

Continuar a ler

Falácias Lógicas

Link

A logical fallacy is usually what has happened when someone is wrong about something. It’s a flaw in reasoning. They’re like tricks or illusions of thought, and they’re often very sneakily used by politicians and the media to fool people.

Thou shalt not commit logical fallacies é um site onde podemos consultar os variados tipos de falácias lógicas na nossa argumentação. Cada falácia tem uma página dedicada, que podemos usar para remeter a alguém que achamos ter cometido uma falácia lógica.

Semáforos no MacOSX

Eu tenho andado a experimentar programação concorrente em C. Fiz forks de processos e criação de threads com trincos (mutex) no Mac (Darwin), mas os semáforos com contador estavam a dar resultados inesperados. Aparentemente o sem_wait() não surtia efeito.

Acabei então por descobrir que o Mac não implementa semáforos baseados em memória (sem_init() e sem_destroy()), apenas semáforos com nome (sem_open() e sem_close()). Também reparei que a função sem_getvalue() não está implementada (é opcional em POSIX).

Continuar a ler

Calculando o tamanho de uma amostra

Esta semana estive a ajudar a minha companheira a calcular o tamanho para uma amostra que ela precisa para um trabalho de investigação que está a fazer.

Este post refere-se a um estudo de um parâmetro populacional de proporção, com distribuição binomial (que será aproximado com uma distribuição normal porque n > 30). Por outras palavras, e como exemplo, aquilo que se está a tentar estudar, é uma certa percentagem de pessoas que têm ou não algo (dois resultados possíveis).

Fica aqui registado as fórmulas para referência posterior.

Continuar a ler

invT() na TI-83

Função invNorm na TI-83 A TI-83 tem uma função invNorm() que podemos usar em probabilidades para calcular o valor Z da v.a. Normal Padrão abaixo de um dado valor, mas não tem também a invT() para o inverso da probabilidade bi-caudal da distribuição t de Student.

Para compensar, podemos criar um programa para calcular esse valor.

PROGRAM:INVT
:Input "AREA ESQ: ", A
:Input "GRAU LIB: ", G
:1 → S
:If A < 0.5
:Then
:-1 → S
:End
:abs(2*A-1) → A
:TInterval 0,√(G+1),(G+1), A
:Disp upper*S
:

Continuar a ler

Corte de Polígonos

Acabei de publicar um algoritmo que implementei em Python o ano passado, sobre corte de polígonos para a cadeira de Computação Gráfica, com OpenGL. Lembro-me na altura de ter encontrado poucos exemplos, e era uma pena este código estar arrumado. A entrega foi feita em Java, portanto fiz nas duas linguagens, mas gosto muito mais do resultado (código) em Python.

Continuar a ler

Sent from my iPhone

Nem sempre estou ao computador, especialmente hoje em dia que vou à Universidade e estou entre aulas. No entanto, tento estar contactável o mais que possível para dar resposta rápida a clientes ou colegas de trabalho.

Eu tenho um iPhone e um iPad, que me ajudam a ser produtivo e estar sempre ligado, em qualquer lado (graças ao 3G). Em ambos, decidi não mudar a assinatura que vem por defeito com estes aparelhos ao enviar emails, na intenção de que o destinatário da minha mensagem perceba que não estou no meu computador, e que posso não ter o que preciso para solucionar certos problemas, mas que dou importância o suficiente para responder com rapidez.

Tenho colegas de trabalho que gozam com isso e respondem com um Sent from my Linux, por exemplo, mas eu vou continuar sem mudar a assinatura porque ajuda quando um cliente me responde por vezes com um Sent from my Blackberry e eu compreendo que essa pessoa está móvel e está em capacidades limitadas, enquanto recebo o benefício de uma resposta rápida.