Monthly Archives: April 2012

Parallel Programming: Links, News and Resources (1)

Next Post

Parallel programming, leveraging multicore processor, or even distributed machines, is an actual topic. Some of the links I read/collected about this topic.

Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4

ztellman’s calx at master – GitHub
Calx is an idiomatic wrapper for OpenCL, which is an abstraction layer for parallel computation.

Workshop on Parallelism, and a “breakthrough” in combinatorial geometry

Back to (Parallel) Basics: Don’t Block Your Threads, Make Async I/O Work For You

The Renaissance Virtual Machine

smarr’s RoarVM at master – GitHub
RoarVM, formerly known as the Renaissance Virtual Machine (RVM) is developed as part of a IBM Research project to investigate programming paradigms and languages for manycore systems of the future.

YouTube – Clojure Demo

Thinking about massively parallel Smalltalk

InfoQ: Functional Approaches To Parallelism and Concurrency

Threading in C# – Free E-book
C# supports parallel execution of code through multithreading. A thread is an independent execution path, able to run simultaneously with other threads.

Helios: Heterogeneous Multiprocessing with Satellite Kernels

Threading in C# – Part 5 – Parallel Programming
In this section, we cover the multithreading APIs new to Framework 4.0 for leveraging multicore processors:These APIs are collectively known (loosely) as PFX (Parallel Framework).

CRDTs: Consistency without concurrency control

The Weekly Source Code 56 – Visual Studio 2010 and .NET Framework 4 Training Kit – Code Contracts, Parallel Framework and COM Interop

J-Machine Project Page
The J-Machine is a fine grained concurrent computer designed by the MIT Concurrent VLSI Architecture group (now located at Stanford University) in conjunction with Intel Corporation.

Parallel Programming with Hints
Wouldn’t it be nice to be able to write sequential programs and let the compiler or the runtime automatically find opportunities for parallel execution?

Beyond Locks and Messages: The Future of Concurrent Programming

Parallelism in .NET – Part 18, Task Continuations with Multiple Tasks

InfoQ: Multicore Programming in Haskell

Microsoft Biology Foundation 1.0 Released

Designing Parallel Algorithms: Part 1

Dr.Dobb’s Go Parallel

DataAllure: Hadoop for DNA sequence analysis

A Pattern Language for Parallel Programming
Ralph Johnson presents a pattern language that he and his colleagues are working on in an attempt to solve the hard issues of parallel programming through a set of design patterns: Structural Patterns, Computational Patterns, Parallel Algorithm Strategy Patterns, Implementation Strategy Patterns, and Concurrent Execution Patterns.

Back to (Parallel) Basics: Do you really want to do that? or Why doesn’t the new Parallel.For support BigInteger?

InfoQ: Billy Newport Discusses Parallel Programming in Java

Multi-core Parallelization in Clojure – a Case Study

Patterns of Parallel Programming: A Tutorial on Fundamental Patterns and Practices for Parallelism

The Design of a Task Parallel Library

My Links

Keep tuned!

Angel “Java” Lopez

Python: Links, News And Resources (3)

Previous Post

More links about this programming language:

PEP 8 — Style Guide for Python Code

How to Think Like a Computer Scientist

Desarrollo de aplicaciones para escritorio multiplataforma

Python for Windows extensions

PET: Python Entre Todos

Finanzas Cuantitativas con Python

First Class Enums in Python « Python recipes « ActiveState Code

Creating constant in Python – Stack Overflow

Constants in Python « Python recipes « ActiveState Code

Ordenando MVC con las ideas de Merleau-Ponty

from gc import commonsense
Optimizacion de memoria

Lib Free or Die Hard

Python y Arduino

Desarrollo de aplicaciones móviles para Android con Python

Software Carpentry » Aliasing

Python 3 primer, Part 2: Advanced topics

31.2. ast — Abstract Syntax Trees — Python v2.7.2 documentation

31.1. parser — Access Python parse trees — Python v2.7.2 documentation

parsing – Python: How best to parse a simple grammar? – Stack Overflow

Wiki – pygame – python game development

Calico – IPRE Wiki
The Calico Project (formerly known as Pyjama) is a framework for learning, doing, and playing with computation.

PyGTK lets you to easily create programs with a graphical user interface using the Python programming language. The underlying GTK+ library provides all kind of visual elements and utilities for it and, if needed, you can develop full featured applications for the GNOME Desktop.

ulipad – python editor based on wxPython – Google Project Hosting

Wingware The Intelligent Development Environment for Python Programmers

Sites Using Haystack — Haystack 2.0.0-beta documentation

