Buscar este blog

miércoles, 24 de agosto de 2016

El peligro de las cadenas de Facebook

El peligro de las cadenas de Facebook



Hace desde un par de días que veo que la gente empieza aponer publicaciones de facebook de "reto aceptado" y una foto en blanco y negro. Al parecer no deja de ser otra cadena que se a echo viral, prometiendo que si se da al like se va a ayudar a enfermos de cáncer... Pues bien, no vamos a ayudar a nadie por un like, esto solo sirve para engordar a una serie de delincuentes que se lucran con la pena de la gente.

El usuario normal y habitual de Facebook, continuamente es bombardeado por una serie de cadenas de comparte si... ¿Y cuál es el peligro de esto se preguntarán? Entre otros existe un mercado negro en Internet donde se compran y venden bases de correos validos al por mayor. Estas cuentas son luego utilizadas por los dueños de redes botnet para vender servicios de envío de correo spam. Es decir que el usuario podría estar ayudando de forma directa en aumentar la cantidad de correo basura que recibe por día.

Además estamos ayudando a que nuestros datos vayan circulando de perfil a perfil, con lo que podemos estar dejando en bandeja si no tomamos una serie de precauciones a que nos puedan realizar chantajes, extorsiones...

Hay un sistema casi infalible para saber cuándo no debes compartir algo: cuando te piden que lo hagas.

Esos mensajes que terminan con un “comparte si crees que…”, “comparte para que todos lo sepan”, “comparte para luchar contra ello”, “comparte para impedir que…” son mensajes con una alta probabilidad de ser falsos, hoax o cadenas absurdas.

Tened precaución, no dejemos que jueguen con nosotros y intentemos conseguir un internet más seguro.

viernes, 19 de agosto de 2016

Trabajar con XML usando notepad++

A menudo tenemos que recurrir a eclipse o a otras herramientas externas para formatear o trabajar los xml y esto no es del todo necesario, podemos hacerlo de una manera muy agil y rápida con el notepad++ de toda la vida... Eso sí, toca instalar el plugin.




NotePad++ nos ofrece una serie de plugins para poder ampliar su funcionalidad, por ejemplo para poder manipular los ficheros XML, podemos usar el plugin XML Tools que tendremos que descargar desde su web (al final del post el enlace).


    Deberemos descomprimir el fichero en el directorio “plugins” dentro del directorio de instalación del Notepad++. En nuestro ejemplo sería C:\Program Files (x86)\Notepad++\plugins



    Abrir Notepad++ o reiniciarlo si lo teníamos previamente abierto.



    Dentro del menú Plugins >> XML Tools >> How to use  nos aparecerá una ventana indicandonos que nos faltan librerías por importar:
    Descargamos las librerías que faltan desde aquí o aquí.

    Descomprimir el fichero en el directorio principal de instalación de Notepad++. En el ejemplo sería C:\Program Files (x86)\Notepad++:

     Abrir Notepad++ o reiniciarlo si lo teníamos previamente abierto.
    Nos vamos al menú Plugins >> XML Tools y vemos que esta vez sí que tenemos diferentes opciones.


Entre ellas tenemos la opción de formateo de los XML, que es Pretty print (XML only – with line breaks) o como atajo de teclado Ctrl+Shift+Alt+B:

   
   
Con esta opción podremos pasar de tener un XML sin formato, como se puede observar en la siguiente captura de pantalla:




…a tenerlo formateado y identado completamente con Ctrl+Shift+Alt+B. Como en la siguiente imagen:






DESCARGAS:
http://sourceforge.net/projects/npp-plugins/files/XML%20Tools/Xml%20Tools%202.3.1%20r764%20Unicode%20Beta1/xmltools_2.3.1_r764_unicode_beta1.zip/download




Introducción a Scrum (parte I)

Hoy quería hacer una breve introducción a la metodología ágil Scrum para iniciar una nueva serie de post sobre el tema.



