Много сервисов вкусных и разных, которые все больше и больше собирают информацию о пользователях: их увлечения, списки контактов, деловая активность, списки друзей, поступление средств, все о бизнесе. Иногда тот-же Gmail может знать о человеке больше, чем сам человек, извините за тавтологию. Конечно мы думаем, что нечего скрывать, все честные люди, правда когда собранная информация насчитывает тысячи человек, уже начинаем задумываться.
Vasilii Artemev @vasart
User
Специфичный Delphi-вирус
1 min
9.9KВ интернете появился специфичный для Delphi вирус. Суть его в том, что заражённая программа ищет на диске установленные версии Delphi и, если находит, изменяет файл SysConst.dcu (старая версия сохраняется под именем SysConst.bak), и после этого все программы на Delphi, скомпилированные на этом компьютере, начинают точно так же заражать Delphi на тех компьютерах, где они запускаются. Распространению вируса способствовало то, что некоторые версии популярного мессенджера QIP оказались заражены им (команда разработчиков QIP приносит за это свои извинения). Пока единственный обнаруженный вредный эффект от вируса — это то, что из-за ошибки в его коде при запуске заражённой программы возникает Runtime error 3, если ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\x.0 (x — от 4 до 7) содержит неправильное значение параметра RootDir (для правильного значения ошибки не происходит). Видимо, просто обкатывалась технология распространения вируса.
Проверьте свои версии Delphi и, если найдёте у себя SysConst.bak, выполните следующие действия:
1. Удалите SysConst.dcu
2. Скопируйте SysConst.bak в SysConst.dcu. Важно именно скопировать, а не переименовать, чтобы SysConst.bak тоже остался на диске — это убережёт систему от повторного заражения.
Некоторые подробности и обсуждение:
www.delphikingdom.com/asp/answer.asp?IDAnswer=70912
forum.qip.ru/showthread.php?t=36203
forum.qip.ru/showthread.php?t=35939
UPD: этот топик не призван поливать грязью QIP, зараженным оказался и AIMP, я подозреваю что и многие другие программы. Для тех, кому лень ходить по ссылкам — разработчики QIP пересобрали сборку.
Проверьте свои версии Delphi и, если найдёте у себя SysConst.bak, выполните следующие действия:
1. Удалите SysConst.dcu
2. Скопируйте SysConst.bak в SysConst.dcu. Важно именно скопировать, а не переименовать, чтобы SysConst.bak тоже остался на диске — это убережёт систему от повторного заражения.
Некоторые подробности и обсуждение:
www.delphikingdom.com/asp/answer.asp?IDAnswer=70912
forum.qip.ru/showthread.php?t=36203
forum.qip.ru/showthread.php?t=35939
UPD: этот топик не призван поливать грязью QIP, зараженным оказался и AIMP, я подозреваю что и многие другие программы. Для тех, кому лень ходить по ссылкам — разработчики QIP пересобрали сборку.
+62
Перевод — BoxedIce делится опытом перехода с MySQL на MongoDB
6 min
7.5KСсылка на эту статью уже мелькала на Хабре и я столкнулся с интересом к ней. Многие испытали проблемы с освоением оригинала на английском и я решил перевести ее.
Год назад в июле я писал о том, что мы перешли с MySQL на MongoDB.
Мы запустили MongoDB в продакшене для сервиса мониторинга Server Density. С тех пор прошло 8 месяцев и мы столкнулись с некоторыми вещами.
Заметки об использовании MongoDB в продакшене
Год назад в июле я писал о том, что мы перешли с MySQL на MongoDB.
Мы запустили MongoDB в продакшене для сервиса мониторинга Server Density. С тех пор прошло 8 месяцев и мы столкнулись с некоторыми вещами.
+44
Введение в pygtk/gtkbuilder: пишем калькулятор
3 min
7KРазберем создание интерфейса на pygtk на примере самого примитивного калькулятора. Много картинок, немного кода.
gtkbuilder наиболее прогрессивный формат описания gtk интерфейса в xml,
если вы ранее использовали libglade, вы можете сконфертировать .glade файл в новый формат командой libglade-convert
gtkbuilder наиболее прогрессивный формат описания gtk интерфейса в xml,
если вы ранее использовали libglade, вы можете сконфертировать .glade файл в новый формат командой libglade-convert
+40
Ogre 3D. Серия обучающих статей. Выпуск 1
3 min
22KВ топике прозвучала просьба написать какие-нибудь статьи про Ogre 3D.
В первой статье я расскажу о установке Ogre и создании простейшего приложения использующего Ogre.
В первой статье я расскажу о установке Ogre и создании простейшего приложения использующего Ogre.
+35
Распараллеливание задач в Linux
2 min
11KПотребовалось мне перекодировать некоторое количество видео-файлов. Для этого я написал следующий сценарий:
Казалось-бы все готово, но я заметил, что загружен только один процессор из двух, а это значит, что этот процесс можно ускорить, раза в два.
#!/bin/bash
recode() {
mencoder -o $2 $1 -ovc x264 -x264encopts bitrate=22000:keyint=50 -oac mp3lame -lameopts vbr=3:br=320 -fps 50
}
recode input/00108.mts 00108.avi
recode input/00109.mts 00109.avi
...
...
Казалось-бы все готово, но я заметил, что загружен только один процессор из двух, а это значит, что этот процесс можно ускорить, раза в два.
+87
Настройка резервного копирования Linux-сервера за 5 минут
3 min
66KПередо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.
- архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
- делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
- делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
- шифровать архивы.
- копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.
Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.
+63
Использование паттерна Builder в случае, когда мы сталкиваемся с конструктором с многими параметрами
7 min
39KСтатья представляет вольный перевод главы из книги Effective Java, Second Edition by Joshua Bloch
В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.
В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.
+37
JVM изнутри – организация памяти внутри процесса Java
2 min
122KНаверное, все, работающие с Java, знают об управлении памяти на уровне, что для ее распределения используется сборщик мусора. Не все, к сожалению, знают, как именно этот сборщик (-и) работает, и как именно организована память внутри процесса Java.
+20
Java сертификация — прохождение SCJP и SCBCD
8 min
84KНе нашел на хабре статей, в которых бы авторы описывали сертификации по Java и делились своим опытом подготовки и ощущениями от сдачи.
В некоторой степени хотел бы заполнить пробел этой статьей. Под катом – мое мнение по вопросу – сдавать или не сдавать сертификации, краткий обзор сертификаций по Java, а так же собственный опыт и ощущения от регистрации, подготовки и сдачи Java сертификаций SCJP и SCBCD.
В некоторой степени хотел бы заполнить пробел этой статьей. Под катом – мое мнение по вопросу – сдавать или не сдавать сертификации, краткий обзор сертификаций по Java, а так же собственный опыт и ощущения от регистрации, подготовки и сдачи Java сертификаций SCJP и SCBCD.
+42
Превращаем Midnight Commander в консольный браузер для GIT
4 min
14KВместо предисловия...
Мне давно хотелось отсматривать код примерно как это сделано в meld, но только в консоли, и еще мне хотелось чтобы это все было увязано с системой управления версиями файлов GIT. В общем чтобы все делалось 1 кнопкой не выходя из mc.
Ydiff
Однажды у нас на канале (или это было на траке...) проявился некто Daniel Borca пошумел-пошумел и убежал, видимо не понравилась ему наша бюрократия, но зато оставил он после себя несколько сыроватых патчей, к готовившемуся релизу 4.7.0-pre1 миднайт коммандера. Один из них содержал в себе ydiff.[ch] и zdiff.[ch]… Как оказалось, то что я хотел получить, было давно уже реализовано в древнем форке mc-mp и в последней версии ru-fork. После 2-х дневного «перепиливания» я подключил функцию сравнения файлов к последней версии mc… Полдела было сделано. :)
+52
Создаём тему для Drupal. Часть 3
3 min
32K
Часть 1, Часть 2
Шаблоны
Шаблоны мы будем складывать в sites/all/themes/mytheme/templates. Создадим шаблоны page.tpl.php — для страниц, node.tpl.php — для контента, block.tpl.php — для блоков, comment-wrapper.tpl.php — для блока с комментариями, comment.tpl.php — для одного комментария, header.tpl.php — для шапки, footer.tpl.php — для подвала, region.tpl.php — для регионов. Также, по аналогии с препроцессами, мы можем создавать файлы типа node-story.tpl.php для отображения материала типа story или block-user.tpl.php для блока user. Это позволяет темизировать отдельно разные типы содержимого сайта.
+33
Создаём тему для Drupal. Часть 2
6 min
10K
Препроцессы
Препроцессы нужны для того, чтобы определить, какие переменные будут доступны в шаблонах. Препроцессы мы будем складывать в sites/all/themes/mytheme/preprocess. Создадим файлы preprocess-page.inc — для страницы, preprocess-node.inc — для контента, preprocess-header.inc — для шапки, preprocess-footer.inc — для подвала, preprocess-region.inc — для регионов, preprocess-block.inc — для блоков, preprocess-comment.inc — для комментариев. Также мы можем создавать файлы типа preprocess-node-story.inc для обработки материала типа story или preprocess-block-user.inc для блока user. Это позволяет обрабатывать отдельно разные типы содержимого сайта. В основном в препроцессах я определял классы для разных регионов сайта.
+37
Создаём тему для Drupal 6. Часть 1
11 min
29K
По созданию тем для друпала в интернете можно найти несколько статей (хорошая статья, советую почитать), однако обычно всё заканчивается банальным набором шаблонов и инфо-файлом. В этом топике я постараюсь доступно рассказать как создать гибкую и не самую простую тему.
Начало
Для начала нам потребуется создать директорию в каталоге sites/all/themes с названием нашей темы. Я назвал тему mytheme и создал каталог sites/all/themes/mytheme.
В созданном каталоге создаем директории css — для стилей, js — для скриптов, images — для картинок, templates — для шаблонов, preprocess — об этом позже. Также создаем файл template.php в котором мы будем писать всю логику темы и mytheme.info для описания темы. Можно еще добавить favicon.ico и logo.png.
+45
Преобразование ссылки на интерфейс для реализации класса в Delphi 2010
2 min
5.4KTranslation
Не все нововведения в Delphi 2010 большие и заметные. Команда потратила массу времени реализуя множество дополнительных функциональных возможностей, исправлений и улучшений. Некоторые из них могут показаться незначительными по отдельности, но они не только в целом окзывают существенное влияние, но и значительно добавляют гармоничности продукту.

