23/6/2008
Buscando programadores
|
No hace falta ser un genio para notar que estos dÃas la cosa vino complicada asà que para aliviar un poco el tema vamos a sumar alguna que otra persona al equipo que, gracias a dios, sigue viento en popa.
Entonces si te considerás un experto en Php/Mysql/JS y estás buscando trabajo, escribÃnos incluyendo tu CV y remuneración pretendida a marcosignacio(..at..)gmail.com.
Conocimientos requeridos (excluyentes):
- PHP 4/5
- HTML – XHTML - CSS
- Javascript - Jquery
- MySQL
- Programación Orientada a Objetos
Conocimientos deseables:
- Prototype / mootols.
- Ajax, JSON, REST
- Web Services
- XML
Estudios: Estudiantes/egresados de la carrera de IngenierÃa en sistemas/Lic. Sistemas y carreras afines.
Nivel: M-Senior, Senior.
Idioma: Nivel intermedio/avanzado de Ingles.
Modalidad: no-presencial (teletrabajo). Part o full-time.
PaÃs: indistinto.
|
27/5/2008
Me cacho en el random..
|
Y es que leyendo esta nota revivo viejas discusiones sobre si los randoms de algunos lenguajes realmente son randoms… :S
Asà entonces una función random bien implementada normalmente darÃa una gráfica como la siguiente:

Mientras que la mÃa, probada tanto en entorno windows/IIS, como lamp, me da esta escalofriante gráfica:

La función de php usada es:
header (\"Content-type: image/png\");
$im = @imagecreatetruecolor(512, 512)
or die(\"Cannot Initialize new GD image stream\");
$white = imagecolorallocate($im, 255, 255, 255);
for($y=0;$y<512;$y++){
for($x=0;$x<512;$x++){
if(rand(0,1)===1){
imagesetpixel($im, $x, $y, $white);
}
}
$x=0;
}
imagepng($im);
imagedestroy($im);
En random.org explican un poco más en detalle sobre este tema, aclarando que en realidad los números random usados en las computadoras (la mayorÃa), son pseudo-random, lo que significa que se generan de una manera predecible usando una fórmula matemática. Y si bien esto está bien para muchas cosas, no sirve para cosas que requieren un nivel real de aleatoriedad (como juegos de azar online, por ejemplo).
|
21/4/2008
Del futuro de los juegos online
|
Como que flash siga evolucionando, y permita cosas como la que vemos en esta demo, indefectiblemente el futuro del gaming va a estar (si es que ya no lo está) peleado entre plataformas de alto desempeño y la web… pero ya no sólo por lo web-games. La demo, como dice César en su post.. corta la respiración
|
15/2/2008
Reenviar email de confirmación
|
Amigos desarrolladores.. cuando hagan registraciones en sites que incluyan validación por email (muy habitual estos días), procuren incluir una sección al estilo “forgot your password”, para el reenvío de ese email. Muchas veces ese mail no llega nunca, habitualmente capturado por antispams u otra variedad de cosas que pueden pasar, y es necesario poder re-solicitar se lo envíe (con las validaciones del caso, ej. volver a requerir el username + email).

Adicionalmente es importante incluir (e informarla) una expiración a X cantidad de días para los casos en que no se validó la cuenta.
He dicho
|
23/1/2008
Cargando XML desde IE usando Jquery
|
Hoy nos ponemos técnicos por un ratito.
Y es que en estos días se nos planteó un problemita que tiene IE con el parseo de archivos locales de XML, que, al no informar correctamente el mime-type, no son reconocidos por IE y por ende no los parsea.
Así entonces esta función, por ejemplo, que va perfecto en FF y Opera, no funciona en IE:
Y eso que especificamos que se trata de datos XML! pero no, IE se niega, en local, a identificar correctamente estos datos, y trunca el parseo.
La solución viene de mano de cargar los datos como si se tratasen de texto, y luego específicamente darle tratamiento, forzosamente para IE, como XML:
En fin, un pequeño aporte para los programadores… una manchita más para IE
|
18/12/2007
Los Si’s y los No’s del mundo freelance
|
Justo hace unos días había leído en un par de blogs un par de estas recopilaciones del tipo “10 cosas que…”, puntualmente hablando de los hábitos de los freelancers.
Lo interesante era ver, independientemente del tema en sí, un par de puntos que son importantes de destacar. Veamos las listas primero:
Los 7 del Si (los argumentos de cada uno se pueden leer en el sitio original):
¿Me podes decir tus precios? Sí.
¿Puedes mostrarme otros trabajos tuyos? Sí.
¿Podes tener esto terminado para mañana? Sí.
¿Sos capaz de hacer …? Sí.
¿Puedo editar el sitio por mi cuenta? Sí.
¿Ofreces apoyo luego de terminado el trabajo? Sí.
¿Hay alguna otra manera de pagarte además de la que me acabas de decir? Sí.
Y por el lado de los No’s (original):
¿Puedes mostrarme una demostración que me ayude a elegir un diseñador/programador? Respuesta: ¡NO!
¿Puedes hacernos un descuento? Respuesta: ¡NO!
¿Puedes registrar nuestro dominio y hospedar a nuestro sitio? Respuesta: ¡NO!
¿Puedes copiar este otro sitio? Respuesta: ¡NO!
¿Puedo pagar mi sitio de e-commerce con las ventas que realice? Respuesta: ¡NO!
¡Tengo una gran idea! ¿Quieres que… Respuesta: ¡NO!
¿Tienes una cuenta de mensajería instantánea? Respuesta: ¡NO!
¿Puedo pagar el total cuando esté terminado todo? Respuesta: ¡NO!
¿Hay alguna manera de que puedas terminar esto esta noche o el fin de semana? Respuesta: ¡NO!
¿Puedes asegurarme que no usarás este mismo trabajo en otro lugar? Respuesta: ¡NO!
En lineas generales estoy de acuerdo, pero hay algunos puntos que me parece no se pueden definir en un si o un no.
La disponibilidad y la urgencia tienen valor. Asignable y cuantitativo. Es decir que podemos tranquilamente comprometernos a un trabajo exigente en tiempos (siempre dentro de un plano de realidad), ajustando debidamente el presupuesto del mismo. Pero como una cuestión excepcional, no regular. Eso incluso le asigna el valor que tiene, tanto económico como práctico, y tanto para nosotros como para el cliente. Si tomamos la costumbre es posible que de expecional se nos transforme en normal, y no todo es dinero en la vida!
Por su parte el tema de incluir una herramienta de edición también es relativa. Entiendo que hoy el cliente ya no es el mismo de hace unos años atrás y, en algunos casos, desea editar él mismo su sitio. Pero también me encuentro permanentemente conque cerca del 50% de los clientes (sobre todo pymes con sitios meramente institucionales-informativos, enfocados a la presencia institucional) sólo quieren un sitio atractivo.. y estático. Y digo esto porque este tema también influye en los presupuestos, e incluírselo por defecto puede resultar un poco más caro y definitivamente innecesario.
Por el lado de los No’s hay varios que están perfectos, y apuntan a simplificar la cosa. Pero también varios puntos tienen grises. Registrar el dominio y hospedar el sitio pueden ser un interesante extra (sobre todo en casos donde el cliente no tiene ningún conocimiento técnico) que a más de un diseñador le conozco.
Por su parte estar disponible para futuros soportes (incluído mail y mensajería instantánea en un principio), también le dan valor agregado al producto que vendemos. Siempre dentro de términos de normalidad y respeto. Abundan los clientes que creen “comprarnos” cuando nos contratan. Para esos casos especiales hay que tener bien paradas las antenas, y ponerles límites permanentemente. Eso también nos valoriza!
El trabajo del freelanceer tiene sus pros y sus contras. Encontrar el punto justo, como en todo, lleva su tiempo y sus tropezones
|
9/11/2007
Cambios en el form de comentarios
|
Después de recibiar incontables quejas por mi antispam “(mal)fatto-in-casa”, decidí sacarlo y reemplazarlo por uno un poco más moderno, y al parecer todo funciona bien ahora… o por lo menos eso parece

A los que mi antispam atormentó en el pasado, mis disculpas … prometo que se volverá a repetir
|
24/10/2007
Mysql: Priorizar resultados según valor (ORDER BY FIELD)
|
Hoy me descubrieron como programador (aunque hace tiempo que estoy más del lado de la dirección de proyectos, y sin embargo me encuentro escribiendo lineas muy seguido), así que voy a comentar una muy útil, y poco utilizada, función de mysql.
En algunas oportunidades nos encontramos conque tenemos que ordenar los resultados de una consulta con un criterio específico, no necesariamente lineal (para ello está el clásico “order by [campo] [order]”), y que incluso soporte textos y fechas.
El comando “ORDER BY FIELD” [mysql.com] se encarga, justamente, de esto. Por ejemplo, supongamos que tenemos un listado de tareas, con un campo “prioridad” cuyos valores (convengamos que nos hemos olvidado en la normalización de bases de datos) son “Alta”, “Baja” y “Media”, y queremos ordenar los resultados por su orden conceptual “Alta”, “Media”, “Baja”. Diríamos entonces:
SELECT * FROM TAREAS ORDER BY FIELD(`prioridad`, 'Alta', 'Media', 'Baja');
Es decir, ORDER BY FIELD toma el campo en cuestión, y la secuencia ordenada de valores que debe seguir para el ordenamiento. Simple, efectivo.
Hay alternativas? por supuesto. Podemos pensar que si tenemos un conjunto finito de valores y un orden específico, en usar el tipo de dato “ENUM”, que admite una lista de valores y que de ser ordenado por él respetara el orden de cargado.
Otra alternativa, más prolija, sería vincular el campo a ser ordenado con su correspondiente lookup table, e incluír en ésta un campo de orden, tipo int, que modificásemos justo antes de hacer la consulta, para luego hacer el ordenamiento por ese campo:
| ID |
Valor |
Orden |
| 1 |
Alta |
1 |
| 2 |
Baja |
3 |
| 3 |
Media |
2 |
Otra alternativa sería cargar los valores-concepto con un ID jerárquico que luego nos permita hacer el ordenamiento que queremos:
| ID |
Valor |
| 1 |
Alta |
| 3 |
Baja |
| 2 |
Media |
En conclusión. ORDER BY FIELD simplifica estas opciones, permitiendo un ordenamiento específico rápidamente. No digas que no sabías después, eh
|
|