Friday, November 6, 2009

FLV 2 MP3 в линукс

К этому . Если надо будет извлечь звук из flv-файла можно сделать так (работает в убунте и должно в дебиане):
# apt-get install ffmpeg lame
$ ffmpeg -i Your.flv -acodec pcm_s16le -ac 2 -ab 128k -vn -y "tmp.wav"
$ lame --preset cd tmp.wav YourSound.mp3
$ rm tmpwords.wav

Разное

Вернулся из отпуска. Аж цельных 10 дён гулял. Мало. Тем более, что погода была моя любимая - пасмурно и холодно. И время года - вторая половина осени, самое любимое. Хотя с другой стороны за отпуск здорово подустал - по своим прикидкам не меньше 6 соток лопатой перекопал и прочего подобного. Усталый и довольный в итоге. Впрочем, кроме работы прочитал "Декамерона" Бокаччо. Понравилось, всем рекомендую.
Хотя было и не очень прияное событие - age++. Теперь 30.

JavaApplet in Mozilla

Понадобилось под линухом подружить java и mozilla. В итоге все делается так:
# cd /usr/lib/mozilla/plugins
# ln -s /usr/java/jre1.6.0_12/plugin/i386/ns7/libjavaplugin_oji.so

Wednesday, October 7, 2009

И снова про образование

[info]aceler продолжает развивать тему образования сквозь призму продуктов известных влиятельных фирм:

Хранилища данных Автор: Г.И. Перминов .

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

Ни слова про MS SQL Server 2005, SQL Server Management Studio и так далее, вся обвязка от Microsoft в одном флаконе. Кто такой SAP? Oracle? IBM? ASF? Среди конкурентов MS названа какая-то маленькая фирма из рязани (перразслышу) и упомянут Oracle как куда более сложный.
И, как естественное продолжение, паршивого результата на выходе:
Пришёл к ним новый программист на работу. Зашёл в первый день к админам и попросил себе SQL сервер. В общем, они недолго думая, собрали ему линуксовую машину с MySQL да спать пошли. На следующий день был скандал, что ему не поставили SQL сервер. Админы в ахуе. Ещё через день программист докладные записки стал писать начальству. Начальство, благо, бровью не повело, поскольку админы штатные, а программист по подряду. На вопрос, какой именно SQL сервер нужен программисту, тот отвечает, что ему нужен конкретно SQL сервер, и что он такой один. Админы совсем ушли в нирвану.Через неделю начальство нашло другого программиста. Новый программист MySQL-ем удовлетворился и чего-то там сделал.
Мораль: Если вам как программисту зачем-то потребовался Microsoft SQL Server, не забывайте, что там есть слово Microsoft в названии, что есть ещё десяток SQL серверов, в названии которых этого слова нет.

Вам еще пользуетесь подобными программами?

У [info]aceler надыбал прекрасное:
«Когда нам сообщили про новую версию, мы подумали, зачем тратить деньги на новую программу, если нас устраивает старая? Решили не покупать её. Да не тут-то было», - сокрушается бухгалтер Валентина Лобунькова. Дело в том, что при запуске программы на экране вдруг стало появляться сообщение, что вскоре программа перейдёт в деморежим, т.е. по сути перестанет работать. За разъяснениями кинулись к фирме-распростанителю.
«Тут-то и стало ясно, что нам ставят ультиматум: либо покупаете новую программу, либо лишаетесь старой.»

А еще на эту тему есть замечательный анекдот.

О внедрениях софта

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

Про голодание

Стырено отсюда. А вышелна замечательное - тут. Рекомендуется всем, но особенно, женщинам. Комменты с фотографиями там тоже интересны. Короче, несмотря на то, что много буков рекомендую читать все.

Советско-фантастическое.

Я очень люблю советскуя фантастику, особенно творчество Ефремова, потому просто не могу не пропиарить.:
"Pal Virag, это венгр, ныне постоянно проживающий в Канаде. Знакомый моего хорошего знакомого любителя фантастики. Несмотря на то, что никогда не жил в СССР, увлекается советской фантастикой и нередко просит прислать ему фильмы, которые смотрит даже без перевода - русского языка он никогда не знал.

