Архив рубрики «заметки»

Katawa Shoujo

05.01.2012

Фанаты свободного ПО — странные люди. Ну что за идея, делать что-то для многих, когда можно стараться грести всё под себя? Из десяти девять вообще не понимают, зачем самим делать для других, когда можно, как в фильме, подождать героя, который всё для всех сделает.
Странные люди находятся среди программистов и почти не находятся среди художников и музыкантов — это достаточно приземлённые и практичные профессии. Поэтому у нас много хорошего консольного свободного ПО и намного меньше свободной музыки и арта для игр и продуманных интерфейсов.

Американцы с европейцами помешались на толерантности. У американцев комплекс геноцида индейцев и негров, у англичан — неосознаваемая психическая травма за изобретение концентрационных лагерей (война с бурами), опиумные войны, голодомор Бенгалии и, я надеюсь, за финансирование геноцида парагвайцев. У французов — Алжир и террористы OAS, у итальянцев — Эфиопия с ипритом и фосгеном, у турок — геноцид армян (впрочем, у турок вроде нет по этому поводу травмы или комплекса). У немцев — сами знаете.
То, что они после этого сошли с ума на мультикультурности, феминизме и альтернативной одарённости — не так уж удивительно.

Японцы — извращенцы. И дело даже не в лолях и панцу. Дело в тентаклях, фурри/йифф, гуро, футанари. К тому же именно они подарили миру имидж-борды.

Благодаря интернету из этого вполне может получиться адский пиздец. Например Katawa Shoujo — визуальная новелла (дейт-сим) про школу для инвалидов (CC-BY-NC-ND — бесплатно, но не свободно). Серьёзная работа заняла 4 года. По законам жанра — уникальные девушки с разными характерами на разные вкусы. Без рук, без ног, с ожогами, слепая и глухонемая. Надеюсь, вы бросили пост на середине. В противном случае — теперь вы тоже знаете.

Новогоднее.

31.12.2011

Кадры решают всё.

Вокруг нехватка качественных людей. Надо быстрее что-то делать, вокруг этого дела люди начнут собираться. Уверен.

- Лучше по-раньше завтра.
- Это не от нас зависит!

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


- Я не буду с вами отмечать. Позвонила девушка, давно не видел, зовёт в другую компанию.
- Ты же всё организовал, всех собрал, ты даже пригласил пару человек, которых знаешь только ты. Бери её с собой к нам.
- Да я ей объяснял, но её не убедишь.

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

Ещё хочу видеть тех, кто принимает решения, меняющие что-то. Не хочу вокруг плывущих по течению.

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

High School of the Dead

23.12.2011

Смотрю High School of the Dead. Выкурил Васко да Гама.

Ещё бы найти времени и всего Ромеро пересмотреть. К тому же я ещё Night of the Living Dead не смотрел.

Основная проблема хороших — они плохо делят людей на своих и чужих. Все делят, но плохие это делают быстро и без сомнений, а хорошие постоянно в проблемах из-за того, что делят медленно и не уверенно.

Линейная алгебра.

02.12.2011

Потратил опять несколько часов на выбор видеокарты — бесполезно. Кажется, можно брать вообще любую. Дорогие — быстрее, дешёвые медленнее. Но никакого графика цена\производительность за адекватное время на общедоступных данных не построишь. К тому же есть параметры софта. Следующая версия от предыдущей может отличаться в полтора раза по скорости на некоторых операциях. Тесты именно тех операций, что мне нужны, конечно, не найдёшь.

И ещё пару слов, что б сохранились.
FPGA
sca/LAPACKrc

Софт для линейной алгебры. OpenCL vs Cuda.

30.10.2011

Чем больше в стране нефти, тем меньше в ней демократии. (c) Freedom House, Вашингтон.

Разбирался в ПО для линейной алгебры. Запишу для себя, что бы потом вернуться. Вопрос интересовал потому что считать матрицы лучше на видеокартах, а значит нужно выбрать между nVidia и AMD. Что бы было быстро и без геммороя.

CUDA — стандарт для вычислений на видеокартах. Только nVidia, проприентарный.
OpenCL — стандарт для параллельных вычислений. Открытый стандарт, софт свободный. Поддерживает и видеокарты AMD и nVidia.
GPGPU — использование видеокарт для вычислений. gpgpu.org.
BLAS — базовые подпрограммы линейной алгебры. Стандартизирует API для софта. Нет смысла использовать напрямую (низкоуровневый).
LAPACK — библиотека линейной алгебры. Написана с использованием BLAS, на фортране, для процессоров.
Intel MKL — одна из реализаций LAPACK, платная.
GSL — GNU Scientific Library, математическая библиотека от GNU, среди большого списка возможностей линейная алгебра так же заявлена.
AMD ACML — математическая библиотека от AMD, одна из реализаций BLAS\LAPACK. Фортран.
ACML-GPU — ACML для видеокарт. Не поддерживается, возможности перенесены в APPML.
APPML — есть стандарт типа html для десктопных приложений, который загнулся в 2007-м. Это не оно.
AMD APPML — математическая библиотека от AMD, содержащая функции BLAS и FFT написанные на OpenCL и заточенные под видеокарты AMD.
AMD APP SDK — sdk от AMD, что бы пользоваться APPML.
CuBLAS — BLAS, портированный на CUDA, от nVidia. Исходники есть.
opencl-toolbox — относительно живая реализация низкоуровневой поддержки opencl для matlab в виде модуля. 1 разработчик. Можно скомпилировать с Octave. Лицензия MIT (серьёзная ошибка). В начале 2011 года много людей обратили на неё внимание. По всей видимости ничего более серьёзного не существует.

