Pull to refresh
67
0.1
Ivan Grishaev @igrishaev

Clojure/Lisp

Send message

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

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

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

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

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

Как поднять сервер для python скриптов за 1 минуту

Reading time1 min
Views71K
Ола, амигос!
Недавно в топике Мешок банальных советов комментатор alexanderyastrebov предложил простой способ запустить простой http-сервер с помощью 1й строчки в консоли.
Я решил попробовать найти, можно ли на нем запускать еще и питоновские скрипты, и вы, читая этот топик, наверное, уже догадались, что можно.
Сам сервер запускается одной коммандой:
python -m CGIHTTPServer
Как вы можете видеть, по умолчанию он использует 8000й порт и предоставляет доступ к текущей директории терминала. Но скрипты должны запускаться из папки «cgi-bin» текущей директории. Например так:
localhost:8000/cgi-bin/helloworld.py
Спасибо за внимание!
UPD все же напишу, как мне казалось, очевидную вещь: для веб разработки конечно нужен серьезный веб-сервер.

Как перестать жить в грязи

Reading time3 min
Views2.9K
Грязь, лужи, собачьи испражнения повсюду, мусор кругом — типичная картина московского двора. По колено в г-не идёшь до дома по тёмным переулкам, в которые заходить-то страшно.

Надежды на правительство и чиновников никакой нет и быть не может — им-то как раз обустраивать ничего уже не нужно, они о себе позаботились. А в одиночку можно улучшить только какие-то совсем мелкие детали.

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

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

Ядерный реактор – дома с нуля

Reading time4 min
Views446K
Некоторое время назад я публиковал статью о самодельных микропроцессорах, сегодня же мы затронем более сложную и щекотливую тему (особенно в свете событий на Фокусиме) – создание ядерного реактора, способного генерировать энергию в домашних условиях. И перед тем как вы начнете волноваться, вспоминая о негативных опытах в прошлом (см. Радиоактивный бойскаут – наковырявший прилично амерция-241 из детекторов дыма) заранее скажу, что все что описано в этой статье – относительно безопасно (по крайней мере не опаснее работы с фтороводородной кислотой дома), но крайне не рекомендуется к повторению. Перед любыми действиями проконсультируйтесь со своим адвокатом — законы разные в разных странах. Много кто уже сидит.
Читать дальше →

Аккуратная настройка клавиатуры

Reading time4 min
Views31K
Вокруг нас появляется все больше людей, которые знают, чем дефис отличается от минуса, минус от тире, а знак дюйма от кавычек. Что там говорить, мне вчера секретарша прислала письмо, оформленное типографически точно. Для того, чтобы немного приблизиться к совершенству, не обязательно отягощать себя открытым окном «дополнительные символы» и унылым копипастом оттуда.
Большинство проблем в современных оконных менеджерах решается штатными средствами. Но что делать тем, кто хочет иметь возможность в одно нажатие набирать какие-нибудь экзотические символы, наподобие знака бесконечности (∞), интеграла (∫) или карточных мастей ()?
Под катом я расскажу и как настроить клавиатуру для правильной типографики («—») штатными средствами, и как расширить возможности до быстрого набора любых символов.
Поехали!

Как построить Open Source сообщество

Reading time7 min
Views4.4K
Сообщество жизненно важно любому проекту Open Source. Активное и живое сообщество явлется сердцем проекта. Однако, писать код под свободной лицензией не достаточно для привлечения пользователей и разработчиков к построению сообщества. В этой статье рассматривается то, что позволяет выстроить успешное сообщество OpenSource.
Читать дальше →

10 фактов про леммингов, о которых вы даже не подозревали

Reading time3 min
Views18K
Жизнь — дерьмовая штука. По крайней мере, так считают многие «взрослые» люди, с которыми мне довелось общаться. Они постоянно жалуются на свою работу, неудовлетворительные отношения и раздолбаев-детей, которые никак не хотят становиться такими, какими хотят их видеть родители. Жизнь для этих людей — это бесконечная карусель разочарований, неприятностей и несбывшихся надежд. Они встают рано утром с больной головой, заливают в рот пару литров кофе и едут на работу в состоянии, которому позавидовали бы самые отъявленные зомби. Они ненавидят свою работу и считают, что их занятия бессмысленны и никому не нужны. Но, не смотря на это, они с упорством леммингов продолжают делать эту работу, день за днём, год за годом. Они продираются сквозь собственную жизнь, надеясь, что всласть поживут потом, когда отработают 10-20-30 лет. Так вот, это всё херня. Когда вам будет пятьдесят, вы настолько устанете от такой жизни, что единственным вашим желанием будет лечь и сдохнуть. Да и здоровье будет уже не то, потому что вы слили его, занимаясь всякой ерундой, до которой вам даже не было дела. Так что, когда вы выйдете на пенсию, вы не поедете в Африку охотиться на львов, потому что солнце плохо сказывается на вашем давлении. Вы также не поедете на Северный полюс, потому что у вас артрит и холод — не лучшее для него лекарство. Южный полюс отпадает ещё и потому, что вы недолюбливаете пингвинов, что неудивительно, учитывая ваш 30-летний стаж работы сисадмином. Так что же вам остаётся? Поездки на дачу и вечера в уютной компании телевизора, вот что. Прожив 30 лет в постоянной борьбе с самим собой, у вас просто не останется сил на то, чтобы оторвать задницу от дивана.
Читать дальше →

