RSS Amplifier

Blog

Codng.com

Trying to change the world one post at a time

juancn.github.ioRSS feed ↗10 posts

Latest posts

Microsoft accounts and remote desktop on Windows 11

This is a weird one, but I wanted to leave this out there in case it helps anyone else.

Sorting and paging on distributed data

NOTE: This is a revised version of an article I wrote for Medallia’s engineering blog

Parallelism & Performance: Why O-notation matters

UPDATE: There was a bug in the way the suffix map was built in the original post that lolplz found. I updated this post with that bug fixed, however, the content of the post has not changed significantly.

File locks in bash

For quite a while I’ve been looking for a portable utility that mimics Procmail’s “lockfile” command. I didn’t need all the functionality, just for it to lock a single file and support a retry limit and sleep parameters. I finally implemented one using Bash’s “noclobber” option. I don’t know if it will work correctly on NFS, but it should work fine on most filesystems. Hopefully it will be useful…

Content-aware image resizing

Today I’m going to discuss a technique called Seam Carving, originally presented in Siggraph 2007. This algorithm at it’s core it’s fairly simple but produces impressive results.

Nerding with the Y-combinator

What follows is a pointless exercise. Hereby I present you the Y-combinator in Java with generics:

Paper Programming

When I was a kid, all I wanted was a computer. Finally when I was twelve I made a bargain with my dad. I would give up the graduation trip in exchange for a Commodore 64 (graduation trips are customary in Argentina when you finish primary and secondary school).

Matching Regular Expressions using its Derivatives

Introduction

Pratt Parsers

Some time ago I came across Pratt parsers. I had never seen them before, and I found them quite elegant.

Performance Invariants - Part II

A few days ago I wrote a post about performance invariants. The basic idea behind them, is that there should be an easy way to declare performance constraints at the source code level, and that you should be able to check them every time you run your unit tests. To make a long story short, I have been a busy little bee for the last few days and managed to build a reasonable proof-of-concept.