Category: it

Category was added automatically. Read all entries about "it".

promo eddy_em август 17, 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
Костерок

Утилитка для Grasshopper3

Наконец-то добил основной необходимый функционал для "кузнечика": код на гитхабе.
Утилита умеет получать полнокадровые изображения и сохранять их в 8-битные FITS и png, а также отображать в псевдоцветах (синий - 0, красный - 255) полученные изображения (сначала эквализуется гистограмма изображения, а затем преобразуется в цвет в соответствии с одним из выбранных алгоритмов: линейный, корень или логарифм).
Пока что замечен один косяк: при выходе из демонстрационного режима откуда-то возникает сегфолт. У меня там уйма одновременно работающих потоков, поэтому выяснять, где косяк, можно довольно-таки долго.
Но зато уже можно использовать камеру для подсмотра щели.
"Смотрелку" я выдрал из apogee_control'а, но добавил возможности делать паузу при "нащелкивании" уймы изображений, а также "щелкать" вне серии (чтобы не сохранять изображение). При желании можно нажать ctrl+S и сохранить текущий кадр. Ну и можно для удобства визуализации зеркалировать изображение и так, и эдак...
Костерок

Tuxguitar больше не поддерживают?

Я как в танке: решил сейчас на гитарке поиграть, а чтобы не листать бумажные табы - запустить их в tuxgiutar. С полгода назад (или даже давней) я его удалил из-за проблем при обновлении. В генте он есть в репе Krontage. Пытаюсь ставить - уйма ошибок (видимо нужна какая-то старая версия fluidsynth).
Полез в гугол и обнаружил, что авторы забросили это приложение!
И в чем теперь гитарпрошные табы запускать? Искать на торрентах "крякнутый" гитарпро для линукса? Ну вообще…
Костерок

Grasshopper3 - чудо инженерного недомыслия

Уже третий день "сражаюсь" с этой ПЗСкой (изначально их было куплено две штуки для подсмотра щелей NES'а и PFES'а). Я уж промолчу о том, что куплены были "цветные" камеры (у которых еще и чувствительность ниже). Но SDK и само железо…
Collapse )
Не покупайте подобные ПЗСки, если хотите сделать нечто больше, чем прямой вывод видео на экран игровой приставки!
Костерок

Что-то подключивает гитхаб

Еще в конце февраля заметил, что куча моих коммитов не отображается на странице статистики. Вот и сейчас:

В марте было сделано несколько коммитов в zeiss_utils и stm32samples, а отображается лишь старый коммит в small_tel…
Похоже, и здесь мелкомягкие навредили ☺
Костерок

Хитрый шебанг

Вот только сейчас узнал, что башу можно скормить не только классический шебанг, начинающийся с "#!", но и вообще без шебанга исполнять файлы! На SO подсказывают, что любой текст с исходником на С/С++ можно "сделать интерпретируемым" при помощи простой конструкции:
//usr/bin/gcc "$0" && exec ./a.out "$@"
#include <stdio.h>
int main(){
    printf("hello!\n");
    return 0;
}

Можно даже более сложные вещи делать при помощи #if0!
Здесь вся суть кроется в том, что баш начинает исполнять файл строка за строкой даже без стандартного шебанга #!/bin/sh. Если мы пишем //bin/ls, то лишний слэш игнорируется (попробуйте запустить //bin/ls в консоли). А gcc два слэша подряд рассматривает как комментарий!
Аналогично с #if0: и gcc, и баш рассматривают это как комментарий, но, в отличие от gcc, все, что идет дальше (до #endif) баш интерпретирует!
Занятно.
Костерок

А есть ли легкая библиотека для wss-вебсокетов?

В libwebsocket наворотили очень много — она уже практически вместо веб-сервера может использоваться!
А мне всего-то нужен сокет между сетевым демоном и веб-страницей. Убивает необходимость копирования всей огромной портянки из примеров libwebsocket, когда нужно что-то, вроде такого:
int main(){
	/* Register events. */
	struct ws_events evs;
	evs.onopen    = &onopen;
	evs.onclose   = &onclose;
	evs.onmessage = &onmessage;
	
	/* Main loop, this function never returns. */
	ws_socket(&evs, 8080);

	return (0);
}

