Archive for Março, 2008

Novo Firefox enfrenta IE revisto e melhorado

Notícia interessante, direto da Folha Online:

A guerra dos browsers — a disputa pelo mercado de navegadores na internet — entrou, neste mês, em seu mais recente capítulo: a Microsoft lançou a versão de testes para desenvolvedores de seu Internet Explorer 8. A empresa tem 75% desse mercado hoje, de acordo com a NetApplicattions.

A arma mais poderosa contra o domínio do IE vem do exército da Fundação Mozilla: o navegador em código aberto Firefox 3, cuja nova versão de testes foi lançada na semana passada. O Firefox tem hoje 17% desse mercado, segundo a NetAplicattions, e ganha terreno desde que chegou ao usuário final, em novembro de 2004.

À época, o Internet Explorer tinha 91,3% do mercado, depois de ter esmagado o pioneiro Netscape. E nenhum concorrente tinha mais de 4%.

O que vem por aí

A equipe que desenvolve o Internet Explorer 8 promete responder a uma das grandes críticas que o navegador recebe: a de que não segue os padrões da rede. Pelo menos é o que disse à Folha um porta-voz da empresa sobre quais são os benefícios da versão de testes: “Nesse lançamento, nós estamos entregando interoperabilidade e compatibilidade.”

Existem duas grandes novidades. Uma, chamada Activities, permite usar informações de qualquer página em outros serviços on-line. Por exemplo, selecionar e colocar em um blog um trecho de texto ou mandar uma notícia para o Digg. Outra, chamada WebSlices, dá ao internauta a possibilidade de receber as atualizações de um pedaço personalizado de um site de notícias.

O desafiante

“O Firefox 3 tem muitas melhoras: vai ter uma velocidade incrível e usar poucos recursos da máquina”, disse à Folha, por e-mail, Asa Dotzler, coordenador de projetos da Fundação Mozilla. “Uma nova característica chamada Places vai combinar o melhor dos Favoritos com o Histórico”, disse, sobre um mecanismo de buscas personalizadas do browser.

Asa afirma que a nova versão do Firefox vai ter mais recursos para customização. “Uma grande tendência dos softwares é a personalização. O Firefox 3 será o mais personalizável navegador disponível.”

Feliz Páscoa … atrasado! De volta a realidade

Sim, ao invés de aproveitar o feriado em casa continuando meu tcc, matei praticamente 5 dias de trabalho para curtir a Páscoa com a família. coelho É, não resisti, não ía pra minha terrinha há muito tempo. Como sempre, a viagem de ida e de volta foi traumática - infelizmente Cascavel não é logo ali. Esqueci-me completamente de comprar a passagem de volta com antecedência e tivemos que apelar pra Unesul. Resultado: 19 horas de viagem em poltronas do ladinho do banheiro. Quando alguém se levantava pra ir ao banheiro era automático tamparmos o nariz. Além disso, fizemos um tur por toda Santa Catarina - era um ônibus pinga-pinga, não tivemos escolha. Parou em cidades que eu só tinha ouvido falar, como Curitibanos, Xanxerê… Nossa, cada cidade feia! Pra falar a verdade, depois que você mora em Florianópolis é difícil achar outra cidade bonita. Enfim… :)

fisl Bom, a próxima parada será Porto Alegre, no fisl 9.0 - daqui cerca 3 semanas. Já tenho até hotel reservado, só falta mesmo comprar a passagem na Eucatur. Mais uma vez faço aqui o anúncio deste evento que este ano promete muito. A primeira listagem de palestras já saiu e pra quem curte desenvolvimento têm bastante palestras sobre Java e Python. Sobre PHP têm algumas. Nem preciso dizer que Groovy nem foi listado como tema pra artigo - snif, snif, quem sabe na próxima. Também têm algumas palestras sobre Ruby - a que eu mais quero ver é a do Akita falando sobre deployment de Rails. Isto sem falar que o criador do Vim estará lá, o Bram Moolenaar; um engenheiro da IBM; o John Maddog Hall (este não podia faltar); e um cara que conhece muito sobre Python (como é o nome dele mesmo?) e vai falar um pouco sobre Django. Ou seja, desta vez está imperdível. ;)

Mais uma vez fica a dica, pessoal. Quem sabe nos encontremos lá. Irei passar no estande do JavaFree com certeza! :D

E feliz páscoa atrasado a todos!! :)

Calvin: so you admit you were lying?

