Credit image

10 divertidas anécdotas sobre programación

10 curiosas y divertidas anécdotas relacionadas con el mundo de la programación e Internet, explicadas para neófitos.

Por lo general, suelo compartir en redes sociales (sobre todo en mi cuenta de Twitter, @Manz) curiosidades relacionadas con el mundo de la tecnología, la informática y la programación, siempre divertidas o con un toque de humor.

En esta ocasión, no quería dejarlo pasar y he creado un breve artículo con las mejores anécdotas que he encontrado últimamente, explicándolas un poco para que incluso aquellos que son ajenos a la programación, puedan también comprender ese curioso y extraño sentido del humor que nos caracteriza.

1. ¿Cómo aprender a programar en una noche?

En la red social Quora (una red social bastante conocida de preguntas y respuestas) un usuario (probablemente, con prisas debido a un eminente trabajo o examen) lanzaba la siguiente pregunta: «¿Cómo puedo aprender a programar en una sola noche?».

Entre otras, un usuario le dejaba la siguiente respuesta:

«Mete un portátil en tu mochila y viaja al polo norte al comienzo del invierno. Tendrás 6 meses de noche para aprender a programar. Una vez allí, leéte Google de cabo a rabo. Hay montón de libros electrónicos y tutoriales en Internet.»

Mensaje en Quora: ¿Cómo aprender a programar en una noche?

Programar es una tarea muy compleja que conlleva comprender una larga serie de términos y conceptos que hay que dominar y combinar con lógica, abstracción y metodología. Personalmente, considero que en una noche se pueden aprender unas bases muy concretas y reproducir códigos ajenos, pero todo ello dista bastante de aprender realmente a programar.

Como decía Descartes, «Daría el doble de lo que sé, por la mitad de lo que ignoro».

Tweet | Source

2. Detener un servidor religiosamente

Reconozco que esta me sorprendió, no pensé que pasara de las típicas tonterías que escribo a veces. Hace algunos meses, me encontré con una imagen que me llamó bastante la atención. Desconozco la historia que hay detrás de ella (¿alguien la conoce?), pero en la fotografía se veía un supuesto miembro religioso bendiciendo con un hisopo lo que parecen varios armarios de servidores, probablemente algún acto inaugural.

Al margen de que realmente sea eso lo que sucedió, se me ocurrió aprovechar la polisemia (juego de palabras) de «daemon» (demonio, palabra con la que se conoce a los servicios en GNU/Linux) con un supuesto exorcismo. En GNU/Linux se puede detener un servidor (realmente, un servicio) escribiendo /etc/init.d/daemon stop, por lo que la broma quedaba redonda.

/etc/init.d/daemon stop

Rápidamente se popularizó y la broma empezó a replicarse en Twitter con otros autores, desmotivadores y webs estilo Taringa. Incluso me criticaron duramente por no haber utilizado systemd en el chiste. Esas cosas que pasan en Internet.

3. Un empleado poco común

Otra anécdota bastante cómica nace a partir de una pregunta en StackOverflow (red social de cuestiones de programación), en la que un usuario comenta que en su empresa han contratado a un empleado que se apellida Null. Para los que no lo sepan, Null es un valor especial en programación que representa la ausencia de un valor, por lo que la aplicación web de esta empresa dejaba de funcionar al introducir el nombre del empleado.

El empleado apellidado «Null» (y posiblemente, con malvados padres informáticos)

La situación no es especialmente cómica, pero para los programadores es desternillante debido a lo inusual que es y a la escasa probabilidad de que ocurriese algo similar.

En los comentarios, algunos usuarios proponen como solución despedir al usuario o pedirle que se cambie de apellidos, aunque la mayoría creen fervientemente que se trata del pequeño Bobby XML, el hermano perdido de Bobby Tables.

Tweet | Source

[...]

Queda el 58% del artículo
Leer artículo completo

HTML5 Cheatsheet (Chuleta HTML)

Chuleta o cheatsheet de HTML5 (lenguaje de marcado HTML) en formato PDF, muy útil para desarrolladores frontend, diseñadores o programadores web.

