Tecnologia “sexto-sentido”

O vídeo abaixo mostra uma tecnologia muito legal que está sendo desenvolvida. Apesar de estar em estágio inicial de desenvolvimento, já dá pra imaginar os inúmeros usos que ela terá, e como poderia ajudar as pessoas em tarefas do dia-a-dia. Audio em inglês, mas se você tem um pouco de conhecimento da língua conseguirá entender perfeitamente.

Share and Enjoy !

Tabela de estados e códigos do IBGE

Abaixo segue o script de criação de uma tabela de estados (para Firebird 2.1), bem como os inserts com todos os estados do Brasil, incluindo o código do IBGE. Se você pretende implementar NF-e nos seus sistemas, provavelmente vai achar útil.

CREATE TABLE ESTADOS (
    SIGLA CHAR(2) CHARACTER SET WIN1252 NOT NULL COLLATE WIN_PTBR,
    CODIGO SMALLINT NOT NULL,
    NOME VARCHAR(30) CHARACTER SET WIN1252 NOT NULL COLLATE WIN_PTBR);

alter table ESTADOS
add constraint PK_ESTADOS
primary key (SIGLA);

alter table ESTADOS
add constraint UNQ_ESTADOS_CODIGO
unique (CODIGO);

commit;

INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (12,'AC','Acre');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (27,'AL','Alagoas');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (13,'AM','Amazonas');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (16,'AP','Amapá');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (29,'BA','Bahia');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (23,'CE','Ceará');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (53,'DF','Distrito Federal');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (32,'ES','Espírito Santo');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (52,'GO','Goiás');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (21,'MA','Maranhão');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (31,'MG','Minas Gerais');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (50,'MS','Mato Grosso do Sul');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (51,'MT','Mato Grosso');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (15,'PA','Pará');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (25,'PB','Paraíba');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (26,'PE','Pernambuco');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (22,'PI','Piauí');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (41,'PR','Paraná');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (33,'RJ','Rio de Janeiro');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (24,'RN','Rio Grande do Norte');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (11,'RO','Rondônia');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (14,'RR','Roraima');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (43,'RS','Rio Grande do Sul');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (42,'SC','Santa Catarina');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (28,'SE','Sergipe');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (35,'SP','São Paulo');
INSERT INTO ESTADOS (CODIGO,SIGLA,NOME) VALUES (17,'TO','Tocantis');

commit;

Provavelmente vai precisar também de uma tabela com os municípios Brasileiros e seus respectivos códigos. Neste caso, sugiro que dê uma olhada neste post.

Os dados foram retirados do site da SPED Fiscal

Share and Enjoy !

Cinco fatos que você não sabia sobre o Delphi

O site мебели софияAbout Delphi publicou um artigo muito interessante, sobre 5 coisas que a maioria dos programadores desconhecem sobre o Delphi. Bom, alguns talvez até conheçam, mas a grande maioria provavelmente não usa.

Você sabia, por exemplo, que podemos criar uma classe interceptora para um classe já existente (no exemplo deles, a TButton) e estender os recursos da classe original sem precisar criar uma nova classe com um nome diferente?

Não deixe de dar uma olhada nos cinco itens listados, pois com certeza, algum dos recursos apresentados poderá lhe poupar muitas horas de programação em algum momento futuro.

Share and Enjoy !

E se o Google virar “do mal”?

Até hoje, o Google tem sido considerado uma empresa “do bem”. Ótimas tecnologias, a maioria sendo oferecida de graça, mecanismo de busca imbatível, etc. fizeram com que o Google crescesse numa velocidade inacreditável. Hoje, dificilmente temos alguém que nunca utilizou alguma das tecnologias oferecidas pelo Google.

Mas e aí? O Google é bonzinho e só faz isso porque gosta de ajudar todo mundo?! Óbvio que não. O Google também quer dinheiro, aliás, deve ser uma das empresas mais lucrativas do mundo.

A coisa começa a ficar preocupante quando você pára pra pensar, e se dá conta que tudo que você faz utilizando as tecnologias do Google, está alimentando uma imensa base de dados (de valor incalculável), e que pode ser usada à seu favor, ou contra você. Se você tem uma conta Google, visite o link History e verá do que estou falando! Tudo que fez nos últimos dias, semanas, meses, está ali! O Google sabe o que você procura mais, os filmes que assistiu (youtube), pra onde você foi (maps), seus compromissos (calendar), seus amigos (gmail, orkut), etc! Imagine se tudo isso cai nas mãos de spammers, ou de empresas não muito éticas?! Obviamente, políticas de segurança garantem algum tipo de proteção, mas todos sabemos que proteção 100% segura não existe.

Por enquanto, creio que ninguém precisa se desesperar, mas é bom ficar esperto, e sempre manter uma certa “pressão” pela ética e segurança das informações.

Um outro artigo que discute essa questão pode ser lido aqui.

Share and Enjoy !

(.NET) Garbage Collector, e você pensava que nunca mais ia ter que liberar memória manualmente…

Este post mostra um cenário interessante, e alerta para o fato de que muitas vezes, mesmo usando linguagens de alto nível, que contam com Garbage Collector para liberar automaticamente a memória não mais necessária, o programador ainda terá que liberar alguns recursos manualmente, para evitar um alto consumo de memória pela aplicação.

Share and Enjoy !

Não é brasileira, mas também gosta de complicar

Apesar da Microsoft não ser uma empresa genuinamente brasileira, as vezes penso que eles fizeram algum tipo de pós-graduação no Governo Brasileiro pra aprender como complicar as coisas, ao invés de simplificar (coisa que o governo é expert).

Veja, por exemplo, o caso do (ainda não lançado) Windows 7. Teremos ao todo, sete versões diferentes do produto:

  • Windows 7 Starter (limite de 3 aplicações concorrentes)
  • Windows 7 Home Basic (para mercados emergentes?!)
  • Windows 7 Home Premium (possui o Aero, Touch, Media Center)
  • Windows 7 Professional (Remote Desktop host, Mobility Center, Presentation mode)
  • Windows 7 Enterprise (licenças por volume, boot por drives virtuais, BitLocker)
  • Windows 7 Ultimate (disponibilidade limitada, includi tudo)

Ou seja, ao invés de tentar simplificar as coisas, lançando um sistema operacional bom e de baixo custo, que qualquer um possa comprar e usar, a MS aparentemente continua mais interessada em restringir os recursos de acordo com o preço.

Mas, se for pensar bem, eles não são os únicos que agem deste modo. Veja, por exemplo, as montadoras de carros. Relógio digital, preparação para som, etc. são itens que deveriam ser padrão em qualquer versão do automóvel, afinal, o custo da inclusão desses itens no produto final não é alto. No entanto, elas preferem lançar 3 modelos de cada carro, variando os “opcionais”, e cobrando um preço muito mais alto do que o real aumento do custo, apenas para segmentar e poder “cobrar mais”.

Share and Enjoy !

1 11 12 13 14 15 30