Apple + Beats: Tres(3) Teorías Sobre la Mesa

Apple compró Beats.  Lo compró por 3.2 BILLONES de dólares.

http://www.nme.com/images/gallery/2014DrDre_Apple_Press_290514.jpg

 

Dr. Dre es el hombre “hip-hop” más rico del mundo en este momento, y junto a Jimmy Iovine y el resto del equipo formarán parte de los minions de la manzana.  Mi pregunta es ésta:

¿Cuál es el objetivo de Apple con esta adquisición tan “extravagante”?

(al menos para Wall Street fue extravagante, por no decir no bien recibida; las acciones bajaron al momento de confirmar la noticia.)

Parte de lo extraño de la compra, es la cantidad de $$$ solamente por la marca Beats.  Los audífonos no tienen la súper-tecnología ni la súper-calidad que Apple podría explotar(no reciben buenos reviews en Amazon) y el servicio online de música tampoco es “mejor”(más popular) que el propio iTunes Radio que tiene cuarenta millones(40M) de usuarios, en comparación a los doscientos cincuenta mil(250k) de Beats Radio con solo tres(3) meses de operación. ¿Para qué estaría comprando Apple a Beats entonces, y por esa semejante cantidad de dinero? Sigue leyendo

php-logo-elephant

PHP: magia con los arreglos

Por algunas horas estuve muy arrepentido de no haber estado en las clases de programacion en C en la universidad(venia de otra U, asi que la convalide y “decidi” no entrar de oyente y perder el tiempo por ahi…estudiando calculo integral xq estaba en panga).

Hoy realmente lo necesite: tenia una situacion en PHP y la solucion claramente en hacer un algoritmo que de una lista de cadenas de “strings” extrajera los valores unicos(todos los no repetidos, y los repetidos solo 1 vez; estilo MySQL DISTINCT).

Mi cabeza penso y solo encontro un “vacio” en la seccion de “algoritmos basicos de programacion’…muy, muy arrepentido .

Lo primero que hice fue “inventar” el algoritmo con una vieja favorita: la prueba de escritorio.  De acuerdo a mi parecer, el algoritmo que probe en papel estaba bueno, pero cuando fui a programarlo en vez de extraer una lista de valores unicos, duplico y triplico hasta los miles la cantidad de valores…que paso ahi? No tengo idea; y no tengo tiempo para averiguarlo xq tengo que terminar este task!

Afortunadamente, hay dos(2) funciones en PHP que me “sacaron del hoyo” en esta ocasion:

array_unique es una funcion que retorna un nuevo arreglo con todos los valores unicos de un arreglo de valores repetidos.

ejemplo:

Screen Shot 2013-04-01 at 1.14.54 AM

Tiene tres elementos importantes:

- los compara como “strings”

- la condicion es esta: si $string1 === $string2 , guarda el $string1 en el nuevo arreglo(es decir, siempre agarra la primera instancia que encuentra del valor, aunque se repita mas adelante en el arreglo)

- mantiene los indices/llaves originales: esto es SUPER importante recordarlo porque si los valores son 3,6,8,32,44,54,64 asi mismo te los guarda en el arreglo nuevo, tiempo de $array[54] = “string!”;

Si necesitas que los indices esten en orden de nuevo (tipo 0,1,2,3…) tienes que hacer un truco mas…

para mi caso en particular, necesitaba el segundo truco, porque no me gustan los indices en desorden(y te “hacen perder tiempo” si quieres recorrer el arreglo).

El segundo truco viene con la funcion array_values : esta funcion te retorna un arreglo con los “valores” del arreglo original, en una lista(o arreglo, no se) consecutiva(es decir, con indices 0,1,2,3…)

ejemplo:

array_values

con esta, ya tienes un arreglo con los valores unicos, y ademas ordenados.

Encontrar estas funciones me ha salvado y ojala te ayuden a ti tambien mas adelante.  En PHP hay muchisimas funciones para muchisimas cosas que quizas solo son relevantes un par de veces en la vida, pero hay que estar agradecido de que Lerdorf y el quipo de PHP pensaron en muchas, muchas posibilidades :D

Mysql…Foreign Key error(150) —algunas precauciones

Es una gran pesadilla intentar hacer llaves foraneas(foreign keys) entre algunas tablas en MySQL y que siempre te salga el bendito: ‘err(150)’, que en realidad no significa nada; es un mensaje de “error general”.  Pelicula de Terror.

Me acaba de suceder, y tanto buscando en internet como pensando un poco(nunca pasa de moda), al final pude hacer las relaciones que necesitaba.  Aqui les dejo una lista de elementos a considerar cada vez que la pesadilla llamada err(150) frustre tus intenciones de “hacer que las tablas se agreguen unas a otras en sus listas de amigos del Mysql Space“:

  • Verifica tipo de dato/tamanio del campo: es lo mas logico, puesto q la misma informacion iria en ambos campos
  • Ambas tablas que sean de motor InnoDB(debe ser asi en primera instancia, para que haya llaves foraneas)
  • Campos tipo BLOB y TEXT no pueden ser llaves foraneas: no hay garantias de que a nivel de bits la informacion se mantenga igual en todos los casos; de modo que mejor abandona y ponte a normalizar e inventa tablas y campos que si puedas enlazar
  • Verifica los “collation”: el collation debe ser el mismo tambien, sino los caracteres pueden malformarse en la relacion, y por lo tanto Mysql no te deja enlazarlas
  • si ya tienes registros en las tablas que ‘alimentan’ a la tabla madre, el campo de la tabla ‘madre’ debe coincidir con los datos de la tabla que alimenta.  Ejemplo:

tienes la tabla “TipoCaballo” que alimenta a la tabla madre “CaballosAlquilados”.  Los registros de la tabla madre, en el campo “CaballosAlquilados.idTipoCaballo” deben tener un valor que corresponda a cualquiera de los que tenga la tabla “TipoCaballo” en su campo “idTipoCaballo”.  Esto debe ser asi incluso antes de hacer la relacion, si no va a enviarte el error de que los datos no coinciden, por lo tanto no puede haber relacion.

Creo que son todas las que utilice para resolver mis asuntos.  Espero que les sirvan, y en tal caso aporten mas DATITOS! para erradicar la tragedia de los err(150) de este mundo!

Alinear en CSS

Resulta ser…

Que a la hora de alinear elementos en CSS, el CSS ve toda la pagina como un plano cartesiano. De manera que los valores de alineacion pueden ser negativos; por ejemplo:

left-margin: -111px
right-margin: 110px;

Quiero que sepan que NO TENIA IDEA, asi que modificando poco a poco en Google Chrome(developer tools –great!) me di cuenta y ya puede editar el style.css y acomodar una imagen. Buen tip!

joomlacolor

Joomla! Tips: Splash Screen fuera del menu principal

Esta me la aprendi hoy(vive la StackOverflow!)

Hay veces que quieres que tu sitio tenga una pantalla inicial con alguna especie de ‘intro’ y que luego de un click se entre al contenido del sitio. Algo que me estaba fallando es que dentro del menu principal del sitio, se podia volver a cargar la pantalla inicial; esa no era la idea.

Para “separar” tu pantalla inicial del sitio(“splash screen” o “landing page”) del menu principal del sitio web, me iluminaron en SO con esta idea: crea un nuevo menu en Joomla, y asigna tu pagina inicial a ese menu. Ese menu creado no tiene que ser visible de ninguna manera para que tu pantalla inicial este activa; solo “debe existir”, ya que tu pantalla inicial por fuerza debe ser parte de algun menu(sea visible o no) para estar activa.

zaz! Un truco corto, pero bastante valioso!