¿Qué son las vulnerabilidades del software?

La guía ¿Qué son las vulnerabilidades del software? es un pequeño documento de 11 páginas publicado por INTECO que explica con un lenguaje claro y con ejemplos qué son las vulnerabilidades del software.

La descripción del artículo dice:

Una vulnerabilidad del software es un fallo de seguridad en una aplicación a través de la cual, un atacante puede llegar a comprometer la seguridad de todo el sistema sobre el que se ejecuta esa aplicación.
En el siguiente artículo el Observatorio INTECO explica qué son las vulnerabilidades del software, por qué ocurren, de qué factores dependen y cómo gestionarlas.

Desde el punto de vista del usuario, cuando se descubre una vulnerabilidad del software, lo más importante es saber cómo protegerse. En este sentido, son fundamentales las actualizaciones y parches de seguridad publicadas generalmente por los creadores de los programas informáticos. Finalmente, el documento aborda la gestión de vulnerabilidades por parte de INTECO y su servicio gratuito, a disposición de los usuarios, de un repositorio con información sobre cada una de las vulnerabilidades informáticas públicamente conocidas.

La verdad sobre HTML5

El libro The Truth About HTML5 (For Web Designers) promete contar aquello que otros no te cuentan.

Las cinco razones que el autor de este libro da para motivar a su lectura son:

  1. Aprende HTML5 de la forma correcta.
  2. Aprende el futuro de la web semántica.
  3. Aprende que características de HTML5 puedes utilizar hoy.
  4. Aprende que ocurre cuando Flash muere.
  5. HTML5 para gestores de contenido (CMS) y más allá de HTML5.

El contenido del libro es:

Introduction
Foreword and Introduction

Chapter 1
A Somewhat Sensationalized History Of HTML5

Chapter 2
A Basic HTML5 Web Page

Chapter 3
Structuring A HTML5 Page

Chapter 4
HTML5’s Structural Elements

Chapter 5
HTML5 Micro-Semantics And Schema.org

Chapter 6
HTML5 And SEO

Chapter 7
HTML5’s Other New Elements

Chapter 8
HTML5 Forms

Chapter 9
HTML5’s Canvas, Gaming And Flash

Chapter 10
Audio & Video In HTML5

Chapter 11
SVG. The Flash Challenger That Was, Wasn’t, & Now…

Chapter 12
HTML5 Web Apps, Mobile, & What Comes Next

Chapter 13
The Truth About The Future Of Web Design: Performance Based Design

10 pasos para convertirse en un mejor programador

10 steps to becoming a better programmer es un pequeño artículo en el que se ofrecen 10 consejos (incluye uno de regalo) para convertirse en un mejor programador:

  1. Nunca jamás dupliques código.
  2. Detecta cuando empieces a distraerte
  3. No te apresures a plantear una solución
  4. Pon a prueba tu código
  5. Revisa el código
  6. Escribe menos código
  7. Esfuérzate por lograr un código elegante
  8. Escribe código autodocumentado
  9. No utilices “números mágicos”
  10. Evita los trabajos manuales
  11. Evita la optimización prematura

 

Sin tetas no hay paraíso

Curiosa esta novela (sí, es una novela, después vinieron las series de televisión…) Sin tetas no hay paraíso, que demuestra que las mujeres y hombres no son tan diferentes: a ellas el tamaño también les importa (y la importancia es mutua, jajaja).

¿Y qué hace ahora éste hablando de tetas en un blog de informática? Ya llegaremos, ya llegaremos a lo que nos gusta…

La hemeroteca está llena de casos de desalmados que realizan operaciones de cirugía estética (y no estética) de forma ilegal. El caso más reciente es el de dos mujeres que inyectaban bótox (“mira que piel más tersa”) y silicona líquida (“mira que morritos más calientes”) en peluquerías y a domicilio.

Claro, no tenían licencia; claro, no tenían titulación; claro, no estaban colegiadas. ¿Pero todo eso significa una seguridad absoluta?