Работа с FLA

Reading time3 min
Views6.3K
Плохо, хорошо

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

Частично содержание данной статьи пересекается со статьей Валерии Маллаевой О fla-исходниках.
Читать дальше →

Станция УВБ-76 подала четвёртый сигнал за 30 лет

Reading time1 min
Views171K
Коротковолновая радиостанция УВБ-76 расположена в деревне Поварово в 40 км к северо-западу от Москвы (фото со спутника). Среди радиолюбителей всего мира известна как «жужжалка» (The Buzzer). Начиная с 1982 года она круглосуточно передаёт в эфир непрерывный шум на частоте 4625 кГц (линк на онлайн-трансляцию). Жужжащий звук длится 0,8 секунды, прерывается на 1-1,3 секунды и повторяется 21-34 раза в минуту. Назначение станции неизвестно.

За все 28 лет вещания было зарегистрировано всего три случая, когда в эфир вышло голосовое сообщение. Каждый раз это было некое зашифрованное послание на русском языке. И вот 23 августа 2010 года это случилось снова.

Как сообщают западные радиолюбители, примерно в 17:32 GMT станция УВБ-76 передала следующее сообщение: «УВБ-76, УВБ-76 — 93 882 НАИМИНА 74 14 35 74 — 9 3 8 8 2 Николай, Анна, Иван, Михаил, Иван, Николай, Анна, 7, 4, 1, 4, 3, 5, 7, 4» (mp3).
Читать дальше →

Стремимся к минимализму (подборка сайтов, где можно черпать вдохновение)

Reading time1 min
Views33K
image
Ни для кого не секрет, что в настоящее время многие стремятся к минимализму в дизайне чего бы то ни было. Действительно, когда нет ничего лишнего, то повышается и восприимчивость информации. Но это все лирика. Сказано было это еще до меня и много. Предлагаю вашему вниманию подборку сайтов, посещение которых может направить ваши мысли по поводу разрабатываемого дизайна в нужное русло.
Читать дальше →

Архитектура и платформа проекта Одноклассники

Reading time10 min
Views120K

Архитектура и платформа проекта Одноклассники


В этом посте расскажем о накопленном за 5 лет опыте по поддержанию высоконагруженного проекта. Надеемся, что коллегам-разработчикам будет интересно узнать, что и как мы делаем, какие проблемы и трудности у нас возникают и как мы справляемся с ними.

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

Habr it right!

Reading time1 min
Views883
Добрый вечер, трепетно следящие за правильностью постов хабралюди.

Кто чем занимается воскресным днём, а я решил написать небольшое расширение для Google Chrome, которое, возможно, немного облегчит вам жизнь.

В комментариях к постам мы часто видим, как одни люди сообщают автору об опечатках в тексте, а другие говорят им что-то вроде «пишите подобное в личку». Но ведь действительно, чтобы написать об опечатке лично автору, нужно сделать достаточно много действий (открыть его страницу, нажать кнопку почты, написать текст...), и это, зачастую, просто лень делать, проще написать комментарий. Расширение призвано помочь нам именно в этой ситуации.

Работает оно достаточно привычным, благодаря системе orphus, способом: выделяем слово, в котором есть опечатка, нажимаем заветные Ctrl+Enter, открывается окно отправки сообщения автору, где большая часть текста уже написана автоматически, нам остаётся только подсказать автору правильный вариант. В настройках расширения вы можете задать шаблон для темы и текста сообщения.

Собственно, ссылка на расширение в галерее — тыц.
Исходный код в bitbucket — здесь.

P.S. Буду рад, если кто-нибудь согласится собрать расширение для Firefox и Opera.
P.P.S. Можете проверить работу расширения прямо на этом посте ;)

UPD: как это часто бывает, идея приходит сразу нескольким людям. Уже сделано расширение с похожим функционалом — ХабраГрамотность. Возможно оно вам покажется лучше.
UPD2: обнаруженные ошибки постараюсь за сегодня исправить. Спасибо за отчёты.

