Curso: Diseño e implementación de interfaces web con Bootsrap

Captura de pantalla 2015-10-28 a las 12.39.47

Aquí os dejo el material creado para un curso de formación impartido hace unos días.

Este curso resultará de interés a aquellas personas interesadas en aprender a utilizar el conocido framework HTML Bootstrap para la creación de interfaces de usuario web (aunque también tratamos interfaces de usuario para Apps híbridas).

https://www.dropbox.com/s/fke08umh7svdqyd/Curso-Bootstrap.pdf?dl=0

Un saludo,

Validar número IBAN en PHP

adios-ccc-hola-iban

Dejo por aquí una pequeña función escrita para PHP encargada de validar cualquier código bancario internacional (IBAN).

Para ello, la validación se encarga de verificar:

IBAN:GB82 WEST 1234 5698 7654 32

  • Reordenación : W E S T12345698765432 G B82
  • Conversión a entero: 3214282912345698765432161182
  • Sobre el número resultante, calcular el módulo 97, si el resultado es correcto, la operación dará como resultado 1.3214282912345698765432161182mod 97 = 1
 
<?php

function isValidIBAN ($iban) {

  $iban = strtolower($iban);
  $Countries = array(
    'al'=>28,'ad'=>24,'at'=>20,'az'=>28,'bh'=>22,'be'=>16,'ba'=>20,'br'=>29,'bg'=>22,'cr'=>21,'hr'=>21,'cy'=>28,'cz'=>24,
    'dk'=>18,'do'=>28,'ee'=>20,'fo'=>18,'fi'=>18,'fr'=>27,'ge'=>22,'de'=>22,'gi'=>23,'gr'=>27,'gl'=>18,'gt'=>28,'hu'=>28,
    'is'=>26,'ie'=>22,'il'=>23,'it'=>27,'jo'=>30,'kz'=>20,'kw'=>30,'lv'=>21,'lb'=>28,'li'=>21,'lt'=>20,'lu'=>20,'mk'=>19,
    'mt'=>31,'mr'=>27,'mu'=>30,'mc'=>27,'md'=>24,'me'=>22,'nl'=>18,'no'=>15,'pk'=>24,'ps'=>29,'pl'=>28,'pt'=>25,'qa'=>29,
    'ro'=>24,'sm'=>27,'sa'=>24,'rs'=>22,'sk'=>24,'si'=>19,'es'=>24,'se'=>24,'ch'=>21,'tn'=>24,'tr'=>26,'ae'=>23,'gb'=>22,'vg'=>24
  );
  $Chars = array(
    'a'=>10,'b'=>11,'c'=>12,'d'=>13,'e'=>14,'f'=>15,'g'=>16,'h'=>17,'i'=>18,'j'=>19,'k'=>20,'l'=>21,'m'=>22,
    'n'=>23,'o'=>24,'p'=>25,'q'=>26,'r'=>27,'s'=>28,'t'=>29,'u'=>30,'v'=>31,'w'=>32,'x'=>33,'y'=>34,'z'=>35
  );

  if (strlen($iban) != $Countries[ substr($iban,0,2) ]) { return false; }

  $MovedChar = substr($iban, 4) . substr($iban,0,4);
  $MovedCharArray = str_split($MovedChar);
  $NewString = "";

  foreach ($MovedCharArray as $k => $v) {

    if ( !is_numeric($MovedCharArray[$k]) ) {
      $MovedCharArray[$k] = $Chars[$MovedCharArray[$k]];
    }
    $NewString .= $MovedCharArray[$k];
  }
  if (function_exists("bcmod")) { return bcmod($NewString, '97') == 1; }

  // http://au2.php.net/manual/en/function.bcmod.php#38474
  $x = $NewString; $y = "97";
  $take = 5; $mod = "";

  do {
    $a = (int)$mod . substr($x, 0, $take);
    $x = substr($x, $take);
    $mod = $a % $y;
  }
  while (strlen($x));

  return (int)$mod == 1;
}

Emprende: “Pon tu talento al servicio de la sociedad”

No suele ser una buena señal que un blog personal no se actualice desde Mayo del año pasado y denota una pérdida de interés importante.

Pero no, ese no ha sido esta vez el caso. Hoy se cumple un año desde que puse en marcha mi primer proyecto empresarial (www.socialgym.com), un año emocionante y la verdad es que no me han regalado nada en este tiempo, a pesar de que le he dedicado el 180% de todo mi tiempo, fuerza, energía e ilusión.

exito

Desde que tomé la decisión de abandonar mi zona de confort y me propuse crear algo de la nada ha pasado un año solamente pero tengo la sensación que haya pasado una década. Recuerdo que durante bastante tiempo me estuvo rondando la idea en la cabeza de querer hacer algo y no estar especializándome en nada.

Emprender me ha supuesto un cambio de vida radical, renunciar a muchos pequeños lujos que tenía (y creía necesitar) a cambio de un camino repleto de cosas buenas y malas. Trabajar pensando y viendo resultados a medio-largo plazo, manteniendo la motivación necesaria para que tus ideas acaben cogiendo forma, no es fácil.