Si eres diseñador o desarrollador de frontend, programador o simplemente te interesa el diseño de páginas webs, quizás esta chuleta (cheat sheet) te interese. Se trata del Lenguaje HTML, un lenguaje de marcado que se ideó con el propósito de definir la estructura de una página o documento web, que tiene como finalidad reunir una serie de información en diferentes formatos (texto, imágenes, video, audio, etc...).

Con la llegada y soporte de HTML5 en la mayoría de los navegadores, es el momento perfecto para aprender todo lo relacionado con HTML5: etiquetas de texto, agrupación, semánticas, formularios, validaciones, multimedia, etc...

HTML5 Cheat Sheet (Desarrollo web, chuleta HTML)

Esta cheatsheet te será muy útil si estás aprendiendo, tienes mala memoria o quieres tener en un sólo lugar de consulta rápida los nombres, atributos y valores asociados a cada elemento HTML.

Contenido

La cheatsheet contiene información sobre las siguientes características de HTML5, dividido en dos páginas. La primera de ellas contiene en su mayoría características básicas de HTML como etiquetas de formato o agrupación de contenido, así como muchas novedades multimedia de HTML5, mientras que la segunda incorpora etiquetas relacionadas con los formularios HTML5.

Primera página:

HTML5 Cheatsheet. Página 1
  • Sintaxis general de HTML (elementos, atributos y valores)
  • Etiquetas de formato de texto
  • Etiquetas de agrupación
  • Etiquetas de listas (y definiciones)
  • Etiquetas de tablas
  • Etiquetas de sección (semánticas)
  • Etiquetas de scripting
  • Etiquetas multimedia (imagen, recursos, video, audio, subtítulos...)

[...]

Queda el 61% del artículo
Leer artículo completo

Formatos de audio: Todo lo que deberías saber

Todo lo que deberías saber sobre los formatos de audio: lossy, lossless, WAV, MP3, AC3, AAC, OGG, WMA, MPC, FLAC, OPUS, MIDI, MOD... Aprende a diferenciarlos y convertir entre formatos.

A lo largo de los años, han aparecido multitud de formatos de audio diferentes, con ciertas características y propiedades específicas de cada uno. Todo el mundo conoce el formato MP3, el códec de audio más extendido, pero no es, ni mucho menos, el único.

Formatos de audio: MP3, WAV, OGG, AC3, WMA, OGG, ACC, MPC, FLAC...

En este artículo, y tras la buena aceptación de su artículo hermano Formatos de video: Todo lo que hay que saber, explicaremos brevemente el origen, uso y características de los formatos (códecs) de audio más utilizados en la actualidad, complementando así la parte de audio en lo que se refiere al artículo anterior.

Formato WAV (Microsoft, 1991)

Formato WAV (Audio original, sin comprimir)

En primer lugar vamos a hablar del formato WAV, que aunque es un formato de audio, es diferente al resto de formatos de los que hablaremos puesto que este es realmente un contenedor, que puede tener en su interior información comprimida o no. No obstante, se suele entender por WAV, el formato con los datos sin comprimir.

Los archivos WAV son los equivalente al formato RAW de la fotografía, lo que se denomina un formato «crudo». En este caso, se trata de un formato de Microsoft que recoge el audio de una forma muy aproximada y exacta al sonido real.

El formato WAV se caracteriza en que ocupa gran cantidad de espacio en disco (dependiendo de su duración, 5min = 50MB aproximadamente), lo que lo hace poco práctico para almacenar en disco, y mucho menos en dispositivos o reproductores portátiles donde el espacio es limitado.

Su ventaja es que la calidad de audio es muy fiel al original capturado, y que al ser un formato sin compresión, pueden realizarse operaciones de edición de forma muy rápida. La mayoría de programas de edición de sonido trabajan en este «formato crudo» (o alguno similar) de forma temporal, pasándolo a un formato comprimido sólo al guardarlo a disco.

Lossy vs Lossless

