Arquivo Histórico de Thiago Vespa
Este site foi preservado para fins históricos e de referência. Alguns conteúdos podem estar desatualizados e recursos interativos foram desativados. Visite o site atual.
TV Digital – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog Precisando é só avisar! Mon, 27 Oct 2025 01:38:10 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.8.5 https://thiagovespa.com.br/blog/wp-content/uploads/2023/05/cropped-eu3-32x32.png TV Digital – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog 32 32 The Developers Conference 2014 https://thiagovespa.com.br/blog/2014/07/17/the-developers-conference-2014/ https://thiagovespa.com.br/blog/2014/07/17/the-developers-conference-2014/#comments Thu, 17 Jul 2014 22:26:08 +0000 http://www.thiagovespa.com.br/blog/?p=4086 Continue lendo The Developers Conference 2014→]]> Agora no começo de agosto terá um evento muito bacana no qual participo da coordenação: o The Developers Conference 2014. Esse evento eu já participo há alguns anos, muito bem organizado e com bastante conteúdo. Hoje mesmo fui com uma camiseta do evento de 2011 no trabalho.

TDC2011O TDC 2014 – São Paulo será realizado de 5 a 9 de agosto e terá 36 trilhas (TV Digital, Android, Startups, Java, Arquitetura, etc) no Anhembi Morumbi e,  como novidade, vários workshops na sede da Globalcode, inclusive de Raspberry PI e IoT com o Vinicius Senger.

A trilha de TV digital está bem bacana e está sendo coordenada por um grande amigo meu, o Carlos do Java Noroeste e por mim. Vamos ter palestras com aplicativos da Record, TQTVD, TV Aparecida, especialistas renomados na área de TV digital no Brasil e pela comunidade de desenvolvedores.

Para participar é só fazer a inscrição no site. Simultaneamente, vai ter um outro evento legal que é o TDC4Kids para crianças programarem com Scratch, Minecraft e IoT. Para ter uma ideia do porte do evento, essa é a lista de alguns patrocinadores: Amazon, Oracle, Stackoverflow, SAP, PayPal, Google, StackOverflow, JetBrains e Liferay.

A gente se fala lá!

TDC - Comunidade

]]>
https://thiagovespa.com.br/blog/2014/07/17/the-developers-conference-2014/feed/ 1
As 5 causas e o The Developers Conference 2013 – São Paulo https://thiagovespa.com.br/blog/2013/06/24/as-5-causas-e-o-the-developers-conference-2013-sao-paulo/ https://thiagovespa.com.br/blog/2013/06/24/as-5-causas-e-o-the-developers-conference-2013-sao-paulo/#comments Mon, 24 Jun 2013 12:01:22 +0000 http://www.thiagovespa.com.br/blog/?p=3956 Continue lendo As 5 causas e o The Developers Conference 2013 – São Paulo→]]> Você que pensa em melhorar o Brasil, seja protestando ou de sua própria maneira, venha para o The Developers Conference 2013 em São Paulo. Lá você poderá ter ideias de como fazer aplicações que possam ajudar a mudar o Brasil. Troque informações com alguns dos melhores profissionais do Brasil, veja como você pode melhorar a economia do país ou ter algumas ideias de como contribuir com a diminuição da corrupção. Segue algumas ideias:

The Developers Conference

Eu estarei por lá, principalmente no dia 11, onde teremos uma trilha de TV Digital. Compareça!

]]>
https://thiagovespa.com.br/blog/2013/06/24/as-5-causas-e-o-the-developers-conference-2013-sao-paulo/feed/ 11
Botão Animado em LWUIT – Ginga https://thiagovespa.com.br/blog/2013/03/10/botao-animado-em-lwuit-ginga/ https://thiagovespa.com.br/blog/2013/03/10/botao-animado-em-lwuit-ginga/#comments Sun, 10 Mar 2013 15:52:40 +0000 http://www.thiagovespa.com.br/blog/?p=3915 Continue lendo Botão Animado em LWUIT – Ginga→]]> Atendendo a pedidos, segue o código do componente para animação de botões para LWUIT – Ginga-J.

[sourcecode language=”java”]package org.gvlabs.sbtvd.ui;

