четверг, 17 декабря 2009 г.

Проблемы с empathy

В новой Ubuntu 9.10 pidgin заменили на empathy. Так эта сволочь ну ни в какую не подключается к ICQ если не соединение установлено не через gnome-network-manager.


воскресенье, 6 декабря 2009 г.

Визуализация веток в VCS

Проект gourse позволяет создавать красивые визуализации истории изменений в репозитарии.


суббота, 5 декабря 2009 г.

Я позвонил Вам с телефона-автомата

Я позвонил Вам с телефона-автомата:
"Я вечно Ваш, и буду вечно Вас любить!"
А Вы ответили, что Вам звонить не надо
И будет лучше, если мне Вас позабыть.

Для Вас любовь прошла как сновиденье
И в этом, может быть, моя вина...
От одиночества сегодня получил я приглашенье.
Свечу зажгла Ее Величество Луна...

Но как забыть Ваш взгляд печальный, томный
И этот локон запаха весны?
Я на счету у Вас, должно быть, миллионный...
Какие сладкие у Вас, должно быть, сны!

Для Вас любовь прошла как сновиденье
И в этом, может быть, моя вина...
От одиночества по почте получил я приглашенье.
Свечу зажгла Ее Величество Луна...

И Летний сад нас больше не обнимет,
Цыганский хор не будет петь для нас.
Благословенье Божье Вас да не покинет,
Но кара Господа да пусть минует Вас!

Для Вас любовь была - увы! - забавным словом...
Как заведенный, повторяю вновь и вновь:
"Ах, если бы начать все как-то снова!"
Но кончен бал. Свечу зажгла Ее Величество Луна.
Ушла домой Ее Величество Любовь.

С.Чиграков


пятница, 27 ноября 2009 г.

Программа для поиска эротических фото

Написал программу для поиска фоток эротического содержания на диске. Алгоритм прост и примитивен. Допускает ошибки. Зачастую в сторону того, что на пристойном фото видит порно на 65% :) Но, тем не менее, это работает. Написано на C++ и QT4. Реп на github. Интерфейс тоже кривой и набросан на скорую руку. :)

воскресенье, 22 ноября 2009 г.

Приглашение на свадьбу.

Не так давно мой друг женился. Сделать красивые приглашения для гостей у него заняло приличное количество времени. Но  они были такие же, как и у многих других людей. Сегодня нашел описание приглашения, которое выполнено в виде старый 8-битных игр. Причем на развороте излбражены жених и невеста в стиле старых файтингов "Жених Vs Невеста". 3dnews

четверг, 19 ноября 2009 г.

True игра

Есть такая странная "игра" godville.net. Ну хрен с ними с особенностями. ;)  Меня убила вот такое сообщение: "Ещё один Плотоядный Веселиск на моём счету! Прячу в карман книгу «Изучение LISP за 24 века» и 37 монет."

воскресенье, 15 ноября 2009 г.

Уважение к окружающим

Ходил в кино на фильм 2012. Заметил одну закономерность: какой бы не был момент в фильме, найдется мудак в зале, которому это будет смешно. На этот раз в зале было 5 мудаков. Им было лет 16 и они были женского пола.


среда, 11 ноября 2009 г.

Библиотека для работы с нечеткими множествами.

Есть такая либа JFuzzyQt. Написана на C++/Qt. Умеет нечеткие выводы Мамдани, Ларсена и Такаги-Сугено. Также есть поддержка языка Fcl (Fuzzy Control Language). Это язык для описание правил на человеко-подобном языке.


понедельник, 2 ноября 2009 г.

игры emacs

список игр в emacs
5x5
animate
blackbox
bruce
cookie1
decipher
dissociate
dunnet
fortune
gamegrid
gametree
gomoku
handwrite
hanoi
landmark
life
meese
morse
mpuz
pong
snake
solitaire
spook
studly
tetris
yow
zone

USB Жесткий диск.

Купил себе внешний usb накопитель. Вот мне интересно: почему диск серебряного цвета, дороже розового на 250 рублей?!?!?! мне конечно пофиг, взял розовый, но это как то очень странно.

воскресенье, 1 ноября 2009 г.

Кросспостинг в блоги

Bestpersons.ru - сервис, при помощи которого можно объединить свои блоги. ))

воскресенье, 25 октября 2009 г.

PICTURES OF HOME

Somebody's shouting
Up at a mountain
Only my own words return
Nobody's up there
It's a deception

I'm alone here
With emptiness eagles and snow
Unfriendliness chilling my body
And whispering pictures of home

Wondering blindly
How can they find me
Maybe they don't even know
My body is shaking
Anticipating
The call of the black footed crow...

I'm alone here
With emptiness eagles and snow
Unfriendliness chilling my body
And whispering pictures of home

Here in this prison
Of my own making
Year after day I have grown
Into a hero
But there's no worship
Where have they hidden my thrown...

I'm alone here
With emptiness eagles and snow
Unfriendliness chilling my body
And whispering pictures of home

пятница, 16 октября 2009 г.

Странности проектирования бибилиотек.

Некоторое время использовал язык Scala. Как язык, он очень даже хорош. Тут и поддержка функционального программирования и объекты. Плюс рефлексия. Вывод типов. Все хорошо. НО! Как можно проектировать стандартную библиотеку, что не правильно создать класс Array? В новой версии, 2.8, переделали. Да так, что старые код отказывается собираться.

воскресенье, 13 сентября 2009 г.

Странности с клавиатурой в Ubuntu.

В лог моей убунты вываливается вот такой хлам.

atkbd.c: Use 'setkeycodes e00d ' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0x8d on isa0060/serio0).



Единственное решение, которое я нашел, так жто поставить setkeycodes e00d 256 в файл /etc/rc.local

среда, 9 сентября 2009 г.

NoSmoke

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

вторник, 25 августа 2009 г.

Git#

Новость старая, но все же. Есть такой проект Git#.  Задачей его является создание версии git на C#. Не знаю, плохо это или хорошо. НО! Если у них все получится, то появится нормальная версия git для windows. Поскольку git# разрабатывается, как библиотка классов, то теперь для windows можно создавать оконный gui для git. Так же, может упроститься создание плагинов для различных ide.

воскресенье, 23 августа 2009 г.

Создание сообщения для blogger в emacs.

Как можно вести блог из Emacs? Полностью автоматического решения я так
и не нашел. Но подсмотрел на одном сайте хороший способ. Делается все
так:
Ставится пакет muse-mode. Это режим для emacs, позволяющий работать в wiki-подобном стиле.
Далее все просто. Набираем все в muse-mode. Экспортирем в html
командой muse-publish-this-file. Если нужно вставить кусок исходника, то
помечаем его, специальными тегами.

<src lang="lisp">
</src>

Код выглядит весьма прилично:

(defvar gitconfig-mode-font-lock-keywords
(list '("^\\[\\(.*\\)\\]$" 1 font-lock-function-name-face)
'("\\(.+\\)=\\([^\r\n]*\\)"
(1 font-lock-variable-name-face)
(2 font-lock-type-face)))
"Highlighting expressions for GitConfig mode.")
А далее все просто. Копируем получившийся html в блог. :)

Emacs и gitconfig

Сделал режим, для редактирования конфигов git.
Исходники брать тут.

суббота, 22 августа 2009 г.

Подсветка синтаксиса на blogspot.com

Здесь находится описание, как добавить подсветку синтакиса на блог.

emacs yasnippet

Попробовал режим yasnippet для emacs. Суть его в том, чтобы заменять введенный текст на заранее известные для текущего режима шаблоны. Удобно при наборе программы. Например: Вводим once в файл crossover.h при работе в режиме c-mode и брюки превра... вернее слово превращается в такой код.


#ifndef _CROSSOVER_H_
#define _CROSSOVER_H_



#endif /* _CROSSOVER_H_*/

Все шаблоны являются отдельными файлами и легко дополняются своими.

воскресенье, 16 августа 2009 г.

суббота, 1 августа 2009 г.

hg_squash

В дополнение к предыдущему посту. Вот простой скрипт, реализующий данную команду.
#!/bin/sh
# hg_squash

