Noticias Weblogs Foros Wiki Código

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

4 bits blog

Cifrar una memoria USB

Julio 30th, 2009 - [Enlace local]

Hace poco se me ocurrió una forma de aprovechar una memoria USB (o pendrive) antigua (de 256MB) que tenía por ahí. Simplemente, utilizarla para guardar, todo cifrado, un archivo con un listado de contraseñas, documentos personales, claves GPG y/o SSH, …

Así que estuve buscando diferentes opciones, siendo importante que funcionase en Linux y en Windows (por si las moscas). Al final había dos opciones Truecrypt (el archiconocido) y dm-crypt (un gestor de dispositivos cifrados de Linux), me decanté por dm-crypt porque Truecrypt, curiosamente, no está en los repositorios de Debian y porque con dm-crypt no necesitaría de un programa a parte para utilizar mi dispositivo en Linux (aunque sí, en Windows).

Pasos a seguir

Directo al grano, estos son los pasos que realicé:

  1. Paquetes necesarios:
    # apt-get install cryptsetup hashalot dmsetup
  2. Rellenar la memoria con datos aleatorios (no es necesario, aunque sí recomendable):
    # dd if=/dev/urandom of=/dev/sdX
  3. Cargar los siguientes módulos si no lo están ya:
    # modprobe aes
    # modprobe dm_crypt
    # modprobe dm_mod
    # modprobe sha256
  4. Crear el contenedor cifrado (pedirá la contraseña para poder luego descifrarlo):
    # cryptsetup -v --key-size 256 luksFormat /dev/sdX NOMBRE-CONTENEDOR
  5. Formatear el contenedor (yo utilicé FAT para que funcione en Windows) para ello primero hay que montar el contenedor utilizando cryptsetup:
    # cryptsetup -v luksOpen /dev/sdX NOMBRE-CONTENEDOR
    # mkfs.vfat /dev/mapper/NOMBRE-CONTENEDOR
  6. Y ya está, ya se puede montar:
    # mount -t vfat /dev/mapper/NOMBRE-CONTENEDOR /mnt/usb_cifrado

Uso

Lo bueno de este método es que al enchufar la memoria en el ordenador Linux le pedirá la contraseña y se montará automáticamente. En la versión de GNOME que uso no lo monta, así que si te pasa esto siempre lo puedes montar ejecutando:

$ pmount-hal /dev/sdX

Y desmontar ejecutando:

$ pumount /dev/sdX

Para poder utilizar el dispositivo cifrado en Windows se necesita un programa llamado FreeOTFE que es compatible con este tipo de cifrado.

Basado en Manual de Cifrado de una particion concreta desde Linux Debian/Ubuntu.

» Leer más, comentarios, etc...

Blog de Julio César Pérez Arques

Esquema de un Sistema de Gestión de Desarrollo Software

Julio 30th, 2009 - [Enlace local]

UPDATE 090731: Se mejora la imagen del esquema y se subraya la importancia de la automatización de la alimentación del Sistema.



Me encuentro sumido en un proyecto de consultoría para definir un Sistema de Gestión de Desarrollo de Proyectos o Ecosistema Software. Así que aprovecho para compartir una primera versión del esquema lógico sobre el que estoy trabajando.





Wiki

Es el punto de entrada principal al Sistema.

Contiene la información básica de cada proyecto y la organización.

Redirige al resto de aplicaciones del Sistema.

Permite la creación de documentación de forma colaborativa.

Control de cambios automático.

Documentación exportable a formato pdf.



Cms

Sistema de Gestión Documental para los documentos binarios, como word, powerpoint, etc.

No toda la documentación puede estar en el Wiki.



Project Management

Visión de alto nivel de la gestión de proyectos.

Cuadro de mandos ágil para directivos.

Gestiona resto de estados de un proyecto que no son Desarrollo.



Issue Management

Gestión del desarrollo de cada proyecto con sus versiones, tareas, equipo, trazabilidad, etc.



