Entradas etiquetadas ‘código
Sin tiempo para escribir.128
Esta recopilación la iniciamos con el vídeo que nos recomienda Berto Pena en su entrada “Desconectar para conectar” y es que tenemos (y tengo) que pensar en desconectar alguna vez para conectar con lo que no es digital, porque hay algo más que Internet, nuestro móvil, …
Sin tiempo para escribir.128
- ¡”1984″ no era un manual de instrucciones!. Mundo Geek
- Liberar código ¿es un deber moral?. Ricardo Galli
- Niños que programan. Enrique Dans
- The Vineyard. La plantilla ideal para bodegas y venta de vino con WordPress.
- Grandes blogs que ya no están (o casi). La Brujula verde
- 7 claves para reducir el estrés. Bandeja de Entrada
- Debo contestar todas las menciones que me hacen en las redes sociales?. Dos en Social
- Hangouts de Google+ con nueva interfaz y la posibilidad de compartir pantalla. wwwhatsnew
- Burbuja emprendedora. Agustín Cuenca
Analytics Open Source, las alternativas a Google Analytics
Google Analytics es omnipresente pero no es único y tenemos decenas de alternativas para gestionar nuestras analíticas web, la mayoría soluciones de estadísticas de pago como GetClicky (que utilizo), Woopra, etc.
Entre las alternativas para analytics de código abierto destacan las siguientes:
- Piwik. Posiblemente la solución más popular de analíticas bajo open source y licencia GPL. Realmente potente con unos completos reportes y datos de estadísticas, así como seguimietno de objetivos y conversiones. Disponible en varios idiomas incluidos el castellano. Muy actualizado con un Roadmap 2.0 muy interesante. También dispone de API.
- Open Web Analytics (OWA). Otra magnifica solución de analíticas también bajo licencia GPL muy completo y parecido al propio Google, son porte de código JavaScript, PHP, API, etc. Muy interesante pero quizás poco actualizado.
- SlimStat otra solución de código abierto, sencilla y con muchas opciones. No deberíamos perderla de vista, podría sorprendernos a futuro.
- FireStats es otra solución de estadísticas web que es gratis para uso no comercial. Lo veo muy sencillo pero me quedo con otros.
¿ Conocéis más soluciones de código abierto para implantar analíticas en tus páginas web?. ¿Qué utilizais ahora?
PHP Swiftmailer con Amazon Simple Email Service
Como era de esperar y después de comentar hace unos días sobre el nuevo servicio Cloud de Amazon, su Amazon SES (Simple Email Service) como herramienta de transporte de correo electrónico, ya tenemos una de las primeras librerías que soporta el envío con este nuevo servicio. Swiftmailer es una librería en PHP que permite gestionar diferentes métodos de transporte de correo para los envios gestionados con ella. Aquí tenéis un ejemplo de uso:
<?php
require_once 'lib/swift_required.php';
//Create the Transport
$transport = new Swift_AWSTransport(
'AWS_ACCESS_KEY',
'AWS_SECRET_KEY'
);
//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
//Create the message
$message = Swift_Message::newInstance()
->setSubject("What up?")
->setFrom(array('you@yourdomain.com'))
->setTo(array('them@theirdomain.com'))
->setBody("
<p>
Dude, I'm <b>totally</b> sending you email via AWS.
</p>
", 'text/html');
$mailer->send( $message );
En el momento de publicar esta entrada solo está disponible el servicio para la región por defecto, pero seguro que pronto Amazon lo hará disponible en todas las regiones.
Más información: Swiftmailer. Descarga de transporte Amazon SES en github. Ejemplo de uso de Swiftmailer con Amazon SES.
Referencias: Rubn y velvetcache
Buscar y reemplazar texto en muchos ficheros
El otro día tenía la necesidad de buscar y reemplazar de forma masiva y automática un texto (html) en muchos ficheros a la vez, y hacerlo a mano era una locura. Con este script en perl que encontré en Internet (también pregunte en Twitter y me ayudaron mucho) podemos buscar y sustituir texto de forma recursiva. La primera utilidad de un código así es ante un problema de seguridad en el que nos inyecten código en nuestras páginas podremos detectar el código y sustituirlo de forma rápida.
#!/usr/bin/perl
# A simple recursive find and replace tool
# Copyright (C) 2010 Anatoliy Dimitrov, website-security.info
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#If used escape these characters . * ? + [ ] ( ) { } ^ $ | \ ;
#The ‘s’ RE modifier makes it work on more than one line by default.
use strict;
use warnings;
use File::Find;
use Cwd;
my $changefrom = ‘code to be replaced\n’; #always leave \n at the end to avoid blank lines being left
my $changeto = ”; #usually empty unless you want to place something
my $extensions = ‘.php’;
my $path = cwd; #usually the current working directory
#do not change anything below this line
sub matchPattern {
my $file = $File::Find::name;
if ($file =~ /$extensions/) {
open INPUT, ‘<’, $file or warn;
my @input_array=<INPUT>;
close(INPUT);
my $file_code=join(“”,@input_array);
$file_code =~ s#$changefrom#$changeto#sg;
open OUTPUT, ‘>’, $file or warn;
print(OUTPUT $file_code);
close(OUTPUT);
}
}
find (\&matchPattern, $path);
En este script tenemos que destacar las variables del principio que son las que nos ayudarán en nuestra tareas:
- $changefrom es el texto que vamos a buscar para sustituir por el que pondremos en $changeto
- $extensions es la extensión de fichero en las que se buscarán las cadenas a sustituir.
Por poner un ejemplo por si nos han inyectado código malicioso en nuestros ficheros php, imaginar que nos ha introducido esto:
<script type=”text/javascript”>alert(“¿Estas seguro de que tu sitio web está protegido?”)</script>
my $changefrom =’<script.*seguro.*cript>\n’;
Vamos que podéis usar expresiones regulares sin problemas para las buscar y sustituir. Si necesitais un retorno de carro para añadir o eliminar recordar que podéis usar \n.
El código original lo podéis conseguir en GitHub. vía: Website-security
Copia de seguridad de tu Twitter en XML
TwitterBackup es una utilidad para guardar una copia de seguridad de los contenidos de tu cuenta Twitter, de forma que puedes conseguir todos tus mensajes en formato XML para guardarlo tu y que no sea la gente de Twitter la que pueda decidir borrar o no almacenarlo, aunque no creo que sea el caso.
Esta aplicación ha sido desarrollada en Java y como código fuente libre, por lo que podéis modificarla y ejecutarla en cualquier plataforma donde tengáis Java instalado. Es importante destacar que para descargar la copia de tus Tweets tienes que facilitar el usuario y contraseña de tu cuenta.

