Ars Longa, Vita Brevis

Июль 30, 2008

Пять слов длиной в 56 мегабайт

Рубрика: Windows
Метки: ,
Vladimir

Всё-таки у Miscrosoft'овцев забавное чувство юмора… Дней двадцать назад вышло одно очень забавное обновление (KB955020) для системы проверки орфографии. Всё, что оно делает, это добавляет в словари английского и немецкого языка пять слов: название социальной сети Friendster, фамилии модели Heidi Klum, баскетболиста NBA Mohammed Nazr, политиков Barack Obama и Marc Racicot.

Всё бы ничего, только размер этого обновления составляет 56.4 МБ. Да и к тому же требует проверку подлинности Windows.

KB955020

Июль 28, 2008

Если apt-get не update

Рубрика: Linux
Метки: , ,
Vladimir

Если при выполнении apt-get update или aptitude update выскакивает ошибка вида "E: Dynamic MMap ran out of room", то лечится это всё просто: открываем файл /etc/apt/apt.conf или /etc/apt/apt.conf.d/70debconf, находим строку

APT::Cache-Limit "8388608";

и увеличиваем значение в большую сторону (например, 16777216). После этого всё должно работать.

Июль 21, 2008

Мы безнадёжны…

Рубрика: Фриланс, Юмор
Метки: , , ,
Vladimir

Вы уже не сможете вернуться на "настоящую" работу. Вы уже достигли точки невозвращения, если у Вас наблюдаются следующие симптомы:

  1. Вы разучились готовиться к собеседованиям для поступления на работу, и Вас это совершенно не волнует.
  2. Вы удивляетесь, зачем это некоторые люди встают с постели раньше половины десятого утра.
  3. Большинство людей, имеющих "настоящую" работу, завидует Вам или выискивает у Вас недостатки.
  4. Ваш основной источник веселья — не сериалы о корпоративной жизни, а объявления о найме на работу.
  5. Вы всегда последним узнаете, что у работающих людей сегодня праздник, и все равно в этот день с удовольствием проводите за работой свои обычные четыре или пять часов.
  6. Вам больше не нужны никакие характеристики с прежних мест работы.
  7. У вас больше нет органайзера, потому что, сделав в нем запись, Вы все равно обычно забывали в него посмотреть.
  8. Слово "многофункциональность" для вас означает, что Вы два часа работаете на своем ноутбуке в кофейне, в то же время наблюдая за привлекательными лицами противоположного пола.
  9. Вы знаете, что значит "резюмировать", но совершенно забыли, что такое "резюме".
  10. Вы точно знаете, что Вам не придется долго и мучительно приспосабливаться к новому образу жизни после выхода на пенсию.
  11. Вы забываете переставить часы на летнее или зимнее время, и… ничего не случается.
  12. Вы понимаете, что для преуспевания не нужен ни тяжкий труд, ни куча денег, а только творчество, личная свобода и работа, которая обогащает вас материально и духовно.
  13. У Вас нет финансовых проблем, потому что Вы откладываете вдвое больше денег, чем люди, которые зарабатывают вдвое больше Вас.
  14. Вы можете прожить целый год без будильника.
  15. Вам жаль людей, которые работают на "настоящей" работе — даже тех, кто получает миллион долларов в год.
  16. У Вас замечательные друзья, и Вы проводите с ними много времени. Вы даже можете отложить работу на день-два, если к Вам приезжает друг из другого города.
  17. Ваша "ненастоящая" работа связывает Вас с чем-то таким, что больше Вас самих.
  18. Ваша "ненастоящая" работа доставляет Вам удовольствие, поэтому Вы как бы одновременно работаете и не работаете.
  19. Вы получаете гораздо больше удовольствия от работы, чем от денег, которые за нее платят.
  20. Вы знаете, что уже не годитесь для "настоящей" работы, и Вас это совершенно не волнует.
  21. Вы стараетесь не осуждать трудолюбивых, занятых тяжелой работой адвокатов, менеджеров, врачей, но все-таки в глубине души испытываете легкое чувство превосходства.
  22. Вы ни за что не променяете свой способ заработка ни на какой другой! Исключений быть не может!

Взято с небольшими стилистическими изменениями отсюда.

О себе: для меня верно всё, кроме пунктов 8 (потому что женат и счастлив), 11 (потому что комп сам обновляет время от NTP-сервера), 13 (просто потому что) и иногда 19 (потому что работа иногда надоедает).

А Вы безнадёжны?

Представленные статистические данные заимствованы с oDesk oConomy.

Страны по среднему баллу

На диаграмме левая ось — средний балл, правая ось — количество выполненных проектов (шкала логарифмическая). Рассматривались страны, фрилансеры которых выполнили не менее 50 проектов.

