Thursday, December 27, 2012

A Riqueza das Nações

"Todo homem é rico ou pobre, de acordo com o grau em que consegue desfrutar das coisas necessárias, das coisas convenientes e dos prazeres da vida. Todavia, uma vez implantada plenamente a divisão do trabalho, são muito poucas as necessidades que o homem consegue atender com o produto de seu próprio trabalho. A maior parte delas deverá ser atendida com o produto do trabalho de outros, e o homem será então rico ou pobre, conforme a quantidade de serviço alheio que está em condições de encomendar ou comprar. Portanto, o valor de qualquer mercadoria, para a pessoa que a possui, mas não tenciona usá-la ou consumi-la ela própria, senão trocá-la por outros bens, é igual à quantidade de trabalho que essa mercadoria lhe dá condições de comprar ou comandar. Consequentemente, o trabalho é a medida real do valor de troca de todas as mercadorias."

Adam Smith




Wednesday, December 26, 2012

Síntese de A Estrutura das Revoluções Científicas, de Thomas Kuhn

Silvio Seno Chibeni
Departamento de Filosofia, Unicamp

Apresenta-se aqui uma síntese de alguns dos tópicos importantes do livro de Thomas Kuhn, The Structure of Scientific Revolutions, cuja primeira edição apareceu em 1962. Essa síntese não visa, evidentemente, a substituir a leitura do próprio livro, tendo caráter meramente didático e introdutório.

Kuhn começou sua carreira acadêmica como físico teórico, interessando-se depois por história da ciência. Ao longo das importantes investigações que empreendeu acerca das teorias científicas passadas, realizadas segundo uma nova perspectiva historiográfica, que procura compreender uma teoria a partir do contexto de sua época, e não do ponto de vista da ciência de hoje, Kuhn se deu conta de que a concepção de ciência tradicional não se ajustava ao modo pelo qual a ciência real nasce e se desenvolve ao longo do tempo. Essa percepção da inadequação histórica das idéias usuais sobre a natureza da ciência o conduziu, finalmente, à filosofia da ciência. Seus estudos nessa área apareceram publicados de modo mais amplo em seu livro de 1962, A Estrutura das Revoluções Científicas. Esse trabalho viria a exercer uma influência decisiva nos rumos da filosofia da ciência. Embora em uma linguagem aparentemente acessível, Kuhn avança nele teses bastante sofisticadas sobre o conhecimento científico e o conhecimento em geral, que receberam críticas filosóficas diversas ao longo dos anos. Naturalmente, este não é o lugar para adentrarmos essas discussões. Limitar-nos-emos a expor simplificadamente alguns dos pontos destacados por Kuhn e que aglutinaram as atenções dos filósofos da ciência nas décadas subseqüentes à publicação do livro.
A espinha dorsal da concepção kuhniana de ciência consiste na tese de que o desenvolvimento típico de uma disciplina científica se dá ao longo da seguinte estrutura aberta:

fase pré-paradigmática ® ciência normal ® crise ® revolução ®
nova ciência normal ® nova crise ® nova revolução ® ...

