Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2009-01-31

300-page iPhone bill

Я так понял, AT&T Mobility, the mobile phone service provider своим клиентам по умолчанию предоставляет детальнейший отчет о совершенных операциях и, понятно, денежных тратах. Я бы не отказался.
Но у наших операторов по умолчанию (да и не по умолчанию) выписку по операциям раздобыть так же трудно, как подключиться к AT&T в России.

http://en.wikipedia.org/wiki/300-page_iPhone_bill#Other_outsized_iPhone_bills

2009-01-30

Господа студенты, не учитесь, пожалуйста!

Замечательная мысль - чем меньше вокруг тебя специалистов твоего профиля, тем ценнее ты сам.

... - Запомните, молодой человек, чем меньше вы знаете, тем более ценна я как специалист.
Эта фраза мне запомнилась на всю жизнь и больше я не страдал фигнёй во время занятий.
И сейчас самое время мне, уже доценту и одновременно практикующему проектировщику зданий, повторить то же самое:
Господа студенты, не учитесь, пожалуйста! Старайтесь как можно больше получить на халяву! Чем меньше вы знаете по окончании института, тем более ценен я как специалист и тем большую зарплату я могу потребовать за свои услуги!
Пожалуйста!...


bash.org.ru

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

2009-01-29

beep

Была раньше такая команда - beep, одну из версий я сам для себя писал. И было это в стародавние времена досов и дешевых оболочек.
И вот, понадобилось применить этот бип, для проверки - запускается программа или нет. Типа если бибикнет - запустилась, нет - нет.

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

Но пытливый разум все преодолеет. Вместо бипа мы можем использовать консольный mp3-плеер, с бонусом в виде приятного звука вместо тупого бипа. С удовольствием представляю, консольный плеер:
mpg123 - Fast console MPEG Audio Player and decoder library
www.mpg123.de

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

Совести не хватает

Замечательно, про кино:

...
Когда была жива моя мама она мне объясняла насчёт пива. А работала она хлебопёком, потом пивоваром, даже медаль ВДНХ получала. Ещё при совдепии поставили на свердловский пивзавод линию по производству светлого чешского пива. Прямо из Чехии. Но пиво было говённое. Я спрашиваю у мамы - в чём проблема? Оборудование оттуда, сырьё тоже. Может, вода плохая? Почему там у них хорошее, а здесь - моча мочой? Чего не хватает? Она тогда мне и сказала - совести не хватает. Много лет с тех пор прошло, но мало что изменилось. И в кино тоже. Да, в общем-то, я опять не про кино. Не люблю про него говорить и слушать.


dimulenka.livejournal.com


О, еще, не про кино:

... Буржуи, надо сказать, прекрасно знакомы с реалиями нашего машиностроения, поэтому конвейер подрядчика снабдили на выходе лазерным объемным сканнером, который не давал отгружать брак. Наша задача заключалась в том, чтобы чутка подкрутить софтину на базе Websphere MQ, которая обрабатывала данные от сканнера, и складывала их по Интернету в буржуйский SAP. Явившись в цех, и прицепившись к сканнеру, мы узрели неких мужчин, одетых в спецовку, и совершавших судорожные челночные перебежки от сканнера к конвейеру и обратно. Это были слесари по наебалову системы контроля качества. У них было некоторое количество эталонных деталей, которые заведомо проскакивали через сканнер. И, чтобы обмануть счетчик, через сканнер пропускались, раз за разом, именно эти детали, а в отгрузку шло то, что получилось.

Более того, как выяснилось, на складе имелся недельный объем эталонной готовой продукции, который руками подкладывался на конвейер, когда приезжал контроль качества от заказчика. Долго враги не могли понять, где же скрылась проблема, и сканнер меняли трижды. В очередной наш приезд на настройку нового сканнера, мы обнаружили, что буржуйские сволочи снабдили конвейер дополнительной железкой - приклеивалкой RFID меток. Не прошло и месяца, как команда слесарей по наебалову была доукомплектована взводом переклеивальщиков с парогенераторами. ...


oldmann.livejournal.com

g/re/p

Хрен догадаешься. Оказывается название команды grep составлено из трех: global/regular expression/print.
С радостью представляю вам понятное любому нормальному человеку описание команды grep, полезняшка сильновеликая:

Команда grep, одна из самых известных и употребительных команд Юниксовидных ОС, ведет свое начало от первого текстового редактора Юникс - ed. В этом редакторе была команда g/re/p (global/regular expression/print), которая и дала свое название новой программе.

Команда grep служит для поиска строк, содержащих заданный пользователем образец.

grep ОБРАЗЕЦ имя_файла
...

... Команда grep настолько полезна, многофункциональна и проста в употреблении, что, однажды познакомившись с ней, невозможно представить себе работу без нее. Особенно полезна эта команда в качестве фильтра в составе программных каналов (pipes).


rus-linux.net

2009-01-28

3:10 to Yuma

Интересно, какой эффект может получится, если последовательно посмотреть два фильма - оригинал и римейк. Причем оригинал 1957 года а римейк 2007. Это я про "3:10 to Yuma". Ниче так боевичок. Хотя сюжет - фигня.
Особенно боевикаста свежая версия. Отдельно впечатлила банковская карета с пулеметом системы гатлинг. И то как из этого пулемета обстреливали снайпера. Чем-то напомнило Рембо 4.

Но, несмотря на большую зрелищность свежачка, мне больше понравился старый фильм. Это и интересно. Даже не знаю, как обьяснить - чем он мне понравился. Большей человечностью, что-ли. Хотя какой человечности можно ждать от боевика?


А вы видели, насколько умны вороны?


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

... Таким образом, естественный отбор, действуя параллельно на двух уровнях — индивидуальном и популяционном, при соблюдении определенных условий может обеспечивать развитие альтруизма даже тогда, когда в каждой отдельно взятой популяции он благоприятствует эгоистам, а альтруистов обрекает на постепенное вымирание. ...

elementy.ru

2009-01-27

A Relational Model of Data for Large Shared Data Banks

Классика, да.

Реляционная модель данных для больших совместно используемых банков данных
Е.Ф. Кодд
Перевод: М.Р. Когаловский
citforum.ru

Оригинал: E.F. Codd. A Relational Model of Data for Large Shared Data Banks. Communications of the ACM, Volume 13, Number 6, June, 1970.
eecs.harvard.edu

... Термин отношение используется здесь в его общепринятом математическом смысле. Для заданных множеств S1, S2, ..., Sn (не обязательно различных) R является отношением на этих n множествах, если представляет собой множество кортежей степени n, у каждого из которых первый элемент взят из множества S1, второй – из множества S2 и т.д.1) Мы будем называть Sj j-тым доменом R. Говорят, что такое отношение R имеет степень n. Отношения степени 1 часто называют унарными, степени 2 – бинарными, степени 3 – тернарными и степени n – n-арными.

Для наглядности мы будем часто использовать представление отношений в виде массивов, но нужно помнить, что это конкретное представление не является существенной частью излагаемого реляционного представления. Массив, представляющий n-арное отношение R, обладает следующими свойствами:

1. Каждая строка представляет кортеж степени n.
2. Порядок строк не является существенным.
3. Все строки различны.
4. Порядок столбцов является существенным – он соответствует порядку S1, S2,..., Sn доменов, на которых определяется R (однако обратите внимание на приводимые ниже замечания по поводу отношений с упорядоченными и неупорядоченными доменами).
5. Значимость каждого столбца частично выражается посредством его пометки именем соответствующего домена. ...


citforum.ru

2009-01-25

REST

Вроде я уже упоминал эту концепцию, REST. Упомяну еще, повторение - мать учения. Как и в любых достаточно масштабных делах, в программировании (по Лебедеву - в дизайне) сложных систем необходимо продумать и поддерживать порядок. Одним из способов упорядочивания можно положить следование методикам REST. Удобно, просто. Иногда.

REST описывает принципы взаимодействия клиента и сервера, основанные на понятиях «ресурса» и «глагола» (можно понимать их как подлежащее и сказуемое). В случае HTTP ресурс определяется своим URI, а глагол — это HTTP-метод. ...
REST дает программистам возможность писать стандартизованные и чуть более красивые веб-приложения, чем раньше ...
Самое главное преимущество REST это заранее определенная модель поведения. В отличии от SOAP/XMLRPC.
В реальной жизни это значит что если некий разработчик говорит о том что он предоставляет REST API, не нужно читать тонны документации по реализации этого самого API...


habrahabr.ru

netcat

Удивительно, какие вещи можно делать с помощью самых простых средств. Два компьютера в сети, утилита netcat и оп-ля! Каталог с файлами перелит оттуда - туда.

... И я уже начал запаковывать его в tar архив, чтобы передать по FTP, как вспомнил, что есть такая вещь как netcat. Раньше я им никогда не пользовался - просто где-то слышал о нем и запомнил о его существовании, т. к. он может очень пригодиться при написании скриптов.
Открыл man, почитал и запустил на одной машине команду

tar -c Ubuntu.8.10.i386.repository | nc -q0 192.168.0.1 6000

а на другой

nc -q0 -l -p 6000 | tar -x

Все! Файлы потекли бурным потоком с одной машины на другую. ...


konishchevdmitry.blogspot.com

... Идея netcat очень проста: он просто перенаправляет поток данных в порт сетевого устройства, а на другом конце поток перенаправляется в файл. Отсюда и название: NETcat - тот же cat, но сетевой. ...

mydebianblog.blogspot.com


О неприятном.

Интервью с Чичваркиным (Опубликовано 29 мая 2008 года):

... Обсуждать стоимость самой компании он не в настроении.

- Да нисколько она не стоит. Этот актив не продается. Зачем? Два осла, груженных золотом, так и запишите.

На вопрос о взаимоотношениях "Евросети" и МТС Евгений еще раз повторяет, что "Евросеть" никто не продавал и продавать не собирается. И покупать - тоже. ...


computerra.ru

А потом компанию закошмарили и продали.
http://www.kp.ru/daily/24167.5/380165/

А еще проходили сообщения о том, что (возможно) ОпСоСы будут развивать продажи телефонов с контрактами, как в европах.

А ОпСоСы имеют весьма тесные связи со службами "безов".

А теперь проходят сообщения, что Чичваркин в бегах, так как ищут его - мошенника такого, а то и убивца.

Лично я, сложив 2+2 получаю 4. Хотя это только версия. Одна из. Мешает болезный кому-то (хотя компанию вроде отдал?). Поживем, увидим - кому. Неприятно в этом то, что закон применяется весьма избирательно, как средство давления а не средство навести порядок; плюс, законы такие, что не нарушить невозможно. Очень удобно некоторым.

UPD:
а вот из его блога:
... В конце мая этого года, насмотревшись на ночь РБК и Bloomberg TV, мне приснился страшный сон. Привиделось мне, куда может дальше зайти ситуация, если дальше будут приниматься меры экономического регулирования, исходя из последней логики. Сон я досмотрел до апреля 2009 года, когда разъяренные люди с гнилыми зубами и красными околышками на мокрых шапках громили продуктовые лавки и прямо на улице ели колбасу и рыбу, открывали консервы булыжником и водку пили из горлышка. Проснувшись в ужасе, я позвонил нашему инвест-банкиру и попросил продать компанию немедленно, на тех условиях, которые предложат быстрее. Немедленно, к сожалению, не получилось, получилось только 22 сентября. Где-то в это же время начали сбываться самые жуткие моменты моего сна.

Где-то в середине ноября мне позвонил Георгий Бовт и предложил возглавить Московское отделение партии «Правое Дело». Я подумал, что странно во время ухудшающейся экономической ситуации и усиления роли всех видов регуляторов в остатках экономической жизни страны, когда ключевые слова «ужесточить», «навести порядок», «временно приостановить», «заградить» доминируют в эфире, создавать партию с либеральными идеями. А потом подумал: кто-то же должен после кризиса восстанавливать естественное созидательное состояние экономики, да и жизни.

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


chich8.livejournal.com

2009-01-24

rdiff-backup

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

Я, как водится, спросил у гугеля, он ответил: типа, версия у тебя неудачная, в этой версии налажали разработчики. Ну, поскольку тулза у меня из репозитария, я подождал немного. Потом еще немного. Вот, две недели прошло. А обновление пакета не идет.

Пришлось пакет сносить и ставить тулзу из родного дистрибутива. После чего появилась другая ошибка - CRC Error. Снова-здорова, гугель, тыр-пыр - ответ: предыдущие попытки забэкапить оставили битые архивы. А как найти битый архив? Ответ - заклинание напиши.

$ find /mnt/backup/rdiff-backup-data -type f -name \*.gz -print0 | xargs -0r gzip --test

Так я узнал имя битого файла и смело прибил его.
После чего все заверте...
Хеппи энд.


А теперь интересное.
Интересно статья начинается:

«Массы людей - рабы по своей природе, и, когда их освобождают, то оказывается, что они лишены интеллектуальных и моральных стимулов, необходимых для принятия ответственности за свои поступки» - говорил Аристотель.

Американский журналист-политолог начала 20-го века Уолтер Липпман, повторяя Аристотеля, в своей основной работе, признанной вершиной американской политической мысли, писал: «Широкие массы не в состоянии ни понять общественные проблемы, ни решать стоящие перед обществом задачи. Проблемы общества могут поняты и решены только ее элитой».

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



Что любопытно, ссылки на Аристотеля и других авторов косвенные. Поискал я, что там у Аристотеля про рабство, нашел только это:

humanities.edu.ru
Трактат на тему "рабство рабству рознь". Немного о другом.
И вот как я должен относится к статье, в которой приведены цитаты, которые я не могу ни подтвердить ни опровергнуть? Очевидно, как к попытке манипуляции.
А сама статья - любопытная, только очень многа букаф. Но я попробую дочитать.

2009-01-22

Побочный эффект

Ну, не такой уж он и побочный. Можно было заранее сказать, что изучая аглицкий язык методом просмотра фильмов с аглицкой дорожкой и субтитрами (аглицкими) рано или поздно я начну разбирать слова песен из моего плеера.
Да, поймал себя на том, что разбираю слова (не все, понятно) песен (не всех, понятно) и начинаю вникать в текст и смысл. Хоть и немного, но достаточно для того, чтобы моСк дергался и отвлекался.
О, ужас! Как мне быть?! Я же плейлист составлял из соображений создания ненавязчивого приятного звукового фона, в основном. Придется теперь, видимо, собирать коллекцию инструментальной музыки. А может мне вокал нравится?

Как страшно жить.

Web design tools and resources I use

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

... The following list contains the content, tools and resources I use to create websites ...

elementiks.com

Тем не менее, очень поучительно.

2009-01-21

Всяко разно, только не заразно

Посмотрел четыре серии "Доктора Хауса". Ориентируясь на отзывы ожидал чего-то большего. Скучновато, перебор с медицинскими терминами (с трудом успеваю следить за развитием темы болезни). Если бы не Хью Лори, наверное бы смотреть не стал. Кстати персонаж его как-то рассыпается, не складывается. То ли дело в "Дживсе и Вустере" - какой Вустер, какой характер!

Нечуствительно починили загадочное оборудование в Бибине, теперь со скоростью полный порядок, качается в один поток не хуже чем во много. Написать им благодарственное письмо, что-ли? Заодно потребовать убрать безобразные потери пакетов - выше 10% постоянно. Радио-канал, плин.

Система управления проектами, программерам на заметку: Redmine

Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database.

Redmine is open source and released under the terms of the GNU General Public License v2 (GPL).
Overview

* Multiple projects support
* Flexible role based access control
* Flexible issue tracking system
* Gantt chart and calendar
* News, documents & files management
* Feeds & email notifications
* Per project wiki
* Per project forums
* Time tracking
* Custom fields for issues, time-entries, projects and users
* SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
* Issue creation via email
* Multiple LDAP authentication support
* User self-registration support
* Multilanguage support
* Multiple databases support

2009-01-20

PHP унд Java

Веб-проект где используется связка из решений на Java и PHP в одной упряжке.
Java используется как платформа на которой построены решения с использованием "размазанных" баз данных. И правда, на яве таких решений, пожалуй, поболе, чем на других платформах. В итоге получается слой доступа к отказоустойчивой и высоконагруженной БД.
PHP используется как платформа для быстрого написания приложений, использующих БД. Собственно пользовательские страницы, высокоуровневая логика.

Осталась проблема - как скрестить ежа с ужом? Интересно? Читайте здесь:

abrdev.com

А в каментах я нашел еще интересный блог:

simplecoding.org

Буду почитать.
Ох, где ж на все интересное время найти?

2009-01-19

Артемий наш Лебедев

Личность неоднозначная, но мне нравится, хорош!
Из его лекции (2005 год, всю ниасилил, многабукаф, да и не лекция это) вывел полезное:
* показывайте свои работы тем, кого вы считаете авторитетом в данной области, не бойтесь критики - требуйте ее;
* всегда имейте наготове портфолио и постоянно пополняйте его, помогает найти деньги;
* первые два совета бесполезны, если вы сидите в своем болоте и не желаете общаться.
Также интересно было мнение Артемия о уровне работ своей студии - чуть выше чем у конкурентов, пара работ хороших, пара работ очень хороших.

В общем - молодца! Делает то, что нравится и имеет с этого средства развлекаться.

Лекция Артемия Лебедева о дизайне
В этой лекции Артемий Лебедев, создатель одноименной студии рассказывает о себе, студии, дизайне в интернете и дизайне вцелом Описание слайда

Остальные слайды урока на skillopedia.ru

2009-01-18

Java плагин в Firefox

Оказывается, за год мне ни разу не понадобилась поддержка Java в браузере! А тут понадобилась. Тырк-пырк, в настройках браузера опция "да, использовать яву" включена, а ява-апплеты на страницах не работают. Причем, я знаю, ява в системе у меня установлена, я ее уже использовал. И JRE и JDK.
Ладно, полез искать ответа как обычно. Читаю
support.mozilla.com
а там писано, буржуйским по белому:
файл плагина должен находится в каталоге plugins браузера.

Дальше дело техники, пара-тройка заклинаний, перезапуск браузера, вуаля:

нашел файл плагина:
v@v:~$ find /usr -iname libjavaplugin_oji.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/plugin/i386/ns7/libjavaplugin_oji.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/plugin/i386/ns7-gcc29/libjavaplugin_oji.so
v@v:~$

нашел где браузер:
v@v:~$ find /opt -iname firefox
/opt/firefox
/opt/firefox/firefox
v@v:~$

создал мягкую ссылку на плагин:
v@v:~$ ln -s /usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/plugin/i386/ns7/libjavaplugin_oji.so /opt/firefox/plugins/libjavaplugin_oji.so

проверил, есть ли плагин в списке:
v@v:~$ ll /opt/firefox/plugins/
total 7960
-rwxr-xr-x 1 root root 8115888 2008-04-22 20:27 libflashplayer.so
lrwxrwxrwx 1 v v 77 2009-01-18 19:06 libjavaplugin_oji.so -> /usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/plugin/i386/ns7/libjavaplugin_oji.so
-rwxr-xr-x 1 v v 15792 2008-10-02 01:11 libnullplugin.so

То же, но красивше:

Всё, ява работает.

Такие, сякие

Есть мнение, что жестокости и подлости на Российской земле в целом было меньше за обозримый исторический период. Ну, типа, казнили меньше, репрессировали меньше, слабые народы угнетали меньше (жертв меньше) чем. Чем где? Чем в европейских странах.
И именно поэтому (пороли мало) мы такие расхлябанные. А европейцы по струнке ходят - поротые нещадно.
Это мнение, подтверждать или опровергать его с числами наперевес оставляю дипломированным историкам.

А еще есть мнение, что Россия уже не первый век находится в состоянии информационной войны. И проигрывает в ней. Ведь каждый встречный поперечный россиянин подтвердит, что Россия - лапотная. В уничижительном смысле. А почему он так скажет? Потому что в мозги насрано.
А вы попробуйте таблицу составить - слева Россия, справа сопоставимая по населению (в историческом масштабе) европейская страна или даже набор стран. И записать числа характеризующие негатив и позитив. Типа, за 1000 лет казнили народу скока в России и скока в правой колонке? И так по любому пункту, принятому к сравнению в спорах "где жить лучше".

Рекомендую к прочтению:

... Нас убедили в том, что Россия обязательно лапотная. И мы со страшным энтузиазмом подхватили этот слоган. А ведь даже вилки появляются в России (при Алексее Михайловиче) на век раньше, чем во Франции (при Людовике-16).

В перестроечных газетах, помню, советское образование – со ссылкой на мнение западных специалистов, – значилось на 41 месте в соседстве с какими-то африканскими странами. Оказывается, за критерий образования эти специалисты взяли владение компьютером. Компьютер это замечательно, но при чем тут образование. Сев за компьютер, через три-четыре года Пашка Левин уже распотрошил главный банк США.

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

Россияне, голубчики. Мы живем в великой стране, и хватит извиняться за то, чего мы не совершали. Предварительно искоренив элементарное хамство, давайте попробуем гордиться тем, что имеем. И особенно в сфере культуры. И особенно сегодня. Как ни странно, мы опять впереди планеты всей. Сейчас Россия – главный хранитель мировых культурных традиций. Почему мы не хотим замечать своих приоритетов. Кроме газово-нефтяных труб у нас колоссальный ресурс в сфере искусства. А искусство самый проверенный критерий цивилизации. Закат же Европы, как обещал Шпенглер, состоялся. В Америке рассвет и не наступал, им вообще не до искусства, тем более, теперь.

И не надо обезъяничать – это я обращаюсь к представителям творческих профессий, – к чему это наивное усердие в странном желании деградировать в ногу со всем «цивилизованным» миром. У «цивилизованного» мира своя судьба, не завидная. США, например, никакой дефолт уже не грозит: внешний долг США – $13,8 триллионов и внутренний – далеко за $30. Итого – под $170.000 на брата, на американского. В экономическом смысле на планете нет такой страны – США, не ее месте давно зияет Марианская впадина. ...


anti-pov.livejournal.com

А нам бы не отгораживаться, нам бы интегрироваться в мировую движуху, чтобы люди ездили за бугор не только отдыхать и ездили бы почаще. Но - по праву на равных, не униженно маскируя русские корни, а гордо (но без пафоса тупого) и без хамских понтов. С достоинством.
А начать можно с малого - подключится к интернет-проекту интернациональному. Внести лепту малую, да свою. А нужно-то ничего - язык освоить (аглицкий) да работу в интернет. Ну и уметь полезное чего, программировать или тексты писать или переводить. Работы - валом.

2009-01-17

Починяя Zope

В управляторе зопы доступна весьма полезная функция - можно любой обьект экспортировать (и импортировать) в файл-пакет. Очень удобно для переноса частей приложения (сайта) или сайта целиком с системы на систему.
По умолчанию файл экспорта создается бинарный, zexp. Но есть опция вывода в XML формате, что, на мой вгляд, гораздо полезнее для разработчиков. Не буду здесь распространяться про достоинства XML.
И всё бы хорошо, да вот не сработал у меня экспорт в хмл. Может у англоязычных разработчиков, целиком помещающихся в ASCII набор, всё прекрасно работает, но не у нас, извергов альтернативнокодировочных.

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

Подробности борьбы. Да, сразу надо сказать, верся зопы у меня такая:
Zope Version (Zope 2.10.6-final, python 2.4.4, win32)

Попытка экспорта обьекта дает сообщение о ошибке:
Error Type: AttributeError
Error Value: 'unicode' object has no attribute 'id'

После исправления двух файлов,
патч 1:


патч 2:


и перезапуска зопы, экспорт работает.
А импорт - нет.
Да и хрен с ним, зато хмл прикольно рассматривать на досуге. Дает понимание того, как кишки у зопы устроены.

2009-01-16

Осваивая Zope

Приложение типа "Hello, world!" на базе Zope. Кстати, нам, русским, удобно произносить как "зопа", хотя у буржуев это "Зет ОуПи" или "зоуп". Z Object Publishing. Как-то так.

Итак, берем в одну руку интерфейс управлятора зопы, допустим по урл
http://localhost:8080/manage
в другую руку берем учебник
http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/BasicObject.stx
и ваяем приложение.

1) В корне дерева обьектов добавляем (справа список и кнопка Add) обьект типа Folder, дадим ему id=interest.
2) В эту папку таким же образом добавим три обьекта. Два типа Page Template с именами (id) irForm и irDisplay.
Третий обьект будет типа Script (Pyton) с именем calcCompoundingInterest.
3) Отредактируем каждый из этих обьектов, задав им текст:
irForm


irDisplay


calcCompoundingInterest (у него еще параметр зададим Parameter list: interest_rate,periods,years,principal)


После чего наше приложение по урлу
http://localhost:8080/interest/irForm
будет выдавать формочку для задания параметров и по нажатию кнопки выдавать расчетное значение. Считать оно будет деньги - сколько денег будет на счету через years лет при процентной ставке interest_rate, количестве пересчетов в год periods и начальной сумме principal.

Несложно, правда? Не сложнее чем на PHP, но при этом удобно провоцирует отделять логику от представления.

Это не воровство, это политика

Вы еще ждете справедливости? Тогда мы идем к вам! Из серии "хотите верьте, хотите - нет".

Вот вроде понятно всё, но раздражает: одному вменяют "недополученную прибыль" причиненную зарубежной фирме и сажают. А другой нагло пиздит миллиарды долларов у своей страны (читай у народа, у своих крысит) и обладает депутатской неприкосновенностью. Нет, видимо, некоторых надо казнить таки. Публично и с максимальной зверскостью.

... эту контору вывернули совместно СБУ+УБОП+ПРОКУРАТУРА+КРУ - на свет вылезли вообще удивительные подробности, в частности - о том самом воровстве российского газа, и о его реэкспорте. Что получалось? Россия поставляла его по 45$ а посреднические структуры не смотря на запрет - продавали его по ЕВРОПЕЙСКОЙ ЦЕНЕ! И Юля таким образом, в бытрость вице-премьером заработала 9 ярдов!! Цыфры, разумеется сказочные, и Кучма дал команду разобраться с этой дурочкой, которая брала не по чину. И тут наконец, прозвучали фамилии Фирташа, и его структура - которая и продавала этот газ европейским потребителям. Тимошенко закрыли, Паша стал вечным сидельцем в Америке, но тема не изчезла - её перехватили "донецкие", и в частности созданный Игорем Тарутой (к которому присосался Щербань, а позднее и Янукович) ИСД. ИСД стал крупнейшим трейдером газа - опять по той же самой схеме, с реэкспортом газа по европейской цене и поставке его Россией по 45$ - вот на чем именно был накоплен первичный капиталл. И Фирташ был опять-же бенефециаром и для российской, и для украинской стороны - а именно первых руководителей из лица министра ТЭК и премьера. И наконец, случилась Оранжевая Революция, и для Фирташа настал свой звездный час ...

compromat.ru

Там много чего есть почитать. Не поленитесь. Может происходящее понятней станет. Понятно, верить не след, но понять что "и так тоже бывает" стОит.

2009-01-15

Куда подевалось дисковое пространство?

Вечные вопросы, да. Типа "куда деваются деньги?"; "откуда берется пыль?"; "куда пропали мои гигабайты?".

Порядок надо наводить. А для этого нужен инструментарий. Вот, для юниксоидов:

Если закон Паркинсона для компьютеров верен, то не имеет значения, как много у вас дискового пространства, все равно оно будет полностью использовано, и рано или поздно закончится. Если вы уже чувствуете приближение этого момента, вам потребуется инструментарий для анализа использования дискового пространства, чтобы понять кто же его "съел".

Программа Filelight разработана для KDE, но будет работать и в других рабочих средах. ...

... JDiskReport подобен Filelight, но имеет то преимущество, что может работать на других операционных системах, поскольку написан на Java ...

... Все рассмотренные выше программы использовали для представления диского пространства круговые диаграммы. В отличие от них KDirStat представляет занятое простанство в виде прямоугольников и квадратов, используя технику карт-деревьев (treemapping) ...

... FSView - это плагин к Konqueror, который позволяет получить аналогичную картинку: ...

... Baobab (сейчас он стал называться Disk Usage Analyzer) предоставляет два альтернативных стиля: простой список с указание процентов или карту, аналогичную используемым в предыдущих программах. Однако она использует неудачный алгоритм, делающий навигацию сложной ...

... вы хотите знать, сколько у вас осталось свободного пространства на диске, вы можете воспользоваться консольной командой
df -hT
... Если вы хотите получить более специфическую информацию, вы можете составить цепочку из нескольких команд в классическом Unix-стиле, например, такого вида
du | sort -rn | head -n 20
...


rus-linux.net

2009-01-14

Как создавался Канал имени Москвы

Великий труд, кратчайшие сроки, горе "винтиков", великая империя, грандиозное сооружение. Результатом пользуемся поныне. Кстати, я не знал: туфта - ТФТ - тяжелый физический труд.

... Первое документально зафиксированное предложение соединить реку Москву с Волгой было обнаружено историками в государственных бумагах времён Алексея Михайловича. При его сыне Петре Алексеевиче инженер Генинг разработал соответствующий проект. Ставилась задача облегчить траспортировку грузов с Волги через Москву-реку на север ...

... Второй раз к проекту вернулись при Николае I. Начали рыть в 1825 году, закончили в 1850-м. Видимо, в те времена уже существовал знаменитый российский стройбат: на строительстве канала работали в основном солдаты Его императорского Величества. В 1850 году открыли канал, а через год закончилось строительство первой железной дороги Санкт-Петербуг — Москва. С самого начала её эксплуатации стало ясно, что перевозить грузы по железной дороге гораздо дешевле. Судьба канала была решена. Он просуществовал в общей сложности 10 лет, постепенно приходя в упадок, и в 1860 году был официально закрыт. Инвестиции ушли в песок. ...

... В третий раз о канале заговорили в начале XX века. На первый план вышла проблема снабжения Москвы водой; по расчётам специалистов выходило, что в обозримом будущем москвичи выпьют всю Москву-реку. Но началась I мировая война, за ней последовала гражданская, и о проекте снова пришлось забыть.
Проблему снабжения москвичей водой унаследовала молодая страна Советов. К началу 30-х годов большевики окрепли настолько, что почувствовали в себе силы не только выпить всю воду из Москвы-реки, но и вернуться к проекту и воплотить его в жизнь. ...


midnight.nnm.ru

2009-01-13

Хорошо в Британии

С мест сообщают:

... Согласно британским законам, сквоттинг (акт самовольного заселения покинутого или незанятого места или здания лицами (сквоттерами), не являющимися его собственниками или арендаторами, а также не имеющими иных разрешений на его использование) считается легальным в том случае, если проникновение в пустующий объект недвижимости не было осуществлено с помощью взлома, пишет The Daily Mail. Доказать это можно только при наличии свидетелей, которым сквоттеры научились не попадаться на глаза. Собственникам жилья приходится обращаться в суд и ждать его постановления о выселении сквоттеров ...

prian.ru

Вот оно как бывает. Заселился в пустой дом и живи, пока через суд не выселят. Месяц-другой в особнячке, поди плохо? Такая демократия мне нравится. Потому как особнячка у меня нет. А если б был - охранять бы пришлось. И такая демократия мне уже не понравилась бы.

2009-01-11

Crysis (Crytek)

Вот и кончились каникулы. Так расслабляет возможность заниматься не "чем надо" а чем хочется. Вот, к примеру, на каникулах установил, прошел и снес крайтековский "кризис" (это я нарочно названия с маленьких буков написал - демонстрирую свое отвращение).
Негативные впечатления, пожалуй, пересиливают позитивные после окончания игры. В отличие от "кризиса", крайтековский FarCry был практически весь в позитиве, как "марс" в шоколаде. А "кризис" это практически FarCry2, но, не удался (для тупых: всё здесь - IMHO).

Приятно было погулять по тропическим островам, погреться на солнышке, купнуться в океане. Но впечатление портит обилие ограничений в сценарии игры, хотя некоторая свобода, конечно, осталась. Но заметно меньше. Теперь нельзя, получив задание, пойти в обратную сторону и "обогнув земной шар" подойти к точке назначения. Иногда игрушка вылетает в ось, с системной ошибкой, иногда убивает ракетой с "пограничного" крейсера, иногда просто не пройти, На выяснение всех этих запретов уходит довольно много времени (что, явно нельзя рогатки расставить?). А жаль. Жаль, что не погуляешь вволю по островам и не пощиплешь врагов за мягкие места. Атаковать приходится так, как в сценарии написано.

После окончания тропических миссий интерес вообще пропал, играл на принципе "надо же посмотреть чем кончится". Бродилки-леталки внутри шахт с загадками типа "пока не прибьешь осьминога - не выйдешь" и просто скушная тупизна. А когда на шею посадили боковых персонажей и засчитывали проигрыш если не успеешь их спасти - чуть не бросил прохождение.
Я в игрушки играю, равно как и кино смотрю и художественную литературу читаю с главной целью - развлечься, повеселиться. А мне подсовывают соревнования и загадки типа "догадайся, о чем думал наш гейм-дизайнер после обеда?". Хуйня какая. Это ж не квест, не RPG, это ж стрелялка.

А на последнем уровне дебилизм зашкалил (о, вспомнил предыдущий уровень - улетали на авианосец на "транспортнике"; надо было прорваться по ущелью к морю, я полчаса повторял попытки - роняют об землю и все дела; оказалось надо было впритирку к скалам идти и на форсаже; пока догадался - чуть сам не ебнулся; это кроме того, что, может, я не хочу летать за пилота, я может, пешком хочу к морю выйти, по дороге угрохав еще сотню алиенов). У ребят фантазия совсем иссякла. Сначала гоняли взад-вперед по авианосцу, перемежая тупые перемещения по лестницам сценарными мультиками из говорящих голов (а какие содержательные диалоги - закачаешься, весь смысл - доктор, может не надо? - я сказал - в морг, значит в морг. То есть - мочить демонов ядреной бомбой), а закончили явно неотлаженной сценой убийства генерала пришельцев (я думаю в летающем куске говяшки был не меньше чем генерал алиенов). Здесь не стой - убьет, туда не бегай - упадешь, сюда не ходи, накроет, этого не убивай, еще пачка прилетит. Упадешь в развороченную палубу - обратно не выберешься (и следовательно финальный мультик не посмотришь, хотя и завалить говяшку сможешь) и прочая тупизна, типа сохранения контрольной точки за полсекунды до смерти героя. Клевая такая контрольная точка (пару раз за игру точно такие были) - загрузился - сдох. Ладно, если бы я сам такие сэйвы делал - нет, их делает по сценарию уебан-программист, не проверив всех условий. Нахуй такие контрольные точки? Обгадили все остатки позитива от прохождения джунглей.

В общем, играть можно, пока по джунглям шароебишься. А потом совсем не интересно. И не сложно, в смысле, по сценарию не сложно (отход от сценария карается смертью и затратами времени на разгадки - что не так). Не сложно всех победить. В отличие от FarCry мне для прохождения понадобилось только патроны себе начитить. А там приходилось часто здоровье пополнять читерством.

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

Примета времени - хороших вещей все меньше, ебланов с гонором - все больше.

2009-01-05

Intel ICH8 SATA in AHCI mode

Имею матплату ASUS P5B, на ней имею чипсет Intel P965 с южным мостом ICH8 82801 HB. А также жесткий диск подключенный к SATA-контроллеру чипсета. Он у меня под линуксом работает. А в игрушки я играю под WinXP.
Год как машинка у меня и за этот год я не парился на тему "почему у меня винт в AHCI-режиме под виндой не виден". Включал в биосе совместимый режим и все дела.
А тут время есть, дай, думаю, поднастрою.
Ага. День убил. Причина - блядский интел под этот чипсет не делает драйверы для винХП. Сговор с микрософтом, которому висту продавать надо. И почему их никто не засудил? Под висту - пжалста. Под ХП - хрен. Пидоры.

Но мир не без добрых людей. Добрые люди поправили два текстовых файлика на дискете с драйверами и теперь драйверы прекрасно работают и у меня.

sniping.org

... To save others, and myself, time in the future I’ve saved these files here:

Download the driver from Intel, make a floppy with it following their instructions, copy those two files to it (overwriting the ones that are already there, of course) ...

disk you can make for installing XP — this one

... and you should then see an entry for “Intel(R) 82801HB SATA AHCI Controller (Desktop ICH8)” in the list of available controller choices on the disk. Select it and you should be good to go. ...

Чтобы воспользоваться интеловскими драйверами, которые упакованы в образ дискеты, советую воспользоваться драйвером виртуального флопа:

google.com

После выколупывания из образа дискеты драйверов заменяем оригинальные файлики скачанными и устанавливаем драйвер обычным для винды образом.
У меня получилось влет.
А день я потратил на поиск этих полезных рецептов.

Прикладываю дифы, если кому интересно, первый файл:


diff U5Bb P:/downloads/bios/flop/iaahci.inf P:/downloads/bios/mod/iaahci.inf
--- P:/downloads/bios/flop/iaahci.inf Tue Oct 31 13:27:44 2006
+++ P:/downloads/bios/mod/iaahci.inf Mon Jan 05 21:29:48 2009
@@ -34,10 +34,11 @@
ExcludeFromSelect=PCI\VEN_8086&DEV_2653&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_27C1&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_27C5&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2681&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2821&CC_0106
+ExcludeFromSelect=PCI\VEN_8086&DEV_2824&CC_0106

[Manufacturer]
%INTEL%=INTEL_HDC,ntamd64

[INTEL_HDC]
@@ -57,10 +58,13 @@
%PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2681&CC_0106

; ICH8R
%PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2821&CC_0106

+; ICH8
+%PCI\VEN_8086&DEV_2824&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2824&CC_0106
+
[INTEL_HDC.ntamd64]
; ICH6R - 82801FR (R)
%PCI\VEN_8086&DEV_2652&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2652&CC_0106

; ICH7R/DH - 82801GR/GH
@@ -73,10 +77,13 @@
%PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2681&CC_0106

; ICH8R
%PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2821&CC_0106

+; ICH8
+%PCI\VEN_8086&DEV_2824&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2824&CC_0106
+
;****************************************************
[iaStor_Inst]
AddReg = iaStor_Temp_parameters_AddReg
CopyFiles=CopyFullPort

@@ -156,10 +163,11 @@
PCI\VEN_8086&DEV_2653&CC_0106.DeviceDesc = "Intel(R) 82801FBM SATA AHCI Controller"
PCI\VEN_8086&DEV_27C1&CC_0106.DeviceDesc = "Intel(R) 82801GR/GH SATA AHCI Controller"
PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc = "Intel(R) 82801GBM SATA AHCI Controller"
PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc = "Intel(R) 631xESB/632xESB SATA AHCI Controller"
PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc = "Intel(R) 82801HR/HH/HO SATA AHCI Controller"
+PCI\VEN_8086&DEV_2824&CC_0106.DeviceDesc = "Intel(R) 82801HB SATA AHCI Controller"

INTEL="Intel"
AN="AN"
LPM="LPM"
LPMSTATE="LPMSTATE"


второй файл:

diff U5Bb P:/downloads/bios/flop/txtsetup.oem P:/downloads/bios/mod/txtsetup.oem
--- P:/downloads/bios/flop/txtsetup.oem Tue Oct 31 13:27:40 2006
+++ P:/downloads/bios/mod/txtsetup.oem Mon Jan 05 21:29:56 2009
@@ -6,17 +6,18 @@

[Disks]
disk1 = "Intel Matrix Storage Manager driver", iaStor.sys, \

[Defaults]
-scsi = iaStor_ICH8R
+scsi = iaAHCI_ICH8

;----------- Component Section -----------

[scsi]
iaStor_ICH8R = "Intel(R) 82801HR/HH/HO SATA RAID Controller (Desktop ICH8R)"
iaAHCI_ICH8R = "Intel(R) 82801HR/HH/HO SATA AHCI Controller (Desktop ICH8R)"
+iaAHCI_ICH8 = "Intel(R) 82801HB SATA AHCI Controller (Desktop ICH8)"
iaStor_ESB2 = "Intel(R) 631xESB/632xESB SATA RAID Controller (Server/Workstation ESB2)"
iaAHCI_ESB2 = "Intel(R) 631xESB/632xESB SATA AHCI Controller (Server/Workstation ESB2)"
iaStor_ICH7MDH = "Intel(R) 82801GHM SATA RAID Controller (Mobile ICH7MDH)"
iaStor_ICH7DH = "Intel(R) 82801GR/GH SATA RAID Controller (Desktop ICH7R/DH)"
iaAHCI_ICH7R = "Intel(R) 82801GR/GH SATA AHCI Controller (Desktop ICH7R/DH)"
@@ -35,10 +36,15 @@
[Files.scsi.iaAHCI_ICH8R]
driver = disk1, iaStor.sys, iaStor
inf = disk1, iaAHCI.inf
catalog = disk1, iaAHCI.cat

+[Files.scsi.iaAHCI_ICH8]
+driver = disk1, iaStor.sys, iaStor
+inf = disk1, iaAHCI.inf
+catalog = disk1, iaAHCI.cat
+
[Files.scsi.iaStor_ESB2]
driver = disk1, iaStor.sys, iaStor
inf = disk1, iaStor.inf
catalog = disk1, iaStor.cat

@@ -97,10 +102,13 @@
[HardwareIds.scsi.iaStor_ICH8R]
id = "PCI\VEN_8086&DEV_2822&CC_0104","iaStor"

[HardwareIds.scsi.iaAHCI_ICH8R]
id = "PCI\VEN_8086&DEV_2821&CC_0106","iaStor"
+
+[HardwareIds.scsi.iaAHCI_ICH8]
+id = "PCI\VEN_8086&DEV_2824&CC_0106","iaStor"

[HardwareIds.scsi.iaStor_ESB2]
id = "PCI\VEN_8086&DEV_2682&CC_0104","iaStor"

[HardwareIds.scsi.iaAHCI_ESB2]

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) Java (22) humor (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) Klaipeda (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) купи/продай (9) Photo (8) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)