Treat HTTP status codes as strings

13.05.2017

Web

I usually see HTTP status codes being checked as integer numbers: if ((status >= 200) && (status < 300)) // or `<= 299` This is rather verbose. But if you think about it, it's the first digit in the number that has a special value, and there are only five ...

Versioning REST: another angle

I've got an interesting comment on "Versioning REST APIs" that boils down to these points: Sometimes you can't really afford breaking clients (ever, or long enough to make no matter). A global version allows to freeze an old code base and have new implementation to be completely independent. This is ...

Versioning: follow-up

After reading a few comments on reddit and by email about my post on versioning of REST APIs I see that I wasn't clear on terminology and have left out some context. That's okay! Overthinking details is the main killer of all my interesting thoughts :-) I'd rather post more ...

Versioning of REST APIs

Don't version APIs, version resources. I.e., this is wrong: https://example.com/api/v1/resource Global version number has a few problems: A backwards incompatible change to any one resource invalidates all clients, even those who don't use this particular resource. This is unnecessary maintenance burden on client developers. It constrains development on the server ...

Problem with JSON encoding

JSON spec says that a UTF shall be used to encode it as a byte stream (with a strong preference to UTF-8). However it also allows characters to be encoded in the form of \uXXXX. This poses a problem on the parser implementation side: You have to decode a byte ...

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

OAuth is not a protocol

30.07.2012

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

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

WebM год спустя

09.02.2012

Web

Помните, около года назад я тщетно пытался понять, почему люди стали возмущаться в адрес Гугла, после того, как тот объявил о прекращении поддержки кодека H.264 в Хроме? Вот недавно я наткнулся на пост веб-стандартиста Хенри Сивонена со сравнительным исследованием доли кодеков сейчас на вебе, где он посчитал, что WebM-браузеров в ...

Continuation-based фреймворки

Макс Лапшин написал о том, куда нужно двигаться Рельсам на примере Nitrogen, и резюмировал: Важно понять, что код тут выходит за рамки классического «запрос-ответ» и позволяет в процессе обработки долгоживущего процесса что-то рисовать в браузере. […] даже на таком маленьком примере кода ясно, что классический подход а-ля php: reply on ...

Разница между OpenID и OAuth

14.07.2011

Web, OAuth, OpenID

Как ни странно, путаница в понятиях "OpenID" и "OAuth" встречается довольно часто. Люди используют их как взаимозаменяемые термины или считают OAuth своего рода новой улучшенной версией OpenID. Но на самом деле это совершенно разные вещи. Чтобы было куда ссылаться в таких случаях, пишу пост. Этот пост не о том, что ...

О распространённости H.264

12.01.2011

Web

Небольшое разъяснение к предыдущему посту. Я и не надеялся, что понятно изложу свою точку зрения сразу :-). Некоторые комментаторы с изрядной долей язвительности рассказыли мне, что я, видимо, не в курсе, что H.264 сейчас является стандартом де-факто. Причём не только в вебе, но и на телевидении. Поверьте, я знаю. И ...

Об изъятии H.264 из Google Chrome

11.01.2011

Web

Разработчики Google Chrome объявили, что через какое-то время их браузер престанет поддерживать кодек H.264. То, что многие на новость отреагировали — не удивительно. Удивительно, что мои фолловеры в Твиттере разделились на две чёткие группы: англоязычные технари поздравляют друг-друга и Гугл, русскоязычные технари в отчаянии и Гугл клянут. Я всей душой ...

Рестайлинг

04.09.2010

Разное, Web

Сделал на сайте небольшой рестайлинг, который коснулся в основном блога и форума. Вспомнил заржавевшие CSS'ные скиллы :-). Как водится, я готов послушать критику, но, как опять-таки водится, вряд ли она на что-то повлияет :-). Не потому что я такой упрямый (хотя поэтому тоже), а в основном потому что обычна она ...

Дизайн API Я.ру

Вчера мы открыли в бету API для Я.ру. Это был первый пост в корпоративном блоге Яндекса с кодом на Питоне, что даже породило фан-арт :-). Для меня этот запуск имеет большое эмоциональное значение, потому что машиночитаемый веб — мой давний интерес, и этот проект — первый неигрушечный публичный API, где ...

SubHub

07.02.2010

Web, Django

За выходные дописать до рабочего состояния не вышло, устал очень... Идея состоит в том, чтобы сделать персональный PSHB-хаб, который можно использовать в Джанго-проекте в связке с блогом, форумом и вообще чем угодно, что генерит новые записи. Хочется попробовать повозиться с PSHB в реальности и заодно поймать кайф от мгновенного появления ...

CAP-теорема Брюера

По большей части эта статья — изложение сути статьи "Brewer's CAP Theorem" Джулиана Брауна. В оригинале много полезных ссылок и интересных примеров, поэтому если позволяет время и знание языка, почитайте его. А здесь у меня просто самая суть, покороче и по-русски. В 2000 году Эрик Брюер выдвинул гипотезу, касающуюся ключевых ...

Параллелизм 2

Да, заголовок поста на этот раз скучный :-). Это продолжение темы, начатой в "Надо всё переписать", составленное в большей части по комментариям. Пользуясь случаем хочу сказать большое спасибо комментаторам! Написали много полезного и интересного, статья была бы неполной без этого. Терминология Как многие отметили, термины, которые я использовал, не отличаются ...

Надо всё переписать

На днях Саймон Виллисон написал очень хороший пост про node.js. Саймону очень удаётся писать такие intro-посты про технологии, которые очень ясно передают самую суть вещей. Когда-то он так сподвиг меня взяться за изучение Джанго. Пост про node.js тоже хорошо даёт понять, почему это круто, и какое место в современной экосистеме ...

PubSubHubbub

12.11.2009

Яндекс, Web

У нас в Яндексе вчера был Бретт Слаткин и мы тёплой компанией инженеров общались про его с Брэдом Фицпатриком детище — PubSubHubbub. Кто не знает, что такое PubSubHubbub — сходите на страницу проекта, там очень понятная презенташка, лучше и короче не расскажешь. Вещь очень перспективная, как по мне. А после ...