Avançar para o conteúdo principal

Mensagens

A mostrar mensagens de 2006

Software Factories

Há muitos que consideram que o ciclo de desenvolvimento e manutenção de software, está demasiado complexo e dispendioso, sendo necessário algo mais do que modelos, patterns e metodologias mais ou menos menos ágeis. Algo também recentemente abordado neste fórum sobre a complexidade do J2EE e que o CASE/RAD tentou resolver a partir dos anos 80 mas sem sucesso. A Microsoft já tinha feito em 2004 um pouco de luz sobre a coisa, com a publicação do livro Software Factories e artigos , assunto que tem não só sido debatido e desenvolvido em alguns sites da Microsoft mas também em outros , mais , e mais , basta uma pesquisa no Google, ou similar, ou ver na Wikipedia , para nos apercebermos que a discussão mal ainda começou. As DSL - Domain-Specific Language fazem lembrar a construção de compiladores, mas mais simples, tudo (ou quase) construção modelar gráfica e com geração de código a 100% (ou quase). Trata-se de um assunto controverso, mesmo problemático, e nem todos vão chegar a um acor

Na vida há três coisas seguras: a morte, os impostos e os computadores que perdem os dados

Deve ser por influência da onda mística do milénio. A malta parece acreditar que as tecnologias de informação são qualquer coisa de mágico. Mas, de facto, trata-se apenas de máquinas construídas por engenheiros muito espertos. :-) Em todos os ramos de engenharia sabe-se uma coisa fundamental: as máquinas avariam sempre. Mais tarde ou mais cedo. Mas sempre. Nunca falha. Se calhar, os computadores deviam ser vendidos com uma banda semelhante aos maços de tabaco, a dizer: "ESTE COMPUTADOR VAI PERDER OS DADOS QUE LÁ ESTÃO REGISTADOS E NÃO HÁ NADA QUE O POSSA IMPEDIR". Portanto façam backups. Tenham computadores de reserva. Preparem-se, porque a avaria vem aí. Só não sabemos quando. A crer na sabedoria popular e nas leis de Murphy, será na altura em que o computador faz mais falta. Vem isto a propósito de quê? É que uma organização nossa conhecida teve ontem um percalço absolutamente desnecessário: têm a base de dados corrompida por uma provável falha no hardware e o último backup

"Número de desempregados licenciados quadruplicou"

Há uns dias apareceu esta notícia por aí. A frase não conta a verdadeira história, e é alarmista. De facto, não nos diz uma coisa fundamental: quanto tempo levou a dar-se este aumento. Também não nos podemos esquecer que o desemprego de licenciados tende a aumentar no final dos anos lectivos. Mas isso são pormenores de somenos importância, para quem está essencialmente preocupado com aumentar as audiências ou tiragens, mesmo que seja à custa de desinformação ou alarmismos desnecessários. Enfim, a notícia está exagerada. O que não quer dizer que seja falsa e que o problema não exista. Há, realmente, um número cada vez maior de licenciados à procura de trabalho. E o que fazer em relação a isto? O fundamental, parece-me, é que as licenciaturas têm que dar algo mais que o canudo ao fim dos anos de estudo. Vejamos o caso da informática... Ao longo dos últimos anos tenho estado frequentemente envolvido em processos de contratação de colaboradores para o desenvolvimento de sistemas de informa

SIMPLEX 2007: Uma oportunidade a não perder

O tão falado programa SIMPLEX vai ter uma versão 2007. A versão corrente foi algo criticada, como não podia deixar de ser. A versão 2007 está actualmente em consulta pública no site da Unidade de Coordenação da Modernização Administrativa . Sendo que as Tecnologias de Informação são um pilar fundamental de qualquer modernização das organizações, sugiro a todos os leitores que dêem uma olhadela pelo programa, gastem um bocadinho de tempo a pensar nele e, se lhes ocorrer, façam sugestões.

Ultimate Programming Language