oConomy пока не предоставляет статистику о количестве фрилансеров, поэтому вышеприведённые оценки могут быть не совсем справедливыми: на мой взгляд, не совсем корректно сравнивать средний балл Вьетнама (52 выполненных проекта) и Индии (7484). Но тем не менее… Как показывает такая статистика, самыми лучшими разработчиками оказались беларусы, а на последнем месте — индийцы (aka индусы). В принципе, меня удивило не это. Ранее я полагал, что мы (русские, украинцы и прочие выходцы бывшего СССР), что называется, "бьем всех". Как оказалось, я ошибался: Украина на 19 месте, Россия на 27. И при этом нас опережают пакистанцы, вьетнамцы и непальцы (а в случае с Россией — еще и Филиппинцы). Удивляет меня это потому, что я неоднократно принимал участие в проектах, где команда состояла из программистов самых разных стран мира. И я неоднократно зарекался работать с пакистанцами, китайцами, индийцами, филиппинцами и французами. С первыми четырьмя из-за того, что их код приходится полностью переписывать. А французы мне субъективно не нравятся как люди. Хотя, возможно, это просто большой негативный опыт.

Затем я проанализировал статистику попопулярности фрилансеров разных стран: оценивалась она по количеству наймов. Рассматривались семь самых крупных (по количеству фрилансеров) стран: Аргентина, Индия, Пакистан, Филиппины, Россия. Украина, Соединённые Штаты Америки.

Количество наймов по стране

На первом месте оказалась Индия (я об этом уже писал), причем лидирует она весьма уверенно. На второе место выбились Соединённые Штаты, потеснив Россию. Третье место поделили Россия и Филиппины. Я уже давно обратил внимание на то, что в Филиппинах начался "бум фриланса". Затем идёт Украина, нас догоняет Пакистан; на последнем месте Аргентина.

Честно говоря, статистика пугающая. Дело в том, что индийцы, пакистанцы и особенно филиппинцы зачастую работают по бросовым ценам. В случае с филиппинцами дело доходит до 50 центов (!) в час. Это составляет $20 в неделю и, грубо говоря, $80 в месяц. Не знаю, возможно, что на Филиппинах всё чертовски дешево, но я за квартиру плачу в три раза больше.

А теперь посмотрим на распределение часовых ставок:

Распределение часовых ставок

Более 12,000 фрилансеров работают в среднем за $5/час! Почти 23,000 — за $10/час. Чуть более 14,000 — за $15/час. За $30/час работает всего порядка 3,000 фрилансеров.

Распределение опыта и среднего балла по странам:
Распределение опыта и среднего балла по странам

Средняя часовая ставка по странам:
Средняя часовая ставка по странам

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

Наткнулся сегодня на очень интересную статью:

Российский хакер, известный как Крис Касперски, обнаружил уязвимость в процессорах Intel, которая позволяет совершить удаленный взлом системы при помощи скрипта на JavaScript или TCP/IP-пакета вне зависимости от операционной системы. Об этом пишет PC World со ссылкой на краткое описание презентации, подготовленной Касперски.

Хакер намерен в октябре продемонстрировать свою методику на конференции Hack In The Box в малайзийском Куала-Лумпуре. Касперски заявил, что намерен показать работающий код и сделать его общедоступным. Он добавил, что ошибки в микропроцессорах становятся все более серьезной угрозой, так как уже пишутся использующие их зловредные программы.

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

Крис Касперски продемонстрирует свою методику взлома на компьютерах с Windows XP, Vista, Windows Server 2003, Windows Server 2008, ОС на базе ядра Linux и BSD. Возможно, также добавится Mac. На все эти системы будут установлены последние обновления.

Всё же интересно: правда ли это? Или доблестные щелкопёры всё приукрасили?

В оригинале статьи сказано:

In this presentation, I will share with the participants the finding of my CPU malware detection research which was funded by Endeavor Security. I will also present to the participants my improved POC code and will show participants how it’s possible to make an attack via JavaScript code or just TCP/IP packets storms against Intel based machine. Some of the bugs that will be shown are exploitable via common instruction sequences and by knowing the mechanics behind certain JIT Java-compilers, attackers can force the compiler to do what they want (for example: short nested loops lead to system crashes on many CPUs). I will also share with the participants my experience in data recovery and how CPU bugs have actually contributed in damaging our hard drives without our knowledge.

И я вот не могу отделаться от подозрения, что всё это розыгрыш: начать уж с того, что Java != JavaScript, и не факт, что любой движок для JavaScript будет компилировать JavaScript в родной код процессора. И я не уверен, что процессор может напрямую повредить жесткий диск (разве что он будет скармливать контроллеру соответствующие команды). Обработкой TCP/IP-пакетов процессор напрямую вообще не занимается (если только я что-то не пропустил).

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

Но всё-таки, вдруг это не самореклама и Крис прав?

