viernes 31 de agosto de 2007
jueves 30 de agosto de 2007
Tenica del Paracaidista
Impulsar los resultados de una organizacion importando talentos del exterior no suele ser una buena estrategia. Los profesionales que aterrizan (paracaidistas) en una empresa suelen golpear con su paracaidas la motivacion de sus nuevos compañeros.
Las empresas mas admiradas, promocionan internamente y no les va nada mal. La importacion de profesionales, sobre todo en puestos jerarquicos, hace que el personal actual de la empresa se sienta incomodo y hasta en cierto grado frustrado, esto puede reducir fatalmente el rendimiento del grupo y provocar controversias y rivalidad con el paracaidista.
Lo mejor es incluir personal junior, capacitarlo y crecer en familia. El rendimiento y el entendimiento del grupo de trabajo se veran ampliamente favorecidos.
saludos.
Las empresas mas admiradas, promocionan internamente y no les va nada mal. La importacion de profesionales, sobre todo en puestos jerarquicos, hace que el personal actual de la empresa se sienta incomodo y hasta en cierto grado frustrado, esto puede reducir fatalmente el rendimiento del grupo y provocar controversias y rivalidad con el paracaidista.
Lo mejor es incluir personal junior, capacitarlo y crecer en familia. El rendimiento y el entendimiento del grupo de trabajo se veran ampliamente favorecidos.
saludos.
miércoles 29 de agosto de 2007
La eleccion de los Linuxeros
En DesktopLinux han realizado una encuesta durante una semana en la que participaron 38500 personas. Los resultados muestran las tendencias dentro de la comunidad Linux:
En la categoria de las distribuciones llevan la delantera Ubuntu (31%) y SuSE(21%).
En el escritorio las palmas se las lleva GNOME (45%) y en segundo KDE (35%)
El navegador/browser mas usado es Firefox (60%), indiscutido preferido, le sigue Konqueror (14%)
Como cliente de mail los mas votados fueron Thunderbird (37%) y Evolution (32%).
Pueden ver los resultados detallados aqui.
Una mayor comunidad generalmente determina un mejor soporte.
Soy usuario de Ubuntu desde algunos meses y hasta ahora no he encontrado alguna razon para cambiarme a otra distro que no sea por simple curiosidad.
A GNOME no lo cambio por nada, lo llevo en el corazon, es un sentimiento. :)
El cliente de correo Evolution lo uso, lo confieso, simplemente porque viene por default en Ubuntu, y creo que esa es una de las razones por las que se encuentra segundo en la encuesta.
Firefox, en mi opinion, no tiene competencia sobre plataformas linux.
Y tu, intrepido lector, que (distro|desktop|browser) utilizas?
Saludos.
En la categoria de las distribuciones llevan la delantera Ubuntu (31%) y SuSE(21%).
En el escritorio las palmas se las lleva GNOME (45%) y en segundo KDE (35%)
El navegador/browser mas usado es Firefox (60%), indiscutido preferido, le sigue Konqueror (14%)
Como cliente de mail los mas votados fueron Thunderbird (37%) y Evolution (32%).
Pueden ver los resultados detallados aqui.
Una mayor comunidad generalmente determina un mejor soporte.
Soy usuario de Ubuntu desde algunos meses y hasta ahora no he encontrado alguna razon para cambiarme a otra distro que no sea por simple curiosidad.
A GNOME no lo cambio por nada, lo llevo en el corazon, es un sentimiento. :)
El cliente de correo Evolution lo uso, lo confieso, simplemente porque viene por default en Ubuntu, y creo que esa es una de las razones por las que se encuentra segundo en la encuesta.
Firefox, en mi opinion, no tiene competencia sobre plataformas linux.
Y tu, intrepido lector, que (distro|desktop|browser) utilizas?
Saludos.
lunes 27 de agosto de 2007
Code Editor
Hace tiempo que estoy buscando algun editor de texto con resaltado de codigo que sea liviano, soporte tabs, project manager y commandos externos para compilacion y otras cosillas. Pero, el factor mas importante que termina influyendo en la eleccion es que me guste, despues de todo, si voy a pasar varias horas usandolo, es mejor que me agrade trabajar con el ;)
Para hacerla corta, quiero un TextMate para poder usarlo en linux y windows (de por si, ya es horrible programar en windows con cualquier cosa). Pero, como los ávidos lectores de este blog sabran, TextMate corre unicamente en OS X. Una alternativa para linux es el Scribes, muy liviano, con auto-completado de codigo y resaltado de texto, pero no soporta tabs y tampoco projects. Ideal para pequeños scripts.
Esta el propio GEdit del Gnome, que soporta tabs y resaltado de codigo, pero no tiene la habilidad de administrar projectos y hasta donde recuerdo, no posee autocompletado de palabras.
Lo que quiero es poder ver mi codigo resaltado, tener tabs (muchos files abiertos en la misma ventana), poder crear proyectos de codigo y tener teclas rapidas para compilacion y ejecucion del codigo. Y tiene que ser liviano, cargar rapido, no quiero un IDE, quiero un editor de codigo.
Por el momento estoy probando el Komodo Edit. Si tienen alguna sugerencia, o quieren comentar que editor utilizan uds para proyectos pequeños, dejen su comentario :)
saludos.
Para hacerla corta, quiero un TextMate para poder usarlo en linux y windows (de por si, ya es horrible programar en windows con cualquier cosa). Pero, como los ávidos lectores de este blog sabran, TextMate corre unicamente en OS X. Una alternativa para linux es el Scribes, muy liviano, con auto-completado de codigo y resaltado de texto, pero no soporta tabs y tampoco projects. Ideal para pequeños scripts.
Esta el propio GEdit del Gnome, que soporta tabs y resaltado de codigo, pero no tiene la habilidad de administrar projectos y hasta donde recuerdo, no posee autocompletado de palabras.
Lo que quiero es poder ver mi codigo resaltado, tener tabs (muchos files abiertos en la misma ventana), poder crear proyectos de codigo y tener teclas rapidas para compilacion y ejecucion del codigo. Y tiene que ser liviano, cargar rapido, no quiero un IDE, quiero un editor de codigo.
Por el momento estoy probando el Komodo Edit. Si tienen alguna sugerencia, o quieren comentar que editor utilizan uds para proyectos pequeños, dejen su comentario :)
saludos.
viernes 24 de agosto de 2007
Los 4 Principios
Existen cuatro principios fundamentales en seguridad informática:
1. El que defiende tiene que defender todos los puntos; el atacante puede seleccionar el más débil.
2. El defensor sólo puede defenderse de ataques conocidos; el atacante puede probar nuevas formas de ataque.
3. El defensor debe estar en constante estado de vigilancia; el atacante puede golpear a voluntad.
4. El defensor debe jugar según las reglas; el atacante pude jugar sucio.
Ha! Y creias que ser hacker/cracker es cool? El verdadero desafio es ser administrador de sistemas. Un hacker solo lo es de a ratos. Un admin lo es las 24hs.
Saludos.
1. El que defiende tiene que defender todos los puntos; el atacante puede seleccionar el más débil.
2. El defensor sólo puede defenderse de ataques conocidos; el atacante puede probar nuevas formas de ataque.
3. El defensor debe estar en constante estado de vigilancia; el atacante puede golpear a voluntad.
4. El defensor debe jugar según las reglas; el atacante pude jugar sucio.
Ha! Y creias que ser hacker/cracker es cool? El verdadero desafio es ser administrador de sistemas. Un hacker solo lo es de a ratos. Un admin lo es las 24hs.
Saludos.
viernes 10 de agosto de 2007
Pay per view
Tan solo ayer hablabamos sobre como vivir del software libre y hoy vemos dos casos en VivaLinux de tendencias sobre este subject. Por un lado tenemos la noticia de BitTorrent, quien a partir de la ultima versión no distribuirá el codigo fuente entre los desarrolladores. El software seguira siendo gratuito, pero no se distribuirá bajo ninguna licencia de codigo abierto. El presidente de BitTorrente comentaba sobre el cambio algunas cosas que ya dijimos en este blog, la gente se bajaba el producto lo volvia a empaquetar y o bien lo vendian o lo cargaban con spyware/malware. Para la gente que seguia el desarrollo con fines altruistas, todavia podran obtener las especificaciones del protocolo utilizado por BitTorrent.
Continuando con el tema, Mysql Enterprise Server solo entregara su codigo fuente a los clientes subscriptos al servicio de soporte pago.
No se confundan. Estas noticias son evidencia de que SI se puede vivir del software libre. Lo que no deja dinero (esta claro) es brindar la descarga gratuita del software y el codigo del mismo.
Mas adelante analizaremos el modelo de negocio que esta utilizando MySQL AB para su MySQL Enterprise Server. A grosso modo, parece ser un modelo rentable.
saludos.
exit()
Continuando con el tema, Mysql Enterprise Server solo entregara su codigo fuente a los clientes subscriptos al servicio de soporte pago.
"La GPL nos obliga a distribuir el código a quienes demos los binarios, que en el caso de MySQL Enterprise Server son sólo nuestros clientes", explicó Arno. Recordemos que MySQL AB dejó de ofrecer también binarios oficiales a principios de año.
No se confundan. Estas noticias son evidencia de que SI se puede vivir del software libre. Lo que no deja dinero (esta claro) es brindar la descarga gratuita del software y el codigo del mismo.
Mas adelante analizaremos el modelo de negocio que esta utilizando MySQL AB para su MySQL Enterprise Server. A grosso modo, parece ser un modelo rentable.
saludos.
exit()
miércoles 8 de agosto de 2007
¿Software Libre?
Estamos desarrollando un producto, nuestro producto. Le dedicamos muchas horas de trabajo y dinero, a fin de cuentas, son lo mismo, el tiempo es dinero. Ha llegado el momento de decidir que licencia aplicaremos a nuestro producto. ¿Software Libre? ¿Privativo? Si me dejara llevar por el corazon escogeria Software Libre sin pensarlo 2 veces, pero resulta que tengo que vivir del software en el que tanto tiempo e trabajado. Asi que pensemos un poco.
Supongamos por un momento que escogo una licencia de software libre. Siendo software libre podemos lograr que nuestra comunidad de usuarios crezca exponencialmente (con un poco de marketing). Pero tener muchos usuarios con un producto libre no me sirve de mucho. Como obtenemos beneficios económicos con este modelo de negocios?
Servicios: Es el cuento de siempre. Ofrecemos gratis nuestro producto y cobramos por el soporte a usuarios. Pero esto no funciona si tenemos una infraestructura pequeña (pequeña PYME), que pasa si tenemos que viajar? o si nos enfermamos?. Las empresas quieren soporte 24x7. Siendo tan pequeños no podemos brindar ese tipo de servicios.
Documentacion: Normalmente, va de la mano de los servicios. Ofreces documentacion detallado sobre tu producto a cambio de unas monedas.
Acceso al codigo fuente: Basicamente, si me das 20 monedas de oro te envio un disco con el codigo fuente. Ahora, como evitamos que nuestros compradores lo distribuyan gratuitamente. O puedes cobrar por las actualizaciones del producto. Que sea software libre no quiere decir que lo pongas para descarga en sourceforge.
Asi estan las cosas, Servicios, Documentacion, Acceso al codigo... No suenan economicamente viables para una PyME. Escogeria una licencia de software libre?
Depende de la plataforma: en el mundo de Mac OS X la gente esta acostumbrada por pagar pequeñas sumas de dinero por software, TextMate es un buen ejemplo de ello. En el mundo Linux estan acostumbrados a obtener las aplicaciones gratis, si quieres cobrar sencillamente te ignoran y buscan una opcion gratuita, a no ser que ofrezcas caracteristicas unicas, muy dificil en un mercado tan competitivo. Y en el mundo Windows, sencillamente usan el emule y no les interesa.
Por otro lado no es lo mismo un producto para informaticos que un producto para farmaceuticos. Los informaticos saben lo que es el software libre, los farmaceuticos no lo saben o no les interesa.
La respuesta no es fácil, tenemos que vivir de nuestro producto (ya sea de su venta o de servicios), de modo que tenemos que pensar bien esta parte.
Plagiado desde www.vivirdelsoftware.com
Supongamos por un momento que escogo una licencia de software libre. Siendo software libre podemos lograr que nuestra comunidad de usuarios crezca exponencialmente (con un poco de marketing). Pero tener muchos usuarios con un producto libre no me sirve de mucho. Como obtenemos beneficios económicos con este modelo de negocios?
Servicios: Es el cuento de siempre. Ofrecemos gratis nuestro producto y cobramos por el soporte a usuarios. Pero esto no funciona si tenemos una infraestructura pequeña (pequeña PYME), que pasa si tenemos que viajar? o si nos enfermamos?. Las empresas quieren soporte 24x7. Siendo tan pequeños no podemos brindar ese tipo de servicios.
Documentacion: Normalmente, va de la mano de los servicios. Ofreces documentacion detallado sobre tu producto a cambio de unas monedas.
Acceso al codigo fuente: Basicamente, si me das 20 monedas de oro te envio un disco con el codigo fuente. Ahora, como evitamos que nuestros compradores lo distribuyan gratuitamente. O puedes cobrar por las actualizaciones del producto. Que sea software libre no quiere decir que lo pongas para descarga en sourceforge.
Asi estan las cosas, Servicios, Documentacion, Acceso al codigo... No suenan economicamente viables para una PyME. Escogeria una licencia de software libre?
Depende de la plataforma: en el mundo de Mac OS X la gente esta acostumbrada por pagar pequeñas sumas de dinero por software, TextMate es un buen ejemplo de ello. En el mundo Linux estan acostumbrados a obtener las aplicaciones gratis, si quieres cobrar sencillamente te ignoran y buscan una opcion gratuita, a no ser que ofrezcas caracteristicas unicas, muy dificil en un mercado tan competitivo. Y en el mundo Windows, sencillamente usan el emule y no les interesa.
Por otro lado no es lo mismo un producto para informaticos que un producto para farmaceuticos. Los informaticos saben lo que es el software libre, los farmaceuticos no lo saben o no les interesa.
La respuesta no es fácil, tenemos que vivir de nuestro producto (ya sea de su venta o de servicios), de modo que tenemos que pensar bien esta parte.
Plagiado desde www.vivirdelsoftware.com
martes 7 de agosto de 2007
Primero la Interfaz
Diseñar la interfaz antes de comenzar a programar.
Muchas aplicaciones comienzan con una mentalidad de primero el codigo, es una mala idea. La programacion es el componente mas pesado al construir una aplicacion, esto significa que es el mas costoso y el mas dificil de cambiar. En lugar de ello, comienza diseñando la interfaz.
El diseño es relativamente facil. Un borrador en papel es barato y facil de cambiar. Los diseños en html aun son relativamente simples de modificar (o de crear). Diseñar antes de programar favorece a la flexibilidad.
Otra razon para diseñar primero, es que la interfaz es tu producto. Lo que la gente ve, es lo que estas mostrando/vendiendo, los usuarios ven interfaces, no codigo. Si metes la interfaz al final del desarrollo, se van a notar las incoherencias y los baches.
Comenzar primero con la interfaz te ayuda a ver como se ve y se siente el producto desde el comienzo. La mantenes bajo constante revision a traves de todo el proceso. Tiene esto sentido? es facil de usar? resuelve el problema? Estas son preguntas que puedes contestar solo si estas trabajando con pantallas reales. Diseñar primero, te da flexibilidad y te responde esas preguntas en las etapas tempranas del proceso en lugar de cuando es demasiado tarde.
Si tenes un programa que hace su trabajo mejor que cualquier otro pero no tenes una interfaz bonita, sencilla y facil de usar, nadie lo utilizara. La interfaz es el medio de comunicacion del usuario con tu programa, es la cara de tu producto. Es mas, en el caso de aplicaciones desktop, una buena interfaz vende mas que un algoritmo matador.
Y por ultimo, diseñar primero la interfaz te permite ir probando la aplicacion con beta-testers a medida que vas creando el codigo del programa, y liberando versiones en periodos relativamentes cortos. En cambio si codificas primero y creas la interfaz al final, el proceso de testing sera mas costoso y proporcional a los cambios que necesites hacer.
killer interface + killer algorithm = excelent app.
Muchas aplicaciones comienzan con una mentalidad de primero el codigo, es una mala idea. La programacion es el componente mas pesado al construir una aplicacion, esto significa que es el mas costoso y el mas dificil de cambiar. En lugar de ello, comienza diseñando la interfaz.
El diseño es relativamente facil. Un borrador en papel es barato y facil de cambiar. Los diseños en html aun son relativamente simples de modificar (o de crear). Diseñar antes de programar favorece a la flexibilidad.
Otra razon para diseñar primero, es que la interfaz es tu producto. Lo que la gente ve, es lo que estas mostrando/vendiendo, los usuarios ven interfaces, no codigo. Si metes la interfaz al final del desarrollo, se van a notar las incoherencias y los baches.
Comenzar primero con la interfaz te ayuda a ver como se ve y se siente el producto desde el comienzo. La mantenes bajo constante revision a traves de todo el proceso. Tiene esto sentido? es facil de usar? resuelve el problema? Estas son preguntas que puedes contestar solo si estas trabajando con pantallas reales. Diseñar primero, te da flexibilidad y te responde esas preguntas en las etapas tempranas del proceso en lugar de cuando es demasiado tarde.
Si tenes un programa que hace su trabajo mejor que cualquier otro pero no tenes una interfaz bonita, sencilla y facil de usar, nadie lo utilizara. La interfaz es el medio de comunicacion del usuario con tu programa, es la cara de tu producto. Es mas, en el caso de aplicaciones desktop, una buena interfaz vende mas que un algoritmo matador.
Y por ultimo, diseñar primero la interfaz te permite ir probando la aplicacion con beta-testers a medida que vas creando el codigo del programa, y liberando versiones en periodos relativamentes cortos. En cambio si codificas primero y creas la interfaz al final, el proceso de testing sera mas costoso y proporcional a los cambios que necesites hacer.
killer interface + killer algorithm = excelent app.
lunes 6 de agosto de 2007
Programadores: John Carmack
Comienzo aqui una serie de pequeños articulos acerca de personas que considero son parte de la elite de programadores. Hoy, una breve reseña acerca de John Carmack
Copy + Paste desde Wikipedia:
John D. Carmack II (nacido en 1970) es una figura ampliamente reconocida en la industria de los videojuegos. Carmack co-fundó id Software, una empresa de desarrollo de videojuegos, en 1991. Carmack es también muy reconocido por su habilidad como programador, especialmente en el campo de los gráficos tridimensionales.
Carmack creció en la ciudad de Kansas y se interesó en la informática desde una edad muy temprana. Estudió en la Universidad de Kansas por dos semestres antes de abandonar sus estudios para trabajar como programador independiente. Softdisk, una empresa de juegos, contrató a Carmack uniéndolo con John Romero, otro futuro miembro de id Software. En Softdisk produjeron el primero de la serie de juegos Commander Keen en 1990, antes de que Carmack y el resto del equipo abandonara la empresa para crear id.
Las habilidades de Carmack como programador permitieron el desarrollo de los primeros juegos de acción en primera persona (First Person Shooter o FPS), Wolfenstein 3D, Doom y Quake, entre otros. Los motores de juegos producidos por Carmack han obtenido siempre mayor ventaja de los desarrollos en hardware para PC antes que otros desarrolladores. Carmack es autor de varias técnicas algorítmicas para gráficos de computadora, en particular el cacheo de superficies.
Reconocido como uno de los líderes técnicos en el mundo de los juegos para computadora, los motores de juegos de Carmack han sido licenciados y utilizados en algunos de los juegos de acción en primera persona más influyentes en la historia del género, incluyendo Half-Life y Medal of Honor.
Saludos. exit()
Copy + Paste desde Wikipedia:
John D. Carmack II (nacido en 1970) es una figura ampliamente reconocida en la industria de los videojuegos. Carmack co-fundó id Software, una empresa de desarrollo de videojuegos, en 1991. Carmack es también muy reconocido por su habilidad como programador, especialmente en el campo de los gráficos tridimensionales.
Carmack creció en la ciudad de Kansas y se interesó en la informática desde una edad muy temprana. Estudió en la Universidad de Kansas por dos semestres antes de abandonar sus estudios para trabajar como programador independiente. Softdisk, una empresa de juegos, contrató a Carmack uniéndolo con John Romero, otro futuro miembro de id Software. En Softdisk produjeron el primero de la serie de juegos Commander Keen en 1990, antes de que Carmack y el resto del equipo abandonara la empresa para crear id.
Las habilidades de Carmack como programador permitieron el desarrollo de los primeros juegos de acción en primera persona (First Person Shooter o FPS), Wolfenstein 3D, Doom y Quake, entre otros. Los motores de juegos producidos por Carmack han obtenido siempre mayor ventaja de los desarrollos en hardware para PC antes que otros desarrolladores. Carmack es autor de varias técnicas algorítmicas para gráficos de computadora, en particular el cacheo de superficies.
Reconocido como uno de los líderes técnicos en el mundo de los juegos para computadora, los motores de juegos de Carmack han sido licenciados y utilizados en algunos de los juegos de acción en primera persona más influyentes en la historia del género, incluyendo Half-Life y Medal of Honor.
Saludos. exit()
jueves 2 de agosto de 2007
GNU/Fiwix
Fiwix es un kernel de sistema operativo basado en la arquitectura UNIX y completamente enfocado a la compatibilidad con Linux. Esta diseñado y desarrollado principalmente para propositos educacionales, asi que el codigo del kernel se mantiene tan simple como fuese posible para el beneficio de los estudiantes. Corre en plataformas x86 de 32-bits, y es compatible con una buena base de aplicaciones GNU existentes.
El kernel Linux actualmente es muy grande para que un estudiante de ciencias de la computacion sea capaz de entender su estructura interna y estudiar como funciona, y en el futuro será aun mas grande de lo que es hoy dia. En contraste, el kernel Fiwix, debido a su estructura mínima, puede ser el kernel de iniciación y por ende ser mas elegible para el aprendizaje. Por razones obvias este proyecto esta dirigido a estudiantes de ciencias de la computacion y a entusiastas de SO quienes quieran conocer mas acerca de la operacion interna de un sistema operativo semejante a UNIX.
GNU/Fiwix no es un nuevo sabor de UNIX con sus propias utilidades de sistemas, librerias y compiladores, etc. Piensa en GNU/Fiwix como un nuevo kernel Linux que sigue la filosofia GNU/Linux y toma ventaja de las aplicaciones GNU existentes.
Fiwix es probablemente el primer kernel altamente compatible con las bases del kernel Linux. Esto significa que cualquier binario ELF-i386 compilado en un sistema GNU/Linux, puede ser ejecutado nativamete en un sistema GNU/Fiwix sin ningun tipo de emulacion.
Esta basado en un diseño de kernel monolitico y esta escrito enteramente en lenguaje C, dejando en Assembler pequeñas partes necesarias.
Pagina del proyecto: Fiwix
Descargar Fiwix: Fiwix-0.3.3
Saludos. exit()
El kernel Linux actualmente es muy grande para que un estudiante de ciencias de la computacion sea capaz de entender su estructura interna y estudiar como funciona, y en el futuro será aun mas grande de lo que es hoy dia. En contraste, el kernel Fiwix, debido a su estructura mínima, puede ser el kernel de iniciación y por ende ser mas elegible para el aprendizaje. Por razones obvias este proyecto esta dirigido a estudiantes de ciencias de la computacion y a entusiastas de SO quienes quieran conocer mas acerca de la operacion interna de un sistema operativo semejante a UNIX.
GNU/Fiwix no es un nuevo sabor de UNIX con sus propias utilidades de sistemas, librerias y compiladores, etc. Piensa en GNU/Fiwix como un nuevo kernel Linux que sigue la filosofia GNU/Linux y toma ventaja de las aplicaciones GNU existentes.
Fiwix es probablemente el primer kernel altamente compatible con las bases del kernel Linux. Esto significa que cualquier binario ELF-i386 compilado en un sistema GNU/Linux, puede ser ejecutado nativamete en un sistema GNU/Fiwix sin ningun tipo de emulacion.
Esta basado en un diseño de kernel monolitico y esta escrito enteramente en lenguaje C, dejando en Assembler pequeñas partes necesarias.
Pagina del proyecto: Fiwix
Descargar Fiwix: Fiwix-0.3.3
Saludos. exit()
Suscribirse a:
Entradas (Atom)