Há já alguns anos que programo e tenho notado que há uma discussão que é sempre actual. Qual a linguagem de programação definitiva. A melhor que as outras todas? Aquela que toda a gente deve de aprender, porque é sem sombra de dúvida melhor. Será o Java? Será o .Net? O Perl? O Ruby? O C/C++? o Cobol? o Smaltalk? o LISP? o PHP? o ASP? o J2EE? ETC ... Encontro um paralelo na discussão de qual melhor a Arte Marcial de todas. Será o Karaté, o Judo, o Jiu Jitsu, o Kempo, o Kung Fu o Taekwondo, o Tai chi Chuan, etc. Penso que a resposta acaba por ser idêntica! Nos vários Campeonatos organizados para avaliar qual das artes é melhor, numas vezes ganhava uma, noutras ganhava outra. É impossível alguém assegurar que a arte A é sem dúvida melhor que a arte B. Até porque de vez em quando aparece alguém excepcional numa arte que é capaz de surpreender tudo e todos. Mais tarde aparece outro que ganha destaque noutra arte, etc. O que conta é a eficácia que cada um tem na arte que domina. Sempre lev

JavaPT 06

Não podíamos deixar passar aqui em claro a realização da 5ª edição do "forum" anual das tecnologias Java. Este ano designado JavaPT06, este evento realiza-se no Centro de Congressos de Lisboa, na Junqueira (antigas instalações da FIL). Como todos os anos, o evento é organizado pela Sun Microsystems e é de inscrição gratuita. A inscrição pode ser feita em www.sun.pt e a agenda é muito variada. Segundo a Sun, vêm cá diversos especialistas mundais falar sobre Java, Ajax, SOA, Gestão de Identidade e muito mais.

Segurança em VoIP (SIP)

No comentário de F. Fernández ao post “Asterisk em Máquina Virtual” ( http://bitites.blogspot.com/2006/05/asterisk-em-mquina-virtual.html ), é levantada a questão da segurança VoIP, pelo que por se tratar de um tema tão importante resolvi não colocar um comentário mas um post (mais visível para todos). É afirmado (sic) “eles sugerem fortemente que a máquina tenha possibilidade de se ligar a qualquer máquina/port remoto, e, pior, que esteja exposta à net, directamente ou por NAT, em determinados ports para receber chamadas. Ora isto, do ponto de vista da segurança de uma rede empresarial, é completamente inaceitável.” Estou de acordo, no entanto a realidade é que o SIP obriga a que os firewalls sejam SIP friendly, ou seja se portem bem para com o VoIP e como é necessário abrir a porta 5060 (SIP - sinalização) e um range dinâmico para o RTP (voz), os firewals clássicos ou ficam vulneráveis ou não conseguem distinguir entre um ataque e uma chamada VoIP e neste caso bloqueiam a comunicaçã

Benefícios da implementação do VoIP

Numa altura em que as empresas começam a preparar o orçamento do próximo ano, e através da redução de custos efectiva que esta tecnologia permite, a informação transmitida durante esta sessão poderá ter um impacto positivo na realização desse exercício. A sessão tem como objectivo alertar os participantes para as diferentes ofertas de Voz sobre IP (Voice over IP- VoIP) do mercado, desmistificar esta tecnologia e de forma estimada calcular os custos envolvidos na implementação do VoIP, incluindo comparação com tarifários dos Operadores de Rede Fixa e GSM/UMTS. O VoIP é uma forma de telefonar que, aproveitando um acesso de banda larga ADSL, Cabo ou Satélite, permite fazer chamadas dentro da Internet a custo zero, e terminando a chamada na rede pública telefónica (nacional ou internacional) com um custo mais baixo do que o normalmente praticado por qualquer operador de Rede Fixa. Para empresas com mais que um edifício, que normalmente já têm banda larga, o custo das chamadas entre os edif

Uso e abuso de recursos informáticos

O problema começou com a generalização da micro-informática nos anos 80 mas agravou-se enormemente com o aparecimento da Internet, o email e os sites web. Todos conhecemos demasiados casos de pessoas que passam o dia agarradas ao computador pessoal no seu posto de trabalho mas, estranhamente, o trabalho não aparece feito. ;-) Estes abusos têm duas facetas negativas: por um lado o trabalhador está a ganhar o seu salário enquanto está em actividades claramente pessoais e não produtivas e por outro, está a aproveitar-se indevidamente de recursos que lhe foram confiados para outros fins. Em todo o caso está claramente a prejudicar a empresa, os clientes e os colegas. Por causa disso os responsáveis pela informática das empresas vêem-se confrontados com a necessidade de monitorizar o uso dos recursos, o que é especialmente complexo nos ambientes tecnológicos actuais. Curiosamente "passou-me à frente" um artigo sobre estas questões (url mais abaixo) que apresentava umas estatística

