Pull to refresh
381
0

Разрабатываю API более 10 лет

Send message

«Лапша» из callback-ов — будьте проще

Reading time3 min
Views13K
По следам недавних топиков, а также постоянных рассказов в стиле «мой стартап не взлетел, потому что его зохавала лапша из callback-ов».

Как раз недавно я закончил небольшой проект (ссылку не даю, чтобы не заподозрили — кому надо см. профиль), полностью и на всех этапах написанном только на JS, и притом полностью асинхронный. Разумеется, я столкнулся с пресловутой проблемой «лапши». И, вы не поверите, совершенно спокойно решил её без всяких там фреймворков и хитрых приемов.

Итак, допустим, у нас есть задача: асинхронно выбрать из базы количество книг, потом асинхронно же выбрать из базы нужную пачку книг, потом асинхронно же выбрать из базы метаданные по книгам, а потом свести всё это в один dataset и отрендерить шаблон. Как это обычно выглядит?

Читать дальше →

Рейтинг фантастических романов, или Я сделаю свой «IMDB для книг», с преферансом и библиотекаршами

Reading time8 min
Views7.8K
Долго выбирал между «Алгоритмами», «Читальным залом» и «Я пиарюсь», в итоге остановился на Data Mining.

Эта история началась в конце октября, когда я очередной раз пытался выбрать, что бы мне почитать. Лично я с собой в отпуск/в дорогу беру что-нибудь из фантастики (как, думаю, и большинство присутствующих), причем категорически не люблю всякий модный новодел.

И вот, терзаясь муками выбора, я забил в поиск «IMDB for books» и… не нашел ничего пристойного. Весь интернет забит рекомендательными сервисами для книг, и все они выдают полную чушь. Вот, например, топ имхонета для раздела «Самая лучшая фантастика и фэнтези»:

1. Мастер и Маргарита. Михаил Булгаков, 1940 год
2. Цветы для Элджернона (рассказ). Дэниел Киз, 1959 год
3. Цветы для Элджернона. Дэниел Киз, 1966 год
4. Битва Королей. Джордж Мартин, 1998 год
5. Рыцарь Ордена: Клинки у трона. Сергей Садов, 2000 год
6. Голубятня в Орехове. Владислав Крапивин, 1983 год


Эээ… Это совсем не то, что я ожидал увидеть на первых местах в рейтинге фантастики. «Мы пойдём другим путём», — подумал я. Отказавшись от идеи найти нормальный читательский рейтинг, я просто пошёл в Вики, нашёл список лауреатов премий Хьюго и Небьюла и выбрал пару-тройку книг — как, собственно, я всегда раньше и делал.

«А не замутить ли мне свой рейтинг книг, взяв за основу престижные премии?» — внезапно подумал я. И замутил. Знакомьтесь: top-books.info

Путь к успеху

Немного предсказуемо

Reading time1 min
Views789
Всякая фигня:
— cтатья про порнографию: +424;
— небольшой наброс про копирайт: +306.
— статья про то, что всякую фигню плюсуют, а годные технические статьи нет +56

По тематике Хабра:
— разбор интерфейсов JS API карт Leaflet на 12 экранов: +19 (на момент написания этого текста). (Кстати, этот текст набрал +19 ровно за 22 минуты.)

Leaflet — API карт от Cloudmade. Рецензия

Reading time13 min
Views37K
To Mourner — бойся своих желаний, они могут исполниться. Шутка.

Начнём с начала



На главной Leaflet API нас встречает quickstart-пример. С него и начнём.

// create a CloudMade tile layer
var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/YOUR-API-KEY/997/256/{z}/{x}/{y}.png',
    cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
    cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution});

// initialize the map on the "map" div
var map = new L.Map('map');

// set the map view to a given center and zoom and add the CloudMade layer
map.setView(new L.LatLng(51.505, -0.09), 13).addLayer(cloudmade);

// create a marker in the given location and add it to the map
var marker = new L.Marker(new L.LatLng(51.5, -0.09));
map.addLayer(marker);

// attach a given HTML content to the marker and immediately open it
marker.bindPopup("A pretty CSS3 popup.<br />Easily customizable.").openPopup();


Пример начинается с создания слоя с тайлами от cloudmade. Само API вроде как тоже «by cloudmade». Внимание, вопрос: а что, для родительского/дружественного проекта нельзя сделать удобный способ добавления слоя тайлов? Типа такого:

var cloudmade = new L.CloudMade.TileLayer(YOUR-API-KEY);
?
Или даже такого:
map.addLayer('cloudmade', { apiKey: YOUR-API-KEY });


Не знаю, какие отношения связывают Leaflet и Cloudmade, но уж сделать удобно клиенту Cloudmade — точно не последняя задача Leaflet API. Заставлять пользователя самостоятельно добавлять копирайт Cloudmade — это какое-то насилие над здравым смыслом.

Чайнинг



Читать дальше →

API карт от 2ГИС: рецензия

Reading time10 min
Views12K
Недавно 2ГИС порадовал всех нас выспуском версии 1.0 собственного картографического JS API. API карт отечественного производства — штука редкая; Mail.ru и Rambler, например, так и не сподобились, хоть и обещали (пруф раз, пруф два). Посмотрим, что получилось у новосибирцев.

Знакомимся



Не будем откладывать в долгий ящик, открываем раздел "Быстрый старт" и копируем предложенный код. It works! Правда, заголовок показывает кракозябрами — оно, правда, и не удивительно, поскольку тэга с указанием charset-а нет. Ну да ладно, мелочи жизни. Смотрим на код.

Читать дальше →

Почему SOPA бесполезна

Reading time2 min
Views921
Допустим, что жадность взяла верх над здравым смыслом, и в интернете стало невозможно (очень трудно) скачать контент на халяву.

Сколько заработают на этом копирасты? Нисколько. Модель потребления контента за деньги радикально отличается от потребления контента на халяву.

Если контент бесплатен, его потребляют столько, сколько хотят. Захотел посмотреть фильм — посмотрел. Захотел послушать музыку — послушал.

Если контент платен, то его потребляют _в рамках бюджета, отведенного на развлечения_. Сколько я готов в месяц потратить — столько и потрачу. От того, что бесплатный контент кончится, мой бюджет не вырастет. Зарплату мне не повысят. Скорее всего, я буду смотреть в сторону альтернативного, более дешёвого контента.

Читать дальше →

Немного про «подводную группировку спутников»

Reading time1 min
Views1.6K
Блога «космос» не нашел — громадное упущение, по-моему. Так что сюда.

Прочитав сегодня очередную смешную шутку про подводную группировку спутников ГЛОНАСС, решил дать на Хабре одну интересную ссылку. Есть такие ребята — spacelaunchreport.com — следят за всеми космическими запусками в мире. В их чрезвычайно интересном аналитическом отчете можно найти, например, вот такую табличку — число космических запусков по космодромам за 2010 год (в скобках число неудачных запусков):

Baikonur, Kazakhstan            24(1)
Cape Canaveral, Florida          9(0) 
XiChang, China                   8(0)   
Kourou, French Guyana            6(0)
Plesetsk, Russia                 6(0)
Jiuquan, China                   4(0)
Kennedy Space Center, Florida    3(0)  
Vandenberg AFB, California       3(0)
Taiyaun, China                   3(0)   
Sriharikota, India               3(2) 
Tanegashima, Japan               2(0)      
Dombarovsky, Russia              1(0)         
Palmachim, Israel                1(0)      
Naro Space Center, South Korea   1(1)   


Да-да, ребята, с одного Байконура запущено больше, чем с мысла Канаверал, Сичана и Куру вместе взятых. При том, что с того же Куру летают российские «Союзы».

Это, правда, не мешает интернет-икспердам глубокомысленно заявлять: «Этот позор (массовый вывод спутников на заданную орбиту под воду) надо клеймить, пока своими успехами проект не реабилитируется в глазах общественности.» (с) soomrack

