21 agosto 2013

as PEPs do Python

Hoje vou falar das PEPs do Python.

PEPs são Propostas de Melhoria do Python (Pyhton Enhancement Proposal - PEP) que implica em padrões, melhorias, funcionalidades, estruturas, dicas e por ai vai.

Existe uma lista grande delas que é chamada de pep #0. Dentre estas algumas são indicadas e valem a pena serem lidas.

A pep 20 por exemplo é esta abaixo, ela é um EasterEgg do Python, para encontra-la no próprio Python basta colocar a seguinte linha de comando e dar enter: >>> import this

import this





O Zen de Python, por Tim Peters
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Plano é melhor que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o suficiente para quebrar as regras.
Embora praticidade vença pureza.
Erros nunca deveriam passar em silêncio.
A menos que explicitamente silenciados.
Diante da ambiguidade, recuse a tentação de adivinhar.
Deve haver um -- e preferencialmente só um -- modo óbvio para fazer isso.
Apesar de que daquela maneira pode não ser óbvia à primeira vista, a menos que você seja holandês.
Agora é melhor que nunca.
Embora nunca frequentemente seja melhor que *agora*.
Se a implementação é difícil de explicar, é uma má ideia.
Se a implementação é fácil de explicar, pode ser uma boa ideia.
Espaços são uma grande ideia -- vamos fazer mais desses!

Esses são os princípios da linguagem. Não é uma regra oficial, mas uma linha de conduta para que os programas nesta linguagem sejam sempre apresentáveis. Existem muitas outras como falei acima e vale procurar ler várias, mas por enquanto fiquem com o link para a PEP #8, que é um guia de estilo para a linguagem Python, vale a pena.

See you folks!

20 agosto 2013

Codecademy - o futuro da educação

Hoje vou falar de cursos online e para falar disso vou citar exclusivamente o Codecademy que sinceramente é a coisa mais interessante em termos de cursos online que eu já utilizei.

O Codecademy é simplesmente uma ferramenta poderosa se você tiver fome por conhecimento, digo na área de programação, claro.

A princípio a primeira coisa que você verá é uma página de boas vindas e um mini tuto de como as coisas serão dali adiante. Você já é levado a aprender algum conceito de programação de forma orgânica. Ao adentrar o site você fará seu cadastro e terá várias opções a escolher.As linguagens são variadas indo do JavaScript, HTML/CSS, PHP, Python, Ruby e chegando em API's.

Todas essas linguagens serão detalhadamente trabalhadas por meio de uma interface de estudo muito simples. É provável que boa parte do pessoal ache ruim o fato do site ser em inglês, mas acredito que para quem deseja aprender isso seja o de menos.
Um fator que incentiva a evolução do estudo é o ganho de certos badges(emblemas) que dão a sensação de trabalho cumprido, de troféu mesmo, uma bobagem mas muito interessante que incentiva principalmente crianças no estudo da programação.
Eu quando descobri sobre o site já fui atrás do Python e venho me dedicando nas horas vagas, as vezes não, em destrinchar a linguagem. É extremamente gratificante se deparar com uma ferramenta de ensino que realmente funciona. Apesar de ser em inglês e minha proficiência na linguagem não ser extrema tenho me saído muito bem, sem exageros. Eles realmente prezam pela educação através de exercícios extremamente bem pensados e uma evolução gradual que eu jamais tinha visto. É curioso ver que adentraram em função nas primeiras lições discretamente, fazendo a pessoa pensar no geral desde os primeiros passos.

É interessante ver que no desenrolar do curso você será levado a desenvolver projetos reais. Como por exemplo na parte de HTML/CSS você cria uma página de fato, claro dentro do sistema deles.

Há sessões para professores chamada After-School Programming onde são criados grupos para os alunos trabalharem juntos. Ainda não entrei nessa sessão. Vou verificar depois para ver como é de fato isso. Vocês também terão o Codecademy labs que são substitutos na página para as IDE's das linguagens usadas no site para não necessitar baixar nenhum programa. Para quem não souber o que é uma IDE basta clicar no link.

E como citei sobre estudo online tem uma matéria do Olhar Digital que trata disso pela visão de alguns recrutadores. Eu sinceramente não vejo problema algum com o estudo online, acho até que essa modalidade em algum momento vai se tornar uma ferramenta bem comum no dia a dia. O estudo online, ou melhor "à distância", precisa somente de uma forma de comprovação de proficiência mais oficial, no caso do Codecademy as provas são feitas de maneira não presencial então para demonstrar proficiência de fato você vai ter de provar na raça por intermédio de algum projeto concreto. O que não é de nenhum modo ruim, mas poderá desanimar quem gosta de seguir o líder se mostrando apto por meio de notas e diplomas. Claro que isso é uma condição de algumas graduações à distância. Muitas destas, quando desenvolvidas por instituições como faculdades e escolas tem as aulas à distância com provas presenciais. Enfim. Seja de uma forma ou de outra eu sou adepto de que o conhecimento faz a diferença e não é a prova que vai demonstrar isso. Seja por meio de suas notas, um diploma ou um projeto o que vale mesmo é como você se sairá no "vamos ver"!

Portanto sintam-se a vontade para passar por lá e diga nos comentários se de fato esse mecanismo será mesmo o futuro da educação.

Até a próxima!

09 agosto 2013

Android Device Manager

Olá Geeks de plantão!

Hoje venho eu aqui para falar de algo completamente diferente dos outros posts, mas que é de utilidade pública! Temos agora a função perfeita de localizar nossos Androids (Android 2.2 e superiores - me confirmem esse detalhe nos comentários ok) e venho explicar aqui de forma rápida como fazer isso:

Procurei na internet, mas as informações estão um tanto quanto distorcidas da realidade. Pelo que vi e provei não é nenhum aplicativo que será instalado. Não! Você não precisa procurar no Google Play um app para isso. Basta somente acessar esse link aqui Android Device Manager. Esteja conectado ao Google com sua conta padrão, quero dizer, a mesma do seu dispositivo. (atualizado! 18/02/2014)

Automaticamente a página irá identificar seus dispositivos e irá mostrar a sua localização. Como podem notar essa página ai está em inglês e como sou curioso testei em português (troque o final do link por pt_BR ao invés de en_US) e verá que a página fica em português mas ainda não aparece nada de mapa, pelo menos não quando testei.