Теперь уже можно сказать, что самое главное желание, которое я себе загадал в прошлом году, сбылось — у нас появилась дочка! И это, конечно, самое главное событие, как бы банально это ни звучало. Потому поздравления в этом году имеют домашний оттенок: Дочери Быть лучше нас, достичь больше нас, наслаждаться жизнью, ...

ijson 1.0



I've finally scraped some time to finish and release a new version of ijson — 1.0. New stuff: support for YAJL 2 pure Python parser compatibility with Python 2 and Python 3 Parsing improvements On this I have already posted in details not that long ago. To summarize, ijson now ...

New life of Marcus

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

ijson on PyPy, Episode 3: New parsing



It's a funny thing when after neglecting your project for a year you get a question on whether it's orphaned and then suddenly you find yourself hacking on it for few days straight… Knowing that your work is needed and appreciated is the greatest motivator! Anyway… The news I wanted ...

Dark corners of JavaScript prototypes



So I have this syntax highlighter written in JavaScript that uses a stack of parsing modes for its job. This is just a plain Array named modes, and the most common operation in my code is accessing the top element: modes[modes.length - 1] … which is kinda ugly, right? So ...

Scientists, engineers and teachers



While working with people who write code I keep noticing three vaguely defined but nonetheless distinct "roles", or "styles of thinking", or "behavioral patterns", or "skill sets" — I don't really know how to call this classification per se, but I came up with a descriptive name for each class. ...

Where's that future everyone is talking about?



I'm guilty of it myself… But sometimes I feel this supposed "future" is a little bit farther than I'd like it to be. I can't tell any device to remind me to turn on my noisy dishwasher when I finished watching TV. Nothing is going to boil my kettle 5 ...

OAuth is not a protocol


Web, OAuth

Though this post is obviously triggered by the recent damnation of OAuth 2.0 by the (former) spec editor Eran Hammer, it's not directly related to it. These are my thoughts about the technical role of OAuth that I wanted to blog about a year ago but couldn't force myself to ...

Найм: вы всё делаете не так

Найм инженеров-программистов, если точнее… За свою карьеру программиста я помню ровно один раз, когда я успешно прошёл техническое собеседование, это было в 2002 году, через два года после моего выпуска. После этого все попытки делать это "правильно" неизменно проваливались, и меня в итоге брали на работу люди, которые меня уже ...

When to use decorators in Python



The @decorator syntax in Python is easy to abuse. After all, it's simply a syntactic sugar for: obj = decorator(obj) The obj must be a function or a class but Python doesn't care about the output value that is then assigned to the same name. It may be, quite literally, ...

Microsoft Surface



Среди первых — в основном, одобрительных — реакций на представление Microsoft Surface меня заинтересовало то, что некоторые выражались в том духе, что, мол, никаким iPad-киллером он не выглядит, и вообще не очень понятно, кому такая штука может быть нужна. У меня же такого вопроса не возникло совсем, и целевая аудитория ...

Борьба с прокрастинацией



С момента, как я перестал регулярно ходить на работу, прошло довольно много времени. И хотя пауза мне была очень даже нужна, она дала и отрицательный эффект — я отвык работать головой. Многим, наверное, знакомо это состояние, когда все благие намерения и чудесные идеи наталкиваются на невидимую стену бессилия заставить себя ...

virtualenv: solved



My problem with virtualenv is solved. Great thanks to Malcolm Tredinnick for taking the time to understand it and pushing me into the right direction. As I said in the previous post, I didn't really need the isolation feature of virtualenv with my single-user, single-codebase site. What I really needed ...

SM.Org software update 2012


Python, Ubuntu, Django

Over the course of a few recent weeks I updated this site to a more modern software and revised some previously made choices. This one was loooong overdue considering that I still ran Ubuntu 9.10 before the update meaning that the system was almost 3 years old. Here are some ...

HTTP and JSON in highlight.js

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

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

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

Hacked retweet spam



This morning I woke up to find that someone or something has retweeted spam messages on behalf of my Twitter account. Some of my followers alerted me about it (thank you!) and here are my thoughts on suggestions as to what might be the reason: This is not a personal ...

Lumix GH2



As a birthday present this year I upgraded my old and proven G1 to the new and powerful GH2. I've got the G1 3 years ago (also as a birthday present from my wife) and it was the first µ4/3 camera on the market. Though it was a promising system ...