El Scrum es un marco de desarrollo ágil de software iterativo e incremental para la gestión de desarrollo de productos. Se podría definir como "una solución flexible, la estrategia de desarrollo de productos holístico, donde un equipo de desarrollo trabaja como una unidad para alcanzar un objetivo común", desafíos supuestos del "enfoque secuencial tradicional" para el desarrollo de productos, y permite a los equipos de auto-organizarse mediante el fomento de la comunicación física o estrecha colaboración en línea de todos los miembros del equipo, así como la comunicación diaria cara a cara entre todos los miembros del equipo y disciplinas involucradas.

Un principio clave de Scrum es el reconocimiento de que durante el desarrollo de productos, los clientes pueden cambiar de opinión acerca de lo que quieren y necesitan (a menudo llamado la volatilidad de los requisitos ), y que los desafíos imprevistos no se puede abordar fácilmente de manera predictiva o planeado tradicional. Como tal, Scrum adopta un enfoque basada en la evidencia empírica de aceptar que el problema no puede ser entendido o definido totalmente, centrándose en su lugar en la maximización de la capacidad del equipo para entregar rápidamente, para responder a las nuevas exigencias y adaptarse a las nuevas tecnologías y los cambios en las condiciones del mercado.

Podemos fomentar la utilización de la metodología Scrum para mantener una visión integral del avance del proyecto así como localizar sinergias con otros compañeros del mismo que nos ayuden en nuestro desempeño diario (tareas similares realizadas, líneas paralelas de desarrollo, experiencia conjunta, colisiones en el desarrollo entre varios programadores, tareas realizadas que pueden aplicar valor o servir como punto de partida para tu tarea actual, etc). Administrar y gestionar el tiempo de tu turno de palabra para sintetizar lo máximo posible y expresar de una forma simple la situación actual de desarrollo en la que te encuentras (tareas en desarrollo, tareas finalizadas, líneas de trabajo, posibles problemas y se tiene poca experiencia, etc). Dejar tiempo suficiente para que los demás compañeros de equipo puedan disponer del mismo tiempo que tú y evitar el crecimiento descontrolado en tiempo usado por la reunión de Scrum. Aplicar esto diariamente.
Si el equipo esta concienciado y en sintonía, el uso del Scrum mejora en gran medida el desarrollo diario con un coste de unos pocos minutos diarios re reflexión y reunión.

El mejor punto para empezar a aplicar el Scrum en un proyecto es el comienzo del mismo. No obstante se puede migrar al uso del mismo en cualquier otro punto tolerando un pequeño esfuerzo añadido. Cuando se pierde la visión general del avance de un proyecto por parte de sus integrantes, cuando se desconoce las tareas o dedicación de los compañeros de equipo significa que la gestión del proyecto no se está realizando correctamente. En este punto se está desaprovechando muchas sinergias que se dan entre los miembros del equipo. Poniendo un ejemplo de muchos que existen, se desaprovecha la experiencia de los compañeros en tareas/tecnologías anteriores realizadas/utilizadas en las que es necesario usar/trabajar.
El Scrum también sirve para mejorar la comunicación en un equipo en el que está sea precaria y afianzar la idea de colaboración para lograr un objetivo que debe existir en todo proyecto.

En futuros Post sobre metodologías agiles intentaremos ahondar en la manera de actuar por parte de los diferentes miembros del equipo dentro del marco del scrum

jueves, 18 de agosto de 2016

Los 10 libros que todo ingeniero informático debe tener parte V



Los 10 libros que todo ingeniero informático debe tener 

parte V


Dentro del universo de la literatura, los libros de informática son rarezas, suelen ser manuales y libros de consulta, con autores desconocidos al gran público y con una clara orientación práctica. La mayoría poseemos uno o varios y tienen una gran utilidad para poder documentarnos puntualmente o hacer un reciclaje de conocimiento. Pero... ¿Qué libros debería de poseer todo ingeniero?



Patrones de Diseño
De Gamma Erich y Helm Richard




Gracias a la gran cantidad de experiencia en el diseño de software orientado a objetos, cuatro diseñadores de primera categoría presentan un catálogo de soluciones simples y concisas para que ocurren comúnmente problemas de diseño, anteriormente indocumentados, estos 23 patrones que contiene el libro permiten a los diseñadores crear diseños más flexibles, elegantes, y en última instancia reutilizables sin tener que volver a descubrir las soluciones de diseño propias.

