December 15th, 2014

За выходные

Суббота на том ещё не кончилась! Отторцевал криво (главным образом в том смысле, что под углом) фанерины для верха рупора. Принимал гостей. В процессе "приёма" обнаружил "баг" в коде при работе с pthreads  - задачи перереспределяются слишком медленно, по одной (а их сотни). Сделал перераспределение сразу кучки при большой разнице в нагрузке ядер. Сейчас подумываю - а может ли быть ноль задач на потоке (процессор отключен?). Вроде как нет и не из-за ограничений в коде, а из-за того, что дохлый поток до барьера не дойдёт.

В воскресенье с утра припаял к CM108 проводок и поимитировал кнопочку mute. Имитируется хорошо - совсем как настоящая. Повод разместить её на звуковухе появился (и ещё 3 других).

Сразу же припаял шлейф от CM108 к Филипсу - пашет, музыку играет, но глуховато. В принципе, я как-то уже в курсе был (про наушничий вывод). Взял осциллограф - примерно 6 дБ от совсем низов до совсем верхов, причём достаточно плавно. Всё это время я думал, что на линейном выходе будет ровно. Воткнулся туда - тот же самый плавный-преплавный завал. Но играет чисто, приятно (ещё-бы, на 6 дБ ВЧ придавили, а грязь обычно как раз там).

Сижу уже в кабинете, на кухне Филипс через наушники играет, мне слышно хорошо. Вдруг какой-то скрип и хруст, причём на максимальной громкости! Нечто подобное, но тише, было в самом начале, когда частота тактовая съезжала. Некоторое время прислушивался, потом дошло - выскочил в кухню, прислонился к окну и стукнул по пене, закрывающей дырку в "холодильничке" под окном - так и есть, синичка здание дербанит. Улетела и шум пропал!

Обнаружил, что моя убунта не обновляется (и многие пакеты не ставятся) - надо было LTS брать. Обновлять же по сети машинку, стоящую на антресолях - плохая примета. Эта примета - к тасканию большого железного ящика. Отложил обновление - на ноуте поковыряюсь.

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

Пошли гулять. В магазине среди прочего были куплены чай и туалетная бумага с одним названием - "опа" - просто чтоб сфотографировать потом.

У тёщи на убунте поразбирался с тем, что не пошло на моей. Понял, какие библиотеки надо и от чего они зависят.

Тут и выходным конец, спать пора!

Кот и мясо

Всю ночь кот лез к лицу и громко, почти демонстративно мурчал.

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

Как встал к столу, кот кинулся орать и драть стол - на этот раз совсем демонстративно. Разморозил и ему - в микроволновке - ему ж с него стейк не жарить, ему можно и в микроволновке размораживать. Брал кусок побольше - наградой за терпение.

PyShit

По принципу полиции из американских боевиков (лучше поздно, чем никогда) начал разбираться с нейронными сетями, преобразованием Фурье и вычислительной математикой вообще.

Так вот, вполне обычная библиотека PyBrain тянет за собой вагон всего и в конце концов - ФОРТРАН! И потом на нём много иходников компилирует (и в лог ругается, цитируя вполне узнаваемыми кусками). Вот же FUCKING FICK! В 21-м веке Фортран - ну вот как на скатерть на балу насрать, мне как-то так кажется. Что-то я демотивирован немного.

С другой стороны, вот bpnn.py работает на голом питоне и свои примитивные функции исполняет справно (хотя подозреваю, что медленно). С другой стороны, без малого две сотни строк можно и на C/C++ переписать без особых хлопот - __после__ всяческих экспериментов и отладки.

Для отладки распознавательных алгоритмов собираюсь использовать отсканированные книги, которые в djvu - их у меня много. Библиотека python-djvulibre тянет за собой только cython и особых сюрпризов не создаёт.