Очень хочется поинтересоваться у «клеймящих позором», восхваляют ли они с таким же пафосом удачные запуски, и почему я ни на один из 30 удачных запусков никакого оживления в интернетах не наблюдал.

Решение проблем копирайта: детальный проект

Reading time6 min
Views1.5K
Текущая схема работы копирайта представляет собой классический lose-lose: большинство компаний-правообладателей агонизирует, показывая стабильное снижение выручки; большинство потребителей недовольно ценами и уровнем качества и стабильно отказывается играть по предложенным индустрией правилам. При этом обе стороны упёрлись лбами и не готовы идти на компромиссы. Ниже изложен подробный вариант перехода к win-win стратегии.

Проблемы:

1) общественное неприятие текущего законодательства об авторских правах и его фактическая нелегитимность;
2) вытекающий из п.1 зашкаливающе высокий уровень т.н. «пиратства»;
3) стагнация отрасли, стабильное падение доходов правообладателей;
4) неприятие правообладателями современных технологий распространения контента и, более того, активное сопротивление развитию таких технологий;
5) обилие онлайн и офлайн пиратских сервисов, обогащающихся за счет нелегального доступа к контенту (как путём его продажи по более низкой цене, так и посредством рекламы на портале либо распространения вредоносного кода в нагрузку к контенту);
6) фактическое отсутствие возможностей для начинающих авторов добиться известности без заключения кабального договора с издателем.

Отсюда вытекают цели:

1) добиться изменения общественного мнения в пользу легального использования контента и неприятия «пиратства»;
2) радикально снизить уровень «пиратства»;
3) предоставить правообладателям возможности роста вместе с развитием информационных технологий;
4) дать новый импульс развитию современных технологий распространения контента;
5) лишить нелегальные сервисы аудитории;
6) предоставить начинающим авторам работающие механизмы продвижения своего творчества без помощи издателя и без передачи исключительных прав.

Плюс две дополнительные цели:
7) очень желательно сделать переходный процесс плавным;
8) очень желательно остаться в рамках действующего законодательства.

И у меня есть план

Очередной пламенный привет господам копирастам

Reading time1 min
Views5.1K
Год назад я нашёл на Ютубе потрясающее видео: «Крейцерова» соната Бетховена в исполнении Зино Франческатти и Робера Казадесуса. Кто понимает — тому объяснять не надо. Вещь настолько же шедевральна, насколько раритетна. Я был в восторге.

Сегодня решил посмотреть ещё разок, для поднятия настроения. Вбиваю в поиск — не находится. Иду на форум, где нашел это ссылку — «видео удалено из-за неоднократного нарушения авторских прав».

А да, точно. Запись-то сделана в 1970 году, аж 9 лет копирайта осталось. Извольте-ка купить у EMI на DVD по 20 баксов диск. Ничего, что ни Бетховен, ни Франческатти, ни Казадесус, ни даже ORTF (который делал запись) не получат из этих 20 баксов ни копья, а весь буклет к диску состоит исключительно из рекламы других дисков. Бедняжкам из EMI нужны деньги, всё остальное фиолетово.

Горите в аду.

UPD: Да, кстати. Если вы полагаете, что эта ситуация нормальна, когда закон, призванный защищать права авторов, по факту защищает права компании, не вложившей ни грана творческих усилий, и подсовывает фигу под нос автору, исполнителям и немногочисленным поклонникам — нам с вами явно не по пути, и этот топик можете не комментировать.

Почему я не верю в Dart

Reading time4 min
Views8.7K
Признаться, сообщение о разработке в Google языка Dart я встретил с недоумением. Если coffeescript и прочие надстройки я считал просто чьим-то развлечением на досуге, то к Dart-у при всём желании не получается относиться как просто ещё к одной гиковской игрушке.

Сегодняшний пост про грядущее господство Дарта подтолкнул меня к тому, чтобы ясно сформулировать, наконец, почему я считаю Дарт всё равно просто гиковской игрушкой и в чем неправа корпорация Google. Начну, пожалуй, с цитаты:

«Нужна полная замена JS — язык широкого профиля: от простых скриптов, для сложных приложений»

Что в ней не так? Да то, что JavaScript и есть язык широкого профиля, от сложных скриптов до сложных приложений. JavaScript — высокоуровневый и чрезвычайно мощный объектно-ориентированный язык, и именно поэтому все попытки его «улучшить» проваливаются с треском (ну, пока, по крайней мере).

Читать дальше →

Театр абсурда, или Ещё раз о фикции «общественное достояние»

Reading time2 min
Views6.9K
Эпиграф:
Приходит мужик к барину и говорит:
— Барин, у меня что-то с деньгами совсем туго. Одолжи мне рубль, а я тебе весной два верну, и вот топор в залог оставлю.
Почесал барин голову и говорит:
— Ну ладно, так и быть, вот тебе рубль. Только тебе ж по весне тяжело будет два рубля отдавать, давай один прямо сейчас отдашь, а весной ещё один?
Подумал мужик и говорит:
— И правда, тяжело два рубля будет отдавать, — и отдал рубль обратно.
Идёт домой и думает: рубля нет, топора нет, рубль должен остался — и ведь всё правильно!


К чему этот эпиграф. Недавно я писал топик про то, как звукозаписывающие компании воруют фонограммы из общественного достояния. По следам топика о повышении срока охраны смежных прав в Евросоюзе я решил выяснить, сколько длится исполнительское право в США. И выяснил.

До 1972 года в США не было федерального закона, касающегося копирайта на фонограммы, но было множество местных законов. Принятый в 1971 году The Sound Recording Amendment перевёл все фонограммы под крыло копирайта и зафиксировал, что все фонограммы, выпущенные до 1972 года, защищаются копирайтом до 2047 года, а последующий Sonny Bono Copyright Term Extension Act (aka закон Микки Мауса) продлил этот срок до 2067 года (см. en.wikipedia.org/wiki/US_copyright_law#Duration_of_copyright)

А из этого вытекает следующее: на данный момент в Штатах НЕТ НИ ОДНОЙ ФОНОГРАММЫ В ОБЩЕСТВЕННОМ ДОСТОЯНИИ И НЕ ПОЯВИТСЯ В БЛИЖАЙШИЕ 56 ЛЕТ. Вообще ни одной.

Читать дальше →

Свобода — это рабство

Reading time1 min
Views1.1K
Давеча Google анонсировал свой Facebook с блэкджеком и шлюхами с упором на приватность данных пользователей — Google+. В официальном пресс-релизе сказано:
Миллиарды людей доверяют Google. И мы чувствуем свою ответственность. Именно поэтому мы уже десять лет защищаем интересы пользователей: боремся за освобождение данных, работаем над проектом открытой Сети и пропагандируем уважение к свободе людей быть теми, кем они хотят быть. Однако Проект Google+ выделяется на фоне остальных именно тем, что особое внимание в нем уделяется пользователю, то есть вам. Поэтому вы сами можете выбирать, как сохранять приватность, каким образом становиться более открытыми для других, как общаться с друзьями, как работать с данными, как делиться своими мыслями с окружащим миром – во всех сервисах Google.

(выделение моё — forgotten)

Это всё, без сомнения, прекрасно. Если бы не одно «но».
Читать дальше →

О влиянии конспирологии на ИТ-сообщество

Reading time1 min
Views1.1K
Феномен конспирологии и лёгкости проникновения конспирологических теорий в мозг обывателя многократно обсуждался в интернете, в т.ч. и на Хабре (например). Однако почему-то мне казалось, что ИТ-шники гораздо хуже поддаются внушению, чем остальные люди.

Оказалось — ничего подобного. Как только разговор заходит о чём-то околоайтишном, теории заговоров точно также вырубают мозг хабралюдям, как и новые хренологии — нехабаралюдям.
Читать дальше →

Защита авторских прав или узаконенное воровство?

Reading time2 min
Views12K
По следам топиков Защита авторских прав или «узаконенное вымогательство»? и Когда лицензионный контент не нужен.

Я, как известно, принципиальный противник копирайта, — за что частенько удостаиваюсь нелестных отзывов типа «не надо прикрывать своё воровство идейными убеждениями» и «да ты просто не хочешь платить за чужой труд».

Ну, давайте посмотрим внимательно.
Есть, например, такая замечательная аудиозапись: концерт для фортепиано с оркестром Роберта Шумана в исполнении Дину Липатти и оркестра Филармония под управлением Герберта фон Караяна. (Превосходная запись, кто не слышал — рекомендую.)

Поскольку Роберт Шуман умер значительно больше, чем 70 лет назад, авторские права на эту запись давно истекли. Дата записи — апрель 1948 года. Т.к. смежные (исполнительские) права длятся 50 лет с момента записи, то и они уже 13 лет как истекли. Т.е. фонограмма давно и прочно находится в общественном достоянии, и я могу использовать её в своих целях совершенно бесплатно. Теоретически.

Держи карман шире

Будет ли вам интересна статья про постиндустриальное общество?

Reading time1 min
Views512
У меня сейчас в черновиках лежит недописанная статья «Постиндустриальное общество: ценности, семья, мораль и право», по мотивам предыдущих топиков про порнографию и мозг.

Лежит давно, пишется с трудом. Поэтому хочу заранее спросить, будет ли эта статья здесь востребована.

Смысл следующий: я пытаюсь показать, что специфические социальные особенности постиндустриального общества — либерализация морали (в т.ч. сексуальной), либерализация права (легализация наркотиков, проституции, порнографии), деградация института брака, снижение рождаемости — объяснимы со вполне рациональных позиций и вполне логичны.

Если интересно, пишите в комменты. Если неинтересно, тоже пишите в комменты.

Кстати, сразу анонсирую следующую статью — про государство, общество и национализм. Можно и за неё сразу голосовать :).

Небольшое замечание о «деятельности» РАО

Reading time2 min
Views1.4K
Сегодня на Хабре появился топик РАО с помощью прокуратуры запретила Scorpions и Любэ петь свои же песни без лицензии, описывающий очередной театр абсурда, возникающий вокруг концепции «интеллектуальных прав».

Удивительно, но даже в такой очевидно идиотической ситуации тут же возникли люди, рассказывающие, что, мол, всё нормально, так и должно быть. Типа, такая вот юридическая коллизия, и даже какие-то длинные рассуждения привели.

Так вот: как ни называй черное белым, в итоге все, у кого есть глаза, — видят, что оно черное. В данном случае достаточно заглянуть в ГК РФ ст. 1242 («Организации, осуществляющие коллективное управление авторскими и смежными правами») и внимательно прочитать (выделение моё — forgotten):

1. Авторы, исполнители, изготовители фонограмм и иные обладатели авторских и смежных прав в случаях, когда осуществление их прав в индивидуальном порядке затруднено или когда настоящим Кодексом допускается использование объектов авторских и смежных прав без согласия обладателей соответствующих прав, но с выплатой им вознаграждения, могут создавать основанные на членстве некоммерческие организации, на которые в соответствии с полномочиями, предоставленными им правообладателями, возлагается управление соответствующими правами на коллективной основе (организации по управлению правами на коллективной основе).

Создание таких организаций не препятствует осуществлению представительства обладателей авторских и смежных прав другими юридическими лицами и гражданами.


Иными словами, РАО очевидно плюёт на ГК РФ, поскольку (а) авторам и их представителям дано полное право договариваться с организаторами в обход РАО, и (б) услуги РАО в данном случае просто не нужны, поскольку нет никаких затруднений в осуществлении прав лично Скорпионсами.