GNU Octave — свободная система для математических вычислений. Язык совместим с MATLAB.
MATLAB — слишком много стоит.
MEX-файлы — dll для MATLAB. К Octave подключить тоже можно.
Parallel Computing Toolbox — поддержка GPU в MATLAB от производителя. Цены неприличные. Или приличные. В русском языке это почти одно и то же.
Jacket — поддержка GPU в MATLAB от сторонней конторы. Тоже раздают разрешения на использование персонально, в обмен на президентов. Впрочем, можно и проигнорировать подобный «традиционный метод лицензирования ПО». Если найти где скачать, конечно.
Larrabee — архитектура процессоров, которую разрабатывает Intel, для конкуренции на рынке GPGPU, высокопроизводительных вычислений и графики.
Libra от gpusystems — поддержка GPU для matlab\octave\java\c# и для всего, что может вызвать API на C\C++ (упоминают octave в своём FAQ), реализован BLAS и ещё много всего, лицензирование мутное, есть лицензия для разработчиков. Только под винду, линукс обещают.

Octave можно скомпилировать с ACML (как минимум с той частью ACML, которая совместима с BLAS), хотя это может быть нетривиально. APPML + Octave можно забыть, интернет на эту тему молчит абсолютно.
Скомпилировать Octave с некоторыми библиотеками из CUDA SDK так же возможно (может, что и со всеми).
CUDA Mex-файлы можно, по всей видимости, использовать и без компиляции Octave.

Проблемы скорости.
(25к рублей) AMD Radeon HD 6990: 3072 ALUs x 830 MHz = 2550 billion 32-bit instruction per second, но она сдвоенная.
(27к рублей) Nvidia GTX 590: 1024 ALUs x 1214 MHz = 1243 billion 32-bit instruction per second
(уже не продаётся) ATI RadeonHD 5970 Graphics: 3200 cores, 4.6 tera flops, SIMD
(15к, уже не продаётся) Nvidia GTX 480 Fermi: 512 cores, Less than 2 tera flops,MIMD
OpenCL можно запустить на процессоре. Т.е. добавить скорости. Не говоря уж о Larrabee, но это экзотика, её не рассматриваем.
Математический (а не графический) код Cuda, возможно, лучше оптимизирован, чем OpenCL (cuda постарше), но на текущий момент это может быть уже и не так.
Тесты OpenCL vs Cuda и nVidia OpenCL vs ATI OpenCL упираются в религию, разница в скорости железа сравнима (или меньше) с разницей от качества исполнения драйверов и математических библиотек и разницей между соседними моделями одного производителя. БОльшая часть тестов — тесты скорости графики, на них вообще можно внимания не обращать.

Дополнительно.
DFT — Discrete Fourier Transform, дискретное преобразование Фурье. Раскладывает дискретные функции на составляющие, применяется при анализе частот в сигнале (сжатие звука и изображения, интуитивно кажется, что для распознавания звука тоже используется).
FFT — алгоритм быстрого вычисления DFT.
FFTW — GPL реализация FFT, самая быстрая из свободных и работающих на процессоре (по их собственным тестам).
CuFFT — FFT для CUDA
OpenCL_FFT — пример реализации от Apple для Mac OS.
APPML включает реализацию FFT на OpenCL.

Список карточек ATI, поддерживаемых AMD APP SDK. http://developer.amd.com/sdks/AMDAPPSDK/pages/DriverCompatibility.aspx

Итог.
Самый большой вопрос — что прикрутить к Octave, что бы сразу заработало и даже не потребовалось отдельные функции использовать. Вот этот разрыв между «у нас уже всё десять раз реализовано для си» и «к нормальным средствам разработки вы прикручивайте сами как-нибудь» смущает больше всего. Однако после тщательного анализа (я на этот пост потратил 5 часов) решил, что в вендор-локе нет смысла, количество кода сравнимо, качество придётся проверять, так что выбираю OpenCL. Гемморой будет в любом случае. AMD\nVidia будет важно, когда буду выбирать конкретную модель.

GTnD.

26.10.2011