Но главное его увлечение в плане фантастики - «Туманность Андромеды» - знаменитый роман Ивана Ефремова и его единственная экранизация. Предлагаемые вниманию коллажи выполнены под влиянием легендарного романа и фильма..."

(Techno Jaro)




Тут много больше и в лучшем разрешении. За наводку спасибо [info]a_konstant
От себя могу сказать, что картинки выделяются технологичностью с одновременным бережным отношением к природе, светом и минимализмом быта. Единственно, что не понравилось - статуи, противоречащие всему творчеству Ефремова.
Там же нашел тоже интересное:

Тут в большем разрешении.

Вам эта девушк аникого не напоминает?

Wednesday, September 30, 2009

По-моему все это прекрасно.

Вот благодаря посту [info]kouzdra , который писал про настоящего атомного православного обнаружил прекрасное:
Награжден правом ношения набедреника, камилавки и наперсного креста. В 2003 году удостоен права ношения палицы (4 декабря 2003 года в день праздника Введения во храм Пресвятой Богородицы)... 20 апреля 2008 года удостоен права ношения священнического креста с украшениями.
Цветовая дифференциация штанов в действии :).
Или вот [info]roman_sharp подкинул не менее чудное:
Вопрос.
Муж наказывает меня раз в неделю ремнем, я не против такого наказания, после него я становлюсь сдержанней и смеренней. Но не является ли это грехом. Лена
Ответ.
Протоиерей АНДРЕЙ ЕФАНОВ
Доброго дня! Если в вашей семье принят такой род воспитания, я не вижу в этом ничего плохого, главное, чтобы наказание было с любовью. Но, конечно, такой род отношений в семье должен быть основан на взаимном согласии. Храни Вас Господь!


А еще в качестве мистическо-религиозных аргументов меня научно аргументировали фильмом "Вода" и волнАми.

О узости мышления и научном подходе.

Мне, значится, намекнули о моей неадекватности узости мышления в связи с доверием научной методологии и отказом принимать нечто на веру. В ответ я дал две хороших ссылки. Которые и предлагаю другим для пользы дела. Первая на старую статью Виталика Луговского и вторая - ролик о скептицизме, специально, на русском.

MonoDevelop 2.2 на подходе.

А MonoDevelop оказывается активно развивается. Только когда к нему поддержку F# прикрутят?

Tuesday, September 15, 2009

Про образование

Стырено у [info]aceler :

В процессе обучения человек получает два вида знаний — субъективные и объективные. Объективные — это знания о предмете изучения, а субъективные — это знания о способах получения знаний об объекте, об инструментах, с помощью которых эти знания получены. В большинстве случаев субъективные знания обычным людям не нужны, однако профессионалы и специалисты без субъективных знаний таковыми не являются — если физик, скажем, не в состоянии рассказать, как устроен вольтметр, которым он только что замерил напряжение — это не физик, это лаборант. Собственно, поэтому в любой диссертации обязательной является часть про методики измерений.

В Computer Science (придумали бы уже термин, а?) роль субъективных знаний ещё более высока, но вместе с тем, большинство людей по-прежнему их не запоминают. Половину курьёзов про блондинок на баше относится к нехватке субъективных знаний, о том как работает браузер и почему нельзя отбивать логин пробелами для красоты, чем точка отличается от запятой на клавиатуре и так далее.

Но, самое главное, зачастую человек не в состоянии отделить субъективные знания от объективных. Если человек учился рисовать 3D картинки в AutoCAD, то он выучивает не только основы 3D, которые объективны, но и методы и способы получения 3D картинки, которые в случае AutoCAD и, скажем, POVray существенно различаются, поскольку CAD твёрдотельный, а POVray поверхностный. И, не видя разницы между 3D программой и 3D программой, пытается перенести субъективные навыки из одной программы в другую. А потом начинаются заявления вида «в программе X ничего не работает», хотя там всё работает, просто по-другому.

