Как стать автором
PHP-CLI-Singleton
Пришёл вот к такому вот оригинальному(на мой взгляд) решению, без капли изврата:
<?php
class cli_singleton {
protected $sock;
protected $port;
public function __construct($port) {
$this->set_port($port);
$this->sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
}
protected function set_port($port) {
$this->port=$port;
}
public function lock() {
return socket_bind($this->sock, 'localhost', $this->port);
}
public function unlock() {
socket_close($this->sock);
$this->sock=NULL;
}
public function __destruct() {
if($this->sock) {
$this->unlock();
}
}
}
?>Требует только установленной библиотеки sockets+СТО_ПРОЦЕНТНО_свободного_номера_порта.
UzeBox — приставка своими руками
UzeBox невозможно купить, ее можно только сделать самому. Основа консоли — микропроцессор ATmega644 и перекодировщик с RGB в NTSC AD725. Кроме двух вышеуказаных чипов, вам потребуются один или два джойстика NES — интерфейсом (такие как от денди), SD/microSD карточка на которой будут храниться программы и данные, и, конечно, телевизор, поддерживающий NTSC.
Здесь схема, пример программы HelloWord, демо-ролик, а также сайт аналогичного проект FuzeBox с доступным описанием процесса изготовления.
Настройка мелких но приятных мелочей в Gnome
Для редактирования Gconf в Gnome есть стандартная системная утилиа gconf-editor. Чтобы её запустить введем в консоле gconf-editor.
Facebook украла инженера Google AdSense

Facebook наняла на работу Старшего Технического Директора Грега Бадроса, Бадрос присоединился к компании Google раньше 2003 года и пробивался вверх по карьерной лестнице. Его новая официальная должность Технический Директор.
В Google Бадрос был ответственным за комманду AdSence, начиная с ранних лет компании в 2004 году. Он также возглавлял команды Google Календарь, Google Reader и Gmail. С Марта 2009 он управлял группой Application Platform. Но опыт работы над AdSense является не главным интересом для Facebook, которая старается повысить прибыль их сервиса.
Бадрос сообщит Майклу Шроферу, которого Facebook украла из Mozilla в Июле прошлого года. Шрофер вице-президент по разработке и управлению.
Бадрос работал в компании Go2Net которая позже была продана InfoSpace. Он занимал должность Главного Технического Архитектора в обеих компаниях. Его Google страница не может рассказать многого о нем, кроме школы, где он учился и его блога — где он не часто оставляет сообщения.
Официальное Заявление от Facebook:
Грег Бадрос присоединился к Facebook как Технический Директор, сообщив Майклу Шроферу. Грег один из многочисленных талантлевых инженеров в Google, и это прекрасно что он решил привнести свой талант в компанию Facebook и взять на себя большие обязанности по инженерной организации.
50 потрясающих наборов иконок для интерфейса или веб дизайна. Часть 1
HTML иконки (31 графическая иконка).

Обмануть вирус
Работая в техподдержке местного провайдера, часто сталкиваюсь с вирусом, рвущим соединения. Главный симптом — в папке сетевых подключений появляется новое vpn-подключение с названием вида X-connect (i-connect, v-connect, z-connect), которое обрывает сессии через 10-50 секунд после запуска. К слову, лечится любым адекватным антивирусом со свежими базами. Но вот беда — юзеры не могут скачать обновления: чтобы получить свежие базы, надо удалить вирус, а чтобы удалить вирус, нужны свежие базы. Замкнутый круг. Как быть?
Основная проблема в том, что простым delete'ом вирус удалиться-то удаляется, но появляется на своем «законном» месте секунд через 10-15. Путей обхода (без привлечения знакомых с хардами и Live-CD) нашлось пока два:
1) Залезть в свойства паразитного соединения и исправить его — вбить адрес сервера, поправить настройки шифрования и прочее. Минут на 30-40 обрывов не будет, что вполне хватает, чтобы скачать обновления.
2) Удалить его и по-быстрому создать новое подключение, обозвав его тем же именем, что и паразитное — Windows просто не позволит коварному вирусу создать еще одно подключение с одинаковым именем. Качаем обновления, убиваем заразу.
Надеюсь, статья поможет людям, столкнувшимся с этой проблемой или тем, кому она еще уготована судьбой. Предупрежден — значит вооружен.
Twitpocalypse будет сбой в работе Твиттера или нет?