O lado ruim de fazer um TCC com implementação é que você precisa ter o sistema de 60% a 80% pronto pra poder concluir alguma coisa na sua dissertação. Bom, é claro que existem outros lados ruins também como empacar em um bug (isso não existe se teu trabalho é só uma análise), ter que implementar algo que você não quer pois não curte, etc, mas acho que este problema é um dos piores pois o texto se torna secundário e, cá entre nós, a banca só vai ler o texto, então já viu… E aí começa uma busca incessante em reservar um tempo igual pra ambas as coisas. Eu simplesmente não consigo fazer aquela coisa que todo mundo fala: ficar um pouco no texto e um pouco na implementação. Acho que dá pra fazer uma comparação com a gente fazendo a análise de um sistema, usando alguns dos diagramas de UML (será que só eu e o laboratório onde trabalho fazemos isso?), e, fazendo a implementação do sistema. Em teoria, os diagramas deveriam ser atualizados se a gente muda o design direto no código - sim, na prática são outros quinhentos. Pelo menos com relação ao TCC, simplesmente não rola. Não dá pra ficar um pouco de cada um. Preciso ter a coisa pronta pra poder falar. Enfim… nem preciso dizer o quanto esse TCC está me consumindo. Às vezes acho que deveria só ter feito a análise de alguma coisa. :P

Pra alegrar este dia chuvoso e o ânimo de todos, fiquem com a tirinha do Calvin de hoje que está o máximo:

calvin

Vamos ver se depois da Páscoa reservo um tempinho pra estudar algo diferente. :D

Enjoy!

;)

Garfield and the little chocolate mints…

Ai ai.. Não sei se consigo aguentar mais esta sensação de ter algo inacabado pra continuar a cada dia que passa. Meu problema é que sou ansiosa demais e simplesmente não vejo a hora de acabar esse TCC de uma vez. Arght!! Não que seja uma coisa chata de ser feita, o problema é que me dá essa sensação horrível, fico angustiada… Não consigo nem ler um livro em paz direito… Nem consegui continuar a ler as crônicas de Mário Prata. Como é que tem tanta gente que consegue esquecer total que tem um trabalho com este pra fazer?!? Será que tem alguma fórmula?! Eu desconheço! Hmpf! :’(

Dei uma pausa aqui na codificação - adoro fazer isso quando caio em um bug ou em uma coisa muito chata de fazer. Bom, vai uma tirinha do Garfield só pra descontrair:

garfield

E lá vou eu de volta ao meu TCC… Boa noite, galera! ;)

Groovy Beans x Java Beans

Hey! :)

Ultimamente estou encima do meu TCC mais do que nunca. Está ficando cada vez mais complicado, mais complexo, mais robusto… (ai, faltou adjetivos aí..) O pior de tudo é que realmente ainda tem muita coisa pra ser feita. o.O

Mesmo assim voltei a dar uma lidinha sobre a linguagem Groovy e achei interessante a forma com que ela trata os beans. Demorou, mas parece que todas as linguagens mais atuais notaram que fazer manualmente os getters e setters para toda variável de instância de uma classe não está com nada. Aleluia irmãos, mas existe o Eclipse pra que a gente possa gerar tudo automático. Era isso ou boa parte dos programadores Java estariam condenados a ter LER por conta do ocultamento de informação. Felizmente a linguagem Groovy reparou nesta falta de praticidade e trouxe características interessantes. Perfect! :D

GroovyBeans funcionam como os JavaBeans mas utilizando uma sintaxe mais simples (se piorasse, pra quê linguagem nova, né?!). Observe o exemplo abaixo em Groovy:

import java.util.Date

class Customer {

    Integer id
    String name
    Integer age

    static void main(args) 
    {
        def customer = new Customer(id:1, name:"Thania", age:21)
        println("Hello ${customer.name}")
    }
}

Saída:

Hello Thania

O código em Groovy acima é equivalente ao seguinte código Java:

import java.util.Date;

public class Customer {

    private Integer id;
    private String name;
    private Integer age;

    // Desce mais...

    public Integer getId() {
        return this.id;
    }

    // Mais um pouquinho...

    public String getName() {
        return this.name;
    }

    // Só mais algumas linhas...  

    public Integer getAge() {
        return this.age;
    }

    // Finalmente chegamos nos setters... 
    // Calma, a classe já tá acabando.

    public void setId(Integer id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    // Sim, rola o scroll só mais um pouquinho...

    public void setAge(Integer age) {
        this.age = age;
    }

    // Ufa! Achei que não ía achar esse main nunca... 

    public static void main(String[] args) {
        Customer customer = new Customer();
        customer.setId(1);
        customer.setName("Thania");
        customer.setAge(21);

        System.out.println("Hello " + customer.getName());
    }
}

Gostei! ;)