Scm

Sistema de Gestión de Control de Fuentes (CVS, Subversion, Git,... etc.)



Continuous Integration Server

Descarga, construye, prueba, analiza el código, crea informes de estado y despliega en el Demos Server los proyectos de forma automática y periódica.



Demos Server

Servidor de demos del estado actual de cada proyecto.



Otros

Notificaciones vía RSS y e-mail.

Single Sign On.

Privacidad.

Integración con el IDE del equipo de desarrollo para automatizar la alimentación del Sistema y garantizar la trazabilidad.





Ahora toca analizar alternativas y seleccionar la que más se ajuste a las necesidades del cliente.

Los mayores problemas están en (1) el análisis del Wiki y el Cms por la cantidad de alternativas disponibles y (2) en la herramienta de Project Management porque cada organización tiene un punto de vista muy personal sobre la gestión de proyectos, lo que interesa y lo que no. Así que no descarto que haya que desarrollar una aplicación a medida como suelen tener todas las organizaciones.

» Leer más, comentarios, etc...

Fetishcode...Thinking in objects

Administración de Weblogic-JDeveloper.

Julio 30th, 2009 - [Enlace local]

A

» Leer más, comentarios, etc...

programania

Gestión de riesgos ágil e Impediment Backlog

Julio 30th, 2009 - [Enlace local]

Cuando escribí un esquema sobre lo que supone la gestión de proyectos de software, incluí la “Gestión de riesgos” como parte de la gestión tradicional de proyectos. Pero según voy investigando dentro de las metodologías ágiles no encuentro casi nada que hable explícitamente sobre cómo hacer ésta gestión de manera ágil.

Esto ocurre porque la gestión de riesgos en metodologías como SCRUM no se hace explícitamente, se hace de manera integrada en el propio proceso y, por lo tanto, de manera continua.

Quizá, la parte más explícita de la gestión de riesgos sea el Impediment Backlog. Un Impediment Backlog es una lista de incidencias que tienen que ser resueltas por el equipo y que el Scrum Master debe gestionar y asignar al alguien para que trabaje en ellas, y que será revisada en la reunión SCRUM diaria, tras la pregunta: ¿Qué está bloqueando el progreso del proyecto?

Creo que no vale la pena que explique nada más aquí porque, curiosamente, he encontrado el mejor artículo sobre el tema en castellano. Se trata de un análisis exhaustivo sobre los riesgos clásicos del desarrollo de software y cómo los afronta SCRUM. Contentísimo de que la blogosfera de habla hispana de artículos de ésta calidad, oiga.


» Leer más, comentarios, etc...

Picando Código

Ejemplos de que JavaScript puede desplazar a Flash

Julio 30th, 2009 - [Enlace local]

Flash Sucks

Flash Sucks

A partir de uno de mis primeros posts, ya dejé clara mi posición respecto a la tecnología Flash de Adobe (Macromedia) con Flash: 5 razones para no usarlo. Si bien tuve que usarlo para dibujar un dinosaurio, y otra vez un auto, en clases de Hipermedia, e incluso fui justo con Flash para barrapunteros como tú (un palo y una flor como dije por ahí).

Aaah, los viejos tiempos de Picando Código… (nostalgia). En fin, mi opinión no ha cambiado. Hoy estoy todavía más de acuerdo con la idea de que Flash debería ser totalmente desplazado por JavaScript (AJAX, frameworks, etc.) e incluso con HTML 5 y la inclusión del tag , ya se puede prescindir totalmente de él.

En el blog de Andrés Nieto (quien aparentemente comparte mi opinión sobre el futuro de Flash) me encontré este enlace: 16 Impressive Flash-Like Javascript Animation Inspirations, Tutorials and Plugins

Son 16 ejemplos de cosas increíbles logradas puramente con JavaScript

Post dedicado a Máxxximo y Grilix, que creo comparten mi rechazo hacia Flash :P