Los autores comienzan con la descripción de lo que son los patrones y cómo pueden ayudar a diseñar software orientado a objetos. Luego pasan por nombrar sistemáticamente, explicar, evaluar, y el catálogo de diseños de sistemas orientados a objetos recurrentes. Con los patrones de diseño como su guía, aprenderemos cómo estos patrones importantes encajan en el proceso de desarrollo de software, y cómo pueden aprovechar para resolver nuestros propios problemas de diseño de un modo más eficiente.


INTELIGENCIA ARTIFICIAL. TECNICAS. METODOS Y APLICACIONES
De Marin Roque y Jose Palma




La Inteligencia Artificial es hoy día no sólo objeto de investigación, sino que se ha convertido en parte integrante de los planes de estudio de las carreras de Ingeniería de Informática. Y éste es el público al que está dirigido este libro, cuyo objetivo consiste en exponer los aspectos básicos de estas tecnologías de una forma clara, así como proporcionar la bibliografía necesaria para ampliar los temas. El contenido tratado está dividido en seis partes, comenzando con una sección donde se analizan los diferentes paradigmas en los que se basa la IA en la actualidad, para continuar analizando los aspectos clásicos de representación de conocimiento y técnicas clásicas de razonamiento y de búsqueda. También se analizan procesos complejos para solucionar problemas, aspectos relacionados con el aprendizaje y la minería de datos.

Este caso es particular, y al ser el que cierra esta curiosa serie de artículos pensé dejarlo para el final, este libro ha sido escrito por bastantes autores, todos investigadores y docentes en el campo de la IA en España, además tiene la particularidad de que el primer tema y que sirve como introducción está escrito por el difunto Jose Mira Mira, fundador del departamento de Inteligencia Artificial de la Uned y uno de los nombres más importantes en la IA a nivel internacional.

El libro es un texto de referencia a nivel nacional y latinoamericano en el campo de la Inteligencia artificial y los Sistemas inteligentes.




Espero que os haya gustado esta serie de artículos breves sobre libros de informática.


¿Crees que me he dejado algún libro que debería de haber comentado?


Parte I 
Parte II
Parte III
Parte IV
Parte V


martes, 16 de agosto de 2016

Los 10 libros que todo ingeniero informático debe tener (parte IV)


Los 10 libros que todo ingeniero informático debe tener 

parte IV


Dentro del universo de la literatura, los libros de informática son rarezas, suelen ser
manuales y libros de consulta, con autores desconocidos al gran público y con una clara
orientación práctica. La mayoría poseemos uno o varios y tienen una gran utilidad para
poder documentarnos puntualmente o hacer un reciclaje de conocimiento.
Pero... ¿Qué libros debería de poseer todo ingeniero?



The Elements of Programming Style

Kernighan Brian W Plauger




The Elements of Programming Style, de Brian W. Kernighan y PJ Plauger, es un estudio sobre el estilo de programación, defendiendo la idea de que los programas de ordenador deben ser escritos no sólo para satisfacer el gusto del compilador o la programación personal, sino también para la "lectura" por los seres humanos, específicamente los ingenieros de mantenimiento de software y programadores.

El libro es un homenaje explícito, en el título y el tono, a los elementos del estilo, por Strunk y White y se considera que está influenciado por las discusiones de programación estructurada de Edsger Dijkstra. Ha sido influyente y ha dado lugar a una serie de textos similares a la medida de lenguajes de programación  individuales, tales como los elementos de estilo de programación C, los elementos de C # del estilo de los elementos de Java (TM) Estilo, Los Elementos de Estilo MATLAB, etc.

El libro se basa en ejemplos breves de programas reales, publicados en libros de texto de programación. Esto nos presenta  un tratamiento práctico en lugar de una discusión abstracta o académica. El estilo es diplomático y, en general ameno  en su crítica, y descaradamente honesto como bien algunos de los ejemplos con los que se encuentra fallas son del propio trabajo de los autores (un ejemplo en la segunda edición es de la primera edición).