Одна из возможностей Delphi 2010, которая, как мне кажется, породит массу споров — это возможность привести интерфейсную ссылку назад к типу класса, реализующего этот интерфейс.

Одна из возможностей Delphi 2010, которая, как мне кажется, породит массу споров — это возможность привести интерфейсную ссылку назад к типу класса, реализующего этот интерфейс.
+5
Поддержка рефакторинга атрибутов в Delphi 2010
1 min
1.6KTranslation

Один из примеров касается поддержки рефакторинга атрибутов.
+2
Используйте голову
8 min
26KКакой главный инструмент работы айтишника? Компьютер? Я думаю иначе. Прежде всего мы работаем головой. А как работает мозг? Почему-то об этом нам не рассказывают в школе, университете и на работе, или рассказывают очень мало. Чтобы работать эффективно, нужно не только уметь прекрасно пользоваться необходимым программным обеспечением, но и знать, как настроить свой мозг на работу.
Специально для Хабра (для людей с техническим складом ума) я подготовил краткую версию статьи о мозге, в которой описано, что полезно для мозга, а что нет. Добро пожаловать под кат.
Специально для Хабра (для людей с техническим складом ума) я подготовил краткую версию статьи о мозге, в которой описано, что полезно для мозга, а что нет. Добро пожаловать под кат.
+233
Календарь событий TopCoder
1 min
2.6KХочу предложить вашему вниманию автоматически генерируемый, по вашему вкусу настраиваемый, куда угодно импортируемый календарь событий TopCoder:
topcoder-calendar.appspot.com

