31 июл. 2009 г.

Найти человека по номеру телефона

В интернете появились сайты, которые предлагают в обмен за SMS найти человека по его номеру телефона. Разумеется, я не настолько глуп, чтобы эту SMS отправлять. Однако существование подобного сервиса было бы мне интересно.

Итак вопрос: есть ли в интернете бесплатный такого рода сервис?

30 июл. 2009 г.

Firefox. Как ускорить запуск браузера.

Я не раз сталкивался с проблемой, что всеми любимый бразер Mozilla Firefox после нескольких месяцев эксплуатации очень долго включается. Причём не только в Windows, но и в Linux. Как оказалось, дело в образовании пустых мест в sqlite-базе.

Закройте firefox.

Пользователям Linux:
выполните эту команду
find ~/.mozilla/firefox/ -name *.sqlite -exec sqlite3 {} VACUUM \;


Пользователям Windows:
откройте командную строку и выполните это
cd %APPDATA%\Mozilla\Firefox\Profiles\*.default
for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i


Кому-то может понадобиться поставить последнюю версию sqlite - скачать можно здесь.

Вот здесь более подробное описание, как от этой проблемы избавиться. Мне это помогло =)

29 июл. 2009 г.

Chewbacca Defense

HTML + CSS. div высотой 100% под дивом фиксированного размера

Div высотой 100% под div'ом фиксированного размера.
Один мой друг спросил меня, как это кроссбраузерно реализовать.
Вот красивое, нам мой взгляд, решение:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
body {
margin:0px;
padding:0px;
}

.top {
background-color:#CCCCCC;
height:200px;
}

.content {
height:100%;
margin-top:-200px;
}

.fromTop {
padding-top:210px;
}

</style>
</head>
<body>
<div class="top">Top</div>
<div class="content"><div class="fromTop">;-)</div></div>
</body>
</html>

27 июл. 2009 г.

Лето скоро закончится...

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


Эта картинка с иронией. Не стоит принимать её всерьёз.

Одиночество

"Как страшно жизни сей оковы
Нам в одиночестве влачить.
Делить веселье - все готовы: -
- Никто не хочет грусть делить..."
М.Ю. Лермонтов

Песенка о бумажном солдатике

Иногда буду выкладывать стихи и слова некоторых песен.


Песенка о бумажном солдатике
Булат Окуджава

Один солдат на свете жил,
красивый и отважный,
но он игрушкой детской был,
ведь был солдат бумажный.

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

Он был бы рад в огонь и в дым,
за вас погибнуть дважды,
но потешались вы над ним,
ведь был солдат бумажный.

Не доверяли вы ему
своих секретов важных,
а почему? А потому,
что был солдат бумажный.

А он, судьбу свою кляня,
не тихой жизни жаждал,
и все просил: "Огня! Огня!"
Забыв, что он бумажный.

В огонь? Ну что ж, иди! Идешь?
И он шагнул однажды,
и там сгорел он ни за грош:
ведь был солдат бумажный.

1959

26 июл. 2009 г.

DreamSpark (Microsoft тоже любит студентов)

В интернете есть такой сайт - www.dreamspark.ru. На этом сайте студент может скачать лицензионную версию ПО от Microsoft.

Как они узнают, студент ли Вы? - предъяви фотокопию студенческого или ISIC (International Student Identity Card). Есть ещё пару способов (см. Dreamspark). Правда, список продуктов весьма ограничен.
Среди прочих могу выделить Visual Studio 2008 Professional Edition, Expression Studio 2 и SQL Server 2008 Developer Edition.

Ещё там есть ссылка на акцию "Доступный Microsoft Office 2007" - предоставляют студентам и преподавателям скидку на этот продукт в 80%. Только нужно нам это, если есть OpenOffice? =)

25 июл. 2009 г.

UrTConnector v0.1.2

В предыдущем сообщении я рассмотрел игру Urban Terror 4.1.
Очень часто мне в конференции (Jabber или IRC) клана присылали IP и пароль какого-то сервера. Но функция "Вствить", увы, не работавет в интерфейсе игры. Что же делать?
Специально для этого я решил разработать програмку. Назвал её UrTConnector. Теперь в разработке и управлении проектом мне помогает [RDT]vlad.ru (за что ему респект).
Проект на google-code - http://code.google.com/p/urtconnector/
Написана эта програмка на C++ с использованием Qt.
Вот скриншот текущей версии 0.1.2:
Воспользоваться ей очень просто:
1) Выбираешь исполняемый файл игры (например ioUrbanTerror.i386)
2) Вводишь адрес сервера (пример рядом)
3) Вводишь ник
4) Если нужно, вводишь пароль
5) Нажимаешь кнопку "Connect"

Если собирать для Windows, то придёться помещать .exe файл программы в одну папку с игрой и к тому же тащить .dll'ки. Впрочем, скоро я собираюсь выложить уже собранные версии, чтобы не заставлять людей собирать вручную. Кое-кто уже просил пакеты .deb, .rpm и .ebuild. Ждите и следите за обновлениями - обязательно напишу в блоге о релизах.

Исходный код текущей версии (UrTConnector v0.1.2) доступен на странице проекта. Там же будет выкладываться вся информация о программе.

24 июл. 2009 г.

Urban Terror 4.1

Игра. Шутер от первого лица. Мультиплеер. Мне очень нравится.

А теперь подробнее =)
Изначально Urban Terror разрабатывался как мод для игры Quake III Arena (о которой лично я до того, как сыграл в Urban Terror не слышал). Но с четвёртой версии они выпустили игру как отдельный продукт (полностью готовый дистрибутив игры с открытой версией движка Quake 3 — ioQuake).
Несмотря на то, что любительские модификации пока не разрешаются, игра беслпатная (иначе стал бы я о ней говорить). Существуют версии для разных платформ: Windows, Linux и Mac OS.
В игре две команды - красные и синии (имена командам тоже можно присваивать, но на это никто внимание не обращает). Разнообразного оружия и экипировки много.
Чем это отличается от Couter-Strike - спросите вы? Тем что в игре есть "элементы паркура". Т.е. можно отталкиваться от стен, прокатываться на коленках и т.д. Есть шкала усталости, которая не даёт всем стать суперменами.
Режимов игры не мало:

  • Free For All - каждый сам за себя. Не интересно.

  • Team Deathmatch - цель режима - чтобы товя команда убила больше противников, чем другая, до истичения времени

  • Team Survivor - раунд играют пока игроки одной команды не перестреляют игроков другой. Минус этого режима в том, что после того как тебя убили приходится ждать следующего раунда. Зато можно понаблюдать за своими соратникам.

  • Capture the Flag - самое интересное. У кадой команды рядом с базой есть флаг. Задача: взять флаг и донести до флага твоей команды. Для того чтобы его "закапчить" (донести) флаг твоей команды, разумеется, должен быть на своём месте. После того как тебя убили - оживаешь и снова в бой.

  • Capture and Hold - особого интереса не представляет

  • Follow the Leader - особого интереса не представляет

  • Bomb mode - аля Counter-Stike. Цель - заложить и взорвать бомбу, если играешь за красную команду. Если за синих, то не дать красным её разместить или обезвредить её. Так же как и в Team Survivor, после гибели игрока приходится ждать.


Навык быстро передвигаться очень важен. Есть даже специальные "прыгательные" карты, цель игры на которых - пройти карту до конца. Это не так просто, как кажется с первого раза.
Значительно интереснее играть в клане. В частности, я в русскоязычном клане Red*Army. Можете найти меня на некоторых серверах игры под ником "Red*Army|TheShadowYo".

Вобщем игра очень хорошая.
"Что я могу ещё сказать?" (c) А.С.Пушкин "Евгений Онегин"

UPD: из этого клана я ушёл :-)

Вот ссылки:
Официальный сайт игры
Скачать
Подробная статья на википедии
Русскоязычное сообщество игроков

23 июл. 2009 г.

Qt


Qt - кросс-платформенный инструментарий разработки ПО на языке программирования C++ (существуют привязки к другим языкам).
От себя могу добавить, что это очень удобная штука =)
А среда разработки Qt Creator - эталон для IDE, с точки зрения юзабилити.
Вобщем меня Qt очень заинтересовал. Сразу появились идеи кое-что на нём написать...

PHP + MySQL. Проблемы с кодировкой

Встречается ситуация, что сайт создаётся в одной кодировке, а база данных в другой. Например в базе данных установлена кодировка koi8-r, а на сайте – cp1251 (в качестве СУБД рассмотрим MySQL). В результате вместо нормального текста выводятся "нечитаемые символы".
Чтобы этого избежать есть несколько способов:

1) перекодировать данные с помощью функции convert_cyr_string(). Вот пример:
<?php
convert_cyr_string($text, "k", "w");
?>
Но этот способ является нежелательным.

2) Гораздо удобнее сразу после подключения к базе данных отправить вот такой SQL-запрос:
<?php
$db = mysql_connect($host, $user, $pass);
mysql_select_db($dbname);
mysql_query('SET NAMES cp1251;');
?>
и тогда все получаемые из базы данных данные будут уже в нужной кодировке.

OpenSUSE Linux

Почти все когда-либо слышали слово Linux.
Для незнающих могу пояснить, что Linux (полное название GNU/Linux) - это ядро операционной системы, соответствующее стандартам POSIX. Существуют дистрибутивы GNU/Linux - это то самое, что можно установить себе на компьютер =) (подробнее об этом см. википедию)

Лично я работал с несколькими дистрибутивами, среди которых мне больше всего понравился OpenSUSE.

Странно, но на официальном сайте ATI для моей видеокарты (Radeon x1650pro 256mb) нет драйверов под Linux. Но после внимательного изучения вот этой страницы документации OpenSUSE, поставить драйвера оказалось тривиально.

С тех пор пользуюсь OpenSUSE на своём компьютере и радуюсь жизни!

22 июл. 2009 г.

Следуя давним традициям...

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