Избранные сообщения bvn13
Намутил свой сетевой протокол для дисков
На имеющемся железе пробрасывает NVMe примерно на его родной скорости, и делает это в два с лишним раза быстрее штатного линуксового nvme-over-tcp. Дальше упирается в мой слабый клиентский комп, но на большом железе производительность растёт до миллионов IOPS через один диск. 50 GbE успешно загружал на полную катушку, был, практически, line rate.
Оснастка для управления файлопомойкой
Развернул ФП в домене на самбе (ubuntu server 16.04). Хотелось бы управлять ФП из винды. Смотреть у кого открыты файлы и т.п. Есть ли какие инструменты для этого...?
Raspberry в действии
Давно сделал, да вот по поводу публикации про банан решил поделиться. :)
Внутри:
- raspberry pi b rev2.0
- Хороший неубиваемый блок питания от свитча (оптика<->lan) со всяческими защитами и тп.
- 6 кнопочек для управления.
- Дисплей на базе контроллера HD44780 (WH1602)
- sd карта на 4G для системы.
- flash 16G для торентов. (потом планируется веник от бука, но пока хватает)
- самопальный usb wifi свисток выдраный из планшета
- антена для wifi
Крутится Raspbian Jessie.
pi@wifi-router:~ $ uname -a Linux wifi-router 4.1.17+ #838 Tue Feb 9 12:57:10 GMT 2016 armv6l GNU/Linux
Ну и: transmission-daemon, sshd, ntpd, hostapd, dnsmasq, snmpd, nfs, lighttpd, mrtg, демон для управления.
Превью открытых вкладок как в Safari
Привет, ЛОР. Это своего рода посоветуй плагин-костыль тред, потому что нагуглить у меня самому не получилось. Мне очень нравится поведение Safari, когда при тонне открытых вкладок можно сделать жест и увидеть все их в виде плиток (так сильно проще найти то, что нужно, чем скроллить вертикальный список, на который не шибко много чего влезает). Вопрос: Есть ли возможность сделать так же на Firefox? Либо любой другой подход, который сделает поиск вкладки менее болезненным процессом. Заранее спасибо.
BTRFS, может кому пригодится для восстановления
Debian 10. Раздел с btrfs 3.6Tb для данных пользователей.
После перезагрузки вдруг перестал монтироваться, опции монтирования recovery,ro не помогали.
SMART пишет GOOD, но Victoria показывает 198-Offline_Uncorrectable красным.
btrfs check /dev/sda4 завершалась аварийно
btrfs rescue zero-log /dev/sda4 выполнился, но раздел не смонтировался
Помогло следующее: из ветки testing установил btrfs.progs версии 5
btrfs check /dev/sda4 стал нормально сыпать ошибками
btrfs check --repair /dev/sda4 стал ремонтировать.
Ждать не стал, прервал ремонт. Раздел смонтировался в ro и удалось все переписать.
Ради эксперимента запустил снова btrfs check --repair /dev/sda4 , ремонт продолжился, прождал три дня, окончания не дождался, прервал. Раздел переформатировал в btrfs.
Мои ошибки: Оказалось, что metadata и system были single. В UPS батарея тест проходила, но не держала.
PS. Есть ли возможность подключить второй диск к разделу btrfs и настроить так, чтобы metadata и system были raid1, data=single и при этом все данные писались бы исключительно на первый диск, не залезая на второй,
т.е. второй диск только для raid1 для metadata и system, а все данные только на первом диске?
TOR для чайников (нужна консультация специалиста)
Поставил TOR, настройки не трогал. В Telegram прописал localhost:9050 и всё работает.
Читаю соседнюю ветку LOR и не могу понять, а зачем всё это, если оно и так работает?
Я так понимаю по умолчанию tor работает через sock, где всё «из коробки» пашет? Если нужен не только sock, то тогда - танцы с бубном: создание подсети, iptables и т.д?..
low-memory-monitor: анонс нового юзерспейсного обработчика нехватки памяти
Bastien Nocera анонсировал новый обработчик нехватки памяти для рабочего стола Gnome. Написан на C. Лицензирован под GPL3. Для работы демона необходимо ядро 5.2 или новее. Демон проверяет дефицит памяти через /proc/pressure/memory и при превышении порога отправляет через dbus предложение процессам о необходимости умерить аппетиты. Также демон может пытаться сохранить отзывчивость системы через запись в /proc/sysrq-trigger.
>>> Подробности (hadess.net)
Дублирующиеся теги
Некоторые, наверное, уже заметили, что я начал войну с ветряными мельницами дублирующимися тегами. Извините, если вам вдруг придёт десяток уведомлений по какому-нибудь невезучему тегу. Не хочу повторить историю с
cetjs2.
Кидайте в эту тему дублирующиеся теги, которые нужно почистить.
Например, были теги «параноя», «паранойа», «паранойя», остался только «паранойя», «rubyonrails» -> «ruby on rails» и т.д.
Поиска нормального навигатора авто тред
Дарова. Итак, я узнал что в яндексе сидят козлы и их яндекс карты на самом деле по договорённости с ЦОДД не помогают построить самый быстрый маршрут, а строят самый оптимальный, что бы я не создавал пробку. Ещё и через дворы не хочет, типа лучше стой в пробке, чем обьедь. Итак, какие есть нормальные навигаторы под андроид для объезда пробок? Гугль вроде умел строить как надо, но сейчас у него маршруты оче похожи на яндексовские, такое ощущение что гугл от яндекса берет всю инфу. Ситигид тормозной и тупой, хотя у него свои алгоритмы и он строит маршруты вроде бы как надо.
Рогалики
Тред для обсуждения всех возможных рогаликов. Как свободных, так и нет, как с графикой, так и ASCII, как каноничных, так и более современных hack'n'slash-ей.
Основные современные рогалики: Angband, Nethack, ADOM, Crawl, ToME.
Классические рогалики: Rogue (родоначальник жанра), Hack, Moria, Larn, Omega.
Множество других рогаликов описано на roguebasin.com
Happy Programming. Eposode 0x01 - нарисуй слоника ::)
Давай повеселимся, реализуй и выложи код который будет рисовать слоника по приложенным данным на своём любимом языке программирования ::) Можно выбрать и не слоника, а другое.
Данные по которым нужно рисовать >>> ★ слоник ★★ бабочка ★★★ крабик ★★★★ лошадка ★★★★★ робот
Программист из меня никакой и в качестве примера я нарисовал слоника из параллельной вселенной, уж точно не из нашей. А сможешь ли ты , да да именно ты нарисовать слоника? Или слабо :D
UPDATE: Готовые реализации
>>> Language C => Dron★★★★
>>> Language Ruby => theNamelessOne ★★★★★
>>> Language Bash => ArcFi ★
>>> Language Python3 => unikoid ★★★
>>> Language Python + matplotlib => i-rinat ★★★★★
>>> Language javascript => arax ★
>>> Language javascript v2 => arax ★
elefan.c #моя стартовая инопланетнокривая версия
#include <stdio.h>
enum
{
UP,
DOWN,
LEFT,
RIGHT
};
static int elefan[28][2] = {
{RIGHT,2},{DOWN,6},{RIGHT,2},{UP,1},{RIGHT,1},{UP,1},
{RIGHT,1},{UP,1},{RIGHT,4},{DOWN,1},{RIGHT,1},{DOWN,3},
{RIGHT,7},{DOWN,1},{RIGHT,3},{DOWN,7},{LEFT,1},{DOWN,6},
{LEFT,3},{UP,1},{LEFT,2},{UP,1},{LEFT,1},{UP,2},{LEFT,2},
{UP,1},{LEFT,2},{UP,9}
};
static char surface [22][22];
char dot = '@';
char fon = '.';
int pose_x =0;
int pose_y =0;
int main(int argc, char *argv[])
{
/*create surface*/
for (int i = 0; i < 22; ++i)
{
for (int y = 0; y < 22; ++y)
{
surface[i][y]=fon;
};
};
/*paint elefan*/
for (int i = 0; i < 28; i++)
{
switch (elefan[i][0])
{
case UP: pose_x-=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
case DOWN: pose_x+=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
case LEFT: pose_y-=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
case RIGHT: pose_y+=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
default: break;
};
}
/*print elefan*/
for (int i = 0; i < 22 ; i++)
{
for(int y=0; y < 22; y++)
{
putchar(surface[i][y]);
putchar(fon);//correct surface cube
};
putchar('\n');
}
return 0;
}
result
dron@gnu:~$ gcc elefan.c -o elefan ; ./elefan
....@.......................................
............................................
............................................
............@.......@.......................
..........@.@.......@.@.....................
........@.@.................................
....@...@...................................
....................@.@.............@.......
....................................@.....@.
............................................
............................................
............................................
............................................
............................................
............................................
........................................@.@.
....................@...@...................
........................@...@...............
............................................
............................@.@.............
..............................@...@.........
..................................@.....@...
dron@gnu:~$
Стала доступна бета-версия S.T.A.L.K.E.R. Зов припяти на движке OpenXRay
После полу-годовой работы над стабильностью, стала доступна бета-версия игрового движка OpenXRay.
Побеждены случайные вылеты, улучшен рендер (ближе к ванильной картинке), игру можно пройти до конца.
Известные баги и проблемы:
- При выходе из игры процесс может зависнуть
- При переходе между локациями/повторной загрузке сейвов портится картинка, игра может вылететь (пока решается только через перезапуск игры с загрузкой сейва)
- Сейвы и логи не поддерживают UTF-8
- Проект не собирается clang
Для работы игры понадобятся ресурсы от оригинальной игры, они должны находиться в ~/.local/share/GSC/SCOP/
Для steam их можно получить следующим образом:
steamcmd "+@sSteamCmdForcePlatformType windows" +login <username> +force_install_dir ~/.local/share/GSC/SCOP/ +app_update 41700 +quit
Если ресурсы из GOG, нужно привести все пути к нижнему регистру(это особенность движка)
Перед началом игры нужно исправить строку в ~/.local/share/GSC/SCOP/_appdata_/user.ltx renderer renderer_r1 на renderer renderer_gl, и vid_mode 1024x768 на ваше разрешение, иначе оно слетит.
В планах дальнейшее улучшение рендера, поддержка ресурсов от ClearSky (сейчас в отдельной WIP ветке) и TЧ.
>>> Подробности (github.com)
emacs org-mode зависимости между событиями по датам
Не могу найти, каким образом можно связать события по датам. Например, есть три события А, Б, В. Событие Б должно зависеть от события А (+2 дня), а событие В должно зависеть от события Б (+1 день). Дата события А выбирается произвольно. Таким образом, при изменении даты выполнения по событию А по цепочке меняются даты по событиям Б и В.
Из коробки такого не нашел, есть ли какие-то расширения?
Simple Viewer GL v3.1.0 — просмотрщик изображений
Simple Viewer GL — легковесный просмотрщик изображений.
Краткое описание
Интерфейс состоит из одного окна с опциональной строкой статуса и информацией о пикселе под курсором и/или выделенной области (скриншот).
Simple Viewer GL умеет определять тип файла по его сигнатуре (параметр -a), а не только по расширению файла.
Поддерживается рекурсивный обход директории (параметр -r).
Поддерживаемые форматы
PNG, JPEG, JPEG 2000, PSD, AI, EPS, XCF (GIMP image format), GIF, SVG, TIFF, TARGA, ICO, ICNS (Apple Icon Image), BMP, PNM, DDS, XWD, SCR (ZX-Spectrum screen), XPM, WebP, OpenEXR.
Работает в GNU/Linux, FreeBSD и macOS.
Новое в 3.1.0
- Добавлена поддержка формата SVG.
- Переработана поддержка XCF (GIMP image format).
- Исправлена ошибка загрузки DDS/DXT5.
- Фиксы связанные с WebP и LCMS2.
- Улучшено определение формата JPEG.
- Улучшена обработка ошибок TIFF.
- Исправлены ошибки, найденные участниками данной ветки.
Где взять?
Проект Simple Viewer GL доступен на BitBucket.
Как я использую вьювер
-
Жму enter в midnight commander на заинтересовавшем меня файле. С помощью мышки выбираю нужную мне область изображения, что бы определить ее характеристики (позиция/разме спрайта в атласе, определения origin/hotspot спрайта, определение цвета пикселя).
-
В консоли
sviewgl . -rдля рекурсивного просмотра всех изображений в директории. Иногда использую параметр-aдля определения формата по содержимому файла. -
Помечаю с помощью кнопки del файлы для удаления. После чего жму ctrl+del и помеченный файлы удаляются.
[xterm,tek4014] Дело было вечером, делать было нечего...
или продолжение прошлогоднего безобразия с небольшим резонансом.
Пару недель назад ко мне совсем неожиданно постучался бывший разработчик терминалов Tektronix Chuck Forsberg и подкинул кое-что из своего загашника, чем опять подогрел мой слегда остывший из-за катастрофической нехватки времени интересс к этой теме.
На этот раз я решил немного заняться анимацией. Предметом издевательств был избран The Riddle от Gigi D' Agostino. В сети нашёлся и уже готовый файл с векторными данными в формате ILDA для лазерных проекторов (зеркало). Осталось дело за малым — скрестить одно с другим, что и можно наблюдать на скриншоте.
Кому интерессно — исходники лежат тут плюс вышеуказанный архив с данными. Запускаем всё это дело в xterm и наслаждаемся движущимися картинками (музыка прилагается).
И да, поклонники альтернативных терминалов в пролёте — этот финт ушами, насколько мне известно, работает только в xterm.
UPD: добавил нормализацию, что бы картинка на весь экран была и синхронизировал на 25fps.
для воспроизведения с музыкой у меня лучше всего работает
(sleep 0.5 && ffplay music.mp3) & ./tekilda theriddle.ildPS: тытрубки не будет т.к. у меня там нет ни аккаунта, ни желания его заводить
Первый год вместе с GNU/Linux
Это началось год назад когда я купил ноутбук без операционки, а на нем стоял уже какой-то мега глючный дистрибутив с гномом 3. Поюзав месяц оффтопик, вспомнил, что та самая операционка хоть и была глючной, зато в ней было кое что интересное. Разузнав подробнее про дистрибутивы, немного боясь, но установил Mint, после чего была Xubuntu, Monjaro с awesome, MXlinux и Debian. Самые приятные ощущения оставил только Debian c протухшим mate, но сейчас вполне доволен и оптимизированным Mint с cinnamon (стоит в дуалбуте на всякий случай).
Так как каникулы достаточно длинные появилось время наконец осилить тайлинг и рач и вот что вышло. По сути огромное количество кодовой базы и идей взяты у Luke Smith, за что ему отдельная благодарность. Ещё хочу ещё отметить, что хоть система и на зашифрованном диске, в производительности она не сильно проигрывает.
Пакеты:
-
bspwm + sxhkd
Изначально я юзал i3-gaps и вроде как он меня всем удовлетворял, но когда узнал про bspwm, сразу понял что он значительно лучше подходит. Особо понравилась архитектура, когда оконный менеджер не лезет в настройки клавиатуры.
-
kitty + bash
Kitty немного медленнее моего прежнего st, но в нем значительно больше плюшек. Пробовал zsh как интерактивынй шелл, но так и не понял в чем его фишка, разве что изкоробочности больше. Лучше уж потом фиш осилить если в нем пофиксили безопасность.
-
mpd + ncmpcpp + mpc
Как в случае с i3, монолитная архитектура всегда проигрывает более модульной, поэтому, немного повозившись с конфигами, смог таки пересесть с cmus.
-
polybar + awesome-font
По сути использование polybar во много раз ускорило переезд с i3. Читал, что он есть много поэтому может пересяду на lemon(bar|new)
-
neovim
Долго использовал обычный вим и как был приятно удивлён улучшениями в его neo версии. Конфиг Люка Смита очень крут к тому же.
-
Thunar, dunst, sxiv, xwallpaper
-
И много скриптов для комфортной работы
В планах:
- Адаптировать под VoidLinux
- Использовать nnn как главный файловый менеджер
Stow оказался очень удобным = dotfiles
Как кросскомпилировать из Linux для MacOS? ::)
С мелкомягкими разобрался Кросскомпиляция mingw , статическая линковка SDL2
Стек MS простой mingw для сборки wine для тестирования (хотя есть нежданчики ну да ладно)
А что делать для MacOSX? Собрать можно для неё? А как? Ну я сейчас гуглю но вдруг кто сразу может пнуть в нужном направлении или просто что-то дельное подсказать. Но ладно собрать, если можно то соберу, а вот ещё более прикольный вопрос, а каким боком можно запустить приложение собранное для Mac на Linux? Или может какой онлайн сервис есть? Ну я бы рад конечно на реальной машине проверять, но эта как его, они стоят как самолёт.
Ну в общем если есть чё по радужной OS буду рад =) Модераторы велкам :D
Cast
export MSG="У вас вроде есть макось и вы кодите"
su -c @jollheef ; wakeonlan -p 8 @beastie
Чем лучше шифровать файлы в Linux?
Решил не париться с криптоконтейнерами, а держать всё на компе в открытом виде, а то что надо отправить в облако - сжимать в xz и чем-нибудь шифровать. Подскажите, что лучше выбрать для шифровки? Что удобнее и надёжнее? Гуй не нужен, т.к. будет работать в скрипте.
UPD: выбрал 7z
()
Незакрытая уязвимость в KDE
Исследователь Dominik Penner опубликовал незакрытую уязвимость в KDE (Dolphin, KDesktop). Если пользователь откроет директорию, где содержится специально сконструированный файл чрезвычайно простой структуры, код из этого файла будет выполнен от имени пользователя. Тип файла определяется автоматически, поэтому основное содержание и размер файла может быть любым. Однако требуется, чтобы пользователь самостоятельно открыл директорию файла. Причиной уязвимости называется недостаточное следование спецификации FreeDesktop разработчиками KDE.
>>> Подробности (gist.githubusercontent.com)
| ← назад | следующие → |



