Blog do André

Os ficheiros PDF são documentos que nos permitem manter a sua apresentação semelhante em diversos dispositivos. Suportam também várias funcionalidades, como formulários integrados, informações dinâmicas e limitação de distribuição. Entre estas funcionalidades extra, está também presente a opção de colocar uma password para edição ou até para leitura. Um problema bicudo é quando precisamos de remover esta password, mas não temos o programa para o efeito à mão…

Para resolver este problema, encontrei o PDFUnlock.com. Este site permite fazer exatamente isso, remover uma password de acesso para leitura ao documento, no caso de a sabermos. Isto pode ser útil em diversas situações, por exemplo, algumas versões do Evince e outras mais antigas do Adobe Reader não suportam esquemas de encriptação recentes e, mesmo tendo em mãos a password, não é possível ler o ficheiro. Se removermos a password, esse problema fica resolvido. Outro caso de uso pode ter a ver com o facto de querermos arquivar uma versão sem password para posterior consulta mais tarde.

No site, basta fazer upload do ficheiro PDF, e introduzir a password atual quando forem questionados. Se inserirem a password corretamente, irá começar a transferência do ficheiro desbl0queado para o computador. Simples e eficaz, sem problemas, e gratuito, para ficheiros PDF até 5 MB! A mim safou-me de um professor que escolheu meter passwords nos ficheiros para evitar a sua distribuição, mas que me dificultavam o acesso aos mesmos. Experimentem!

http://www.pdfunlock.com

Após um pequeno contratempo que tive com o computador, ao ponto do sistema operativo ficar completamente irrecuperável, resolvi começar a adotar uma política de backups que se ajustasse às minhas necessidades. Já foram muitos anos de “avaria-instala de novo”, mas o problema não está na reinstalação: as configurações personalizadas, entre outras pequenas alterações são perdidas, e pode levar muito tempo a restaurar tudo como antes.

Para o efeito comprei um disco externo, concretamente um Iomega Prestige USB 3.0 de 1 TB. A drive foi reconhecida corretamente pelo Windows 7, e pelo Ubuntu (quando tive necessidade de arrancar por um live CD para tentar salvar alguns ficheiros). Mas quando tentei iniciar uma imagem do disco com o utilitário de Cópia de Segurança do Windows, dá-me o erro 0x8078002A e o processo é cancelado. Com grande frustração, uma vez que comprei a drive de propósito para utilizar com esta funcionalidade, parti em busca de problemas semelhantes.

Ao que concluí, o erro tem a ver com a quantidade de bytes por setor que o disco possui. Atualmente, as drives mais recentes e de maior capacidade são formatadas de modo a usarem 4KB por setor (4096 bytes). No entanto, o suporte do Windows para essas drives não está ainda implementado. Na página, remetem os utilizadores a procurar suporte junto dos fabricantes. No meu caso, a Iomega tem uma página no FAQ sobre o assunto, e ainda uma resposta num fórum de suporte, que nos deixa num indesejável ciclo da Microsoft aconselhar suporte junto do fabricante, e o fabricante a dizer que é a Microsoft que tem de tratar do problema…

