viernes, 15 de enero de 2016

El Libro Indispensable - Los Innovadores (Parte 1)

Los Innovadores (Los Genios que inventaron el Futuro)

Publico la primera parte de un libro que considero indispensable, que narra la historia de la computación desde sus orígenes con Ada Lovelace y Charles Babbage hasta la actualidad.



Acerca del Autor: Walter Isaacson

Walter Isaacson, presidente del Instituto Aspen, ha sido presidente de la CNN y director ejecutivo de la revista Time. Es autor de "Einstein, su vida y su universo" (Debate, 2008); "Steve Jobs" (Debate, 2011); "Benjamín Franklin: An American Life" y "Kissinger: A Biography" y es coautor, con Evan Thomas, de "The Wise Men: Six Friends and the World They Made". Vive con su mujer en Washington D.C.



Texto de la Portada Final

Tras su extraordinaria biografía de Steve Jobs, el nuevo libro de Walter Isaacson cuenta la fascinante historia de las personas que inventaron el ordenador e internet. Los innovadores está destinado a convertirse en la historia definitiva de la revolución digital y en una guía indispensable para entender cómo sucede realmente la innovación.

¿Qué talentos y habilidades permitieron a algunos inventores y empresarios convertir sus ideas visionarias en realidades disruptivas?. ¿De donde vinieron esos saltos creativos?. ¿Porqué algunos triunfaron y otros fracasaron?.

En esta magistral saga, Isaacson arranca con Ada Lovelace, la hija de Lord Byron, una pionera de la programación informática en la década de 1840. Además, presenta a las extraordinarias personas que crearon la revolución digital que nos rodea, gente como Vannevar Bush, Alan Turing, John Von Neumann, J.C.R. Licklider, Doug Engelbart, Robert Noyce, Bill Gates, Steve Wozniak, Steve Jobs, Tim Berners-Lee o Larry Page.

Esta es la historia de cómo funcionan sus cerebros y por qué han sido tan inventivos, pero también de cómo su capacidad para colaborar y dominar el arte del trabajo en equipo los hizo aún mas creativos.

En una era que busca fomentar la innovación, la creatividad y el trabajo en equipo, Los innovadores es la obra que mejor muestra cómo se producen.


Índice del Libro

Cronología
Introducción

1. Ada, Condesa de Lovelace
2. El computador
3. Programación
4. El transistor
5. El microchip
6. Videojuegos
7. Internet
8. El ordenador personal
9. Software
10. Conectados
11. La Red
12. Por siempre Ada

Agradecimientos
Notas
Índice Alfabético

Cronología

1843 Ada condesa de Lovelace, publica sus Notas sobre la máquina analitica de Babbage.
1847 George Boole crea un sistema que utiliza el álgebra para el razonamiento lógico.
1890 Se tabula el censo Estadounidense empleando las máquinas de tarjetas perforadas de Herman Hollerith.
1931 Vannebar Bush diseña el analizador diferencial, un computador analógico electromecánico.
1935 Tommy Flowers utiliza por primera vez tubos de vacío como interruptores de encendido y apagado en circuitos.
1937 Alan Turing publica "Sobre los números computables", en el que describe un computador universal.
1937 Claude Shannon describe cómo los circuitos dotados de interruptores pueden realizar tareas de álgebra booleana.
1937 George Stibitz, de los Laboratorios Bell, propone crear una calculadora que emplee un circuito eléctrico.
1937 Howard Aiken propone la construcción de un gran computador digital y descubre partes de la máquina diferencial de Babbage en Harvard.
1937 John Vincent Atanasoff elabora diversos conceptos relativos al computador electrónico una noche de Diciembre, durante un largo trayecto en automóvil.
1938 William Hewlett y David Packard crean su empresa en un garaje de Palo Alto.
1939 Atanasoff completa un modelo de computador electrónico con tambores de almacenamiento mecánicos.
1939 Turing llega a Bletchley Park para trabajar en el descifre de los códigos alemanes.
1941 Konrad Zuse completa el Z3, un computador digital electromecánico programable plenamente funcional.
1941 John Mauchly visita a Atanasoff en Iowa y presencia una demostración de su computador.
1942 Atanasoff completa un computador que funciona parcialmente con trescientos tubos de vacío y se incorpora a la marina.
1943 Finaliza en Betchley Park la construcción del Colossus, un computador de tubos de vacío destinado a descifrar los códigos alemanes.
1944 Entra en funcionamiento el Harvard Mark I.
1944 John Von Newmann va a la Universidad de Pensilvania para trabajar en el ENIAC.
1945 Von Newmann redacta el "Primer borrador de un informe sobre el EDVAC", en el que describe un computador de programa almacenado.
1945 Se envía a Aberdeen a seis programadoras del ENIAC para recibir formación.
1945 Vannebar Bush publica "Cómo podríamos pensar", en el que describe el ordenador personal.
1945 Bush publica "Ciencia, la frontera sin fin", en el que propone financiar públicamente la investigación académica e industrial.
1945 El ENIAC funciona a pleno rendimiento.
1947 Se inventa el transistor en los Laboratorios Bell.
1950 Turing publica un artículo en el que describe una prueba para la inteligencia artificial.
1952 Grace Hopper desarrolla el primer compilador informático.
1952 Von Newmann completa un computador moderno en el Instituto de Estudios Avanzados de Princeton.
1952 El UNIVAC predice la victoria electoral de Eisenhower.
1954 Turing se suicida.
1954 Texas instruments introduce el transistor de silicio y contribuye al lanzamiento del radio receptor modelo Regency.
1956 Se funda Shockley Semiconductor.
1956 Primera conferencia sobre inteligencia artificial.
1957 Robert Noyce, Gordon Moore y otros crean Fairchild Semiconductor.
1957 La Unión Soviética lanza el Sputnik.
1958 Se anuncia la creación de la Agencia de Proyectos de Investigación Avanzada (ARPA).
1958 Jack Kilby hace una demostración del circuito integrado, o microchip.
1959 Noyce y sus colegas de Fairchild inventan también el microchip de manera independiente.
1960 J.C.R. Licklider publica "La simbiosis hombre-computador".
1960 Paul Baran, de RAND, inventa la commutación de paquetes.
1961 El presidente Kennedy propone enviar el hombre a la Luna.
1962 Expertos en informática del MIT crean el juego Spacewar.
1962 Licklider se convierte en el primer director de la Oficina de Técinas de Procesamiento de Información de la ARPA.
1962 Doug Engelbart publica "Aumentar el intelecto humano".
1963 J.C.R. Licklider propone una "Red Intergaláctica de Computadores".
1963 Engelbart y Bill English inventan el ratón.
1964 Ken Kesey y los Merry Pranksters recorren Estados Unidos en autobús.
1965 Ted Nelson publica el primer artículo sobre el "Hipertexto".
1965 La Ley de Moore predice que la potencia de los microchips se duplicarán aproximadamente cada año.
1966 Stewart Brand organiza el Trip Festival junto con Ken Kesey.
1966 Bob Taylor al jefe de la ARPA, Charles Herzfeld, de financiar ARPANET.
1966 Donald Davies acuña la expresión "conmutación de paquetes".
1967 Se discute el diseño de ARPANET en Ann Arbor y Gatlinburg.
1968 Larry Roberts hace públicos los requisitos del concurso para la construcción de los IMP de ARPANET.
1968 Noyce y Moore crean Intel y contratan a Andy Grove.
1968 Brand publica el primer Whole Earth Catalog.
1968 Engelbart organiza la Madre de Todas las Demostraciones con la ayuda de Brand.
1969 Se instalan los primeros nodos de ARPANET.
1971 Don Hoefler inicia su columna en Electronic News titulada "Sillicon Valley USA".
1971 Fiesta de despedida de Whole Earth Catalog.
1971 Se presenta el microprocesador Intel 4004.
1971 Ray Tomlinson inventa el correo electrónico.
1972 Nolan Bushnell crea Pong en Atari junto con Al Alcorn.
1973 Alan Kay, junto con Chuck Thacker y Butler Lampson, crean el Xerox Alto en Xerox PARC.
1973 Bob Metcalfe desarrolla Ethernet en el Xerox PARC.
1973 Se pone en marcha el terminal compartido Community Memory en Leopold's Records, Berkeley.
1973 Vin Cerf y Bob Kahn completan los protocolos TCP/IP para internet.
1974 Aparece el Intel 8080.
1975 Aparece el ordenador Altair, de MITS.
1975 Bill Gates y Paul Allen desarrollan programación en BASIC para el Altair y crean Microsoft.
1975 Primera reunión del Homebrew Computer Club.
1975 Steve Jobs y Steve Wozniak lanzan el Apple I.
1977 Se presenta el Apple II.
1978 Primer software BBS en internet.
1979 Se inventan los grupos de noticias de Usenet.
1979 Jobs visita el Xerox PARC.
1980 IBM encarga a Microsoft el desarrollo de un sistema operativo para PC.
1981 Se pone a la venta el módem Hayes para usuarios domésticos.
1983 Microsoft anuncia Windows.
1983 Richard Stallman empieza a desarrollar GNU, un sistema operativo libre.
1984 Apple presenta el Macintosh.
1985 Stewart Brand y Larry Brilliant lanzan The WELL.
1985 CVC lanza Q-Link, que luego se convierte en AOL.
1991 Linus Torvalds lanza la primera versión del kernel Linux.
1991 Tim Berners-Lee anuncia la World Wide Web.
1993 Marc Andreessen anuncia el navegador Mosaic.
1993 Bajo la dirección de Steve Case, AOL ofrece acceso directo a internet.
1994 Justin Hall lanza el blog y el directorio web.
1994 HotWired y Pathfinder, de Time Inc., se convierten en los primeros grandes editores de revistas online.
1995 Aparece en la red el WikiWikiWeb de Ward Cunningham.
1997 Deep Blue, de IBM, derrota al ajedrez a Gari Kaspárov.
1998 Larry Page y Serguéi Brin lanzan Google.
1999 Ev Williams crea Blogger.
2001 Jimmy Wales, junto con Larry Sanger, lanzan la Wikipedia.
2011 El ordenador Watson de IBM gana el concurso televisivo Estadounidense Jeopardy!.

Comentario

Este libro es indispensable leerlo y tenerlo en su biblioteca ya que es sin dudar uno de los más completos sobre el tema. Particularmente me inspira mucho la vida y obra de estos grandes personajes que si no fueran por su esfuerzo y dedicación no gozaríamos de lo que tenemos ahora: Computadores, Redes, Internet, Software, etc.

El Libro del Día: AngularJS Directives Cookbook

El Libro del Día: 2016-01-15

Titulo: AngularJS Directives Cookbook
Autor: Fernando Monteiro
Editorial: Packt
Nro Paginas: 206

Capítulos:
Chapter 1: Dealing with Modal and Tabs Directives
Chapter 2: Building a Navbar Custom Directive
Chapter 3: Customizing and Using Bootstrap UI Directives
Chapter 4: Creating Interactive jQuery UI Directives
Chapter 5: Implementing Custom Directives with Yeoman Generators
Chapter 6: Using Directives to Develop Interface Components
Chapter 7: Building Directives with Dynamic Templates
Chapter 8: Creating Reusable Directives
Chapter 9: Directive Unit Testing with Karma and Jasmine

Descarga:
AngularJS_Directives_Cookbook

miércoles, 13 de enero de 2016

El Libro del Día: Learning Material Design

El Libro del Día: 2016-01-13

Titulo: Learning Material Design
Autor: Kyle Mew
Editorial: Packt
Nro Paginas: 187

Capítulos:
Chapter 1: Getting Started with Material Design
Chapter 2: Building a Mobile Layout
Chapter 3: Common Components
Chapter 4: Sliding Drawers and Navigation
Chapter 5: Lists, Cards, and Data
Chapter 6: Animations and Transitions
Chapter 7: Material on Other Devices
Chapter 8: Material Web Frameworks
Chapter 9: The Materialize Framework
Chapter 10: Material Design Lite

Descarga:
Learning_Material_Design

lunes, 11 de enero de 2016

El Libro del Día: Learning JavaScript

El Libro del Día: 2016-01-11

Titulo: Learning JavaScript (3rd Edition)
Autor: Ethan Brown
Editorial: O'Reilly
Nro Paginas: 347

Capítulos:
1. Your First Application
2. JavaScript Development Tools
3. Literal, Variables, Constants, and DataTypes
4. Control Flow
5. Expressions and Operators
6. Functions
7. Scope
8. Arrays and Array Processor
9. Objects and Object Oriented Programming
10. Maps and Sets
11. Exceptions and Error Handling
12. Iterators and Generators
13. Functions, and the Power of Abstract Thinking
14. Asynchronous Programming
15. Date and Time
16. Math
17. Regular Expressions
18. JavaScript in the Browser
19. jQuery
20. Node
21. Object Property Configuration and Proxies
22. Additional Resources
A. Reserved Words
B. Operator Precedence

Descarga:
Learning_JavaScript

viernes, 8 de enero de 2016

El Libro del Día: JavaScript Concurrency

El Libro del Día: 2016-01-08

Titulo: JavaScript Concurrency
Autor: Adam Boduch
Editorial: Packt
Nro Paginas: 293

Capítulos:
Chapter 1: Why JavaScript Concurrency
Chapter 2: The JavaScript Execution Model
Chapter 3: Synchronizing with Promises
Chapter 4: Lazy Evaluation with Generators
Chapter 5: Working with Workers
Chapter 6: Practical Parallelism
Chapter 7: Abstracting Concurrency
Chapter 8: Evented IO with NodeJS
Chapter 9: Advanced NodeJS Concurrency
Chapter 10: Building a Concurrent Application

Descarga:
JavaScript_Concurrency

miércoles, 6 de enero de 2016

Entrenamiento - Vacantes para el Curso de Desarrollo Web de los Domingos

Vacantes para el Curso de Desarrollo Web de los Domingos

Estimados alumnos, este Domingo 10 de Enero iniciamos el segundo mes del curso de Desarrollo Web Desconectado Total usando JavaScript, HTML5 y CSS3 (80% de código cliente y 20% código servidor aproximadamente).

Hay 10 nuevas vacantes para cubrir el total de la capacidad y los interesados solo deben un mail de confirmación a Luis.duenash@gmail.com con su Nombre Completo y si ha sido ex-alumno o no. El costo del curso es de 200 soles por 4 sesiones de 6 horas, es decir 24 horas.

El horario son los Domingos de 8:00 am a 2:00 pm y se realiza en el cono Norte, la dirección exacta será enviada por mail a los confirmados. Los interesados tener en cuenta el lugar y que no es curso tradicional, no se dará certificados, diplomas, recibos, etc.

Los que asisten a mis cursos y talleres saben que cada semana tenemos temas muy interesantes que tratamos que serán la base del desarrollo web moderno: desconectado total y nativo, dando énfasis a las APIs de JavaScript y creando código óptimo.

Muchos han estado preguntando sobre cursos y les he dicho que ya no dicto regularmente, excepto este curso de los Domingos, y los que alguna vez ya llevaron conmigo los temas son totalmente distintos, además hay mucha teoría sobre cómo funciona Internet, el Navegador, .NET Framework, etc.

Recuerden que solo se registrará a los 10 primeros y de preferencia a ex-alumnos. Aprovechen que el costo del curso es muy bajo comparado con lo que se cobra en la mayoría de centros de capacitación por no aprender nada que solucione los problemas de la computación.

Sea lo que sea que te enseñen: C#, LINQ, Entity Framework, CodeFirst, AngularJS, KnockoutJS, jQuery, AJAX, Ember.JS, etc. te darás cuenta que los problemas de lentitud seguirán, y si apuestas por el Hardware aumentando mas disco, CPU, memoria, etc, tampoco dará resultados.

La solución completa es la que vemos en estos talleres y muchos alumnos ya están poniendo en práctica esta nueva forma de programar que es rápida en desarrollo y mas rápida en ejecución. Los visitantes de mi Blog y de mi canal de YouTube tienen que tener en cuenta que la mayoría de los Demos y Videos no son posteados, solo está accesible para los que siguen el curso.

Saludos

lunes, 4 de enero de 2016

Artículos - Computación y Sistemas en el 2015

Computación y Sistemas en el 2015

En este artículo quiero compartir el resumen educativo del 2015, donde mostraremos las Universidades más importantes del mundo para estudiar Ciencias de la Computación y los Lenguajes de Programación mas usados en el mundo.

Top 50 de Universidades de Ciencias de la Computación 2015 (según Top Universities)

01 Massachusetts Institute of Technology (MIT) - USA
02 Stanford University - USA
03 University of Oxford - UK
04 Carnegie Mellon University (CMU) - USA
05 Harvard University - USA
06 University of California, Berkeley (UCB) - USA
07 University of Cambridge - UK
08 The Hong Kong University of Science and Technology (HKUST) - China
09 ETH Zurich (Swiss Federal Institute of Technology) - Suiza
10 Princeton University - USA
11 National University of Singapore (NUS) - Singapur
12 The University of Hong Kong (HKU) - China
13 The University of Melbourne - Australia
14 The University of Edinburgh - UK
15 Imperial College London (ICL) - UK
16 University of Toronto (UofT) - Canada
17 University of California, Los Angeles (UCLA) - USA
18 The Chinese University of Hong Kong (CUHK) - China
19 The University of Tokyo - Japon
20 University of Washington (UW) - USA
21 Nanyang Technological University, Singapore (NTU)- Singapur
22 University of Texas at Austin (UT) - USA
23 University College London (UCL) - UK
24 University of British Columbia (UBC)- Canada
25 University of Waterloo (UW) - Canada
26 The Australian National University (ANU) - Australia
27 California Institute of Technology (Caltech) - USA
28 Columbia University - USA
29 Ecole Polytechnique Fédérale de Lausanne (EPFL) - Suiza
30 University of Illinois at Urbana Champaign - USA
31 Cornell University - USA
32 New York University (NYU) - USA
33 Technische Universität München - Alemania
34 Yale University - USA
35 The University of New South Wales (UNSW) - Australia
36 Peking University - China
37 The University of Sydney - Australia
38 Tsinghua University - China
39 Georgia Institute of Technology (GaTech) - USA
40 Korea Advanced Institute of Science & Technology (KAIST) - Corea del Sur
41 University of Pennsylvania - USA
42 Seoul National University - Corea del Sur
43 Politecnico di Milano - Italia
44 The University of Auckland - Nueva Zelandia
45 University of California, San Diego (UCSD) - USA
46 National Taiwan University (NTU) - Taiwán
47 University of Chicago - USA
48 The University of Manchester - UK
49 The University of Queensland - Australia
50 McGill University - Canada

Como se observa en la lista, Estados Unidos tiene 19 Universidades en los 50 primeros puestos, encabezadas por el MIT, Stanford,  Carnegie Mellon y Harvard; en segundo puesto le sigue Inglaterra con 6 Universidades encabezadas por Oxford y Cambridge y Australia con 5 Universidades encabezadas por Melbourne, ANU, UNSW y Sidney.

Top 400 por Países de Universidades de Ciencias de la Computación 2015

USA 70
UK 41
Alemania 28
Australia 21
China 20
Canadá 17
Francia 17
Italia 14
Taiwan 12
Japón 11
Holanda 10
Corea 10
España 7
Irlanda 7
Suiza 7
India 7
Brasil 7
N. Zel 7
Bélgica 6
Suecia 6
Austria 6
Hong K. 6
M. Orie. 6
México 3
Chile 2
Argentina 1
África 1

Como se observa claramente, nuevamente Estados Unidos ocupa el primer puesto con 70 Universidades dentro de las primeras 400, en segundo puesto Reino Unido con 41, en tercer puesto Alemania con 28, en cuarto puesto Australia con 21 y en quinto puesto China con 20.

En nuestra región, el líder es Brasil con 7 Universidades, México con 3, Chile con 2 y Argentina con 1. Como se observa Perú no tiene ninguna Universidad en el Ranking de las primeras 400 Universidades.

Top 10 de Lenguajes de Programación (IEEE Spectrum)

01 Java
02 C
03 C++
04 Python
05 C#
06 R
07 PHP
08 JavaScript
09 Ruby
10 Matlab

Según IEEE Spectrum Java es el Lenguaje mas usado en el mundo, seguido por C y C++. La revelación en este Ranking es JavaScript que debido al aumento de sus APIs es el mas usado para escribir código en el cliente en Aplicaciones Web.

Top 10 de Lenguajes de Programación (GitHub)

01 JavaScript
02 Java
03 Ruby
04 PHP
05 Python
06 CSS
07 C++
08 C#
09 C
10 HTML

Según GitHub la mayoría de librerías y código compartido en Git está escrito en JavaScript, seguido por Java y Ruby. Aunque CSS y HTML no son Lenguajes de Programación tradicionales están considerados en la lista y poco a poco toman un lugar importante en el Desarrollo Web por encima de muchos otros.

Resumen del 2015

En resumen las mejores Universidades para estudiar Ciencias de la Computación (Informática, Sistemas, Ingeniería de Software, etc.) están en Estados Unidos (USA) con 70 Universidades, seguido por Inglaterra con 41 Universidades, el resto de países no tiene una fuerte presencia, excepto Alemania, Australia y China

Por otro lado en Lenguajes de Programación el de mayor crecimiento a sido JavaScript, pero también son muy usados Java, PHP, Python y Ruby. Además JavaScript no es usado solo sino junto con HTML5 y CSS3, que forman la trilogía moderna del Desarrollo Web.

Finalmente, para que nuestro país mejore su educación y este en el Ranking debe hacerse cambios radicales, los cuales se pueden resumir en dos puntos:

1. Cambio de Curricula: Nuevos cursos de Desarrollo Web y Móvil (HTML5, CSS3, APIs de JavaScript, Node.js, C#, Java, etc). Estos nuevos cursos no tienen que ser "Hello World", sino cometeríamos los mismos errores.

2. Captar mejores profesores: El requisito principal para ser profesor no debe ser el título (pregrado ni postgrado), debemos reclutar expertos, científicos, genios, inventores que deseen compartir sus conocimientos y que sobre todo tengan pasión por lo que hacen.

En este sentido, para contribuir con la educación, desde este Blog durante este 2016 vamos a mostrar más algoritmos, más demos y más artículos orientados a la optimización de sistemas (performance) sobre todo mostraremos mas APIs de JavaScript, HTML5 y CSS3.