Categoría: CSS (y más)

  • Cosas que no se arreglan con frambuesas…

    Supongo que la mayoría habéis oído hablar del lanzamiento del Raspberry Pi y su enorme éxito (‘pi’, en inglés, suena exactamente igual que ‘pie’, y por tanto a un anglosajón el nombre del cacharro le suena a ‘tarta de frambuesa’, y de aquí el terrible título de esta entrada). Vaya por delante que opino que el Pi es una idea fantástica y tengo pendiente comprarme uno.

    Pero (porque si no hubiese pero no habría entrada en el blog, claro).

    Como con cada cacharrito nuevo, bien hecho y bienintencionado, todos nos alegramos, pero en seguida surge esa tendencia bipolar nuestra de opinar que o bien no va a servir de absolutamente nada o bien va a solucionar todos los males del mundo. Que la experiencia demuestre que prácticamente nunca se da ninguno de esos dos casos, y que todo son grises y casi nada blancos y negros no significa que tengamos que aprender. Si lo hiciéramos esto no tendría ninguna gracia ;-).

    Leía el otro día un interesantísimo artículo sobre el tema en el Guardian (de verdad, de muy recomendable lectura, con muchos aspectos en los que coincido y algunos con los que no) y allí, a medio artículo, me encuentro con lo siguiente:

    Eben Upton, a friendly, upbeat man (everyone involved with the RPi is friendly) is a designer of microchips for Broadcom and the main designer of the RPi. In the early- to mid-2000s, he was in charge of undergraduate admissions to computer science at Cambridge. He noticed a massive drop-off in the numbers and, especially, quality of undergraduates between 1996, when he graduated, and 2005.

    «The students just couldn’t program, and that’s because they hadn’t been in the presence of programmable hardware,» he says. «It’s not so much an education as an environment thing. I was self-taught, so were all of my friends. But in the consumer device world we’re in today, where the majority of devices are tablets and phones and set-top boxes and games consoles… these are all machines that you can use to consume, but most of them won’t let you produce.»

    …y no puedo evitar pensar dos cosas: por un lado, que creo que su retrato de la realidad es prácticamente impecable y, por otro lado, que evidencia algunos de los problemas de la enseñanza de la informática programación en la universidad. Los que el Raspberry Pi, casi seguro, no va a solucionar.

    Me suena. Upton y yo debemos tener aproximadamente la misma edad. Y tuvimos de niños un ‘8 bits’ (yo un maravilloso Commodore 64, pero también podría haber sido un Spectrum ZX o, teniendo en cuenta que él es británico, un BBC Micro). Un ordenador que lo primero que te enseñaba era un entorno para programar en Basic (o lo que se entendía por un entorno en los 80). Además, los juegos que usábamos eran desarrollos modestísimos (en cuanto a recursos humanos y económicos y tiempo de desarrollo, que no en cuanto a talento), que te permitían soñar con hacer, algún día y con mucho esfuerzo, algo similar. Y eso no hacía que te pusieras automáticamente a probarlo, pero lo facilitaba. Y en los quioscos había un buen número de publicaciones que, además de enseñarte qué juegos había en el mercado, venían con programas que podías teclear (cuando llegaron las revistas con cinta, con los programas ya tecleados, fue el acabóse, pero también hay que decir que si te dan el programa ya tecleado, la probabilidad de que te lo mires a fondo es bastante más baja que si lo tecleas). Ese, curiosamente, es un aspecto en que los tiempos pre-www no me parecen inferiores a los actuales.

    Cuando esa generación llegó a la universidad, había una parte (no necesariamente grande, pero seguro que tampoco era pequeña) que entraba sabiendo programar. Con vicios adquiridos, desde luego, pero que ya había dado los primeros pasos. Y tener unos cuantos estudiantes en el aula que ya saben hacer lo que les quieres enseñar es, creedme, una bendición. Además, había otro colectivo que, en algún momento de sus vidas, había sentido curiosidad por qué es programar, lo había intentado, se había estampado contra la pared (no es una metáfora excesiva: puede resultar doloroso) y lo había dejado… antes de engrosar los números de estudiantes que abandonan, frustrados, en primero de carrera.

    Con la popularización de las consolas pero, sobre todo, con la llegada de ordenadores, sistemas operativos y software cada vez más sofisticados, programarse las cosas uno mismo dejó de tener ningún sentido práctico. Además, los usuarios ven software que está a años luz de lo que podrían lograr ellos con tiempo y esfuerzo. Consecuencia: el número de estudiantes que llega a primero de informática teniendo nociones de programar se ha reducido (aunque sigue habiéndolos, naturalmente) y el colectivo de los que han abandonado antes de llegar a la línea de salida se ha visto reducido también notablemente. El resultado lo comenta Upton: desplome del rendimiento académico. Nótese, además, que un desplome rápido nos impide echarle la culpa (como solemos hacer en la universidad) a la educación primaria y secundaria y también elimina la posibilidad de que sea la actuación del profesor (que difícilmente va a empeorar tan sensiblemente en unos pocos años).

    Pero… ¿por qué pone esto en evidencia los problemas de la enseñanza de la informática? Pues… si el hecho de que lleguen menos estudiantes con conocimientos previos hace caer el rendimiento de las primeras asignaturas de programación… igual eso significa que antes tampoco es que estuviéramos enseñando a programar muy bien, ¿no?

    Paréntesis. Cuento entre mis amigos a muchos buenos profesionales de la enseñanza de la informática. Y es probable que esto lo acabe leyendo alguno más. El párrafo anterior, además de constatar una opinión personal fuerte, tiene el ánimo de encender la discusión constructiva :-). Me encantará reconocer que me equivoco si alguien aporta suficientes argumentos sólidos en contra.

    En cualquier caso, y volviendo a lo que íbamos… Me da a mí la impresión de que el infierno se congelará mucho antes de que la enseñanza primaria o secundaria asuman la enseñanza de la programación como materia obligatoria (sí: a pesar de que algún país está en ello). Me lo parece, sobre todo, por un motivo perverso: meter la programación en un currículo, en cualquier currículo, iba a ser una buena idea socialmente, pero iba a tener efectos nefastos sobre los números del rendimiento académico en escuelas e institutos. Y mucho me temo que nuestras «cabezas pensantes» se preocupan mucho más de algo fácilmente cuantificable y que tiene visos de ir mal que del beneficio social, que va a resultar mucho más difícil de medir y, de regalo, va a ser demasiado lento como para sacarle beneficio electoral.

    Pero sí estoy de acuerdo en que exponer a los potenciales informáticos de mañana al «arte de programar» cuanto antes es una maravillosa idea. ¿Por qué no creo en el Raspberry Pi como solución a ese problema? Por dos motivos principales:

    • Este problema, al menos en el primer mundo, no es de fractura digital: desde luego que hay niños y adolescentes en el Reino Unido (y en España, asumiendo que aún seamos primer mundo) sin acceso a un ordenador, y ese es un problema importante, pero dudo muchísimo que el acceso universal vaya a mejorar sensiblemente los números de la universidad.
    • Sí, el Raspberry Pi es un ordenador que da acceso rápido a un entorno de programación… pero eso no es todo lo que hace falta. Y, la verdad, ni siquiera es la característica más destacada ni el motivo que va a animar a casi nadie a comprarse uno.

    El Pi es el ordenador ideal para el «hobbysta» del primer mundo, que ya sabe que quiere hacer cosas (y probablemente hasta qué cosas), y una solución como mínimo interesante para intentar atacar el problema de la fractura digital en los países menos favorecidos. Sólo por ello ya es una idea fantástica. Y si encima pensamos en las vías nuevas que abre un ordenador de tamaño, consumo y precio tan reducidos… Pero insisto: uno de los problemas que no va a solucionar es el de conseguir más y mejores programadores en ningún país europeo.

    Y es que tener tener el entorno disponible es tan solo una parte del problema. Y hay otros factores me parecen tanto o más importantes. Si tantos nos animamos a dar nuestros primeros pasos con el 64 o el ZX, además de por tener un cacharro a mano, era porque disponíamos de un lenguaje sencillo, de muchos ejemplos de código de calidad razonable que permitían hacer cosas divertidas y vistosas con relativa facilidad y de muy rudimentarias y poco conectadas comunidades de práctica (para muchos, alrededor de algo tan tremendamente lento y poco conectado como las revistas mensuales y en papel).

    ¿Podemos conseguir eso hoy? Desde luego. Hay muchas vías para comenzar a programar. Una muy popular es Processing (no, no consigo venderme la idea de los lenguajes diseñados para enseñar a programar, por mucho que lo intento), que seguramente conoce todo el que se haya interesado alguna vez por el tema. Pero yo tengo entre ceja y ceja que el entorno de desarrollo está en todos los navegadores, y que el lenguaje de programación, casi universal, se llama JavaScript (antes de hacerme una lista de los múltiples crímenes de JavaScript como lenguaje de programación, por favor considerad cómo el lenguaje de programación de la generación de los 8 bits, ese que hacía que el rendimiento en la universidad fuera más digno… era BASIC, por el amor de Turing). Y pienso en JavaScript porque, además de contar con un intérprete en cada navegador (y por tanto en cada ordenador, básicamente, más en cada tableta y en cada smart- y not-so-smart- phone), contamos con entornos de desarrollo en línea que, sin ser comparables a lo que espera el programador profesional, sí son bastante mejores que aquellos de que disponíamos en los 80 (mi favorito es jsFiddle.net y lo será aún más cuando salga de alfa y comience a funcionar mejor en navegadores no-Webkit, aunque JS Bin es una alternativa sólida) y bibliotecas (que en jsFiddle se pueden añadir trivialmente) como, sobre todo Processing.js (el primo web de Processing), y en menor medida Raphaël, three.js o Kinetic, que permiten comenzar a usar y modificar código ajeno para obtener deprisa resultados vistosos que te animan a continuar y profundizar. Y, además, te permiten guardar, mostrar y compartir tu código. E iniciativas como Codecademy demuestran, incluso, que alrededor de JavaScript se puede montar un entorno de aprendizaje atractivo…

    ¿Encontraremos una vía para que los niños de hoy puedan aprender a programar? ¿Será JavaScript? ¿Será por otro lado? Más vale que le demos vueltas, porque un trocito significativo de nuestro futuro depende de ello…

  • Los tuits de la semana (54)

    Llevábamos tres semanas sin…

    De diseño y desarrollo web

    Herramientas:

    Tincr. Edit and save files from Chrome Developer tools. Live reload for Chrome. http://obm.as/RLz4AJ

    …sobre todo para hacer wireframes:

    RT @robertclariso RT @fcogama: Super simple way to wireframe http://wireframe.cc

    Wirefy is a browser based responsive wireframe tool to create functional wireframes using standard elements. http://obm.as/Y5MMlT

    Pencil Project. An open-source GUI prototyping tool that’s available for ALL platforms. http://obm.as/QumNmh

    …y algunas en forma de HTML, CSS y JavaScript:

    Shower. A cross-browser presentation template. (via @brucel) http://obm.as/VO8oOc

    Seriously.js is a real-time, node-based video compositor for the web http://obm.as/WdFHzc

    Y bastantes lecturas de interés:

    en el Windows Phone Developer Blog explican qué trae IE10 para windows phone 8 http://obm.as/WP8wTy

    RT @kazuhito The CSS physical unit problem – QuirksBlog http://bit.ly/VQiFti

    A Brief History of Gestural Interfaces http://obm.as/UvO6xA

    Sharp Suits – stupid feedback from clients, transformed into posters (via @brucel) http://obm.as/SHJ6k9

    el NY Times criticando las interfaces de ventanas… en 1984 ¿se anticiparon 30 años? http://obm.as/S5dDd4

    RT @martuishere ‘In defense of descendant selectors and id elements’, it was about time that someone like @zeldman said this: http://www.zeldman.com/2012/11/21/in-defense-of-descendant-selectors-and-id-elements/

    #lecturaobligatoria Code smells in CSS, by @csswizardry http://obm.as/UItJY8

    me parece mal que IE10 no salga para Vista (ni XP, claro)… pero es que Firefox 17 no soporta OS X 10.5 :-S http://obm.as/Wurde8

    Oh, IE6, how we loved you, by @brucel. aka «estamos repitiendo los errores del pasado» http://obm.as/UnhLZC

    Un momento de respetuoso silencio

    RT @softmodeling RT @mkapor: IBM retires Lotus brand I created in 1982. http://techland.time.com/2012/11/20/lotus-farewell-to-a-once-great-tech-brand/

    Lecturas alrededor de la web

    Clay Shirky: How the Internet will (one day) transform government http://obm.as/Xt54x3

    RT @ignasi Nous límits als límits #prou RT @bufetalmeida Leer artículo 31, la nueva LPI ataca frontalmente el P2P: http://pirata.cat/public/1207_borradorRDLey_EEGG_julio_2012.pdf #StopLPI

    Nostalgia y cacharritos

    RT @robertclariso RT @domingogallardo: Emulador de tarjetas perforadas: http://www.kloth.net/services/cardpunch.php #historiadelainformatica

    para amantes de los videojuegos vintage: una réplica de la Atari 2600 http://obm.as/XEyLg3

    RT @GammaCounter Check out the clattering and flashing of «The Witch,» the oldest working digital computer, unveiled at Bletchley Park. http://bbc.in/QVtYDW

    El juguete musical

    escuchar una remezcla aleatoria de media hora del Blue Monday… el Infinite Jukebox este engancha http://obm.as/TdNzex

    Y el postre visual

    ¿Cabe todo el cine de ciencia ficción en seis minutos? http://obm.as/SgnUmv

  • Los tuits de la semana (53)

    De cacharritos

    Por si los desastres naturales:

    RT @GreatDismal Fire-powered cell phone charger http://www.rsvlts.com/2012/11/02/biolite-fire-powered-cell-phone-charger/ via @NarikoOtt

    ¿Qué avanza más rápido que la tecnología informática? La velocidad de la luz y poca cosa más…

    RT @FactHive Price of 1 gigabyte of storage over time: 1981 $300,000 1987 $50,000 1990 $10,000 1994 $1,000 1997 $100 2000 $10 2004 $1 2012 $0.10

    Inventos a conmemorar:

    Celebrating Leonardo Torres-Quevedo, Spanish inventor of the world’s first computer game (Official Google Blog) http://obm.as/Sfl6nR

    De cuando las cosas tenían bastantes menos bits:

    para los amantes de los 8 bits, Picade (Kickstarter) tiene una pinta la mar de interesante… http://obm.as/U0vWnm

    y más de videojuegos clásicos: la Neo Geo X llega a Europa el 6 de diciembre por €199 (Engadget) http://obm.as/VFGyU8

    Un cacharrito nuevo que no es tan nuevo como idea pero que puede marcar una tendencia importante:

    atención al Smart Dock que Samsung ha sacado para el Galaxy Note II. interesante movimiento. mucho http://obm.as/TUmjka

    Y otra conmemoración de cuando teníamos menos bits:

    RT @C_64 RT @RetroCollect: The PC Engine had its Japanese launch today way back in 1987 #PCEngine http://youtu.be/SoUUoyy3r8w ^Katsu

    http://youtu.be/SoUUoyy3r8w

    De diseño y desarrollo web

    Firefox dips below 20 percent, Chrome falls, Internet Explorer gains (Ars Technica) http://obm.as/RypFuV

    Cuatro herramientas muy interesantes:

    si escribes HTML con frecuencia te interesa Emmet. en serio. http://obm.as/PJA7mo

    YoutubeVideo: A Javascript library to access the WebM (and other) streams for Youtube Videos. http://obm.as/Pov1KT

    bootstrap + metro == BootMetro http://obm.as/RvkgTo

    RT @ODevRel Opera Mobile Emulator 12.1 is out: http://my.opera.com/ODIN/blog/2012/10/30/opera-mobile-emulator-12-1-is-out Grab the latest build for Mac/Win/Linux from http://www.opera.com/developer/tools/mobile/

    Y un par de reflexiones sobre lo que significa y debería significar «gestión de contenidos»:

    Adapting Ourselves to Adaptive Content (by @karenmcgrane) http://obm.as/Ru3nKA

    interesante distinción: ¿CMSs o WPTs (Web Publishing Tools)? Adaptive Content Management, by Mark Boulton http://obm.as/PCZgPA

    Reflexiones alrededor de la web

    Las tres de obligada lectura:

    RT @BadArtHistory Instead of freaking out over copyright, the Rijksmuseum has put tons of high quality art images online to download free http://to.ly/gGJd

    How Georgia doxed a Russian hacker (and why it matters) | Ars Technica http://obm.as/TXY8Bx

    Analítica centrada en el usuario: la visión de Google (webanalytics.es) http://obm.as/PJiUtk

    Y un poco de ciencia para todos para cerrar

    RT @susanafont Estos tipos son unos tracks explicando física! En el vídeo un poco de relatividad http://youtu.be/NnMIhxWRGNw Para entender mejor la famosa E=mc²

  • Los tuits de la semana (52)

    Vamos a ver si somos capaces de retomar el ritmo habitual…

    De diseño y desarrollo web

    Unos cuantos «enlaces diversos». Finalmente ha llegado Windows 8 y, con él, Internet Explorer 10:

    How to Get IE 10 Playing Nice With Responsive Websites (Webmonkey (love the article’s URL)) http://obm.as/QEeeSi

    Una pequeña lección de diseño:

    RT @martuishere Amazing example of editorial design on the web: http://pitchfork.com/features/cover-story/reader/bat-for-lashes/

    Una herramienta «analógica»:

    molan, los Responsive Sketchsheets de zurb http://obm.as/PIDjOU

    …y una digital:

    Specificity Calculator http://obm.as/TylayN

    Algo que tenía que llegar:

    Apple removes Java from all OS X Web browsers (Ars Technica) http://obm.as/TyjQvX

    Una pataleta absolutamente justificada:

    RT @mrdoob Browser schizophrenia – http://zehfernando.com/2012/browser-schizophrenia/ What would break if Chrome, Firefox, etc used navigator.appName and navigator.appVersion?

    Y una lección:

    A classless class—on using more classes in your HTML — CSS Wizardry http://obm.as/OHcr08

    Ha sido la quincena del vídeo. Por una parte, Spectrum se hacía eco de la inminente llegada de WebRTC y del vídeo peer-to-peer:

    Video and Audio Enabler WebRTC Near Release (IEEE Spectrum) http://obm.as/Pve9TY

    Pero, sobre todo, llega Popcorn:

    RT @mozilla Popcorn Maker Beta Testers needed. Try the beta version here: http://ow.ly/eHOG7 Get involved in QA here: http://ow.ly/eHOr3 #webmaker

    Si queréis ver un ejemplo de su potencia,

    How Popcorn Maker adds a new layer of information to a TEDTalk http://obm.as/TDQhbX

    Y si os lo queréis hacer «a mano»…

    positivamente sorprendido por la documentación de Popcorn.js http://obm.as/VyyoT5

    La única parte que no me gusta es que para que llegue el vídeo HTML5 tiene que ganar un estándar. Y parece que va a ganar el que no debería:

    ¿la guerra ha acabado y ha ganado H.264? http://obm.as/SecJM1

    Y para cerrar sección con un vídeo:

    Broken promises of HTML5 (by @codepo8)

    Lecturas alrededor de la red

    How a Google Headhunter’s E-Mail Unraveled a Massive Net Security Hole (http://Wired.com Threat Level) http://obm.as/SDyjYz

    RT @antonello Cierre de cuenta de Amazon «y la peor versión del DRM» http://bit.ly/RpMZKB al final la recuperará pero dan ganas de «liberar» cada compra

    la datacéntrica campaña digital de obama (Mother Jones) http://obm.as/Vrj1f9

    el mundo sería un sitio mejor si todos leyésemos (y aplicásemos) The Elegant Email, de @rands http://obm.as/TXx0I3

    De cacharritos y cacharrotes

    Mare Nostrum 3, un nuevo superordenador para Barcelona (La Vanguardia) http://obm.as/VuG6Ie

    What’s the difference between a Core i5 and a Core i7? Well, the answer isn’t simple… (Ars Technica) http://obm.as/Y3jd1V

    All code on Raspberry Pi’s ARM chip now open source (Ars Technica) http://obm.as/RWxKIj

    Ceefax, the world’s first Teletext service, will deliver its last page to the UK on October 24th (The Verge) http://obm.as/RR1fv4

    TurtleBot. A small open source robot with really big heart http://obm.as/T6AOkb

    Where Does the Internet Live? (no, el enlace NO apunta a las dichosas fotos de los datacenters de google) http://obm.as/PhLzW8

    RT @Kedume Un teléfono android con pantalla de tinta electrónica, un mes de autonomía y 70 gr de peso http://bit.ly/RKnBBS

    ¿sabéis qué cumple 56 años hoy? un lenguaje de programación llamado fortran http://obm.as/OBimE2

    un poquito de matemáticas

    RT @softmodeling RT @yokofakun: Math + Paper Craft: Computer Scientist Creates 3D Origami http://weburbanist.com/2012/10/25/math-paper-craft-computer-scientist-creates-3d-origami/

    RT @newsycombinator An Intuitive Guide to Linear Algebra http://j.mp/PUiZo0

    ¿por qué estudiábamos teoría de grupos a finales del siglo XIX? para mejorar los datacenters del XXI http://obm.as/Py91hI

    La recomendación

    RT @antonello Un proyecto crowdfunding a seguir de cerca Teleport http://bit.ly/S7qvAV compartir archivos con nuestros amigos usando P2P (y es español)

    Y el vídeo para cerrar

    PhD Comics explains Open Access

    La semana que viene, más.

  • Los tuits de la semana (51.3)

    Cerramos los tuits sobre diseño y desarrollo web…

    Lecturas con calma

    RT @softmodeling RT @joelgascoigne: «The Improved New User Experience That Wasn’t» http://buff.ly/ThEeB3 by @cindyalvarez

    del HTML5 como forma de saltarse al intermediario al vender apps. último caso: el NY Times (The Verge) http://obm.as/SkF8Ch

    Design Principles Behind Firefox OS UX http://obm.as/VMjBk2

    A Front End Engineer’s Manifesto (by @zachleat) http://obm.as/Qgn9ts

    «Believe it or not, IE 4-6 is heavily responsible for web development as we know it today» http://j.mp/Py2djp

    RT @kazuhito: Latency: The New Web Performance Bottleneck – http://bit.ly/MM1VhY

    RT @kazuhito Judging CSS / Spotting Bad Code | CSS-Tricks http://bit.ly/NwO6ap

    Efemérides

    Del 24 de septiembre:

    llego tarde: Phoenix 0.1, la primera release de una notanpequeña revolución llamada firefox, cumple diez años http://obm.as/SNOzEH

    (Llegaba tarde porque la cosa fue un 23 de septiembre, de hecho.) Del 16 de agosto:

    RT @thinkgeek Today in Geek History: Microsoft released Internet Explorer 1.0 in 1995. Give a web designer a hug today.

    …y del 7 de agosto:

    Aug. 7, 1991: Ladies and Gentlemen, the World Wide Web (This Day In Tech | Wired) http://j.mp/OWdbwC

    Cajón de sastre

    Me rindo. Ya no sé cómo calsificar lo que me quedaba…

    RT @IBMAccess Guidelines for creating accessible websites and web applications from #IBM http://bit.ly/HtiId #accessibility #developers

    un montón de cosas que yo no sabía que las DevTools de Chrome hacían http://obm.as/PXLhPN

    el último xkcd les va a encantar a todos aquellos que necesiten ilustrar una charla sobre malas interfaces http://xkcd.com/1116/

    Peak Chrome? Google’s browser falls as Firefox, Internet Explorer stay flat (Ars Technica) http://obm.as/RwJeEF

    esta imagen del proceso de diseño y desarrollo web (del #CreateTheWeb de hoy de Adobe) es imprescindible :-) http://yfrog.com/ocvzpxtcj

    RT @lamuyirene curated list with the best web fonts from google #fonts http://www.bestwebfonts.com via @webdesignshock

    Breaking Good Habits (an excellent talk by @csswizardry on best practices) http://j.mp/PgytXA

    Y una golosina

    The Art of Web Design (PBS | Off Book)

    Mañana, más tuits, pero prometo cambiar de tercio :-).