Monthly Archives: March 2015

Deep Learning: Links, News And Resources (3)

Previous Post

Deep Learning Portal | NVIDIA Developer

Unsupervised Feature Learning and Deep Learning Tutorial


Facebook’s latest deep learning tech can quickly interpret text and video | VentureBeat | Big Data | by Jordan Novet

Deep Learning, NLP, and Representations – colah’s blog

Neural networks and deep learning

Intel’s Deep Learning Play: Next-Gen Xeon Phi Could Challenge NVIDIA GPUs – Forbes

Deep Learning Tutorials — DeepLearning 0.1 documentation

Deep Learning Relies on Renormalization, Physicists Find | Quanta Magazine

My Links

Stay tuned!

Angel “Java” Lopez

Computer History: Links And Resources (7)

Previous Post
Next Post

(16) Remy Sharp – Google+ – Where polyfill came from / on coining the term It was when…

The History of HTML5 Mashable The History of HTML5 | The top source for social and digital news

Larry Page’s Google Business Card, 1998 | Retronaut

Keynote: How the 10 Key Lessons from Java and C++History Inform the Cloud

Steve Wozniak’s Reaction To Surface Tablet: ‘Steve Jobs Was Reincarnated At Microsoft’

The Evolution of the Web

The Good Soldier LMeyerov: Socio-PLT: Principles for Programming Language Adoption

command center: Less is exponentially more

Watch Steve Wozniak Talk About the Good Old Times at Apple—Because He’s Just Awesome

introduction to smalltalk

Computer History Museum | Exhibits | This Day in History: June 15

Classical Computer Science Texts

Kim Scheinberg’s answer to Apple Inc.: How does Apple keep secrets so well? – Quora

Tektronix 4404 Smalltalk Demo – YouTube

InfoQ: Interview with Simon Baker, Author of No Bull

What’s the oldest computer you’ve worked on? – Giant Bomb

Quotes about programming languages

Make mainframes, not war: how Mad Men sold computers in the 1960s and 1970s | Ars Technica

maxwell’s equations of software — wingolog

My Links

Stay tuned!

Angel “Java” Lopez

Computer History: Links And Resources (6)

Previous Post
Next Post

InfoQ: The JavaScript World Domination Plan at 16 Years

Unlimited Novelty: Introducing DCell: actor-based distributed objects for Ruby

CiteSeerX — The Smalltalk-80 Implementation at Hewlett-Packard, in Smalltalk-80: bits of history, words of advice

Design Principles Behind Smalltalk

Alan Kay – Wikipedia, the free encyclopedia

CiteSeerX — Some Philosophical Problems from the Standpoint of Artificial Intelligence

tele-TASK Podcast: 50th Anniversary of Objects?

What blocks Ruby, Python to get Javascript V8 speed? – Stack Overflow

The coolest merge EVER!

From the comments:Ten days to implement the [Javascript] lexer, parser, bytecode… | Hacker News

Lisp as the Maxwell’s equations of software | DDI

Cx9 – Cx9

Coding Horror: Preserving The Internet… and Everything Else

When computers were sexy: Hilarious vintage ads from the early days of the PC | Mail Online

Mark Pilgrim (software developer) – Wikipedia, the free encyclopedia

Default to open: The story of open source and Red Hat!

Love Hotels and Unicode | ReignDesign

C# Language Features, From C# 2.0 to 4.0 – CodeProject®

The First 30 Tweets Ever

First 30 Tweets (first30tweets) on Twitter!/First30Tweets

Twitter / @jack: just setting up my twttr …!/jack/status/20

The History of Programming Languages [Infographic]

Low-tech Magazine: Truckloads of hard disks

How Emacs changed my life

My Links

Angel “Java” Lopez

Computer History: Links And Resources (5)

Previous Post
Next Post

Colossus: Creating a Giant – YouTube

Cómo se creó la primera computadora electrónica del mundo –

¿Cómo eran las redes sociales en sus inicios?

Smalltalk? A quién le puede importar by Leandro Caniglia on Prezi

(20) Fotos del muro

Yutaka Hara – Ruby’s past, present, and future on Vimeo

big-comp-tree.gif (1280×742)

Faith, Evolution, and Programming Languages

The Network with Smarts

Multics Emacs History/Design/Implementation

Multics Emacs – Wikipedia, the free encyclopedia

MIT Lecturer Defends His Standing As Email Inventor – Slashdot

Redesigning the Windows Logo

The Universe of Discourse : It came from… the HOLD SPACE

Code & Beyond: Video: Bjarne Stroustrup presenta el estilo de C++11 en Going Native 2012

Apple founder Steve Jobs ‘took drugs and abandoned his family – Telegraph

Elegant Code » Solving the upload progress bar problem–The History of Node.js

websites from hell

The Pragmatic Bookshelf | PragPub 2012-02 | When Did That Happen?

The Pragmatic Bookshelf | PragPub 2011-11 | When Did That Happen?

The Pragmatic Bookshelf | PragPub 2011-12 | When Did That Happen?

1991 Summer CES – YouTube

My Links

Computer History: Links And Resources (4)

Previous Post
Next Post

Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC

Relaunched: the 6502 microprocessor – The H Open Source: News and Features

Clifford Stoll: Why Web Won’t Be Nirvana – The Daily Beast

What I want from my Common Lisp vendor and the Common Lisp community – comp.lang.lisp | Google Groups

ahefner: Lispm archaeology: Compiler Protocols

(24) Ontel Corporation – Former Employees

The Commodore 64 Is 30 Years Old | TechCrunch