Pues no. Ahí tenemos el escándalo de los implantes PIP, que una vez más ha demostrado que tanta regulación, tanto control administrativo, y tanto “ponte en las manos de un experto, no juegues con tu vida”, muchas veces no vale para nada.

¿Y qué tiene que ver todo esto con la informática? Muy sencillo.

Mientras que profesiones como médico, arquitecto o ingeniero civil están muy reguladas, tienen sus competencias, sus “cotos privados” y sus monopolios, en la informática es todo lo contrario. Cualquiera puede ser informático y puede realizar las tareas de un informático.

Que conste que yo no defiendo ese escenario de los colegios profesionales y los monopolios de por sí. ¿Por qué? Un ejemplo.

Ayer, un amigo me contaba lo siguiente. Su madre tiene una casa de 50 años que necesita una reforma. Es una casa pegada al mar y después de 50 años hay que renovarla. La casa es pequeña, son tres vecinos, planta baja y primera planta. Para realizar las obras necesita una licencia de obra y necesita depositar el proyecto de obra, que debe ir firmado por un arquitecto (y sellado por el correspondiente colegio de arquitectos). Además, una de las cosas que van a hacer (creo que era la renovación de la fachada), es competencia de los arquitectos técnicos, así que no le sirve el primer arquitecto que ya ha contratado, sino que debe contratar a otro que sea técnico. Por cierto, me olvidaba de un pequeño detalle muy importante: mi amigo es ingeniero técnico de obras públicas, ha estudiado cálculo de estructuras, ha estudiado resistencia de materiales y otras muchas cosas más, pero la ley no le permite realizar y firmar el proyecto de obra (bueno, en realidad, él hará el proyecto de obra, luego lo firmarán los dos arquitectos y así obtendrá un descuento).

¿Tiene algún sentido? A mí me parece bastante rídiculo… pero quizás a veces tenga sentido. Porque si no existe cierta regulación, además de lo comentado al principio de esta entrada, puede pasar lo que pasa en informática.

En informática existe un problema importante, muy importante: la palabra informática es muy ambigua.

Mientras que cuando se dice que uno es médico o arquitecto o ingeniero, no hay muchas dudas de lo que uno es, cuando se dice que uno es informático, podemos estar hablando desde uno que repara ordenadores hasta otro que diseña sistemas de control críticos en tiempo real, pasando por otros que venden ordenadores, instalan sistemas operativos o hacen páginas web. Un informático puede ser cualquier cosa.

Está claro que la informática “acaba de nacer” y no suele ser muy bueno ponerle “vallas al campo” cuando realmente no se sabe qué es ese campo. Pero como se suele decir, “ni tanto ni tan calvo”. Algo habrá que hacer…

Hace unos meses escribí otra entrada sobre este tema, ¿Qué es un informático?, en el que ahondaba sobre el problema de la informática. Pero para que no te quedes sólo con mi opinión, te recomiendo la lectura de El largo y difícil camino de la profesión.

¿Es España un país para un ingeniero informático?

Hace unos días escribí la entrada Sobre la informática en España, en el que comparaba el salario de un ingeniero de software en España y en Estados Unidos. Está claro que es muy difícil realizar una comparación sin tener todos los datos. Por ejemplo, en mi comparación comparaba el sueldo de un ingeniero realizando las tareas de un programador junior con el sueldo medio de un ingeniero de software en Estados Unidos. No es lo mismo, pero la diferencia es tan abismal que seguro que al comparar “lo mismo”, aparecen diferencias importantes.

Y así es. No recordaba la siguiente infografía que me envió Albert (¡gracias Albert!). Además, Albert es un claro ejemplo de todo lo que comento: es informático y se ha tenido que marchar a Irlanda a trabajar.

La infografía, Average Salaries around the Globe, compara los sueldos de diferentes profesiones relacionadas (diseñador gráfico, diseñador web, desarrollador de software) en diferentes países.

A saber de dónde han sacado los datos para realizar esta comparativa (en el pie de la infografía aparecen unas URLs con el origen de los datos), pero como me decía Albert, si sabes inglés, tu futuro puede ser mucho más prometedor… Pero ese es otro problema de España.

