martes, noviembre 01, 2011

PHP [NO-IF]: Make option selected

Technique for make option selected without IF statement.

[php]
//came from anywhere: post, get, cookie, etc.
$color_selected = 'red';

//Required if works in a strict environment
$colors = array(
  'blue' => null,
  'red' =>  null,
  'white' => null,
);

//Only set selected color
$colors[$color_selected] = 'selected="selected"';

echo <<<PQR
What Color?
<select name="color">
    <option value="blue" {$colors['blue']}>Blue</option>
    <option value="red" {$colors['red']}>Red</option>
    <option value="white" {$colors['white']}>White</option>
</select>
PQR;

[/php]

sábado, octubre 01, 2011

Php MongoDB Phonebook Example

This is a example to explain how to use MongoDb with Php. In this post I will explain how to download and start MongoDb. Next you can run the Phonebook aplication.

Download MongoDb

http://www.mongodb.org/downloads

For this example I tested 2.0.0 version for linux

Start MongoDb

Extract the file anywhere, and in mongodb-x-x-x directory create 'data' directory. Next run:

[terminal]
$ ./bin/mongod --dbpath data

* 'data' is the name of directory for save data

Run Phonebook example

Download: http://www.mediafire.com/?mqncj9lsjrts3jx

And extract to /var/www/ the application

Next go to http://localhost/MongoPhoneBook/

Enjoy!

lunes, septiembre 26, 2011

Acortador de url con php, hash y nosql

Hace unas semanas cree a modo de experimento esta simple aplicación para acortar urls.
Su uso es muy simple, está en modo de desarrollador. Así que si deseas una interfaz, deberás crearla.
Pero la parte "difícil" está hecha.

Vi varios sistemas, pero quería uno que no usara base de datos, por la rapidez. Tampoco quería duplicar datos, ni menos validar. Es por esto que utilicé Adler32 para disminuir el riesgo de colisiones.

El siguiente paso sería disminuir el hash de 8 a 6 ó 5 carácteres.

Si quieres ver el código y descargarlo:

https://sourceforge.net/projects/url-shortener/

MX Video Player


El otro día intenté ver una película en mi android y me apareció un mensaje sobre resolución no válida. Así que recordé que habían recomendado este player, y en realidad es muy bueno: fácil de usar, reconoce mucho más formatos; digno de un reproductor de PC.

Descarga MX Video Player gratis

domingo, septiembre 25, 2011

PHP [NO-IF] foreach

Lo que siempre trato de evitar cuando estoy programando es el uso de IF. Encuentro que siempre hay una alternativa más corta o más inteligente.
Es por eso que publicaré los casos en los que reemplazo el uso de IF. En este caso foreach.

Para evitar problemas en el foreach, una técnica es validar si el tipo de dato es el correspondiente a la operación:

[php]
if(is_array($resultados))
  foreach($resultados as $r)
    echo $r . "\n";


En cambio, para obtener un código más claro, usamos casting:

[php]
foreach((array)$resultados as $r)
  echo $r . "\n";


La segunda solución es más clara y fácil de mantener. Si la variable no fuera un arreglo, no tendríamos el error:

PHP Warning: Invalid argument supplied for foreach() in...

Además si es un arreglo vacío la iteración no se ejecuta.

sábado, julio 30, 2011

Protege tu android... de intrusos!

Con esta simple aplicación podrás prestar tu android a tus amigos sin tener la preocupación que no abran aplicaciones personales como el correo, mensajes y cualquiera que elijas. Incluso puedes hacer un bloqueo completo del equipo, en el que no se puede hacer nada.

Más información

Descarga
Nota: Es el instalador de la aplicación, luego de descargarlo debe ejecutarse.

viernes, julio 29, 2011

The definitive svn export (copy) only modified files in Linux!

I've finally found the solution to export -copy- svn modified/add files.
I was searching for something that was very simple to do it, but I couldn't find anything!
Well, finally I created this simple command line solution:

$ svn status | cut -c9-99999 | cpio -pvdmu [path to copy]

How to use it
  1. Go to svn working directory
  2. Write and execute the comand
Warning
It does work before commit action only.