Ahora, y antes de continuar, hay que diferenciar entre dos tipos principales de formatos (que también ocurre en los formatos de imágenes, por ejemplo). Estos dos tipos son los denominados Lossy (formato de compresión con pérdidas) y Lossless (formato de compresión sin pérdidas).

Compresión de audio: Formatos de compresión con pérdidas (lossy) y sin pérdidas (lossless)
  • Lossy (formato de audio con pérdidas): Es aquel formato que, a partir de un audio original, elimina toda la información irrelevante (sonido imperceptible por el oído humano, por ejemplo) y lo convierte en una aproximación bastante fiel a la original. Por eso se denomina un «formato con pérdidas». Su mayor ventaja: El tamaño del fichero es considerablemente más pequeño (depende de la calidad establecida al realizar la compresión). Su mayor inconveniente: Algunas personas son capaces de notar la reducción de calidad.

  • Lossless (formato de audio sin pérdidas): Por otra parte, los formatos lossless son un tipo de formato comprimido mediante el cual es posible recomponer y obtener exactamente el audio original sin ningún tipo de pérdida de información (cosa que no es posible con el anterior). Su mayor ventaja: La calidad de audio, es mucho más fiel. Su mayor inconveniente: El tamaño del fichero, que aunque es menor que el audio original, sigue siendo bastante superior a los formatos lossy.

Formatos lossy (con pérdidas)

Formato MP3 (Fraunhofer Institute, 1993)