Daremos agora uma explicação simplificada das noções envolvidas nessa cadeia evolutiva de uma ciência.
A fase pré-paradigmática representa, por assim dizer, a pré-história de uma ciência, aquele período no qual reina uma ampla divergência entre os pesquisadores, ou grupos de pesquisadores, sobre quais fenômenos dever ser estudados, e como o devem ser, sobre quais devem ser explicados, e segundo quais princípios teóricos, sobre como os princípios teóricos se inter-relacionam, sobre as regras, métodos e valores que devem direcionar a busca, descrição, classificação e explicação de novos fenômenos, ou o desenvolvimento das teorias, sobre quais técnicas e instrumentos podem ser utilizados, e quais devem ser utilizados, etc. Enquanto predomina um tal estado de coisas, a disciplina ainda não alcançou o estatuto de científica, ou seja, não constitui uma ciência genuína.
Uma disciplina se torna uma ciência quando adquire um paradigma, encerrando-se a fase pré-paradigmática e iniciando-se uma fase de ciência normal. Este é o critério de demarcação proposto por Kuhn para substituir os critérios indutivista e falseacionista. O termo ‘paradigma’ tem uma acepção bastante elástica no texto original de Kuhn, e não podemos aqui adentrar as sutilezas de seu significado. Em seu sentido usual, pré-kuhniano, o termo significa ‘exemplo’, ‘modelo’. Assim, amo, amas, ama, amamos, amais, amam é um paradigma da conjugação do indicativo presente dos verbos regulares da Língua Portuguesa terminados em ‘ar’.
Kuhn percebeu que a transição para a maturidade, para a fase científica, de uma disciplina envolve o reconhecimento, por parte dos pesquisadores, de uma realização científica exemplar, que defina de maneira mais ou menos clara os principais pontos de divergência da fase pré-paradigmática. A mecânica de Aristóteles, a óptica de Newton, a química de Boyle, a teoria da eletricidade de Franklin estão entre os exemplos dados por Kuhn de paradigmas que fizeram algumas disciplinas adentrar a fase científica.
É difícil explicitar, especialmente em poucas palavras, os elementos que entram na formação de um paradigma. Kuhn sustenta mesmo que essa explicitação nunca pode ser completa. A razão disso é que o conhecimento de um paradigma é, em parte, tácito, adquirido pela exposição direta ao modo de fazer ciência determinado pelo paradigma. Assim, por exemplo, é somente fazendo óptica à maneira de Newton que se pode conhecer completamente o paradigma óptico newtoniano, ou fazendo eletromagnetismo à maneira de Maxwell que se pode conhecer completamente o paradigma eletromagnético.
No entanto, podemos, a título de balizamento, considerar como partes integrantes de um paradigma: uma ontologia, que indique o tipo de coisa fundamental que constitui a realidade; princípios teóricos fundamentais, que especifiquem as leis gerais que regem o comportamento dessas coisas; princípios teóricos auxiliares, que estabeleçam sua conexão com os fenômenos e as ligações com as teorias de domínios conexos, regras metodológicas, padrões e valores que direcionem a articulação futura do paradigma; exemplos concretos de aplicação da teoria; etc.
Um paradigma fornece, pois, os fundamentos sobre os quais a comunidade científica desenvolve suas atividades. Um paradigma representa como que um “mapa” a ser usado pelos cientistas na exploração da Natureza. As pesquisas firmemente assentadas nas teorias, métodos e exemplos de um paradigma são chamadas por Kuhn de ciência normal. Essas pesquisas visam, principalmente, a extensão do conhecimento dos fatos que o paradigma identifica como particularmente significativos, bem como o aperfeiçoamento do ajuste da teoria aos fatos pela articulação ulterior da teoria e pela observação mais precisa dos fenômenos.
Um ponto importante destacado por Kuhn é que enquanto o “mapa” paradigmático estiver se mostrando frutífero, e não surgirem embaraços sérios no ajuste empírico da teoria, o cientista deve persistir tenazmente no seu compromisso com o paradigma. Embora a ciência normal seja uma atividade altamente direcionada, e em um certo sentido seletiva, essa restrição é essencial ao desenvolvimento da ciência. É somente centrando sua atenção em uma gama selecionada de fenômenos e princípios teóricos explicativos que o cientista conseguirá ir fundo no estudo da Natureza. Nenhuma investigação de fenômenos poderá ser levada a cabo com sucesso na ausência de um corpo de princípios teóricos e metodológicos que permitam seleção, avaliação e crítica do que se observa. Aqui se nota um dos principais enganos da concepção clássica de ciência, que imaginava ser possível fazer observações neutras. Nas concepções contemporâneas, reconhece-se que fatos e teorias estão em constante relação de interdependência, como que em “simbiose”, os primeiros sustentando as últimas e estas contribuindo para a sua seleção, classificação, concatenação, predição e explicação. De posse de um corpo de princípios teóricos e regras metodológicas, o cientista não precisa a cada momento reconstruir os fundamentos de seu campo, começando de princípios básicos e justificando o significado e uso de cada conceito introduzido, assim como a relevância de cada fenômeno observado.
Kuhn entende a ciência normal como uma atividade de resolução de “quebra-cabeças” (puzzles), já que, como eles, ela se desenvolve segundo regras relativamente bem definidas. Só que na ciência os quebra-cabeças nos são apresentados pela Natureza. Ao longo da exploração de um paradigma pode ocorrer que alguns desses quebra-cabeças se mostrem de difícil solução. O dever do cientista é insistir no emprego das regras e princípios paradigmáticos fundamentais o quanto possa. Utilizando a analogia, não vale, por exemplo, cortar um canto de uma peça do quebra-cabeça para que se encaixe em uma determinada posição. Mas no caso da ciência esse apego ao paradigma, que é essencial, como indicamos acima, não pode ser levado ao extremo. Quando quebra-cabeças sem solução a que Kuhn denomina anomalias se multiplicam, resistem por longos períodos aos melhores esforços dos melhores cientistas, e incidem sobre áreas vitais da teoria paradigmática, chegou o tempo de considerar a substituição do próprio paradigma. Nestas situações de crise, membros mais ousados e criativos da comunidade científica propõem alternativas de paradigmas. Perdida a confiança no paradigma vigente, tais alternativas começam a ser levadas a sério por um número crescente de cientistas. Instala-se um período de discussões e divergências sobre os fundamentos da ciência que lembra um pouco o que ocorreu na fase pré-paradigmática. A diferença básica é que mesmo durante a crise o paradigma até então adotado não é abandonado, enquanto não surgir um outro que se revele superior a ele em praticamente todos os aspectos.
Quando um novo paradigma vem a substituir o antigo, ocorre aquilo que Kuhn chama de revolução científica. Grande parte das teses filosóficas sofisticadas desse autor que se tornaram alvo de polêmicas entre os especialistas ligam-se ao que ele assevera acerca das revoluções científicas. Conforme já alertamos, não constitui propósito destas notas adentrar esse debate.

