viernes, 6 de mayo de 2011

Siete secretos de la innovación de Steve Jobs presentado en el libro de Enric Barba

A continuación hago una reproducción de una publicación, ya que me parece interesante de destacar. 

Fuente: La Nación - Martes 03 de mayo de 2011 | 08:39

Steve Jobs es, sin duda, un personaje controversial, aunque respetado
hasta por sus detractores más feroces. En primer lugar, por haber
creado de la nada a Apple y luego por haberla rescatado y transformado
en una de las empresas más innovadoras del mundo.

Lo cierto es que, por más creativo que sea, el hombre no improvisa
sino que se atiene rigurosamente a su propio credo innovador. Varios
libros han analizado, en mayor o menor profundidad, el "modelo Apple"
y los métodos que utiliza Jobs para conducir su empresa. Uno de ellos
es "Innovación: 100 consejos para inspirarla y gestionarla", en el que
Enric Barba presenta siete principios clave que utiliza Jobs. Estos
son los siete mandamientos de Apple:

1- Haga lo que le apasione. la pasión es la clave del genio. Jobs
descubrió en su propia experiencia cómo alinear el trabajo con los
propios gustos e intereses redunda en mayor energía, creatividad,
constancia y resistencia a la adversidad. Si no está trabajando en
algo que le guste y no puede cambiar eso a corto plazo, dé pasos que
lo lleven con el tiempo a trabajar en algo que le sea más agradable.
Si lidera personas, asegúrese de ubicar a cada uno en la tarea que más
ajusta a sus habilidades y preferencias. Es la forma de sacar lo mejor
de cada uno.

2- Cree una visión. Las visiones inspiran y motivan. Nos llevan a
pensar en grande, a superar los límites y ayudan a liderar y unir los
grupos de trabajo y darles un sentido de dirección y pertenencia. Jobs
fue comparado muchas veces con un evangelizador, más que como un
hombre de negocios. Puede estar lanzando un reproductor de audio o un
nuevo teléfono, pero en su discurso parecerá que está cambiando al
mundo. Y de hecho, lo está haciendo.

3- Reactive su cerebro. Hágase las preguntas que no se hace nadie.
¿Por qué? ¿Qué pasaría si.? Conecte aquello que parece disociado. Jobs
vivió siempre en la frontera entre la tecnología y la cultura. Es un
apasionado del diseño y la estética, y aplica permanentemente esa
sensibilidad al desarrollo de productos electrónicos de consumo.
Además los productos de Apple en los últimos años son excepcionales
muestras de hibridización. Combinar telefonía, reproducción de audio,
video, navegación web, etc. es la forma en que ha buscado dar a sus
dispositivos una ventaja.

4- Venda sueños, no productos. Ayude a sus clientes a mejorar sus
vidas con sus productos. Después de todo, es eso lo que ellos
persiguen. No están enamorados de su empresa, sino de sus propias
aspiraciones y deseos. Ayúdelos a alcanzarlos. Por ejemplo: la
capacidad de edición de música y video que traen las computadoras
Apple es importante sólo porque permite que el cliente se exprese
creativamente, aunque no sea un profesional. El resto son detalles
técnicos.

5- Mantenga el foco. Diga que no a 1000 cosas. La verdadera pregunta
que debemos hacernos todo el tiempo es: ¿por qué me comprarían este
producto? Todo lo que no lleve a responderla satisfactoriamente puede
y debe ser eliminado. El resto no crea valor, dispersa energía.
Elimine los productos no rentables de su portfolio y concéntrese en
los más interesantes. En los negocios, la efectividad es hija de la
concentración.

6- Brinde una gran experiencia. Preste atención no sólo al producto
sino a la experiencia que provoca en el cliente, desde el momento
mismo en que lo adquiere. Cuide el entorno en que ofrece sus
productos, brinde un gran servicio, haga que el proceso de compra sea
fácil y práctico para el cliente. Permita que experimenten su producto
antes de comprarlo.

7- Comunique efectivamente. Que todos sepan que tiene un gran
producto. Diga las cosas de forma sencilla. En una presentación no
transmita más de tres ideas. Explique con dibujos y utilice historias.
La comunicación es casi tan importante como el producto. Después de
todo, ¿de qué sirve haber creado el mejor producto si no sabemos
comunicarlo?

viernes, 15 de abril de 2011

Hosting gratuito

Hola a todos, hoy quería compartir con ustedes un sitio que encontré. Este sitio se llama http://coralrift.com/ y nos permite realizar el alojamiento del sitios web que no requieran interacción con algún motor de base de datos.  El mismo es ideal para curriculums, un portfolio de los trabajos realizados, etc. La desventaja de este tipo hosting gratuito es que la dirección del sitio que vayamos a crear siempre estará baja el subdominio del sitio.

Bueno, es algo mas de lo que quería compartir con ustedes.

Saludos....

jueves, 14 de abril de 2011

Blog de Diseño Gráfico

Hola a todos queria compartir con todos ustedes uno de los blogs que vengo siguiendo hace rato. El blog es de Diego Mattei, la temática principal es sobre recursos, conceptos, y novedades relacionadas al mundo del diseño gráfico. Es muy destacable los recursos que se encuentran en el mismo y vale la pena destcarlo.

Url del blog:http://diegomattei.com.ar/

martes, 12 de abril de 2011

¿Cuál es el mejor framework PHP?

Debido a la aparición de los frameworks tanto en el ambiente .net como en el ambiente de php, decidí aprender algunos con el fin de conocer lo que realmente es un framework así como también conocer sus ventajas , desventajas y características.