The Computer and the Brain
 John von Neumann




El ordenador y el cerebro es un libro inconcluso por el matemático John von Neumann, que se inició poco antes de su muerte y publicado por primera vez en 1958. Von Neumann era una figura importante en la informática, y el libro explica cómo el cerebro puede ser visto como una máquina de computación . El libro es de naturaleza especulativa, pero von Neumann discute varias diferencias importantes entre cerebros y computadoras de su época (como la velocidad de procesamiento y paralelismo), así como las direcciones que sugieren para futuras investigaciones.

Con sólo 96 páginas, el libro fue pensado originalmente para conferencias Silliman de Yale, pero se publicó después de su muerte. La segunda edición, publicada en 2000, contiene un prólogo de Paul Churchland y Patricia Churchland que coloca puntos de vista de von Neumann en el contexto de la ciencia en ese momento. La tercera edición, publicada en 2012, cuenta con un prólogo de Ray Kurzweil.



Parte I 
Parte II
Parte III
Parte IV
Parte V


domingo, 14 de agosto de 2016

Los 10 libros que todo ingeniero informático debe tener (parte III)

Los 10 libros que todo ingeniero informático debe tener 

parte III


Dentro del universo de la literatura, los libros de informática son rarezas, suelen ser

manuales y libros de consulta, con autores desconocidos al gran público y con una clara

orientación práctica. La mayoría poseemos uno o varios y tienen una gran utilidad para

poder documentarnos puntualmente o hacer un reciclaje de conocimiento.

Pero... ¿Qué libros debería de poseer todo ingeniero?






Software libre para una sociedad libre de RICHARD M STALLMAN



Esta edición autorizada por Richard M. Stallman de su libro Free Software, Free Society. Recopila un conjunto de ensayos y artículos que recorren la década de 1990 y los primeros años del nuevo milenio, y que conforman quizás la mejor apología escrita del software libre como dispositivo de libertad y democracia. El trabajo de edición de este libro ha sido complejo y prolongado, y ha sido posible gracias únicamente a la cooperación de una multitud de personas ligadas al mundo del software libre.

Posiblemente este libro os abrira mucho la mente.

Os lo podeeis bajar gratis y legalmente desde este enlace de la pagina de el proyecto gnu:

https://www.gnu.org/philosophy/fsfs/free_software.es.pdf



Clean Code (Codigo limpio) de Robert C.Martin:


Poco más que añadir sobre este libro, imprescindible leerlo, nos aporta buenas prácticas para nuestro día a día.

Muy bien estructurado y ameno de leer es uno de esos que con un par de lecturas comprensivas y aplicando sus conocimientos nos convierte en mejores profesionales.






Parte I 
Parte II
Parte III
Parte IV
Parte V


jueves, 11 de agosto de 2016

Los 10 libros que todo ingeniero informático debe tener (Parte II)

Los 10 libros que todo ingeniero informático debe tener

parte II


Dentro del universo de la literatura, los libros de informática son rarezas, suelen ser manuales y libros de consulta, con autores desconocidos al gran público y con una clara orientación práctica. La mayoría poseemos uno o varios y tienen una gran utilidad para poder documentarnos puntualmente o hacer un reciclaje de conocimiento.

Pero... ¿Qué libros debería de poseer todo ingeniero?




El lenguaje de programación C de Dennis Ritchie



Clásico entre los clásicos, se debería de poseer aunque solo fuera para reconocer a su autor, Dennis Ritchie, que es el que desarrolló el propio C. Es como el padre de todos los manuales de programación, con un enfoque muy practico, en otros libros de programación  nos acostumbraremos a ver referencias a este libro.

Como anécdota, es el primer libro en el que aparece el famoso programa Hola Mundo,  cosa que a echo que comúnmente se le atribuya su autoría aunque se conoce que no es así. La edición en español está agotada pero por el precio que tiene y su lenguaje perfectamente comprensible recomendaría adquirir la versión en inglés.