* * *
KUHN, T. S. The Structure of Scientific Revolutions. 2 ed., enlarged. Chicago and London: University of Chicago Press 1970.

Ó S. S. Chibeni

Fonte: http://www.unicamp.br/~chibeni/textosdidaticos/structure-sintese.htm

Monday, December 17, 2012

Pedagogia

"A educação talvez seja a única atividade profissional em que o trabalhador pode não se preocupar com a responsabilidade pelo resultado de seu trabalho."

Fonte: http://www.pedagogiaemfoco.pro.br/filos02.htm


Thursday, December 13, 2012

Resumo das funciondalidades da JVM7



Recursos de Linguagem

1) Switch com strings
2) Declaração de literais e o uso do underscore
3) try-with-resources e multi-catch
4) Parâmetros para construtor com Genéricos
5) Binary Literals
6) Diamond Syntax
7) Try with Resources
8) Métodos com tipos genéricos
9) Closures
10) Automatic Resource Management (ARM)
11) Properties


Recursos da JVM

1) Performance
2) Operador de verificação de referências null
3) Arrays indexados com 64-bits
4) Acesso indexado à mapas e listas
5) Declaração literal de Collections
6) Suporte multi-linguagem na JVM
7) Mudanças com foco em modularização da plataforma Java
8) G1 Garbage Collector

O temido "Broadcast Storm"

Não existe nada mais tenebroso em uma rede local que um "broadcast storm" (na tradução literal, tempestade de difusões). Quem já presenciou um pode perceber que toda a rede para de funcionar, os servidores ficam extremamente lentos e não há nenhuma pista de onde o problema está sendo originado. O que fazer para evitar este pesadelo?
Broadcasts são muito comuns na rede. São mensagens enviadas ao endereço de acesso FF-FF-FF-FF-FF-FF.  Estas mensagens são replicadas em todas as portas de todos os switches que estão dentro de uma mesma rede ou dentro de uma mesma VLAN.

O que causa?

Um Broadcast storm ocorre quando uma mensagem gera uma resposta que gera uma nova mensagem em um efeito de bola de neve.
A principal causa do Broadcast Storms são "loops" na rede. Locais onde um switch é ligado a outro por mais de um cabo. O protocolo Spanning-Tree deveria evitar este problema, mas se estiver desabilitado ou com problema, o storm pode aparecer.
Alguns vírus podem causar um "storm" também (de menores proporções). Os vírus começam a buscar novas máquinas para infectar enviando um pacote de "arp" (address resolution protocol)  para todas as máquinas dentro da faixa de endereços. Se o endereçamento de rede é classe B, isto significa 65535 broadcasts a cada tentativa. 
Algums impressoras tem drivers que fazem o mesmo na busca de um impressora. Um antigo driver da HP Laserjet 3 causava este problema quando os drivers estavam instalados nas máquinas e a impressora era removida. Todos os usuários iniciavam uma procura pela impressora fazendo broadcasts pela rede. Com uma rede de 500 nós com acesso à esta impressora, significava 500 estações fazendo broadcast ao mesmo tempo.

Como detectar?

Use um analisador de protocolo e filtre apenas os broadcasts. Se sua rede esta experimentando mais de 500 broadcasts por segundo, certamente você está enfrentando o problema. Broadcasts acima de 100 por segundo já são indesejáveis. Em um storm com loop, muitas vezes você vai ver dezenas de milhares de broadcasts por segundo (rede no chão).  

Como se previnir?

