Instalar php 5.3 y mapserver en Centos 7

November 24th, 2015

Bueno, me pasó que hay algunas aplicaciones viejas que necesitan aún soporte para php 5.3, es por eso que lo tuve que compilar de cero ya que no hay soporte en Centos, acá les dejo una guía por si le sirve a alguien más.
Read the rest of this entry »

nominatim en centos 7

November 13th, 2015

Bueno gente acá va un mini howto de como instalar nominatim en centos.
Read the rest of this entry »

geocoding reverso de nominatim

November 11th, 2015

Bueno supongamos que tengamos una base de datos de nominatim, instalada y queremos a partir de un punto sacar las intersecciones, calle, barrio, municipio, depto y provincia. Aunque también sirve para extraer la calle si lo modifican un poco. Les dejo el SQL:

select calle, barrio, muni, depto, prov, placex.name->'name'as pais from (
select calle, barrio, muni, depto, placex.name->'name'as prov,placex.parent_place_id from (
select calle, barrio, muni, placex.name->'name'as depto,placex.parent_place_id from (
select calle, barrio, placex.name->'name'as muni,placex.parent_place_id from (
select distinct calles.name->'name' as calle, placex.name->'name' as barrio, placex.parent_place_id from (
select name, place_id,parent_place_id,rank_search from placex
WHERE ST_DWithin(st_geomfromtext('point(-76.5482 3.4477)',4326), geometry, 0.1)
and rank_search != 28 and rank_search >= 22
and (name is not null or housenumber is not null)
and class not in ('waterway','railway','tunnel','bridge')
and indexed_status = 0 
and (ST_GeometryType(geometry) not in ('ST_Polygon','ST_MultiPolygon') 
OR ST_DWithin(st_geomfromtext('point(-76.5482 3.4477)',4326), centroid,0.1))
ORDER BY ST_distance(st_geomfromtext('point(-76.5482 3.4477)',4326), geometry) ASC limit 2) as calles
inner join placex on placex.place_id = calles. parent_place_id)
as barrio
inner join placex on placex.place_id = barrio.parent_place_id) as muni
inner join placex on placex.place_id = muni.parent_place_id) as depto
inner join placex on placex.place_id = depto.parent_place_id) prov
inner join placex on placex.place_id = prov.parent_place_id;

Espero le sirva a alguien más.

ssh reverso

November 11th, 2015

Esto es muy útil cuando tenemos un linux con ip privada y queremos accederlo desde afuera de una nat o router. En el servidor bateado debemos poner:
ssh -R 19999:localhost:22 root@(IP del server) -p (puerto del server)

Y luego en nuestro servidor real (con ip pública) sólo hacemos:
ssh localhost -p 19999

Y listo. Para evitar las contraseñas lean mi post de public key.

Saludos a todossss

Compilando el kernel at rpm’s way

September 15th, 2015

Bueno esto está muy tratado en varios post, pero justo necesito agregar un módulo y me di cuenta que en centos (y fedora) hay que instalar el src.rpm, acostumbrado a mi viejo slackware y al linux tradicional me empecé a fijar como hacerlo. Y bueno les dejo acá los comandos sin explicar mucho, en mi caso necesitaba agregar el módulo crc32c. Vamos!

Read the rest of this entry »

Trigger de intersección calles en Open Street Maps

August 20th, 2015

Hace unos años bastante extenso sobre intersecciones que se llamaba un poco de postigs, en este caso voy a intentar hacer lo mismo pero usando OSM, espero lo disfruten, a por ello!!!.

Read the rest of this entry »

Primer lenguaje de programación

November 18th, 2014

Hace poco tuve un intercambio de ideas con estudiantes de sistemas sobre qué lenguaje de programación era el mejor para empezar a programar. Ellos defendían fuertemente python, mientras que yo por el contrario, defendía pascal. Y pensé en hacerles un post pequeño para explicarles a todos el porqué. En pascal cuesta mucho programar mal por su fuerte estructura, y listo. Sólo eso. Los que piensen en que perderán tiempo usando pascal, están equivocados. En el transcurso de sus vidas, quienes se dedican a sistemas, deben saber al menos 10 lenguajes de programación al mismo tiempo. Yo en este mismo momento programo en, C, C++, Php, bash, perl, java, vb6, R. y seguro que alguno más. Y seguramente, dentro de 10 años habrá otros lenguajes. Así que a fin de cuentas, todos los lengaujes de programación son expiables en el tiempo.

Read the rest of this entry »

6 Reglas para programar correctamente en java

November 13th, 2014

Bueno, últimamente me tocó trabajar con código tan, pero tan mal, que decidí hacer un post sobre como codificar bien (es válido para otros lenguajes OO) con la esperanza que me pase menos. Hace poco me encontré en una esquina con mi amigo de la facultad Ariel Palma, sólo para sacar el cuero a la gente que en lugar de hacer una clase bien utiliza parche sobre parche. A toda esta gente les digo “Lo barato, cuesta caro”. El tiempo que te tomará escribir bien el código es ínfimo comparado al que te tomará hacer un debug un par de meses después. No me da el tiempo de hablar de conceptos como acoplamiento y cohesión, para quien sabe lo que es no hace falta que lea esto. Es simplemente para que programadores con poco nivel entiendan como programar decentemente.

Read the rest of this entry »

Redireccionar puertos

August 29th, 2014

Buenas gente, acá les dejo un mini script para redireccionar puertos a otra ip. Para que funcione primero tiene que hacer:
sysctl net.ipv4.ip_forward=1
Acá va el script:

#!/bin/bash
[ $# -eq 0 ] && { echo "Usage: $0 puertoPrincipal puertoSecundario IP"; exit 1; }
iptables -t nat -A PREROUTING -p tcp --dport $1 -j DNAT --to-destination $3:$1
iptables -A FORWARD -p tcp -d $3 --dport $1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport $1 -j DNAT --to-destination $3:$1
iptables -A FORWARD -p udp -d $3 --dport $1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport $2 -j DNAT --to-destination $3:$2
iptables -A FORWARD -p udp -d $3 --dport $2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
exit 0

Cambiar SRT a xml con inicio y duración

August 22nd, 2014

Bueno, se me presentaron dos problemas:
1) pasar subtítulos SRT a xml y
2) pasar el inicio – fin de los subs por inicio y duración

Funciona así, uno pone el SRT en el index.html y devuelve un xml. Hubo un problema en windows por lo cual cambie el encoding.

Read the rest of this entry »