Это всё к чему. Последнее время на intuit.ru появилась такая толпа курсов, замаскированных под вполне обычные курсы, что страшно читать. Ну например, курс базы данных. А что — интересный курс, про SQL, СУБД, да? Только половина курса посвящена конкретно работе с Microsoft SQL Server. А получится, что специалист, прослушавший такой курс, вряд ли сможет после этого работать, скажем, с PostgreSQL, поскольку нюансы, нюансы мышления, составления запросов, планирования — разные. Разница между субъективными и объективными знаниями в курсе отсутствует, определить, что характерно для MS, а что для SQL, изнутри практически нереально.

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

Про прогресс

Недавно у [info]vitus_wagner был интересный пост о замедлении технического прогресса. ИМХО, самая интересная мысль из обсуждения:
Думаю, что причин тому несколько, главная из которых - во главу угла поставлена экономическая целесообразность. Конечно, научные открытия экономически целесообразны, но для кого именно и в какой срок? Этот вопрос, совместно с распространением коммуникаций и, как следствие, глобализации, приводит к ужесточению копирайта, замалчиванию открытий, уменьшению свободного общения учёных. Зачем, скажем, какому-нибудь Philips тратить деньги на разработку беспроводной передачи энергии, если они не смогут это использовать как конкурентное преимущество? И учёному выгоднее работать на коммерческую фирму, чем на государство.

И в тему любопытная я заметка Производители намеренно тормозят развитие технологий (с экономическим оттенком)

Tuesday, September 8, 2009

И эти люди запрещают нам ковыряться в носу

Решил, значится, ребенку детских песенок прикупить - не из-за того, чтобы работников копирайтной промышленности поддержать, а чтоб самому время сэкономить. Купил, значится, старые добрые советские песенки. Аж 70 штук в мп3. А потом вставил в комп. И тут же заподозрил неладное, увидев Autorun.exe. Не, меня это не испугало, спасибо команде wine, меня испугал вид програмки для прослушки - 3 кнопки и список песен. Тревога моя начала увеличиваться, когда мп3-шки оказались в каталоге DOCS и имели вид tracN+1. И, наконец, меня сразили названия песен в плейлисте - "Крокодил Гена и другие N1....19", "Мери Поппинс и другие N1...." и т.д.
Не, ребят, с таким сервисом я не верю в победу копирайта. Теперь точно не верю. Мало того, что сии альтернативно одаренные личности не предполагают, что их поделкой могут пользоваться за пределами не только ОС Виндовс, так вообще за пределами компьютера (у ответственного за выпуск, наверное, нет нормального хардварного мп3-проигрывателя), так еще и закатали кое-как рипнутые CD, по которым найти нужную песню - проблема. Неужели сложно пользоваться услугами нормального профессионала, а не плохого студента, который программу уровня первокурсника нормально накатать не могет (работы, максимум - на вечер) и проставить названия песен в тегах, а не в ехе-файле? Не, мы конечно, люди бывалые, проблему поправить умеем (между прочим, несанкционированное копирование запрещено законом, это они дописать не забыли, в отличие от системных требований), но ведь я деньги платил, чтобы свое время сэкономить. Так что теперь у меня отняли один из доводов в защиту копирайта

Эти «Жигули»… чем думают?

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

Вот самое прекрасное из аннотации.
Программы для микроконтроллеров написаны на ассемблере и C51(Keil, v.6.14), а для компьютера — на языке Кларион, являющемся одной из двух распространенных современных RAD-систем (вторая — Delphi), предназначенных для быстрой разработки приложений (Rapid Application Development — RAD). Программы для компьютера, работающие в DOS, написаны на языке Кларион для DOS (Clarion V.3.100), работающие в Windows98/XP — на языке Кларион для Windows (Clarion V.6.0).

Доставило меня распространенным заблуждением, что Delphi - RAD-система, и абсолютной неадекватностью Клариона в качестве языка для примеров - мало того, что он коммерческий, винонли, старый, как говно мамонта, так, главное, для совсем других целей заточен (и, по оценкам тех, кто на нем писал - хорошо заточен). И ко всему прочему его еще попробуй достань.
Походу доставило сетование афтара на то, что примеры для работы с виндовым API написаны на С.

Wednesday, August 12, 2009

Качай книги легально