Просто выберите категории соревнований, которые интересны лично вам, и добавьте получившийся календарь в формате iCal в ваш гугл-календарь, Яндекс.Календарь или любую программу-органайзер.
topcoder-calendar.appspot.com

Просто выберите категории соревнований, которые интересны лично вам, и добавьте получившийся календарь в формате iCal в ваш гугл-календарь, Яндекс.Календарь или любую программу-органайзер.
+19
Юзабилити презентаций
1 min
2.3KСегодня мне попался пост о засилии презентаций в американской армии. Я работаю в администрации лицея и могу сказать, что в образовании ситуация приблизительно такая же. К каждому чиху, публично сказанному слову и микродостижению нужна презентация. И в учреждении где учится 300 детишек создается порядка 600-700 презентаций в год, около 200 из них создаются педагогами, остальное — детишками. Даже если учреждение захочет остановить этот поток — оно не сможет, для любого внешнего выступления презентации — обязательное требование, они включены во все программы по информатике и т.д.
О качестве их исполнения, полагаю, рассказывать не стоит. И учителей и учащихся десятки часов учат делать презентации, но от этого не очень много толка.
Есть поговорка, что если бардак нельзя прекратить, то его надо возглавить. Тем более беда с визуальной подачей информации также повсеместна среди клерков, в науке, и где только нет.
Итак, сейчас я обкатываю часовой интенсив по юзабилити компьютерных презентаций, представленный в лекционной форме и сопровождающийся, как ни странно, презентацией. Основная цель: человек тратит час и избавляется хотя бы от «детских ошибок».

