Managing Multiple Java Versions on Mac

Apple announced to remove Java Preferences app from Mac OS X http://support.apple.com/kb/HT5493. Let’s try to fix it. Generally, java applications will use the JAVA_HOME environment variable to pick a JDK.

To set to JDK 6

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

To set JDK 7

export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

To set JDK 8

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Created aliases for my zsh

alias setjdk16='export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)'
alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)'
alias setjdk18='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)'

You can also read Managing Multiple Java Versions on Mac using Jenv

Gerenciando múltiplas versões Java no Mac

A partir da versão 7, a Apple parou de gerenciar o JDK para Mac OS. Essa responsabilidade agora é da Oracle. Até a JDK 6, a Apple trazia como default o Java instalado, acredito que além de uma questão política das empresas, deve ter relação com o fato que de tempos em tempos sempre é publicado uma vunerabilidade da JVM em sites de segurança.

Porém, como desenvolvedor, pode ser necessário você trabalhar com várias versões de JDK e ai que entra a parte interessante da dica.

Na pasta ” /Library/Java/” do Mac OS estão todas as instalações do Java da sua máquina. Lá existem três pastas (Extensions, Home e JavaVirtualMachines). Na pasta JavaVirtualMachines é possível checar todas jdk instaladas, pois é salvo um arquivo, como “jdk1.7.0_21.jdk”.

Caso esteja testando o Jdk 8, e precise manter o 6 e o 7 configurado, é possível dinamicamente setar o JAVA_HOME, através de um simples comando, configurado no arquivo .bash_profile.

O arquivo bash_profile fica no caminho ~/.bash_profile e pode ser editado com qualquer editor do terminal, como vi, por exemplo.

Com o editor aberto, adicione as seguintes linhas ao arquivo:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

E para definir o comando que seta a JAVA_HOME atual, crie as três linhas abaixo:

alias setjdk16=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)’

alias setjdk17=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)’

alias setjdk18=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)’

Para definir qual jdk é a default, basta chamar o comando do alias.

Exemplo para setar JDK 6, executar setjdk16 e testar com javac -version ou java-version. O mesmo para as outras versões.

O Guia Essencial do HTML 5

Este livro explica os novos e excitantes recursos do HTML5, além dos já reconhecidos JavaScript e CSS, de modo que você entenda como todo o conjunto funciona. Cada capítulo faz uma apresentação do aplicativo; detalha os requisitos básicos; e depois descreve os recursos relevantes do HTML5, CSS e JavaScript.

Mas um livro traduzido pela parceria  com Cláudio Rodrigues Pistilli.
A agradeço por mais esse caso de sucesso!

  • Paperback: 376 pages
  • Publisher: friendsofED; 1 edition (November 2, 2010)

Titulo em Inglês:
The Essential Guide to HTML5: Using Games to learn HTML5 and JavaScript

Titulo em Português:
O Guia Essencial do HTML 5 – Usando jogos para aprender HTML5 e JavaScript

18 sites e cursos em português sobre tecnologia e programação

A revista Info publicou um artigo sobre 18 sites e cursos em português sobre tecnologia e programação [1], vários deles são conhecidos como Code.og [2], Codecademy [3], Cousera [4], KhanAcademy [5] e Udacity [6], e vale a pena mencionar o brasileiro Veduca [7] .

Além desse velhos conhecidos, vale a pena destacar outros muito interessantes também:

Microsoft Virtual Academy 

Focado em produtos da Microsoft, a “escola” virtual e gratuita da empresa é cheia de tutoriais em português sobre aplicações de Windows 8 e Windows Phone. Há também informações sobre data centers, nuvem e mobilidade, entre outros assuntos que envolvem plataformas e serviços lançados pela empresa norte-americana.

Microsoft Virtual Academy [8]

Desenvolvimento de games em HTML5

O curso desenvolvimento de games em HTML5 pode ser feito no seu ritmo. As aulas são ministradas por dois funcionários do Google e focam nos principais pontos envolvidos na criação de um jogo. Elas não são básicas, e é bom levar consigo algum conhecimento prévio. Os vídeos estão em inglês, mas há opção de legenda em português, e o curso é grátis – mas o certificado não.

Desenvolvimento de games em HTML5 [9]

Curso em Vídeo

Obra do professor carioca Gustavo Guanabara, o CursoEmVídeo traz aulas sobre HTML5, Algoritmos, PHP e Photoshop Creative Cloud. Todas podem ser acompanhadas de graça diretamente pelo YouTube ou no site, que exige um cadastro e oferece uma série de materiais para consultar no decorrer do curso.

Curso em Vídeo [10]

HTML, C e Java Progressivo

Em português, os três sites trazem tutoriais de C, Java e HTML. Há aulas básicas, que introduzem os conceitos, há sequências de lições sobre testes e laços, ponteiros em C e orientação a objetos em Java, mais avançadas. Os textos estão disponíveis de graça, mas alguns materiais recomendados que podem ajudar.

http://www.htmlprogressivo.net/ [11]
http://www.cprogressivo.net/ [12]
http://www.javaprogressivo.net/ [13]

Referência:

[1] http://info.abril.com.br/noticias/ti/fotonoticias/18-sites-e-cursos-em-portugues-sobre-tecnologia-e-programacao.shtml
[2] http://www.code.org
[3] http://www.codecademy.com
[4] http://www.coursera.org
[5] http://www.khanacademy.org
[6] http://www.udacity.com
[7] http://www.veduca.com.br
[8] http://www.microsoftvirtualacademy.com/
[9] https://www.udacity.com/course/cs255
[10] http://www.cursoemvideo.com/
[11] http://www.htmlprogressivo.net/
[12] http://www.cprogressivo.net/
[13] http://www.javaprogressivo.net/

 

Giga Byte(GB) é diferente de Giga bit(Gb)

Há uma diferença ente B “MAIÚSCULO” e b “minúsculo”.

GB é diferente de Gb.

GB = Giga Byte
Gb = Giga bit

——————–
1 Bit (b) = 1 bit (b), que pode ser 1 ou 0
1 Byte (B) = 8 bits (b)
——————–
1 Kilobite (Kb) = 1000 bits (b)
1 Kilobyte (KB) = 1024 bytes (B)
——————–
1 Megabit (Mb) = 1000 Kilobits
1 Megabyte (MB) = 1024 Kilobyte
——————–
1 Gigabit (Gb) = 1000 Megabits
1 Gigabyte (GB) = 1024 Megabites
——————–

O correto então seria informar por exemplo que o HD é de 80 “Gb” e não em “GB” pois 1 Gb = 1.000 Megabits = 1.000.000 Kilobits = 1.000.000.000 Bits que é diferente de 1 GB = 1024 MegaBytes = 1.048.576 KiloBytes = 1.073.741.824 Bytes.

Se o HD é de 80 (Gb)
80 * 1000) = 80.000 Megabits (Mb)
Então:
80.000(Mb) / 1024 = ~78 GigaBytes (GB)

Investimento em ações e linguagens de programação

Li o artigo conheça 10 grandes mitos sobre o investimento em ações, é o mais interessante é a ultimo mito, onde o autor esclarece sobre se os operadores da bolsa trabalham gritando e gesticulando o dia todo, veja esse trecho do artigo:

O perfil do profissional da bolsa de valores também está mudando muito. “Aquele sujeito cheio de “adrenalina” que fica excitado com a variação dos preços está cada vez mais cedendo espaço para aquele que domina linguagens de programação como “C” e “Matlab” e que consegue desenvolver algoritmos de execução de ordens (os famosos “robôs”) e estratégias sistêmicas baseadas em dados estatísticos e probabilísticos”, conclui Massaro.

Achei interessante eles mencionarem o uso do Matlab, e da linguagem de programação C. Esse dias estava fazendo um levantamento sobre quais linguagens de programação tem mais demanda por profissionais no Brasil, e não tinha ideia que o conhecimento em Matlab, e da linguagem de programação C é um habilidade para profissionais do mercado de ações.

Se alguém passar por aqui, que trabalha  com investimento em ações e linguagens de programação, deixe seu comentário para eu tentar agregar mais informações sobre este mercado.

Kleber Rodrigo de Carvalho

Desenvolvedor JAVA/Web

Pessoal,

Estou com 3 vagas para programador Java em SP, em um banco americano, muito bem colocado aqui no Brasil.

Vocês tem alguém para indicar ? Segue a descrição abaixo.

Desenvolvedor JAVA/Web Senior (1 vaga)

# Formação superior completa na área de informática
# Experiência mínima de cinco anos em desenvolvimento Java/Web
# Conhecimento desejável: Tomcat, Spring, Maven, Subversion, Pentaho Integration (Kettle) e SQL (Oracle e Sybase)
# Certificação de Java Programmer
# Desejável inglês fluente
# Local: Vila Olímpia, São Paulo – SP

Desenvolvedor JAVA/Web Pleno (2 vagas)
# Formação superior completa na área de informática
# Experiência mínima de três anos em desenvolvimento Java/Web
# Conhecimento desejável: Tomcat, Spring, Maven, Subversion, Pentaho Integration (Kettle) e SQL (Oracle e Sybase)
# Desejável certificação de Java Programmer
# Desejável Inglês fluente
# Local: Vila Olímpia, São Paulo – SP

Se você conhece alguém, pode encaminhar o CV para kleber.carvalho arroba gmail.com

Obrigado

Kleber Rodrigo de Carvalho

 

Customizar o Elastix

Pessoal,
Tenho trabalhado ultimamente com o Elastix, mas preciso fazer um customização nele.

Hoje cada usuário no Elastix eu consigo controlar o nível de acesso por tela.
Por exemplo, quando eu vou em System->User Management eu tenho as várias opções de telas, onde eu posso adicionar direito para os usuários em níveis de telas. Por exemplo:

System Info
Network
Network Parameters etc

Eu gostaria de fazer um controle de usuário mais especifico, por exemplo. Um usuário pode acessar a tela PBX Configuration, onde eu criei uma extension 200 de exemplo. Só que nesta tela, existem vários níveis dentro dessa mesma tela, por exemplo:

Edit Extension
Extension Options
Device Options
Fax Handling
Privacy
Dictation Services
Recording Options
Voicemail & Directory

elastix1

Eu criei uma nova extension que no caso é 200
Quando você entra na opção PBX->Extension-> 200 (meu exemplo)
Gostaria que o usuário X consiga acessar (conseguir visualizar) Edit Extension, Extension Options e Device Options somente. O usuário Y só Voicemail & Directory somente, e assim por diante.

Vocês sabem se isso é possível?

Kleber Rodrigo de Carvalho