-
Notifications
You must be signed in to change notification settings - Fork 0
/
tipuesearch_content.json
1 lines (1 loc) · 178 KB
/
tipuesearch_content.json
1
{"pages":[{"url":"http://lazycoder.ru/about","text":"Добро пожаловать. Это блог \"Записки ленивого кодера\". Я надеюсь, здесь вы найдете нечто полезное для себя. Кто я? Меня зовут Дмитрий Калинин. Я автор и создатель блога lazycoder.ru . Сетевой хомячок и ленивый программист. Область моих интересов лежит в рамках информационных технологий и прочего продукта научно-технической мысли. Также люблю кататься на велосипеде и хорошую музыку. О чем этот блог? Блог посвящен компьютерной и околокомпьютерной тематике: делюсь своими мыслями, событиями из жизни, а также комментариями на те или иные новости из мира IT. Блог был создан в 2008 году и с тех пор кочует по различным бесплатным хостингам и платформам. В данный момент сайт размещен на github'е и создается генератором статических сайтов Pelican . Зачем? Создание блога преследовало собой несколько целей: получить некоторый опыт в веб-разработке, иметь площадку для размещения собственных проектов и научиться четко и ясно выражать свои мысле в тексте. В блог пишу достаточно редко(надо сказать и невсегда метко) и связано это в первую очередь с ленью. Кстати, мои личные поделки и разработки можно посмотреть по тегу #myworks или на github.com . Как со мной связаться? Основным способом связи со мной был и остается мой почтовый ящик: dem.mort[at]gmail.com . Сервисы, где меня еще можно найти: Вконтакте - http://vkontakte.ru/fake_id Twitter - http://www.twitter.com/mortis_ht","tags":"blog","title":"О блоге"},{"url":"http://lazycoder.ru/blog/ftp-updates-search","text":"По работе возникла необходимость следить за обновлениями каталогов на удаленном FTP. Сам по себе список достаточно большой вложенности, поэтому обходить их вручную не было никакого удовольствия. Желание всё это автоматизировать вылилось в написание питонического скрипта. Входные параметры: DAYS - количество дней за которые проверять обновления; HOST - ftp-сервер; INFILE - пути к каталогам в которых проверять обновления; OUTFILE - выходной файл, файлы которые были обновлены за последние DAYS дней. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 import ftplib , datetime , re , sys , time DAYS = 7 HOST = 'ftp.gnu.org' INFILE = \"folderlist.txt\" OUTFILE = \"fresh_files.txt\" def get_file_info ( ftp_file_row = \"\" ): now = datetime . datetime . now () fileinfo = re . findall ( \"(d?).*?((?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\" \"*?[0-3][0-9] *?[0-9][0-9]:?[0-9][0-9]) *(.+)\" , ftp_file_row )[ 0 ] isDir = fileinfo [ 0 ] == \"d\" ftpDate = fileinfo [ 1 ] filename = fileinfo [ 2 ] ftpDate = \" \" . join ( ftpDate . split ()) if \":\" in ftpDate : fileDate = datetime . datetime . strptime ( ftpDate , \"%b %d %H:%M\" ) fileDate = fileDate . replace ( year = 2014 ) if fileDate > now : fileDate = fileDate . replace ( year = 2013 ) else : fileDate = datetime . datetime . strptime ( ftpDate , \"%b %d %Y\" ) return isDir , fileDate , filename def is_date_in_range ( adate , adays = 7 ): now = datetime . datetime . now () return adate > now - datetime . timedelta ( days = adays ) def get_ftp_fresh_files ( pathList , serverAdr ): freshFilesList = [] ftp = ftplib . FTP ( serverAdr ) ftp . login () ftp . cwd ( \"/\" ) stack = list ( pathList ) while stack : # time.sleep(0.5) curPath = stack . pop () if curPath == \"/\" : curPath = \"\" print curPath dirContens = [] ftp . dir ( curPath , lambda s : dirContens . append ( get_file_info ( s ))) for isDir , fileDate , fileName in dirContens : if not ( fileName == \"..\" or fileName == \".\" ): if isDir : stack . append ( curPath + \"/\" + fileName ) if is_date_in_range ( fileDate , DAYS ): freshFilesList . append (( fileDate , curPath + \"/\" + fileName )) ftp . quit () return freshFilesList def main (): folderlist = [] using open ( INFILE , \"r\" ) as f : for line in f : folder = \"\" . join ( line . split ( \" \\n \" )) if folder : folderlist . append ( folder ) print \"Start getting files\" l = get_ftp_fresh_files ( folderlist , HOST ) print \"Done!\" l = sorted ( l , key = lambda x : x [ 0 ], reverse = True ) using open ( OUTFILE , \"wb\" ) as outfile : for row in l : outfile . write ( row [ 0 ] . strftime ( \" %d .%m.%Y %H:%M\" ) + \" \" + row [ 1 ] + \" \\n \" ) return 0 if __name__ == \"__main__\" : main ()","tags":"blog","title":"Поиск обновлений на FTP-сервере"},{"url":"http://lazycoder.ru/blog/python-download-manager","text":"Немного добаботал свой стародавний микро-модуль для загрузки файлов из сети. Что было сделано: привел в порядок код; добавил отображение полосы и скорости загрузки; обработка и отображение ошибок; теперь загрузка происходит в файл с расширением .pyflget и по завершении загрузки переименовывается в исходный; безопасная загрузка: локальный файл с таким же именем не заменяется; публикация проекта на github.com Пример использования: 1 2 3 4 5 6 7 8 9 from pyfileget import download , DownloadError path = \"path/to/save\" url = \"http://mirror.yandex.ru/ubuntu-releases/13.10/ubuntu-13.10-desktop-i386.iso\" try : newPath = download ( url , path ) except ( DownloadError , KeyboardInterrupt ), e : print e , \"Download aborted. \\n \" else : print \" \\n File [ %s ] has been downloaded. \\n \" % newPath Загрузить весь проект вместе с модулями pynetspeed и downloaderror можно на странице проекта на github.com .","tags":"blog","title":"Менеджер загрузки на python"},{"url":"http://lazycoder.ru/blog/lxml-pip-install","text":"При установке lxml через менеджер python-пакетов pip могут возникнуть неизвестные ошибки, которые мало о чем говорят, и понять, что они возникают из-за отсутствия в системе определенных пакетов практически невозможно. Вот некоторые из ошибок: 1 /usr/bin/ld: cannot find -lz 1 2 UnicodeDecodeError: 'ascii' codec can ' t decode byte 0xef in position 1: ordinal not in range ( 128 ) С разных топиков stackoverflow мне удалось собрать необходимый полный набор пакетов для успешной установки lxml. Установка: 1 sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev python2.7-dev После этого lxml должен успешно установиться: 1 pip install lxml","tags":"blog","title":"Установка lxml через pip"},{"url":"http://lazycoder.ru/blog/vkontakte-music-download","text":"В свете принятия последних законов, а также после удаления n-ного количества моих аудиозаписей из ВК поневоле начинаешь задумываться о сохранении своей аудиоколлекции. За несколько лет размер моего плейлиста ВКонтакте достиг почти двух тысяч треков. Для сохранения всего этого счастья был написан нижеследующий модуль(естественно на python): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 # -*- coding: utf-8 -*- import urllib , urllib2 , cookielib , re , sys , os headers = { 'User-Agent' : 'Mozilla/5.0 (X11; Ubuntu; Linux i686 ; rv : 26.0 ) Gecko / 20100101 Firefox / 26.0 '} class VKError ( Exception ): pass def delWebchars ( str ): webchars = re . findall ( '&.*?;' , str ) for ch in webchars : newch = ch if ch [ 1 ] == \"#\" : newch = unichr ( int ( ch [ 2 : - 1 ])) else : if ch . lower () == '\"' : newch = ' \\\" ' elif ch . lower () == \"&\" : newch = \"&\" str = str . replace ( ch , newch ) str = str . replace ( \";\" , \"\" ) str = str . replace ( os . sep , \"\" ) return str def getVKIP_h (): ip_h = re . findall ( '.+?ip_h=(.+?)\\&' , urllib . urlopen ( \"http://vk.com\" ) . read ()) return ip_h [ 0 ] def VKlogin ( nickname , password ): print \"Preparing\" cookie = cookielib . CookieJar () opener = urllib2 . build_opener ( urllib2 . HTTPCookieProcessor ( cookie )) urllib2 . install_opener ( opener ) ip_h = getVKIP_h () data = { \"act\" : \"login\" , \"ip_h\" : ip_h , \"_origin\" : \"http://vk.com\" , \"email\" : nickname , \"pass\" : password } sendData = urllib . urlencode ( data ) req = urllib2 . Request ( \"http://login.vk.com\" , sendData , headers ) page = urllib2 . urlopen ( req ) . read () matches = re . findall ( \".+?(login.php).+?\" , page ) #dont work search or match if len ( matches ) != 0 : raise VKError ( \"Login failed!\" ) def getVKAudiopage ( id , pageNumber = 0 ): data = { \"act\" : \"load_audios_silent\" , \"id\" : id , \"please_dont_ddos\" : \"2\" , \"al\" : \"1\" } sendData = urllib . urlencode ( data ) req = urllib2 . Request ( \"http://vk.com/audio.php\" , sendData , headers ) page = urllib2 . urlopen ( req ) . read () audiopage = unicode ( str ( page ), 'cp1251' ) matches = re . findall ( \".+?(.mp3).+?\" , audiopage ) #dont work search or match if len ( matches ) == 0 : raise VKError ( \"Receiving audiopage error.\" ) return audiopage def getVKAudiolinks ( audiopage ): names = re . findall ( '.+?\\[ \\' .+? \\' , \\' (.+?) \\' , \\' (http://.+?\\.mp3).+?, \\' .*? \\' , \\' .*? \\' , \\' (.+?) \\' , \\' (.+?) \\' ' , audiopage ) linklist = [] for name in names : trackId = name [ 0 ] artist = name [ 2 ] . title () song = name [ 3 ] . title () filename = artist + \" - \" + song + \".mp3\" filename = \" \" . join ( delWebchars ( filename ) . split ()) #if not any(filename==fl link,fl in linklist): #dublicate search linklist . append (( name [ 1 ], filename , trackId )) linklist = list ( set ( linklist )) #remove dublicates return linklist def getVKAudio ( email , password , id ): lst = [] try : if not email or not password : raise VKError ( \"Error. Login or password are not specified.\" ) print \"Logging.\" VKlogin ( email , password ) print \"Successfully logged.\" print \"Receiving audiopage.\" page = getVKAudiopage ( id ) print \"Parsing audio.\" lst = getVKAudiolinks ( page ) print \"Successfully parsed %d songs.\" % len ( lst ) except VKError , e : print e sys . exit ( 1 ) except Exception , e : print e sys . exit ( 1 ) return lst Код немного кривой, но работает. После выполнения функции 1 getVKAudio ( логин , пароль , id ) на выходе получаем список кортежей вида: (http://cs1-41v4.vk.me/p22/c8134a62fe9ff9.mp3, David Bowie - Heroes.mp3, 255957177) где последний элемент - ID трека в базе данных ВКонтакте. Далее список можно использовать в своих интересах. Например записать в файл и скормить любимому download-менеджеру: 1 2 3 4 5 6 7 outfilename = \"VKdownloadlist.txt\" sep = \";\" audlist = getVKAudio ( email , password , userid ) outfile = open ( outfilename , \"wb\" ) for link , filename in audlist : outfile . write (( link + sep + filename + \" \\n \" ) . encode ( \"utf-8\" )) outfile . close () Следующим шагом будет написание полноценного скрипта для односторонней синхронизации локальной директории и аудиоколлекции ВКонтакте.","tags":"blog","title":"Получение ссылок на аудиозаписи ВКонтакте"},{"url":"http://lazycoder.ru/blog/red-orchestra-2-impressions","text":"Вот, решил опубликовать свои впечатления от игры, которую давно ждал, так как являюсь поклонником первой части. Подтвердились ли мои ожидания? Скорее нет, чем да. Вот список того, что мне понравилось/не понравилось в новой части игры: Понравилось: Передвижение в положении лёжа теперь более реалистичное, в частности при повороте \"вокруг своей оси\"; Перезарядка пулемета без необходимости установки его в боевое положение; Более точные ПП; Дозарядка винтовок по одному патрону(хотя лучше было сделать это как способность открывающуюся с опытом); Стационарные пулемёты; Медленная смерть; Возможность перелезать через преграды; Реалистичные звуки выстрелов; Действия(бег, смена оружия) сбрасывающие процесс перезарядки; Возможность иметь сразу два оружия; Не понравилось: Излишне точные ПП; Слишком быстрый бег; Уменьшение чувствительности мыши при прицеливании(не реалистично). Возможно такой доход оправдывает себя при прицеливании из положения лежа, но уж никак не в положении стоя. Очевидно, это было сделано для более удобного прицеливания и ориентировано на массового игрока. Отсутствие атмосферы первой части игры(возможно, некой массовости; бои стали локальнее); Наличие пистолетов у стрелков(не всегда, зависит от сервера); Меньший набор оружия по сравнения с первой частью. Пусть, каких-то образцы и не применялись во время Сталинградской битвы, но было бы гораздо веселее. (панцерфауст) Отсутствие \"Практики\"; Неудобная система укрытий(first person cover system); Отсутствие необходимости подбирать патроны отдельно; Мало по-настоящему интересных карт(всего две или три); Тормоза. Другие игры на UnrealEngine 3 идут на моей машине довольно сносно(UT3) на примерно средних настройках графики. RO2 же не дает более или менее комфортно играть минимальных.","tags":"blog","title":"Впечатления от Red Orchestra 2: Heroes of Stalingrad"},{"url":"http://lazycoder.ru/blog/math-jokes","text":"Наткнулся на канале Intel на, как мне кажется, на однин из самых смешных рекламных роликов этой компании. Хочется верить, что титры не врут и в ролике действительно играют люди занимающие в Intel высокие должности. Кстати, оказывается Intel сделала ремейк более старого ролика:","tags":"blog","title":"Математики шутят"},{"url":"http://lazycoder.ru/blog/phpmyadmin-login-without-password","text":"Если при установке phpmyadmin для lamp не установить рутовый пароль, то phpmyadmin не пускает в админку, ругаясь на отсутствие пароля. Исправить это можно редактированием файла config.inc.php , в моей убунте его можно найти по следующему пути: /etc/phpmyadmin/ В файл следует добавить следующую строчку: $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;","tags":"blog","title":"Логин в phpmyadmin без пароля"},{"url":"http://lazycoder.ru/blog/vse-skloneniya-slov-python","text":"Не помню уже для чего понадобилось мне получать все склонения слова без повторений. Была написана простейшая программа, которой на вход подается файл со словами для склонения, разделенных символом новой строки, и на выходе файл со всеми склонениями исходных слов. В качестве склонятора выбрал веб-сервис яндекса, который можно найти по адресу: http://nano.yandex.ru/project/inflect/ . Быть может кому-нибудь пригодится. Собственно, код: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 # -*- coding: utf-8 -*- import urllib2 , re , sys , getopt def getInflections ( xmlpage ): words = re . findall ( '(.*)' , xmlpage ) return words def infs2file ( file , newfile = None ): try : infile = open ( file ) except IOError : return False url = \"http://export.yandex.ru/inflect.xml?name=\" if newfile == None : outfile = open ( \"infs_\" + file , \"w\" ) else : outfile = open ( newfile , \"w\" ) sourceWords = infile . readlines () for word in sourceWords : page = urllib2 . urlopen ( url + word ) . read () #получаем список слов из xml newWords = getInflections ( page ) #удаляем дубликаты из списка newWords = list ( set ( newWords )) #пишем в файл for inflection in newWords : print >> outfile , inflection return True def usage (): print \"\"\"Infs2File - automatic get words inflections through Yandex Nano Inflector Project. Usage: infs2file [[KEY] FILE] Keys: -h, --help print this message -o, --outputfile new file with inflections of words from source file. Default name of output file is infl_FILE \"\"\" def main (): try : opts , args = getopt . getopt ( sys . argv [ 1 :], \"ho:\" , [ \"help\" , \"outputfile=\" ]) except getopt . GetoptError , err : print str ( err ) # will print something like \"option -a not recognized\" Usage () sys . exit ( 2 ) try : inputfile = args [ 0 ] except IndexError , err : Usage () sys . exit ( 2 ) outputfile = None for o , a in opts : if o in ( \"-h\" , \"--help\" ): usage () sys . exit () elif o in ( \"-o\" , \"--outputfile\" ): outputfile = a else : assert False , \"unhandled option\" if infs2file ( inputfile , outputfile ): print \"Succesfully done!\" else : print \"Somewhere error :-)\" if __name__ == \"__main__\" : main ()","tags":"blog","title":"Получаем все склонения слов на python"},{"url":"http://lazycoder.ru/blog/displaying-php-errors-lamp","text":"По умолчанию после установки lamp php-интерпретатор не отображает ошибки выполнения скрипта. Исправить это можно отредактировав файл php.ini . В моей ubuntu 10.04 этот файл находится по адресу: /etc/php5/apache2 . Итак, в файле нужно изменить значение параметра display_errors на On . В итоге строчка должна выглядеть так: display_errors = On Всё, теперь ошибки должны отображаться.","tags":"blog","title":"Отображение ошибок php в lamp"},{"url":"http://lazycoder.ru/blog/avtozapusk-sluzhb-ubuntu","text":"В старый версиях убунты, помнится, была гуевая утилитка для этих целей. В используемой мной 10.04 её нет, и в предыдущей 9.10 этой программы также не было(имеется виду из коробки). По большему счету, описанные ниже способы подойдут для большинства современных дистрибутивов linux, но тестил это все я только на своей ubuntu 10.04. Самый простой способ управления службами это использование программы bum ( BootUp Manager ). Программа присутствует в стандартном репозитории, но у меня она работает через раз, не держит gtk-тему, а кириллицу в описании некоторых сервисов вообще не отображает. Установить BootUp Manager можно следующей командой: sudo apt-get install bum Существуют еще как минимум два способа управления службами в ubuntu: первый - это использование консольной утилиты rcconf (на данный момент пользуюсь именно ей). Установить rcconf можно следующей строкой: sudo apt-get install rcconf Второй способ - ручной, то есть вручную переименовывать линки в папках /etc/rcX.d , где Х - 1,2,3,4,5,S уровни запуска служб; K - отключен запуск, S - включен. На форумах пишут, что службы в ubuntu переводят из под sysv-rc под управление upstart , возможно поэтому хоть и через rcconf я отключил сервис mysql, в процессах по-прежнему висит демон mysqld, хотя может это кривость рук сыграла свою роль. :-)","tags":"blog","title":"Управление автозапуском служб в ubuntu"},{"url":"http://lazycoder.ru/blog/statpress-encoding","text":"Для просмотра статистики по сайту, использую плагин Statpress. Обнаружил, что в показаниях этого плагина некоторые русскоязычные поисковые запросы(особенно от яндекса) отображаются знаками вопроса и кракозябрами. Эту проблему можно частично исправить поменяв кодировку таблицы в которой statpress хранит данные на ту в которой работает ваш wordpress, скорее всего это utf8_general_ci . Если для этого использовать phpmyadmin, то креме изменения кодировки таблицы в целом, нужно изменить кодировку каждого поля в отдельности. Сделать это можно через вкладки Операции и Структура соответственно. После этих действий некоторые запросы(уже меньше) по-прежнему отображаются символами вопроса, из-за чего я так и не понял. Возможно яндекс оставляет текст запроса в той кодировке, в которой его набрал пользователь.","tags":"blog","title":"Кодировка запросов Statpress"},{"url":"http://lazycoder.ru/blog/get-podcasts-rpod","text":"Все-таки питон удобен. Нужно было скачать все подкасты \"Сиськи-письки Шоу\", пару строчек на питоне и получаем текстовый файл со ссылками, который можно скормить любому менеджеру закачек(тому же православному wget 'у). Пара строчек: 1 2 3 4 5 6 7 8 9 #!/usr/bin/python # -*- coding: utf-8 -*- import urllib , re page = urllib . urlopen ( \"http://siski-piski-show.rpod.ru/rss.xml\" ) . read () urls = re . findall ( \"(http://.*.mp3)\" , page ) outfile = open ( \"/output_file.txt\" , \"w\" ) for url in urls : outfile . write ( url + \" \\n \" ) Некоторые менеджеры загрузки умеют извлекать ссылки из xml, но узнал я это уже после написания этого скрипта.","tags":"blog","title":"Получаем подкасты rpod.ru с помощью python"},{"url":"http://lazycoder.ru/blog/free-lastfm-3","text":"Существует еще и третий способ прослушивания last.fm, также как и второй требующий наличия аккаунта Вконтакте. Итак, для того чтобы начать прослушивание музыки необходимо приложение Твое Радио, оно существует как в виде приложения для Вконтакте, так и в виде декстоп-программы(Windows, Linux, Mac). Не очень понимаю пользу такой программы, так как оно просто открывает в отдельном окне тот же самый фрейм, что и приложение для ВК. Приложение позволяет слушать музыку по тегам и похожим исполнителям, также присутствует возможность прослушивания персонального радио из исполнителей вашей коллекции аудиозаписей вконтакте. Скробблинг на ласт.фм также присутствует. Это, конечно, не полноценная замена last.fm, но хотя бы еще что-то. :-) Приложение можно найти по адресу: http://vkontakte.ru/app1832282 . Там же можно найти ссылки на десктоп-программы.","tags":"blog","title":"Бесплатно слушать last.fm. Третий способ"},{"url":"http://lazycoder.ru/blog/screenshot-editor","text":"Наткнулся на очень полезную программулину - Shutter. Она предназначена для снятия и последующего редактирования скриншотов. Причем делать снимки можно не только всего экрана или окна в фокусе, но даже контекстных меню и всплывающих подсказок. Встроенный графический редактор, конечно, самый простейший, но имеет все необходимое для работы со скринами. Например, можно легко нарисовать стрелку, написать текст или выделить необходимый фрагмент прямоугольником. Еще одна полезная фича это возможность прямо из программы загрузить изображение на один из популярных фотохостингов, либо на ftp-сервер, или вообще в Ubuntu One. К сожалению, программа не кроссплатформенна и доступна лишь для операционных систем на базе linux. Сайт программы — shutter-project.org","tags":"blog","title":"Редактор скриншотов"},{"url":"http://lazycoder.ru/blog/mass-images-edit","text":"Для этих целей можно, конечно, воспользоваться и графическими утилитами, но это было бы долго, нудно и скучно, особенно когда у нас есть такой инструмент как консоль. ImageMagick - это консольный графический редактор позволяющий проводить все те операции над изображениями, что и в привычном гуёвом графическом редакторе, используя лишь параметры командой строки. С помощью ImageMagick можно выполнять следующие операции(в скобочках только некоторые из них): Операции с цветом(перевод в оттенки серого, пастеризация, инвертирование); Операции с освещённостью(настройка контраста, нормализация, гамма-коррекция); Геометрические операции(изменение размера, кадрирование, поворот); Фильтры(размытие, выделение краев, увеличение резкости); и так далее... Например, чтобы уменьшить размер изображения в два раза достаточно выполнить следующую команду: convert -resize 50% image.jpg small_image.jpg Значения можно выставлять и в пикселях. Для пакетной же обработки воспользуемся стандартными консольными операторами. В *nix это будет выглядеть так: for fname in *.jpg; do convert -resize 640 $fname new_$fname; done Эта же операция в Windows: for %fname in (*.jpg) do convert -resize 640 %fname new_%fname; В моей Ubuntu 10.04 ImageMagick установлен в системе по умолчанию, для более ранних версий дебианов пакет можно установить выполнив следующую команду: sudo apt-get install imagemagick Версию для Windows можно найти на официальном сайте . Там же можно найти и подробный мануал, правда на английском. Относительно подробная информация на русском: mydebianblog.blogspot.com","tags":"blog","title":"Пакетная обработка изображений"},{"url":"http://lazycoder.ru/blog/linux-command-list","text":"Еще пара справочников полезных консольных команд и программ с кратким описанием в linux и в Ubuntu в частности. Вот тут список команд bash и некоторых консольных программ linux подходящих практически для всех дистрибутивов; А вот здесь список общих команд для дистрибутива Ubuntu Linux.","tags":"blog","title":"Справочники команд Linux"},{"url":"http://lazycoder.ru/blog/my-toshiba-strip","text":"Почистил на днях свой ноутбук Toshiba Satellite L300 11Q следуя вот этим двум инструкциям: первая и вторая . Надо сказать, что хоть и опыта разборки ноутбуков у меня нет, но разборка этого, и как судя по всему всех от Toshiba, до смешного проста и тривиальна. Добавлять в Сеть еще одну статью об особенностях разборки и чистки ноутбука не буду, ибо и так этих статей там ни счесть, опишу только результат. А результат таков, что после чистки ноут значительно меньше греется и субъективно быстрее работает. Честно говоря, я не ожидал такого эффекта — разбирал во многом из чистого любопытства. Так что если вы только думаете о том, разбирать или не разбирать, то смело разбирайте и чистите. Несколько фотографий процесса разборки:","tags":"blog","title":"Чистка ноутбука Toshiba L300 11Q"},{"url":"http://lazycoder.ru/blog/dropbox-vneshnie-katalogi","text":"Не буду рассказывать о том, что такое DropBox - все это уже и так знают, а если кто и не знает, то в сети куча инфы. Расскажу о том, как можно синхронизировать внешние каталоги, лежащие за пределами папки DropBox. Сделать это можно используя символические ссылки на необходимые каталоги или файлы. Символьная ссылка — специальный файл в файловой системе для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Теперь для того, чтобы дропбокс синхронизировал ваши внешние каталоги или файлы достаточно создать ссылки на них в папке DropBox, или же наоборот в нужных местах разместить ссылки, а оригиналы положить в папку DropBox. По моим наблюдениям, если в Windows использовать первый вариант, то сделанные изменения почему-то замечаются дропбоксом не сразу, а через некоторое время. Теперь о том, как создавать символические ссылки. Создание символической ссылки в *nix: 1 ln -s <имя_файла/каталога> <имя_ссылки> Кстати, в ubuntu в контекстном меню наутилуса есть пункт для создания ссылок не прибегая к помощи консоли. Создание символической ссылки в Windows Vista/7: 1 mklink [ /d] <имя_ссылки> <имя_файла /каталога> Параметр /d отвечает за создание символической ссылки на каталог. Создание символической ссылки в Windows XP: 1 linkd <имя_ссылки> <имя_файла /каталога> Работоспособность этого варианта не проверял, ибо XP давно не пользуюсь. Больше о ссылках в Windows можно прочитать в статье на хабре .","tags":"blog","title":"DropBox. Внешние каталоги"},{"url":"http://lazycoder.ru/blog/handmade-flashdrive","text":"Идея создания самодельного корпуса для моей флешки давно крутилась у меня в голове, да и в интернетах в последнее время стало появляться множество постов о самодельных корпусах. Решил и я выложить результат своих трудов.В качестве материала выбрал дерево как наиболее доступный и приятный глазу. К сожалению, у меня нет фотографий самого процесса изготовления корпуса, есть только фото того, что в итоге получилось. Из-за того, что плата шире чем сам USB-коннектор пришлось делать корпус из двух половинок и далее обтачивать уже склеенную флешку. Склеивал обычным китайским суперклеем. В попытках сделать корпус как можно тоньше допустил ошибку протерев наждачной бумагой одну из половинок до дыр. Дабы это не повредило конструкции прокапал щели клеем. На фотографиях этот дефект почти не заметен, ну разве что на самой первой. 300 - 225","tags":"blog","title":"Самодельный корпус для флеш-накопителя"},{"url":"http://lazycoder.ru/blog/tarkovsky","text":"Хоть я и не большой любитель стихов, но этот чем-то действительно зацепил: Вот и лето прошло, Словно и не бывало. На пригреве тепло. Только этого мало. Всё, что сбыться могло, Мне, как лист пятипалый, Прямо в руки легло. Только этого мало. Понапрасну ни зло, Ни добро не пропало, Всё горело светло. Только этого мало. Жизнь брала под крыло, Берегла и спасала. Мне и вправду везло. Только этого мало. Листьев не обожгло, Веток не обломало... День промыт, как стекло. Только этого мало. Арсений Тарковский. Стихи разных лет.","tags":"blog","title":"А. Тарковский. Только этого мало"},{"url":"http://lazycoder.ru/blog/increase-fps-red-orchestra","text":"Имея средний компьютер моя Red Orchestra никак не хотела работать с частотой кадров выше 40(да, для меня мало). Даже скручивая настройки графики и эффектов на минимум fps, в лучшем случае, поднимался кадров на десять. Нужно было найти решение проблемы. Не найдя на русскоязычных форумах подобной информации, решил написать то, что нашел на западных. Чтобы поднять частоту кадров нужно в файле RedOrchestra.ini (его можно найти в подкаталоге System каталога игры) заменить строку: CacheSizeMegs=32 на CacheSizeMegs=256 Значение можно и увеличить, например до 512, все зависит от размера оперативной памяти. Данный трюк увеличивает fps(во всяком случае у меня) в среднем на 25 кадров.","tags":"blog","title":"Увеличиваем FPS в Red Orchestra"},{"url":"http://lazycoder.ru/blog/name-version-distr","text":"Чтобы узнать название и версию дистрибутива linux достаточно в консоли выполнить следующую команду: 1 cat /etc/lsb-release Далее в терминале выведется примерно следующее: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.04 DISTRIB_CODENAME=lucid DISTRIB_DESCRIPTION=\"Ubuntu 10.04.2 LTS\"","tags":"blog","title":"Узнать название и версию дистрибутива"},{"url":"http://lazycoder.ru/blog/twitter-pidgin-support","text":"Одним из немногих недостатков пиджина в качестве мультипротокольного мессенджера было отсутствие встроенного плагина для работы twitter-лентой. Но теперь это в прошлом. Для того, чтобы иметь возможность полноценной работы с twitter потребуется плагин pidgin-microblog версии 0.3.0. В universe репозитории ubuntu 10.10 плагин этой версии присутствует изначально. Однако в репозитории 10.04 тот же плагин, но с версией 0.2.4 и на момент написания статьи вообще не работающий. Исправить такое положение вещей можно добавлением стороннего ppa репозитория : sudo add-apt-repository ppa:ikuya-fruitsbasket/ppa Установка плагина: sudo aptitude install pidgin-microblog Теперь осталось только включить плагин в настройках клиента. Сайт проекта на google code - http://code.google.com/p/microblog-purple/","tags":"blog","title":"Поддержка twitter в pidgin"},{"url":"http://lazycoder.ru/blog/couple-bash-commands","text":"Пока писал для себя кое-какой скрипт наткнулся на пару полезных команд в консоли linux: history - выводит список недавно использовавшихся команд. Бывает полезна, когда необходимо вспомнить параметры с которыми вызывалась та или иная команда. Пример использования: history | grep \"ln -s\" find вернее её параметр delete который удаляет все файлы, подходящие заданному критерию. Например команда find . -name \"*.exe\" -delete удаляет все файлы с расширением exe в текущей директории с рекурсивным проходом поддиректорий. Мелочь, а приятно :-)","tags":"blog","title":"Еще две команды bash"},{"url":"http://lazycoder.ru/blog/social-bookmarks-plugin","text":"В поисках плагина социальных закладок наткнулся на Sociable RE . Мне кажется это лучший из плагинов такого рода. Из достоинств можно отметить быстродействие, гибкие настройки и минималистичный вид, недостатков пока не обнаружил. Страница плагина на сайте создателя: http://www.jackyfox.com/plugins/sociable-re Кстати, Яндекс недавно запустил Блок «Поделиться» для тех же целей. Мне он не подошел в силу относительно медленной скорости загрузки.","tags":"blog","title":"Плагин для социальных закладок"},{"url":"http://lazycoder.ru/blog/online-applications-center","text":"Как известно, в Ubuntu(да и не только в ней) приложения можно устанавливать из веб-браузера используя ссылки вида http://apt.ubuntu.com/p/<название пакета> . Кстати такую ссылку можно получить и из стандартного Центра приложений. Но, оказывается есть еще и онлайновый Центр приложений, вернее его копия, которая, к слову сказать, работает куда шустрее чем стандартная приблуда в системе. Собственно, ссылка: http://appnr.com/","tags":"blog","title":"Онлайн Центр приложений"},{"url":"http://lazycoder.ru/blog/algorithms","text":"Иногда возникает потребность в каком-либо алгоритме, а времени изобретать оный просто нет. В этом случае помогут следующие сайты: http://e-maxx.ru/algo/ - алгоритмы на C++. http://sites.google.com/site/indy256/ - алгоритмы на Java.","tags":"blog","title":"Алгоритмы"},{"url":"http://lazycoder.ru/blog/gnome-terminal-keybindings","text":"В gnome-terminal для вставки/копирования используются старые, добрые сочетания клавиш: Shift-Insert и Ctrl-Insert . Это не всегда удобно, когда приходится одновременно работать с гуёвыми приложениями работающих на Ctrl-C / Ctrl-V . Настроить сочетания клавиш gnome-terminal можно используя команду: gconftool-2 -s /apps/gnome-terminal/keybindings/copy -t str \"<Control>c\" gconftool-2 -s /apps/gnome-terminal/keybindings/paste -t str \"<Control>v\" Здесь надо быть осторожным, так как комбинация Ctrl-C уже используется терминалом для остановки процессов.","tags":"blog","title":"Сочетания клавиш в gnome-terminal"},{"url":"http://lazycoder.ru/blog/changing-window-manager","text":"Как известно, при отключении compiz стандартными гуёвым способом(Система->Параметры->Внешний вид->Визуальные эффекты->Без эффектов) в gnome слетают все настройки сделанные через CompizConfig. Это не всегда удобно, когда приходится часто переключать оконные менеджеры. Можно конечно переключать их явно, используя консоль: metacity --replace; - включает метасити в качестве оконного менеджера compiz --replace; - включает компиз в качестве оконного менеджера Но такой способ имеет недостаток состоящий в том, что после перезапуска сеанса запустится тот менеджер, который установлен в системе как дефолтный. Вот здесь то и можно применить gconf. В gnome существует параметр отвечающий за сеансовый оконный менеджер по умолчанию. Изменить его можно следующим образом(меняем на компиз): gconftool-2 -s /desktop/gnome/session/required_components/windowmanager -t string compiz Ежу понятно, что на месте compiz можно написать и metacity. Теперь, чтобы изменения вступили в силу необходимо дополнительно выполнить команду: gnome-wm --replace","tags":"blog","title":"Смена оконного менеджера"},{"url":"http://lazycoder.ru/blog/free-lastfm-2","text":"На сайте last.vk.my/player/ можно делать все те же вещи, что и в оригинальном last.fm за исключением прослушивания радио рекомендаций(можно просмотреть список). Сервис парсит ваши данные из last.fm, а все аудиозаписи берет из обширнейшей коллекции вконтакте. Для работы сервис требует, чтобы вы уже были авторизованы вконтакте, это нужно для возможности добавления понравившихся композиций в лично вашу аудиоколлекцию на вк. Из недостатков еще можно отметить слегка запутанный интерфейс. Вот всё.","tags":"blog","title":"Бесплатно слушать last.fm - 2"},{"url":"http://lazycoder.ru/blog/pixel-worlds","text":"Хоть я и не большой любитель флэш-игр, но мимо этой не мог пройти. Имя ей - Small Worlds. В этой игре достаточно того, что я так люблю, 8bit'a и пиксель-арта, собственно поэтому она мне и пришлась по вкусу. Small Worlds не имея красивой графики обладает невероятной атмосферой и эффектом присутствия, если можно так сказать. В этом заслуга не только \"графики\", но и \"саундтрека\". Даже, наверное, заслуга больше саундтрека, нежели графики или чего-то другого. Сыграть в Small Worlds можно здесь","tags":"blog","title":"Пиксельные миры"},{"url":"http://lazycoder.ru/blog/qt-creator-encodings","text":"По умолчанию в Qt Creator'е под windows кодировка строк и файлов проектов задана как cp1251 соответственно приходится проекты изначально созданные в windows(linux) как-то вручную перекодировать для используемой ос. Всего этого можно избежать если установить в настройках Qt Creator кодировку файлов проекта и кодировку строк в программе в UTF-8. Для того чтобы установить кодировку строк в Qt нужно добавить в функцию main() следующие строки: 1 2 3 4 QTextCodec * cyrillicCodec = QTextCodec :: codecForName ( \"UTF-8\" ); QTextCodec :: setCodecForTr ( cyrillicCodec ); QTextCodec :: setCodecForLocale ( cyrillicCodec ); QTextCodec :: setCodecForCStrings ( cyrillicCodec ); Для правильной работы этот код нужно добавить до любого объявления виджетов. Плюс ко всему, понятное дело добавить #include <QTextCodec>","tags":"blog","title":"Кодировки в Qt Creator"},{"url":"http://lazycoder.ru/blog/gnome-recent-files","text":"Никогда не пользовался и не пользуюсь данной фичей ни в windows, ни в linux. Отключить отображения недавно использовавшихся файлов в главном меню gnome можно добавив в файл .gtkrc-2.0 следующие строки: gtk-recent-files-max-age=0 gtk-recent-files-limit=0 Файл .gtkrc-2.0 можно найти здесь: /home/<username>/ Если файл отсутствует, то создать его.","tags":"blog","title":"Недавние документы в Gnome"},{"url":"http://lazycoder.ru/blog/windows-taskbar","text":"Как говорится новое это хорошо забытое старое вот и новая панель задач в Windows 7 не стала исключением. А теперь посмотрим на панель задач из Windows 1.01 Большого опыта работы с новой панелью из windows 7 у меня нет, однако то что успел попробовать вызывает только отвращение. Это еще хорошо, что путем хитрых манипуляций можно восстановить поведение панели к более привычному виду, хотя то, что дается по умолчанию, \"из коробки\" явно неудобно. Этот факт еще раз говорит о том, что Windows не операционная система , а продукт маркетинга и рекламы.","tags":"blog","title":"Ох уж эти панели"},{"url":"http://lazycoder.ru/blog/compiz-window-opacity","text":"Как известно при использовании compiz в качестве композитного менеджера неактивное в данный момент окно становится полупрозрачным. Штатными средствами настройки compiz нельзя отключить эту опцию, во всяком случае я ничего подобного не нашел. Как оказалось, это вообще опция не compiz, а metacity, и её легко можно отключить с помощью старого знакомого - gconf. Естественно, данная процедура будет справедлива только для гнома. Итак, чтобы отключить полупрозрачность неактивных окон при использовании compiz нужно выполнить следующую команду: gconftool-2 -s /apps/gwd/metacity_theme_opacity -t float 1","tags":"blog","title":"Прозрачность неактивных окон в compiz"},{"url":"http://lazycoder.ru/blog/volume-step-gnome","text":"Нашел то, что так долго искал. По умолчанию в gnome шаг изменения громкости используя клавиатуру равен шести пунктам. Для меня это неимоверно много, иногда хочется каких-то средних значений. Изменить этот шаг можно используя gconf: gconftool-2 -s /apps/gnome_settings_daemon/volume_step -t int 3 В данном примере шаг устанавливается в значение 3.","tags":"blog","title":"Шаг изменения громкости в gnome"},{"url":"http://lazycoder.ru/blog/installing-gmp","text":"GMP это сишная библиотека для работы с длинными целыми(и не только) числами с произвольной точностью. Не буду описывать синтаксис команд и т.д. поскольку это отлично описано в документации, которую можно найти на оф.сайте. А расскажу о сборке и установке gmp в системе Ubuntu. В системе должны быть установлены следующий пакеты: build-essential, m4. Для начала скачаем исходник, распакуем и перейдем в соответствующий каталог. Далее набираем в консоли: 1 2 3 ./configure --prefix = /usr --enable-cxx --enable-mpbsd --enable-mpfr && make && make install Описание команд: --enable-cxx - включает поддержку C++ сборкой библиотек libgmpxx. --enable-mpbsd - включает сборку Berkeley MP совместимых (libmp) библиотек. --enable-mpfr - включает сборку Multiple Precision Floating-Point Reliable (libmpfr.a) библиотеки. Использование: добавить параметр -lgmp(или -lgmpxx для поддержки классов) к линковщику; в программе: 1 #include <gmp.h> и\\или 1 #include <gmpxx.h> Существуют сборки этой библиотеки для .NET, Python и PHP. Также присутствуют и другие библиотеки основанные на gmp написанные для использования в windows. Их описание можно найти здесь .","tags":"blog","title":"GMP. Установка"},{"url":"http://lazycoder.ru/blog/compiler-flags-qt-creator","text":"Параметры предназначенные компилятору и линковщику прописываются в .pro файле следующим образом: QMAKE_CXXFLAGS - опции компиляции; QMAKE_LFLAGS - опции линковки;","tags":"blog","title":"Параметры к компилятору в Qt Creator"},{"url":"http://lazycoder.ru/blog/vs-ticket","text":"Оказывается, на dreamspark.ru официально можно скачать полную версию Visual Studio абсолютно бесплатно. Хотя не только студию, а еще с десяток профессиональных продуктов от MS для разработчиков можно взять там же. Естественно за просто так вам это никто не отдаст - нужно подтвердить то, что вы являетесь студентом вуза или учащимся школы. Для получения заветной ссылочки нужно прислать к ним нам сайт копию студенческого билета предварительно указав свои данные(фио, вуз и т.д). Для студентов присутствуют еще два варианта: указать номер своей карточки ISIC или войти под учетной записью Live@edu .","tags":"blog","title":"Студия за билет"},{"url":"http://lazycoder.ru/blog/html5-vs-flash","text":"На сайте mrdoob.com мини-программ и демосцен написанных как с использованием HTML 5, так и с использованием Flash. Не всегда с первого взгляда определишь с использованием чего написана сцена. Чудеса!","tags":"blog","title":"HTML5 vs. Flash"},{"url":"http://lazycoder.ru/blog/simple-python-download-manager","text":"Не найдя в сети ни одного примера загрузчика файлов с отображением текущего статуса загрузки и возможностью докачки решил написать свой. Быть может кому пригодится. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 # -*- coding: utf-8 -*- import os , sys , urllib2 def getNewPath ( url , name = None , directory = None ): if directory == None : directory = os . curdir if not os . path . exists ( directory ): os . mkdir ( directory ) if name == None : path = \" %s%s%s \" % ( directory , os . sep , url . split ( \"/\" )[ - 1 ]) else : path = \" %s%s%s \" % ( directory , os . sep , name ) return path def downloadfile ( url , newName = None , dir = None ): newPath = getNewPath ( url , newName , dir ) if not os . path . exists ( newPath ): localLen = 0 else : localLen = os . path . getsize ( newPath ) req = urllib2 . Request ( url ) req . headers [ 'Range' ] = 'bytes=' + str ( localLen ) + '-' print \"Sending request...\" remoteLen = 0 try : res = urllib2 . urlopen ( url ) remoteLen = int ( res . info () . getheader ( \"Content-Length\" )) except urllib2 . HTTPError , e : print e return except urllib2 . URLError , e : print e return print \"Received code:\" , res . getcode () print \"Length: %d ( %.02f M) [ %s ]\" % ( remoteLen , remoteLen / 1024.0 / 1024.0 , res . info () . getheader ( \"Content-Type\" )) print \"Saving to: \" , newPath if localLen == 0 : localFile = open ( newPath , \"wb\" ) elif localLen < remoteLen : localFile = open ( newPath , \"ab\" ) elif localLen == remoteLen : print \"File has downloaded already.\" return try : remoteFile = urllib2 . urlopen ( req ) except urllib2 . HTTPError , e : print e return except urllib2 . URLError , e : print e return print \"Downloading %s - %s ( %s bytes) ...\" % ( remoteFile . url , newPath , remoteLen ) if remoteLen != 0 : remoteLen = float ( remoteLen ) bytesRead = float ( localLen ) for line in remoteFile : bytesRead += len ( line ) sys . stdout . write ( \" \\r %s : %.02f / %.02f kb ( %d%% )\" % ( newPath , bytesRead / 1024.0 , remoteLen / 1024.0 , 100 * bytesRead / remoteLen )) sys . stdout . flush () localFile . write ( line ) remoteFile . close () localFile . close () print \" \\n File %s has been downloaded. \\n \" % newPath P.S. Работает на честном слове :-) Репозиторий проекта на github.com","tags":"blog","title":"Простой downloader на python"},{"url":"http://lazycoder.ru/blog/ubuntu-9-10-impressions","text":"Итак, после двухмесячного перерыва я снова здесь. Как известно, 29-го вышла новая версия некой операционной системы со странным названием Ubuntu Karmic Koala. В этом посте я расскажу о своем пока что однодневном опыте использования этой ОС. Все мои надежды скачать и установить ее в день релиза не оправдались, не оправдались они и на следующий по причине того, что двд-версия(в этот раз решил установить именно ее) появилась только вечером 29-го. А из-за моего медленного инета пришлось просить добрых людей скачивать ее. Надо сказать, что никакой разницы между cd и dvd версиями я не заметил, кроме, пожалуй, полной локализации сразу из коробки. Что, целых три лишних гигабайта занимает, лишь, поддержка дополнительных языков!? Чудеса. В принципе, никаких кардинальных улучшений, кроме некоторого увеличения скоростей выключения и загрузки пока не заметил. Из того, что лично мне не понравилось можно отметить: в дистрибутиве остался жутка для меня не удобный indicator-applet, дрова под видеокарту по прежнему устанавливались мной вручную, после установки русскую раскладку пришлось добавлять, опять таки, вручную, программа для проверки полноты локализации(Администрирование->Локализации) отказывается работать, также не работает Очистка Системы жалуясь на отсутствие какого-то файла, Центр Приложений Ubuntu - редкостная и жутко неудобная гадость. Посмотрим, что будет дальше...","tags":"blog","title":"Ubuntu 9.10. Один день использования."},{"url":"http://lazycoder.ru/blog/installing-lamp-on-localhost","text":"Всем привет! Итак, после достаточно длительного отсутствия в блоге возвращаюсь с постом об установке LAMP(Linux + Apache + MySQL + PHP). Итак, что нам для этого необходимо: Linux (у меня это Ubuntu 9.04) Apache2 PHP5 MySQL Устанавливаем Apache: 1 sudo apt-get install apache2 По умолчанию каталог с файлами сервера это /var/www . Понятное дело его легко поменять на нужный вам. Тестируем: http://localhost Устанавливаем PHP5: 1 sudo apt-get install php5 libapache2-mod-php5 Делаем рестарт Apache: 1 sudo /etc/init.d/apache2 restart Проверяем: 1 sudo su -c 'echo \"< ?php phpinfo(); ?>\" > /var/www/testphp.php' (спасибо, xAnd) Затем в браузере: http://localhost/testphp.php Убедитесь, что удалили файл, в последствии это может представлять угрозу безопасности. Устанавливаем MySQL 1 sudo apt-get install mysql-server MySQL первоначально позволяет только связи от localhost (127.0.0.1). Нам это и нужно. Для последней версии MySQL при установки базы она сама запрашивает пароль для пользователя root, если этого не произошло то следует установить пароль для root вручную. Устанавливаем PhpMyAdmin 1 sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin Чтобы заставить PHP работать с MySQL, правим файл /etc/php5/apache2/php.ini Следует раскомментить строчку с ; extension=mysql.so так, чтобы это было похоже на это extension=mysql.so Делаем рестарт Apache: 1 sudo /etc/init.d/apache2 restart На этом установка комплекса LAMP завершена! P.S. В принципе, в ubuntu linux есть средство позволяющее автоматизировать установку и настройку этих пакетов(кроме php5 и phpmyadmin) и называется оно tasksel . Действительно, достаточно написать в терминале: 1 sudo tasksel install lamp-server Но какой в этом интерес, правда? =)","tags":"blog","title":"Установка LAMP на localhost"},{"url":"http://lazycoder.ru/blog/compiz-auto-off","text":"Не секрет, что включенный компиз плохо сказывается на быстродействии opengl-приложений, а попросу говоря игр :-) (да, и еще хуже если это windows-игры :-) ). Чтобы не мучиться каждый раз отключая compiz вручную, можно написать для этого простейший скрипт: 1 2 #!/bin/bash metacity --replace & $@ ; compiz-manager Теперь, не забыв дать скрипту права на исполнение, можно с помощью него запускать любимое приложение, используя путь к программе в качестве параметра. Поясню: команда metacity --replace заменяет все другие менеджеры окон на metacity; символ & означает что предыдущая команда будет исполнятся в фоне; символы $@ запускают наше opengl-приложение, ибо содержат параметр запуска скрипта; ну и последняя команда запускает compiz обратно в качестве менеджера окон.","tags":"blog","title":"Автоматическое отключение compiz"},{"url":"http://lazycoder.ru/blog/ubuntu-config-tricks","text":"Оказывается приложения, запускаемые при входе в сеанс находятся в папках: /etc/xdg/autostart - для всех пользователей; ~/.config/autostart - для текущего пользователя; Оказывается пути к директориям из меню Places(Переход) можно редактировать в файле: ~/.gtk-bookmarks , причем пути задаются в таком виде: file://абсолютный путь к папке Оказывается , чтобы включить эффекты compiz'a на некоторых чипсетах от intel нужно подредактировать один из файлов настройки компиза: /usr/bin/compiz . А редактировать в этом файле нужно секцию blacklist , а именно раскомментировать строчку с названием нужного чипсета.","tags":"blog","title":"Несколько трюков по настройке Ubuntu"},{"url":"http://lazycoder.ru/blog/my-choice-fastfileru","text":"Да! Я выбираю FastFile.ru в качестве хостинг-провайдера для своего блога! Хоть скорость иногда оставляет желать лучшего, но своими ценами хостинг впереди планеты всей. Вот только несколько тарифов: Дисковая квота (Мб): 50 100 200 1 месяц: 22.75 руб. 26 руб. 32.50 руб. 3 месяца (скидка 5%): 64.80 руб. 74 руб. 92.63 руб. 6 месяцев (скидка 10%): 122.85 руб. 140.40 руб. 175.50 руб. 12 месяцев (скидка 15%): 232 руб. 265.20 руб. 331.50 руб. А прибавьте к этому адекватный саппорт и то, что стоимость домена на год в зоне .ru составляет всего 95 руб и в итоге вы получаете лучший хостинг для \"стендэлон-блога\".","tags":"blog","title":"Я выбираю FastFile.ru"},{"url":"http://lazycoder.ru/blog/python-learning-book","text":"Нарыл на днях чудеснейшую книгу о питоне. Пожалуй, книга не описывает только лишь программирование графического интерфейса для python-программ, все же остальное расписано настолько подробно, что, думаю, будет понятно даже человеку имеющего достаточно отдаленные представления о программировании. Скачать книгу(pdf)","tags":"blog","title":"Python manual"},{"url":"http://lazycoder.ru/blog/my-laserjet-1018","text":"Как известно, некоторые laserjet-принтеры по умолчанию не несут в себе прошивку, ее заливает ОС сразу после включения питания компьютера. Так вот, в моей любимой бубунте самого файла прошивки как оказалось нет. Скачивать и устанавливать прошивку по идее должен вот этот скриптик: 1 2 3 4 5 6 7 8 9 10 11 #!/bin/bash prn = \"1018\" cd /tmp img = \"sihp ${ prn } .img\" dl = \"sihp ${ prn } .dl\" getweb $prn if [ -f $img ] ; then arm2hpdl $img > $dl sudo cp $dl /usr/share/foo2zjs/firmware/ $dl rm $img $dl fi ; Однако, не знаю как вас, а меня это решение от LinuxOpen.ru не привело к сколь нибудь положительному результату. Поэтому воспользовался решением так скажем, от самого производителя. Данное решение делает все тоже самое, что и предыдущий скрипт + переустанавливает драйвер печати и его компоненты. Качаем драйвер: 1 $ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz Распаковываем полученный архив в папку и делаем ее текущей: 1 2 $ tar zxf foo2zjs.tar.gz $ cd foo2zjs Компилируем драйвер: 1 $ make Скачиваем прошивку(вместо 1018 поставьте вашу модель) 1 $ ./getweb 1018 Устанавливаем драйвер: 1 $ sudo make install Конфигурируем hotplug (Только для laserjet-ов 1000/1005/1018/1020): 1 $ sudo make install-hotplug Делаем рестарт CUPS: 1 $ sudo make cups После этого принтер стал работать просто на ура. Разливные варианты данного решения можно найти на странице: http://foo2zjs.rkkda.com/INSTALL","tags":"blog","title":"Печать на HP LaserJet 1018 в Ubuntu"},{"url":"http://lazycoder.ru/blog/using-uuid-instead-dev-files","text":"Что такое UUID? UUID - Universally Unique Identifier(Универсальный Уникальный Идентификатор) в linux используется при монтирования файловых систем. То есть каждая файловая система в linux помимо файла в /dev/ имеет свой уникальный идентификатор. Сам по себе этот ижентификатор представляет 128-битный ключ вида: 550e8400-e29b-41d4-a716-446655440000 Оказывается, использование такого идентификатора вместо привычного /dev/sda1 при монтировании файловых систем гораздо надежнее и полезнее по причине того, что файлы устройств, хранящиеся в папке /dev/ строго соответствуют самим устройствам только в данный момент времени, например, при удалении или пересоздании разделов на диске некоторые из этих файлов будут указывать на совершенно другие разделы. Итак, UUID всех файловых систем на вашей машине можно получить следующей командой: 1 ls -lF /dev/disk/by-uuid/ На выводе должно появится нечто похожее на это: 1 2 3 4 итого 0 lrwxrwxrwx 1 root root 10 2009-06-11 20:09 a48c85e3-eed4-4fd2-8a2e-66503f5035e2 -> ../../sda5 lrwxrwxrwx 1 root root 10 2009-06-11 20:09 BCEC3864EC381ADA -> ../../sda1 lrwxrwxrwx 1 root root 10 2009-06-11 20:09 c14927cb-1ef7-4a95-967e-9cecd09af156 -> ../../sda6 Теперь полученные ключи можно использовать там, где это необходимо: в том же fstab, конфиге grub'a и куча еще где. При использовании перед самим ключом необходимо добавить: UUID= . ЗЫ : Да! На основном разделе винда! :-)","tags":"blog","title":"Использование UUID вместо файлов устройств"},{"url":"http://lazycoder.ru/blog/lastfm-free-listening","text":"Вечно все до меня доходит, как до жирафы. Вот и ласт.фм, как оказалось, можно слушать на халяву. Так вот, существуют сервисы для сжатия трафика, т.е. ваш трафик сначала отправляется к ним на сервер, а уж потом в сжатом состоянии к пользователю. Один из таких сервисов toonel.net , чтобы начать им воспользоваться нужно скачать их java-программу , которая создает локальный прокси для перенаправления трафика. Кстати, интерфейс программы просто ужасен(как и почти у всех java-приложений), ибо настроить ничего нельзя, т.к. размер окна настолько мал, что некоторые элементы управления просто не помещаются в рабочей области, и самое главное - нельзя изменить размеры этого самого окна :-). Теперь для прослушивания музыки с last.fm достаточно в настройках прокси вашей программы, через которую хотите слушать, указать петлю: 127.0.0.1 со стандартным портом: 8080 . Правда их прокси работает с небольшой задержкой, но для прослушивания этого хватает. В моем блоге также описаны еще два способа бесплатного прослушивания музыки с last.fm. Их можно найти выполнив поиск по тегу last.fm","tags":"blog","title":"Бесплатно слушать last.fm"},{"url":"http://lazycoder.ru/blog/folder-case-converting","text":"Недавно заметил, что перемещение по страницам в некоторых хтмл-книгах в моей библиотеке, происходящее в винде на ура, в моей ubuntu не работало просто никак. Причина оказалась банальна, а именно - ссылки на страницы в оглавлении были в нижнем регистре, а сами названия файлов со страницами в верхнем. (понятно объяснил, правда? =) ) Но что делать если файлов штук 40, а переименовывать их вручную тупо лень? На помощь приходит bash, команда tr и цикл: 1 for i in ` ls ` ; do mv \" $i \" ` echo \" $i \" | tr \"[:upper:]\" \"[:lower:]\" ` ; done","tags":"blog","title":"Конвертация регистра всех файлов в папке"},{"url":"http://lazycoder.ru/blog/using-sysrq-button","text":"Не обойдет стороной и мой ленивый блог запись об этой чудесной клавише. Кто не в теме: клавиша имеет второе название PrtSc (держу пари вы ей не раз пользовались для снятия скринов с экрана) и предназначена она для экстренного выключения/перезагрузки компьютера. Клавиша и комбинации с ней слушаются непосредственно ядром поэтому даже в случае падения иксов можно без труда перезагрузить машину. Я не буду описывать как включить поддержку SysRq в ядре, так как моя любимая убунта поддерживает ее из коробки. Итак, начнем. Для выполнения необходимых действий используется следующая комбинация клавиш: + <клавиша>. Во многих источниках для безопасной перезагрузки советуют набрать клавиши reisub. Их и опишем: r - переключает клавиатуру из режима скан-кодов и устанавливает в ASCII режим (для перехвата клавиатуры у иксов) e - посылает сигнал SIGTERM (завершить) всем процессам кроме init. i - посылает сигнал SIGKILL(убить) всем процессам кроме init. s - сбрасывает содержимое буферов на диск. u - попытка отмонтировать корневую файловую систему и перемонтировать её в режиме только-для-чтения. b - перезагрузка. Существует еще несколько управляющих клавиш для комбинации с SysRq, а именно: l - посылает сигнал SIGKILL всем процессам, включая init; 0-9 - устанавливает указанный уровень вывода отладочной информации для консоли; t - отображает информацию о запущенных задачах; m - отображает информацию о памяти; p - печатает содержимое регистров процессора; k - клавиша безопасного доступа. Она убивает все процессы, запущенные на текущей виртуальной консоли, так, чтобы никакая излишне любопытная программа не могла захватить ваши нажатия клавиш. Скажу честно, у самого пока не представилось случая проверить эти магические комбинации, так что... =)","tags":"blog","title":"Старый добрый SysRq"},{"url":"http://lazycoder.ru/blog/auto-change-connect-via-telnet","text":"Так как модем настроен как роутер, совсем неудобно для переключения из инета в местную локалку или наоборот постоянно заходить через веб- или telnet-интерфейс и править имя пользователя PPPoE вручную. Поэтому написал вот такой достаточно простой скриптик для автоматизации этого дела. Для отправки команд через telnet использую замечальнейшую программку expect , собственнно, специально и созданную для автоматизации подобных подключений. Скрипт: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #!/bin/bash mess = 'PPP Username =' modem_ip = '192.168.1.1' password = 'admin' node = '0' ## получаем имя пользователя Origname = ` expect -c 'spawn telnet ' $modem_ip '; expect \"Password\" {send \"' $password '\\r\"}; expect \"MT880\" {send \"show wan node ' $node '\\r\"}; send \"exit\\r\";expect eof' | grep \" $mess \" ` ## если пусто,то ругаемся и валим if [ ${# Origname } == 0 ] then echo \"Error due connecting to modem.\" exit fi ## обрезаем ненужные символы Origname = ${ Origname # $mess } Origname = ${ Origname : 1 } ## смотрим какое имя юзера получили и меняем на нужное if [ \" ${ Origname : 0 : 1 } \" == \"D\" ] then echo \"Now connected to internet.\" Newname = ${ Origname / \"D\" / \"LD\" } else echo \"Now connected to regional network.\" Newname = ${ Origname : 1 } fi ## устанавливаем новое имя пользователя expect -c 'spawn telnet ' $modem_ip ';expect \"Password\" {send \"' $password '\\r\"}; expect \"MT880\";send \"set wan node ' $node '\\r\"; send \"set wan ppp username ' $Newname '\\r\";send \"set wan save\\r\"; send \"exit\\r\";expect eof'","tags":"blog","title":"Автоматизация настройки через telnet"},{"url":"http://lazycoder.ru/blog/id3-change-encoding","text":"Казалось вечная проблема показа тегов в другой кодировке(чаще всего, естественно, cp1251) из linux решилась с помощью пакета mutagen, написанного на питоне, специально для конвертаций тегов из одной кодировки в другую. Не знаю как у вас, но у меня абсолютно не получилось проделать подобное не с помощью хваленого EasyTag, так и не с каким-то java-скриптом(название уже забыл =)); mutagen сделал это с пол пинка. Собственно, эта строка и перекодирует теги ваших mp3-файлов в юникод. 1 find -iname '*.mp3 ' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1 Взято с linux.org.ru","tags":"blog","title":"Перекодировка id3-тегов в mp3-файлах"},{"url":"http://lazycoder.ru/blog/ussr-restricted-music-bands","text":"Случайно попалось на глаза на вики.","tags":"blog","title":"Песни и группы запрещенные в СССР"},{"url":"http://lazycoder.ru/blog/greedy-lastfm","text":"Hi d-mortis, Your free trial to Last.fm Radio is about to end. If you're enjoying it, why not subscribe for only $3.00/month and continue listening to non-stop personalised radio. http://www.last.fm/subscribe Best Regards The Last.fm Team Вот такое письмо я получил несколько часов назад. В письме говориться, что дескать халява кончилась, если хочешь и дальше слушать плати три бакса в месяц. Вот ведь козлы! Они тупо надеятся, что кто-то сейчас прям станет им платить по сути лишь за возможность и дальше пользоваться своим старым акком - просто смешно! Интересно есть ли у них какая-то прибыль с этого дела? Думаю не очень большая. Лично я пользовался last.fm чтобы открывать для себя интересных групп и исполнителей.","tags":"blog","title":"Жадный Last.fm"},{"url":"http://lazycoder.ru/blog/jaunty-jackalope","text":"Вот так переводится вышедшая на днях новая версия используемого мной дистрибутива Linux Ubuntu; теперь это — 9.04 Jaunty Jackalope. Времени пощупать основательно пока не было, ибо поставил только вчера, поэтому напишу только то, что сразу бросается в глаза, что понравилось и не понравилось. Понравилось: загрузка быстрей секунд на 5 пара новых тем: new wave и dust новая тема gdm уведомления более полный и подправленный перевод установщик в процессе сам подтягявает необходимые языковые файлы пара новых фич в установщике говорят, прокси стало легче настраивать, но сам не проверял Не понравилось: Странная приблуда indicator-applet мне показалась неудобной до жути При ручном редактировании разделов в процессе установки все изменения применяются сразу же Не появляется окно, предлагающее установить wine при попытке запуска windows-программы, а ведь обещали По умолчанию применяется субпиксельное сглаживание шрифтов, которое мне не особо то и нужно Не понравился гуй для создания CD/DVD аля-windows В целом релиз, конечно, понравился(еще бы он не понравился виндузятнику ;-) ) На ноут пока что не ставил, как поставлю отпишусь о найденных неровностях. Почти уверен, что там их будет больше, поживем увидим.","tags":"blog","title":"Веселый рогатый заяц"},{"url":"http://lazycoder.ru/blog/kobresia-biosphere-substrata-1997","text":"Есть такая норвежская ambient-группа Biosphere состоящая всего из одного человека - Geir Jenssen. Его эмбиент скажу я вам просто шедеврален. По мне так это лучший композитор эмбиента, в моем понимании этого жанра. Одна из моих самых любимых его композиций это Kobresia из дебютного альбома - Substrata. Не многие знают, что русский текст, представленный выше, в этой песне Geir Jenssen записал с радио \"России\" пойманной им на коротких волнах. Естественно норвежец понятия не имел о чем говорит голос, порезал на семплы и вставил в трек. А голос принадлежал(и наверное принадлежит) какому-то экстрасенсу, который в прямом эфире пытался обьяснить какой предмет находится на два этажа ниже его самого. Текст: Это либо металл, либо... Если металл, то крашеный, холодная поверхность! Это либо металл крашеный, либо может быть пластмасса! Цветной, там есть, яркий. Похоже... Может быть это игрушка? Поверхность гладкая, но есть вот какие-то выступы, палец даже застревает! Может быть это какие-то насечки или это буквы? Или выступы просто? На игрушку похоже. Разноцветный металл или пластмасса крашеный! Вот всё! Стоп! Узнал об этом только сегодня, когда искал оригинальный текст из этой композиции. Лично мне когда первый раз слушал представлялся, конечно, не экстрасенс, а некий исследователь космических глубин, обнаруживший Нечто инопланетное. Примерный видеоряд сюжета можно наблюдать в фильме \"Чужой\"(самом первом), когда на потерпевшем катастрофу корабле спасатели обнаружили коконы Чужих.","tags":"blog","title":"Kobresia. Biosphere - Substrata (1997)"},{"url":"http://lazycoder.ru/blog/phun","text":"Снова наткнулся, снова на хабре на примечательную \"игру\". В кавычках потому, что самого по себе игрового процесса и нет. Phun представляет собой простой 2d симулятор физического мира. Особенностью его является простой и понятный интерфейс(из языков присутствует русский) позволяющий всего за пару кликов создать какой-нибудь хитрый механизм. Объектам можно задавать всевозможные свойства(плотность, масса, трение, упругость, собственная гравитация), задавать движения объектов, превращать их в воду и так далее и так далее. Вобщем, возможностей масса. Прога написана все на той же SDL. Поэтому даже windows-версия без проблем идет под вайном. Скачать можно тут . Вот ролик демонстрирующий лишь базовые возможности программы.","tags":"blog","title":"Phun"},{"url":"http://lazycoder.ru/blog/robo-teethbrush","text":"Я конечно понимаю, что баян, но все же...","tags":"blog","title":"Робот-щетка"},{"url":"http://lazycoder.ru/blog/dyson","text":"Наткнулся на хабре на достаточно занимательную и при этом достаточно простую стратегию - это dyson . Игра написана с использованием свободной графической библиотеки SDL и соответственно бесплатна и мультиплатформенна(GNU/Linux, Windows). Игровой процесс в принципе банален - захват планет(астеройдов), но выполнен столь оригинально, что игра затянула меня часа на два-три. Итак в начале мы имеем свой астеройд на котором можем выращивать два вида деревьев: для атаки на другие планеты и для защиты своей. Деревьев па планете может быть всего пять. Всем советую поиграть, или хотя бы попробовать игра действительно стоящая! Скачать можно тут .","tags":"blog","title":"Dyson"},{"url":"http://lazycoder.ru/blog/new-notifications-ubuntu-9-04","text":"Собственно сабж =) Да, в бубунту 9.04 в купе с другими новшевствами обещают изменить стиль отображения всплывающих окон с уведомлениями, а также их автоматическое закрытие. На сайте Майкла Шатлворта рамещен небольшой swf-ролик показывающий новый вид уведомлений. Нехочется перечислять уже в который раз все нововведения 9.04, ибо просто лень. Так что теперь жду 23-го апреля и быть может в этот раз драгоценный диск с наклейками приплывет ко мне =)","tags":"blog","title":"Новый вид уведомлений в Ubuntu 9.04"},{"url":"http://lazycoder.ru/blog/lazy-fight","text":"Отличная статья о том, как вести борьбу с ленью. Правда нет в ней практических метод, но да ладно. Статью, как вы, мои два читателя, правильно догадались бессовестно спер. Автор: Сергей Коркин Часто у меня возникает чувство, что делаю недостаточно, что могу больше. Когда я пытаюсь делать больше, лучше, у меня на дороге стоит ее величество ЛЕНЬ. С ней сталкивается каждый, и это неприятно. Но бороться с ней надо. Мне захотелось узнать, как это можно успешно сделать. Почитал несколько статей, форумов. Оказывается, лень — не абсолютное зло, она бывает разной. Когда мы говорим о лени, каждый подразумевает свое. У каждого своя лень и свои симптомы. Вот некоторые из них: 1. Низкий уровень мотивации к чему-либо. Человек не уверен, для чего он это делает, либо делает это не для себя, либо ожидает, что за него это сделают другие. Бороться с таким типом лени можно, повышая мотивацию. А именно — обдумывая, действительно это тебе нужно, взвешивать за и против. Недостаточно обдуманная в деталях задача имеет крайне малый уровень мотивации ее сделать. Если делаете для кого-то, убедитесь, что человек Вам дорог или что будет от него какая-то польза. Если надеетесь на кого-то, убедитесь, можно ли на него положится. 2. Наиболее распространенное понятие лени — это нехватка силы воли. Если вы обдумали все, решили, что действительно это важно, но все равно лень не уходит. Тут самое важное — начать. Начать — это 50% успеха. Если вы программист, и Вам следует сделать работу, а оно никак не идет, начните писать что-то легкое, бессмысленное, например Hello World — помогает. Или, например, надо написать статью либо пост в блог, но не хочется, нет настроения. Откройте блокнот и начните писать, например, о проведенном дне, лете… Попробуйте. Этот пост написан именно так. 3. У некоторых людей лень — это стиль их деятельности. Они получают задание, долго думают о том, как его лучше и быстрее сделать. У окружающих создается впечатление, что человек ленивый. И что самое плохое, человек под влиянием окружающих начинает думать, что он действительно лентяй, пытается себя переделать, но выходит только хуже. А на самом деле, когда наступает крайний срок этот человек успешно и рационально выполняет задание. 80% задания можно выполнить за 20% времени. 4. Иногда мы ленимся что-то делать, не делаем это, а оказывается, что делать и не надо было. Это интуитивная лень. Она иногда экономит время. Но полагаться на нее не стоит, особенно когда дела важные, она часто обманывает. 5. Фрейд рассказывал о лени как о получении удовольствия. Когда вы работаете, то получаете удовольствие от результата работы, а когда ленитесь, то от процесса. 6. Еще лень может выступать как боязнь ответственности. Это, как правило, закладывается в детстве, когда родители тщательно оберегают детей от ответственных дел. Но не забывайте, себя переделать МОЖНО. 7. Не стоит понимать лень как что-то обязательно негативное. Это может быть защитной реакцией организма от переутомлений. Не делайте из этого свою любимую отговорку. Вы не можете устать, если ничего не делаете. Данный тип лени присущ обычно трудоголикам. В один прекрасный миг они не могут больше работать, начинают думать, что ленивы, у них развивается чувство вины, внутреннего раздражения… А нужно всего-то просто отдохнуть. 8. Еще одной популярной отговоркой является фраза: «Лень — двигатель прогресса». Но не совсем лень, а стремление сделать что-то с меньшими усилиями, быстрее. Не просто лень, а конструктивная лень является двигателем прогресса. Его не будет, если вы будете свисать с дивана. Источник: http://sergeybiryukov.ru/2006/09/kak-borotsya-s-lenyu/","tags":"blog","title":"Как бороться с ленью"},{"url":"http://lazycoder.ru/blog/my-hour","text":"Итак, «Час земли» прошел — пора подвести итоги: около миллиона россиян приняли участие в этой акции. Я этот час провел не в полной темноте, ибо уговорить семью на полную светомаскировку не удалось. Однако вот чего я таки добился: пара советских электронных часов «электроника», холодильник «Зил» и энергосберегающая лампа оставались включенными, остальные же электроприборы были полностью обесточены. Основной задачей стал поиск того чем каждому заняться, а лучше, конечно, всем вместе. Такое занятие нашлось, только за несколько минут до начала этого самого часа. Все это время мы с семьей прорубились в домино. Очень увлекательная игра, доложу я вам. Из-за нее «час Земли» в моей квартивре продлился почти на час больше. Так, двое моих читателей, а как вы провели свой «час Земли»?","tags":"blog","title":"Мой Час"},{"url":"http://lazycoder.ru/blog/earth-hour","text":"28 марта 2009 года ровно в 20:30 по местному времени сотни миллионов человек на всей Земле выключат свет на один час, чтобы показать, что их волнует будущее нашей планеты. Стань участником акции!","tags":"blog","title":"Час Земли"},{"url":"http://lazycoder.ru/blog/cshunt129","text":"Итак, после годичного перерыва, выходит новая версия моего, никому не нужного, study-проекта. Программа позволяет искать сервера игр, созданных на движках GoldSrc и Source. Программа показывает основную информацию о серверах, а также имена игроков и набранные фраги. Имеется возможность запуска игры и последующего подключения к серверу прямо из программы. В новой версии я добавил несколько новых функций, подправил интерфейс и код. Скорее это даже не версия, а так, найт-билд на пути к версии 1.3 с тем функционалом, который задумывался первоначально. Но главное новшество это, конечно, перевод CSHunt в разряд открытых проектов. Добавлено: Возможность выбора нескольких игр сразу; Поддержка Left 4 Dead серверов; Показ всплывающего окна, когда найден сервер; Возможность скопировать в буфер обмена выделенный сервер; Новый интерфес добавления сервера в избранные; Исправлено/обновлено: Переработан общий интерфейс; Убрана колонка с показом ОС сервера; Повышено удобство работы с диапазонами адресов; Перевод интерфейса на стандартные компоненты Delphi взамен TBX; Перевод кода на компонентную базу Delphi 2009; Исправления в коде. Скачать: CSHunt 1.29: cshunt129.zip CSHunt 1.26: cshunt126.rar Исходник(проект на delphi 2009): csh129-src.zip Дополнительные компоненты: editipaddr-comp.zip","tags":"blog","title":"CSHunt 1.2.9 beta"},{"url":"http://lazycoder.ru/blog/linux-314","text":"Еще немного и я бы бессовестно проспал две даты, по крайней мере одну из них. Как оказалось, сегодня linux исполняется пятнадцать лет! 13 марта 1994 года Торвальдсом выла выпущена версия 1.0. Однако существует несколько дат, которые так или иначе можно причислить ко дню рождения линакс. Мне извест еще о двух датах, а именно 25 августа - день рождения, собственно, ядра системы(в этом году ядру исполнится 18 лет) и 17 сентября - день, когда Торвальдс выложил на одном из ftp-серверов linux версии 0.01. В любом случае поздравляю Linux, долгих лет жизни тебе! Также сегодня отчечается всемирный день числа Пи. Вот некоторые статьи на тему числа Пи , ибо копировать нехорошо, а писать сейчас что-либо просто лень.","tags":"blog","title":"Linux 3.14"},{"url":"http://lazycoder.ru/blog/jabber-server-list","text":"Интересную ссылку нашел сегодня на хабре. По ссылке находится таблица jabber серверов, с исчерпывающей информацией о них(поддерживаемые транспорты, аптайм и т.п.). Иногда очень полезно иметь такую таблицу под рукой.","tags":"blog","title":"Таблица jabber-серверов"},{"url":"http://lazycoder.ru/blog/bright-stollman","text":"Иногда я просто не могу понять всего этого блеска... Если сравнивать программирование например с живописью, то ведь художник зарабатывает именно тем, что продает свои картины, а не тем, что ходит по галереям и помогает вешать свои работы на стены и сдувать с них пыль. Столлман учит нас зарабатывать не на продаже самого софта, а на его поддержке и тому подобных вещах. То есть зарабатывать не на самом результате труда, а на, так скажем, последствиях его использования. Я не в коем случае не против открытого и свободного программного обеспечения,но в этом вопросе просто отказываюсь понимать Столлмана. Думается, что вся проблема кроется в том, что Столлман(да и не только он) причисляют программирование к каким-то особым областям человеческой деятельности, таким как живопись, и в этом и есть их главная проблема, ведь результаты программирования, в отличие от искусства, не используются как оные, а используются как и прочие осязаемые продукты промышленности. Наверное, такая частая сравниваемость программирования с творческим процессом, связана со сравнительно небольшим возрастом ремесла, а также с динамичным развитием оппаратных средств, для которых собственно все и пишется. Собственно понимание программирования как чего-то отличающегося от других отраслей производства является несколько ошибочным. Наверное фри и опен сорс проекты есть своебразное проявление искусства в программировании, что в первую очередь означает НЕ стремление к получению денег за свою работу. А качество того или иного продукта, независимо open source или строго коммерческого, зависит в первую очередь от самого человека(в данном случае производителя). Когда программа правильно делает, то что ей положено делать это приятно, а когда она бесплатна и я могу в ней, что угодно изменить это приятно вдвойне.","tags":"blog","title":"Блекс, нищета и Столлман"},{"url":"http://lazycoder.ru/blog/vagalume","text":"Откопал в репе отличный ласт.фм клиент с не очень благозвучным названием - Vagalume . Правда, не лишен и недостатков, в частности не нашел как посмотреть теги текущей песни и не обрадовало отсутствие реакции на медиаклавиши. В убунтовском репе версия 0.6, а в их собственном есть и 0.7. Есть версия и под Windows, но до нее еще руки не дошли.","tags":"blog","title":"Vagalume"},{"url":"http://lazycoder.ru/blog/world-of-goo-linux-port","text":"\" World of Goo Linux Version is Ready! \" - под Linux портирована популярная игра-головоломка World of Goo (построение конструкций для преодоления препятствий). При разработке были использованы такие открытые технологии, как SDL для вывода графики, Open Dynamics Engine для симуляции физических процессов, TinyXML для файлов с анимацией и определения конфигурации. Источник: OpenNet.ru Вот уж новость как, новость =) Учитывая, то, что под вайном запустить игруху мне так и не удалось. Игруха отличная! Всем советую.","tags":"blog","title":"Под Linux портирована World of Goo"},{"url":"http://lazycoder.ru/blog/linux-useful-commands","text":"Давно хотел иметь у себя под рукой такой справочник. Команды и описания в взял с forum.ubuntu.ru, сгреб все в одну кучу, оформил поудобнее. Кстати, команды в большинстве своем ориентированы на debian-like системы. Возможно кому-то сие творение пригодиться. Забирайте!","tags":"blog","title":"Полезные команды Linux"},{"url":"http://lazycoder.ru/blog/picasa","text":"Блин, никогда не думал, что гугловский менеджер изображений станет настолько удобен и практичен. Юзал в первый раз очень давно, одну из первых версий, на тото момент она мне показалась страшно неудобной. В третьей версии изменилось многое и в лучшую сторону. Хороша она всем, пока ни одного недостатка мною замечено не было. =) Кроме того сама программулина очень тесно интегрирована с одноименным гугловским сервисом в вебе. Кто еще не с Picasa очень рекомендую!","tags":"blog","title":"Picasa"},{"url":"http://lazycoder.ru/blog/my-firefox","text":"Вот уже почти полгода минуло с той исторической даты, когда я перешел c Opera на Firefox. Во многом я ФФ выбрал из-за его огромной расширяемости всевозможными плагинами. В этом посте хотел бы написать о нескольких плагинах, которые активно использую, с которыми ра бота в Firefox становится еще более удобной и понятной. Итак начнем... TabMixPlus - просто необходимый, я считаю, всем плагин. Он значительно расширяет функционал работы с вкладками. Позволяет клонировать вкладки, добавляет конпку добавления новой вкладки(как в опере), запоминает недавно открытые вкладки и еще уйма всего полезного и необходимого в повседневной работе. Sxipper - запоминает все пароли и логины введенные в формах. В принципе это ФФ умеет делать и без всяких плагинов. Но у Sxipper есть пара очень полезных функций. В первую очередь это возможность бекапа всех паролей и настроек в файл, что очень полезно при мигрировании на другую систему. Также плагин содержит в себе функции автоматического заполнения форм. С любопытством посматриваю на LastPass Password Manager. DownThemAll! - как видно из названия это замена стандартному менеджеру загрузок огнелиса. Начал его использовать после нескольких подряд ошибок в закачке стандартным менеджером. Обладает почти всеми функциями внешнего менеджера загрузок. Speed Dial - использую плагин, из-за того, что сильно привык к одноименной фиче в opera. Позволяет создавать иконки наиболее посещаемых страниц. Read it Later - название говорит само за себя. По большому счету не такой уж и полезный плагин. Использую его когда надо чтото прочитать, так скажем, в краткосрочной перспективе. FlashGot - для скачивания потокового аудио(видео) с веба. Статейку во многом писал для тех кто еще пользуется Оперой. Друзья! Неужели одно лишь соответствие веб-стандартам Оперой удерживает вас от перехода на Firefox? Я вас не понимаю.","tags":"blog","title":"Мой Огнелис"},{"url":"http://lazycoder.ru/blog/opera-10-statictics","text":"По статистике от Opera социальные сети Facebook и ВКонтакте являются самыми посещаемыми порталами через браузер Opera Mini. Мне хоть и не акти как нравится вконтакте, но приятно. А с другой стороны, если вспомнить, что самый больший процент пользователей Opera это страны бывшего снг, то и удивляться тут получается нечему. В середине 2009-го выходит в свет уже десятая опера. Из нововведений, которые мне показались особенно значимыми, естественно, стоит особняком полное прохождение теста соответствия веб-стандартам Acid3 (ФФ набирает 71 из 100); также теперь появилась возможность автоматического обновления программы; плюс ко всему появилась поддержка проверки орфографии при вводе текста(с поддержкой русского языка); ну и конечно же увеличена скорость рендеринга, как утверждают разработчики, увеличение достигает 30%. Более подробно о нововведениях можно прочитать тут или тут .","tags":"blog","title":"Статистика и Opera 10"},{"url":"http://lazycoder.ru/blog/maxima","text":"Задумался на днях о замене громоздкого, с убогим интерфесом, и что еще более страшно платного математического пакета MathCAD; долго искать не пришлось...Пакет Maxima сразу привлек к себе внимание. Вот, что говорит Википедия: Maxima — свободная система компьютерной алгебры , написанная на языке Common Lisp . Maxima произошла от системы Macsyma , разрабатывавшейся в MIT с 1968 по 1982 гг. в рамках проекта Project MAC , финансируемого Департаментом энергии США ( англ. United States Department of Energy ) и другими государственными организациями. Вариант продукта (известный как DOE Macsyma) сопровождался профессором Уильямом Шелтером ( англ. William F. Schelter ) в Техасском Университете с 1982 г. до своей смерти в 2001 году . В 1998 г. Шелтер получил от Департамента энергии разрешение опубликовать исходный код DOE Macsyma под лицензией GPL , и в 2000 г. он создал проект Maxima на SourceForge.net для поддержания и развития DOE Macsyma, переименованного в Maxima. Maxima имеет широчайший набор средств для проведения аналитических вычислений, численных вычислений и построения графиков. По набору возможностей система близка к таким коммерческим системам как Maple и Mathematica . В то же время она обладает высочайшей степенью переносимости. Это единственная из существующих систем аналитических вычислений, которая может работать на всех основных современных операционных системах на компьютерах, начиная от самых мощных вплоть до наладонных компьютеров . Имеет несколько графических интерфейсов пользователя и граф. надстроек:XMaxima (включен в поставку во многих ОС), wxMaxima и т. д. Может работать в режиме командной строки (используя псевдографику.) Сам факт, что разработана в \"эм ай ти\" уже внушает мне уважение к программе. Конечно программа полностью не сможет конкурировать со все тем же МадКадом(да именно маД - как отозвалась о нем моя знакомая), но поставленные мной задачи отлично себе выполняет. Проект Maxima - http://maxima.sourceforge.net/ Графическая надстройка - http://wxmaxima.sourceforge.net/ (для работы не требуется оригинальная maxima, во всяком случае для линя точно)","tags":"blog","title":"Maxima"},{"url":"http://lazycoder.ru/blog/fonts","text":"Поставил пакет msttcorefonts(который как оказалось есть в репозитории) с TrueType шрифтами мелкомягких для огнелися, т.к. не нравилось отображение дефолтных шрифтов убунты(как известно большинство сайтов затачиваются именно под виндузятские шрифты). Однако не все так хорошо как кажется, а именно в сборке не оказалось такого достаточно распространенного шрифта как tahoma. Нашел вот такой вариант , но как потом выяснилось tahoma не свободный, вернее совсем не свободный шрифт. Как говорится, это не unix-way. Поэтому пока оставил так, конечно можно было бы найти какую-нибудь замену \"тахоме\", но думаю, пока не столь критично, тем более один присловутый \"Вконтакте\" остался вяглядеть по-прежнему - все остальные сайты теперь выглядят \"гораздо привычнее\".","tags":"blog","title":"Шрифты в Ubuntu"},{"url":"http://lazycoder.ru/blog/rsdnru","text":"На днях обнаружил отличный сайт по программированию. Большое количество статей по разным языкам и технологиям. В частности для меня оказался полезен в плане изучения С++. http://rsdn.ru","tags":"blog","title":"rsdn.ru"},{"url":"http://lazycoder.ru/blog/firefox-theme","text":"Никогда не нравилась дефолтная тема огнелиса в убунте, выглядит как стандартное гномовское приложение. Конечно я понимаю, что настоящему линуксойду пох на интерфейс, но иногда бывают такие секунды, когда все решают минуты и продолжается это часами. Случайно(да, да именно так, чесслово) на замечательную темку Strata, которая выглядит как стандартная в винде, но с убунтовской палитрой. Выглядит просто и красиво, всем качать(с) https://addons.mozilla.org/ru/firefox/addon/8105","tags":"blog","title":"Темка для firefox"},{"url":"http://lazycoder.ru/blog/icq-die","text":"Вот такая фигня сегодня приходит при попытке залогинится в аську с кипа: 1 (18:09:27 9/12/2008) ============================= System Message ============================= ICQ version 5.1 is no longer supported. Download a free authorized ICQ version from ICQ's official website. Хотя если через транспорт, то ничего подобного не приходит. Видимо аол(или кто там сейчас владеет аськой) что-то в протоколе изменили. Хотя быть может проблема только кипа. Во всяком случае еще один балл в пользу джаббера =)","tags":"blog","title":"ICQ DIE?"},{"url":"http://lazycoder.ru/blog/apt-get","text":"Порадовал вывод в 8.10 apt-get --help","tags":"blog","title":"apt-get"},{"url":"http://lazycoder.ru/blog/molecular-memory","text":"Американскими учёными из штата Техас было сделано открытие, которое может способствовать переходу нынешних технологий по изготовлению накопителей информации на новый качественный уровень. Вполне может быть, что в скором времени нам придётся позабыть о флэш-памяти, которую заменит высокотехнологичная молекулярная память. Оказывается, что ультратонкая полоска графита толщиной всего 10 атомов может стать основой для накопителей информации новейшего типа. Вещества, называемые графенами, могут способствовать увеличению объёма данных, хранимых в двумерном массиве, в пять раз. Причём с увеличением объёма в будущих накопителях уменьшатся их габариты: учёные уже сейчас говорят о технологическом процессе 10 нм. Благодаря миниатюризации чипы молекулярной памяти будут также обладать более высокой плотностью, что опять же позволит создавать большие по объёму накопители в маленьких корпусах. Графеновые чипы практически не потребляют энергии и обладают крайне низким тепловыделением, что, однако не мешает им работать практически в экстремальных условиях: температурный диапазон безпроблемной эксплуатации молекулярной памяти составляет -75C .. 200C. Будем надеяться, что это перспективное открытие не сгинет на стадии разработки, для чего нужны определённые денежные вливания. Скорее всего, молекулярной памятью должны заинтересоваться многие производители традиционных на сегодняшний день накопителей информации, которые думают о дне завтрашнем. Из выпуска от 01-12-2008 рассылки «Ferra.ru: cамое интересное о компьютерах за прошедшую неделю»","tags":"blog","title":"Молекулярная память - технология будущего"},{"url":"http://lazycoder.ru/blog/opera-death","text":"Наконец таки свершилось: я удалил оперу с домашнего компа. Сказал бы мне это кто-нибудь год назад ни за что бы не поверил. Лишь одно мешало мне это до последнего времени сделать, так это большая корреспонденция накопленная в M2. По большей части это была различная рассылка и регистрационные письма с различных сервисов. Читал на форуме M2 о способе, позволяющем переконвертировать всю корреспонденцию из формата M2 в формат Thunderbird, но то ли у меня руки кривые, то ли еще чегото. Вобщем пришлось все письма вручную копипастить в док. Если, кто знает, то обьясните криворукому как всетаки сконвертировать в формат сандерберда.","tags":"blog","title":"Opera death"},{"url":"http://lazycoder.ru/blog/openoffice-formula-editor","text":"Продолжая мою пропаганду OpenOffice.org в массы напишу о еще одном приминении этого замечательного пакета в частности о его возможностях в деле написания формул. На днях младшему брату нужно было тесты набрать и распечатать по математике с дробями и т.д. Следовательно без редактора формул не обойтись. Это был мой первый опыт общения с редактором формул из пакета openoffice. Сначала показалось, что весь процесс \"изготовления\" формулы происходит так же как и в поделке от майкрософт(в приципе если человек - извращенец, то можно воспользоваться и таким вариантом), но создавая очередную дробь заметил, что все, что я создаю непосредственно в формуле транслируется в нижнее мемо-поле в виде определенного \"языка программирования\", которое кстати можно редактировать. Недолго думая все примеры написал в нем быстро и удобно. Вспоминается как было не удобно перещаться по формуле с разных уровней и постоянно кликать мышкой туда куда бы ты хотел вписать нужное число, теперь же я всю формулу набрал на клаве без каких-либо мытарств, если встречается подобный куски в формуле просто кпипастишь текст из поля в нужное место и забиваешь нужные значения в агрументы и всё.","tags":"blog","title":"О формулах в ОО"},{"url":"http://lazycoder.ru/blog/ubuntu-8-10-imressions","text":"Прошло практически две недели с того момента как обновился до 8.10. За это время успел уже переустановить ее на чисто, так как звуковая система начисто молчала после очережного обновления. То есть в начале не молчала, а издавала вместо звука какието кхм..\"шумы\": первой мыслью было, конечно, что динамики навернулись, благо были под рукой наушники. А после некоторых моих шаманств и вовсе хоть какойто звук перестал выводиться, разве что только через осс, да и то через раз. Да и некоторые другие мелкие \"глюки\" тоже глаз не радовали. И взяв лайв сиди в зубы таки переустановил систему, форматнув корень и избавившись от настроек прог из своего home folder. Ничего кординально нового в программе установки не увидел - все в принципе осталось по прежнему. После установки, как я не надеялся, все осталось как и до переустановки. Разве что звук появился =) и как и раньше старт звуковой системы при старте системы, а именно в gdm, занимает секунд пять, при этом загрузка системы полностью останавливается. также есть некоторые проблемы с видео, но не настолько серьезные. Прямо из коробки мой принтер как не держался в 8.04, так и не держится в 8.10. Плюс некоторые плагины для ФФ немного не так себя ведут. Из хорошего могу лишь назвать новую тему - DarkRoom, которая мне очень нравится, немного увеличенная скорость загрузки и пожалуй измененный шрифт в FF, уж не знаю заслуга ли это огнелиса или убунту, но лицо то, что прежний шрифт был несколько шире, что на некоторых сайтах портила всю \"картинку\". С другой стороны этот релиз не LTS как 8.04, так что некоторые \"глюки\" можно списать на это.","tags":"blog","title":"Запоздалые впечатления от ubuntu 8.10"},{"url":"http://lazycoder.ru/blog/openofficeorg-3-0-millions","text":"За первую неделю после выхода было загружено около 3 миллионов копий OpenOffice.org 3.0. Причем больше всего было скачано windows версий дистрибутива(2.4 миллиона). Я скачал себе версию под винду(для декстопа) и под линь(на ноут), кстати линукс версию дистрибутива загрузили всего около 220 тыс. раз. Разработчики пакета планируют, что к 2010 году openoffice.org будет установлен 400 миллионах компьютеров и займет 40% рынка офисных приложений. По мне, так последняя поделка от мелкософта в виде MSOffice 2007, которую я попробовал поюзать в универе, показалась мягко говоря неудобна в плане интерфейса и и нового их чудо-формата docx, который нормально, кроме как в 2007-м нигде не открывается. Использую openoffice несколько месяцев. На нем было сделано множество лабораторныхи ргз и ни разу openoffice не вызвал у меня каких-либо нареканий, а порой даже наоборот только восхищение своей простотой, удобством и лаконичностью. P.S. В данный момент уже стала доступна сборка от Инфра-ресурс с улучшенной поддержкой русского языка. Скачать ее можно как с официального сайта, так и с зеркала Яндекса","tags":"blog","title":"OpenOffice.org 3.0 миллиона"},{"url":"http://lazycoder.ru/blog/ubuntu-810","text":"Остается чуть больше недели до выхода ubuntu 8.10, а мне уже не терпится посмотреть. На скринах бетки меня, как новичку в линукс, больше всего порадовал слегка измененный интерфейс. а также еще более широкие возможности по его настройке. Также в списке изменений сообщается о том, что наутилус теперь будет поддерживать вкладки. Уж не знаю полезная ли фича, но интересно посмотреть, что из этого вышло. Также появятся фичи а-ля винда \"Загрузка последней удачной конфигурации\"(форточки, привет!) и вход под гостем. Интереснейший(для меня) пакет DKMS от Dell, также будет включен в 8.10. Насколько я понял из описания, данный пакет при обновлении ядра пересобирает дрова под это новое ядро, что избавляет от ручной переустановки дров при каждом обновлении ядра. Полный список изменений","tags":"blog","title":"Ubuntu 8.10"},{"url":"http://lazycoder.ru/blog/again-about-openoffice","text":"На то, чтобы \"пощупать\" rc3 опен оффиса времени не было совсем, поэтому ограничусь лишь очень повехностым(хотя и прошлые мои описания не отличались особой глубиной) описанием всего того, что я успел заметить в новом кандидате. В принципе всё отслаось по прежнему, также хромает поддержка автофигур в docx, также долго сохраняет документы большого обьема. Но есть и хорошоие новости: загрузка стала немного быстрее. Правда, не радует еще и постоянно увеличивающийся размер дистрибутива. Опять же повторюсь из-за нехватки времени мне не удалось рассмотреть его получше. Официальный сайт офиса сегодня молчит, на главной странице только мёртвые ссылки для скачивания и извинения тех.поддержки по поводу неработоспособности сайта. В этом тексте сказано, что, дескать, из-за большого количества желающих скачать сайт и полетел. Что даёт основания полагать, что 3й офис наконец зарелизился. В инете никакой подобной информации не нашел. Буду ждать","tags":"blog","title":"И снова об OO"},{"url":"http://lazycoder.ru/blog/not-only-docx","text":"Недавно узнал, что у мелкомягких уже давно есть пакет для обеспения совместимости форматов старых и 2007го офисов. После установке в контестном меню файла в експлорере появляется пункт Save as(у меня почему то поменялось на New) после нажатия на который вызывается диалог сохранения документа в нужном формате. Выбираем формат, сохраняем и все. Вот приходится иногда пользоваться..а что делать? Пакет можно скачать прямо с сайта мелкомягких здесь .","tags":"blog","title":"Не docx'ом единым!"},{"url":"http://lazycoder.ru/blog/gravatar","text":"Открыл для себя на днях сервис глобальных аватар - gravatar.com . Он позволяет использовать один свой аватар на разных сервисах. То есть регимся там выбираем(загружаем) туда свой аватар получаем ссылку на него и используем где надо =). Вордпресс изначально имеет поддрежрку граватар, но их на сайте можно найти описания и для других движков. Вобщем, достаточно интересная вещь!","tags":"blog","title":"Gravatar"},{"url":"http://lazycoder.ru/blog/floppy-device","text":"Нда вот уж не подумал бы, что мне еще когда то понадобится флоппи привод. =) На днях брал у парняги пару прог по дискретке(самому то лень). Сказал, дескать принесу на дискете, я машинально согласился, взял, пришел домой. Картина маслом: стою я около систеника, глядя на на слоты для карт памяти, не монимая куда здесь дискету пропихнуть. С минуту так стоял не понимая, что куда вставлять. Когда наконец сообразил, что у меня нет дисковода, помощь неожиданно пришла от моего старого компа, который пока еще одиноко стоит в сторонке. На нем еще оставался старенький дисковод, читавший дискеты через раз. Но вроде все обошлось и с трудом, но файл всетаки скопировался на винт. Такой вот почти что low tech =)","tags":"blog","title":"НГМД"},{"url":"http://lazycoder.ru/blog/fireopera","text":"На днях решил перейти со своей старой доброй оперы на огнелиса. Причин послуживших тому несколько. Во-первых меня перестала устаивать скорость открытия страниц в опере, особенно это заметно когда хочешь перейти на предыдущую страницу; во-вторых опера, как известно, несет в себе несколько, как кажется, полезных программ(в то числе emal-клиент, bittorrent-клиент, rss-читалку и irc-клиент), но все они какие-то недоделанные. Сколько раз было после остановки закачки и ребута, а закачки и след простыл, то же касается и торрент-клиента. О М2 и говорить нечего, мало того что интерфейса как такового нет и читать почту совершенно неудобно, так ещё и работа фильтров оставляет желать лучшего. Поэтому после печального опыта я попросту перестал ими пользоваться. В-третьих это отсутствие расширяемости в виде различных плагинов и расширений(виджеты не в счет). В пользу оперы для меня говорит лишь тот факт, что опера лучше всех пока держит веб-стандарты, но все еще впереди. Да и мой в моем блоге при просмотре из файрфокса рекламки хостинга не видно =) Да и просто огромная расширяемость огнелиса также делает ему честь. Еще одно немаловажное(не в практическом смысле) отличие Firefox в том, что он open source =)","tags":"blog","title":"Fireopera"},{"url":"http://lazycoder.ru/blog/flashnote","text":"Бывает такое, что надо срочно записать какой-либо отрывок текста, мысль, ссылку или еще что-то важное. Можно воспользоваться стандартным блокнотом, а можно программой специально предназначенной для таких целей. Одна из таких программ - flashnote. Прога висит в памяти и вызывается по нажатию Alt-S. Присутствует все функции обычного блокнота. Справа находится колонка где и размещаются ваши заметки, при желании можно создать древовидную структуру из них. Вобщем, прога очень полезная и нужная, как говорится must have =). Официальный сайт - http://softvoile.com/flashnote/","tags":"blog","title":"flashnote"},{"url":"http://lazycoder.ru/blog/terminal-fiction","text":"Вентиль Карантино представляет: Терминальное чтиво(DUMP FICTION) Сцена первая Винсент Мега и Джулис Винфайл едут в автомобиле. Джулис. Окей, расскажи мне про варезные борды. Винсент. Что тебя интересует? Джулис. Ну, варезы там легальны, так? Винсент. Ну, почти легальны, но не на сто процентов. Типа ты не можешь устроиться в крутую контору и юзать там варезный софт. Но ты можешь спокойно юзать его дома или выкладывать на ББСки. Джулис. Те самые варезные борды? Винсент. Ну да. Ты можешь закачивать софт или скачивать софт, или держать его на борде, если ты сисоп. Тамошние копы не шмонают борды. Они вообще не знают, что это такое. Джулис. Круто, блин, мать их! Винсент. Угу. Но знаешь, что самое прикольное в России? Джулис. Что? Винсент. Там все малость по-другому. Такое же дерьмовое железо и такой же глючный софт, как у нас, но есть разница. Джулис. Например? Винсент. Ты знаешь, как они называют 32-мегабайтный DIMM? Джулис. Они не называют его \"32-мегабайтный DIMM\"? Винсент. Нет, у них там метрическая система, поэтому они называют его \"32-метровый DIMM\". Джулис. 32-метровый DIMM. А как тогда они называют трехдюймовую дискету? Винсент. Так и называют - \"трехдюймовая дискета\". Джулис. Блин. Винсент. Не, блины - это у винтов. Сцена вторая Джулис и Винсент выходят из машины, открывают багажник и достают автоматические пистолеты 45 калибра. Джулис. Нам надо было взять шотганы на это дело. Винсент. Ты еще BFG9000 себе закажи. Сцена третья Винсент и Джулис идут по двору. Винсент. Где Билл ее откопал? Джулис. Хрен знает. Говорят, она побила его рекорд в Minesweeper. А вообще, когда-то она что-то программила. Винсент. Я видел что-нибудь, что она слабала? Джулис. Думаю, самым ее крутым проектом был апплет в бете шестого билда. Винсент. Чего? Джулис. Ну, ты в курсе, что у виндов бывают разные версии? Винсент. Я не юзаю винды. Джулис. Конечно, но ты слышал, что на компах есть такие хреновины - операционные системы и их иногда апдейтят? Винсент. Угу. Джулис. Так вот, прежде чем выпустить окончательный релиз, запускают бета-версии. Какие-то модули начинают глючить сразу, и их выкидывают, а какие-то потом, и их оставляют. Ее модуль вообще не запустился. Сцена четвертая Винсент и Джулис вошли в дом и идут по коридору. Джулис. Ты помнишь Антуана Хакамора? Его еще звали Тони - Хакерская Морда. Винсент. Типа того, и что с ним? Джулис. Дык, Билл отымел его по самое некуда. Винсент. Он что, пытался хакнуть его комп? Джулис. Нет-нет-нет, не настолько плохо. Винсент. Тогда что? Джулис. Он поставил ей новую игрушку. Винсент. А в ней был троян? Джулис мотает головой. Винсент. Это была пиратская копия? Джулис мотает головой. Винсент. И что сделал Билл? Джулис. Он послал к Тони двух ребят. Те взяли его комп и выкинули в окно с четвертого этажа. На винте ни одного живого блока не осталось. С тех пор хакер заикается. Винсент. Вот хрень. Впрочем, не играй с виндами - повиснешь. Джулис. В смысле? Винсент. Не надо было ставить новую игрушку секретарше Билла Гейтса. Джулис. Тебе не кажется, что Билл погорячился? Винсент. Антуан влез на комп секретарши Гейтса. Это не так плохо, как хакнуть комп самого Гейтса, но это из той же серии. Джулис. Блин, но это же просто игрушка! Без вирусов и троянов! Лицензионная копия! Это же полная фигня! Винсент. Ты когда-нибудь ставил виндовый софт? Джулис. Это ты меня спрашиваешь? Да я раньше работал в отделе продаж! Я переставил терабайты этой хрени! Винсент. И ты бы стал ставить кому-то это глюкало по собственной воле и на халяву? Джулис (бросает на него долгий взгляд). Да пошел ты! Винсент. Нет, правда. Я тут вдруг решил поставить себе Виндовз 2000. Займись, а? Джулис. Иди на хрен! Они подходят к двери. Джулис. Сколько времени? Винсент (глядя на часы). 7:22 2 января 1900 года. Джулис. Еще рано. Отходят от двери и шепчутся. Джулис. Слушай, если я не хочу ставить эти гребаные винды, это еще не значит, что комп хакера надо было выкинуть в это гребаное окно. Гребаный каламбур, блин. Винсент. Я не говорю, что Билл был прав, но ты говорил, что поставить игрушку ничего не значит, а я говорю - значит. Когда хакер лезет на чужой комп, это всегда что-то значит. Ты это знаешь, я это знаю, гребаный Билл это знает, а уж Антуан тем более должен был знать. Это машина секретарши Гейтса, парень, тут не до шуток. Как, ты говоришь, ее зовут? Джулис. Hу... Intel Pentium III... Винсент. Я про секретаршу. Джулис. Миа. А что тебе до нее? Винсент. Билл улетает во Флориду и просил меня позаботиться о ней. Джулис. Подготовить приказ об увольнении? Винсент. Не в этом смысле! Сводить ее куда-нибудь на выставку, показать последние разработки наших конкурентов, научить грамотно ругать их... Джулис молча смотрит на него. Винсент. Я не собираюсь прикасаться к ее компу. Джулис молча смотрит на него. Винсент. Мать твою, я уже пять лет не писал вирусы! Джулис (качает головой и бормочет). Самый страшный вирус - это сучка за компом. Винсент. Что ты сказал? Джулис. Ничего. Пошли, нас ждет работа. Винсент. Не пудри мне мозги, ты что-то сказал! Джулис. Если шедулер не сглюкнет, через тридцать секунд эта дверь откроется. Смотрят на дверь. Проходит минута. Ничего не меняется. Джулис. Тут нужен сильный программист. Винсент кивает и вышибает дверь. Сцена пятая В комнате. Посередине на столе стоит Big Tower c 20-дюймовым монитором, на котором явственно видно что-то виндовое. Один винт помаргивает индикатором в корпусе, другой лежит на столе. Тут же разбросаны модемы, сетевые карты и другое железо. В комнате трое парней явно хакерской внешности. Марвин лежит в углу - его зашибло дверью. Бретт за компом. Роджер сидит рядом. Джулис. Привет, ребята. Как жизнь? Молчание. Джулис (Винсенту). По-моему, они не реагируют на прерывания. Придется резетить. Бретт. У нас все ОК. Джулис. Вы знаете, кто мы такие? Бретт отрицательно качает головой. Джулис. Мы сотрудники Билла Гейтса, вы ведь знаете компанию Microsoft, да? Молчание. Джулис. Дайте-ка, я угадаю. Вот ты - Бретт aka Dark Duke aka CodeKiller? Бретт. Я Бретт. Джулис. Я так и знал. Ты знаешь компанию Microsoft, Бретт? Бретт. Я знаю Microsoft. Джулис. Очень хорошо. Похоже, мы с Винсентом застали вас за работой. А это что за железка? (Берет со стола плату.) Бретт. Видеокарта. Джулис. Вижу, что не модем. Я спрашиваю - какая видеокарта? Voodoo, или Riva, или Matrox? Бретт. Voodoo III. Джулис. Voodoo III. Никогда еще не юзал. Ну и как они? Бретт. Рулез. Джулис. Можно попробовать? Бретт. Конечно. Джулис откусывает у карты кусок, морщится и выплевывает. Джулис. Тебя обманули, парень. Это китайская подделка. ( Винсенту ) Что до меня, я не фанат Voodoo. Моя подружка тащится от Ривы, и у меня тоже Рива. ( Бретту ) Кстати, ты в курсе, как в России называют трехдюймовую дискету? Бретт. У них метрическая система. Значит... ээ...девятисантиметровая дискета? Джулис. Вы только посмотрите на этого умника Бретта. Ты крутой хакер, Бретт, но ты обломался. Так и называют - трехдюймовая дискета. ( Роджеру ) Ты, Crack Overlord, в курсе, зачем мы пришли? Роджер кивает. Джулис. Тогда почему бы тебе не рассказать Винсу, куда ты засунул этот хренов дистрибутив. Бретт. Он в... Джулис. Не припомню, чтобы посылал тебе запрос, Бретт, так что освободи шину. (Роджеру) Так ты говоришь?.. Роджер. Он в сидюке. Винсент жмет на кнопку CD-ROM'a и извлекает диск. На экране появляется сообщение об ошибке. Винсент любуется игрой света, отраженного от диска. Джулис. Мы счастливы? Винсент смотрит на него отсутствующим взглядом. Джулис. Винсент, мы счастливы? Винсент. Настолько, насколько может осчастливить продукция Microsoft (убирает диск в коробку). Бретт (Джулису). Послушай, как тебя зовут? Его зовут Винсент, а тебя? Джулис. Меня зовут Питер Нортон, и тебе лучше задизаблить свой спикер. Бретт. Я просто хотел сказать, как мы сожалеем, что все так вышло между нами и мистером Гейтсом. Когда мы сломали защиту, мы просто хотели посмотреть... Пока Бретт говорит, Джулис достает пистолет и трижды стреляет в лежащий на столе винчестер, разнося его на куски. Роджер падает замертво - у него не было бэкапов. Бретт замирает в ужасе. Джулис (Бретту). О, извини. Я, кажется, прервал твою мысль? Я не хотел. Продолжай, пожалуйста, ты остановился на \"просто посмотреть\". Бретт не в силах вымолвить ни слова. Джулис. В чем дело? Ты что, завис? Ладно, позволь мне возразить. Ты знаешь, как выглядит Билл Гейтс? Бретт. Что? Джулис сбрасывает на пол раскиданное по столу hardware, плюхается на освобожденное место и забирает себе клавиатуру. Джулис. Ты говоришь по-английски? Бретт. Что? Джулис. Английский, твою мать! Не Си, не Паскаль, не Ассемблер - английский! Ты его понимаешь? Бретт. Да. Джулис. Тогда опиши мне Билла Гейтса. Бретт. Что? Джулис отстукивает на клавиатуре \"format c:\" Джулис. Скажи еще раз \"что\"! Давай, твою мать, скажи \"что\"! Ламер виснутый, скажи \"что\" еще один мастдайный раз! Бретт пытается собраться. Джулис. Теперь опиши мне, как выглядит Билл Гейтс. Бретт. Ну... он белый... волосатый... в очках... Джулис. Он похож на суку? Бретт. Что? Джулис бьет по Enter. Бретт вскрикивает. На экране появляется запрос \"(Y/N)?\". Джулис. Он похож на суку?! Бретт. Д-д-д... Джулис. Что? Бретт. Нет! Джулис. Тогда почему вы хотели его трахнуть? Мистер Гейтс позволяет трахать себя только Департаменту налогов! Ты читал Лицензионное соглашение, Бретт? Бретт. Да. Джулис. Там есть место, которое я выучил наизусть специально для таких случаев. Абзац 25, строка 17. \"Пользователь не имеет права копировать Продукт на какие-либо носители. Если по окончании trial периода пользователь не произвел регистрацию, он обязан полностью удалить Продукт, стереть все файлы, созданные с его помощью, и переформатировать винчестер\". Винсент и Джулис достают пистолеты и расстреливают компьютер. Изувеченный корпус и обломки монитора летят на пол. Когда все стихает, Бретт несколько секунд сидит неподвижно, затем валится замертво. Джулис. Format complete. К сожалению, наиболее ожидавшийся зрителями следующий эпизод, в котором Билл Гейтс попадает в лапы маньяков-садистов, был запрещен к показу.","tags":"blog","title":"Терминальное чтиво"},{"url":"http://lazycoder.ru/blog/launchy-launcher","text":"Наткнулся тут на одну интереснейшую программу для любителей, коим я являюсь, работать за компьютером большей частью на клавиатуре. Программа индексирует файлы в указанных каталогах, для последующего быстрого и легкого запуска путем набора первых символов из имени файла(приложения) в неком подобии командной строки. Программа имеет красивый интрефейс + поддержку плагинов. Официальный сайт Launchy.net Как оказалось, есть целый класс программ такого рода(лаунчеры). Подобные программы: Type and Run, SlickRun, Executor.","tags":"blog","title":"Launchy"},{"url":"http://lazycoder.ru/blog/jabber-vs-icq","text":"В этой статье я постараюсь рассказать о том, что такое Jabber, его основных отличиях, а также о его преимуществах и недостатках по отношению к другим протоколам обмена мгновенными сообщениями, в частности к ICQ. Данная статья в первую очередь ориентирована на людей только решивших перейти на сей протокол, а также для тех кто даже ничего не слышал о Jabber. Что такое Jabber? Jabber(Джаббер) - это абсолютно открытая некоммерческая система быстрого обмена сообщениями на основе протокола XMPP использующее децентрализованную топологию серверов. Лого джаббера - лампа накаливания . Семейство протоколов Jabber принято как стандарт RFC. Основные понятия в Jabber Jabber ID (JID) - аналог вашего номера в icq(uin), за тем лишь исключением, что в jabber'е используются не номера(цифры), а адреса подобно адресам электронной почты. Например d-mortis@jabber.ru Ростер(Roster) - аналог контакт-листа в icq. Хранится на сервере. Транспорт - сервис на джаббер-сервере предоставляющий доступ в другие IM сети. Конференция - чат на одном из jabber-серверов. Каждая конференция также имеет свой адрес, чаще всего он состоит из собственно имени конференции, службы, и собственно сервера. Например, linux@conference.jabber.ru , здесь linux - название конференции, conference - имя службы, предоставляющей возможность общения в чатах, и собственно сам сервер. Закладки - подобно закладкам в любом браузере, однако в джаббере используются для хранения адресов конференций, транспортов и URL. Персональная карта(Personal vCard) - опять же аналог вашей личной информации в icq. Сервис - служба сервера позволяющая: вести общение с другими IM сетями(icq, Майл.Ру, aim и т.д.), создавать и общаться в чат-комнатах, получать рассылки и многое другое. Количество и список служб зависит от конкретного сервера. Подключившись к одному серверу вы вполне можете использовать службы другого. Ресурс - дополнительное значение адреса, которое может идентифицировать пользователя в данный момент. Чтобы подключить ресурс достаточно в конце jid поставить \"/\"(слэш) и далее имя ресурса, то есть у вас получится нечто такое user@server.ru/home . Сообщения отправленные на user@server.ru получат все подключенные ресурсы, однако сообщение посланное непосредственно на user@server.ru/home дойдут только при включенном ресурсе /home. Преимущества Jabber над icq В отличие от коммерческих сетей, таких как icq, протокол Jabber открыт и общедоступен. Благодаря этому существует множество библиотек, клиентов и серверов с открытым исходным кодом. Отсутсвие спама. Протокол XMPP предполагает общение контактов друг с другом только после обоюдного согласия обоих пользователей. То есть авторизация обязательна. Также препятствует спаму и децентрализованность сети. Возможность использования в домашней/корпоративной сети. Благодаря открытости технологии существует множество jabber-серверов, которые дают возможность полноценного использования всех преимуществ технологии Jabber в рамках корпоративной сети. С помощью ресурсов, имеется возможность одновременного подключения к одному джаббер-аккаунту. Отсутствие проблем с кодировками. Джаббер изначально поддерживет кодировку Unicode, которая позволяет обмениваться сообщениями практически на любом языке. Подключение к серверу проходит быстрее. Возможность подключения транспортов для общения с контактами из другой IM сети. Jid зачастую запомнить легче, чем номер icq. Недостатки Jabber Отсутствие поиска юзеров из-за децентрализованности сети. Отсутствие на некоторых серверах системы восстановления пароля. Да и то, только если в вашей карте был указан e-mail. Однако если у вас есть джаббер аккаунт на Livejournal.com , Gmail.com или на Я.ру соответственно пароли от почты(блога) одни и те же, следовательно, чтобы восстановить пароль от джаббера, достаточно восстановить пароль от вашей почты(блога). Немного больший трафик по сравнению с icq. Видно, что у джабера достоинств на порядок больше, однако есть и серьезный недостаток, который даже наверное и недостатком то назвать сложно. Я говорю о том, что в век популярности \"аськи\", очень сложно \"переманить\" людей на другой IM, даже если он неоспоримо лучше. Думаю это связано прежде всего с тем, что Jabber изначально не имеет владеющей им корпорации, отсюда и слабая популярность его в массах, то есть не имея коммерческой направленности отсутствует и мотивация распространять и продвигать систему. Однако не имея одного хозяина джаббер может быть бесплатно использован кем угодно и практически как угодно. Думается, что жаба так и останется выбором энтузиастов и любителей открытых систем.","tags":"blog","title":"Jabber и ICQ: в чем сила, брат?"},{"url":"http://lazycoder.ru/blog/codeblocks","text":"Кроссплатформенная IDE с открытым исходным кодом. По умолчанию использует в качестве компилятора minGW (портированный gcc). Программа полностью бесплатна. Оболочка поддерживает языки C и C++. Code::Blocks написана на C++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Сайт Скачать - 20 мБ","tags":"blog","title":"Code::Blocks"},{"url":"http://lazycoder.ru/blog/miranda-me","text":"По моему субъективному мнению лучшая сборка миранды(бесплатного мессенджера). Включает достаточно большое количество модулей(их можно выбрать в процессе установки) при этом все модули хорошо отконфигурированы и процессе работы незаметны. В отличие от других сборок, в этой все работает \"прямо из коробки\" и без необходимости настройки под себя. Да и еще одно немаловажное(имхо) ее отличие от других сборок заключается в наличии у нее официального сайта , где всегда можно скачать последнюю версию. Скачать - 5.8 мБ","tags":"blog","title":"Miranda Me"},{"url":"http://lazycoder.ru/blog/myasm-043-beta","text":"Программа MyAsm является оболочкой для борландовского компилятора (поставляется с такими оболочками, как Borland C и Borland Pascal). Предназначена для набора программ на языке ассемблера. Программа имеет простой интерфейс текстового редактора. Была написана в свое время на паре по асму. Основные возможности программы: подсветка синтаксиса; вывод лога компиляции в главном окне; шаблоны для написания программ; изменение ключей компиляции из главного окна программы. В программе также присутствует функция отладки вашего проекта во внешнем отладчике (работает только с Turbo Bebugger). Для полноценной работы программе необходимо 3 бинарника: tasm.exe(компилятор), tlink.exe(линковщик) и td.exe(отладчик). ВНИМАНИЕ! Для запуска компилятора необходимо отсутствие в пути к компилятору( + отладчику и линкеру) пробелов и других специальных символов. Рекомендуется распаковывать архив непосредственно в корневик диска. Скачать - 670кБ","tags":"blog","title":"MyAsm 0.43 Beta"},{"url":"http://lazycoder.ru/blog/shutdown-day-03-may-2008","text":"\"Можешь ли ты выжить день без компьютера?\" под таким тэглайном пройдет флешмоб-акция \"Shutdown Day\"(дословно - \"День Выключения\"). В этот день, 03 мая, организаторы предлагают нам выключить свой компьютер ровно на сутки, тем самым экономя на электроэнергии. Пока на сайте http://www.shutdownday.org/ заявлено о 3027-и участниках.","tags":"blog","title":"Shutdown Day: 03 May, 2008"}]}