Transmisión de datos y redes de comunicaciones de Behrouz A. Forouzan



Este es otro de los veteranos de la lista y ya va por su cuarta edición, muy buen libro para consulta dado lo completo que es y que Muchos lo habréis usado en la universidad dado que fue pensado como libro de texto base para asignaturas de redes. 

Es de los "gordos" lo que hace incomodo de usar y es de los que resultan caros, en España está por unos 70 euros, pero al ser usado como texto base en tantas universidades no debería ser complicado buscarlo de segunda mano.

Utilizando un enfoque progresivo, esta cuarta edición de Transmisión de datos y redes de comunicaciones presenta estos temas de tanta dificultad técnica sin entretenerse en fórmulas complejas y utilizando un fuerte tratamiento pedagógico que se apoya en más de 700 ilustraciones. Además de presentar los fundamentos de forma clara, directa y sencilla.

En definitiva todo ingeniero debería tener un libro de redes para su consulta y sin duda este debería de estar en cualquier colección privada para poder usarlo de texto de referencia.


Parte I 
Parte II
Parte III
Parte IV
Parte V


miércoles, 10 de agosto de 2016

Los 10 libros que todo ingeniero informático debe tener

Los 10 libros que todo ingeniero informático debe tener

(parte I)

Dentro del universo de la literatura, los libros de informática son rarezas, suelen ser manuales y libros de consulta, con autores desconocidos al gran público y con una clara orientación práctica. La mayoría poseemos uno o varios y tienen una gran utilidad para poder documentarnos puntualmente o hacer un reciclaje de conocimiento.

Pero... ¿Qué libros debería de poseer todo ingeniero?




 Programing Perl (también conocido como el libro del camello, aunque es un dromedario) de Larry Wall



Este es posiblemente el caso más curioso de la lista ya que este libro a influido sobre el propio lenguaje de programación, Hasta 1991 la única documentación de Perl era una simple (y cada vez más larga) página de manual Unix. En 1991 se publicó Programming Perl (el libro del camello) y se convirtió en la referencia de facto del lenguaje. Al mismo tiempo, el número de versión de Perl saltó a 4, no por marcar un gran cambio en el lenguaje, sino por identificar a la versión que estaba documentada en el libro.

Co-Escrito por el propio creador del lenguaje, se hizo tan popular dentro del mundo de perl que aunque el símbolo de perl es una cebolla, aún a día de hoy la iconografía de perl en programas, IDEs y intérpretes se impone la famosa imagen del camello.


Compiladores. Principios, técnicas y herramientas  (conocido también como El libro del dragón) de ALFRED V. AHO



Clásico libro que todos leímos o leeremos en la carrera, también se le conoce como libro del dragón rojo, púrpura... Según su edición y haciendo referencia a su portada. Es un libro duro de leer, (enserio ... muy duro) pero muy muy completo, cubre la mayor parte de las necesidades en lo que a tema de compiladores se refiere y que podemos disponer la mayor parte de los ingenieros en el transcurso de nuestra carrera Profesional.


Parte I 
Parte II
Parte III
Parte IV
Parte V



viernes, 5 de agosto de 2016

Cuestiones éticas y legales relacionadas con la utilización intensiva de la informática en el entorno sanitario


Cuestiones éticas y legales relacionadas con la utilización intensiva de la informática en el entorno sanitario