Extendiendo NINJA-IDE Symbols y Code Locator

NINJA IDE | Ninja-ide Is Not Just Another IDE

Haystack – Buscando la aguja en el pajar

rad2py – Rapid Aplication Development platform for python – Google Project Hosti…

Pilas Engine, game development

My Links

Keep tuned!

Angel “Java” Lopez

Ruby: Links, News And Resources (5)

Previous Post
Next Post

More links about this programming language:

Some Thoughts on (Ruby) Classes After 18 Months of Clojure on Vimeo

InfoQ: RESTfulie – A Gem To Create Hypermedia Aware Services And Clients
Guilherme Silveira writes to InfoQ on the release of a ruby gem that makes developing hypermedia aware services and clients that consume them a breeze. He saidMuch has been spoken about what is and what are the advantages of using rest/restful ideas in one’s application. Last year, Mark Baker wrote …

Learn Ruby with the EdgeCase Ruby Koans
These instructions are for *nix platforms. We also have Windows instructions .You can run the tests by calling the path_to_enlightenment.rb file.In your terminal, while in the ruby_koans directory, type:In test-driven development (TDD) the mantra has always been red: write a failing test and run …

Emanuel Goette, alias Crespo: El maldito libro de los descarrilados
tutorial de Ruby on Rails en castellano.

Using Redis with Ruby on Rails
Redis is an extremely fast, atomic key-value store. It allows the storage of strings, sets, sorted sets, lists and hashes. Redis keeps all the data in RAM, much like Memcached but unlike Memcached, Redis periodically writes to disk, giving it persistence.Redis is an open source, advanced key-value …

To Redis or Not To Redis? (Key-Value Stores Part 4) | Engine Yard Blog
Welcome to another post in our key value series! This week, Redis! Redis is a persistent in-memory key-value store written in C by Salvatore Sanfilippo. It’s currently in version 1.0. So let’s get down to it, “To Redis or Not to Redis?” that’s the question…So, let’s say you have a situation …

Delivering email with Amazon SES in a Rails 3 app — giant robots smashing into o…
We’ve been using and loving Sendgrid on all our apps. However, Amazon SES came out last week and… you know… shiny.Right now, price. At our current email rates, we would save more than $10,000 in 2011 using Amazon SES over Sendgrid for Hoptoad.However, Sendgrid’s a reliable entity with more features …

colszowka/simplecov – GitHub
SimpleCov is a code coverage analysis tool for Ruby 1.9. It uses 1.9’s built-in Coverage library to gather code coverage data, but makes processing its results much easier by providing a clean API to filter, group, merge, format and display those results, thus giving you a complete code coverage

Getting Input: Ruby Study Notes – Best Ruby Guide, Ruby Tutorial
So far we had seen a method like puts that writes to the screen. How does one accept user input? For this gets (get a string) and chomp are useful. The example p005methods.rb below illustrates the same.# p005methods.rb # gets and chomp puts “In which city do you stay?” STDOUT.flush city =

cspmoreno’s Channel – YouTube
Canal dedicado a la programación orientada a objetos con el lenguaje Ruby on Rails con el IDE Netbeans. Explicación de como programar hasta llegar a construir nuestra propia red social

The JRuby Blog : Getting Started with JRuby and Java 7
Unless you’ve been living under a rock, you’ve probably heard about the new hotness for JRuby: Java 7’s support for dynamic languages. You may also have heard about the huge perf gains that JRuby’s seeing when running on Java 7. How can you try it yourself?The reference implementation for Java is …

Go Fetch | Virtuous Code
I’m a fan of the method in Ruby. I’ve noticed that other Rubyists don’t use it as much as I do, so I thought I’d write a little bit about why I like it so much.First of all, in case you’ve forgotten, is a method implemented on both and , as well as some other Hash-like classes (like the built-in …

Null Objects and Falsiness | Virtuous Code
Very often in Ruby code, we would like to execute some action only if an object is present:Strictly speaking, we aren’t checking for object presence here. In Ruby there is almost always an object present, but the default marker for missing data is the special object—the one and only instance of …

Concurrency in JRuby | Engine Yard Blog
This is a recap of my talk on the same subject at EventMachine RubyConf in Baltimore on the final day of RailsConf 2011.Concurrency is a hotly debated subject in the Ruby community. Shared state or shared nothing? Threads or Events? Sync or Async? The fact that the standard Ruby interpreter does …

InfoQ: Adding Properties to Ruby Metaprogramatically
Properties… the next frontier. Well, at least if you can’t stop yourself from watching the Java blog space, which is abuzz with discussions about this topic. Are Properties the next feature to save the world, give us that so desperately needed silver bullet, and finally make Java developers feel …

Programming Ruby: The Pragmatic Programmer’s Guide

Ruby Programming – Calling Methods Dynamically
C and Java programmers often find themselves writing some kind of dispatch table: functions which are invoked based on a command. Think of a typical C idiom where you have to translate a string to a function pointer: In Ruby, you can do all this in one line. Stick all your command functions into a …

Ruby dynamic method calling | Khaled alHabache’s official blog
I’m pretty sure that you have heard lots about ruby, specially as being a dynamic language, you can create methods on the fly, add instance variables, define constants and invoke existing methods dynamically , and that’s what this post is all about :As you know in ruby you can call a public …

Ruby Modules and Mixins
Modules are a way of grouping together methods, classes, and constants. Modules give you two major benefits.Modules define a namespace, a sandbox in which your methods and constants can play without having to worry about being stepped on by other methods and constants.Module constants are named …

Implementing Namespaces in Ruby using Nested Modules
Recently, I finally got around to starting to learn Ruby. I am finding it to be rather pleasant to program in. Now, one thing that I am used to using with an Object Oriented language (especially with my .NET background) are Namespaces. The only problem is that you can’t just declare a namespace in …

Include vs Extend in Ruby // RailsTips by John Nunemaker
Now that we know the difference between an instance method and a class method, let’s cover the difference between include and extend in regards to modules. Include is for adding methods to an instance of a class and extend is for adding class methods. Let’s take a look at a small example.As you can …

Ruby Mixin Tutorial
In Java you just have classes (both abstract and concrete) and interfaces. The Ruby language provides classes, modules, and a mix of both. In this post I want to dive into mixins in Ruby.In the Ruby language a mixin is a class that is mixed with a module. In other words the implementation of the …

My Links

More links about Ruby, mruby, ruby VMs are coming.

Keep tuned!

Angel “Java” Lopez

Git: Links, News And Resources (3)

Previous Post
Next Post

More links about this Distributed Version Control System

Moving Projects from Google Code to GitHub

GitFAQ – Mono

Creating a svn.authorsfile when migrating from subversion to git

Git with Dropbox – Stack Overflow

dalehenrich / filetree
Monticello repository for directory-based Monticello packages enabling the use of git, svn, etc. for managing Smalltalk source code.

Practical Git for Smalltalk

Git Book – Ignoring files

Git vs Mercurial: Why Git?

Git: the NoSQL database –
We all know that Git is pretty amazing. It’s fast, reliable, flexible, and it keeps our project history safely nuzzled in it’s cozy object database while we sleep soundly at night. But I’m curious to see if it can be used for more than code.

libgit2 / libgit2sharp
.NET bindings for libgit2

Version Control Reinvigorated: From SVN to Git and GitHub |

git – the simple guide – no deep shit!

Using NuGet without committing packages

InfoQ: Code2Cloud: Automating The Whole Software Dev/Deploy Cycle
Ryan Slobojan presents Code2Cloud used to automatically set up a number of tools useful for development and deployment: Hudson, Git, task repository, wiki, Cloud Foundry Deployment Services and Maven.

Astonishments, ten, in the history of version control

Setting up .gitignore for java web appplications on windows
Just like CVS has .cvsignore and SVN has .svnignore files, git has a way to ignore certain resources by using a .gitignore file. This post will show you how to use git’s ignore features to avoid committing certain files.

Deploying Node.js Applications to Windows Azure via Blobs or Git Sync
A few weeks ago at the Future of Web Apps London (great conference, by the way!), I gave a presentation about how to get the most out of a cloud platform. At the end of the talk, I showed a brief demo of (source on GitHub), a Node.js app deployed in Windows Azure.

10 tutoriales sobre Git para principiantes

Top 10 Git Tutorials for Beginners

How to Get the Most out of Git
Git has become the programming world’s most popular version control system–at least that’s what surveys conducted by Microsoft Corp. suggest. While there are abundant write-ups already available for new users and administrators, from tutorials to descriptions of clever merge workflows, I still often encounter a few missteps in basic version control naming and layout.

Moving Files from one Git Repository to Another, Preserving History
If you use multiple git repositories, it’s only a matter of time until you’ll want to refactor some files from one project to another.
Move directory 1 from Git repository A to Git repository B.
Git repository A contains other directories that we don’t want to move.
We’d like to perserve the Git commit history for the directory we are moving.

From: Linus Torvalds <torvalds <at>>
Subject: The coolest merge EVER!
Newsgroups: gmane.comp.version-control.git

Primeros pasos en Git: Creación y gestión de repositorios

Open Source (Almost) Everything
If you do it right, open sourcing code is great advertising for you and your company. At GitHub we like to talk publicly about libraries and systems we’ve written that are still closed but destined to become open source.

Ramificaciones e integración de cambios en Git

What’s the best CRLF handling strategy with git?

Deploying A Web Application with Git and FTP (2009)

Git Tutorial

GitHub:Help Remotes

My Links

Keep tuned!

Angel “Java” Lopez

Python: Links, News And Resources (2)

Previous Post
Next Post

I’m preparing a talk about Python (and Clojure and Ruby) for Alt.NET Hispano. These are my second set of links about this programming language.

How to install both Python 2.x and Python 3.x in Windows 7

Python vs PHP vs Ruby [Infografía]

Be Pythonic

Fusion Programming: From Python to Clojure and Back

Python Patterns – Implementing Graphs

Flask web development

Code Generator for Glade
Gladex is a Python application which takes a .glade file written in the Glade User Interface Builder and generates code in Perl, Python, or Ruby. The generated code uses libglade to draw a GUI and is not raw pygtk code. Support for additional languages can be added through the plugin API.

eigenhombre / PyClojure
Clojure implemented on top of Python

Intro to OWIN and Knack

It is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code.

sean- / flask-skeleton
A skeleton for Flask applications

Infografía: Comparativa entre PHP, Ruby y Python

drelu / webhdfs-py
Python Client for WebHDFS REST API


Batch value insert in Redis list

The Switch: Python to Node.js

Historia del Software: el lenguaje Python

Python for Lisp Programmers

Best Programming Language

StarTechConf Chile

arkadini / twimp
RTMP protocol implementation for the Twisted framework.

hydralabs / rtmpy
RTMP for Python

Excepciones, Helpers y Refactoring


Tutorial Part 2: Adding a JIT

Writing An Hadoop MapReduce Program In Python

Bienvenido a PyAr – Python Argentina

PyCon 2011: How Dropbox Did It and How Python Helped

My Links

More links about Python and programming languages are comint.

Keep tuned!

Angel “Java” Lopez

Python: Links, News and Resources (1)

Next Post

My first links about this programming language:

Python is a general-purpose, high-level programming language[11] whose design philosophy emphasizes code readability.[12] Python claims to combine “remarkable power with very clear syntax”,[13] and its standard library is large and comprehensive.

Python supports multiple programming paradigms, primarily but not limited to object-oriented,imperative and, to a lesser extent, functional programming styles. It features a fully dynamic typesystem and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl. Like other dynamic languages, Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts. Using third-party tools, Python code can be packaged into standalone executable programs. Python interpreters are available for many operating systems.

The reference implementation of Python (CPython) is free and open source software and has a community-based development model, as do all or nearly all of its alternative implementations. CPython is managed by the non-profit Python Software Foundation.

The History of Python
A series of articles on the history of the Python programming language and its community.

Python Tools for Visual Studio

Contrasting Performance : Languages, styles and VMs – Java, Scala, Python, Erlang, Clojure, Ruby, Groovy

WSGI and the Pluggable Pipe Dream

WSGI Is Dead: Long Live WSGI Lite! (

Pump: A dead simple Pythonic abstraction of HTTP

The OpenSkills Sett: Who looks at Smalltalk?

Technical Discovery: Speeding up Python Again

Node.js, Ruby, and Python in Windows Azure

InfoQ: Ville Tuulos on Big Data and Map/Reduce in Erlang and Python with Disco

Simple UI (based on Ace) to edit code files in Windows Azure blob storage

Python client wrapper for Windows Azure storage

OAuth Python

See? We Don’t Need a Database … Yet |

But We Need a Database … Don’t We? |

Python IDE & Django IDE for Web developers : JetBrains PyCharm

A skip list container class in Python – IRR’s thoughts

Advice From An Old Programmer — Learn Python The Hard Way, 2nd Edition

Code & Beyond: PyPy 1.4: ¡más rápido, más furioso!

Using Python and PHP together

How I learned to stop worrying & love Python Packaging

Python ACT-R is an re-implementation of ACT-R, which is written in LISP
ACT-R is a cognitive architecture: a theory for simulating and understanding human cognition.

Python from Scratch: Getting Started | Nettuts+

Python for Lisp Programmers

Learn Python The Hard Way: Learn Python The Hard Way

functional language for computing with geometry

Clojure & Python, Side by Side | Justin Kramer

High Scalability – 6 Lessons from Dropbox – One Million Files Saved Every 15 minutes
99.9 % of their code is in Python. Used on the server backend; desktop client, website controller logic, API backend, and analytics.

PyCon 2011: How Dropbox Did It and How Python Helped

String Calculator – Python » Software Craftsmanship – Katas

Healthy Skepticism for the Impossible: Performance of CPython, Pypy, Java, and Go

Cloud business analytics: Write your own dashboard

Neopythonic: A new App Engine datastore API

Time To Diversify
The macro reasons for moving on to other platforms is in a constant quest to become a well-rounded ‘full stack’ developer. To be able to see the good and bad in different languages and platforms and use that experience to improve

Learning Python

Developer Year in Review: Programming Languages – O’Reilly Radar

Writing clean, testable, high quality code in Python

Scrapy | An open source web scraping framework for Python

Code & Beyond: Video: Windmill trae una alternativa al testing web

Google: Exploring Computational Thinking

Informática: la batalla de los lenguajes

Jim Hugunin – Farewell to Microsoft

Large Scale Natural Language Processing

(How to Write a ((Better) Lisp) Interpreter (in Python))

Data Control Made Easy With FluidDB | O’Reilly GMT

Bioinformatics Programming Using Python – O’Reilly Media

My links

Keep tuned!

Angel “Java” Lopez

Game Theory: Links, News and Resources (1)

Game theory is a method of studying strategic decision making. More formally, it is "the study of mathematical models of conflict and cooperation between intelligent rational decision-makers."[1] An alternative term suggested "as a more descriptive name for the discipline" is interactive decision theory.[2] Game theory is mainly used in economics, political science, and psychology, as well as logic and biology. The subject first addressed zero-sum games, such that one person’s gains exactly equal net losses of the other participant(s). Today, however, game theory applies to a wide range of class relations, and has developed into an umbrella term for the logical side of science, to include both human and non-humans, like computers. Classic uses include a sense of balance in numerous games, where each person has found or developed a tactic that cannot successfully better his results, given the other approach.

Pequeño LdN: Diez habitaciones para 20 aventureros

EC = MC^3 « Turing’s Invisible Hand

AGT/E publication venues « Turing’s Invisible Hand

AGT and AI « Algorithmic Game-Theory/Economics

Artificial Intelligence Magazine Vol 31, No 4

Algorithmic Game Theory and Artificial Intelligence

Is Game Theory (Artificially) Intelligent? « Algorithmic Game-Theory/Economics

Cloud business analytics: Write your own dashboard
Find patterns in multitudes of cloud business analytics data
See Game theory, AI theory, and raw statistical analysis.

Game Theory and Public Policy

Why Isn’t Backgammon More Popular?

Reputation for Human Computation « Algorithmic Game-Theory/Economics

Regret in Markets « Algorithmic Game-Theory/Economics

Testing Mixed-Strategy Equilibria When Players Are
Heterogeneous: The Case of Penalty Kicks in Soccer

Freakonomics: World Cup Edition

Lehmann vuelve a mirar el papel. Esta vez…. no decía nada. No tenía antecedentes de Cambiasso pateando penales. Al menos, él (Lehmann) no los tenía. Pero Cambiasso había pateado penales en su vida alguna vez.
Y aquí aparece la Teoría de Juegos. ¿Cómo podía saber Cambiasso lo que decía el papel de Lehmann? 1 En todo caso, ¿cómo podía saber que Lehmann no sabía nada sobre él? Lehmann lo miraba como si supiera.

EC10 and current trends in algorithmic game theory

Game Theory, Prisoner’s Dilemma, Nash Equilibrium, Stag Hunts, and Sherlock Holmes…and Counter-Terrorism? 1/2

Thomas Schelling
He was awarded the 2005 Nobel Memorial Prize in Economic Sciences (shared with Robert Aumann) for "having enhanced our understanding of conflict and cooperation through game-theory analysis."
See Models of Segregation, too. I disagree with him: the model is too simplified, but interesting.

Trillion $ problems

Computability in game theory « The Leisure of the Theory Class

How to lose as little as possible

Darwin Plays Game Theory—and Wins | Animal Intelligence | DISCOVER Magazine

Prisoner’s Dilemma and Mechanical Turk

Inductive Reasoning and Bounded Rationality

Utility of Money and the St. Petersburg Paradox


Networks, Crowds, and Markets: A Book by David Easley and Jon Kleinberg

Por qué Pascal iba a misa todos los domingos ? « Martin Mendez blog

Digg as a Game | shmula

A K Peters, Ltd. – The Dots and Boxes Game Juegos: LAP
2 saves


My Links