Por definición(wikipedia-Framework): un framework es una estructura conceptual y tecnológica de soporte definida, normalmente con artefactos o módulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Particularmente con PHP: Me aprendí 3 frameworks como CAKEPHP, ZEND FRAMEWORK, CODEIGNITER.

Cuando decides aprender los framework, se supone que conociste el lenguaje php en su estado mas puro(sin framework), y esto me sucedío a mí. 

A partir de ello puedo decir, que  cakephp es un excelente framework. EL mismo tiene una consola de adminsitración que permite generar tanto modelos, controladores y vistas, y control de acceso ACL. Es decir, que a partir de un esquema físico de base de datos es posible generar CRUD de la aplicación y en muy pocos minutos tener una aplicación funcional. Una de las desventajas que tiene este framework o que almenos a mí no me gusto, es que el esquema físico de la base de datos debe construirse con ciertas nomenclaturas, así como los controladores y modelos. Me pasó que queria desarrollar una función, y siguiendo la nomenclatura de cake me costo muchisimo, y sentí que el mismo no me estaba ayudando para los desarrollos que yo necesitaba en particular. Por ello búsque otros frameworks.

Aquí aparecen zend framework o codeigniter, para resumir, estos dos frameworks son excelentes permiten programar aplicaciones web en php con una claridad y simplicidad. Tienen una gran cantidad de librerias , helper, es pocas palabras componentes de código que te ayuda a desarrollar mucho mas rápido, tanto de desde realizar acción sobre motores de base de datos como válidación de la entrada, etc. Son dos frameworks particularmente parecidos a pesar de que su sintaxis cambia levemente(no olvidar que sigue siendo php). La úninca desventaja o límitación que encontré son los formularios generados automaticamente con zend framework, son límitados en cuanto a diseño, asi como también el marcado, particularmente prefiero evitarlos. Estos formularios automáticos es solo una funcionalidad, y también es posible construirlo a partir del marcado html de cada uno de los controles. Vale mencionar que en estos frame... no existe la consola gloriosa que existe en cakephp, algo muy destacable.

En resumén si se aprenden zend o codeigniter, seguro les cambiará la forma de desarrollar.
Y ahora que me puedes decir vos sobre cual es el mejor framework.






lunes, 11 de abril de 2011

Manipulación del Estado del Cliente

Este es un tipo de ataque por entradas no válidadas. Por regla general las apliaciones web deben válidar todas las entradas, debido a que el protocolo utilizado para comunicar el cliente y el servidor es el HTTP. Este protocolo es olvidadiso, es decir, que  no almacena la información que se procesa y se envía al cliente. Esta característica del protocolo y el descuido de los programadores es un punto de entrada para explotar esta vulnerabilidad.
Ejemplo o situación:
Imaginense que tienen un formaulario con tags input con types "text", "submit", y sobre todo "hidden". Este formulario, es utilizado para actualizar los datos de una persona en una base de datos, en donde el campo hidden mantiene el identificador único(id de la tabla del registro que se desea actualizar) que permitirá actualizar los datos de la persona.
Que el control de tipo hidden no se visualice en el navegador, no significa que no pueda ser alterado los datos que contiene el mismo. Una forma de cambiar los datos es utilizar la herramienta firebug e ingresar en el modo de edición de para cambiar los datos. Otra forma de hacerlo es descargar la página, realizar los cambios de los datos a través de un editor y luego correrla a través del navegador. También si los datos se envían por el método GET, las entradas que van al servidor viajan en la url y estas pueden ser modificadas simplemente modificando la url. 
Cuando se efectué un post o se presione el botón de guardar los datos, el formulario modificado llevará los datos y el id cambiado.
Esta acción de modificar el formulario, llevará los datos cambiados al servidor y si además los datos en el servidor no son válidados, cuando se actualice en la base de datos se cambiaran datos de registros que no deberian haberse cambiado.

Las posibles soluciones la estaré escribiendo proximamente, saludos...

domingo, 10 de abril de 2011

Seguridad en aplicaciones

En los primeros años de programador, buscas aprender que acciones, métodos o procedimientos necesitas realizar para lograr que las aplicaciones que desarrollas sean seguras o al menos eso parezcan.

Lo primero que la mayoría de los programadores aprenden es a como ocultar los datos e información para usuarios no autorizados, y para ello se suele desarrollar modulos que administran los usuarios y permisos. Según los permisos que tienen los mismos se habilitan menús, funciones y acciones.

Desde la perspectiva de una aplicación web, una vez un amigo me dijo:

Che yo hago un inicio de sesión en mi aplicación y habilito o deshabilito funciones según los permisos de los mismos, ¿Con esto es suficiente para ser una aplicación segura?, ¿Qué puedo hace para que mi aplicación sea mas segura?

Siento contestarte que prohibir accesos es uno de las tantas técnicas o conceptos, y no deberia ser la única que se apliqué.

Me enfocaré particularmente en la seguridad en aplicaciones web, porque son las aplicaciones que más expuestas estan a ser vulneradas.

A continuación veran los temas que iré desarrollando(Los temas se iran actualizando y ampliando a medida que vaya desarrollando cada tema).

  1. Manipulación del estado del Cliente.

De vuelta .....

Hola a todos, despúes de una larga ausencia decidí volver a escribir sobre lo que mas me gusta, la informática, en todas sus expresiones. Y para ello volví con nuevos conocimientos y experiencias que adquirí en estos últimos años. Experiencia y conocimientos que les pueden interesar.
Espero que les sea de utilidad, saludos a todos y espero visiten mi blog.