I learned C# in 4 days!


My software

You know those crazy books, "Learn whatever programming in 21 days"? I mean, who can afford spending that much time, right? Some background I have a friend who employs a very particular workflow for dealing with his digital photos. It often involves renaming and merging files from different cameras into ...

ijson 2.0


Python, My software

Yesterday I released version 2.0 of the streaming JSON parser ijson. It mostly includes bug fixes accumulated over the last year and the only reason to change the major part of the version number was that import ijson doesn't do any discovery magic anymore. Import Previously, when you did import ...

highlight.js: what's next


My software

This is a loosely ordered dump of ideas about the future of highlight.js presented for purposes of information and discussion. The project is already big enough that the best I can do for it is not writing code but trying to get people interested in joining in. Let's see if ...

New life of Marcus


My software

A while ago I reported on switching this blog to a custom software named Marcus. Despite its source code being available in the open I didn't intend developing it into a full-blown project for two reasons: a) maintaining it would have taken much more time than I could afford and ...

HTTP and JSON in highlight.js


My software

Fresh from the oven, highlight.js now has a pretty cool feature that, to the best of my knowledge, is not supported by any other syntax highlighter. Namely, we can now recognize and highlight HTTP request headers and its body if it happens to be code in a language we know. ...

Sponsoring in highlight.js


My software

I want to draw your attention to an interesting offer made by Adam Kennedy from Kaggle to sponsor the development of syntax highlighting for the R language: highlight.js came to our attention with the addition of MATLAB support, as it is one of the two dominant languages used by our ...

Rainbow.js — a new kid on the highlighters' block


My software, Web

There was a small spike in my referrers stats that led me to a new JavaScript highlighting library — rainbow.js. And since I love bashing other highlighters I couldn't resist this time too :-). Oh, but be sure that all of this is intended of course as a constructive criticism ...

Completely unfair comparison of Javascript syntax highlighters


My software

During the time before latest release of highlight.js 6.0 I decided — for the first time in more than 4 years — to actually look at other highlighting libraries. Sure I knew of their existence before but nonetheless never felt compelled to do any serious comparison because highlight.js is a ...

highlight.js 6.0 beta


My software

Trying to fight procrastination I've got myself busy with a long delayed task — refactoring language definition in highlight.js to a new syntax. This turned out so well that I've also managed to resolve other tasks that were planned for version 6.0. So without further ado I'm hereby introducing a ...

highlight.js opens up


My software

Though the code of highlight.js was always open the library was never a real project. There wasn't a place for development discussions, no documentation wiki and no bug tracker. Instead I was just accepting new languages and patches and answered occasional question by mail. Nonetheless the highlighter has somehow managed ...

Hosted version of highlight.js


My software

From now on highlight.js is hosted at Yandex and can be linked directly at yandex.st instead of downloading. This package however doesn't contain all the languages since it would become embarrassingly big otherwise. So I looked at the top downloaded languages and selected those of them so the final package ...

highlight.js 5.9


My software

It's better late than never. Last night I finally released the next version of highlight.js contaning many nice additions, some of which were ready and waiting for as long as half a year. New languages Andrew Fedorov made a definition for Lua a long-time highlight.js contributor Peter Leonov made a ...