La introducción de los principios bioéticos –no maleficencia y justicia, autonomía beneficencia– en el entorno clínico y de investigación biomédica, así como en los entornos de la informática clínica, ha ido creando una nueva cultura de la relación médico-paciente que, por necesidad, se amplía también a valores y derechos como intimidad, privacidad, confidencialidad y secreto. Relación que, necesita un nuevo replanteamiento, debido a los factores tecnológicos modernos y los últimos avances en la informática médica (Receta electrónica, internet, Historia clínica,…).
La confidencialidad se convierte así en un doble problema ético-deontológico y legal. Por una parte, se trata de abordar la confidencialidad en su relación clínica más humana, personal y profesional entre médico-paciente o profesional-enfermo. Por otra parte, se quiere afrontar el problema de las nuevas formas de relación médico-paciente por medio de la informatización, digitalización, telematización, etc. en concreto, de la datación, uso y custodia de la Historia Clínica (HªC).
La confidencialidad en su relación más personal necesita ser replanteada. Es un problema que necesita ser abordado desde la interdisciplinariedad (medicina, enfermería, economía, legislación, bioética, religión, informática, etc.), al mismo tiempo que debe ser tratado con sensibilidad por lo complicado y complejo que es y por los múltiples factores que comporta.
El constante avance de las tecnologías de la informatización convierten a la confidencialidad datada en un campo de trabajo sociosanitario poco delimitado, no demarcado ni contextualizado, lo cual complica mucho la relación médico-paciente.
Es de destacar la pertinencia de una ley y la necesidad de modernizar el ordenamiento jurídico de la salud pública, así como los tres objetivos básicos que podemos nombrar: contribuir de manera más efectiva a la mejora de la salud de las poblaciones, abordar más eficazmente el problema de las desigualdades, y hacerlo del modo económicamente más sostenible.

Para alcanzar estos objetivos existe la necesidad de primar las políticas poblacionales frente a las individuales, la transversali-dad de las acciones, y la necesidad de establecer una coordinación dentro de cada nivel y entre los distintos niveles de la Administración. Es necesario por esto una intervención sistémica y facilitar la cooperación entre las comunidades autónomas, las administraciones locales y el Estado mediante el uso y el aprovechamiento de estas nuevas tecnologías, siempre respetando la confidencialidad del paciente y los principios de la ética en los entornos sanitarios.

La percepción ciudadana del riesgo es una realidad legítima que debemos aprender a manejar mejor entre todos.





Consejos con linkedin

Para aquellos interesados en el refuerzo de su imagen digital creo que es conveniente enfatizar en una serie de comportamientos que debemos de evitar a toda cosa en el uso diario de nuestro perfil de linkedin

Las visitas anónimas a los perfiles ¿es que hay algo que ocultar?

Ésta es una queja unánime: A mucha gente no le gusta que desde un perfil sin identificar hayan visto su perfil profesional. La transparencia ante todo. No es algo vital , pero no deja de ser una recomendación ya que si queremos establecer un contacto profesional debemos transmitir confianza.

El mal uso de los mensajes

La educación ante todo: saludar, contestar, agradecer… Y molesta  mucho la falta de personalización y el envío masivo de mensajes sin mirar si el destinatario puede ser un potencial interesado en ellos (por ejemplo, porque se trate de un curso que se celebra en otra comunidad). Y un detalle muy feo: los correos masivos donde se ven las direcciones de los destinatarios. Si enviais correos a muchos de tus contactos de linkedIn a la vez no os olvidéis eliminar el tick de la casilla “Permitir a los destinatarios ver los nombres y correos electrónicos de todos” (por defecto en Linkedin siempre viene pulsado).

Recordad evitar todo spam, solo degrada vuestra imagen aunque a corto plazo aumentéis el número de interacciones.

 ¿Por qué pedir referencias a personas que no te conocen?

Sinceramente no aporta nada, resulta molesto y además y no menos importante resta confianza al apartado de recomendaciones de tu perfil... Resta mucha credibilidad de cara a los visitantes de nuestro perfil (suponiendo que el que recibe la solicitud no lea este post antes y se niegue a hacerlo ;)

 No me pidas trabajo si yo no lo tengo…

A veces nos rompen el corazón, pero si en nuestras funciones no está buscar empleo no podemos ofrecerlo, para nosotros solo va a ser spam.

Evita el autobombo y la venta repetitiva de tus productos y servicios

Volvemos al spam, este comportamiento es muy criticable, nos molesta y nos llena él área de publicidad que no hemos pedido, se puede ser moderado en la emisión de post publicitarios, evitad repeticiones salvo gran justificación (no se me ocurre ninguna).

Os ánimo a dar opiniones y reportar en comentarios otros comportamientos molestos que observéis y que se me han podido escapar.