Copianço generalizado nas universidades

Deu há dias num telejornal esta notícia do género "o rei vai nú" mas que me merece algumas considerações. Diziam os jornalistas que, nas universidades portuguesas, 2/3 dos estudantes recorriam à cábula para passar nos exames. E que isto é um hábito que já trazem do secundário. Isto diz-nos várias coisas, a começar pelo facto e os estudantes andarem na universidade só para obter o canudo , sem se preocuparem se aprendem ou não. Veja-se bem o equívoco: o que é importante para eles é o grau obtido, em vez das competências! Pois eu tenho uma novidade para vocês, estudantes: aqui fora, no mercado, valem as competências e não os graus obtidos! Acham que vão conseguir competir num mundo global com um canudo tirado com base na batota? Espera-vos a fila do desemprego! E nem pensem em emigrar, porque aqui ainda têm a vantagem da língua. Se forem lá para fora têm mesmo que saber fazer o que dizem saber, porque senão acabam por voltar com o rabo entre as pernas. Claro que os professores

DB2 Viper - Overview de funcionalidades

A IBM anunciou a disponibilidade de uma nova versão da sua base de dados DB2, denominada DB2 Viper. Nesta versão foram implementadas muitas novas funcionalidades e corrigidos bugs . A principal nova característica consiste no suporte "puro" de XML nas bases de dados, mantendo - como é óbvio - todas as funcionalidades relacionais e object relational . O suporte para XML até aqui existente no DB2 era: Inserção do XML em Blob(s), com um sql alterado para o facilitar. Mapeamento de tag(s) XML com colunas da base de dados relacional fazendo com que os ficheiros XML ao serem inseridos fossem convertidos em informação em colunas de tabelas numa bd relacional tradicional. Já existiam várias bases de dados XML (ex : Apache Xindice , Software AG Tamino ). Esta versão disponibiliza o melhor de dois mundos (Relacional e XML). Por suporte "puro" entende-se: A gravação da informação XML de uma forma hierarquica. O suporte da linguagem XQuery para consulta da informação. A arq

Asterisk em Máquina Virtual

Saiu hoje a nova versão da AstLinux , versão que corre em sistemas embeddeb com 64 MB RAM, e que também está disponível numa máquina virtual para ser corrida com o VMware Player (em Linux ou Windows). Encontram no mesmo link mais um manual sobre a Asterisk para download, com bons detalhes sobre o SIP, nomeadamente como o testar usando o Ethereal. Bom VoIP!

Anúncios Ilustrados - Um projecto de "classificados" que teve o seu tempo

"Dez anos É muito tempo" Os Anúncios Ilustrados foram desligados. Foi um projecto lançado em 1996, quando a net era uma criança e que, de forma inovadora, permitia anunciar gratuitamente com imagem. Para os clientes, havia pesquisa geográfica e avisos automáticos. As suas três versões serviram para que diversos estagiários de universidades e escolas profissionais pudessem consolidar os seus conhecimentos. Chegou a ter milhares de anúncios registados e muitas centenas de visitas diárias. Foi referido nos "100 melhores" da Net em Portugal, num inventário feito pelo SAPO em mil novecentos e trocópasso. Agora já não faz sentido e por isso foi desligado. R.I.P. P.S.: E já que estamos numa de Paulo de Carvalho "Vocês sabem lá..." ... a seca que era limpar a porcaria que lá punham nos anúncios com imagem... ;-)

Asterisk e YATE para VoIP

A Asterisk e o YATE permitem construir soluções de VoIP, desde muito pequenas (mesmo em sistemas embedded) até milhares de telefones e centrais IP interligadas. O software é gratuito com versões para Linux e Windows, podem encontrar mais informações aqui , incluindo um livro da O´Reilly para download. Depois para chamadas gratuitas para a rede fixa, podem usar alguns dos operadores indicados aqui . Alguém já usa/vai usar estas soluções ? Bom VoIP!

TV Digital por satélite

A TV Cabo emite o seu sinal por cabo e por satélite. No satélite, o sinal é digital e usa o sistema Nagravision que foi desenvolvido por uma companhia com o mesmo nome. Existe em duas versões, conhecidas como Navgravision I e 2. Estes sistemas são sistemas de acesso condicional o que significa que são emitidas de forma encriptada e serão acedidadas mediante um módulo e uma chave. Para a usar é necessário uma antena parabólica e uma set top box digital. Na antena parabólica (à frente do prato) existe um aparelho chamado LNB (Low Noise Block). O LNB recebe os sinais que vêm do statélite em frequências relativamente elevadas e converte-as em frequências mais baixas que são transmitidas pelos cabos coaxiais. A set top box recebe a frequência mais baixa que vem do LNB. Existem muitos modelos de set top box(es). A dream é um dos fabricantes destes aparelhos. Usam Linux e têm ligação Ethernet. A TV Cabo usa o satélite Hispasat 1D . Ainda tenho muito para perceber acerca deste assunto, mas

Padrões de desenho (3) - Como se classificam

Os padrões de desenho, para que sejam utilizáveis devem ser organizados sob a forma de um catálogo. Deve ser descrito de uma forma consistente, dividido por secções, de acordo com um template. A estrutura mais tipificada do template torna mais fácil a sua aprendizagem, comparação e utilização. O padrão proposto pelo Gof é: Nome - Designação sucinta. É vital uma boa escolha pois será a forma pela qual passará a ser conhecido; Classificação - Classificação tipificada; Objectivo - Que problema resolve; Identificação alternativa (AKA) - Se fôr caso disso; Motivação - Um cenário que ilustra o problema de desenho e como a solução se organiza para resolver o problema; Aplicabilidade - Em que situações o padrão deve ser aplicado; Estrutura - Representação gráfica das classes e interacções (normalmente em UML); Participantes - Classes que participam no padrão e respectivas responsabilidades; Colaborações - A forma como os participantes colaboram entre eles para cumprir as responsabilidad

JBoss Mail Server - Status ; Um exemplo com flex

A actualização do estado do servidor de mail da JBoss (ou será Red Hat ;-) ) chamou-me à atenção. Ainda não estamos numa versão 1.0 em qualidade de produção mas já está no milestone 5. Entre outras coisas diz-se : .... WebMail - ... Pessoal... os mais industriosos de vós vão fazer chichi nas calças ao ver o que fizémos em tão pouco tempo (acredito que os mais industriosos irão provavelmente compilar a partir do head do CVS e estragar-me a surpresa...). Outros que não nomearei vão provavelmente tentar ver e ficar com uma enorme dor de cabeça uma vez que nos estamos a aproximar deles e muito fácilmente os iremos ultrapassar. Para vossa informação, nós fizemo-lo com o Macromedia Flex da Adobe . O Flex é uma framework (baseada em Flash) para desenvolvimento de interfaces GUI. E é livre como na cerveja . ... Foi a utilização do flex que me chamou a atenção. No desenvolvimento que fazemos em Java usamos sobretudo JSF mas já falámos sobre esta ferramenta. Não imaginava era ler tão rá

Compiladores (1) - Introdução

A informática saiu da sua "idade média" em parte ajudado pelo aparecimento de linguagens de programação de mais alto nível do que o assembler dos CPU(s). Os computadores,no entanto, executam sequências de instruções muito particulares. Estas variam normalmente de versão para versão de um CPU e entre fabricantes de CPU(s). Com as linguagens de programação consegue-se criar programas que funcionem em várias máquinas. Para executar o código (normalmente textos numa linguagem com uma gramática bem definida) existem programas que convertem essa linguagem para a da máquina concreta. A esses programas chamam-se compiladores . Os compiladores fazem parte da computação desde os anos 50. Um compilador é um programa complexo. Em 1958, um compilador de fortran demorava algo como 18 meses / homem a ser construído. No inicio o maior problema dos compiladores era a quantidade de memória ram ou disco disponível. Por isso era tentava-se construir os compiladores em passo-único . Isto signifi

Sabotagem ou desleixo?

Já só tenho uns dias mais para preencher a minha declaração de IRS e fui ao site da DGCI buscar o simulador do IRS para 2005. Foi fácil dar com o link mas, ao segui-lo, apanhei um 404 - File not found . "Olha! Isto está mal", pensei. Entretanto lembrei-me que já não é a primeira vez que me acontece. Acho que caio todos os anos na asneira de ir ao site da DGCI sem usar o IE ... ;-) Lá me submeti aos desígnios do Senhor (BG) e lancei o Explorer, com o qual fiz o download do simulador. A instalação é fraca. Não cria links nos menus nem no desktop. É preciso adivinhar (ou ler uma eventual documentação?) que há um ficheiro de HTML que tem que se abrir para se ter acesso ao simulador. Nunca ouviram falar do Nullsoft Installer ? É open source e tudo! Dou dois cliques no ficheiro e lá o abro. Aparece-me uma linda imagem e um título que parece ser um botão dizendo "(clique aqui para iniciar)". Eu clico. E nada. No rodapé da imagem aparece o texto: "Simulador de Cálcul

Padrões de desenho (2) - O que são

O conceito dos padrões está presente em quase tudo. Os escritores escrevem de acordo com um padrão ; os gestores gerem (ou deviam) usando um conjunto de boas práticas, os professores ensinam com as formas concretas que aprenderam nas suas cadeiras de pedagogia. O termo padrão de desenho foi sistematizado por um arquitecto chamado Christopher Alexander . A grande diferença para algo que parece de senso comum foi ter proposto uma linguagem para descrição de padrões. O seu trabalho foi descrito no seu livro " A pattern language ". O objectivo de tal linguagem foi organizar o conhecimento implicito que as pessoas têm de como resolver problemas recorrentes. Alexander disse : "Cada padrão descreve um problema que ocorre várias vezes no nosso ambiente, descrevendo depois o centro da solução (do problema), de forma a que esta (a solução) pode ser usada muitas vezes, mesmo sem nunca fazer as coisas da mesma maneira ". Esta sistematização agradou aos técnicos de TI de form

WWW Compatible

O post acerca do IE ter inundado o funcionalismo público, fez-me meditar um pouco acerca do assunto. Não própriamente acerca das opções do nosso governo em particular, que não passa de um espectador num espectáculo que lhe é superior. A pergunta que se coloca é: Porque razão as SoftwareHouses fogem às normas? Impondo as suas soluções milagrosas? Claro que elas conhecem os Standards, muitas delas até contribuem activamente na sua normalização, no entanto há sempre uma novidade, algo inovador, etc ... este filme já vamos conhecendo. Será que as soluções apresentadas são realmente inovadoras e fazem a diferença? Será que justificam essa diferença? Como se sabe há uma guerra desde que há www para procurar normalizar a web. Que está longe de estar ganha. Quer a prova? Mesmo no ambiente OpenSource. Faça lá o teste ao seu browser. Visite o site http://webstandards.org/action/acid2/ ficará surpreso. Conheça quais os Browsers que passaram no Teste ( aqui ). Claro que não ficou admirado, o IE

Scott McNealy deixa de ser CEO da Sun

Depois de 22 anos à frente da Sun, Scott McNealy deixa a direcção executiva e passa a ser "apenas" chairman da Sun. Isto significa que lhe arranjaram uma prateleira dourada. McNealy era uma das lideranças fortes de Silicon Valley e a sua saída poderá reflectir-se no funcionamento da empresa deixando-a à mercê das vontades dos investidores (cuja estratégia normalmente é apenas o valor da acção na bolsa). Por outro lado McNealy é substituido por Jonathan Schwartz que era até aqui Chief Operating Officer. Schwartz é um conhecido tecnólogo o que pode significar que a Sun irá continuar a sua senda de inovação e diferença no mercado.

Copy Paste para o vim/gvim

Muitas vezes tenho de fazer copy num browser ou noutro qualquer programa e quero fazer paste do conteúdo para o vim, esteja ele numa janela de telnet ou de ssh ou local no windows o x-windows. O que acontece é que fica tudo em escada. Quando se faz o paste ele aparentemente coloca apenas os new lines esquecendo-se do carriage return . O Vasco ensinou-me um truque muito fiche. Basta activar o modo paste :-) com :set paste . Et voilá. Fazer paste já fica bem.

Padrões de desenho (1)

Há algum tempo que ando a tentar usar “padrões de desenho”. Os padrões de desenho descrevem soluções para problemas recorrentes no desenvolvimento de software . Comecei por comprar o livro que tornou esta tendência mais conhecida. O famoso “Gof”. Gof significa Gang of Four que corresponde aos autores : Erich Gamma, Richar Elm, Ralph Johnson e John Vlissides. O nome verdadeiro é : Design Patterns: Elements of Reusable Object-Oriented Software. Infelizmente cada vez que tentava ler o livro ficava com sono e quando precisava de os aplicar não tinha tempo para o ler. Continuava, no entanto a precisar desta ferramenta “como de pão para a boca”. Tentei então os sites de padrões. O mesmo problema. No entanto, há um mês atrás comprei um livro da nova coleção da O'Reilly : Head first Design Patterns. Finalmente consegui ler e perceber vários dos padrões do principio ao fim. Este livro tem uma abordagem bastante diferente do tradicional livro técnico. Faz-me lembrar um livro qu

O machado do lenhador

Há muitos anos atrás, quando os viajantes andavam a pé e as casas se aqueciam com madeira, um homem ia por uma estrada solitária e encontrou um lenhador a cortar umas árvores. Como já vinha a caminhar havia horas sem encontrar ninguém, parou e tentou meter conversa. O lenhador, por seu lado não estava muito falador. Atarefado com o seu trabalho resmungou uma resposta mal encarada ao alegre "Boas tardes!" que o viajante lhe atirara. E o "Está um lindo dia, hoje!" recebeu apenas como resposta um olhar atravessado e carrancudo. Aproveitando para descansar um pouco, o viajante entreteve-se a observar o lenhador no seu trabalho. Este estava nitidamente incomodado. A labuta corria-lhe mal. As árvores recusavam-se a cair e o lenhador bufava e suava. O machado resvalava e resaltava na madeira como se esta fosse mágica e invulnerável. Com muito esforço, uma árvorezita mais franzina lá se deixava abater de vez em quando. Depois de passar um bocado a observar este triste espe

Disco de rede

Por causa das minhas ideias para a rede lá de casa tenho andado à procura de um disco de rede. Aparentemente não existe muita coisa. Houve um gadget, no entanto que me chamou a atenção. É da Linksys e chama-se NSLU2. Básicamente disponibiliza discos USB numa rede sob a forma de um file system SMB. Investiguei mais um bocadinho e descobri que tem Linux lá dentro a tratar de tudo. Entretanto houve para aí na net pessoal que já andou a fazer hacking sobre ele ( ver ). Descobri mesmo que existe uma comunidade só de desenvolvimentos sobre o NSLU2 ( ver ). Uma das coisas interessantes é a existência de distribuições alternativas ao standard que vem da linksys. A base é o SlugOS . Com este software pode-se modificar a box para fazer mais coisas do que aquilo para que foi desenhada (partilha de disco), nomeadamente: Partilha de impressora (fazendo dele um servidor de impressão) Ligar uma webcam Ligar uma tape para fazer backup Adicionar um bluetoth USB adapter Disponibilizar os di

Idioma RAII em C++ (2)

Desta vez deixo-vos um exemplo trivial de RAII em C++, trata-se do tratamento de ficheiros na biblioteca standard. Contráriamenet ao C em C++ não é necessário abrir ou fechar explicitamente um ficheiro onde se queira escrever ou donde se queira ler, o constructor abre o ficheiro e o destructor fecha-o. Aqui vai um pequeno exemplo: #include <fstream> #include <cmath> int main(int argc, char*argv[]) { if (argc<2) return 1; std::ofstream out(argv[1]); for (double x=0.0; x<10.0; x+=0.01) out << x << " " << sin(x) << std::endl; } Penso que este exemplo mostra bem que se quisermos fazer tratar um recurso do tipo socket o ideal é escrever ume pequena classe utilitária que possa gerir a abertura e o fecho do socket.

ANTs - Uma base de dados com ambições

O ANTs é um SGBD que tem como ambição ser uma base de dados super rápida e completamente interoperativa com os SGBD(s) existentes. Don Haderle, um dos lideres do desenvolvimento do DB2 desde 1968 é um dos consultores responsáveis pela arquitectura deste motor. ANTs significa : Asynchronous Non-preemptive Tasks o que quer que isso signifique :-) Tem algumas características interessantes: Não tem locks e desenvolveram uma teoria que diz que eles não são necessários Permite modificações simultâneas a uma linha desde que a colunas diferentes Afirma ser 15 vezes mais rápida que as bd(s) relacionais existentes Tem suporte para as stored procedures de Oracle, Informix, SQL server e outras Os query(s) funcionam com as sintaxes das várias bases de dados É de homem lançar uma nova BD nesta altura do campeonato em que mesmo os fabricantes existentes metem em causa se conseguem continuar a ganhar dinheiro. Estaremos aqui para ir seguindo esta história.

Idioma RAII em C++ (1)

Aproveito o curso de C++ que estou actualmente a leccionar para discutir algumas técnicas interessantes. Hoje apetece-me falar de RAII, ou seja Resource Aquisition Is Initialization, um idioma que pode fácilmente ser implementado em C++ e que pode resolver muitas dores de cabeça. Quem vem do C já foi muitas vezes confrontado ao problema da libertação dos recursos, um exemplo clássico (em C++) será: void my_func() { ... char *my_val=f(); ... delete my_val; } char *f() { ... char * res=new char; return res; } Esta solução é pouco elegante e potencialmente perigosa: o utilizador de f() pode esquecer-se de libertar a memória gerando uma fuga de memória (memory leak). A solução do problema passa pela utilização de uma classe que assegure a libertação automática da memória, ou seja o pointer passará a ser gerido por um objecto que libertará a memória no destructor, como este é chamado automáticamente deixa de ser necessário chamar manualmente o delete. Usando a livraria standard isto daria

O que é uma POOL ?

Tenho andado a fazer implementações de mecanismos de pooling em Java 2 Enterprise Edition. Como me parece um conceito algo lato tentei a abordagem do dicionário. Alguns mostram que de facto a palavra é usada para muita coisa. A definição mais comum é "piscina". A que mais me agradou foi o que descobri na wikipedia , onde pooling é apresentada como uma técnica para guardar qualquer coisa que já não é necessária em determinado sitio (a que se chama pool ) com o objectivo de a usar quando necessário optimizando assim a utilização de recursos disponíveis. Partindo para a computação, existem vários tipos de pools: Thread Pool - Conjunto de threads livres que se vão adicionando a um fifo quando não necessárias e retirando quando se quiserem usar. Memory Pool - Conjunto de blocos de memória, todos da mesma dimensão, que se alocam inicialmente e usam à medida que necessário garantindo que o tempo de alocação de memória é constante e a fragmentação minima. Connect

Afinal tinha mais um linux em casa

Afinal o meu router wireless tem um linux lá dentro ( ver artigo ). Faz algum sentido já que o linux funciona em processadores com baixo consumo, que aquecem pouco e que chegam perfeitamente para resolver tarefas mais especializadas. Já agora. Estou a montar em casa mais um linux, agora numa set-top box ( a dream que podem aqui ver ). Uma das coisas que me permite é montar um disco de nfs ou cifs e aceder aos mp3, fotos, divx que lá tiver e visualizá-los na TV. Quero comprar um disco de rede e não faço ideia o que hei-de comprar. Alguém tem alguma ideia ? Ando também a ponderar mais outro dispositivo Linux. Trata-se da Fritz!Box . E um dispositivo que tem modem ADSL, router wireless, ligação de linha telefónica analógica e de dois telefones analógicos. Tem Qos. Faz dele o dispositivo ideal para ter numa rede caseira. Dá para usar Voip, rede sem fios e ADSL.

Atalhos na linha de comando do bash

O bash é talvez o shell mais usado tanto em Linux como em window s (o default do cygwin). Fui alertado por um colega de que a maioria das pessoas apenas sabe usar a seta para cima e para baixo para escolher o comando anterior e o comando seguinte. Podem aceder a uma artigo mais detalhado no Linux Br sobre os atalhos do bash. Ficam aqui os meus atalhos preferidos : Fazer uma pesquisa : Control-r seguido da string a pesquisar (control-r novamente segue para o comando seguinte). Mover cursor : Para o inicio - Control -a ; Para o fim - Control-e ; Para o inicio da palavra corrente - Esc B ; Para o fim da palavra corrente - Esc-F Apagar até ao final da palavra - Esc-D Apagar a linha toda : Control-U Limpar o ecrã : Control-L Executar directamente o último comando começado por uma string : !str Executar o último comando : !!

Regras para sites de serviço público

Para uma coisa tão simples como saber se um avião partiu à hora do aeroporto de Lisboa sou obrigado a usar o Internet Explorer (ver o meu post aqui ). Numa época em que tanto se fala da defesa do consumidor por que razão os serviços públicos não são obrigados a um minimo de compatibilidade com as normas?

Método de Monte Carlo

Este meu primeiro post é para vos apresentar de uma forma lúdica um método muito utilizado na matemática computacional. Trata-se do método de Monte Carlo. O nome vem do facto de a geração de números aleatórios estar na base do método, e de o Mónaco ser conhecido pela roleta que é um excelente gerador de números aleatórios. Históricamente o primeiro exemplo é o cálculo de π realizado por Buffon no século XVII, usando uma agulha e um soalho. Mais fácil de compreender é o seguinte método de cálculo de π. Tiramos à sorte pontos num quadrado de lado 1 (usando uma distribuição uniforme) conta-se o número de pontos que ficam dentro do quarto de círculo de raio 1, a proporção de pontos no circulo é uma aproximação da proporção entre a área do quarto de cículo e a área do quadrado, ou seja π/4. Este método usa-se em inúmeros problemas nomeadamente em física e na simulação dos mercados financeiros. Se quiserem ver um programa em C que utiliza o Método de Monte Carlo para verificar a solução do p

Red Hat compra JBoss

A JBoss chegou a acordo com a Red Hat para ser comprada ( ver anuncio ). A JBoss é uma companhia criada por alguns developers do servidor aplicacional JBoss para vender serviços (desenvolvimento, instalação, formação) sobre este produto. O sucesso foi tal que chegaram aos 200 empregados no final do ano passado e o seu servidor é por muitos considerado o servidor aplicacional de Java mais usado (a contabilização é dificil e discutível). A Red Hat até aqui vendia serviços sobre o Jonas - um produto livre mas concorrente. Com esta aquisição a Red Hat posiciona-se com uma oferta completa nas componentes para aplicações Java 2 Enterprise Edition. Vamos ver se 1 + 1 = 2.