Estructuras redimensionables para iPhone

framework web iphone Estructuras redimensionables para iPhone

Bueno, aunque el título reza que lo que hoy te traemos es exclusivo para iPhone, más bien es para cualquier tipo de dispositivo que disponga digamos de una pantalla especialmente pequeña o con unas proporciones diferentes a las habituales, incluídos los Androids, los aburridos Windows Mobile 7 y las gorditas Blackberries.

Se trata de un framework (un framework es una estructura de trabajo predefinida y un pequeño conjunto de utilidades básicas para el desarrollo enfocado) desarrollado bajo html 5 y compatible con casi todos los navegadores modernos y con el que gracias a él te podrás olvidar de las diferentes resoluciones para los diferentes dispositivos pues con este framework la web detecta la resolución de pantalla y autoadapta el contenido para que se visualice de forma óptima en el dispositivo lo que representa una clara mejora en la usabilidad de cualquier página web, blog  o aplicación web.

Este framework está compuesto por un par de ficheros CSS, un javascript y una forma de maquetar el encolumnado mediante CSS. Aún no hemos podido ponerlo en práctica por nosotros mismos pero en la web que enlazamos, la de sus creadores, puedes jugar a resizar (redimensionar) la ventana del navegador y ver como el contenido se adapta de forma perfecta a cualquier tamaño y proporción.

Aquí tenéis, listo para bajar un archivo zipeado con los ficheros del framework y un ejemplo: Framework web para iPhone (1)

Enlace: http://lessframework.com/

Formato pubDate en RSS

pubdate rss 480x332 Formato pubDate en RSS

Generador de blogs automáticos

Actualmente estamos trabajando en nuestro nuevo proyecto cOOmmunicate.com, cOOmmunicate es un sistema que permite generar blogs automáticos partiendo de cualquier fuente de noticias RSS.

El objetivo de cOOmmunicate es el de mejorar el posicionamiento de producto ofreciendo a nuestros clientes un sistema de blogs automático que no precisa interacción del cliente una vez configurado, es decir el mismo consulta clasifica y actualiza el blog por si sólo. Con cOOmmunicate podrás tener un blog sobre tu empresa o sector sin tener que dedicarle nada de tiempo, un blog que recibirá cientos de visitas al día en muy poco tiempo, una visita siempre puede convertirse en un comprador en potencia.

En nuestro proyecto vamos a utilizar el fichero RSS generado en una web de un cliente nuestro, Cablematic.com un mayorista de armarios rack y todo tipo de cables que utiliza nuestro sistema de tiendas online ecOOmmerce.com, el resultado será un blog con todas las novedades que introduzca el cliente en el backoffice.

Tras esta introducción comercial sobre nuestro nuevo producto vamos a la parte más técnica y aquella a la que podéis extraer un mayor provecho ya que es en este punto del desarrollo cuando hemos detectado la necesidad de convertir las fechas entre formatos mysql y formatos de fecha en RSS, a partir de aquí y tras conseguir realizar las correspondientes fórmulas de conversión de fechas publicamos el código básico para aquellos que tengan la misma necesidad.

Manejo del formato de fecha pubDate

El pubDate es una etiqueta de los archivos de sindicación de contenidos RSS, en esta etiqueta se coloca la fecha del artículo o post y posee un formato un tanto especial :

Sat, 09 Jan 2010 00:00:00 +0100

ó

Sat, 09 Jan 2010 00:00:00 GMT

Es decir:

Día de la semana coma número de día dentro del mes nombre del mes con tres letras año con cuatro números hora dos puntos minutos dos puntos segundos y GMT.

El problema o dificultad reside en como generar y manipular dicha fecha en PHP pues no existe un comando directo, si bien esto es una tarea más bien fácil os dejamos un apunte para aquellos que estén atascados con las conversiones de fecha en mysql, veamos un ejemplo:

Disponemos de una fecha en formato “date” de Mysql ej: 2010-01-01 y necesitamos convertirla a formato RSS para generar un rss de novedades de producto.

Para conseguir esto es suficiente con el siguiente par de líneas de código:

$mysqlDateStr = strtotime($mysqlDate);
$pubdate = date(‘D, d M Y H:i:s O’,$mysqlDateStr);

Este conversión la realizamos en dos pasos, primero convertimos en string el formato de mysql date para luego aplicarle el formato deseado, que no es otro que el formato pubDate de los RSS mediante el comando date de php.

En cambio si lo que tenemos en el origen es una fecha en formato TimeStamp deberemos utilizar el siguiente código:

$year = substr($timestampDate, 0, 4);
$month = substr($timestampDate, 4, 2);
$day = substr($timestampDate, 6, 2);
$hour = substr($timestampDate, 8, 2);
$min = substr($timestampDate, 10, 2);
$sec = substr($timestampDate, 12, 2);
$pubdate = date(‘D, d M Y H:i:s O’, mktime($hour, $min, $sec, $month, $day, $year));

En este código lo que hacemos es extraer cada parte del string en formato timestamp de mysql y lo convertimos en una variable aislada para finalmente formar una cadena de texto string con el comando de php date.

Ahora vamos a tratar el mismo problema a la inversa, es decir vamos a convertir una fecha en formato pubDate a un formato mysql:

$mysqlDate = date(‘Y-m-d H:i:s’,strtotime($pubDate);

Con este pequeño apunte ahora nos será más fácil y rápido convertir estas fechas.

Asignar el mismo valor a varias variables

Posted March 4th, 2010 in Aprender, Copy Paste, Curiosidades, apache, php by dedavid

la curiosidad mato al gato Asignar el mismo valor a varias variables

Hoy  hemos descubierto como asignar el mismo valor a un número determinado de variables de una tacada, estando en pleno proceso de desarrollo de una nueva verisón del carrito de la compra para nuestro sistema de tiendas online ecOOmmerce.com teníamos el siguiente código que corresponde a la asignación de datos de cliente para un pedido:

$address_name =
$address_address =
$address_cp =
$address_city =
$Saddress_location =
$Saddress_country_code =
$order_address =
$Saddress_name =
$Saddress_address =
$Saddress_cp =
$Saddress_city =
$days_delayed =
$expireOrderDate =
$creatorUser = ‘ecOOmmerce.com’;

Si te fijas las variables aún están definidas, pues algunas son fruto de un cálculo y teníamos que desarrollar el código, sin querer hemos grabado el archivo así, y al realizar un recargar en el navegador para ver el resultado donde pensábamos que apache nos iba a tirar un error de PHP por no tener esas variables definidas a excepción de la última PHP ha asumido que todas tienen el valor ecOOmmerce.com, el valor de la última, así amigos ya sabeis, para hacer una multideclaración de variables en PHP podeis utilizar este método, muy curioso, por cierto PHP 5 y Apache 2:

$variable1 =
$variable2 =
.
.
.

$variableN = ‘mismo valor”

Los lenguajes de programación más conocidos

popularidad php 480x359 Los lenguajes de programación más conocidos

Tiobe es una empresa que entre otros servicios genera un índice anual de referencia en cuanto a los lenguajes de programación más utilizados, hace escaso tiempo ha publicado su listado actualizado, te hemos reflejado un extracto con dicho listado en este artículo y donde podemos extraer algunos datos reveladores como los que comentamos a continuación.

Java está perdiendo su supremacía tuvo su boom en el diseño de aplicaciones web sobre todo en aplicaciones bancarias si bien parece que este lenguaje todo terreno y multiplataforma se está relajando mientras otros como PHP avanzan de forma inexorable.

Es a nuestro juicio PHP el que mayor solidez está consiguiendo pues se está convirtiendo en el lenguaje de programación dinámico para desarollos web por excelencia en términos generales, en la parte superior la gráfica al detalle de este gran lenguaje de programación. Como reseña sobre su avance podemos compararlo con la progresión y aparición diaria de nuevas aplicaciones web o aplicaciones que se ejecutan en la nube, quizá este es el motivo por el que PHP ya ha superado al lenguaje C++ y se espera que haga lo propio con C durante los próximo año pues el lenguaje C y derivado son unos lenguajes destinados al desarrollo de aplicaciones de escritorio.

ASP ó .NET ¿qué es eso? Muy muy mal lo están haciendo los chicos de Microsoft en comparación con PHP pues su lenguaje de programación dinámico para webs ni tan sólo aparece en este reconocido índice.

El lenguaje de programación Ruby avanza una posisición mientras que Javascript se mantiene en una cómoda novena posición.

ActionScript se mantiene gracias a AIR, el lenguaje que está detrás de Adobe Flash y Flex escala una posición quizá pierde algo en capa web por su hándicap en cuanto a posicionamiento en Google pero la gana con la nueva funcionalidad que te permite compilar aplicaciones de escritorio bajo la plataforma Adobe Air.

Aparecen en esta lista con mucha fuerza lenguajes relativamente nuevos, como el caso de Objective C, utilizado para programar aplicaciones y juegos en el teléfono móvil de Apple, iPhone y el lenguaje Go apoyado ampliamente por Google.

Posición
Enero 2010
Posición
Enero 2009
ProgresiónLenguaje de programación
11Same Los lenguajes de programación más conocidosJava
22Same Los lenguajes de programación más conocidosC
35Up Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosPHP
43Down Los lenguajes de programación más conocidosC++
54Down Los lenguajes de programación más conocidos(Visual) Basic
66Same Los lenguajes de programación más conocidosC#
77Same Los lenguajes de programación más conocidosPython
88Same Los lenguajes de programación más conocidosPerl
99Same Los lenguajes de programación más conocidosJavaScript
1011Up Los lenguajes de programación más conocidosRuby
1110Down Los lenguajes de programación más conocidosDelphi
1237Up Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosObjective-C
13-Up Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosGo
1414Same Los lenguajes de programación más conocidosSAS
1513Down Los lenguajes de programación más conocidosDown Los lenguajes de programación más conocidosPL/SQL
1618Up Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosABAP
1715Down Los lenguajes de programación más conocidosDown Los lenguajes de programación más conocidosPascal
1823Up Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosLisp/Scheme
1920Up Los lenguajes de programación más conocidosActionScript
2024Up Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosUp Los lenguajes de programación más conocidosMATLAB

Enlace: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Actualizando a Ubuntu 9.10 Karmic Koala

Posted November 15th, 2009 in Distribuciones Linux, No se que, Sistemas operativos, linux, ubuntu by dedavid

Línea de tiempo de Ubuntu Karmic Koala

Línea de tiempo de Ubuntu Karmic Koala

La instalación el día de su salida nos ha dado algunos problemillas, suponemos que la saturación de servidores debido a que todo el mundo debe estar tirando de ellos era el causante de que no funcionase todo lo fino a lo que nos tienen acostumbrados la gente de Canonical.

Una vez comienza la descarga, existen varias fases la primera, algo extraña con un indicador de descarga pequeño que nos informa que se están descargando dos archivos, tarda bastante.

Al rato aparece un nuevo diálogo donde ya te informa de los diferentes pasos que se van a suceder.

  • Preparación de la actualización: Aquí te informará que va deshabilitar los repositorios no oficiales, luego deberás reactivarlos tú de forma manual
  • Configurar nuevos canales de software: Esta operación consume bastante tiempo y te puede informar de que algunas aplicaciones han dejado de soportarse… que miedo, cruzas los dedos y continuas.
  • Obteniendo paquetes nuevos: Informa que va a tardar unas 12 horas en descargarse 1250 Mb. menos mal que tenemos 20 Mb. de ancho de banda.. Tras dejarlo bajando durante toda una noche luego te encuentras el ya típico mensaje conforme ha ocurrido un error y no se ha completado la instalación. Tras tres intentos más parece que finalmente se consigue, supongo que debe ser por que se retoma la descarga de paquetes desde el último paquete que ha bajado con éxito.
  • Instalando actualizaciones: Aquí nuevamente problemas, advertencias, posibles cambios de configuraciones, cruzas los dedos le dices que sí a todo y a instalar… en medio de la instalación nuevo mensaje de error, con un mensaje diciendo algo así como que va intentar volver al momento anterior debido a un error… pánico en la oficina! A la tercera intentona o  a la cuarta, ya he perdido la cuenta y las ganas de contar. Éxito!!!
  • Limpiando: Aquí borra paquetes y cositas que se ha bajado. Se acerca el momento.
  • Reiniciando Equipo: Pues eso a probar!

Así a simple vista y tras haber trabajado con nuestro Ubuntu como workstation durante un par de horas te contamos algunos de los cambios visibles por el usuario, las pantallas de carga han mejorado si bien falta homogeneidad y sobra el splash screen con el efecto de luz, por favor señores de Canonical  dejen el logo centrado, como al principio y a lo sumo una barra hasta la pantalla de login de usuario, lo otro es algo ortera y está como algo forzado y sobrante, la pantalla de login muestra ahora los nombres de usuarios… dios hay varios que yo no los he creado!!! obviamente son usuarios propios del sistema, rollo getmail y demás por favor no mostradlo pues esto desorienta al usuario no avanzado, por el bien de la usabilidad, y otra cosa que antes me gustaba más ¿por qué ahora mostrais el nombre de usuario? antes era un form en blanco, para mi mucho más seguro pues del hacker debe adivinar dos valores, usuario y clave, ahora tan sólo dos.

Rendimiento, ahora sí que he notado una considerable mejora en el manejo del sistema en equipo equipado con procesador Atom.

Incompatibilidades, parece que todo funciona, el servidor web, el entorno de desarrollo Eclipse, los programas de apoyo, etc.

Página 1 de 3123