» Leer más, comentarios, etc...

Ingenieria de Software / Software Engineering

Cambios al SWEBOK

Julio 29th, 2009 - [Enlace local]

Pablo Fernando Sánchez en su blog escribe sobre los cambios que tendrá la guía de SWEBOK, interesante post para tomarlo en cuenta aquellos inmersos en el tema de la Ingeniería de Software.

» Leer más, comentarios, etc...

MadeInFlex

Oferta Laboral - Inteligencia Aplicada

Julio 29th, 2009 - [Enlace local]

Descripción de la Empresa:

Invitamos a desarrolladores de software, con experiencia en programación orientada a objetos y uso de patrones,
para participar en un importante proyecto cuyo modelo se está llevando a cabo en el estado de Nuevo León.

Buscamos desarrolladores de Java, PHP, ActionScript, y de preferencia aunque no indispensable, con experiencia en Flex y Flash.

(more...)

» Leer más, comentarios, etc...

programania

Gestión del conocimiento en proyectos de software

Julio 29th, 2009 - [Enlace local]

Hay un concepto que, sorprendentemente y por más que pregunto a colegas que trabajan en diferentes empresas, se deja de lado en muchas empresas de desarrollo de software: la gestión del conocimiento. Y dado el sector en el que nos movemos, parece un punto clave. Me parece que cualquier empresa debería ser capaz de responder a:

Lo más triste es que pienso que la mayoría de estas cosas se podrían solucionar teniendo a una persona que se encargara de pensar un poco en ello. No sé si el problema es que la existencia o no de esa persona depende exclusivamente de que alguien, de manera proactiva, decida dedicarle algo de tiempo, o que algunas empresas tienen en la dirección cabezas que sólo piensan de manera financiera (beneficios = presupuesto – (coste del programador * número de programadores))…

Dejó aquí un artículo interesante y las técnicas básicas que propone:


» Leer más, comentarios, etc...

programania

Agile Patterns: the technical cluster

Julio 29th, 2009 - [Enlace local]

Os aconsejo leeros el libro Patterns of Agile Practice Adoption. Se trata de un libro un tanto esquemático pero bastante exhaustivo que analiza las prácticas ágiles poniéndolas en forma de patrones (qué es, cuándo usarlo, qué implica, etc.). Ademas, explica bastante bien los objetivos de las prácticas ágiles, e introduce un concepto, los Business Smells (cómo detectar cuando algo va mal) muy interesante.

Además, describe cómo ir adoptando las prácticas ágiles de manera paulatina, en forma de iteraciones. Una lectura realmente interesante para todos aquellos que pretendemos ir introduciendo las prácticas ágiles en nuestro proceso de desarrollo.

Además, en la parte final de libro, agrupa las prácticas ágiles por Technical Clusters, esto es, conjuntos de prácticas analizadas en los capítulos anteriores.

Lectura fácil y clarificadora. ¡ya os la estáis bajando!


» Leer más, comentarios, etc...

Bitácora de Javier Gutiérrez Chamorro (Guti)

null is null

Julio 29th, 2009 - [Enlace local]

Puede parecer de perogrullo, pero null es null.

Sorprendentemente para Internet Explorer 7, en determinados contextos, que null sea null o que no sea un objeto, según se desprende del mensaje de error en inglés null is null or not an object, puede no ser bueno.

» Leer más, comentarios, etc...

Picando Código

Recordatorio: Evento del JUGUY Web 2.0 en Java EE

Julio 29th, 2009 - [Enlace local]

Si bien ya fue publicado, vale recordar que el próximo jueves se realiza el evento sobre Web 2.0 en Java EE del JUGUY en Montevideo:

Web 2.0 en Java EE (frameworks y  productividad)

JUGUY

Presentación del Evento