Создание расширения для Google Chrome

Reading time8 min
Views119K
Тема создания расширений достаточно хорошо раскрыта в сети, есть множество статей, документации на эту тему. Но я не нашел ни одного ресурса, который бы описал процесс создания расширения от начала до конца. Я собираюсь исправить эту ситуацию, и рассказать о том как создать расширение, как хранить, читать настройки, как добавить поддержку нескольких языков.

Для работы с расширениями вам понадобится переключить канал обновлений на Dev или Beta.
Читать дальше →

Скорость и стоимость работы с данными Google App Engine в таблицах

Reading time5 min
Views2.6K
Столкнувшись с вопросом выбора базы данных для проекта, провел небольшое исследование Google App Engine на предмет скорости работы с данными. Результаты исследования оформил в виде таблиц.

Эти подсчеты сэкономят время тем, кто ищет площадку для размещения своего проекта, но не уверен подходит ли ему Google App Engine. Кроме того эти таблицы можно использовать как некую «шпаргалку», чтобы примерно ориентироваться сколько времени займет обработка запроса и как его лучше оптимизировать.

image

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

CSS спрайты из командной строки

Reading time3 min
Views4.3K
Да, инструменты для создания CSS спрайтов существуют. Я даже сделал один такой сервис. Но они время от времени ломаются (как сейчас, мой). Но и командная многого стоит, и imagemagick. Давайте посмотрим, как мы можем создавать CSS спрайты только из командной строки.

Создание картинки


Начнем с того, что у нас есть список отдельных файлов:
$ ls

1.png  2.gif  dot.png  phoney.gif  tw.gif

  • — 1.png
  • — 2.gif
  • — dot.png
  • — phoney.gif
  • — tw.gif

Сделаем из них спрайт:
$ convert *png *gif -append result/result-sprite.png

Да, это все. Смотрим результат.

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

HTML5 как победа научного материализма

Reading time15 min
Views6.3K
Стандарт HTML5 уже почти готов к использованию. Где-то все еще идут жаркие споры по конкретным секциям DOM, видеокодекам, анимации и прочим 3D, но основа HTML5 — его синтаксис, атрибуты и теги — уже устаканились. Эти разделы стандарта не меняются уже многие месяцы; окончательно и по факту их зафиксируют релизы IE9 и FF4, после чего какие-либо их изменения в рамках пятой версии станут невозможны.
Так как костыли для старых версий IE уже созданы и обкатаны, то уже совсем-совсем скоро, начиная новый проект, можно будет открыть свой любимый редактор и, не скрывая наслаждения, написать

<!doctype html>

Сначала, конечно, html5 появится скорее в бложиках энтузиастов, чем на серьезных сайтах, но — вот увидите — через несколько лет в каждой региональной газете появятся объявления типа «ремонт и настройка ПК, заправка принтеров, 1С, сайты на HTML5».

В IT, как и в других областях техники, спецификации бывают хорошие, как у Страуструпа, а бывают плохие и даже отвратительные, как спецификация ECMAScript. По моему скромному мнению, спецификация HTML5 обещает стать воистину великой, просто-таки образцовой вершиной этого бюрократического жанра.
Пролистывая на выходных свежую версию черновика стандарта (от 5-ого марта), я в очередной раз не мог не восхититься изящностью принятых решений и филигранной точностью формулировок родившейся в тяжелых муках спецификации.

Эта статья о том, почему стандарт html5 получился именно такой, и что на самом деле скрывается за его внешне обтекаемыми формулировками.
Читать дальше →

Нечёткий поиск в тексте и словаре

Reading time13 min
Views270K

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →

(Как написать (Lisp) интерпретатор (на Python))

Reading time16 min
Views14K


Перевод статьи "(How to Write a (Lisp) Interpreter (in Python))" Питера Норвига. В данной статье Питер довольно кратко, но емко описывает принцип работы интерпретаторов и показывает как можно написать совсем крошечный (всего 90 строк на Python) интерпретатор подмножества языка Scheme. Перевод публикуется с разрешения автора.

Питер Норвиг (англ. Peter Norvig) — американский ученый в области вычислительной техники. В данный момент работает директором по исследованиям (ранее — директор по качеству поиска) в корпорации Google. Ранее являлся главой Подразделения вычислительной техники в исследовательском центре Амес NASA, где он руководил штатом из двухсот ученых, занимающихся разработками NASA в областях анатомии и робототехники, автоматизированной разработке ПО и анализа данных, нейроинженерии, разработки коллективных систем, и принятия решений, основанном на симуляции.

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

Information

Rating
5,000-th
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity