SMS Gratis…

Nesta altura do Natal muitos elegem o SMS como o meio para transportar as boas festas!!

Se o quiserem fazer com mensagens escritas gratuitas é só instalar e criar uma conta com o VoipBuster, já testei e envia para numeros portugueses (+351) não sei o limite, mas o preço é apelativo 0 € cada mensagem!!!

Não são só as messagens escritas para Portugal há outros paises para os quais é possivel enviar sms grátis a lista completa está aqui

Já tinha ouvido falar sobre muitas formas de  fazer mas até ontem nenhuma tinha funcionado, para que apareça o vosso numero de telemóvel apareça no destinatário têm que o preencher no vosso perfil e clicar em confirmar, receberão uma sms com um código que ao introduzirem no local apropiado provará a titularidade do numero!

VoipBuster

E já agora se quiserem fazer um programa ou script com capacidade para enviar alertas por sms vejam esta página, depois na linguagem que usarem para programar fazer um get do url https://myaccount.voipbuster.com/clx/sendsms.php?username=xxxxxxxxxx&password=xxxxxxxxxx&from=xxxxxxxxxx&to=xxxxxxxxxx&text=xxxxxxxxxx e o vosso programa já envia SMS. Já testei agora em vb.net numa aplicação que minha que monitoriza alguns servidores que até agora me alertava por e-mail agora alerta por e-mail e sms quando alguma coisa corre mal!! Fazer em PHP também é muito simples!! A resposta é um ficheiro xml que podem analizar com o vosso programa e retornar o estado do sms enviado!

Em caso de sucesso a resposta será
<?xml version="1.0" encoding="utf-8"?>
<SmsResponse>
<version>1</version>
<result>1</result>
<resultstring>success</resultstring>
<description></description>
<endcause></endcause>
</SmsResponse>

Quando tiver tempo mostro aqui um exemplo explicado!!

Abrir Ficheiros MDI com o Office 2007

Embora o formato MDI seja propietario da Microsoft, o Office 2007 na sua instalação default não instala nada que permita abrir estes ficheiros. Mas o software que permite a leitura deste genero de ficheiros faz parte do Office 2007, para adicionar esta funcionalidade basta seguir os seguintes passos:

1- Abrir o “Adicionar Remover Programas” que está no “Painel de controlo”

2 – No “Adicionar Remover Programas” seleccionar o “Microsoft Office Versão 2007″

3- Clicar no botão “Alterar” e seleccionar “Adicionar Funcionalidades”

4- Procurar a tab “Ferramentas do Office” e seleccionar “Microsoft Office Visalizador de Documentos de Imaging e Fax” e clicar em “Instalar tudo a partir do meu computador”.

5- Clicar em “Concluir” e já está!!!

E ai está a tão apregoada retrocompatibilidade da Microsoft!

O meu Windows + Office estão em Inglês por isso a tradução dos nomes para PT pode não ser exactamente a que fiz, mas é por certo algo do genero!

Visual Studio 2008

Já está cá fora a versão final do Visual Studio 2008 e também as versões express introduzidas com o Visual Studio 2005 que são versões para sem restrições de uso (sim podem produzir software comercial) apenas com menos algumas features que as versões pagas!! As versões express estão disponiveis para download aqui

Creio que um dos grandes impulsionadores do império Microsoft é o Visual Studio e a facilidade com que se desenvolve software, não conheço em nenhum sistema operativo nenhum IDE que seja tão fácil produzir uma aplicação como o Visual Studio, sei que a nivel de performance estamos a falar de linguagens de alto nivel assente numa framework que no caso da performance mau mas já tem muita coisa feita coisas que noutras linguagens implica criar um socket ligar-se a servidor enviar comandos esperar respostas e validar as mesmas, no Visual Studio é uma linha de comando (enviar um mail por exemplo)…

Ainda não experimentei esta versão nem li ao certo as novas potencialidades da .net Framework 3.5 mas estou á espera de encontrar lá muita coisa nova… em tempos instalei um beta do Visual Studio 2008 mas como a minha máquina de arrastava nunca mais lhe peguei… vou ver se agora com uma versão express e na versão final se já se despacha!

GeoLite City

Respondendo ao comentário neste artigo que pergunta se é possivel detectar a cidade com o GeoIP, e resposta é sim, tem que é que usar outra base de dados também gratuita que é GeoLite City a API para usar está aqui….

Segue um exemplo da utilização da API e da base de dados em PHP:


<?php

//incluir os ficheiros necessários

include("geoipcity.inc.php");

include("geoipregionvars.php");

//abrir a base de dados

$gcity = geoip_open(“GeoLiteCity.dat”,GEOIP_MEMORY_CACHE);

//Usar a função para iniciar a classe que nos irá fornecer os dados

$record = geoip_record_by_addr($gcity,$endereço_ip_a_testar);

// as variaveis que a classe nos diponibiliza são as seguintes

$paisCodigo = $record->country_code;

$paisCodigo3 = $record->country_code3;

$paisNome = $record->country_name;

$regiaoCodigo = $record->region;

$regiaoNome = $GEOIP_REGION_NAME[$record->country_code][$record->region];

$cidadeNome = $record->city;

$cidadeCodPostal = $record->postal_code;

$latitude = $record->latitude;

$longitude = $record->longitude;

$dma_code = $record->dma_code;

$area_code =$record->area_code;

?>

Já agora podem ver um exemplo criado por mim usando o GeoIP aqui

PHP code highlight

Na sequência do artigo anterior já estou a imaginar outra pergunta que em principio alguém me irá fazer, e deixo desde já aqui a resposta….

Exemplo do output desta função pode ser visto aqui

O PHP tem uma função que permite “colorir” código essa função é highlight_file que recebe como parametro o ficheiro a “colorir” exemplo de utilização highlight_file("test.php");

Cuidado ao utilizar esta função porque em vez de usarem um ficheiro especifico usarem algum parâmetro passado GET ou POST, validem sempre se não estão a mostrar algum ficheiro que não devam!!! Podem estar a revelar as vossas passwords ao mundo!

O PHP tem outra função parecida mas para “colorir” strings que é highlight_string que recebe como parâmetro a string a “colorir”….

Nota :

Uso a palavra colorir entre aspas porque apesar de ser uma das traduções possiveis para highlight não me soa muito bem!!!

PHP + GeoIP

Tenho recebidos vários pedidos para mostrar como fiz isto, como defendo o open-source só fica bem explicar como fiz e disponibilizar as fontes.

Pode parecer complicado, mas de complicado não tem nada, vou começar com uma pequena introdução que acho que deve ser feita para contextualizar.

Quando um ISP (Fornecedor de Serviços de Internet) nos atribui um endereço de IP, estes não são atribuidos aleatóriamente nem pode ser o que apeteça ao dito ISP, um ISP adquire um seguemento ou vários de endereços de IP, por exemplo neste momento o meu IP é 62.48.228.xxx o meu fornecedor de internet é o “dono” desta gama de ip’s logo outra pessoa que tenha um ip com os mesmos 3 primeiros octetos iguais presumo que o ISP será o mesmo, ou dependendo da quantidade de IP’s que o ISP pode atribuir pode ser com base nos 2 primeiros octetos.

Se existisse uma base de dados que tivesse lá todos os conjuntos de IP’s e os respectivos ISP’s facilmente eu conseguiria dizer que com base no pais de operação do ISP que o cliente está nesse mesmo pais. Existe uma empresa que fornece uma base de dados com estes dados e o melhor de tudo têm uma versão gratuita que pode ser usada sem restrições, essa empresa chama-se MaxMind, esta base de dados é fornecida em 2 formatos CSV e binário, o CSV é muito útil se quisermos por exemplo importar os dados para uma base de dados tipo MySQL, eu estou a usar o formato binário pois o update é mais fácil e só wget e decompactar e está o update da base de dados feito.

A MaxMind disponibiliza exemplos de utilização e API’s em várias linguagens C, C#, PHP, Python, VB.ne, Pascal e Javascript e também um modulo para apache (mod_geoip), módulo para PHP, módulo Perl e para os adeptos do processamento distribuido um objecto COM+.

Penso que o GeoIP já está apresentado agora vou partilhar um exemplo de uso simples com PHP, para começar fazemos download da ultima versão da base de dados que está disponivel aqui.

O exemplo de utilização e acesso à base de dados pode ser visto aqui assim como o seu output que está aqui. No exemplo de utilização estão os comentários que ajudam na leitura do código, podia explicar aqui mas creio que é mais fácil ler os comentários que coloquei no ficheiro, a utilização do HTML é só para embelezar!!

O ficheiro onde estão as funções que permitem isto é distribuido com a extensão .inc costumo renomear sempre para .inc.php para não deixar o código á mostra como por vezes altero esse ficheiro, tenho receio de deixar algum “buraco” exposto.

Este exemplo fica disponivel neste .rar ou naveguem nesta pasta…

A MaxMind fornece ainda outras bases de dados de utilização tão fácil quanto esta para identificar a cidade do IP e outras bases de dados pagas.