Вот - сборник легатьной литературы в pdf. Качать можно бесплатно, но надо смотреть рекламу и, желательно, щелкать на ней.

Церковно - приходское

Значица новое средневековье у нас, всесилье Церкви и т.д. Интересно, к несогласным санкции применять начнут?
Лики монахов под катом, кстати, характерные, смиренные такие, благостные:

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

GRDC

С удивлением обнаружил приложение Grdc - GTK+/Gnome Remote Desktop Client . Это ВЕЛИКОЛЕПНЫЙ заменитель убогого и медленного Vinagre. И чем же он так хорош - спросите вы? Объясню:
1) поддержка RDP/VNC/SFTP - сессий;
2) для Gnome есть удобный аплет на панель;
3) множество настроек качества удалённого десктопа и размера картинки;
4) поддержка групп соединений;
5) отличная скорость на медленных каналах! УРА!
6) встроенное SSH-туннелирование с возможностью авторизации через ключи (наконец-то можно спокойно подключаться к локальным рабочим станциям за NAT'ом без лишних движений!);
7) возможность открыть из текущей удалённой сессии консольную сессию или передачу файлов (привет Radmin'у);
8 ) раздельные процессы для множества подключений;
9) и многое другое.
Устанавливается из стандартных репозиториев (старая версия), либо из deb-файлов на оффсайте.

Tuesday, August 4, 2009

Все бегут и я бегу

Петиция против DRM на книги. Предыстория излагается здесь.

We believe in a way of life based on the free exchange of ideas, in which books have and will continue to play a central role. Devices like Amazon's are trying to determine how people will interact with books, but Amazon's use of DRM to control and monitor users and their books constitutes a clear threat to the free exchange of ideas.

That is why we readers, authors, publishers, and librarians demand that Amazon remove all DRM, including any ability to control or access the user's library, from the Kindle.

Amazon's assurances that it will refrain from the worst abuses of this power do not address the problem. Amazon should not have this power in the first place. Until they give it up they will be tempted to use it, or they could be forced to by governments or narrow private interests. Whatever Amazon's reasons for imposing this control may be, they are not as important as the public's freedom to use books without interference or supervision.


Подписать можно по адресам:
http://www.defectivebydesign.org/amazon1984
http://www.reddit.com/r/programming/comments/975bj/
http://digg.com/tech_news/No_more_1984_Petition_Amazon_to_drop_DRM_from_Kindle

Tuesday, July 28, 2009

Что отличает инженера-программиста от кодера.

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

Данная статья была бы очень полезна для большинства выпускников ВУЗов, у которых образ программиста ассоциируется с дядей в белой рубашке, с лэптопом на коленках, который создает новые “виндоуз” или “гуглы” и получает тонны “бабла”, короче

Читай код

Когда я заступил на работу в компанию CQG в конце 1999 года, у меня уже был, как мне казалось, достаточно большой опыт в разработке ПО – три года создания корпоративных приложений БД под заказ. Мне уже казалось, что я очень много знаю и умею, и я был крайне самоуверен. Однако, возникла некоторая загвоздка – CQG не являлось приложением баз данных, основанном на комбинации готовых сторонних технологий, таких как MS SQL сервер, Visual Basic, Delphi, JavaScript, и 1C – к которым я привык. Меня потряс объем приложения – почти 50 мегабайт основных исходников, не считая свистулек, прибамбасов, разного рода служебных и системных штук, по размеру почему-то превосходящих размер основных исходников.
Это был действительно серьезный и успешный программный комплекс, разрабатывавшийся десятками людей на тот момент на протяжении десяти лет, целиком написанный на С++, со своим собственным специализированным сервером БД, собственным встроенным языком программирования, собственным толстым клиентом, умеющим все, что может и не может пожелать трейдер, отказоустойчивый, работающий в реальном времени, сервера которого развернуты на ферме из сотен компьютеров и обслуживали порядка десятка тысяч пользователей одновременно.

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