import com.sun.dtv.lwuit.Button;
import com.sun.dtv.lwuit.Graphics;
import com.sun.dtv.lwuit.Image;

/**
* Animated Button
*
* @author Thiago Galbiatti Vespa
* @version 1.0
*/
public class AnimatedButton extends Button {
private int speed = 50;

private Image[] animaImgs;

private int currentImage = 0;
private long lastInvoke;
private boolean forward = true;
private boolean backAndForth = true;
private boolean loop = true;
private boolean disableLoop = false;

/**
* Default constructor
*/
public AnimatedButton() {
}

/**
* Get array of images
* @return array of images
*/
public Image[] getAnimaImgs() {
return animaImgs;
}

/**
* Set array of images to be animated
* @param animaImgs array of images
*/
public void setAnimaImgs(Image[] animaImgs) {
this.animaImgs = animaImgs;
if (animaImgs != null && animaImgs.length > 0) {
this.setIcon(animaImgs[0]);
}
}

/**
* Get animation speed is ms
* @return animation speed
*/
public int getSpeed() {
return speed;
}

/**
* Set animation speed in ms
* @param speed animation speed
*/
public void setSpeed(int speed) {
this.speed = speed;
}

/**
* Back and Forth animation
* @return true if is a back and forth animation
*/
public boolean isBackAndForth() {
return backAndForth;
}

/**
* Set back and forth animation value
* @param backAndForth
*/
public void setBackAndForth(boolean backAndForth) {
this.backAndForth = backAndForth;
}

/**
* Is loop?
* @return true if is a loop animation
*/
public boolean isLoop() {
return loop;
}

/**
* true = loop, false = one animation
* @param loop
*/
public void setLoop(boolean loop) {
this.loop = loop;
}

public boolean animate() {
if (disableLoop)
return false;
long current = System.currentTimeMillis();
if (current – lastInvoke > speed) {
lastInvoke = current;
if (forward) {
currentImage++;
} else {
currentImage–;
}
if (currentImage >= animaImgs.length) {
if (!loop) {
disableLoop = true;
return false;
} else if (!backAndForth) {
forward = true;
currentImage = 0;
} else {
forward = false;
currentImage = animaImgs.length – 1;
}
} else if (currentImage < 0) {
forward = true;
currentImage = 0;
}
return true;
}
return false;
}

/* (non-Javadoc)
* @see com.sun.dtv.lwuit.Button#paint(com.sun.dtv.lwuit.Graphics)
*/
public void paint(Graphics g) {
g.drawImage(animaImgs[currentImage], getX(), getY());
}

}
[/sourcecode]

Para utilizar é só atribuir o conjunto de imagens para o método setAnimaImgs e registrar a animação no formulário, por exemplo: form.registerAnimation(animatedButton);

]]>
https://thiagovespa.com.br/blog/2013/03/10/botao-animado-em-lwuit-ginga/feed/ 4
Palestra Campus Party 6 – 2013 https://thiagovespa.com.br/blog/2013/02/01/palestra-campus-party-6-2013/ https://thiagovespa.com.br/blog/2013/02/01/palestra-campus-party-6-2013/#comments Fri, 01 Feb 2013 13:48:55 +0000 http://www.thiagovespa.com.br/blog/?p=3879 Conforme prometido, segue o link da minha palestra.


Muito obrigado pessoal!

]]>
https://thiagovespa.com.br/blog/2013/02/01/palestra-campus-party-6-2013/feed/ 4
Mensagens de Erro no Emulador Astrobox https://thiagovespa.com.br/blog/2013/01/30/mensagens-de-erro-no-emulador-astrobox/ https://thiagovespa.com.br/blog/2013/01/30/mensagens-de-erro-no-emulador-astrobox/#respond Wed, 30 Jan 2013 21:53:18 +0000 http://www.thiagovespa.com.br/blog/?p=3875 Continue lendo Mensagens de Erro no Emulador Astrobox→]]> Para resolver a seguinte mensagem no emulador Astrobox:
Logger was not initialized.
GeneralSettings: Could not load properties from file ./config/share.properties

