Angel \”Java\” Lopez on Blog

March 5, 2014

End Of Iteration 2014w09

Previous Post
Next Post

More interesting stuff for my neuron, and deliberate TDD (Test-Driven Development) practice.


A lot of new work at

It takes an string and extract information based on rules. For example, it can detect the brand of a product description, its weight, weight unit, etc. I put an online demo in Spanish for analyze or search into Preciosa project data:


I started a simple in-process, in-memory key/value store in C#:

A dictionary with a an internal tree, instead of using hashes. I should complete the node split operation, enumerate the keys, and compress the keys. A key is an string, and the associated value could be typed or a generic object.


Motivated by a use case of Preciosa project, I wrote:

A simple JavaScript module to manage a list of geolocated items (via latitude, longitude), and then retrieve the items near a point in a given radius.


I refactored my in-memory repository:

to support optional autonumeric ids, and tests using SimpleUnit. Notably, I found an issue: SimpleUnit can be installed as global module in NPM (Node Package Manager) but the bin file has a shebang (!#) in the first line, ending with \r\n (carriage return line feed). Then, Linux operating system take the shebang, and use it as the name of the program to execute the script, WITH THE CARRIAGE RETURN in the name. So, I fixed it removing the carriage return. Weird thing in the third millenium. I updated

to have no carriage return in bin scripts.


I worked on two non-public projects, using C#. I started my Python samples I added some nodes to AST (Abstract Syntax Tree) in

More fun is coming.

Keep tuned!

Angel “Java” Lopez

January 23, 2014

Erlang: Links, News And Resources (6)

Previous Post
Next Post

Elixir – A modern approach to programming for the Erlang VM on Vimeo

15 Erlang – Distributed Programs – Node Creation – YouTube

JLOUIS Ramblings: Acme as an editor

Erlang/OTP at EE: journey and lessons learned – Erlang User Group (London, England) – Meetup

Erlang Factory – Dublin Erlang Factory Lite 2013 – Register

Aprendiendo Erlang: Comunicación entre procesos (Ping-Pong).

Erlang — Concurrent Programming

extend/bullet · GitHub
Bullet is a Cowboy handler and associated Javascript library for maintaining a persistent connection between a client and a server.

duomark/erlangsp · GitHub
Erlang Services Platform

Erlang the movie II the sequel

Erlang-style Supervisor Module for Scala Actors ←

Open Telecom Platform – Wikipedia, the free encyclopedia

What They Don’t Teach You About Running a Business When Taking Your CS Degree

Parsing packets Erlang style using core.logic

ErlangDC 2013 Conference

jacobgroundwater/federation · GitHub
Node.js. Federation is inspired by Akka and Erlang, and borrows some semantics from the actor model.

Federation by jacobgroundwater
Federation is a federated message network for distributed environments

Programming Rules

[erlang-questions] hobbyists, erlang, elixir (was Improve $handle_undefined_function)

Merge branch ‘bjorn/remove-parameterized-modules/OTP-10616′ · 35adf88 · erlang/otp

Persisting your entities in erlang

My Links

Keep tuned!

Angel “Java” Lopez

January 12, 2014

New Month’s Resolutions: January 2014

A bit late, I was busy these days.

Review of my December’s Resolutions:

- Give a one-day Node.js course [complete]
- Refactor and improve CobolScript [partial] see repo
- Continue writing Ruby to JavaScript compiler [complete] see repo
- Variable scope in Mass language [pending]
- More modules in AjTalkJs [pending]

I was working on:

- Code generation using AjGenesis for Node, and templates for Express [complete]
- Started DylanSharp, Dylan interpreter in C# [complete] see repo
- Start to revamping old PHP websited [complete] see repo and repo
- Start support for modules and REPL to AjErl, my Erlang interpreter in C# [complete] see repo

My new month’s resolutions are:

- Start to implement Akka-like actor model in C#
- Start to implement Scala interpreter in JavaScript
- Work on AjErl
- Work on Mass (I have many ideas to implement as module pattern and variable scope access)
- Work on DylanSharp
- Start an implementation of ML (JavaScript? C#?)

More fun is comming

Keep tuned!

Angel “Java” Lopez

January 10, 2014

Erlang: Links, News And Resources (5)

Previous Post
Next Post

I have more links about this interesting programming language and distributed technology:

Erlang/OTP: Volumen I, Un Mundo Concurrente | Bosque Viejo


High Scalability – High Scalability – BigData using Erlang, C and Lisp to Fight the Tsunami of Mobile Data

What Can Be Done with Java but Should Better Be Done with Erlang

Erjang is a virtual machine for Erlang, which runs on Java

What’s Your Next JVM Language?

The Erlang stack | the web dev

Erlang stdlib extensions

Elixir v0.7.1 released and the end of a journey – Elixir

Erlang Scales … Do You?

Lambda Luminaries (Pretoria) – Meetup

Erlang: Is Elixir ( production ready? – Quora

Elixir is a functional meta-programming aware language built on top of the Erlang VM

Why I Program In Erlang

I hope Wittgenstein would approve /

Episode 12 – Isaac Schlueter –

My Links

Keep tuned!

Angel “Java” Lopez

January 3, 2014

Erlang: Links, News And Resources (4)

Filed under: Erlang, Functional Programming, Links, Programming Languages — ajlopez @ 4:34 pm

Previous Post
Next Post

I’m very interested in this programming languages, and I’m working on a C# Interpreter implementation. More links:

OTP Technical Board – Decisions affecting R16.

aerosol / vimerl
The Erlang plugin for Vim

Errors and Exceptions

Live Blogging: getting started with Erlang and Nitrogen

A DSL for Scripting Refactoring in Erlang
Simon Thompson introduces Wrangler, a refactoring tool written in Erlang for Erlang code and embeddable in common IDEs, such as Emacs and Eclipse.

Joxa is a small semantically clean, functional lisp. It is a general-purpose language encouraging interactive development and a functional programming style. Joxa runs on the Erlang Virtual Machine. Like other Lisps, Joxa treats code as data and has a full (unhygienic) macro system.

Erlang Solutions’s Videos

Scaling to Millions of Simultaneous Connections: Rick Reed

Chicago Boss
Just install Erlang on your computer, download Chicago Boss, and follow the simple instructions. You’ll be ready to work on your first prototype in minutes.

Rebar Releases and Being Wrong

Erlang on Xen

Concurrency Among Strangers
Programming in E as Plan Coordination

ErlPort – Erlang port protocol for Python

Webmachine: a Practical Executable Model of HTTP

ericmoritz / wsdemo
C10K Websocket Test

Distribution Protocol

External Term Format
The external term format is mainly used in the distribution mechanism of Erlang.

Erlang, do they really understand?

Estructura Lider/Trabajador en Erlang

No, Erlang no es eso

Erlang: Servidores Concurrentes TCP

Erlang: Servidores UDP

Building Polyglot Systems with Scalang
Cliff Moon discusses Scalang, a message passing and actor library enabling easy communication between Scala and Erlang apps, wrapping services in Scalang actors.

Erlang Tools and Packages

Learn you some Erlang

Building Highly Available Systems in Erlang
Joe Armstrong discusses highly available (HA) systems, introducing different types of HA systems and data, HA architecture and algorithms, 6 rules of HA, and how HA is done with Erlang.

Higher Order Functions

My Links

Keep tuned!

Angel “Java” Lopez

January 1, 2014

Erlang: Links, News And Resources (3)

Filed under: Erlang, Functional Programming, Links, Programming Languages — ajlopez @ 8:42 pm

Previous Post
Next Post

Brief Introduction to Parse Transformations

Differences between pattern matching and unification?

mashion/chloe · GitHub
A realtime web server that doesn’t suck… or at least won’t suck when it’s finished.

InfoQ: Chloe and the Real Time Web

.NET Rocks! Bryan Hunter and OJ Reeves Program in Erlang

Erlang EUnit – introduction « Erlang, Testing and TDD

Dizzy Smith – Building Erlang Applications With Rebar

Erlang Factory – Dave Smith, YAED. Author of rebar and bitcask

How to create, build, and run an Erlang OTP application using Rebar | Skeptomai

Richard Jones | Erlang rebar tutorial: generating releases and upgrades

Rebar – Erlang Web wiki

Erlang App. Management with Rebar


Erlang – Leex and Yecc []

Qrly – selectores a lo jquery para XML y HTML en erlang


Distributed OTP Applications | Learn You Some Erlang for Great Good!

generate HTML (or XML) using CSS-like selectors in erlang

Erlang Factory: Chad DePue: Lua Integration with Erlang

Erlang Factory – Chad DePue, Entrepreneur and creator of

Inaka Networks: Scaling Erlang

Inaka Networks
Erlang programming from Argentina (ex-Microsoft founder)

Seth Ladd’s Blog: Calculating Combinations the Erlang Way

Generate permutations iteratively without recursion or stack with Ruby/Erlang

erlang – How to effectively store a large set of permutations? – Stack Overflow

recursion – Generate custom permutations with Erlang – Stack Overflow

Permutations – Rosetta Code

Erlang Solutions’s videos on Vimeo

Charla: Gestión de Llamadas con Erlang/OTP | Bosque Viejo

Philip Wadler’s home page

Concurrency in Erlang & Scala: The Actor Model / Ruben Vermeersch (RubenV)

What is actor model in context of a programming language?

Reia Programming Language
Reia is a Ruby-like scripting language for the Erlang virtual machine. Reia brings you the best of both worlds between Ruby’s friendly syntax, reflection, metaprogramming, and the amazing power of blocks, and Erlang’s immense abilities for concurrency, distribution, hot code swapping, and fault tolerance.

My Links

Keep tuned!

Angel “Java” Lopez

December 30, 2013

Clojure: Links, News And Resources (11)

Filed under: Clojure, Functional Programming, Links, Lisp, Programming Languages — ajlopez @ 4:43 pm

Previous Post

I have ten additional posts in my Clojure queue. A new one:

Clojure and the future for programmers like me
Attitudes common in the Clojure community are making that community increasingly unappealing to people like me. They may also be leading to a language less appealing to people like me than a Lisp should be.

A world in a ref

A tour of the Clojure landscape

Introduction to Clojure
by @stuartsierra at #strangeloop

Writing CouchDB Views using ClojureScript

Clojure Lisp Programming

frenchy64 / typed-clojure
Gradual typing for Clojure

Browser the open-source Clojure ecosystem

A TDD library for Clojure that supports top-down (‘mockish’) TDD, encourages readable tests, provides a smooth migration path from clojure.test, balances abstraction and concreteness, and strives for graciousness.

Laziness: the Good, the Bad, and the Ugly

The London Clojure Community:Persistent Data Structures in Clojure

Learning Clojure: Leiningen

The Curious Clojurist with Neal Ford

The Value of Values – Rich Hickey

Clojure Programming

Prismatic’s "Graph" at Strange Loop

Ruby + Clojure = Rouge

Clojure Tetris


Macros are Hard!

Writing Datomic in Clojure

Why Clojure?

My Links

Keep tuned!

Angel “Java” Lopez

December 12, 2013

Python: Links, News And Resources (14)

Filed under: Links, Programming Languages, Python — ajlopez @ 5:07 pm

Previous Post

A test fixtures replacement for Python

Introducción a Tryton Application Platform // Speaker Deck

exception – Try/Catch in Python – Stack Overflow

Open Source Game


Creando un SCADA con Python y HTML5

Virtual machines should be invisible

PyCon Argentina 2012 – Design Patterns en Python // Speaker Deck

Python 2 debe morir // Speaker Deck

PyCon 2012

python – How to install pip on windows? – Stack Overflow

Flask – El microframework que revoluciona el mundo // Speaker Deck

pilas-engine – haciendo juegos en medio de la revolución // Speaker Deck

slides/ponete-pilas-django at master · machinalis/slides

slides/javascript-para-programadores-python at master · machinalis/slides

¡ Bienvenido a pilas !
Game Engine

A Simple Python NodeVisitor Example

Eli Bendersky’s website » Blog Archive » Python internals: Working with Python ASTs

Blender – Python

Watch PyDay Rafaela Episodes | Blip

Twitter / reingart: Introducción a Sugar en @pyconar …

Jython 2.7 and techniques for integrating with Java – Frank Wierzbicki

Java Empowered by Jython

My Links

Keep tuned!

Angel “Java” Lopez

December 10, 2013

End Of Iteration 2013w49

Previous Post
Next Post

Node.js Course

I gave a one-day Node.js course, at Buenos Aires. I presented:

- JavaScript intro programming
- Node.js over V8, with only one JavaScript thread
- Node.js implementation of require
- Built-in modules, like fs, http, net, assert
- Elements of TDD with JavaScript/Node.js
- Using NPM for modules
- Samples
- Web apps using Express
- Real-Time client-server messaging using Socket.IO

My samples at

I used Mongo.DB for some samples. As a final sample, I used:

an excellent sample, with single page application, backbone.js, express, mongodb, and for real-time analytics

AjLisp in C#

I moved my old project from Google Code to GitHub

And I revamped it a bit: renaming primitive verbs, some internal refactors.

Other work

I updated expressions in RuScript

I added arithmetic expressions to AjErl, my Erlang interpreter in C#

I ported AjLispJs to use simpleunit for tests

I refactored CobolScript lexer and parser implementation

I converted ClojSharp, a Clojure-like interpreter in C#, to Visual Studio 2010

I was working in two non-public projects, and started a new one on Saturday.

Keep tuned!

Angel “Java” Lopez

December 9, 2013

Python: Links, News And Resources (13)

Filed under: Links, Programming Languages, Python — ajlopez @ 6:38 pm

Previous Post
Next Post

Singly, OAuth
Get started quickly with examples and libraries in Ruby (Rails, OmniAuth), Javascript (Node, Express), Python (Django), and more.

The Power of Pythonista 1.2
Pythonista is a well designed implementation of Python on iOS

7 Python Libraries you should know about

Python operator precedence

Strata NYC 2012 and PyData
A talk at Strata NYC on network visualization

Simple read only attributes with meta-class programming (Python recipe)

Camelot provides components for building business applications on top of Python, SQLAlchemy and Qt.  It is inspired by the Django admin interface.  You can use Camelot to develop both simple and complex business applications at warp speed.

Python @staticmethod vs @classmethod

What is the difference between @staticmethod and @classmethod in Python?

AMPPS is a stack of the Apache Web Server, MySQL, PHP, Perl, Python and SOFTACULOUS.

Associação Python Brasil: Time to call it a day

What does python print() function actually do?

The new print function in Python 3

PyCon 2012 Argentina, Projects

Tailing in Python

Why can’t Python handle true/false values as I expect?

#pythonIO webcast sobre Django

bconstantin / django_polymorphic

#pythonIO – segundo round de Web2Py

Frameworks de desarrollo de videojuegos en Python en el #PyConVe

Tv Stalker
diegosarmentero / tvstalker
Tv Shows social guide

My Links

Keep tuned!

Angel “Java” Lopez

« Newer PostsOlder Posts »

The Shocking Blue Green Theme. Create a free website or blog at


Get every new post delivered to your Inbox.

Join 65 other followers