1. ¿Qué es el Juguy?
Somos un grupo de desarrolladores Java, que formamos una comunidad abierta, independiente y sin fines de lucro, conformada tanto por novatos como por experimentados arquitectos de software.  Entre los objetivos del grupo se encuentra la promoción del conocimiento técnico relacionado con la tecnología Java, proporcionando de esta forma una plataforma de crecimiento técnico y profesional a sus participantes, como así también a la industria local y regional.
El grupo se creo en diciembre de 2006 contando a la fecha con más de 1000 técnicos registrados de Uruguay y la región.

2. Objetivos del Evento
Promover:

3. Detalle del evento
Agenda

¿Dónde y Cuándo?

Lugar: Aula Magna de la Universidad Catolica del Uruguay
Fecha: 30 de julio de 2009
Horario: de 18:00 a 21:30 horas.

Público objetivo
Estudiantes, docentes, técnicos y profesionales informáticos. Las charlas tendrán un nivel basico y  medio.

Contacto
Correo: info@juguy.org
Sitio web JUGUY: http://www.juguy.org

» Leer más, comentarios, etc...

Picando Código

Visita de Corinto Meffe a Uruguay

Julio 28th, 2009 - [Enlace local]

Copio y pego de un mail enviado por Enrique Verdes a la lista de correos del UYLUG:

Corinto Meffe, uno de los principales promotores del Software Libre en el Gobierno Brasileño, estará de visita en Uruguay y dará una charla  pública. Agradezco que difundan.

El Centro Linux lo invita a la charla que dara Corinto Meffe (Gerente de Innovaciones Tecnologicas del Gobierno de Brasil) a dictarse el dia 30 de julio a las 18 horas en la Sala Zitarrosa.

Software publico: Desarrollo económico y producción colaborativa

La experiencia brasileña de dos años del software publico, que ya sustenta resultados de colaboración el la producción de software y al mismo tiempo genero un modelo de negocios sustentable para el software  con uso de licencia libre. Una experiencia premiada y que tiene apoyo  del Programa de Las Naciones Unidas para El Desarrollo con Objetivo de  llevarla para otros países.

» Leer más, comentarios, etc...

MadeInFlex

BlazeDS más cerca de Spring

Julio 28th, 2009 - [Enlace local]

Hace ya algunas semanas, los chicos de SpringSource sacaron a luz ( ya lleva unos cuantos meses en beta ) un nuevo proyecto que han estado cocinando de la mano de Adobe. Se trata del proyecto Spring BlazeDS Integration y, como su propio nombre indica, es una librería que facilita la integración de BlazeDS con Spring, el framework líder para desarrollar y ejecutar aplicaciones enterprise Java.

Como resultado de esta colaboración, SpringSource presenta un producto profesional para desarrollar Rich Internet applications basadas en Spring, en la parte servidora, y Adobe Flex en la parte de presentación.

Seguramente, dentro de poco sacaremos algún tutorial sencillo enfocado a mostrar todas sus features( y en Español ) pero, de momento, podéis empezar a echarle un vistazo en:

Spring for BlazeDS Integration

Como features a destacar:

- Mejor gestión de remoting y messaging destinations, tanto desde ficheros XML como por anotaciones en las clases de servicio

- Spring Security support

- Integración del MessageBroker dentro del contexto de Spring

Y con el adelanto que ya están trabajando en la compatibilidad con Spring 3.0 y LCDS.

» Leer más, comentarios, etc...

programania

Functor Objects

Julio 28th, 2009 - [Enlace local]

La verdad es que después de mucho discutir(por aquí, aquí, o aquí) sobre las ventajas de las lamba functions, closures, etc. en PHP 5.3, todavía no tengo muy claro cómo aplicarlo a mi código. En MundoGris, defienden que apenas hay cosas útiles, y que debemos fijarnos en el nuevo “magic method” __invoke como lo que realmente resultará útil. El __invoke nos permitirá crear clases que funcionan como funciones (ideales para luego reutilizarlas con array_map, array_filter,etc…). A continuación un ejemplo directamente copypasteado de MundoGris:

