7/1/2008 9:14:57 PM
http://msdn.microsoft.com/en-us/library/cc216514.aspx
Comentários
6/1/2008 10:53:35 AM
Ao tentar fazer o boot do Ubuntu 8.04 no Virtual PC 2007 SP1, a máquina virtual tranca com o seguinte erro: "An Unrecoverable processor error has been encountered".
Para funcionar é necessário seguir estes dois passos:
1) No menuzinho de boot do CD, pressione F4 e selecione "Safe graphics mode";
2) Pressione F6 e adicione no final da linha os parâmetros "vga=791 noreplace-paravirt" (sem as aspas). Também fica como sugestão remover os parâmetros "quiet splash" para que as mensagens do boot não sejam escondidas.
Comentários
5/19/2008 12:20:58 PM
The atmospheric greenhouse effect, an idea that authors trace back to the traditional
works of Fourier 1824, Tyndall 1861, and Arrhenius 1896, and which is still supported
in global climatology, essentially describes a Fictitious mechanism, in which a planetary
atmosphere acts as a heat pump driven by an environment that is radiatively interacting
with but radiatively equilibrated to the atmospheric system. According to the second law
of thermodynamics such a planetary machine can never exist. Nevertheless, in almost
all texts of global climatology and in a widespread secondary literature it is taken for
granted that such mechanism is real and stands on a firm scientific foundation. In
this paper the popular conjecture is analyzed and the underlying physical principles are
clarified.
http://arxiv.org/abs/0707.1161
Se encontrar algum erro, por favor comente.
Comentários
5/11/2008 1:27:43 AM
http://www.vnode.ch/fixing_seekdir
"Much to my surprise I not only found this problem in all other BSDs or BSD derived systems like Mac OS X, but also in very old BSD versions. I first checked 4.4BSD Lite 2, and Otto confirmed it is also in 4.2BSD. The bug has been around for roughly 25 years or more."
Comentários
5/3/2008 7:13:23 PM
A seguir vou apresentar um resumo de como criar e usar bibliotecas dinâmicas no
Linux. Para um tutorial mais completo por favor veja:
http://www.ibm.com/developerworks/linux/library/l-dll.html
1) Crie a função que deseja exportar utilizando o modificador
extern "C"
como no exemplo abaixo.
extern "C" int soma(int op1, int op2)
{
return op1 + op2;
}
2) Para seguir este exemplo passo a passo, grave o código em um arquivo chamado
"func.cpp", e compile-o utilizando a linha de comando:
g++ -c -fpic func.cpp
3) A extensão utilizada para bibliotecas dinâmicas no Linux é ".so", equivalendo
à extensão ".dll" do Windows. Para linkar o código e gerar a biblioteca, execute
o comando a seguir:
g++ -shared -lc -o func.so func.o
Após executar este comando, será gerado o arquivo "func.so" que é a nossa
biblioteca dinâmica com a função "soma". Para visualizar as funções exportadas
por esta biblioteca, utilize o comando:
nm func.so
4) Agora vamos criar um programa que carrega a biblioteca dinâmica e chama a sua
função. O código para este programa é apresentado abaixo. Por favor grave-o no
arquivo "teste.cpp".
#include <iostream>
using namespace std;
#include <dlfcn.h> // funções para carregar e obter funções de libs dinâmicas
int main()
{
void* pLib = 0;
typedef int (*PFUNC_SOMA)(int, int);
PFUNC_SOMA pSoma = 0;
pLib = dlopen("func.so", RTLD_LAZY);
const char* pError = dlerror();
if (pError != 0)
{
cout << "dlopen retornou " << pError << endl;
return -1;
}
pSoma = reinterpret_cast<PFUNC_SOMA> (dlsym(pLib, "soma"));
pError = dlerror();
if (pError != 0)
{
cout << "dlsym nao encontrou funcao soma. erro: " << pError << endl;
dlclose(pLib);
return -1;
}
int res = pSoma(2, 3); // chama a função soma da lib
cout << "resultado: " << res << endl;
dlclose(pLib);
return 0;
}
O header "dlfcn.h" possui as declarações das funções utilizadas para carregar e
obter os ponteiros para as funções da lib dinâmica. As funções usadas neste
exemplo são:
- dlopen(): carrega a biblioteca dinâmica informada; - dlsym(): obtém o ponteiro
para uma função da biblioteca; - dlclose(): descarrega a biblioteca dinâmica,
deve ser usado quando não for mais necessário chamar funções da lib.
5) Para compilar o programa utilize a linha de comando:
g++ -ldl -o teste teste.cpp
6) Pronto. Antes de executar o programa, devemos setar o path onde o sistema irá
procurar por bibliotecas dinâmicas, com o comando abaixo:
export LD_LIBRARY_PATH=.
O diretório "." indica que queremos carregar as libs procurando no diretório
atual, obtendo o mesmo comportamento que no Windows.
Ao executar o programa, a biblioteca "func.so" será carregada e sua função
"soma" será chamada, apresentando o resultado abaixo:
cesar@l1:~/testes$ ./teste
resultado: 5
cesar@l1:~/testes$
Comentários
1/29/2008 10:09:47 PM
Vejam que interessante essa notícia:
http://blogs.msdn.com/brian_jones/archive/2008/01/16/mapping-documents-in-the-binary-format-doc-xls-ppt-to-the-open-xml-format.aspx
Diz que a documentação dos formatos binários do Office (.doc, .xml, .ppt) estão disponíveis abertamente pra quem quiser desde 2006, através de solicitação via email. Inclusive a SUN e a IBM já tiveram acesso a essa documentação. A licença permite a implementação sem o pagamento de royalities.
Mais informações de opções de interoperabilidade
aqui.
A partir de 15 de fevereiro, a Microsoft vai disponibilizar essa documentação diretamente no site, com uma licença aberta. Além disso, a MS vai desenvolver software open source para conversão dos formatos binários para OpenXML.
Me parece que a desculpa para as incompatibilidades do Open Office não devem mais ser atribuídas à necessidade de engenharia reversa, há um bom tempo...
Comentários
1/21/2008 7:00:22 PM
Achei esse ótimo tutorial de DirectX:
http://www.directxtutorial.com/Tutorial9/tutorials.aspx
O DirectX é hoje a API gráfica de melhor performance pro Windows. Tem suporte a transparências e anti-aliasing no hardware de video, sendo uma alternativa boa tanto pra gráficos 3D como 2D.
Comentários
12/29/2007 9:24:37 AM
http://news.netcraft.com/archives/2007/12/29/december_2007_web_server_survey.html
Comentários
12/23/2007 1:05:12 AM
Muito interessante
este post explicando questões de licenciamento da interface gráfica do Office. Resumindo, existe um contrato que permite "copiar" a interface gráfica do Office sem pagamento de royalties. Isso vale tanto pra aplicações comerciais como aplicações open source, em qualquer plataforma inclusive Mac e Linux... Baita presentão pra humanidade. :-) A única restrição é que essa licença não pode ser usada pra criar produtos que sejam concorrentes diretos do próprio Office 2007. Também é necessário respeitar algumas diretrizes para que a aparência fique coerente com a implementação do Office.
O site oficial da Microsoft com o link para fazer o licenciamento e o documento com as diretrizes fica aqui:
http://msdn2.microsoft.com/en-us/office/aa973809.aspx
O blog onde achei isso tem muitas informações interessantes sobre interfaces gráficas em geral, como
este outro artigo.
Comentários
12/21/2007 4:34:18 PM
http://www.guardian.co.uk/technology/2007/dec/20/research.it
Comentários
12/18/2007 8:45:47 AM
Achei esse formato de entrevista extremamente interessante:
http://tirania.org/blog/archive/2007/Sep-05-2.html
Comentários
12/17/2007 9:47:24 PM
http://sys-con.com/read/461583.htm
http://www.sys-con.com/read/475174_p.htm
10. What do you think stops/slows down innovation?
Lots of specific tasks; tight deadlines. Lack of general direction; lack of deadlines. Lack of rewards, trivial rewards. Emphasis on huge, life-altering, monetary awards for the very few. Emphasis on individuals moving from technical work into management.
...
I doubt that the more personal aspects of innovation, such as calculated risk taking, perseverance, and curiosity can be taught, at least not to adults.
Comentários
12/11/2007 9:53:27 PM
Em 1851 Schopenhauer já denunciava o tipo de impostor que hoje é tão comum de se achar em jornalecos e blogs
espelhados pela Internet. Invejosos insatisfeitos com o sucesso alheio, incapazes de produzir qualquer coisa que
tenha valor. Muito comuns no meio universitário, onde vagabundos se escondem no papel de professores, sem a
obrigação de mostrar resultados. O único objetivo desses pilantras é capturar o maior número possível de mentes
jovens, ignorantes, e moldá-las à sua semelhança, disseminando a cultura de destruição e negação do reconhecimento
de méritos. Não suportam a existência de pessoas com inteligência superior, nem o sucesso financeiro concedido a
essas pessoas. Não suportam aqueles que promovem a evolução do mundo, portanto. Além de classicamente defenderem o
comunismo, com a popularização da informática encontraram nos softwares públicos um meio de se apropriar do trabalho
alheio. E como não poderia ser diferente, direcionam a inveja a um dos maiores conglomerados de gênios da
atualidade, que é a Microsoft. Não sentem vergonha alguma de mentir descaradamente e de forma doentia. Eu não
citaria exemplos desses seres desprezíveis, se não fossem casos tão gritantes de mentira como
nesse post aqui.
A minha esperança é que mesmo as pessoas mais alienadas e ignorantes não caiam nesse tipo de conversa fiada:
"Várias vezes enquanto a rede windows da prefeitura caia, a rede dos telecentros continuava funcionando.",
"Falei para o Waldemar que esta história do windows garantir empregabilidade é papo furado.",
"O Vista não roda em máquinas de última geração. Ele precisa de mais de 2 Gbs."
"Deixei bem claro que quem garante democracia em SP é a rede GNU/Linux dos telecentros. Ela dá opções aos cidadãos. Mostrei que o "papinho da livre escolha" que a micro$oft divulga é uma falácia."
Chego a me impressionar com essas afirmações mentirosas e sem fundamento. O que mais me preocupa é o cara mentir até
sobre o mercado de trabalho, porque isso pode prejudicar diretamente as pessoas que buscam uma carreira na informática.
No mercado de desktop o Linux tem participação inferior a 2%, enquanto que no mercado de servidores web que é
onde tradicionalmente sempre se deu bem, vem perdendo lugar pro Windows como pode ser visto
aqui.
Esse fato se deve principalmente à enorme produtividade e facilidade de desenvolvimento de aplicações proporcionada
pelo .NET, que é indiscutível em relação a tecnologias web ultrapassadas como o PHP. Levando em consideração
que existe
.NET até pro Linux, fica evidente a maldade que é
esconder isso de quem quer entrar no mercado, principalmente usuários do telecentro ávidos por conhecimento. Recai no
mesmo problema do professor inútil e invejoso que só quer neutralizar a capacidade dos seus aprendizes. E ainda
tem a coragem de falar em "democracia" e "liberdade". Muito triste e desonesto.
A seguir cito alguns trechos do gênio Schopenhauer, que continuam mais válidos do que nunca.
"
...
As cabeças banais simplesmente não podem se decidir a escrever do modo como pensam, porque pressentem que, nesse
caso, o resultado teria um aspecto muito simplório. Mas já seria alguma coisa. Se eles apenas se dedicassem com
honestidade à sua obra e simplesmente quisessem comunicar o pouco e usual que de fato pensaram, da maneira como
pensaram, seriam legíveis e até mesmo instrutivos dentro da sua esfera própria. Só que, em vez disso, esforçam-se
para dar a impressão de ter pensado mais e com mais profundidade do que o fizeram realmente.
Essas pessoas apresentam o que têm a dizer em fórmulas forçadas, difíceis, com neologismos e frases prolixas que
giram em torno dos pensamentos e o escondem. Oscilam entre o esforço de comunicar e o de esconder o que pensaram.
Gostariam de expor o pensamento de modo a lhe dar uma aparência erudita e profunda, para que as pessoas achem que
há, por trás deles, mais do que percebem no momento. Assim, ora lançam os pensamentos de modo fragmentário, em
sentenças curtas, ambíguas e paradoxais, que parecem significar muito mais do que dizem; ora os apresentam numa
torrente de palavras, com a mais insuportável prolixidade, como se fossem necessários verdadeiros milagres para
tornar compreensível o sentido profundo das suas idéias - quando elas na verdade se reduzem a algo muito mais
simples ou mesmo a uma trivialidade.
...
Quem tem algo digno de menção a ser dito não precisa ocultá-lo em expressões cheias de preciosismos, em frases
difíceis e alusões obscuras, mas pode se expressar de modo simples, claro e ingênuo, estando certo com isso de que
suas palavras não perderão o efeito. Assim, quem precisa usar os artifícios mencionados antes revela sua pobreza de
pensamentos, de espírito e de conhecimento. "
A arte de escrever, Schopenhauer
Comentários
11/29/2007 9:58:22 PM
Rumores?
http://www.winehq.org/pipermail/wine-devel/2007-November/060855.html
http://www.winehq.org/pipermail/wine-devel/2007-November/060851.html
"PE Files were rejected on Tiger, which is interesting to me because I don't
think that this is just a hold over from EFI support.
I think it may be a sign
of future addition of a Win32 subsystem to OS X."
Comentários
11/26/2007 1:13:47 PM
Relembrando...
Aqui tem um resumo dos reusultados no decorrer da temporada.
Comentários
11/19/2007 1:51:58 PM
http://www.microsoft.com/express/download/
Comentários
11/16/2007 4:13:59 PM
Estou me desfazendo de livros antigos que não uso mais, mas que certamente podem contribuir para aumentar o conhecimento de outras pessoas ou servir de referência para universitários.
Os mais interessantes:
Core Java 2: Vol 1 Fundamentos (R$ 30): um dos livros com melhor didática pra quem quer aprender a linguagem Java. Muito agradável de ler e empolgante. Já me proporcionou muito prazer, mas estou vendendo porque não me interesso mais pelo Java.
Redes de computadores: curso completo (R$ 40): estou vendendo esse livro porque ele fica muito no feijão com arroz, sem se aprofundar na teoria. Mas justamente por isso, oferece uma leitura bastante acessível e prática, com o mínimo que todo profissional relacionado com a informática deve saber.
Inside the Java 2 Virtual Machine (R$ 30): leitura fortemente recomendada pra quem quer entender em detalhes como funciona uma máquina virtual; este livro também é empolgante principalmente pra quem quer construir ou estudar compiladores e ambientes de execução modernos.
- Microsoft C# segredos da linguagem (R$ 30): este livro ensina o básico da linguagem C# 1.0; apesar de já estar quase sendo lançado o C# 3.0, os assuntos abordados neste livro continuam atuais para quem quer aprender a linguagem. O C# 2.0 e 3.0 adicionam funcionalidades sem alterar o núcleo da linguagem, que continua sendo o primeiro passo no aprendizado;
Comprando todos os livros, dou mais dois de brinde. hehe: "UML - Guia do usuário" e "Modelagem e projetos baseados em objetos".
Comentários
11/14/2007 9:35:03 PM
Fiquei positivamente surpreso ao ver este site de acompanhamento de vôos da Infraero:
http://www.infraero.gov.br/voos/index.aspx.
A responsividade do site é excelente, graças aos refreshs feitos com Ajax. Mais especificamente, usando o
toolkit Ajax ASP.NET da Microsoft.
Fico feliz em ver tecnologia de ponta sendo usada num site do governo. É um alívio ver que pelo menos em algumas áreas, o dinheiro público é bem empregado. Parabéns aos profissionais responsáveis pela escolha da plataforma. Tiveram a lucidez de ver que o custo total de desenvolvimento pode ser menor mesmo com o pagamento de licenças de software, graças ao aumento de produtividade e qualidade.
Comentários
11/14/2007 8:37:14 PM
Dei uma atualizada nos
links.
Comentários
11/12/2007 6:19:07 AM
Em breve estarei usando este componente nas páginas de administração do blog e envio de comentários:
http://www.codeplex.com/rte
Comentários
11/7/2007 10:35:14 PM
Comentários
11/4/2007 6:25:57 PM
Um antigo sonho da minha adolescência era construir uma CPU do zero utilizando circuitos integrados discretos. Certa vez cheguei a comprar cerca de 20 CIs, principalmente latches
74hc373 para fazer um teste de conceito de chaveamento do barramento de dados. Eu estaria satisfeito se conseguisse implementar meia dúzia de instruções e fazer algum processamento primitivo com alguns registradores de 8 bits. :-) Mas nunca levei isso adiante e decidi que seria um passatempo interessante para retomar na minha velhice.
Para a minha grande surpresa um cara já fez um computador que consegue rodar o Minix, utilizando apenas CIs discretos! O computador se chama Magic-1. Detalhes sobre o projeto podem ser vistos nesse site:
http://www.homebrewcpu.com/.
O site apresenta todos os detalhes do projeto, incluindo os
esquemas e listas de materiais.
Sessão de depuração do Magic-1
Magic-1 montado no gabinete
Comentários
10/31/2007 8:46:47 PM
http://www.macnn.com/articles/07/10/31/new.trojan.targets.macs/
"A new trojan horse designed specifically for Mac OS X systems has been discovered on several pornography websites that can hijack Web traffic, according to security firm Intego."
Agora além de
vulnerabilidades e exploits que permitem assumir o controle total da máquina remotamente, usuários Apple também precisam ficar atentos com vírus e cavalos-de-tróia. :-)
Comentários
10/30/2007 12:39:03 AM
Process Explorer v11.03:
http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/ProcessExplorer.mspx
Comentários
10/29/2007 11:45:48 PM
Olá! Bem-vindo ao meu novo blog. Vou compartilhar aqui informações relacionadas às minhas áreas de interesse, principalmente o desenvolvimento de software.
Falando em desenvolvimento de software... O engine deste blog foi desenvolvido por mim e tem como principal característica a gravação dos dados diretamente em arquivos XML, sem a utilização de servidor de banco de dados. Optei por esta solução porque os servidores de banco de dados suportados pelo provedor são softwares públicos cuja qualidade não me agrada (MySQL e Microsoft Jet Database Engine, o velho engine do Access).
Utilizei .NET e a linguagem C# no desenvolvimento deste engine... Teoricamente também deve funcionar sem problemas no Mono. Pretendo organizar e disponibilizar os fontes em breve. Caso alguém tiver interesse, é só me solicitar que eu envio os fontes como estão.
Obrigado pela atenção! Até breve.
Comentários
(c) 2007 Cesar Mello - http://mello.sentinelas.org - cesarmello @ users.sourceforge.net