В этот раз, перед тем, как что-либо писать, я предусмотрительно показал свой предварительный дизайн (подход к решению проблемы) Толу Корину (Tal Korin), автору и главному архитектору данной системы, и он направил меня в правильном направлении. У Тола ушло на это 5 минут. Это был первый случай, когда я сам инициировал дизайн-ревью (не зная, как оно называется), и был рад найденным у меня проблемам. После успешного выполнения данного задания я поступил в распоряжение Тола Корина, поскольку, с его слов и к моему безмерному удивлению, я оказался одним из немногих, кому пошли впрок лекции по архитектуре.

Каких-либо иллюзий на свой счет, меж тем, к тому моменту у меня уже не осталось – я понял, что цена всем моим знаниям, университетскому образованию, и опыту – ломаный грош. Меня поражал простой факт – я был объективно образован в Computer Science гораздо лучше Тола, и _знал_ больше. При этом, и, после некоторого опыта работы, я был в этом абсолютно уверен – я бы не смог спроектировать и реализовать такую систему за год, как это десять лет назад с одним помощником сделал Тол. Сложность системы явно превосходила мои возможности - я бы по ходу работы закопался в деталях. И уж тем более, у меня не получилось сделать систему так гибко, чтобы она прожила 10 лет, и была до сих пор адекватна ситуации.

То есть, до меня начало доходить, что есть нечто очень важное, что совершенно перпендикулярно университетскому образованию, чего нас просто не учили даже замечать. Оно перпендикулярно «дизайн-паттернам» и книгам по ОО проектированию. И оно, это нечто, у Тола есть, а у меня – нет. Если мои знания не могут мне помочь сделать такую систему – то много ли они стоят? Понимание и знание требуется для действия, ни для чего другого – это не китайская декоративная ваза.

С этого момента я начал внимательно наблюдать за Толом, изучать его решения и подход, и твердо решил разобраться, что же это такое за неуловимая штука, которой я не понимаю. То есть, я «записался в ученики», и Тол с удовольствием взял роль наставника. И за несколько лет Тол сделал меня инженером, показав мне на практике, что это такое, и за что я ему буду всегда благодарен.

По большей части это напоминало дзен, когда вам дают задание, разрывающее мозг, вроде хлопка одной ладонью, и через некоторое время вы неожиданно ловите просветление. Удивительный опыт. Вот один небольшой пример, на что это было похоже.
- Тол, скажи, а как работает вот эта штука.
- Влад, вот этого я на самом деле не знаю. А ты почитай код, и разберись!
- Тол, ты издеваешься надо мной?! Здесь пятьдесят мегабайт этого гребанного недокументированного кода! Ты знаешь все Тол, и это ни для кого не секрет.
- Хорошо, смотри, – не стал спорить Тол, - Я тебе говорю – я не знаю, и поэтому я должен сам почитать код, чтобы ответить на твой вопрос. Поэтому, я открываю код.
Тол открывает правильный файл в одну попытку, продираясь через файловую систему, не пользуясь класс-браузером, мотает файл в правильную середину.
- Так. Ты сказал, вот эта фигня? Вот, открыл. Так… Тебе нужен вот этот метод. Читаем. Вот, смотри, он вызывает вот этого парня (так Тол называл классы и объекты – look – now this guy tell that guy to do this thing). Видишь? Вот, происходит тут то-то и то-то. Все просто.
- Спасибо, Тол! Теперь все ясно. А говорил – не знаешь!
- Я тебе говорю – код читай, блин! Все то же самое ты можешь сделать сам!
- Тол, ну в нем же нихрена не понятно без документации, - сказал я, будучи совершенно уверен, что я не смогу сделать того же сам. Происходящее напоминало ловкий фокус.
- Тебе, чтобы читать код, нужна документация? Прости – какая?
- Ну, там, диаграммы классов, например.
- У нас была одна, вроде, составленная лет пять назад. Она сейчас, мягко говоря, не соответствует действительности. Сам понимаешь, у нас 50 инженеров, и разработка идет очень активная. Но если ты уверен, что она тебе поможет, я могу поискать, – участливо смотрит на меня Тол, - ну так что, искать?
- Не, устаревшая, мне, пожалуй, не поможет, - подумав, ответил я, - это ж я все равно должен весь код изучить, чтобы понять, где ей можно доверять, а где нет.
- На самом деле, я не уверен, что тебе сильно поможет даже новая, и поэтому я тебе и говорю: код – лучшая документация! – терпеливо разъясняет Тол, - Она _всегда_ актуальна, и _никогда_ не устаревает, помимо того, что более информативна чем диаграмма классов, конечно.
- Хорошо, я понял, а может, ты мне еще объяснишь, вот в этом месте как работает…
- Нет. Это ты мне объяснишь, после того, как прочтешь. Мне как раз надо скоро будет туда правки вносить. Давай, парень, я не тебя рассчитываю. Иди - читай код.
- Хорошо, Тол, – обреченно сказал я, и пошел читать код.