class GreaterThan {
	private $limit;
	public function __construct($limit) { $this->limit = $limit; }
	public function __invoke($number) { return $number > $this->limit; }
}
function filterGreaterThan($array, $limit) {
	$array = array_filter($array, new GreaterThan($limit));
}

Como vemos, GreatherThan es una clase con un método __invoke que array_filter utilizará para elegir aquellos miembros del array que sean mayores que $limit. Me ha parecido una solución útil e interesante.


» Leer más, comentarios, etc...

programania

¿Está PHP preparado para la empresa?

Julio 28th, 2009 - [Enlace local]

Leyendo el artículo de la infoQ sobre si PHP está preparado para la empresa, me vienen varios pensamientos a la cabeza. En primer lugar, preguntarse si un lenguaje está “preparado para la empresa” me parece muy del mundo Java. A día de hoy no sé muy bien qué significa. Y, en segundo lugar, sigo en mis trece con la “tendencia” que comenté en un artículo anterior: creo que los lenguajes de backend están perdiendo importancia. Dicho esto, ¿está PHP preparado para la empresa? Descomponiendo ésta pregunta en subpreguntas:
¿Permite PHP técnicas ágiles como pruebas unitarias, funcionales, integración contínua, etc?
SI (phpunit, selenium, phpundercontrol, etc.)
¿Permite PHP aplicar metodologías ágiles de gestión de proyectos como SCRUM, etc?
Dado que esto no tiene que ver con el código… ¿Cómo no?
¿Tiene PHP los suficientes mecanismos de POO, patrones y buenas prácticas?
Zend Framework es una buena demostración de la posibilidad de escribir programas MVC, active record, con DSL´s, Conventions over Configurations, etc.
¿Qué tal funciona PHP cuando hace falta alto rendimiento?
Cuando se trata de aguantar a millones de usuarios, PHP no tiene competidor. Está demostrado que ofrece mayor rendimiento que Java y, por supuesto, que Ruby. Cuando la clave no está en tener muchos usuarios sino en tener complejas transacciones con bases de datos, normalmente se confía en Java (el rey del software bancario). Por mucho que Oracle siga gritando que se puede utilizar perfectamente PHP para estos menesteres.
¿Ofrece algunas ventajas sobre los otros lenguajes?
PHP es, sin duda, el rey del software libre. Y prueba de ello son desarrollos como Moodle, el rey del e-learning, MediaWiki, el rey de los wikis, Wordpress (nadie le iguala en plugins y themes, y es un potentísimo CMS) y es el lenguaje que permite tener un hosting más barato.
Entonces, ¿es el mejor lenguaje, plataforma, y sólo deberíamos desarrollar en PHP?
Pues no, claro. Si quieres hacer una aplicación no-web, en PHP lo tienes difícil (a menos de que sea con Flex). Aunque PHP permita montar un marco de desarrollo realmente profesional, no obliga y permite chapucear a base de bien, hay que tener más cuidado que en otros lenguajes, por ejemplo. Y es verdad que hasta ahora le faltaban mecanismos básicos de distribuión de código como PHAR o Namespaces.


» Leer más, comentarios, etc...

xailer.info (esp)

Actualización de componentes para Xailer 2

Julio 27th, 2009 - [Enlace local]

Debido a los cambios en la última beta de Xailer 2 y el nuevo xHarbour es necesario actualizar las DLLs con los componentes externos que se han publicando durante las últimas semanas.

La actualización incluye:

Gdp
TRoundButton y TRoundGroupBox
TEditFilename/Directory y TEditCalculator
TCaptureBitmap
TSysShutdown
TServerInfo (publicada en los foros pro).

El ZIP contiene todos los componentes actualizados para la última beta de Xailer 2.

» Leer más, comentarios, etc...

programania