Página/12 :: Cultura Digital :: Antes de la web 2.0

Espectacular prototipo de teléfono táctil creado por Apple en 1983 | Actualidad iPad

Scrum Log Jeff Sutherland: Zuckerberg would stay in Boston if he were starting up now

Readable s-expressions and sweet-expressions home page: Getting the infix fix and fewer parentheses in Lisp-like languages

M-expression – Wikipedia, the free encyclopedia

A Literary History of Word Processing –

The Ultimate DOS Machine – YouTube

squeak : Message: Re: [squeak-dev] History of ObjectsAsMethods?

Astonishments, ten, in the history of version control < Francis is

Historia del Software: el lenguaje Python

History of the Internet – YouTube

A bit of Scheming | Lambda the Ultimate

A critic of Abelson and Sussman
Why calculating is better than scheming


John Backus on the Von Neumann style – David Bolton Strikes Again

Hey Hey 16k by Anim by Rob Manuel – Song by MJ Hibbett [B3TA : WE LOVE THE WEB]

My Links

Stay tuned!

Angel “Java” Lopez

Liqueed Project (3)

Previous Post
Next Post

I’m a big supporter of TDD (Test-Driven Development), and its workflow for software development. The software is created based on the tests that describe the expected behaviour, using the simplest possible implementation. For Liqueed Project, TDD was adopted during the creation of most of the code.

An example: there is a file, services\person.js, that is a JavaScript module. It manages the logic of the persons. A person can participate in zero, one or more projects, have sharepoints, vote, etc. And the system keeps the list of persons, retrieve a person by id, by username, … Part of the logic is in the service module. It was written using test/person.js for the tests of the logic. One test, one impementation, refactor, and so on. At the beginning of the test mode, there are some requires:

'use strict';

var service = require('../services/person');
var pservice = require('../services/project');
var async = require('simpleasync');

The services persons and project are used. simpleasync is a simple module I wrote to chaining callbacks. It was an interesting experience, and I’m doing “dog-fooding” in many projects.

Then, two module variables are declared, to be reused in the tests. They are the ids of some persons:

var annaid;
var lauraid;

To run the tests, I’m using simpleunit, another module I wrote, again, to practice JavaScript, TDD and simplicity. It is inspired by nodeunit, but it is simpler. simpleunit executes the module exported functions, providing a test object, something alike to assert in NodeJs.

The first tests exercises the creation of a person:

exports['add person'] = function (test) {

    service.addPerson({ name: 'Anna' }, function (err, result) {
        annaid = result;

It has a callback, so the function could end BEFORE the creation of the person. So, the test.async() tells to simpleunit to wait until the test.done() is reached. The above test only check the return of an id for the new person, and the value is saved in a module variable. This is something to discuss, but I found this way an easy one. The second tests depends on the first one. In C#, in other technologies, I wrote more isolated tests. But for me, in JavaScript, the level of isolation is the module, not the test function. In a module, a test function could depend on the execution of a previous one.

The second test:

exports['get person by id'] = function (test) {

    service.getPersonById(annaid, function (err, result) {
        test.equal(, 'Anna');
        test.equal(, annaid);
        test.equal(result.username, 'anna');

Using the id generated by the first test, the person is retrieved, and the data is checked.

This test series doesn’t use a predefined domain, and it does not assume a previous well-knoen status. And these tests are implemented using an in-memory domain. In the initial iterations, this in-memory domain was the only implementation. Only after the implementation of the first big use case, we added a domain persisted in MongoDB.

Stay tuned!

Angel “Java” Lopez

Computer History: Links And Resources (3)

Previous Post
Next Post

John McCarthy’s theorem prover

History of the Scheme programming language

LEO I, el primer ordenador comercial de la historia, cumple 60 años

“Post-PC Computing” Is Not a Vision
Allen Wirfs-Brock discusses the various computing eras and the change we are currently going through, leaving the PC era and entering a new one characterized by mobility, clouds, HTML and content.

Historia del Software: el lenguaje Python

History of the Internet

A bit of Scheming

Why calculating is better than scheming


Espectacular prototipo de teléfono táctil creado por Apple en 1983

Zuckerberg would stay in Boston if he were starting up now

Readable s-expressions and sweet-expressions home page: Infix and fewer parentheses in Lisp-like languages


The Muses of Insert, Delete and Execute

The Ultimate DOS Machine

Astonishments, ten, in the history of version control

History of Early Stages of Microdata Corporation

A garbage collector for C and C++

A Glance At Garbage Collection In Object-Oriented Languages

Over time, Linux package dependencies show predator/prey relationship

Un auténtico invento adelantado a su tiempo: la máquina analítica de Charles Babbage

A Before-Its-Time Machine

The making of the Xbox: How Microsoft unleashed a video game revolution (part 1)

Incredible Control Panel Of IBM System/360 On Slant With A Few Illuminated Lights

Examining the Roots of Agile

Ward Cunningham on Agile: 10 Years After

AI scientists want to make gods. Should that worry us?

Interview with Dennis M. Ritchie

Ken Thompson and Dennis Ritchie Explain UNIX (Bell Labs)

Takeuchi and Nonaka: The Roots of Scrum

Steve Jobs: Insanely great

A decade’s worth of Windows mistakes that changed Microsoft (for better and worse)

John McCarthy obituary
US computer scientist who coined the term artificial intelligence

Historia de la tecnología: Lisp

The birth of the iPod
The events that led to Apple’s great unveiling on October 23, 2001

My Links

Stay tuned!

Angel “Java” Lopez