Es innegable que el tiempo se mide de otra forma cuando estás metido en todo ese proceso. Aprendes a valorar de otra forma el esfuerzo que cuesta que algo funcione, más allá de lo que te pintan las películas en 30 segundos.

Por el camino, me he encontrado mucha indiferencia, incluso de quien no pensaba encontrármela, muchas zancadillas y gente que está para lo bueno pero no para lo malo. En ese sentido, bien. Me han hecho darme cuenta y valorar más a quien creo que realmente lo merece.

También he conocido mucha gente nueva. Gente que para mi ha supuesto una bocanada de aire fresco, que ha creído en mí incluso cuando yo he dudado y con la que incluso han surgido nuevos caminos para emprender nuevas ideas y proyectos, en los que ya andamos metidos. Sin duda, lo mejor de este año, ha sido esa gente y el el hecho de que lo que empezó siendo una idea, hoy esté dando trabajo a un equipo de personas .

En cuanto a la parte técnica, curiosamente ha sido la menos dura. Puntualizando: He tenido que hacer frente a más problemas técnicos en los últimos meses de mi vida que en los siete años anteriores de trabajo, pero ahora, este tipo de problemas se que son una simple cuestión de tiempo y que siempre terminan por resolverse, dejando un gran conocimiento adquirido. En este sentido, me veo mucho más versátil y completo que antes, digamos por decirlo de alguna manera, que le he perdido bastante miedo a este tipo de limitaciones.

Más allá del éxito y el fracaso alcanzado este año, me quedo con que de aquel folio vacío que tenía ha servido para que miles de personas se encuentren hoy disfrutando de servicios que hemos creado, de ahí el título de esta entrada y que para mi resume bastante bien el concepto de emprender una idea de negocio.

Mirar atrás, ahora es fácil, me hace darme cuenta de no pocos errores cometidos y de algunas decisiones acertadas. Mirar hacia delante es lo mejor que puedo hacer, y la verdad es que sigue siendo igual de desafiante que el primer día, pero veo más cerca ciertas metas. Lo mejor sin duda, está por llegar.

Espero que pronto, pueda ir poniéndome al día con el blog, he aprendido muchísimo y la verdad es que me gustaría compartir parte de los conocimientos adquiridos, tanto técnicos como humanos, a lo largo de estos meses.

Granada Mobile Day (6 Junio 2014)

300x250
Os dejo aquí la información de este evento en Granada, el próximo día 6 de  Junio. Me parece realmente interesante, yo he reservado ya mi plaza en uno de los talleres.

PhoneGap Spain os anuncia que Adobe User Group Granada vuelve a la carga para presentarte su nuevo evento, GRATUITO, el próximo 6 de Junio, el Granada Mobile Day, donde profesionales del sector móvil de primer nivel nos enseñarán cómo crear aplicaciones móviles con la tecnología Html5, jQuery Mobile y Phonegap, además de usabilidad, problemas y soluciones y casos de éxito.

 

Por nuestra parte, PhoneGap Spain vuelve a colaborar con este grupo, de la mano de José Jesús Pérez Rivas, en este caso con la ponencia “Inside The GMD App”. Hablaremos de cómo se creó la app de GMD desde la fase conceptual a la entrega, los puntos fuertes del desarrollo de esta, la utilización del framework Jquery, la incorporación de Google Analityc, la lectura de códigos QR y las notificaciones push con Pushwoosh.

 

LOS TALLERES Además aprovechando la visita de Maximiliano Firtman a España, podrás disfrutar de 2 talleres monográficos.

  • APPS MÓVILES CON JQUERY MOBILE Y PHONEGAP
  • MOBILE HTML5

Esquemas de colores para Sublime 3

Captura de pantalla 2014-05-05 a la(s) 11.22.48

Sublime 3 se ha convertido, de lejos, en mi herramienta favorita de trabajo. No se cuantos cientos de horas llevo a la espalda con este editor de texto, pero desde luego cada día me gusta más: El hecho de que sea multiplataforma, tan completo y con posibilidad de añadir prácticamente cualquier funcionalidad que necesitemos hacen, para mi, que sea el mejor de todos.

Una de las cosas fundamentales a la hora de desarrollar código es el tema de los esquemas de colores y resaltado de sintaxis por parte del editor de textos. Una buena elección nos hará que trabajar durante horas y horas sea más cómodo e incluso más eficiente.

En este sentido, para Sublime 2 y 3 existen cientos de temas. Yo os recomiendo que os paséis por colorsublime.com, donde encontraréis un montón de temas.. que se instalan en un par de pasos.

Yo llevo unas semanas utilizando el tema peacock y FreshCut. Y la verdad es que estoy encantado con los contrastes en la paleta de colores y resaltado de sintaxis en PHP/HTML/JS y CSS, y eso se nota a la hora de trabajar.