Internet: Cabos Submarinos

Varias vezes conversando com as pessoas, muitas delas com conhecimentos técnicos acima da média, sobre a Internet eu me surpreendi por elas não saberem que a maioria das transmissões de dados na internet, entre paises diferentes, se dá por cabos e não por satélites. Existem várias razões pra isso, entre elas a grande latência e os altos custos de enviar e manter um satélite no espaço.

Hoje, navegando pelo digg, eu encontrei o link para uma imagem que mostra os cabos submarinos que ligam os vários paises e continentes do mundo. Você pode conferir aqui.

Modelagem UML Genérica

Recebi do meu amigo Bruno, lá de Chapecó, essa excelente modelagem UML genérica que se aplica a qualquer aplicação. Agora você não precisa mais perder tempo fazendo a análise e design. É só seguir os diagramas abaixo e tudo ficará bem.

Diagrama de Classes

Diagrama de Classes

Diagrama de Sequência

Diagrama de Sequência

Diagrama de Casos de Uso

Diagrama de Casos de Uso

int pthread_join(pthread_t thread, void **value_ptr);

Ultimamente não tenho tido tempo para postar. To com um artigo sobre documentação usando DocBook, review sobre outro documentário do Dawkins e mais umas coisinhas menos importantes, mas não consigo achar tempo para postar. Estou atolado de serviço.

Dica: Corrigindo erro da user32.lib no CMake com NMake Makefiles

No CMake, quando se usa o gerador NMake Makefiles ele costuma dar o erro:

LINK : fatal error LNK1104: cannot open file 'user32.lib'
LINK Pass 1 failed.  with 2
NMAKE : fatal error U1077: '"C:\Arquivos de programas\CMake
2.6\bin\cmake.exe"' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Arquivos de programas\Microsoft Visual
Studio 8\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

Mesmo que você tenha o Microsoft Platform SDK, isso ocorre porque o linker não consegue encontrar a user32.lib. Para projetos que usam o gerador do Visual Studio você pode configurar isso seguindo as recomendações da configuração do SDK, mas para resolver este problema em projetos que usam a NMake, você precisa adicionar o path da user32.lib na variável de ambiente LIB. Você pode fazer isso na mão, após iniciar o prompt de comando do Visual Studio:

set LIB=%LIB%;"C:\Arquivos de programas\Microsoft Platform SDK\Lib"

Ou então adicionar o path nas variáveis de ambiente do sistema através da aba “Avançado” nas propriedades do sistema.

5 valiosos programas pra Windows

Eu sou um adepto confesso do Mac OS X e do Linux. Estes dois são, disparadamente, meus sistemas preferidos. Nutro, também uma grande estima pelo FreeBSDs, o qual usei por bastante tempo.

No meu dia a dia eu preciso usar diversos sistemas operacionais, variando desde o Linux, passando pelos caríssimos Unixes, até o mais comum deles: o Microsoft Windows. De todos estes eu considero o Windows um caso a parte, não por ele ser “melhor” ou “pior” que sistema A ou B, já que isto por si só tende a ser muito subjetivo, mas sim pelo grau de esforço necessário até que ele esteja pronto para o meu uso.  Não se engane, entretanto, pensando que eu me irrito ou me frusto com isso, muito pelo contrário: ruim seria se ele não me permitisse configura-lo. Então, este post é sobre dicas de alguns programas para Windows que eu gosto e que eu acho que vale a pena compartilhar:

Console: este aplicativo open source é uma versão melhorada do prompt de comando do Windows. Suporta tabs, transparência, inicializações em shells diferentes (ex: cygwin). De todos os programas listados aqui, este é o meu favorito.

Console alternativo para Windows

Notepad++: é um poderoso editor de textos, também com suporte a tabs, realce de sintaxe, regex, plugins e tudo mais que se espera de um bom editor de textos. E, o melhor de tudo: é open source.

WinSCP: é um cliente de FTP, SFTP e SCP, tem a possibilidade de salvar sessões, configurar editores para edição remota de arquivos (incluindo o Notepad++), configuração de bookmarks e muito mais. Ah, e também é software livre 🙂

TortoiseSVN: uma extensão gráfica ao explorer/shell que permite trabalhar com o subversion. É software livre assim como os outros citados acima.

ProxySwitcher: se você precisa ficar trocando de servidores proxy com frequência, este freeware vai ajudar a gerenciar isso. Ela troca a configuração de proxy de todo o sistema, deste jeito, quando você muda de uma rede para outra, não precisa re-configurar na mão.

Teria muitos outros pra citar, como o Cygwin, Mozilla Firefox, Putty e o Freemind. Mas de todos, os 5 acima são indispensáveis.

IDE online

Meu amigo Diego me passou a dica sobre o CodeIDE. Segundo ele, é um site onde pode executar códigos, suporta várias linguagens como Pascal, C++, Perl, JavaScript, HTML, e outras. Você digita o código, e mandar executar, já ve o resultado na página mesmo. O site também oferece suporte a chat e grupos, o que possibilita vc explicar o código para alguém, discutir sobre um código, etc, etc. Aqui tem um artigo sobre o site
http://blog.cidandrade.pro.br/technology/interface-online-para-ensino-de-programacao-codeide/

Eu achei o site uma grande mão na roda pra quando você quer mostrar alguma técnica ou explicar algo para alguém. Além disso, ele tem um recurso de realce de sintaxe (syntax highlight) que melhora a percepção do código.

Marie Curie

Marie Curie (pt) foi uma física e química franco-polonesa. Dotada de uma inteligência excepcional ela é uma das poucas pessoas que ganharam 2 prêmios Nobel em 2 áreas de atuação diferentes. Entre outras coisas a Madame Curie, como também é conhecida, foi responsável pela descoberta do Polônio e do Radio (ambos em 1898). Além disso, ela abriu mão de patentear o processo de isolação do Radio, o que permitiu que a comunidade científica continuasse suas pesquisas sem maiores obstáculos.

Madame Curie

Pode-se dizer que ela dedicou sua vida a ciência, já que há indícios de que sua morte por anêmia aplástica (na Wikipedia em português cita-se Leucemia como causa mortis, mas eu considero a Wikipedia em Inglês como uma fonte mais confiável). em 1934, se deve a exposição excessiva a radiação.

A Marie, uma pessoa perseverante, ultrapassou várias barreiras em sua vida para chegar aonde chegou. Algumas por ser mulher, no começo do século, outras por ser uma estrangeira em território Francês.

A ela é atribuída uma das frases que eu mais gosto e que acredito ser verdadeira e atemporal:

Life is not easy for any of us. But what of that? We must have perseverance and above all confidence in ourselves. We must believe that we are gifted for something, and that this thing, at whatever cost, must be attained.”Marie Curie

(Trad. livre: A vida não é fácil para nenhum de nós. Mas e daí? Nós temos que ter perseverança e acima de tudo confiança em nós mesmos. Nós devemos acreditar que nós somos “abençoados” por alguma “razão”, e que essa coisa, a qualquer custo, deve ser alcançada).

Dica: sobre a conversão de vídeos pro Nokia 5310

Conforme eu falei no tópico abaixo da sugestão de programa para Mac OS X, o MPEG StreamClip permite converter arquivos de vídeo para o Nokia 5310 Xpress Music. Note porém que este celular tem requisitos específicos para o formato de vídeo, conforme específicado aqui. Em todo caso, para o MPEG StreamClip e para evitar experimentações eu recomendo usar H.264 com tamanho de vídeo 174×144 a 15fps confome mostra a imagem abaixo.

Configuração do mpeg stream clip