Formato MP3 (MPEG-1 Audio Layer III

El formato de audio más popular y que todos conocemos es el MP3. Al contrario de lo que muchos creen, MP3 no es MPEG-3, sino MPEG-1 Layer 3. Antes de llegar esta versión, se pasó por otros dos formatos: MPEG-1 Layer 1 (MP1) y MPEG-1 Layer 2 (MP2), ambos surgieron también en 1993 y evolucionaron muy rápidamente. MP3 fue el que obtuvo gran popularidad debido a su gran calidad de sonido, versatilidad, bajo tamaño debido a su compressión lossy (5min = 5MB, dependiendo de la calidad), y su rapidez de compresión/descompresión.

Hoy en día es soportado por prácticamente cualquier software relacionado con el audio, reproductor de música portátil o sistema relacionado con audio.

Los MP3 (así como otros formatos de audio) tienen varias características adicionales. Por ejemplo, dos de ellas:

  • El bitrate (tasa de bits): Es la calidad del MP3, un número que puede ir de 32kbps (calidad mínima, tamaño menor) a 320kbps (calidad máxima, tamaño mayor). Actualmente, se utilizan valores alrededor de 192kbps (o superiores) para garantizar una calidad aceptable.

  • El método de compresión: CBR, que define que todo el audio se comprime de forma constante, al mismo bitrate, o VBR, que define que el audio se comprime de forma variable, reduciendo el bitrate en los instantes en los que no es necesario tener bitrate alto.

Para los usuarios de Windows, en SourceForge tienen MP3ext una actualización para Windows 7 (incluido 64 bits) de este clásico programa que reemplaza los iconos de los MP3 por un icono con su bitrate.

Además, los archivos MP3 también permiten guardar metadatos ID3, que no es más que la posibilidad de guardar en el archivo de audio información relacionada: nombre de la canción, artista, género, descripción, carátula del disco, año, etc... Un buen programa para gestionar esto es MP3tag.

Aparecieron otros formatos derivados como Mp3Pro o MP3 Surround, pero nunca llegaron a extenderse tanto como el MP3 original.

Formato AC3 (Dolby Laboratories, 1993)

Formato AC-3 (Dolby Digital)

Una de las principales limitaciones de los MP3 eran los canales de audio, donde podías tener 1 canal (mono) ó 2 canales (estéreo).

Sin embargo, por aquel entonces el surround o sonido envolvente comenzaba a ponerse de moda, y el formato MP3 original no lo soportaba. Ahí entró en escena el formato AC-3, también llamado Dolby Digital que soportaba desde un solo canal (audio mono), dos canales (audio stereo), cuatro canales (audio cuadrafónico) y hasta canales 5.1 (audio surround).

Empezó a utilizarse (y hacerse popular) por su uso en los canales de audio de videos y películas que necesitaban 5.1 para el sonido envolvente. Posteriormente, otros formatos derivados comenzaron a soportar más canales, como Dolby Digital Plus (hasta 7.1) o Dolby TrueHD (hasta 8).

URL | AC3Filter

[...]

Queda el 64% del artículo
Leer artículo completo

Animar personajes con animaciones CSS

¿Sabías que hay una forma muy sencilla de crear animaciones con sprites en CSS? En esta guía o tutorial te explico cómo crearlas.

Hace años que el lenguaje CSS (propuesto por Håkon Wium Lie, uno de los desarrolladores de Opera) evolucionó de un sencillo y simple lenguaje de marcado a una completa especificación. Partió con el objetivo de encargarse de los aspectos visuales de diseño de un documento web, pero ha acabado siendo capaz de controlar mucho más: generación de contenido virtual, responsive web design y media queries, tipografías externas al sistema, transiciones, animaciones, transformaciones 2D y 3D, etc... Y precisamente, de una de estas últimas es de las que vamos a hablar en este artículo: Las animaciones CSS.

CSS permite crear sencillas o complejas animaciones en apenas algunas líneas de código, permitiendo modificarlas facilmente (e incluso automatizarlo mediante Javascript) y convirtiéndolo en una herramienta extremadamente útil y flexible. En esta guía nos va a acompañar nuestro amigo Bernard Bernoulli (Maniac Mansion, El día del Tentáculo), que nos mostrará como se hacen algunos ejemplos sencillos. Puedes abrir una nueva pestaña de CodePen e ir pegando el código HTML/CSS e ir viendo como funciona.

1. Preparación de la región del personaje

Para empezar, la parte del código HTML será extremadamente sencilla. Simplemente especificamos una capa div con id bern (de Bernard) para hacer referencia a él posteriormente:

<div id="bern"></div>

Comenzamos con el CSS. En la capa que acabamos de mencionar vamos a colocar nuestro personaje animado. Quizás, lo más complicado del asunto es conocer las dimensiones de cada viñeta (y que estén bien colocadas), así que hay que ser cuidadoso con este asunto. Herramientas interesantes para la generación o manipulación de sprites, pueden ser SpriteCow o SpritePad. Además, también tenemos SpriteDatabase, una completísima base de datos con diferentes sprites de videojuegos que podemos utilizar para estos ejemplos. Si tienes tiempo, interés y buena mano, incluso puedes seguir esta guía y crear tu propio personaje de 8 bits.

De momento, nosotros nos centraremos en definir el tamaño de la viñeta a 112x156 píxeles (más adelante veremos por qué) y le ponemos un fondo rojo para guiarnos y ser conscientes desde el principio de las dimensiones de esta región.

Nota: Ojo también a esto. Al establecer un margen automático (margin:auto) y un ancho definido (width:112px), lo que estamos haciendo es decirle al navegador que establezca dos márgenes (izquierdo y derecho) del mismo tamaño. ¿El resultado? Objeto centrado horizontalmente. Veamos todo lo que hemos hecho en código CSS:

#bern {
  width:112px;
  height:156px;
  margin:auto;  
  background:red;   /* Temporal, sólo para guiarnos */
}

2. Preparación del sprite sheet animado

Una vez hecho esto, veremos que aparece un recuadro rojo centrado en pantalla. Esta región es donde colocaremos al personaje animado, utilizando lo que se llama un Sprite Sheet (una imagen con todos los frames o viñetas de la animación del personaje). La que nosotros utilizaremos en este caso es la animación caminando de Bernard. Una pequeña explicación rápida:

Sprite sheet de Bernard (El día del tentáculo)

Vemos que cada viñeta del personaje ocupa exactamente el mismo tamaño de ancho (112px), mientras que el ancho total del sprite sheet es de 672px.

[...]

Queda el 79% del artículo
Leer artículo completo

↓ ¡Atención! Hay más páginas de comentarios... 1 2 3 4 ... 387 #