W3log de Tiago Charters de Azevedo (Comentários para: tca@diale.org)
# | 2008-05-31
A língua escrita e a língua falada são dois sistemas de sinais distintos; a única razão de ser da segunda é representar a primeira; o objecto linguístico não é definido pela combinação da palavra escrita e da palavra pronunciada, esta última constitui, por si só, esse objecto. Mas a palavra escrita mistura-se tão intensamente com a palavra pronunciada de que é a imagem que acaba por usurpar o papel principal.
# | 2008-05-24
If a web browser is defective, causing errors in the display or performance of the page, should the page developer struggle to hide the browser's defects, or should the defects be revealed in hope of creating market pressure to force the browser maker to make good? By which approach is humanity better served? — Douglas Crockford
# | 2008-05-23
Ora aqui está um exemplo engraçado (alterações óbvias para outra função).
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
Método do Ponto fixo
<script type="text/javascript">
var x=new Array();
x[0]=0.5;
for (i=1;i<10;i++)
{
x[i]=Math.cos(x[i-1]);
document.write("<pre>"+x[i]+"</pre>");
}
</script>
</body>
</html>
# | 2008-05-21
Estas redes sociais, como qualquer outra, são viciantes. Mais uma coisa para se perder tempo a ler e a fazer. Esta, no entanto, é pela suas características (http://www.twitter.com) uma das mais rápidas, funcionais e apelativas. Acho que não via nada tão promissor desde o aparecimento do Blogger...
# | 2008-05-21
Que linguagem usar para explicar um pensamento. Existem três escolhas óbvias: a linguagem natural, como a portuguesa; a matemática; ou uma linguagem de programação.
A linguagem natural é, pode ser, imprecisa ou ambígua, e por vezes com alguma descessaria verborreia se perde o que se queria explicar inicialmente. É uma virtude do uso da linguagem pela qual nos entendemos.
A linguagem matemática é, em certa medida, oposta da linguagem natural; permite expressar ideias formais poderosas usando poucos recursos. No entanto a linguagem matemática é muitas vezes críptica e pouco acessível para leigos sem formação específica.
A junção entre a matemática e a tecnologia fornece a terceira escolha, a escolha ideal: uma linguagem de programação. Esta partilha com a matemática a possibilidade de expressão de conceitos formais e abstractos, e com a tecnologia a vantagem do imediato, do directamente concretizado (estou a pensar no termo em inglês evaluated). O seu comportamento pode ser observado, modificado e os seus resultados e modificações logo experiênciados1.
Notas:
1. Este parágrafo alterado pode servir, serve, para fundamentar a escolha de software livre sobre qualquer outro formato.
# | 2008-05-18
A ler: Disconnecting distraction, por Paul Graham
Something that used to be safe, using the Internet, gradually became more and more dangerous. Some days I'd wake up, get a cup of tea and check the news, then check email, then check the news again, then answer a few emails, then suddenly notice it was almost lunchtime and I hadn't gotten any real work done. And this started to happen more and more often.
— Paul Graham
# | 2008-05-14
Depois de muitas tentativas aqui fica o ficheiro de configuração para o
/etc/wpa_supplicant,conf:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="eduroam"
key_mgmt=WPA-EAP
eap=TTLS
identity="user"
password="password"
ca_cert="caminho para certificados"
phase2="auth=PAP"
eapol_flags=3
}
A minha satsifação tem simplesmente haver com o facto de isto não ser possível à uns meses atrás.
Notas:
# | 2008-05-11
Tenho várias alternativas:
Esta última parece ser a mais razoável, há alguns na rede! Notícias para breve1.
Notas:
1. Se algum leitor destas linhas tiver a solução da primeira, mande-me um email, sff.
# | 2008-05-11
Ainda no seguimento da entrada anterior exponho o que tenho idealizado.
A ideia seria organizar um conjunto de textos através de umas tags. Estas poderiam ser impostas ou retiradas/geradas através de um algoritmo tipo Porter, gerando as raízes e organizando a informação. Ao utilizador/leitor final pedir-se-ia que escolhesse quais as tags que gostaria de ver e qual o formato pelas quais quereria consulta-las1.
Também poderia organizar a informação que desejaria ler através de uma pesquisa de um conjunto de palavras (acho que o Google já faz isso) com a possibilidade de adicionar tags ou mais palavras de pesquisa2.
Notas
1. O detalhe técnico é que não faço a mínima ideia como se faz isso nas linguagens usualmente utilizadas, i. e., PHP (para correr isto num servidor web). Posso usar JavaScript mas nem isso me apetece. Volto à minha vontade inicial: como correr Lisp num servidor web?
2. Já tenho uma ideia como fazer isto... em Lisp claro! What else!
# | 2008-05-11
Já mais do que uma vez andei às voltas com isto. Qual a melhor forma para um página web? Claro que as respostas dependem sempre da função para a qual a coisa é desenhada. Seja um site de notícias, página pessoal, venda de produtos, etc. Pouco falta para se começar a não distinguir cada uma destas coisas, todos passaremos a vender, dizer e a disponibilizar qualquer coisa, sob variados formados, localmente ou remotamente através de outros.
Uma das abordagens mais originais é, por exemplo, a forma como o Google news funciona (encontrar o artigo original do developer; tem o nome de uma ilha indonésia...) A forma, o número, os conteúdos, são controlados pelos utilizadores/editores, que através das suas escolhas, controlam todos os atributos do que vêm.
# | 2008-05-11
Aprender a programar em Lisp é como conduzir um carro de luxo, depois disso quer-se sempre voltar a conduzi-lo e qualquer outra linguagem de programação parece sempre um carocha.
# | 2008-05-10
JavaScript: The World's Most Misunderstood Programming Language
JavaScript has much in common with Scheme. It is a dynamic language. It has a flexible datatype (arrays) that can easily simulate s-expressions. And most importantly, functions are lambdas.
Pay particular attention to The Applicative Order Y Combinator, one of the most strange and wonderful artifacts of Computer Science.
function Y(le) {
return function (f) {
return f(f);
}(function (f) {
return le(function (x) {
return f(f)(x);
});
});
}
Notas:
# | 2008-05-10
A construção de um arquivo de software para o ensino da matemática passaria pela construção de um site com as características, por exemplo, do arxiv.org (http://arxiv.org)
Que tipo de software estaria elegível?
Quais as principais características?
Licença de copyright
Cada submissão deveria conter obrigatoriamente os seguintes campos (de modo assegurar a qualidade científica e pedagógica)
O que estava a pensar seria algo simples, mais simples do que parece...
O sistema de endorsement permite controlar quem põe o quê de modo a garantir, dentro do possível, a qualidade cientifica e pedagógica dos códigos. Acho que um sistema de tags, tipo del.icio.us, seria o mais eficaz, no entanto as tags estariam pré-definidas de modo a garantir um certa coerência geral na indexação. Para evitar a o excesso de pdf's nos manuais, que seriam obrigatórios, poder-se-ia implementar apenas uma descrição em ascii com as equações em $\LaTeX{}$, e usar o MathMl.js (http://www1.chapman.edu/~jipsen/mathml/asciimath.html) para mostrar as equações.
# | 2008-05-07
Ando outra vez com isto na cabeça, e outra vez.
Apesar da expressão
.
não resultar, não tem em conta efeitos de memória, ou persistência do fenómeno, acho que ainda poderá dar qualquer coisa.
# | 2008-05-07
Como passar daqui
para a PDE?
O cálculo é engenhoso.
Multiplicando por 
Tomando o limite
e somando em
vem
# | 2008-05-05
A plataforma de Stewart é um manipulador paralelo (um octaedro) usado na construção de simuladores de voo (entre outras aplicações).
![]() |
| Plataforma de Stewart. Note-se a orientação e posição da plataforma superior relativamente à inferior (uma rotação e redução). |
Do ponto de vista matemático, podemos formular
dois problemas. O primeiro chamado de problema directo é formulado da seguinte
maneira: dados os comprimentos de cada perna
determinar a posição da plataforma superior (posição e ângulos de Euler)
O segundo, chamado de problema inverso, é, dada posição e os ângulos
determinar os comprimentos das pernas
.
Este último, o problema inverso, é, por estranho que pareça, mais fácil de resolver.
O estudo deste tipo de estruturas remonta a Cauchy1 e no entanto continua a ser objecto de estudos recentes.
Conceptualmente o estudo é simples mas computacionalmente muito difícil, determinação dos domínios onde as funções definidas por
são invertíveis.
Notas;
1. Cauchy, Sur les polygnes et les polyedres, J. Ecole Polytechnique, XVI, Tome IX:87, 1813
# | 2008-05-05
# | 2008-05-03
Já à dois meses me debati com isto. O problema está em explicar que
Ou seja a probabilidade de um verbo passar de irregular a regular é proporcional ao inverso da raiz quadrada da sua frequência de uso1.the half-life of an irregular verb scales as the square root of its usage frequency...
Tenho agora uma explicação simples, ao contrário da outra.
Vou definir que um verbo é regular (irregular) num dado instante se das
ocorrências desse verbo, metade + uma são conjugações regulares (irregulares)2.
Dado
ocorrências de um verbo irregular (vou admitir que
este número é ímpar por simplicidade, no entanto o mesmo argumento vale se for
par) a probabilidade deste verbo se tornar regular no instante seguinte é
simplesmente data pela probabilidade de
dessas ocorrências
serem conjugações regulares e a outra metade conjugações irregulares. Essa
probabilidade é dada por
onde a última igualdade se obtém usando a aproximação de Stirling.
E para um número de ocorrências suficientemente grande obtém-se a expressão desejada
Será esta a explicação do fenómeno da regularização dos verbos?
Notas:
1. Erez Lieberman, Jean-Baptiste Michel, Joe Jackson, Tina Tang & Martin A. Nowak Quantifying the evolutionary dynamics of language, Nature 449, 713-716 (11 October 2007)
2. Isto pode parecer confuso mas a verdade é que um verbo não passa instantaneamente de irregular para regular, coexiste nas duas formas durante algum tempo, podendo ainda transitar de uma para outra até a sua (i)regularização estabilizar.
# | 2008-05-02
Há muito tempo que andava a desejar experimentar o GNUS.
Desejo satisfeito.
Aqui ficam alguns detalhes de configuração1
(setq mail-sources
'((file)
(pop :server "pop.server.name" :user "tca" :password "****")
(pop :server "pop.server.name" :port 995 :user "tca" :password "****" )))
(setq smtpmail-default-smtp-server "localhost"
smtpmail-smtp-server smtpmail-default-smtp-server
smtpmail-smtp-service 2025
smtpmail-local-domain nil
user-mail-address "meuemail@mail.pt"))
Claro que o envio através de um SMTP local não funciona quando se está atrás de
uma firewall restrictiva. Para isso configura-se o
ssh 2 (ver ficheiro ~/.ssh/config)
## SMTP Tunnel Host mail-tunnel HostName host.name User tca LocalForward 2025 host.name:25 KeepAlive yese depois correr o comando
ssh -N -f -q mail-tunnelantes de enviar o primeiro email (a ligação manter-se-á activa durante bastante tempo).
E está pronto para todo o serviço.
Há mais um detalhe para o envio de emails (auto-explicativo)
(setq gnus-gcc-externalize-attachments t)
Alguns links:
Notas:
1. A esta configuração faz-se:
tca --> user *** --> password pop.server.name --> servidor pop host.name --> máquina de uma conta exterior
2. Para uma máquina com sistema operativo GNU/Linux - Debian.
# | 2008-05-01
Um dos exemplos que gosto de dar aos alunos que frequentam a disciplina de métodos numéricos é aquele que mostra a "velocidade", ou rapidez, de convergência de diferentes sucessões para um mesmo limite.
Considere-se as sucessões
e
É fácil ver que ambas tendem para 2. A pergunta é: qual das duas converge mais depressa?
Uma pequena experiência em Octave esclarece todas as dúvidas.
> n=10; > x(1)=1;for i=1:n;x(i+1)=x(i)/2+2/x(i);endfor; > y(1)=1;for i=1:n;y(i+1)=y(i)/2+1;endfor; > [x' y'] ans = 1.0000 1.0000 2.5000 1.5000 2.0500 1.7500 2.0006 1.8750 2.0000 1.9375 2.0000 1.9688 2.0000 1.9844 2.0000 1.9922 2.0000 1.9961 2.0000 1.9980 2.0000 1.9990
1999-2008 (c) Tiago Charters de Azevedo São permitidas cópias textuais parciais/integrais em qualquer meio com/sem alterações desde que se mantenha este aviso.