Renderization of Conic gradients

Conic gradients on the Web have been around for some time. In this blog post, I discuss its implementation in WebKitGTK and WPE.

The eXpress Data Path

In this article I review the eXpress Data Path, the new kernel component for fast packet processing

A brief introduction to XDP and eBPF

Continuing with the XDP series, in this post I briefly introduce this new technology. Then I focus on BPF and eBPF, which are fundamental to understand XDP

YANG alarms

In this post I discuss the design an implementation of a new YANG module for alarm management

Fast checksum computation

Checksums are a simple mechanism to detect errors in data transmissions. In this article I write about how to compute the Internet checksum and how to do it fast.

The B4 network function

In a lw4o6 architecture, every CPE runs a B4 network function. This function is responsible for encapsulating the customer's IPv4 traffic over the carrier's IPv6 network. In this post, I describe how to implement a B4 using Linux standard commands

More practical Snabb

Continuing with the series of introductory posts to Snabb, in this new article I talk about IoT devices, Multicast DNS and Snabb, of course

Practical Snabb

How to start with Snabb for some real network function programming

Snabb explained in less than 10 minutes

In this article I introduce Snabb: a toolkit for building high-performance network functions in user-space. At Igalia, we have been using Snabb, and contributing to, extensively over the last years.

Dive into Lightweight 4over6

Lightweight 4over6 is a new IETF proposed standard that seeks to facilitate the deployment IPv6 networks, while still providing IPv4 connectivity. It also greatly helps to mitigate IPv4 public address exhaustion. Everything runs on IPv6.

IPv6 deployment status and transition technologies

Since 2010, IPv6 connectivity worldwide has kept growing at good pace, sometimes even doubling yearly. However, there are countries where IPv6 hasn't been rolled out yet. What's pending to be done? What are the challenges ahead before a full transition is completed?

A brief history of IPv4 address space exhaustion

One day we will run out of IPv4 addresses. Probably it's not the first time you heard that. In this post I review the history of IPv4 address depletion, which to some extent is the same as reviewing the history of the Internet

Fosdem 2017

After missing last year's edition, I attended Fosdem again. It was a lot of fun, it didn't disappoint me. Not even a bit. In this post, I review most of the talks from the SDN/NFV track

Network namespaces: IPv6 connectivity

Taking advantage of the work done in the last two posts, I explain in this new article how to share IPv6 connectivity between a host and a network namespace

Network namespaces

Linux namespaces are a relatively new kernel feature which is essential for implementation of containers. A namespace wraps a global system resource into an abstraction which will be bound only to processes within the namespace, providing resource isolation. In this article I discuss network namespace and show a practical example.

Architecture of the Web Inspector

The Web Inspector is WebKit's friendly tool for seeing what's inside of a web page. A fundamental tool for any web developer. The Web Inspector itself is nothing but a web application too. In this post, I review its history, architecture and main features.

Reusing LuaJIT's disassembler

LuaJIT 2.1 includes new features such as a statistical profiler and a code dumper. The latter has the ability of printing out the machine code of each compiled trace. This is possible thanks to a collection of disassemblers that are part of LuaJIT's source code.

Multicore architectures and CPU affinity

What I learned after catching up with the latest 10 years of microprocessor innovation

LXJS in review

Summary of Lisbon JS 2013

Kandy: a Google Reader app for your Kindle

During the last weeks I have been developing a Google Reader app for Kindle's browser

Connecting HBase to Hadoop

Continuing with the series of Hadoop related post, this time how to connect HBase with Hadoop

Introduction to HBase and NoSQL systems

Starting with Hadoop

Metamail: MapReduce Jobs Benchmarking

Metamail: Email Analysis with Hadoop

Libreplan: Improving performance

Back from Fosdem

Beatiful PHP Code

Configuring different JDKs with alternatives

Hadoop Conference Japan 2011 – Fall

From Japan

Typo3: Entities localization

Configure Hibernate Tools

ZK: Render a computed field in a row without using a Renderer

I18n ZK framework ZUL pages using GNU Gettext

Using Gettext Commons from Java files

Setting up Gettext Commons for i18n Java files

I18n with GNU Gettext utilities

Hibernate mapping of a Java5 Enum

Back from Software Craftsmanship 2009

Software Craftsmanship, a conference all about building it right

Software Craftsmanship: The New Imperative

Setting up a Nokia 6120 as a modem in GNU/Linux (or how to waste your precious time but having lots of fun)

Authenticating against Google services

Google gadgets and OpenSocial

More on package variables

Variables in Perl (a brief look)