Вот только работать это должно с wss, т.к. нужна аутентификация, а, судя по комментариям на ЛОРе, даже в 2020 году в http нормальной аутентификации обеспечить практически невозможно... Колхозить велосипеды с квадратными колесами не хочу. Кстати, вот еще одно "фи" в сторону libwebsocket: код по ссылке, хоть и написан три с небольшим года назад, не собирается (т.е. апи опять поломали).

UPD: наткнулся на libwebsock. Пишут, что SSL поддерживается и даже какой-то пример есть.
Буду MWE для теста писать.
Костерок

Фряха

Увидел сегодня на быдлохабре статью о сравнении линукса и FreeBSD. Незаслуженно заминусованную.
Да, пока что BSD для десктопа не годится: очень мало нужного софта нормально работает под FreeBSD. Однако, автор прав насчет того, что линукс скатывается в /dev/null. И если весь мир сойдет с ума, и в генте тоже openrc на systemd сменят, то FreeBSD останется единственной отдушиной. Ну, а если и BSD станет дегенеративной помойкой вроде форточек, то придется искать работу, не связанную с компьютерами. Потому что здоровье дороже.
Костерок

FLI & linux

Линус, кажется, сошел с ума. Иначе зачем клепать новые версии ядра с такой нечеловеческой скоростью? В итоге многие производители железа просто забили на этот идиотизм и перестали поддерживать линукс.
Вот так и FLI. На сайте производителя уже модуль ядра под версией 1.3.2. Однако, даже под древнючее третье ядро скомпилировать его не представляется возможным (даже Makefile написан с переменной SUBDIRS вместо M).
Я уже когда-то (в далеком 2017 году) потратил день-другой на переделку модуля 1.3.0 под ядро >4.9.0 (судя по шапке, проверял на ядрах 4.9.4 и 4.12.5), но вот обновил ядро на 5.4.16 и пришлось опять это вытворять! Благо, перемен совсем немного: макрос access_ok принимает теперь лишь два параметра вместо трех. Решилось это просто добавлением в начало файла макроса:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
#define ACCESS_OK(a,b,c)  access_ok(b, c)
#else
#define ACCESS_OK(a,b,c)  access_ok(a, b, c)
#endif

и заменой access_ok на ACCESS_OK в теле исходника.

P.S. У ЖЖ движок совершенно дебильный! Писал эту заметку в dreamwidth, там и с текстом, и с метками все нормально. А здесь понадобавлялись метки из кода (все директивы препроцессора!).
Вот же маразм!!! Теперь вместо символа "номер" ("диез") нужно в код вставлять его код: амперсанд-номер-35-;. Это что еще за безобразие такое?

P.P.S. В итоге написал простой скрипт, чтобы конвертировать "запрещенные" символы:
#!/bin/bash
echo '<code lang="C"><pre style="border-left: 4px solid; border-top: 1px dashed; border-bottom: 1px dashed; max-height: 300px; overflow: auto; padding: 5px" title="Code block">'
sed  -e 's|\&|\&amp;|g' -e 's|<|\&lt;|g' -e 's|#|\&#35;|g' -e 's|>|\&gt;|g'
echo '</pre></code>'
Костерок

А есть ли IDE как qt-creator, но без Qt?

Надоедает, что qt-creator тащит за собой огромное количество ненужных Qt'шных библиотек. От qtwebengine можно избавиться, установив соответствующий USE-флаг, но вот прочие… Понятно, что IDE должен быть нативным, а не уродом на жабе (вроде eclipse - хуже IDE просто страшно придумать!).
А еще, несмотря на то, что я сменил kile на texstudio, проблем меньше не стало, т.к. texstudio хоть и не тащит половину KDE за собой, но все равно тащит кучу Qt'шных библиотек.
В идеале хорошо было бы, чтобы IDE и GTK с собой не тянул. А был основан на чистом opengl...

Как найти достойную замену Qt'шному софту, чтобы изгнать вообще эту дрянь из системы? (идеально было бы еще python изгнать, но, к сожалению, portage на нем написан, а paludis как-то вдали от мейнстрима)