Любопытно, что в уставе РАО, в котором сия организация провозглашается действующей «в соответствии с нормами Гражданского кодекса РФ», нет ни единого слова про установленные законом условия. Случайно, наверное.

Немного математики, или Почему я не покупаю лицензионный контент

Reading time2 min
Views7.9K
Копирайт и т.н. «правообладатели» — предмет бесконечного холивара, в т.ч. на Хабре. Авторы и правообладатели твердят, что из-за «любителей халявы» они разоряются и помирают с голоду. В нижеприведённой статье я попытаюсь показать, что индустрия умирает исключительно вследствие неспособности авторов договориться.

Представьте, что появился сервис, который за 200 рублей в месяц предоставляет полный и неограниченный доступ ко всей закопирайченной музыке, фильмам и играм. Вы согласны оплачивать такой доступ?

«Не треснет ли у тебя рожа, милейший?!» — наверняка подумал ты, %username%, читая предыдущий абзац. Не, не треснет, отвечаю я.

Давай посчитаем вместе

Порнография с точки зрения эволюционной психологии

Reading time14 min
Views68K
Данный топик был написан по следам бурных обсуждений на Хабре ряда новостей, так или иначе связанных с порно (раз, два, три, четыре). В этих и подобных топиках подымается тема цензурирования интернета и запрета порнографии вообще либо отдельных её жанров. Хотя хабрасообщество в целом довольно либерально относится к порно, обсуждение влияния его на психику — особенно детскую — выливается обычно в нешуточные драмы (самая серьёзная, на моей памяти, была тут).

Между тем, сколько-нибудь заслуживающих доверия данных о влиянии порнографии на общественное и личное здоровье в этих обсуждениях нет; более того, мои попытки по-быстрому найти какие-то вменяемые данные в интернете не увенчались успехом. В поисках ответов на вопросы мне пришлось погрузиться довольно глубоко в научные исследования, и кое-что я в итоге нашёл. Краткий синопсис современных научных взглядов на порнографию и её влияние на человека будет дан под катом после небольшого FAQ'а.

Вопрос: картинки будут?
Ответ: будут.

Вопрос: какое отношение этот топик имеет к Хабру?
Ответ: он интересен читателям Хабра.

Вопрос: нет, всё-таки, какое отношение имеет топик к тематике Хабра?
Ответ: никакого; просто я считаю, что Хабр — это, прежде всего, определённая аудитория, а не тематика.

Вопрос: почему в блог «Интернет»?
Ответ: потому что Internet is for porn.

Если Вам не исполнилось 18 лет, под кат лучше не ходить

Кривые руки и ЕГЭ

Reading time2 min
Views5.8K
Год назад я писал об одном фееричном вопросе в ЕГЭ по обществознанию. Сегодня я решил посмотреть, что там нового приготовили школьникам разработчики ЕГЭ. Зашёл на официальный сайт (www1.ege.edu.ru) и обнаружил аж цельный ОНЛАЙН тест по обществознанию! Ну, я не мог мимо него пройти.

Вопросы, конечно, сказка (кстати, пресловутый вопрос об относительности истины мне таки попался), но больше всего меня убили не они. Как оказалось, собственно даже знание наизусть рекомендованного учебника никак не поможет сдать на 100 баллов.

Пруф под катом

Про криптостойкость паролей и отношение к ней некоторых крупных российских интернет-сервисов

Reading time1 min
Views4.9K
Так исторически сложилось, что долгое время у меня на почте стоял короткий и довольно простой пароль. И вот недавно я решил таки сменить его от греха подальше на хороший, криптостойкий. Придумал отличный пароль — 17 букв, всякие там заглавные, спецсимволы и пр.

Сменил пароль к основному ящику — отлично. Пошёл менять пароль к старому ящику — и узрел прекрасное:



Внимание, вопрос к представителям компании Mail.ru на Хабре:



У вас что, место на серверах кончилось, пароли из 17 символов не влезают?

Information

Rating
Does not participate
Location
Россия
Registered
Activity