usage(){
echo  "usage: $0 rev MESSAGE"
}

if [ $# -lt 2 ]
then
usage
exit 1
fi


if [ $1 = "-h" ]
then
usage
exit 1
fi

rev=$1
tip=`hg tip --template  "{rev}"`
next=`expr $rev + 1`
new_log=`hg log -r $rev:$tip --template "{desc|firstline}\n"`
echo "Rev count: "$rev
echo "Tip revision: " $tip
echo "Message: " $2
echo "New commit message: " $new_log
echo "Update to $rev..."
hg update $rev
echo "Reverting..."
hg revert -r tip --all
echo "Commiting..."
new_message=`echo "$2""\\nCombine changesets $next..$tip\\n\\n$new_log"`
hg commit -m "$new_message"
echo "Strip..."
hg strip `expr $rev + 1`

Запускать, из директории с репозитарием. Первый параметр, номер ревизии, предшествующей объединяемым изменениям. Второй- описание изменения.

HG squash. Или как объеденить несколько изменений.

Часто, в репозитарий попадают изменения, которые делают исходный код не рабочим, но исправления будут сделаны в следующих ревизиях. А потом, может возникает желание, объединить их в один патч. Это можно сделать следующим образом.

hg update S

Обновляем до ревизии, предшествующей необходимым изменениям.

hg revert -r tip --all

Теперь отменяем все сделанные изменения.

hg commit -m "Combine changesets S+1..S+k"

И объединяем в один chageset.

Теперь возникает такая проблема, что в репозитарии образовалось две ветки, основная, и полученная после hg commit. Это решается двумя разными способами:

1) hg clone -r tip oldrepo newrepo - созданием нового репозитария
2) воспользоваться командой hg strip

четверг, 30 июля 2009 г.

emacs 23.1

После нескольких лет разработки, сегодня вышла новая версия GNU Emacs 23.1.

вторник, 28 июля 2009 г.

Новсти языков программирования

на сайте plnews.org располагается подбор статей, новостей и анонсов, посвященных различным языкам программирования.

суббота, 25 июля 2009 г.

Очень интересные задачки

На сайте refal.net нашел подборку очень интересных задач. Думаю задать их студентам, в обмен на автомат на экзамене.

Задача 1. Задача А.Эйнштейна.

ЧИСТАЯ ЛОГИКА

А. Эйнштейн придумал эту загадку в прошлом веке и полагал, что 98 процентов жителей Земли будут не в состоянии ее решить.

Принадлежите ли вы к 2 процентам самых умных людей планеты?

1. Есть 5 домов каждый разного цвета.

2. В каждом доме живет один человек, отличающийся от соседнего по национальности: немец, англичанин, швед, датчанин, норвежец.

3. Каждый пьет только один определенный напиток, курит определенную марку сигарет и держит определенное животное.

4. Никто из 5 человек не пьет одинаковые с другими напитки, не курит одинаковые сигареты и не держит одинаковое животное.

Вопрос: кому принадлежит рыба?

Подсказки:

1. Англичанин живет в красном доме.

2. Швед держит собаку.

3. Датчанин пьет чай.

4. Зеленый дом стоит слева от белого.

5. Жилец зеленого дома пьет кофе.

6. Человек, который курит Pall Mall, держит птицу.

7. Жилец из среднего дома пьет молоко.

8. Жилец из желтого дома курит Dunhill.

9. Норвежец живет в первом доме.

10. Курильщик Marlboro живет около того, кто держит кошку.

11. Человек, который держит лошадь, живет около того, кто курит Dunhill.

12. Курильщик сигарет Winfield пьет пиво.

13. Норвежец живет около голубого дома.

14. Немец курит Rothmans.

15. Курильщик Marlboro живет по соседству с человеком, который пьет воду.

Задача 2. Задача про агентов.

Шеф разведки, где служит Агент007, в целях полной конспирации и надежности придумал схему взаимной слежки своих агентов.

Агент001 следит за тем агентом, который следит за Агентом002.
Агент002 следит за тем агентом, который следит за Агентом003.
Агент003 следит за тем агентом, который следит за Агентом004.
Агент004 следит за тем агентом, который следит за Агентом005.
Агент005 следит за тем агентом, который следит за Агентом006.
Агент006 следит за тем агентом, который следит за Агентом007.
Агент007 следит за тем агентом, который следит за Агентом001.

Все шло нормально, пока на службу не пришел Агент008. Никак у шефа не получается составить подобную схему взаимной слежки для восьми агентов.

Задача 1. Какая схема взаимной слежки была сначала (за кем следит каждый агент)?

Задача 2. Почему при 8 агентах у шефа ничего не получается ?

Задача 3. Задача о реурсивных числах.

Найдите такое 10-значное число, в котором первая слева цифра равняется количеству нулей в этом числе, вторая цифра равняется количеству единиц в этом числе, и так далее, десятая цифра равняется количеству девяток в этом числе.

Например, подходит число 6 210 001 000 . Действительно, в нем 6 нулей, 2 единицы, 1 двойка, 1 шестерка, и других цифр нет.

Задача обобщается для чисел произвольной разрядности.

среда, 24 июня 2009 г.

Git out

есть в mercurial хорошая команда "hg out". мне в git ее как то не хватало.
С помощью alias`а в zsh поставил такую команду:
alias gitout="git log origin/HEAD..master"

четверг, 11 июня 2009 г.

Рецепт глинтвейна

1) пол литра вина (нк или больше смотря скоко надо...)
2) ванильный сахар - 2 пакетика на пол литра
3) гвоздики - по вкусу, тут токо после опыта понятно, для начала чутка в ладони) необязятельно!
4) пол лимона/апельсина
5) любые другие специи по вкусу (корица, мускат тд) необязятельно!, так же как и гвоздику!
6) греть до состоянния - горячий напиток

Взял с bash.org.ru

вторник, 9 июня 2009 г.

Программа для создания тестов кода.

Написал мелкую софтину для генерации тестов по исходному коду. Пока поддерживает только язык С. примеры имеются в поставке.
Ссылка для скачивания.

среда, 3 июня 2009 г.

вторник, 2 июня 2009 г.

Цикл статей про Git

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

четверг, 21 мая 2009 г.

Интересная задачка про зеркало

Задачка, которая способна занять отдел программистов как минимум на час. 

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

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


Взято с Алена C++

среда, 20 мая 2009 г.

Цитата с баша

Снял он обувь – стал пониже,
Снял пальто – и стал худее.
Без костюма – лоск пожиже,
Без очков – на вид глупее.
Шапку скинул – плешь наружу,
Без перчаток – руки – крюки.
Без жилета – грудь поуже,
Зубы вынул – хуже звуки.
Без портфеля – вид попроще,
Без мобильника – как нищий.
Скинул майку – вовсе тощий,
Сбрил усы – Такой носище!
Посмотрела – засмеялась!
Как важна вещей опека!
Снять трусы ему осталось –
И не будет человека!

вторник, 19 мая 2009 г.

Персидские поговорки

Беспечный и мертвый - одно и то же.
Бог знал, что такое осел, и поэтому не дал ему рогов.
Бойся того, кто тебя боится.
Враги делятся на три разряда: враг, враг друга, друг врага.
Высокое имя лучше высокой крыши.
Гнедой не хуже серого.
Гора к горе не придет, а человек к человеку приходит.
Дурак похвалу любит.
Если бы молитвы детей осуществлялись - ни одного учителя не осталось бы в живых.
Если бы товарищество было хорошим делом, то и бог взял бы себе компаньона.
Если нет двери, зачем привратник?
Если осел не подходит к грузу - подвинь груз к ослу.
Если отвернулось счастье, что пользы в мужестве?
Если себя считаешь усталым, то друга считай мертвым.
Жаловаться - дело женское.
И ворам товарищ, и каравану друг.
Камень ломает камень.
Когда мог, то не знал, а когда узнал, уж не мог.
Коли ты хирург, вправь сначала собственные кишки.
Кто боится волков, не разводит овец.
Кто щедр, тому не нужно быть храбрым.
Куда ни пойдешь, небо везде одного цвета.
Лев не станет питаться собачьими объедками, даже если умирает с голоду.
Любишь свою мать - не оскорбляй мою.
Меч, который не полируют, ржавеет.
Можно убить живого, но как оживить мертвого?
Мужчина тот, кто сомкнет уста и засучит рукава.
Мужчина, купивший вторые штаны, уже задумывается о новой жене.
Наелся досыта фруктов - не ломай веток.
Наткнулся нож на кость.
Не бойся крикливого, а бойся молчаливого.
Не будь женой осла, а если уж стала - неси ослиный груз.
Не вышло, как мне хотелось, а вышло, как бог захотел.
Не дашь - не получишь.
Не опытный вор лезет в сарай с сеном.
Не пойманный вор - царь.
Невеста потому не выходит из дома, что у нее нет чадры.
Нельзя всех погонять одной палкой.
Ненакрытый обеденный стол имеет один недостаток, а накрытый - тысячу.
Нет жены - нет печали.
Ни одна кошка не станет ради бога мышей ловить.
Нищему лучше известно, кто скуп.
Нож свою ручку не режет.
Оба тяжущихся не возвращаются от судьи довольными.
Обидеть друзей - угодить врагам.
Один гость ненавидит другого, а хозяин - обоих.
Одна роза - еще не весна.
Он горох для каждого супа.
От большой беготни только обувь рвется.
Пловец-то он отменный, только вот воды найти не может.
Плохой баклажан никакая гниль не берет.
Подметай дом друзей и не стучись в двери врагов.
Позвал собаку - бери в руки палку.
Пока есть на свете дураки, разорившийся не останется без хлеба.
Поле мечтаний просторно.
Прежде чем красть минарет, выкопай яму (чтобы его туда спрятать)
Работа задаром лучше безделья.
Разгаданная загадка кажется легкой.
Расходы на запоздалого гостя - за его счет.
Роза - друг шипа.
Руку, которую не можешь отрубить, целуй.
С гадальщиком он поэт, с поэтом он гадальщик, с ними обоими он никто, без них он то и другое.
С какой бы стороны ни остановить убыль - все равно прибыль будет.
Сговорись со старостой и грабь деревню.
Сердце не скатерть, перед каждым не раскроешь.
Скорпион жалит не из злобы, а по природе.
Слепой в своем деле зрячий.
Слово рождает слово.
Сначала с друзьями поладь, а потом уж на врагов нападай.
Собака лает; а караван идет.
Советуйся с тысячью людей, а тайну свою раскрывай одному.
Спешить - плохо, но в добром деле - похвально.
Спящий спящего не разбудит.
Сто друзей - мало, один враг - много.
Строгость учителя лучше ласки отца.
Счет счетом, а брат братом.
Теленок мой состарился, но быком не стал.
То, что ты читал, мы наизусть знаем.
Тянет лямку осел, а ест кляча.
У кого нет осла, у того нет печали.
Ум людей - в их глазах.
Умный враг лучше глупого друга.
Ученый хоть знает, да спросит, а невежда не знает и не спрашивает.
Хочешь сделать доброе дело - отбрось колебания.
Человек спрятан за своими словами.
Чем больше роешь, тем больше воняет.
Что уместно, то приятно.
Я вышла замуж, чтобы брови красить, а не заплаты шить.
Язык из мяса, куда повернешь, туда и поворачивается.

понедельник, 20 апреля 2009 г.

Git + Fat32 на флещке

При монтировании флешке в Linux файлы из репозитария git все записаниы в нижнем регистре. Чтобы это исправить к параметрам монтирования нужно добавить  shortname=mixed.Спасибо alexott

четверг, 5 марта 2009 г.

Математические библиотеки для С++

На сайте oonumerics.org есть список библиотек, используемых 
для различных математических расчетов. Немалая  их часть на C++.

среда, 4 марта 2009 г.

Данные для машинного обучения

На сайте http://archive.ics.uci.edu размещен набор данных, для машинного обучения. Их можно использовать в обучении нейросетей, генетических алгоритмов, и .т.д.

Данные для машинного обучения.

на сайте http://archive.ics.uci.edu размещен набор данных, для машинного обучения

четверг, 12 февраля 2009 г.

Emacs, muse, русский язык

При использовании режима muse не отображаются русские буквы в Wiki Словах (заголовках, ссылках.) Лечится это имзменением переменной variable-pitch с помощью customize-face.
Спасибо Alexx Ott за совет.

Basik в Haskell

Взято с форума rsdn (http://www.rsdn.ru/forum/message/3289552.1.aspx).
С помошью модуля Language.Basic (http://hackage.haskell.org/cgi-bin/hackage-scripts/package/BASIC) Можно использовать код на Basic в Haskell.

понедельник, 9 февраля 2009 г.

Boost 1.38

Вышла новая версия библиотеки boost. Кроме новых библиотек, переход на систему сборки cmake.

Языки программирования в черном.

Пересмотрел фильм "Люди в черном" и понял, что есть язык программирования J (jsoftware.com) и K (kx.com), по примеру фильма надо создать их версию Z (он был их начальником в фильме, а также главой организации)

среда, 4 февраля 2009 г.

Unix way

Есть программа на С++, которая является тестом, разработанного мною генетического алгоритма. Если её запустить с параметом enable_dump, то она на каждом шаге будет выводить на экран фитнесс всех хромосом. Есть программа которая преобразует файл такого формата (первой программы), в в следующий вид:
среднее значение фитнесса ; номер поколения

Так же имеется скрипт на языке R следующего вида:

draw.field<- function(src){    ftns=read.table(src,sep=";");    plot(ftns[,1],type="l"); } ps.field <- function(src,dst){ postscript(file=dst);  draw.field(src); dev.off(); }
Теперь для получения графика, показывающего сходимость алгоритма 
необходимо выполнить следующее:
  1. Запускаем программу 1 и перенаправляем вывод в файл dump.csv
  2. преобразуем файл dump.csv скриптом 2 в файл dump.4r.csv
  3. рисуем график.
Получается C++ -> Python -> R -> Postscript. Unix way :)

Замена ICQ на Jabber

После очередного загона icq меня этот сервис окончательно достал. В качестве альтернативы для общения выбрал Jabber, а в качестве клиента выбрал PSI, как наиболее удобный для меня.

пятница, 16 января 2009 г.

Тихой сапой

Часто встречал выражение "тихой сапой". Вот какое оьъяснение нашел на www.otrezal.ru:
Слово «сапер», разумеется, вам известно. У нас оно взято из французского языка и буквально означает: «Тот, кто занимается сапой». Возникает новый вопрос: что такое «сапа»?
Из области французского языка переселимся во владения итальянского. В Италии «цаппа» - заступ, лопата для земляной работы. Заимствованное отсюда во французский язык, слово это превратилось во французское «сап» и получило значение «земляных, окопных и подкопных работ», а из него выросло слово «сапер».
У нас в военный язык тоже проник термин «сапа», и появилось выражение «тихая сапа» - работы, которые ведутся с особой осторожностью, без шума, с тем чтобы подобраться к противнику незаметно, в полной тайне.
Когда же это выражение распространилось широко и в общем языке, оно там получило значение: осторожно, в глубокой тайне и не спеша.
Применяют его только к какой- либо предосудительной деятельности- всяким интригам, козням и «подкопам».

вторник, 13 января 2009 г.

Язык программирования Fun

Нашел ссылку на ru_lambda о языке для студентов fun. Проект создан для обучения студентов функциональному программированию и ооп.С офф. сайта: Предельно простой функциональный язык программирования, изначально разработанный как основа для практических задач в рамках курса объектно-ориентированного программирования на математико-механическом факультете УрГУ.
http://code.google.com/p/fun-lang/wiki/WhyFun

список книг по генетическим алгоритмам.

По ссылке список книг по генетическим алгоритмам.

Интервью с Guido van Rossum

Опубликованно интервью с Guido van Rossum. 

суббота, 10 января 2009 г.

USB модем от Билайн

Если вставить это устройство в компьютер с Linux,то оно определяется как CD-ROM.