Mas nem tudo é mau: os utilizadores de discos da Western Digital (WD) têm uma solução, que passa por formatar o disco com definições de fábrica, e assim garantir que o Windows suporta o disco. Possivelmente outros fabricantes têm ferramentas similares, mas infelizmente não é o caso da Iomega. E eu que era para comprar um da WD… :( Infelizmente estava esgotado.

Agora, resta-me procurar um programa que crie imagens do disco… e que seja gratuito.

Muito se tem especulado sobre o Windows 8. Entre as novidades mais marcantes, como a adoção do estilo Metro para a interface de utilizador, encontrei uma evolução, ao meu ver, bastante positiva do Gestor de Tarefas do Windows (também conhecido por TaskManager).

Até ao Windows 98, o Gestor de Tarefas era uma caixa que listava os nomes dos processos, e poucas opções tinha para além disso. Era algo assim:

Nos dias que correm, existem muitos navegadores alternativos. Entre os mais conhecidos, temos o Internet Explorer, Firefox, Chrome, Opera, Safari, … Cada um pode escolher o que mais lhe convém. Infelizmente, existem webmasters que insistem em tornar os seus websites válidos ou funcionais para um único navegador, (provavelmente o que “melhor” funciona, ou talvez apenas o da sua preferência…).

As docks (ou em português, docas) estão bastante populares ultimamente. Não, não me estou a referir às docas onde estão os barcos, mas sim à docas que podem instalar no desktop. Um excelente exemplo é o tão conhecido Dock do Mac. São bonitas, vistosas, mas acima de tudo trazem algumas evoluções face à tradicional barra de tarefas.

Hoje tive a necessidade de criar um pequeno programa em C# que tinha em anexo uma janela de consola para mostrar algum ouput sob forma de texto de uma tarefa que estava a ser executada. Obter este efeito em C# é bastante simples: basta usar a API do Windows. Na vossa aplicação Windows Forms, comecem por localizar o ficheiro Program.cs, e na zona de imports (using, no topo do ficheiro), adicionem o seguinte:

using System.Runtime.InteropServices;

Dentro da classe Program, e fora do método main(), coloquem a seguinte referência à função da API que vamos usar:

[DllImport("kernel32")]
static extern bool AllocConsole();

Posto isto, podem fazer a chamada à função no vosso método main(), antes do código que já está colocado por omissão:

// Abrir a janela de consola em anexo
AllocConsole();

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

Corram a aplicação et voilà! Lá está a consola aberta, juntamente com o programa. Para escreverem na consola, basta usar a classe Console, tal como numa aplicação de consola normalíssima. Adicionem um botão no formulário e, no evento de  clique, adicionem o seguinte:

Console.WriteLine("Este texto vai aparecer na consola!");

Umas notas/restrições:

  • Ao fechar a consola, a aplicação Windows Forms também fecha (e vice-versa)
  • Também podem pedir input ao utilizador pela consola. Nos casos em que testei, a janela gráfica ficava “bloqueada” quando a janela de consola recebia o foco para digitar o input

Fonte: How to Console Window from C# Windows Application?

Para os que actualizaram para o Windows Live Messenger (WLM)  2011, encontraram certamente surpresas que não são do agrado de todos. Para quem, como eu, gosta apenas de falar no messenger através de texto ou voz, sem mais extras de redes sociais, ou nomes virados do avesso (bem irritante esta mudança!).

Aqui ficam 4 simples passos para voltar ao WLM 2009!

  1. Desinstalar o WLM 2011, caso contrário vão ter uma mensagem de erro a indicar que existe uma versão mais recente.
  2. Fazer o download do WLM 2009. O download é grande (132 MB), porque inclui toda a antiga suite de programa Windows Live, entre os quais o WLM 2009 em português de Portugal (pt-PT).
  3. Fazer o download do Messenger Link Reviver. É uma ferramenta gratuita que permite utilizar o WLM 2009. Basta abrir a ferramenta, e carregar no botão ‘Start’.
  4. Abram o WLM 2009, e confirmem que conseguem iniciar sessão normalmente, e ver a vossa lista de contactos.

Aqui funcionou bem. Como nota, a versão do WLM é a 14.0.8089.726, necessária para este processo funcionar.

Fontes:

O fim deste ano está a chegar e muita coisa mudou na minha vida. Em informática foi, sobretudo, um ano de aprendizagem e não só: aprendi a gerir melhor o meu tempo online e a simplificar tarefas rotineiras. De todas estas mudanças, quero partilhar as 5 que mais me marcaram, e como atingi-las facilmente para manter níveis produtivos.

O Google é, provavelmente, o motor de busca mais utilizado globalmente. A utilização é agradável, os resultados são os pretendidos na maioria dos casos. E como se ainda não houvesse nada para inovar, eis que nos é apresentado o Google Instant: trata-se de um conceito de pesquisas instantâneas, isto é, as pesquisas são efectuadas enquanto o utilizador está a introduzir os termos de pesquisa.

Quem programa em PHP e nunca se deparou com este erro? Pois é. Mais cedo ou mais tarde, acaba por acontecer, quer seja por descuido, quer seja por uma solução mal desenhada. É provavelmente um dos erros mais frequentes no PHP, mas que pode ser resolvido de forma muito rápida e sem complicações. Neste artigo, vamos abordar algumas estratégias para resolver o problema e compreender porque é que ele aparece, tudo em 3 simples passos.