Т.к. в голове весь нужный список дел не удержишь, я пользуюсь планировщиком заданий. Планирую дела, которые можно отложить. Т.к. чем этот список больше, тем реже я из него что-то делаю. В теории, конечно, все дела нужные и важные, но 5 уровней важности мне слишком мало. Сначала забивается категория «срочно», потом «очень срочно» и действительно срочные дела становится некуда записывать.
Что бы дополнительно оптимизировать деятельность (GTD — наше всё), я завёл список «прочитать позже», куда складываю большие тексты, на которые сейчас нет времени или желания. Принцип тот же — чем больше становится список, тем реже я из него что-то читаю. Уже даже не каждый день.
А последним серьёзным вкладом в личную эффективность я стал плотно пользоваться пару недель назад. Gnote позволяет вызывать создание новой заметки по хоткею. Каждый раз, когда придумывается серьёзная, обстоятельная тема для поста в блог, я не мучаюсь между необходимостью, но нежеланием написать пост сейчас и желанием обдумать и запомнить его (что нереально), а записываю в заметку пару основных мыслей и откладываю. Можно было бы назвать этот список, как «список постов, которые я никогда не соберусь написать.», но слишком длинно.
Конечно, мелкими фишечками вроде «посмотреть позже» в Ютубе, «не регистрируйся на хабре», фильтрами писем в почте я тоже пользуюсь. К слову, методика «не читай почту» мне больше нравится, чем фильтры — более эффективная.

Пока думаю, какую методику внедрить следующей.

P.S. Кто-то пропускает посты, кто-то комменты. Вот есть rss-фиды и для того и для другого.

http://www.unrealme.ru/feed/

http://www.unrealme.ru/comments/feed/

Следуя принципам GTnD, чинить отправку почты для комментариев не буду.

Грамматика.

11.10.2011

Запишу вопрос, что бы не забыть.

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

26-27 сентября.

27.09.2011

Знаете, что такое спонтанное письмо? Это значит я Шестое чувство посмотрел, 99-й год, с Брюсом Уиллисом. Фильмы какие-то сумасшедшие смотрю. Хешер вот тоже посмотрел. Клёвый фильм, первые 20 минут. Потом всё начинает распутываться, но всё равно интересно.

Почему-то у меня не идёт спонтанный монолог. Может потому, что медленно набираю. Флуоксетин вот передо мной лежит. Просто не успеваю набирать, поэтому… Нормально записать можно только заранее продуманную мысль, уже сформулированную. А так даже взгляд зацепляется на всё и ни за что существенное.

Я вот думаю записать всё, пока с ума не сошёл. Какие-то симптомы объективно-странные. Слово объективно тут для понта. У меня оказывается уже открыто окно с блогом на другом рабочем столе. Так и не записал ничего. Когда-нибудь видели психов, которые внимательно разглядывают какую-нибудь ерунду? Я в кино видел. Мне руку приятно разглядывать сейчас. Могу стол гладить, у него фактура интересная. Под настроение. Это мой основной симптом — мнительность. Навязчивая идея, паранойя, ещё пара симптомов, которые я никак не вспомню, а поиск на этой планете до ума ещё не довели.

Флешка.

24.09.2011

Несколько лет назад я подарил своей девушке флешку на новый год. Потратил на это дело 3.5 тыс рублей. Деньги с тех пор подешевели, считай, 5к нынешних. На 8Гб, они тогда только появились. Флешка до сих пор работает и до сих пор является достаточно ценной вещью, а не бесполезным хламом.

А у меня флешки кончились. 4-гиговая, что с Москвы осталась, почти умерла — работает только на чтение (на ней Ubuntu стоит, удобно иметь загрузочную флешку), гиговую отдал джету с данными, осталась только антикварная, на четверть.

Сегодня купил себе флешку. 8Гб. 300 рублей — на сдачу от оперативной памяти. Может стоило ноут купить новый, потому что деньги всё равно нужно деть куда-то, но пока отложил это дело. Поставил 4 гига оперативки, радуюсь.

Московскую я тоже покупал на сдачу. Было в кармане 2 штуки, я поел во Friday’s, выпил пару коктейлей и на оставшееся купил 4-гиговую флешку. На 8Гб не хватало 300 рублей. Потом было неудобно именно из-за недостатка размера. Ubuntu заняла 3 гига, а периодически стирать-ставить её, либо покупать вторую флешку неудобно.

Сейчас мне кажется, что купить оперативы, а на сдачу флешку намного лучше, чем поесть\выпить, а на сдачу флешку. Раньше я думал, что тратиться на ерунду, а потом экономить на ежедневных тратах глупо. Глупо тратиться, если потом опять работать. Сейчас — что глупо тратиться на ежедневную ерунду, если можно купить вещь лучше. Которая будет, если не радовать несколько лет, то хотя бы не будет раздражать недостатком ёмкости, быстродействия, долголетия. Глупо ничего не делать, если можно заработать.

Новости.

22.09.2011

Я никогда не пишу, используя информационные поводы. События, катастрофы, праздники (день рождения блога не в счёт). А вот может стоило бы? Мне есть что сказать по всем информационным поводам последнего времени. И по Мирзоеву и по Полонскому с Лебедевым и по Прохорову. Про Ливию с Сирией вообще можно не упоминать, про них у каждого, полагаю, есть что сказать.

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