On automation tools

18.11.2014

Software design

Ever since I made an automatic publishing infrastructure for highlight.js releases… there wasn't a single time when it really worked automatically as planned! There was always something: directory structure changes that require updates to the automation tool itself, botched release tagging, out of date dependencies on the server, our CDN ...

"Shallow" reviews

12.11.2014

Here's the question: Why write articles like "I spent two days with that tech and here's what I think" and why they seem to be so popular? The "Rust and Go" is a recent example of such an article. It's not really shallow I, for one, think it's an excellent ...

On being 36

20.10.2014

Misc

This quote has made my day. Frédéric de Villamil in his Docker review: If I was still 25, the whole production would most certainly be full dockerized. At 36, I’m more reluctant to change everything for the latest hype. Not that I’ve became old and boring. But I’ve enough experience ...

ijson 2.0

11.10.2014

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 ...

Refactoring discovery protocol

It's been a while since my last update on the python3-openid refactoring. Though I still work on it pretty actively, I totally failed at documenting the process as I planned in the beginning. So I came up with a new plan. New plan First of all, I admit to gravely ...

Anti popup policy

07.09.2014

Web

I just adopted a new policy. Whenever I come upon an article that I want to read and possibly share, if the site obstructs my reading with a popup telling me to take part in their survey (or some such, I don't really pay attention to them) I respectfully close ...

HTTPS on highlightjs.org

08.08.2014

Misc

I finally followed the crowd and got an SSL certificate for highlightjs.org. The canonical read on the issue seems to be "Private By Default" by Tim Bray. However, Tim's piece is somewhat theoretical, so I took some additional real-world perspective on Hacker News. The process wasn't terribly difficult, though whenever ...

Carpet testing

Carpet bombing is a "large aerial bombing done in a progressive manner to inflict damage in every part of a selected area of land." Similarly, carpet testing is done by progressively tossing random data samples at your code without regard for its internal structure, hoping that sufficient amount of data ...

highlight.js: what's next

26.07.2014

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 ...

Dissecting fetchers

This is the first installment of my diaries on refactoring python3-openid. The post is turning out pretty big so may be I should try doing them more often. Warm-up I started with fixing failing tests, because you can't do refactoring without tests. The root cause of errors was somewhere inside ...

OpenID library for Python 3

Apparently, there is no obvious choice for an OpenID library in Python 3. In Python 2 there's python-openid which — despite being an ugly over-engineered mess of a code — works and conforms to the spec. Unfortunately, the same can't be said about its independent port to Python3 python3-openid, which ...

Memory is slow

Did you know that memory is slow compared to CPU? I kinda knew too but recently I've got a revelation from two unrelated sources about how it affects design of programming languages. I also learned about a new thing called "value/reference type dichotomy". I've stumbled upon this term while reading ...

PyCon Russia 2014

18.05.2014

Python

To my surprise this blog is still read by people whose profession involves Python. To all of them I'd like to remind that the second Russian PyCon starts in just two weeks and you might want to consider going. There'll be smart and important people abound and, if my experience ...

Ninth

04.05.2014

Misc

This blog turns nine today, and for the occasion I've got myself a new hairy yak to shave: Want to be famous again! Blog more Make time (done) The blog looks unkempt Comment system is outmoded Replace OpenID with something modern Remove Markdown legend WYSIWYG? The look is outdated Rework ...

Glyph Lefkowitz on threads

10.03.2014

Python, Software design

I value very much the ability to put complex concepts into words in a systematic manner. And I thrive to do the same (at least, I did try when I was blogging actively). So now I'm a big fan of Glyph who laid out everything that is problematic about threads: ...