Saft-PT Validador disponivel no Portal das Finanças

Tive agora conhecimento através de um comentário num post antigo sobre o SAFT de que as Finanças disponibilizam agora no seu site uma ferramenta que permite validar o ficheiro do SAFT.

O endereço da aplicação para validação é VALIDADOR DE FICHEIROS SAF-T_PT, é uma aplicação em JAVA por isso só necessitam de ter o dito instalado e aceder á página para poderem usar a ferramenta.

Esta aplicao verifica se o seu ficheiro SAF-T_PT, em formato XML, respeita as regras de estrutura definidas pela DGCI na Portaria n. 1192/2009, de 08 de Outubro, que alterou a Portaria n. 321-A/2007, de 26 de Março.
Este programa, se utilizado on-line valida o ficheiro SAF-T_PT, em formato XML, que indicar, sem que seja necessário transportar os dados para o servidor.

Além deste oficial, existem na internet muitos mais “validadores” disponiveis, mas creio que este será o local certo para validar.

Já agora aproveito para avisar para terem cuidado com os locais onde submetem os vosso ficheiros SAFT, não sabem quem é que está do outro lado e o que pode fazer com os vossos dados de facturação!!

Obrigado Mauricio pela dica.

Descompilar código .net (.net Refletor)

screenshot_full_screen

Uma das coisas que sempre me assustou no .net é a facilidade com que se consegue chegar ao código original de um executável ou libraria baseada na framework.

Existe uma serie de ferramentas que permitem de uma forma fácil, rápida e simples ver o código de uma aplicação .net.

Dessas ferramentas destaco uma que creio ser a mais popular que é o .NET Reflector da Redgate, para aceder ao código de uma aplicação basta clicar no botão browse e seleccionar a assembly que queremos ver o código e com o botão direito fazer disassemble. Claro que não incentivo ninguém a andar a esmiuçar o código de aplicações de terceiros. Eu uso frequentemente esta ferramenta para estudar o código das librarias da própia framework e ver como é que os senhores da Microsoft implementam certas funcionalidades e obter algumas luzes das melhores práticas a vários niveis na programação em “cima” da framework.

Comparação Velocidade Servidores DNS – part 2

Um leitor do blogue testou a velocidade da resolução dos mesmos dominios que eu no artigo anterior, com os mesmos servidores DNS mas apartir de um ISP diferente, e acrescentou á lista o Servidor DNS do seu ISP que é a Claranet PT.

Os resultados são que mostra a tabela seguinte:

_ antoniocampos.net microsoft.com digg.com fccn.pt
OpenDNS (208.67.222.222) 576 36 37 93
Google DNS (8.8.8.8) 55 48 51 135
Sapo (194.65.5.2) TimedOut TimedOut TimedOut Timed Out
Telepac (194.65.14.27) 16 11 21 11
PT-Prime(62.48.131.10) 20 13 12 17
Zon  (212.113.161.226) 16 15 14 11
Claranet PT (195.22.0.136) 10 22 10 14

Os resultados embora diferentes dos meus, revelam mais uma vez que os servidores do própio ISP são os que resolvem nomes mais rapidamente, pelos motivos expostos no artigo anterior.

Apesar de o autor da tabela não ter reclamado créditos da mesma, agradeço o trabalho e sobretudo a partilha do mesmo. Obrigado Zex.

Comparação Velocidade de Servidores DNS, qual o mais rápido?

Nos últimos tempos tenho assistido a muitas discussões sobre DNS, cada um tem a sua opinião quanto ao melhor serviço, de forma a dissipar as minhas duvidas resolvi fazer um teste simples para me dar uma ideia de qual o melhor serviço de resolução de nomes. Testei os seguintes servidores DNS:

OpenDNS (208.67.222.222)

Google DNS (8.8.8.8)

Sapo (194.65.5.2)

Telepac (194.65.14.27)

PT-Prime(62.48.131.10)

Zon Tv-Cabo (212.113.161.226)

O teste consiste num query simples pelo nome de alguns domínios, os domínios escolhidos foram os seguintes :

antoniocampos.net (Domínio pouco conhecido, quase de certeza que não existe em cache!)

microsoft.com (Domínio Popular* com muitos pedidos!!)

digg.com (Domínio Popular* com muitos pedidos!!)

fccn.pt (Domínio português com servidores DNS portugueses)

* 2 domínios nas mesmas condições para demonstrar que não é apenas a resposta do servidor DNS a quem efectuamos o pedidos de resolução que influencia o resultado.

Servidor DNS antoniocampos.net microsoft.com digg.com fccn.pt
OpenDns 417 50 51 15
Google DNS 62 54 61 129
Sapo 253 13 17 TimeOut
Telepac 13 18 13 101
Pt-prime 22 14 13 24
Zon 15 15 14 19

O resultado é expresso em mili-segundos medidos entre o pedido e a recepção da resposta.

A tabela é elucidativa, e confirma o que sempre defendi. Os servidores do OpenDNS e do Google ate podem ser rápidos, mas nós distantes fisicamente, mesmo que respondam muito rapidamente aos pedidos de resolução, o tempo que o nosso pedido demora a atravessar o Oceano e voltar também influi no tempo de resposta. O que sempre aconselhei é a utilização dos servidores DNS do ISP, uma vez que é uma ligação mais próxima e optimizada.

A forma como os próprios domínios estão configurados podem influenciar na velocidade do pedido, quando um domínio tem um TTL muito baixo os servidores de DNS tem que fazer queries mais frequentes o que leva a uma demora maior.

A popularidade do domínio também conta, uma vez que existe mais possibilidades de o mesmo já estar na cache do servidor DNS e aquando do nosso pedido o servidor já ter a resposta pronta e não tem que interrogar outros servidores, enquanto esperamos. Um teste simples para perceber isto é fazer 2 vezes o mesmo pedido e comparar a diferença de tempo de resposta entre o primeiro e o segundo.

Além destes muitos outros factores podem influir no tempo de resposta do Servidor DNS, tentar enumera-los seria um trabalho longo complexo e sempre incompleto.

Se quiserem fazer um teste idêntico a este, existe um comando em linux que é o Dig que permite obter o tempo de resposta de um servidor DNS para um determinado domínio a sintaxe é “dig @SERVIDORDNS DOMINIO” por exemplo dig @8.8.8.8 antoniocampos.net (pedir ao Google DNS o ip do domínio antoniocampos.net) o resultado será algo do género:

; <<>> DiG 9.10.3-P4-Debian <<>> @8.8.8.8 antoniocampos.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50108
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;antoniocampos.net. IN A

;; ANSWER SECTION:
antoniocampos.net. 299 IN A 104.28.16.20
antoniocampos.net. 299 IN A 104.28.17.20

;; Query time: 13 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; MSG SIZE rcvd: 78

Já agora o teste foi efectuado com uma ligação à internet da Telepac. Se quiserem partilhar os resultados com os mesmos servidores para os mesmos domínios mas através de outros ISP será interessante para comparar.