¿Es España un país para un ingeniero informático? Según esta infografía, no es muy bueno, pero si eres diseñador gráfico, has tenido suerte: España es el tercer país, por detrás de Suiza y Australia.

Mañana más, mañana veremos qué pasa con los programadores en España…

Cuida lo que escribes en las páginas web

Good writing makes a huge difference in page views, time spent on a site, and sales. The essential rule of site usability holds for written content as much as it does for design: Customers choose clarity over confusion.

Traducción:

Una buena redacción supone una gran diferencia en las páginas vistas, el tiempo que se pasa en un sitio, y las ventas. La regla esencial de la usabilidad de un sitio es válida para el contenido escrito tanto como para el diseño: los clientes escogen la claridad sobre la confusión.

Prioritizing Web Usability. Jakob Nielsen, Hoa Loranger. New Riders, 2006.

Sobre la informática en España

Ayer prometí que hoy iba a hablar de los “sobrinos” y “primos” informáticos… pero eso lo haré el próximo martes (mañana toca consejo de usabilidad de Jakob Nielsen).

Hoy quiero hablar de un tema más importante, de la informática en España.

Tengo un amigo, un buen amigo, que empezó hace 2 meses a trabajar en una consultora, de las grandes, de las de renombre, de esas que ponen anuncios en aeropuertos, de esas que ganan concursos millonarios de la administración pública… No voy a dar muchos detalles, porque no me gustaría poner en peligro el trabajo de mi amigo.

Después de un período de formación sin cobrar, claro está, en el que se le formó en programación con Cobol y “matar procesos”, mi amigo fue contratado. ¿Salario bruto? Entre 11.000€ y 13.000€ anuales, por una jornada completa.

Sï, he dicho BRUTO. Y nunca mejor dicho, MENUDA BRUTALIDAD DE SALARIO. Como se suele decir, en el McDonald’s ganaría más sirviendo hamburguesas.

Pero cuidado, mucho cuidado: ese es el sueldo que le corresponde por ser INGENIERO TÉCNICO EN INFORMÁTICA. Con una titulación inferior, ganaría menos, claro está.

Si haces los cálculos, verás que lo de mileurista queda lejos, muy lejos…

Vayamos a otro sitio, a Estados Unidos (puestos a comparar, vamos a comparar bien, por todo lo alto). Un artículo: Demand for software engineers keeps climbing — and so do the salaries (18/10/2012). No es el primero que leo con un titular similar en los dos últimos años, ni el primero que comento en este blog (por ejemplo, Ingniero del software será la profesión número 1 en Estados Unidos durante 2011 y Dos artículos sobre oportunidades de trabajo para ingenieros informáticos).

Por si no lo quieres leer o no lo puedes leer (porque no sabes inglés), te lo resumo:

Según un estudio, ingeniero de software es el mejor puesto de trabajo en el año 2012.

En Estados Unidos hay una demanda enorme de ingenieros de software, lo que origina un aumento considerable de los sueldos.

A nivel nacional, el salario base de un ingeniero de software es de $92.648 (unos 72.600€).

Google es la empresa que más paga, con un salario medio de $128.336 por año, mientras que Facebook es la segunda (hasta que se le acabe su “cuento de hadas”, eso no lo dice el artículo, lo digo yo), con un salario medio de $123.626.

En San Francisco es donde se pagan de media los salarios más altos ($107.798), mientras que en Minneapolis los más bajos ($75.032).

¿Qué piensas de todo esto? ¿No se puede comparar España con Estados Unidos? Pues no, porque si seguimos comparando, es peor aún. Por ejemplo, un Apple iPAD o un Amazon Kindle es más barato en Estados Unidos que en España, así que, el rollo de que el coste de la vida es superior en Estados Unidos, no me lo creo: además de ganar más dinero, hay cosas que son mucho más baratas, así que la diferencia en el nivel de vida es abismal. ¿Dónde está la causa? Ni idea, pero ahí están los números.

Pero hay más… pero ya lo contaré en otra entrada.