Да, надо сказать, я тогда немного обиделся на Тола, я думал, что он нифига не понимает. И долгое время считал, что он был не прав. Как-то года через три ко мне подошел коллега, с вопросом. Я был утомлен от работы, голова соображала вяло. К этому моменту я выкинул все свои диаграммы классов, за ненадобностью – зачем на них смотреть, если они давно уже в голове?

- Слушай, Влад, не поможешь, объясни, как работает вот эта подсистема?
Я вяло поднимаю глаза на коллегу, вижу безнадежность в его взгляде, тяжело вздыхаю, и решаю ему помочь. Хоть я ничего и не понимаю в этой подсистеме – так, рядом проходил.
- Хорошо, смотри, – тут я «вслепую», без всяких класс-браузеров, продираюсь к «правильному» файлу, открываю его, и поиском нахожу нужный метод, - видишь, вот здесь что происходит?

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

- Вот, видишь, как все просто, - заканчиваю я. И к своему чудовищному удивлению добавляю, то, что надо сказать, потому что это правда:
- А вообще - читай код. Код – лучшая документация. Ты вот думаешь, я разбираюсь в этой подсистеме? Нет, я этот код вижу в первый раз, так же как и ты.
- Но этот код совершенно не документирован! Диаграммы хоть какие-нибудь бы!
- Смотри, - говорю я улыбаясь, окончательно осознавая, что Тол в очередной раз, как и всегда, оказался прав, - вот я запускаю Rational Rose, где у меня всосана вся наша система в режиме reverse engineering, и бросаю на чистый лист эти пять классов. Видишь? Вот тебе свежая, актуальная диаграмма. Какой смысл тратить усилия на документирование того, что устаревает за год, и может быть в любой момент восстановлено за пару минут? Если она тебе сильно поможет, я сейчас ее тебе распечатаю. Распечатать?
- Да нет, пожалуй, - задумчиво отвечает коллега, рассматривая диаграмму. Ясности она не добавляла.
- Вот. Диаграммы не стоят ничего, ценны мыслительные процессы, происходящие у тебя в голове в процессе их составления. Поэтому я и говорю: код – лучшая документация. Читай код.

Разумеется, Тол хотел мне показать не только и не столько практическую бесполезность проектной документации, как это могло показалось на первый взгляд. Философия "код - лучшая документация" дает гораздо большее, чем отсутствие документации. Это необходимое ограничение, только приняв и осознав которое, и в результате - рассчитывая только на свои силы, понимая - что код - основной источник информации, его нельзя боятся, с ним надо столкнуться в лоб, и этого не получится избежать, обойти, и перепрыгнуть, - можно достичь мастерства в reverse engineering и вообще понять, что это такое.

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

Толу на самом деле было все равно, есть документация или нет. В совершенстве владея reverse engineering, он в уме потрясающе легко умел переходить от кода к архитектуре, и наоборот. В результате, проектируя, он всегда детально представлял, в какой код превратятся его мысли, и поэтому был способен быстро прокручивать в голове огромное количество вариантов, отбрасывая "плохие". В его понимании, архитектор, не умеющий читать чужой код с "листа", и не пишущий своего - подобен инвалиду, пытающемуся бегать на костылях. Он довольно быстро закончит очень плохим архитектором - вопрос нескольких лет.

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

Monday, July 27, 2009

Потребительское