Métricas en la gestión de proyectos: estimaciones, costes, plazos y user stories

Julio 27th, 2009 - [Enlace local]

Ya estemos utilizando Kanban, SCRUM o Feature Driven Development, si estamos intentando aplicar cualquier metodología ágil necesitaremos elaborar un Product Backlog del proyecto donde cada ítem represente una user story (o una feature, o …). Además, deberemos priorizar esos items para ver cuales son más importantes y añaden más valor, e implementarlos primero.

Una de las claves a la hora de poner manejar cómodamente las user stories, elegir en qué iteración desarrollarlas y poder estimar cuanto tiempo tardaremos o si estamos cumpliendo el plan previsto, es hacer que sean del mismo tamaño (o, al menos, de un tamaño similar). Esto no siempre será posible, pero hay que intentar dividir una user story en varias, o juntarlas, para conseguir la mayor homogeneidad posible.

Para poder estimar el tiempo que nos llevará una user story, tenemos varias técnicas:

Una vez que tengamos nuestra estimación para los items más prioritarios, podremos ver cuantas horas y cuantos programadores serán necesarios para llevar a uen puerto la iteración en el tiempo estimado. Ésta es nuestra primera métrica: Iteration velocity, esto es, el número de horas (o de story points) resultos multiplicado por el número de programadores que participarán.

Si la Iteration Velocity de cierta iteración que va a durar tres semanas se ha planificado en 45 user stories, y pasada una semana sólo se han resuleto 3 user stories, se puede ver claramente que el equipo se está retrasando. Esto se suele representar mediante un gráfico BurnDown.

scrum_burndown_chart

Diariamente el programador introducirá las horas reales que le están suponiendo los story points. Las horas reales, son una métrica muy evidente. Si estamos por debajo de lo estimado, habrá que añadir story points a la iteración, y si estamos por encima, habrá que ver por qué, y en caso de no haber remedio, disminuir el número de story points de la iteración para poder llevarla a buen puerto.

Si la iteración va mal, y no nos va a dar tiempo a completarla como lo planificamos habrá que ver por qué. A eso nos ayudarán un par de métricas:

Las cuatro variables interdependientes con las que podemos jugar (aumentar o disminuir) a la hora de gestionar un proyecto son:

  • Alcance del producto. Es el número total de funcionalidades a implementar.
  • Calidad: medido de forma fiable mediante el número de defectos total del sistema.
  • Coste: muchas veces medido como el número de recursos necesario (programadores y número de horas por programador).
  • Tiempo: plazos y fechas estimadas.
Si el Time-Cost es fijo, sólo podemos jugar variando el alcance o la calidad. Bajar significativamente la calidad traerá problemas (subirá el coste en vez de bajarlo) posteriormente. Si el alcance es fijo, tendremos que jugar con el tiempo-coste o la calidad (glupss).
costTimeQuality

scope-cost-time-quality

Razones para elegir una funcionalidad y priorizar:

  1. El valor financiero de tener una funcionalidad concreta.
  2. El coste de desarrollar (y seguramente mantener) la nueva funcionalidad.
  3. Lo que aprendemos sobre el producto al desarrollar esa funcionalidad.
  4. La cantidad de riesgo que desaparece al desarrollar esa funcionalidad.

Y, por último, dejo aquí un interesante artículo sobre preguntas que podemos hacernos a la hora de controlar el desarrollo de un proyecto, y cómo obtener las respuestas en un entorno SCRUM.


» Leer más, comentarios, etc...

MadeInFlex

Fx4 IV: Spark containers

Julio 25th, 2009 - [Enlace local]

En este nuevo artículo veremos los nuevos containers de Fx4, los spark containers. Aunque Fx4 también proporciona los Halo containers, Adobe recomienda que usemos Spark containers siempre que sea posible, debido a que la arquitectura ha sido mejorada y optimizada. Como ejemplos de esta optimización tenemos que para mejorar el rendimiento de las aplicaciones, algunos Spark containers no permiten skinning y otro ejemplo sería que los Spark containers permiten el intercambio de layouts.

(more...)

» Leer más, comentarios, etc...

Fetishcode...Thinking in objects

JDeveloper en Linux.

Julio 24th, 2009 - [Enlace local]

A

» Leer más, comentarios, etc...

xailer.info (esp)

Nueva versión de Xailer 2

Julio 24th, 2009 - [Enlace local]

Estimados usuarios de Xailer,

Ya está disponible una nueva versión de Xailer 2 Beta en la cual hemos conseguido subsanar algún error más debido al rediseño de los ‘Datacontrols’ y además incluimos el nuevo control TListView completamente acabado, incluida su documentación.

Os adelantamos que antes del mes de agosto publicaremos una última versión de Xailer 2 Beta que seguramente incluirá soporte nativo de PostgreSQL, para ya publicar la versión definitiva de Xailer 2.0 en la primera quincena de septiembre.

Podéis encontrar la nueva versión de Xailer 2 Beta en el siguiente enlace:

http://www.xailer.com/files/xailer20beta.exe

También podéis descargar la versión xHarbour, que no ha cambiado desde la anterior publicación, desde la siguiente dirección:

http://www.xailer.com/files/xharboursetup2.exe

Os recordamos que está versión de Xailer sólo está disponible para usuarios con suscripción activa. Leer el artículo Novedades de Xailer 2.0 para más información.

Un cordial saludo,

[El equipo de Xailer]

» Leer más, comentarios, etc...

programania

Pero: ¿para qué sirve Twitter?

Julio 24th, 2009 - [Enlace local]

Aprovecharé la estupenda traducción de la entrevista sobre Guy Kawasaki que hicieron en ALT1040 para hablar de Twitter, de la misma manera que hablé el otro día sobre Facebook, ¿para qué nos sirve a los desarrolladores twitter y cómo podemos aprovecharlo para ganar tráfico y hacer marketing on-line?

Twitter una sencilla red social donde se pueden escribir mensajes de 140 caracteres, la gente puede seguirte y tu puedes seguir a gente. La formas de comunicarte son:

  1. publicar esos mensajes en tu status que verán todos tus seguidores
  2. escribir mensajes directos a una persona en concreto
  3. mensajes @, que son aquellos que se publican en tu status pero que contestan a un tweet concreto de otro usuario.
  4. Que un seguidor haga un “retweet” de un mensaje publicado por tí, de tal manera que no sólo lo vean tus seguidores, sino sus seguidores también.

Además, Twitter permite potentes búsquedas entre lo que la gente está twitteando, que además te permiten descubrir nueva gente interesante y suscribirte a ella. La gente que más exito está teniendo en Twitter, es aquella que está publicando contenido interesante.

Además, Twitter tiene una API que permite postear automáticamente contenido que venga de una aplicación que estés programando o de una fuente RSS por ejemplo. Así que si tienes un blog, puedes ganar en seguidores (y en tráfico) vinculando tu cuenta twitter a tu blog. También se puede utilizar el API para publicar incidencias en un servidor, por ejemplo, y que la gente relacionada con ese servidor pueda seguirlo (las aplicaciones del API de Twitter son infinitas).

Pese a que se habla de Twitter como el SMS-Killer (el día que todos los móviles tengan 3G, twitter te permitirá comunicarte de forma sencilla en mensajes cortos ), Twitter a día de hoy todavía es usado por gente bastante tekki (aunque esto va cambiando poco a poco). El tipo de audiencia que tendremos, comparando con Facebook, es una audiencia más tecnológica.

En definitiva, integrar una web o blog con Twitter es tan sencillo y el potencial aumento de tráfico puede ser tan grande que vale la pena hacerlo…


» Leer más, comentarios, etc...

programania

Seguridad y Zend Framework

Julio 24th, 2009 - [Enlace local]

Dejo a continuación una interesante presentación que habla sobre cómo implementar seguridad en un desarrollo con Zend Framework. Habla sobre temas básicos como autenticación , validación o filtrado, así como Cross Site Request Forgery, Session Hitchjacking, SQL Injection, etc. Está muy bien porque repasa aquellos mecanismos de seguridad automáticos que tiene el ZF y da consejos para hacer más seguro aquello que no lo es.

Presentación sobre seguridad en Zend Framework [PDF]


» Leer más, comentarios, etc...

programania

Internacionalización en PHP 5.3

Julio 23rd, 2009 - [Enlace local]

PHP 5.3 es mucho más de lo que parece. Quizá nos hayamos centrado mucho en discutir la utilidad de las PHP closures, o en funcionalidades copiadas a Java como Namespaces o PHAR, pero la versión 5.3 nos trae nuevos módulos como el de internacionalización, que me ha dejado bastante sorpredido. Tiene muy buena pinta. Copio y pego directamente de l artículo de sentidoweb:

  • Locale: divide los datos de localidad en componentes (pais, lenguaje, …)
  • Collator: compara y ordena strings de acuerdo con las reglas locales.
  • Number formatter: permite formatear números de diferentes modos (comas decimales, separador de miles, …)
  • Date formatter: formatea fechas y obtiene fechas de texto.
  • Message formatter: permite crear mensajes desde strings parametrizados dependiendo de las reglas locales.
  • Normalizer: para trabajar con Unicode de forma normalizada, ya que hay caracteres que son representados por distintos códigos Unicode.
  • Grapheme: trabaja con “graphemes” (no se traducirlo), que son las representaciones de las letras, las cuales puede constar de varios caracteres.
  • IDN: permite trabajar con nombres de dominios en formato internacional (eñes, acentos, …)
  •  

    Artículo original: devzone.


    » Leer más, comentarios, etc...

    EsLoMas.com

    El movimiento NoSQL va cogiendo fuerza

    Julio 23rd, 2009 - [Enlace local]

    Este mes de Julio está siendo especialmente movidito en el ámbito de las bases de datos, a raíz de un encuentro en San Francisco, en el que se han reunido alrededor de 150 desarrolladores partícipes de la comunidad “nosql”. El objetivo del encuentro era presentar a los participantes el funcionamiento de las bases de datos distribuidas no relacionales, así como un repaso a diversos proyectos existentes.

    En Computerworld, en su artículo No to SQL? Anti-database movement gains steam hacen un interesante repaso de las características de este movimiento.

    Los miembros de esta comunidad comparten una visión común en cuanto a que los sistemas de bases de datos relacionales (RDBMS) clásicos son lentos, complejos, caros e ineficientes para muchos de los problemas existentes en las aplicaciones de Internet actuales, especialmente en el ámbito de la Web 2.0 y las redes sociales. Frente a estos sistemas clásicos, proponen la utilización de sistemas más eficientes y baratos para gestionar la información, como los almacenes de datos basados en clave-valor como BigTable (Google) o Cassandra (Facebook), o incluso almacenes en memoria como Memcached, la utilización de shardings sobre estos almacenes para ofrecer almacenamiento distribuido, y sistemas como Hadoop que permitan el trabajo sobre estos almacenes distribuidos.

    » Leer más, comentarios, etc...

    Najaraba.com: Software libre, negocios y más.

    ¿somos ingenieros los del software?

    Julio 22nd, 2009 - [Enlace local]

    Seguro que ya te has enterado del revuelo que se ha armado con el artículo en IEEE de Tom diMarco, sobre su cambio de parecer con el control y métricas en los proyectos de software.Las métricas que inicialmente expuse en mi libro Controlling Software Projects: Management, Measurement and Estimation, han definido la forma en la que muchos ingenieros construian el software y planificaban el trabajo

    » Leer más, comentarios, etc...

    Información legal y técnica