Switches camada 3 permitem a segmentação de rede em várias VLANs. Os Broadcasts não atravessam as VLANs permitindo que o problema fique contido.
A maioria dos swicthes hoje possui controle para Broadcast Storm que evita que a rede fique congestionada limitando o número de broadcasts simultâneos. No entanto, como esta solução bloqueia também broadcasts legítimos, alguns problemas intermitentes podem ocorrer.
O uso correto do protocolo Spanning-Tree pode evitar os problemas de Loops. Cuidado, pois muitos switches tem implementações com bugs deste protocolo.

Tuesday, December 11, 2012

Instale o Oracle Java (JDK) 7 no Ubuntu 12.04 e 11.10

Devido a nova licença do Java, o Oracle JDK foi removido do repositório oficial do Ubuntu.
Para instalá-lo devemos usar PPAs de terceiros o que não é uma garantia de 100%. Use por sua conta e risco!
Abra o terminal e remova o OpenJDK:
  1. sudo apt-get purge openjdk*
  1. sudo add-apt-repository ppa:webupd8team/java
  2. sudo apt-get update
  3. sudo apt-get install oracle-java7-installer


Monday, December 10, 2012

Preparando para o Dilúvio do Big Data


Chegou a internet das coisas


Os sensores estão invadindo a vida humana. Eles chegam de forma quase imperceptível e ocupam todos os espaços. Sua presença na vida humana tende a crescer de forma exponencial e, por volta de 2020, nossa dependência desses dispositivos de identificação e de comunicação será quase total. Eles serão centenas de milhões, espalhados por todos os lados, embutidos nas paredes, nas portas, nos semáforos, nos prédios, nos móveis, nos aparelhos domésticos, em roupas, sapatos e até em escovas de dentes.

Eles serão ao mesmo tempo nossos anjos da guarda e espiões. De um lado, nos darão, sim, uma sensação de maior segurança. De outro, entretanto, talvez possam violar nossa privacidade, ao colher e transmitir dados sobre tudo que existe à nossa volta, inclusive sobre nós mesmos.

É claro que os sensores terão muito mais funções relevantes e essenciais em nosso cotidiano, como  a proteção do meio ambiente, a vigilância das ruas, a supervisão dos espaços públicos e privados, a racionalização do consumo de energia e o monitoramento de pacientes em hospitais e em residências.

Nossos conhecidos

Diversos tipos de sensores já são nossos conhecidos, entre os quais, os dispositivos de identificação por radiofrequência (RFIDs, de Radiofrequency Identification Devices), usados nos pedágios de muitas estradas, como os do tipo Sem Parar. Com eles, a cancela é acionada automaticamente após a leitura dos dados de cada veículo.

Outros sensores populares são aqueles utilizados no controle de iluminação de nossa casa: eles detectam os raios infravermelhos emitidos pelo corpo humano e acendem as lâmpadas ou ligam o ar condicionado de um quarto ou sala só quando há pessoas nesses ambientes.

Com esses sensores, economiza-se energia e evita-se o desperdício em casas, prédios e locais em que comumente as lâmpadas ficam acesas centenas de horas por mês sem a menor necessidade. Esses mesmos sensores já estão sendo utilizados em sistemas de segurança, porque detectam luz, movimento e radiações.

O grande sucesso, nos últimos tempos, entretanto, é dos sistemas de chips microeletromecânicos, conhecidos pela sigla MEMS (Microelectromechanical Systems), que combinam funções eletrônicas com funções mecânicas em escala de microscópica, quase nanométrica.

Na próxima semana, pela primeira vez na história do maior evento de eletrônica de entretenimento do mundo, o Consumer Electronics Show (CES), de Las Vegas, haverá uma seção inteiramente dedicada aos MEMS e suas aplicações individuais ou em redes de sensores sem fio (Wireless Sensor Networks).

Outra seção dessa feira de Las Vegas que deve atrair a atenção dos especialistas é a das novas gerações de chips multinúcleos, para processamento gráfico, produção de imagens tridimensionais (3D), comunicações móveis e projetos assistidos por computador (CAD, de Computer-Aided Design).

Esses microprocessadores avançados prometem revolucionar os equipamentos de tecnologia pessoal, tais como smartphones, laptops, tablets e desktops. Além dos recursos avançados de computação, eles economizam energia.

Internet das coisas

O desenvolvimento dos sensores viabiliza uma das formas mais admiráveis de internet do futuro: a internet das coisas. A ideia dessa nova web nasceu no MIT Auto-ID Laboratory, no Instituto de Tecnologia de Massachusetts, e ganhou o nome de Internet of Things (IoT), partindo de um objetivo bem simples: criar um sistema global de registro de bens, utilizando um código de produto eletrônico (Electronic Product Code), como sistema de numeração.