В последнее время в Твиттере, особенно англоязычном, появлялись сообщения о твитпокалипсе. В потоке твит сообщений, появилась ссылка, клик.
На сайте идет отсчет количества твиттов до предполагаемой создателями проекта «Твитпокалипс» ошибки. Некое подобие всеми известного Y2K.
На момент написания поста набралось уже: 2,152,685,838
Что думаешь ты Хабраюзер?
Доступ к буферу обмена X-сервера из командной строки
1. Я визуально выцепляю нужные ссылки и копирую их в буфер обмена
2. Некоторая программа отлавливает ссылки в буфере обмена и сохраняет их в файлик
Таким образом мне не нужно тратить время на создание и редактирование этого файла вручную: одна мысль об этом меня очень утомляет)
Поискал расширение для Firefox — не нашел, решил попробовать коммандную строку. Быстро нашел утилиту xsel — именно то, что мне нужно:
$ sudo apt-get install xsel
Небольшой скрипт делает все, как я мечтал:
$ while true; do link=`xsel -o -b -c`; if [ -n "$link" ]; then echo $link|tee -a links.txt; fi; sleep 0.5;done
Улучшаем зрение на дому
Хочу поделиться одним очень необычным методом улучшения зрения.
Которым, лично я, пользуюсь уже больше 5ти лет.
Метод помогает тем у кого изначально было хорошее зрение, но в последнее время наблюдается его ухудшение.
В чем его особенности:
— Метод позволяет за минимальное время восстановить ослабившееся зрения.
— Сам процесс улучшения зрения вызывает интерес и упражнения могут затянуться =)
Вся фишка заключатся в стереокартинках. Я думаю, многие их видели, слышали и даже прекрасно умеют «обрабатывать» их.
Сам я познакомился с ними по окончании учебы в школе, но в упор их не мог видеть…
я сидел по полчаса чтобы разглядеть хоть что-нибудь необычное в абстрактном узоре.
Со временем навык просмотра стереоизображений развился так, что получалось просматривать не напрягаясь и не тратя время на фокусировку…
Далее началась учеба в ВУЗе, тогда я более плотно познакомился с программированием и вообще всё чаще приходилось работать и играть за компьютером :). Я стал чаще замечать, что зрение ослабевает. Номера машин было всё сложнее разглядеть, а монитор бывало приходилось подвигать в упор!
Спустя какое-то время я вспомнил стереокартинки и просто ради любопытства решил посмотреть пару-тройку… тогдашний просмотр затянулся на пару часов. Что называется, вошел в азарт. После такого глазного штурма мне стало чуть труднее видеть. Чтобы сфокусировать на обычных предметах приходилось напрягаться. Но положительный эффект возник уже на следующий день — я прекрасно видел! Исчезла прежняя мутность и с легкостью удавалось разглядеть номера машин вдалеке.
Давая глазам «положительную» нагрузку мы их тренируем и восстанавливаем зрение. Стереокартинки выступают в данном случае как тренажер, причем гораздо более интересный и продуктивный, чем смотреть на пятно в окне :)
С тех пор при любом сигнале ухудшающегося зрения я трачу пару вечеров всего по 5-10 минут на просмотр стереокартинок. Это не только полезно, но и интересно.
Сейчас я заканчиваю 5й курс и работаю уже больше года, провожу за компом более 10 часов в день, очень упорно читаю книжки в метро и могу похвастаться 100% зрением!
Успехов всем! Надеюсь статья окажется полезной Вам!
Дизайн коробочных версий Windows 7

Изначально дизайн коробочных версий Windows 7 появился на польском вебсайте CentrumXP.pl. Многие из наших читателей сочли это очередной подделкой, при этом никого не смутил тот факт, что сайт совместно с польским отделением Microsoft проводили некий конкурс.
Прочь все сомнения: упаковки нового дизайна появились на прилавке виртуального магазина Microsoft Store и любой желающий сможет убедиться в их подлинности.

P.S. Осталось узнать цену на коробочную версию, надеимся, что она будет в рамках разумного…
P.S.S. Спасибо всем, кто прочитает и оценит мою статью!
Текстовая игра «Гопник»
Please, call [me] later
Довольно часто возникают в жизни люди с которыми не то что видеться, разговаривать не всегда хочется. Это не обязательно должны быть недруги или бандиты. Просто назойливые, глупые или наоборот через чур умные товарищи, которые нам совсем не товарищи. И звонят они, как правило, на личный, сотовый телефон. И без устали тратят ваше драгоценное время своими глупостями и несуразностями.
PHP скрипт построения списка-дерева
Momento mori
Ни для кого не секрет, что людям приходится умирать. Конечно же, тебе повезёт застать изобретение сыворотки, которая отменит необходимость умирать. Но всем остальным бедолагам придётся задуматься о нескольких вещах. Первое и самое главное. После смерти у человека остаётся не только квартира, машина и жена с двумя детишками, но и его виртуальные богатства. Такие как личные сайты, аська, виртуальные кошельки, аккаунт на торрентс.ру в конце концов. Что-то из этих вещей личное, например номер аськи, но коли народ не брезгует пользоваться украденными номерами, не стоит бояться использовать номер умершего человека. Что мы от этого получим? А получим мы полную ясность. Не будет внезапно исчезнувших контактов, с которыми общался много лет. А поскольку мы знаем пароль от красивого и короткого номера (о девятизнаках мы не говорим по понятным причинам) его нужно использовать. Глупо выбрасывать вещи только потому, что пользующийся ими человек умер.
Далее вполне возможно, что у человека остался созданный им сайт. Проплачивать хостинг станет некому и сайт в конечном счёте умрёт вместе с его хозяином. И это худший вариант для всех. Поэтому необходимо его сохранить с помощью усилий живых.
И ведь ещё много таких вещей, которые могут пригодятся. И этим нужно пользоваться.
Ключевые понятия PHP-GTK
Понятие иерархии очень важно в PHP-GTK. Каждый объект в языке является производным от базового класса GtkObject. Каждый объект в языке также наследует методы и единственный сигнал destroy, реализованные в базовом классе GtkObject. Если в GtkObject есть поля свойств открытые свойства класса, непосредственно доступные программисту, каждый объект также наследует их. В дереве наследования есть несколько ветвей наследования, и некоторые графические элементы имеют до пятипредков, отделяющих их от базового класса GtkObject.
В PHP-GTK, как и в GTK+, графический элемент widget служит обозначением любого элемента GUI, например метки, переключателя или окна списка. Все графические элементы PHP-GTK являются производными от базового класса второго уровня с именем GtkWidget. Графические элементы PHP-GTK умеют возможность действительного наследования, в отличие от графических элементов GTK. Это делает программирование PHP-GTK значительно более интуитивным, но также способствует совершению ошибок из за непонимания иерархической структуры классов GTK.
Веб-сервис для тех кто не сидит на месте – Vdorogu.org

Всем привет!
Хочу рассказать о нашем новом стартапе – vdorogu.org.
Суть проекта заключается в том чтобы предоставить людям, желающим поехать в Финляндию, быстрый и удобный поиск автобусных туров. В дальнейшем функция поиска будет дополнена функцией бронирования. На первой стадии проект будет реализован локально в Санкт-Петербурге, однако со временем мы планируем адаптировать его к большинству различных автобусных направлений.
В реализации проекта мы используем большое количество AJAX-функций и проработанный юзабельный интерфейс, максимально близкий и понятный нашей аудитории.
Уже налажен контакт с большим количеством перевозчиков, для которых наш проект станет гибкой системой по размещению информации о своих рейсах и новым способом привлечения клиентов.
Все участники проекта полны энтузиазмом. Запуск первой фазы нашего проекта запланирован до конца июня.
Хотелось бы получить инвайт, для того чтобы общаться и обсуждать наш проект со специалистам, сидящими на хабре.
Twitter. Новые возможности!
Теперь же перейдем к некоторым интересным особенностям, которые организованны сторонними сервисами:
Поиск
Сейчас развелось достаточно много поисковиков по твиттеру, поиск по пользователям, поиск по твитам, хеш тегами и тому подобное. Но зачем что-то городить, если есть google, который довольно быстро индексирует страницы, и его с легкостью можно использовать как альтернетивный поисковик или как привычное орудие для поиска информации. Существует несколько хитрых команд, при помощи которых Google как раз и собирает для нас нужные данные. И конечно же, я сейчас с вами ими поделюсь.
Ubuntu tips: Возвращаем прогноз погоды на место.
В попытке устранить это безобразие я докопался до конфига апплета, отвечающего за отображение погоды.
Конфиг находится по адресу: /home/<имя пользователя>/.gconf/apps/panel/applets/clock_screen0/prefs
Рекомендую перед тем как лезть в конфиг, задать любое расположение через Правый клик на часы > Параметры > Местности > Добавить, т.к. править готовый конфиг легче, чем писать с нуля.
Для примера добавим Москву, чтобы подправить её под наш город. Тогда конфиг будет содержать следующий блок:
<location name="Москва" timezone="Europe/Moscow" latitude="55.650002" longitude="37.266666" code="UUWW" сurrent="false"/>
Вместо символов [< > "] в конфиге возможно будут стоять их коды, начинающиеся на "&" если они сбивают вас с толку, можете заменить строку в конфиге той, что я привёл выше — разницы никакой.
Назначение параметров понятно из их названия.
Погода отображается в соответствии с параметром «code» — это код аэропорта в международном формате (ICAO). Код для вашего города можно поискать здесь http://avia.meteonovosti.ru/
У вашего города же есть аэропорт, правда? :)
Генерирование штрихового кода
Вместе с полученным ISSN, мы получили и архив с готовыми штрих-кодами в формате EPS. Одна беда — внутри EPS-а лежал обычный растр.

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