Juan Ibiapina bio photo

Juan Ibiapina

Software developer with a passion for programming languages, games and music.

Twitter Facebook Github Feed

All Posts


Installing shell scripts from Github with Basher

How to install bash packages by running a one liner.

Writing a Language

Tutorial of how to get started writing a language using Racket

Postgres command line

A small collection of scripts I wrote because I dislike postgres CLI.

A Package Manager For Shell Scripts

Introducing basher.

Project Euler - Problem 1

Solving the first problem in Project Euler using Marco

Marco Revamp

Eliminating Semantic Ambiguities in Marco.

Tail Call Optimization in Marco

Tail calls in Marco and code readability.

Constant Time List Length

Optimizing the list length function in Marco.


Optimizing Function Closures

Optimizing closure environments to contain only what is really needed.

Trampolining in Marco

Trying out some advanced programming concepts in Marco.

The Collatz Conjecture

Using Marco to solve programming challenges.

Aqui é Assim

Bem assim.

Practical Development of Programming Languages

A summary of the tools I use to develop Marco

Evaluation Rules of Marco

Complete description of evaluation rules in Marco

Functions in Marco

Basic semantics of functions in Marco

Binding Semantics in Marco

Motivation and description of Marco's binding semantics.


Shadowing in Ruby and obscure language features

Misleading Bad Code

The subconscious burden of bad code.

Single Responsibility Principle

A quick reminder of what is the SRP and writing good code

Migrating to GitLab Cloud

Why we moved from GitHub to GitLab Cloud

Testing SML

Tips on how to test SML code for beginners

Speed up SSH

Simple trick to improve ssh connection time

Automating Vagrant 1.2.3 with Rake

How to automate small repetitive vagrant tasks.


The Supercomputer

What would we do with the supercomputer of the future?

On Writing

My doubts about writing.

Learning the Piano and Doing the Impossible

My personal experience on learning the piano without being a prodigious kid.

Console Habits

How to check your console habits and discover how to be more efficient on the command line.

This is an experiment

An abstract description of my new blog and its goals.