Сегодня столкнулся с очень неприятной проблемой: старая инсталляция Eclipse PDT не пошла на моей Ubuntu 64-bit. Eclipse 64 у меня нормально не пошла: я, конечно, слышал, что она глючная, но не верил. Теперь верю. Промучавшись пару часов и так и не найдя решения, я полез в Google (благо Google меня еще не забанил).

Всё же, благодаря Дэну Мартину, решение было найдено.

Dan, if you read this, thank you very much — you literally saved my life!

В надежде, что не я один такой, привожу перевод оригинальной статьи с небольшими изменениями. Читать статью «Запускаем Eclipse на Ubuntu Linux на 64-битной архитектуре» полностью…

Июль 11, 2008

Переезд на новый сервер

Рубрика: Всё подряд

Vladimir

Сегодня Великий День Переезда на новый сервер… Будем надеяться, что все пройдет удачно. Это решение долго и упорно откладывалось, но вчера жареный петух всё-таки клюнул :-(

Приносим извинения за даунтайм.

В предыдущей статье я писал про основные источники неправильной разметки в WordPress, среди которых оказалась встроенная в WordPress функция wpautop().

Для решения этой проблемы родилась идея написать плагин, который бы автоматически исправлял ошибки, вносимые функцией wpautop(). А также по возможности бы отключал её. В результате родился плагин FormatControl:

  • плагин заменяет wpautop() во всех фильтрах по умолчанию на свой (исправленный) обработчик; при этом новый фильтр не будет установлен, если какой-нибудь плагин уже убрал wpautop;
  • плагин позволяет отключить функцию wpautop() в пределах статьи путём задания дополнительного поля noautop со значением 1 (в целях совместимости с плагином WP Unformatted так же поддерживается поле sponge);
  • плагин позволяет отключить функцию wptexturize() (известную по замене прямых кавычек угловыми) в пределах статьи путём задания дополнительного поля notexturize со значением 1 (в целях совместимости с плагином WP Unformatted так же поддерживается поле sandpaper);
  • при установке своих фильтров-замен плагин добавляет их с тем же приоритетом, что был у заменяемого фильтра.

Скачать FormatControl для WordPress.

В статье "Избавляемся о ошибок xHTML-валидации при использовании JavaScript, Flash, <noindex>, CSS" рассказывается о четырёх основных источниках неправильной разметки в WordPress:

  1. JavaScript;
  2. Глобальные CSS, размещаемые в заголовке документа;
  3. Flash;
  4. Несуществующий по стандартам тег <noindex>, придуманный Яндексом

Естественно, после прочтения статьи я решил проверить свой, как я полагал, валидный, блог. В том-то и дело, что только плагал: нашёлся пятый источник неправильной разметки. Где бы Вы думали? В самом WordPress, в функции wpautop(). Читать статью «Основные источники неправильной разметки в WordPress» полностью…

Стараниями Дмитрия Лялина я узнал про еще один плагин WordPress для подсветки синтаксиса — CodeColorer. Как и многие другие плагины (напрмер, WP CodeBox Эрика Вонга или мой CodeBox), CodeColorer использует в качестве движка библиотеку GeSHi. Читать статью «Обновление для CodeColorer 0.6.0» полностью…

Многие (если не все) знакомы с ресурсом bash.org.ru. И, хотя юмор там в последнее время очень тупой, старые шутки почитать временами можно. Помимо тупого юмора лично меня на bash.org.ru больше всего раздражает не менее тупая реклама :-) И если со всякими iframe и иже с ним AdBlock может бороться, то со вставками вида

Дэвид Блэйн раскукожил Firefox! Теперь в нём Яндекс!

он уже не справляется (так как они вставляются в вывод на сервере). Достал меня Дэвид Блейн. И Яндекс меня достал. И еще много что меня достало. Наверное, надо отдохнуть. Но речь не об этом. В общем, если меня что-то раздражает, я от этого избавляюсь (если читать, то с комфортом). Задачка как раз для Greasemonkey. Читать статью «Убиваем рекламу на bash.org.ru, или, Greasemonkey в действии» полностью…

В Австралии и США большой популярностью пользуется плагин Clicky — Web Analytics 2.0. Как следует из названия, Clicky является еще одним сервисом для анализа статистики веб-сайта. Судя по приведённой на сайте таблице, Clicky, образно говоря, "затыкает за пояс" даже такого конкурента, как Google Analytics.

Себе на сайты я ставить Clicky не пытался, но наблюдал его в действии в проекте, над которым работаю. Могу сказать, что сервис действительно мощный и удобный, а плагин Clicky для WordPress относится к разряду "сконфигурировал и забыл".

Всё хорошо, но по традиции есть одно "но": если на странице используется, например, Prototype, то плагин начинает кидаться ошибками JavaScript. Читать статью «Clicky 0.3b для WordPress и проблемы с JavaScript» полностью…