É só executar o seguinte comando na máquina virtual do emulador:

[sourcecode language=”bash”]touch /usr/bin/AstroBox/bin/config/share.properties[/sourcecode]

Dessa maneira a mensagem de erro irá sumir e os logs de erros serão exibidos no console. Após essa alteração, você deverá ter a seguinte saída:

Creating logger: LEVEL_ERROR

Problema resolvido!

]]>
https://thiagovespa.com.br/blog/2013/01/30/mensagens-de-erro-no-emulador-astrobox/feed/ 0
Botão animado com Ginga-J https://thiagovespa.com.br/blog/2013/01/30/botao-animado-com-ginga-j/ https://thiagovespa.com.br/blog/2013/01/30/botao-animado-com-ginga-j/#respond Wed, 30 Jan 2013 21:06:27 +0000 http://www.thiagovespa.com.br/blog/?p=3867 Continue lendo Botão animado com Ginga-J→]]> Criei um componente para facilitar a exibições de botões animados com Ginga-J. É uma classe pequena onde você passa um array de imagens e adiciona no seu Form principal e ela anima essas imagens. A implementação é simples pois utiliza o framework de animação do LWUIT. Então é só criar uma classe que herda o botão do LWUIT e sobreescrever o método “animate” e “paint”:

]]>
https://thiagovespa.com.br/blog/2013/01/30/botao-animado-com-ginga-j/feed/ 0
Hello World TV Digital com Java https://thiagovespa.com.br/blog/2013/01/30/hello-world-tv-digital-com-java/ https://thiagovespa.com.br/blog/2013/01/30/hello-world-tv-digital-com-java/#comments Wed, 30 Jan 2013 14:42:09 +0000 http://www.thiagovespa.com.br/blog/?p=3857 Continue lendo Hello World TV Digital com Java→]]> Para desenvolver uma aplicaçãozinha para TV Digital Ginga-J é muito simples. Você só precisa conhecer bem alguns conceitos e o ciclo de vida da aplicação. E para começar nada melhor que um Hello World! Primeiramente vamos dar uma passada no ciclo de vida de um Xlet (Xlet é nossa aplicação de TV Digital com Java).

Ciclo de Vida
Ciclo de Vida

]]>
https://thiagovespa.com.br/blog/2013/01/30/hello-world-tv-digital-com-java/feed/ 2
Meu ambiente de desenvolvimento Java na TV Digital https://thiagovespa.com.br/blog/2013/01/30/meu-ambiente-de-desenvolvimento-java-na-tv-digital/ https://thiagovespa.com.br/blog/2013/01/30/meu-ambiente-de-desenvolvimento-java-na-tv-digital/#comments Wed, 30 Jan 2013 04:03:10 +0000 http://www.thiagovespa.com.br/blog/?p=2449 Continue lendo Meu ambiente de desenvolvimento Java na TV Digital→]]> O primeiro passo para é montar o ambiente de desenvolvimento com um emulador. Para isso a TQTVD disponibiliza um emulador que pode ser executada em uma VirtualBox com Ubuntu.

Acesse o site: https://www.astrodevnet.com.br, realize o cadastro e faça o login. Escolha a opção AstroBox, Download e faça o download do AstroBox. No mesmo site, faça o download do Manual do Usuário e siga as instruções descritas no arquivo para montagem da máquina virtual contendo o Ubuntu + o emulador da TQTVD.

]]>
https://thiagovespa.com.br/blog/2013/01/30/meu-ambiente-de-desenvolvimento-java-na-tv-digital/feed/ 6
Rodando aplicação Ginga no VT7200D https://thiagovespa.com.br/blog/2011/12/23/rodando-aplicacao-ginga-no-vt7200d/ https://thiagovespa.com.br/blog/2011/12/23/rodando-aplicacao-ginga-no-vt7200d/#comments Fri, 23 Dec 2011 13:22:43 +0000 http://www.thiagovespa.com.br/blog/?p=2050 Continue lendo Rodando aplicação Ginga no VT7200D→]]> Para rodar sua aplicação Ginga, tanto NCL/LUA quanto Java no VT7200D (para saber sobre o VT7200D, consulte aqui) é necessário realizar alguns truques.

O primeiro passo é inserir um pendrive no seu computador. Digite: dmesg no terminal para saber em qual é o device. No meu caso (pendrive de 2GB) apareceu o seguinte nas últimas linhas:

[sourcecode language=”bash”]
[39858.172559] sd 10:0:0:0: Attached scsi generic sg3 type 0
[39858.175660] sd 10:0:0:0: [sdc] 3911616 512-byte logical blocks: (2.00 GB/1.86 GiB)
[39858.177408] sd 10:0:0:0: [sdc] Write Protect is off
[39858.177412] sd 10:0:0:0: [sdc] Mode Sense: 65 44 09 30
[39858.178402] sd 10:0:0:0: [sdc] No Caching mode page present
[39858.178406] sd 10:0:0:0: [sdc] Assuming drive cache: write through
[39858.182402] sd 10:0:0:0: [sdc] No Caching mode page present
[39858.182405] sd 10:0:0:0: [sdc] Assuming drive cache: write through
[39858.183040]  sdc: sdc1
[/sourcecode]

Dessa forma eu sei que o meu device é /dev/sdc. Caso o seu pendrive tenha alguma partição (no meu caso tem: sdc1) o Ubuntu irá montá-la automaticamente. Nos próximos comando substitua o sdc para o valor correto em sua máquina. Para “desmontar” (no bom sentido), digite:

]]>
https://thiagovespa.com.br/blog/2011/12/23/rodando-aplicacao-ginga-no-vt7200d/feed/ 2
Centésimo post, J1, pizza com café e novidades https://thiagovespa.com.br/blog/2011/12/22/centesimo-post-j1-pizza-com-cafe-e-novidades/ https://thiagovespa.com.br/blog/2011/12/22/centesimo-post-j1-pizza-com-cafe-e-novidades/#comments Thu, 22 Dec 2011 13:54:46 +0000 http://www.thiagovespa.com.br/blog/?p=2038 Continue lendo Centésimo post, J1, pizza com café e novidades→]]> Esse é o centésimo post do blog… Até que enfim estou conseguindo tocar o blog! Já comecei o blog pelo menos 4 vezes e, finalmente, está dando bem certo. Descobri que o segredo para manter um blog não é querer escrever toda a hora ou escrever por obrigação, mas é escrever um pouquinho por vez quando dá e de algo que você goste ou esteja utilizando.

Junto com a novidade do centésimo post, nesse mês, vieram várias outras. Realizei um apresentação de TV Digital no Java One 2011, junto com o Carlos Fernando Gonçalvez e foi muito legal. Fui convidado para o Community Keynote do evento onde pude demonstrar a força da comunidade Java como membro do JavaNoroeste e a integração da TV Digital com o JHome para controle de equipamentos e automação residencial pela televisão. As fotos do evento e vídeos do Community Keynote, podem ser encontradas nesses links:

Outra coisa bacana é o surgimento de um novo podcast do qual faço parte: o Pizza Com Café. A ideia surgiu da necessidade de reuniões mensais para troca de informações, mas por falta de tempo resolvemos realizar uma pizzada e gravar um podcast e dessa forma surgiu o Pizza com Café. Já temos uma gravação feita e em breve o podcast entra no ar!

Pizza com Café
Pizza com Café

Além dessas notícias, consegui tirar a certificação Oracle Certified Master, Java EE 5 Enterprise Architect. É uma certificação muito difícil e me senti obrigado à prestar após o anúncio da Oracle que para tirar essa certificação iria ser necessário realizar cursos oficiais Oracle como pré-requisito. Como eu já tinha a primeira fase (prestei beta), resolvi prestar as outras duas etapas restantes. Consegui passar logo de primeira, o que me deixou bastante feliz, já que pra mim essa é a prova mais difícil de tecnologia Java, pois envolve teoria, prática, muito conhecimento e experiência.

Obrigado à todos que contribuíram para todas essas realizações

Agora é só aguardar pelas novidades de 2012!

]]>
https://thiagovespa.com.br/blog/2011/12/22/centesimo-post-j1-pizza-com-cafe-e-novidades/feed/ 3