A boa notícia é que os dispositivos essenciais para viabilizar o conceito de internet das coisas já estão prontos e disponíveis no mundo da tecnologia microeletrônica. São, acima de tudo, os sensores dedicados, os identificadores RFIDs e as redes de sensores sem fio.

Quando cada coisa ou objeto pode ter sua identidade e seu endereço, tudo fica mais fácil e prático para que ele seja tratado virtualmente na internet. Assim, os sensores nos permitirão localizar cada objeto, saber seu conteúdo, ordená-lo, classificá-lo ou manipulá-lo.

O exemplo mais banal é o da geladeira que nos avisa de tudo que está no fim ou vai faltar. A internet das coisas já se torna particularmente útil para muitas pessoas e instituições que dispõem de grandes bibliotecas com milhares de livros ou discotecas com elevado número de CDs, DVDs ou Blu-rays. Com a nova web, localizaremos instantaneamente cada peça, obra, autor, editora ou intérprete, editora, orquestra, data de gravação ou edição, preço, história e tudo o mais.

Entre suas muitas aplicações, a internet das coisas poderá ser utilizada nos sistemas de controle automático dos semáforos e de controle de trânsito. Ou nas empresas de transporte coletivo, informando aos passageiros o horário exato em que cada ônibus ou trem vai passar pelos pontos de parada. Ou ainda equilibrar a oferta de veículos em função da demanda de cada horário.

O papel da internet das coisas poderá ser revolucionário ainda nos supermercados, nos sistemas de distribuição postal, nos almoxarifados e estoques de milhões de peças e componentes.

Com essa nova web, a ordem poderá, finalmente, triunfar sobre o caos.

Money Talks


Saturday, December 08, 2012

O APRENDIZ DE LÍNGUAS BEM-SUCEDIDO É AQUELE QUE

(1) Tem consciência de que línguas são fundamentalmente fenômenos orais;
(2) Fala unicamente a língua-alvo no ambiente de aprendizado;
(3) Possui autoconfiança e não tem receio de cometer erros, mas está sempre atento em busca das formas mais usuais;
(4) Esforça-se na arte da imitação para alcançar uma pronúncia correta;
(5) Busca significado pelo contexto em vez de traduzir;
(6) Atitude pouco questionadora quanto às irregularidades da língua: aprende mais por intuição do que por dedução;
(7) É mais protagonista do que espectador;
(8) É perseverante ao invés de ansioso por resultados;
(9) Dedica parte de seu tempo livre para atividades suplementares;
(10) Toma as rédeas de seu aprendizado, sem delegá-lo a terceiros.
Fonte: www.sk.com.br/sk-gdstu.html

Black Label Society - In This River [Official Video]


Add items to Ubuntu 12.04 Unity Launcher (quicklaunch)

The recent upgrade to Ubuntu 12.04 Precise Pangolin left me somewhat hanging when it comes to creating launchers on the desktop, and also in the Unity Launcher (also called quicklaunch in some places) for Zend Studio and PHPStorm. In Gnome prior to Unity in Ubuntu it was easy to right click the desktop and select Create Launcher to create icons on the desktop to launch applications or scripts, but in 12.04 that options is gone. So here is how I solved some of the issues.
Method 1

For Netbeans and Eclipse based editors like Zend Studio or Aptana it is not too bad. I created a *.desktop files for each one and put it in the /usr/share/applications/ folder. I believe you can also create a folder in /home/username/.local/applications/ and put it there instead, but I have not tested it. Here is how I created a zendstudio.desktop file:

[Desktop Entry]
Version=1.0
Name=Zend Studio
GenericName=Zend Studio
X-GNOME-FullName=Zend Studio PHP IDE
Comment=PHP IDE for PHP development
Type=Application
Categories=Application;Development;PHP;IDE;Programming
Exec=/home/username/Zend/ZendStudio-9.0.2/ZendStudio
TryExec=/home/username/Zend/ZendStudio-9.0.2/ZendStudio
Terminal=false
StartupNotify=true
Icon=/home/username/Zend/ZendStudio-9.0.2/icon.xpm

After creating the file above I then launched Zend Studio by going to the Zend folder in my home directory and double clicking the ZendStudio executable. Once the application is running I right clicked the icon in the Unity Launcher and select “Lock to Launcher”. Now the application stays in the Unity Launcher.

The above worked for most applications, but did NOT work for PHPStorm which launches by using a shell script named PhpStorm.sh. I tried doing the method above, and I also tried creating the desktop file and then dragging and dropping it to the Launcher, and that did not work either.