Попались мне, давеча, труды по технологии сыра 1959 года. И там я обнаружил прекрасное:
Производство костромского сыра (под названием сыра гауда) было начато в нашей стране в 70-х годах прошлого столетия.
На протяжении длительного периода технология выработки этого сыра изменялась, в связи с чем изменялись и его качественные особенности. А.Н. Королев указывает, что наши "голландские" сыры суше и острее на вкус по сравнению в сырами, вырабатываеми в Голландии. Причем разница настолько существенная, что их следует рассматривать, как отдельные виды сыров. Видовые особенности костромского, как и многих других сыров, до сих пор не получили надлежащей характеристики. По действующему ГОСТу требования к костромскому сыру ограничиваются только чистым вкусом и ароматом, свойственным данному виду сыра.
Такая неопределенность требований к качественным показателям костромского сыра приводит, с одной строны, к тому, что разница между сырами голландской группы, за исключением голландского круглого и ярославского, сводится по существу к различию формы. Однако влияние формы на созревание (скорость остывания, просаливание)
невелико, чтобы вызвать резкие различия в свойствах зрелого сыра. С другой стороны, неопределенность требований к качественным показателям отражается на оценке костромского сыра и приводит к произвольным изменениям его технологии.
Это я, собственно, к чему - к тому, что в поле зрения появились товары, хвастающие совместимостью с доперестроечными ГОСТ-ами.

Tuesday, July 21, 2009

Копирастическое. Пятиминутка ненависти.

The Pirate Bay станет платным.+Можете выкидывать зомбоящик

так как Центральные каналы не берутся транслировать популярные фильмы эпохи СССР из-за неразберихи с правом на показ. ООО «Твин СП» и «Гостелерадиофонд» не могут разобраться, кому же принадлежит право на показ таких фильмов, как «Приключения Шерлока Холмса и доктора Ватсона», «Собачье сердце», «Ирония судьбы», «Тени исчезают в полдень», «Безымянная звезда», пишет "КП".

Дело в том, что компания «Твин СП» в свое время получила от фильмофондов «Ленфильма» и Киностудии имени Горького лицензию на показ их картин. И теперь решила воспользоваться своим правом. Поэтому с начала года она отправляет ряду телеканалов письма с просьбой снять с эфира «ее» фильмы, если право на их вещание было куплено не у нее, а у Гостелерадиофонда. Каналы идут навстречу, опасаясь судебных исков с обеих сторон. Тем более, что у каждой из них «своя правда».

«Очень часто мы обнаруживаем, что телеканалы заключают соглашения о приобретении прав на показ фильмов не с нами, а с другими организациями, в частности c ФГУ», - цитирует заместителя гендиректора «Твин СП» Нику Шишко газета «Коммерсант». И это, видимо, совершенно не входит в планы компании.

Однако гендиректор концерна «Мосфильм» Карен Шахназаров имеет свою точку зрения на этот вопрос: «Мы считаем, что права на телефильмы, которые создавались на «Мосфильме», принадлежат концерну. Но мы предлагали Гостелерадиофонду компромисс, однако они не пошли нам навстречу». Гостелерадиофонд, и ВГТРК отказались давать комментарии.

http://afisha.mail.ru/article.html?id=24981

Журнал «Практика функционального программирования»

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

http://fprog.ru/2009/issue1/

Первый номер журнала посвящён погружению в предмет функционального программирования. Вводные статьи Сергея Зефирова «Лень бояться» и Романа Душкина «Функции и функциональный подход» затрагивают философию парадигм программирования. Более практически направленная часть журнала представлена статьёй Евгения Кирпичёва «Изменяемое состояние: опасности и борьба с ними», классифицирующей типы проблем, возникающих при небрежном использовании сущностей с изменяемым состоянием, и следующей за ней статьёй Дмитрия Астапова «Давно не брал я в руки шашек», на протяжении нескольких страниц раскрывающей подход проектирования «сверху вниз» на подробном примере написания игры в шашки на языке Haskell. Статья Дэна Пипони «Моноиды в Haskell и их использование» в переводе Кирилла Заборского простым языком обьясняет практическое применение моноидов для создания элегантных полиморфных алгоритмов. Номер завершается внушительным «Обзором литературы о функциональном программировании» Алексея Отта, содержащим множество ссылок на русскоязычную и англоязычную литературу по разным языкам и аспектам декларативного программирования.

Приятного чтения!

Tuesday, June 23, 2009

Компутерное.

В бесплатной Windows 7 Starter отменено ограничение на кол-во запускаемых программ.
Убийца Гугла?

Хотя для линукса первая новость и хорошая, но в паре обе новости очень плохие. С учетом предыдущего поста - Андроид - очень серьезная альтернатива винмобайлу. Если микрософт сожрет мобильный рынок (а тенденция в сторону объединения ноутбука и гаджета) - слив рынка линуксом почти гарантирован. Впереди нас ждет сращивание компа с вебом и более широкое использование гаджетов с вебом.
Давно есть война 2х корпораций Микрософт и IBM. Линукс - это оружие IBM причем оружие самозащиты. Гугл третья корпорация в этой войне. Микрософт в эру интернета развивался в общем-то игнорируя этот самый интернет. И эту нишу занял гугл. В последние пару-тройку лет он перестал его игнорировать и Андроид стал таким же оружиеv самозащиты гугла, как и линукс в целом - самозащита IBM. И на данном этапе и бимеры и гугл находятся в глухой обороне.
В свете этого предыдущая новость вдвойне плохая - без Андроида в телефоне будет стоять сервис "интернет серч" который будет использовать microsoft live. А чтобы добавить туда гугл или яху надо ломать телефон. И привет.

Говорите, капитализм способствует инновациям?Говорите, капитализм способствует инновациям?

Microsoft удалось повлиять на одного из производителей нетбуков - Asus. Все началось с того, что одна из моделей нетбуков на чипе ARM Snapdragon с установленным Google Android Linux была успешно продемонстрирована в работе на выставке Computex Taipei компанией Qualcomm. Но, несмотря на это, Asus все равно сняла эту модель с производства, сославшись на низкий уровень готовности и ограниченность инженерных ресурсов. Однако президент Asus Jonney Shih на совместной пресс конференции с главой корпоративного и ОЕМ подразделений Microsoft извинялся за показ Android Eee PC : "Я думаю вы могли видеть его в секторе Qualcomm, но это решение компании и нам бы пока не хотелось выставлять данный нетбук. Это все, что я уполномочен сообщить на этот час. Примите мои извинения"

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

Thursday, June 11, 2009

Отцы рулят

Это я о Дональде Кнуте, который давно воюет против софтверных патентов. В ходе очередного витка борьбы патриарх написал прошение в расширенную Комиссию по Апелляциям Европейской патентной организации. Данное прошение касается проблемы патентов на ПО. В нем он выступает против патентов. К прошению Кнут прилагает письмо, отправленное им в 1994 году в Патентное ведомство США, в котором ещё тогда объяснял, почему софтверные патенты несут в себе угрозу в настоящем и в будущем. В письме Кнут выражал протест против попыток разделить алгоритмы на "вычислительные" и "не-вычислительные".
Дай Бог ему здоровья, а нам 5-го тома его замечательного труда.

Wednesday, June 10, 2009

Мои недавние посты на компутерную тематику в ЖЖ

Собственно, даю ссылки на посты с околокомпьютерной тематикой, так как исторически сложилось, что тут большинство постов на эту тему. В дальнейшем будут посты на разные темы.

Король умер? Да здравствует король!
Донести бы эту историю до каждого пользователя.
Перевод лекции Тровальдса о Git
Статься о критериях выбора ОС. Для тех, кто еще не выбрал.
О новом в новых питонах

Wednesday, January 21, 2009

Опасайтесь дельфокодеров

Таки, самая большая проблема админа или внедренца - это не юзвери, а быдлокодеры пишущие свои вечные недоделки на дельфи с использованием MS-SQL, ActiveX и мсофиса. Вдвойне хуже, когда это поделия не собственных ИТ-шников, а закрытые внешние, с которыми надо "интегрироваться".
Из этого вывод - всегда, всегда интересуйтесь на чем написано то, за чо вы будете платить деньги. Если это написано на продукции компании Борланд отпихайтесь руками и ногами. Ибо кошмар недрения и поддержки вам гарантирован.