Этот курс ни в коем разе не ориентирован на профи, которые не почерпнут из него ничего нового, наоборот, он нуждается в их критике и пожеланиях. Собственно пост написан как раз для этого.
Пока у меня не дошли руки надиктовать текст лекции для полноценного видеоурока, так что к посту я прикладываю только вполне наглядный сам по себе сопровождающий материал.
О качестве их исполнения, полагаю, рассказывать не стоит. И учителей и учащихся десятки часов учат делать презентации, но от этого не очень много толка.
Есть поговорка, что если бардак нельзя прекратить, то его надо возглавить. Тем более беда с визуальной подачей информации также повсеместна среди клерков, в науке, и где только нет.
Итак, сейчас я обкатываю часовой интенсив по юзабилити компьютерных презентаций, представленный в лекционной форме и сопровождающийся, как ни странно, презентацией. Основная цель: человек тратит час и избавляется хотя бы от «детских ошибок».

Этот курс ни в коем разе не ориентирован на профи, которые не почерпнут из него ничего нового, наоборот, он нуждается в их критике и пожеланиях. Собственно пост написан как раз для этого.
Пока у меня не дошли руки надиктовать текст лекции для полноценного видеоурока, так что к посту я прикладываю только вполне наглядный сам по себе сопровождающий материал.
+29
Долой глянец 2.0
1 min
3.6K
Первый мой топик на эту тему показал, что не все готовы разрисовывать и раскрашивать нетбуки. Многие очень консервативны во взглядах на технику, но к глянцу всё равно относятся с неодобрением. Специально для них, публикую вторую версию топика. Как избавиться от глянца на крышке, но оставить приличный вид нетбука. Мало того, вид будет даже лучше чем с глянцевой поверхностью (по крайней мере мне так кажется).
+99
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity