LINUX.ORG.RU

Сообщения ruzisufaka

 

Хакабельный фотоаппарат для линуксоида в 2024

Собственно, сабж. Хочу иметь возможность хотя бы подергать затвором из своего кода, а еще лучше - если мой код будет жить в самом фотоаппарате. Само собой, если в аппарате будет полноценный Linux - это тоже отлично.

Главные критерии:

  • Хакабельность прошивки (не обязательно Linux, можно какие-то слитые исходники и васянские прошивки, да хоть скрипты на lua)
  • Не дороже 10000р
  • Максимальный размер матрицы за такие деньги

Я было начал писать желания, типа «возможность подключить SATA-интерфейс или SSD-диски», но понятно, что за такой ценник такого желать из коробки нельзя. А если что-то допаять к аппарату?


Дополнение 1

Вообще, идеальным фотоаппаратом для меня является ESP32Cam с камерой OV2640, ну или лежащий рядом с ним в коробочке STM32H7B0VBT6 с камерой OV7725. Полная свобода действий, ограниченная только интерфейсами OV2640/OV7725. На худой конец можно взять Android-телефон и надеяться, что мне будет достаточно API.

Проблема в том, что я хочу нацепить на камеру длиннофокусный объектив (например, мто 10, весом в 3.6кг). Резьба у него 42мм, мне сказали что кроп-фактор на OV2640 будет порядка х10 и снимать такой матрицей - занятие странное. Потому было решено купить какой-то дерьмовый фотик исключительно для того, чтобы подружить его с объективом. По сути мне нужна просто большая матрица, разрешения мне хватит порядка 320х240.

Естественно, у меня все не как у людей и снимать фоточки я не хочу, вместо этого я хочу снимать панорамы с долгой выдержкой. Оказалось, что все эти ваши Сосони/Сапопы, мониторят время включения и через полчаса говорят «ой, я перегрелось» и выключаются. Даже если к камере приделать водяное охлаждение, все равно оно так считает. Альтернативные прошивки вроде МеджикЛантерна это подебить не смогли, они предлагают более удобную перезагрузку с продолжением записи. Можно ли поставить нестандартное разрешение фотографии порядка 320x240? Во многих камерах нету даже функции таймлапса. Погружаться в мир проприетарщины и маркетинговых ограничений, которые элементарно делаются софтом - это больно, потому вот и ищу максимально хакабельную камеру для своих утех.

Увы, у МаджикЛантерна https://builds.magiclantern.fm/ не такой уж и большой выбор железа куда оно ставится, к тому же оно работает только с процессорами Digic, а значит только с Canon. А что там у сосони, олимпусов и прочих никонов - совершенно непонятно.

 , , , ,

ruzisufaka
()

Как разобраться в формате файла? (было: Как заинструментировать код на Си)

Пост обновлен, предыдущее название: «Как заинструментировать код на Си и понять что он делает? Реверсинг формата файла»


Вступление

Есть какой-то файл и я хочу понять его внутреннее устройство. В качестве примера, возмем файл формата PNG, так как он достаточно простой и хорошо документирован. Но далеко не все форматы хорошо документированы, поэтому полагаться только на документацию - нельзя.

Итак, у нас есть какой-то файл формата PNG - что с ним дальше можно сделать? Можно было бы взять готовую библиотеку для чтения данного формата (libpng), но она содержит более 100 000 строк кода, что крайне сложно для понимания.

Я предполагаю, что более наглядным для изучения будет разглядывать такие картинки:

Здесь сразу видны байтики и их значение. По крайней мере, лично мне, такое изучение было бы наиболее близким и понятным. В этом месте можно назвать меня гуманитарием и посоветовать биореактор^Wчтение исходников, но это не так наглядно.

К сожалению, не все форматы файлов так хорошо описаны, как описан формат PNG. Далеко не для всех форматов файлов есть такие картинки и тем более шаблоны для hex-редакторов. И я бы хотел делать такие картинки самостоятельно.


Идея

Я предполагаю, что если для этого формата есть открытая библиотека (libpng), то для него можно написать свою читалку (my_png_reader). В свою очередь, у нашей библиотеки (libpng) могут быть свои зависимости (zlib) и я предполагаю, что нужно будет разобраться и с устройством этой библиотеки тоже.

Само собой, для тестирования, нужно будет собрать некий тестовый датасет (набор png-файлов с разными разрешениями, режимами компрессии, битые файлы). Для этого было бы неплохо использовать утилиты из набора AFL для уменьшения датасета и уменьшения самих исходных данных: https://youtu.be/0dqL6vfPCek (фаззинг файла вместе с ffmpeg)

Вопрос: как бы заинструментировать имеющийся софт (программу, библиотеки), чтобы понять, что такое оно делает с файлом, что внутри и как его вообще читать? Да и вообще, что можно вытащить из подобной затеи?

Например, очень бы хотелось узнать:

  • Сигнатуру файла (\x89PNG в начале файла)
  • Структуру «чанков», что она представляет собой 4 поля: длинна, тип, данные, CRC32
  • Алгоритм расчета CRC32: какая часть данных считается, с заголовком или без, какой полином
  • Какая часть файла пожата zlib, какие части файла просто являются несжатыми массивами
  • Нарисовать какую-то диаграмму, где какой байт чему соответстует, вроде https://i.imgur.com/eLd44xQ.png или https://i.imgur.com/AwpmSxV.png

Я себе это представляю как-то так:

  1. Читаем кусочек файла и помечаем, что это наш файл (перехватываем read/fread, «отравляем» эти участки памяти)
  2. Ставим брейтпоинт на чтение памяти, логгируем, смотрим по map-файлу где мы это читали, желательно размотать стек
  3. По коду уже можно представить, читаем мы float или int16, находимся ли в структурке или еще где. Если мы внутри функции check_file_signature(), то это вообще очевидно. Можно пометить как ручками, так и чем-то вроде IDA.

Зачем? Это поможет в написании файлов-шаблонов для таких программ как https://ide.kaitai.io/ или 010 Editor. Конечно, в идеале запустить на входе PNG-файл, а на выходе получить KSY (формат описания файлов kaitai) или BT (формат для 010 Editor), но понятно, что идеальной документации не будет. Но я стремлюсь именно к этому.

Однако я понятия не имею как это реализовать, да и наверняка я не первый до этого додумался. Может кто-то встречал нечто подобное?

Буду благодарен на статьи просто по инструментации сишного кода. Или не только сишного.


Референсы и идеи

  • https://github.com/AFLplusplus/AFLplusplus - отличное средство для фаззинга (пример фаззинга libpng: https://youtu.be/LsdDRat4S0U), но я не очень понимаю как это применить именно к описанию файла. А вот тулзы вроде afl-cmin - чистое золото
  • https://www.intel.com/content/www/us/en/developer/articles/tool/pin-a-dynamic-binary-instrumentation-tool.html - Intel PIN
  • Address Sanitizer or ASAN - можно попробовать поиграться с ним и залоггировать доступ к памяти
  • valgrind + lackey - очень многообещающе, но боюсь не осилить
  • Попробовать сделать доступ к страничке PROT_NONE, получить сегфолт, но непонятно как возвращать управление (сделал, но споткнулся на последнем пункте)

 , , , ,

ruzisufaka
()

Как расшифровать раздел ext4

С потом и кровью был слит раздел userdata с Android 10 (LineageOS). Ожидался битый раздел, но debugfs говорит что он clean, видимо система успела его демонтировать при отключении:

Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode filetype extent encrypt sparse_super large_file uninit_bg quota
Filesystem flags: unsigned_directory_hash
Default mount options: (none)
Filesystem state: clean <<<<<<<<<<<<<<<<<<<<<
Errors behavior: Remount read-only
Filesystem OS type: Linux
Inode count: 3432448
Block count: 13704952
Reserved block count: 4096
Free blocks: 8182
Free inodes: 3394575
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1024
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512

fsck нашел одну ошибку, но тоже не криминальную:

# fsck -fv /dev/sdd
fsck from util-linux 2.36.1
e2fsck 1.46.2 (28-Feb-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Padding at end of inode bitmap is not set. Fix<y>? yes
Error writing file system info: Input/output error

/dev/sdd: ***** FILE SYSTEM WAS MODIFIED *****

(не обращайте внимание на Error writing file, это защита образа от записи, равно как и на FILE SYSTEM WAS MODIFIED - это приворукость авторов fsck)

Все монтируется великолепно без каких-либо ошибок.

Проблема в том, что никуда зайти нельзя, единственное к чему у меня есть доступ, это:

./data/unencrypted
./data/unencrypted/key
./data/unencrypted/key/version
./data/unencrypted/key/secdiscardable
./data/unencrypted/key/stretching
./data/unencrypted/key/keymaster_key_blob
./data/unencrypted/key/encrypted_key
./data/unencrypted/ref
./data/unencrypted/per_boot_ref
Вот так я познаю мир, оказывается и такое вот бывает.

Здесь, как я полагаю, храняться ключи шифрования. Вопрос - как их скормить и кому скормить, чтобы получить полный доступ к тому, что было когда-то /data/data/? Другие разделы тоже сдамплены, ну или что-то похожее на дамп есть.

Есть идея прошить в рекавери TWRP и слить данные через него, но пока ссыкатно, хотелось бы не мучать телефон больше.

 , , , ,

ruzisufaka
()

Как передать файл 500mb-1Gb с linux на win32?

Надо передать ОДИН файл с одной машины (под ЖМУ/Linux) на виндовую машину. Передавать неинтерактивно, из скрипта, примерно раз в час, но быстро, на максимальной скорости, в локалке. Но как?

Самба - по идее отличная штука, но на виндовой стороне шары постоянно отваливаются и порой спасает только ребут виндовой машины. Не вариант вообще.

FileZilla на винде + curlftpfs на линукса = не осилил. curlftpfs говорит что смонтировался, но открыть директорию нельзя:

ls: reading directory 'ftp': Input/output error

При попытке что-то записать в директорию, на удаленной машине создается файл весом в 0 байт. В логах ничего подозрительного. Само собой, в mc я могу написать cd ftp://... и все работает. Скорость копирования в mc порядка 54mb/сек

В гугле все советуют поставить openssh в линуксе и коннектится к нему через putty/filezilla и тому подобное. НО МНЕ НАДО НАОБОРОТ, ДОСТУЧАТЬСЯ ДО ВИНДОВОЙ ШАРЫ.

В 5 минутах от того, чтобы под виндой опрашивать smb-шару с линукса и скриптом копировать файл. Если бы был на работе, то так бы и сделал. Но дома так делать мне претит представление о прекрасном.

 , , , ,

ruzisufaka
()

Покритикуйте генератор скринлистов

Более месяца прокрастинации и я родил: https://litter.catbox.moe/cj0wkr.jpg

Хотел добавить ссылки вида urn:tiger, но в диком виде таких ссылок не видел, а ed2k вроде как вполне живет и пахнет. Может чего добавить надо? Мне вот только сегодня подсказапи, чтобы я добавил рейтинг с IMDB и постер оттуда.

А может быть поменять шрифты?

UPD: Сделал красивые градиентные рамочки: https://litter.catbox.moe/tv0ddp.png и анимированные скринлисты: https://litter.catbox.moe/0g31gl.avif (пока как тест, даже без рамочек!)

 , ,

ruzisufaka
()

А что у нас является самым дешевым хранилищем информации на 2023-й год?

А что у нас является самым дешевым хранилищем информации? По прежнему пленка и стриммеры? Или можно сделать свой жесткий-SSD-диск на sd-картах? Или дешевле покупать флешки-брелки? Или жечь болванки? Облака…???

Скорость доступа не интересует, но за месяц надо прогнать хотя бы 5 терабайт данных. Хотелось бы еще и низкое энергопотребление, потому SSD, которые надо «подзаряжать» сразу идут лесом.

 , , , ,

ruzisufaka
()

Сделал правильный сайт с новостями

Как должен выглядеть хороший сайт новостей:

https://letni.club/news/2022-11-09_uni.txt

Или даже так:

https://letni.club/news/ (есть версии для винды, для нищих файлы упакованы в zip)

Реквестирую хороших источников новостей, равно как и отзывы о полезности/ненужности сервиса.

 , , , ,

ruzisufaka
()

Хочу цветной принтер, суть такова

Мне резко захотелось чего-то попечатать, требования к принтеру примерно такие:

  • Разрешение от 50 микрон на точку (это я так полагаю, примерно 508dpi?)
  • Многоразового использования, т.е. через месяц активного использования не надо менять голову, являющуюся основной частью принтера.
  • Хотелось бы иметь поддержку 5 цветовых пигментов (желтый, фиолетовый, ярко-фиолетовый, голубой, ярко-голубой) или сколько там сейчас модно? (не обязательно)
  • Очень бы хотелось поддержку печати именно пигментной, а не водорастворимой краской, т.е. наличие пьезы, а не нагревателей в дюзах (не обязательно)
  • Очень бы хотелось поддержку печати густой жижей, но не уверен, что такое вообще существует
  • Наличие хоть какого-то даташита на печатающую голову (предполагается сделать обрезание оригинальной электронике и заменить на esp32 + кучу сдвиговых регистров)
  • Стоимость в районе ничего (с авито), чтобы было не жалко разломать несколько штук и положить на полочку. Но не доисторическое, что еще можно купить не в единственном экземпляре.

Я слабо сейчас имею представление о рынке принтеров, но мне тут уши прожужжали, что дескать даже самые дешевые принтеры за 3000р с авито имеют разрешение от 600 dpi, все легко хакаются, по улицам летают трамваи и вообще наступило будущее, чему я не слишком верю. Само собой, нужные мне характеристики не пишут в рекламных проспектах.

Возможно это скорее в Talks, но модератору виднее.

 , ,

ruzisufaka
()

У кого установлена какая-нибудь версия GTA?

И не надо тут говорить, что игры зло и что дуалбутчиков/виртуальщиков тут нету. Мне нужно несколько скриншотов из GTA (любой), например, GTA San Andreas (или другая), где читами можно менять погоду. Если не влом, то:

  1. Найдите в игре какое-то красивое место, но без движения мобов/траспорта, к примеру лес, горы, пляж
  2. Вводя различные читкоды на погоду, сделайте скриншоты этого места, не двигая мышку, чтобы пиксели деревьев/домов и всего остального не поменяли своего места, а только перекрасились за счет нового окружения. Желательно все 20 вариантов погоды, или сколько там.
  3. Если еще не надоело, то найдите другую красивую локацию и повторите несколько раз.

Скриншоты лучше сохранять в png, залить потом куда-то в район https://0x0.st/ или аналогичную помойку. Разрешения хватит 640х480, всякие 4k не нужны (только не надо делать ресайз и лишние пережатия - это важно)

 , , , ,

ruzisufaka
()

Ищу консольные программы, которые умеют работать с jpeg (12 бит и/или арифметическое кодирование)

Собственно, сабж. Поддержка 12 бит не совсем официальна, но она есть в libjpeg. Поддержка африметического кодирования есть в GIMP. Вы можете проверить, поддерживается ли арифметическое кодирование в вашем браузере: https://files.catbox.moe/ilkxra.jpg - если видно радугу, значит поддерживается (картинка взята из статьи https://blog.benjojo.co.uk/post/not-all-jpegs-are-the-same)

Моя первая попытка, взять ImageMagick и задать ему разные опции -colorspace и -depth (опции кодирования я не нашел):

for dp in {8,12,16}; do for cs in `convert -list colorspace`; do convert test2.jpg -depth $dp -colorspace $cs -gravity center -auto-level -sharpen +2x3 -resize 256x256^ -crop 256x256+0+0 -auto-level -sharpen 1x0 jpeg-test-$cs-$dp.jpg;done;done

Как результат, 8 и 16-битные файлы идентичны до хешей, 12-битные отличаются, но identify все равно говорит, что оно 8-битное, видимо только пиксели немного иначе считались, а упаковалось оно в 8 бит. Из хорошего - удалось получить JPEG с CMYK внутри.

Вторая попытка была с ffmpeg:

for cc in `ffmpeg -pix_fmts 2>&1 | grep -E "^\S\S\S\S\S\s\S+\s+[0-9]+\s+[0-9]+" | cut -d" " -f2`; do ffmpeg -i test2.jpg -pix_fmt "$cc" -s 32x32 -y "ffmpeg-$cc.jpg";done

Сгенерилось очень много файлов вида:

ffmpeg-yuva420p.jpg
ffmpeg-gbrap16be.jpg
ffmpeg-bgr565be.jpg
ffmpeg-yuv444p.jpg
ffmpeg-pal8.jpg

По факту все они одинаковые, разница только в yuvj420p/yuvj422p/yuvj444p

Хочу много JPEG-файлов, очень разных и очень красивых. С арифметическим кодированием, с 12 битами, в CMYK, в каких-то RGBIQ (упоминается в стандарте, никогда такого не видел), и шобы фотошоп не надо было ставить и мышкой елозить.

Возможно треду место в Development, так как это нужно для тестирования моего собственного творчества (пишу редактор jpeg, обрастаю тестами)

 

ruzisufaka
()

Хочу поредактировать видео h264. Насколько возможно, чем, как?

Хочу редактировать h264, может быть в перспективе h265. Поредактировать вектора движения между кадрами, макроблоки, низкочастотные коэфициенты, влияющие на цвет/яркость картинки. Если картинку можно будет отскейлить или сместить - вообще замечательно, если просто отломать (заблюрить) отдельный макроблок - тоже хорошо.

По аналогии с редактированием jpeg, который вполне себе можно редактировать по границам MCU (8х8 кубики), можно отдельно править AC/DC коэфициенты и для которого есть даже готовые редакторы или конверторы jpeg -> txt -> jpeg.

Речь здесь идет именно о редактировании h264/h265, а не полном пережатии (распаковка - редактирование - сжатие), так что ffmpeg или Adobe Premiere идут сразу лесом.

Возможно кто-то знает и подскажет тулзы, которые были бы очень полезны в процессе изучения/редактирования потока, навроде https://www.elecard.com/products/video-analysis/streameye, показывающие битстрим, чтобы было сразу видно, где и какие данные, как их достать и как править. Они же будут полезны, когда я буду тестировать уже «отредактированный» поток.

Где-то на Stackoverflow был тред, где РУЧКАМИ сделали валидный битстрим h264, картинка вроде 32х32 пикселя, причем автор уложился где-то в 50-100 байт. Увы, с ходу найти не смог. Вот мне нужны инструменты или учебник по такой магии.

 , , , ,

ruzisufaka
()

Как выбрать существующую библиотеку для проекта?

Наша крупная корпорация получила крупный заказ на программу для перемножения 2 на 2, потому мы ищем библиотеку для этого.

Вася советует взять библиотеку XXX, мотивируя это тем, что это старая и известная либа, которую используют многие проекты. Петя считает, что XXX - это древнее говно мамонта, которое совершенно не поддерживается, монструозно и вообще не современно, особенно когда есть библиотека YYY - новая, быстрая, молодежная, с шаблонной магией C++. Да и не библиотека это, которая предназначена для перемножения двух чисел, а целый фреймверк, с поддержкой криптографии и квантовых вычислений. Коля же считает, что надо взять любую библиотеку, выдрать из нее те 15 строк, что требуются и запилить свою библиотеку ZZZ. Это не только позволит не раздувать проект, но даст полный контроль над библиотекой, что облегчит дальнейшее портирование проекта на BeOS, OS/2 и ZX-Spectrum (хотя это и не требуется на сегодняшний день).

Из спора выше можно выделить следующие особенности библиотек, которые можно использовать для выбора:

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

А какие аргументы для выбора библиотек знаете вы? Помогите Васе, Пете и Коле не поубивать друг друга. Хотя я больше болею я Колю.

 , ,

ruzisufaka
()

Я написал приложение-таймер для занятий на велотренажере

Некоторое время назад я создавал тред, где спрашивал: А что кричать спортсмену, когда он тренируется?

Сегодня хочу поблагодарить всех участников того треда и показать, что у меня получилось:

 , ,

ruzisufaka
()

Жизнь IT-шного сыча в деревне. Что для этого нужно?

Допустим, вам резко захотелось пожить в деревне. Свежий воздух, природа, сила земли. Деревня расположена в экологически чистом районе, рядом нет электричества, газа, водоснабжения, интернетов (спутник?), а главное - ехать до нее 500км по бездорожью.

Допустим, что прямо сейчас где-то с сибирской глуши (или карельской? Мы пока не определились) строиться деревня для домашних сычей-ойтишников. Большой дом на 3 этажа из говна и палок. С большой печкой, системой вентиляции и персональными кельями для 15 малознакомых людей, которые бы начали приобщаться к идеям кохаузинга и коливинга. Простите, эко-кохаузинга и эко-коливинга.

А теперь вопрос: что нужно для комфортной жизни IT-сыча в сибирско-карельской деревне, к которой ехать только 2 дня по бездорожью?

Предполагается, что у каждого сыча должно быть личное пространство в виде собственной кельи, где будет как минимум:

  • Мобильный телефон (свой)
  • Дырка в стене для зарядки телефона, ноута (12v, никаких 220v)
  • Вайфай с локальными интернетами и может быть спутниковым инетом
  • Локальные интернеты с википедией, аниме и порно
  • Кровать с постельными принадлежностями (возможно из соломы)
  • Дырка в стене над кроватью со светильником и вентиляцией
  • Возможно окно, возможно фикус в окне или какая-то герань на стене
  • Возможно унитаз, возможно даже с водой, но может и просто ведро
  • Стол, чтобы развернуть клавиатуру и что-то говнокодить (лежа неудобно)
  • Лампа на столе, может быть люстра с RGB-диодами
  • Предметы личного использования: тарелки, кружки, ложки
  • Дверь, которую можно открыть только по NFC с телефона сыча
  • В целях экономии, никаких выключателей, управление всем с телефона

Аналогично с предметами личного пользования, предполагаются объекты общественного использования:

  • Печка, строительный блендер, тестомес и прочая кухонная утварь
  • Система подогрева/охлаждения/кварцевания/ароматизации воздуха
  • Система открывания дверей по NFC, контроля воздуха, включения света
  • 3D-принтер, россыпь шуроповертов, болгарок и бормашинок с алмазными фрезами
  • Ящик с ардуинами, двигателями и прочими амулетами, из которых можно строить дом общественной мечты дальше. Например, систему наведения на спутники или крутить направленные антенны с сотней директоров, чтобы ловить интернеты за 200км. Так как антенны нам точно понадобятся, надо заранее положить в этот ящик всякие SDR-трансиверы и КСВ-метры, прямо к россыпе микросхем от RDA.

Так как в такой деревне из 1 гигахруща надо что-то жрать, а магазинов рядом не наблюдается, равно как и всей остальной инфраструктуры, то планируется постройка силами участников следующих алтарей:

  • курятник (ардуины будут контролировать температуру и выводить циплят)
  • электростанция (солнечные и ветрогенераторы, актуаторы рефлекторов на пердуинах, самодельные зарядные устройства на них же)
  • насосная станция для перекачки и очистки воды, шобы само планировало расход и подогрев воды.
  • аптеко-больница с различным медицинским оборудованием с Алиэкспресса и запасом таблеток на год вперед
  • Отдельное помещение с ламинарным шкафом, уф-лампами, электрофорезом, ДНК-принтером и генетической пушкой для работ по генетике и селекции новых интересных видов растений.
  • Небольшая киностудия для производства художественных кинолент, предназначенных для аплоада через интернеты
  • Хакер-спейс для токарных и фрезерных работ, различной металлооботки Конечно, работа данных алтарей, равно как и само их существование, будет зависеть от наличия или отсутствия участников, которые смогли бы развивать данные направления деревни.

На данный момент я пытаюсь составить список вещей, который необходим для повседневной, но комфортной жизни. Но с минимумом затрат, поэтому секс-куклы за 5к зелени - мимо. Но вполне можно сделать секс-куклы из соломы. А откуда солома? Для производства соломы нужна продвинутая газонокосилка, что позволит обеспечить народонаселение не только секс-куклами, но и утеплить крышу и стены, что обеспечит всех теплом долгими зимами. Так что японским секс-куклам - нет, японским газонокосилкам - да.

Так вот, что нужно было бы ИМЕННО ТЕБЕ, включая уже описанное выше? Самый необходимый минимум для комфортной жизни?

 , ,

ruzisufaka
()

Соломенный ватник

Нам всем известна такая одежда как ватник. Относительно проста в изготовлении, хорошо защищает от морозов, имеет низкую стоимость. При желании можно взять готовое ватное одеяло и сшить из него себе «футболочку». Или даже штаны.

Отправляемся в 10-15-й века, а там:

Св. Бенедикт считал, что достаточно циновки, которая служила подстилкой, одеяла, пледа для ног и подушки. Монахи ордена фельянов спали на досках; премонстранты – тоже на досках, но слегка прикрытых соломой; братья-минориты строгого устава спали на голой земле или на досках, циновки же разрешались тем, «кто был менее крепкого склада». Оливетанцы спали на дощатом настиле без одеяла. Наиболее избалованные имели тюфяк (набитый соломой или сеном, иногда сухими листьями), который редко менялся, а также подушку (с соломой, волосом или перьями), шерстяное одеяло, иногда баранью шкуру (как у картезианцев), но никаких простынь, по крайней мере в самом начале.

Визитаторы выказывали недовольство: в таком-то монастыре они обнаружили шерстяные или льняные полотна; в другом – шкуры диких животных; еще в одном – разноцветное постельное белье (что в те времена было свойственно людям низшего сословия). Монахи Фонтевро имели право на саржевые простыни. Кроме того, визитаторы отмечали, что монахи прячут в постельных принадлежностях отдельные предметы. Аббат монастыря был обязан совершать частые «инспекции» (что, впрочем, предусматривалось и Уставом св. Бенедикта: LV, 33—34) и сурово карать виновных.

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

Про соломенные подушки я слышал, а про соломенные одеяла - не очень, но почему бы и нет? А если можно сделать одеяло из соломы, то почему бы и не сшить «ватник» из такого одеяла? Возможно с добвлением перьев и листьев, чтобы было помягче.

Вопрос: как загуглить технологии и прочие ДИАЙВАЙ соломенных ватников, как одежды для погоды в -40? Не мог же я первым это изобрести? Но вот как такое гуглить - совершенно непонятно.

 

ruzisufaka
()

А что кричать спортсмену, когда он тренируется?

Как подбодрить тренирующегося человека?

  • Ты молодец!
  • У тебя отлично получается!
  • Ты лучший!
  • Ты личность!
  • Ты победишь!

Больше ничего не придумал, но это максимальная банальность

 , ,

ruzisufaka
()

Как оформить веб-приложение без веба? Принципиально ново и модно?

Допустим, у меня есть какое-то веб-приложение. Допустим, я осознал тленность бытия, ненужность веб-технологий и решил удалить из него все похожее на HTML/CSS/JS(ON), равно как и web-специфику, вроде как Куков и Спамов. Что останется в итоге?

Мысли:

Если от веб-приложения отодрать HTML, то отображать UI уже нечем. Значит надо изобрести свое, скорее cli-based, чтобы сохранить принцип «один запуск - один запрос». Если делать полноценный GUI (или TUI), то надо изобретать уже сессии, этим можно закрыть вопрос с Cookie. В принципе, можно было бы сделать некий бинарник, который как-то запускать локально.

Так как большинство «контента» в веб-сайтах и веб-приложениях должно быть проиндексировано поисковиками, то веб-приложения оптимизируют «для чтения». Как минимум, это ваше REST API напрямую декларирует возможность чтения тех или иных URI, половина модных фреймверков начинается с описания роутинга для чтения тех или иных разделов. А нельзя ли как-то так сделать, чтобы не писать это? Тогда может быть и не нужен бинарник, который запускать локально? Каждый URI разложить по каталогам на файловой системе, внутри просто положить txt/pdf-файлы с контентом «для чтения». Но как постить новый контент?

А может быть можно порезать наше приложение как-то иначе? К примеру, в Android приложения порезаны на кучу компонетов, которые в свою очередь, порезаны на 4 класса: Активити (что видит пользователь), Сервисы (что работает в фоне), Бродкаст-Ресиверы (что принимает какие-то события и быстро завершается) и Контент-Провайдеры (то, что предоставляет свой контент и не занимается его отрисовкой). Последние - отличные претенденты на то, чтобы заменить вьюшки и при этом не писать код для отрисовки. Сервисы - для постинга нового контента. Активити - если сильно надо нарисовать вьюшку или страницу настроек.

А может быть какие-то интересные подходы из области VR или блокчейна?

В общем, как бы выглядело веб-приложение без веба?

Дисклеймер:

Тред предназначен для мозгового онанизма с целью создания принципиально нового языка программирования, принципиально нового нескучного дистрибутива и принциально нового нескучного политического строя. Готовые решения на общеизвестных языках или библиотеках не интересны в принципе, зато очень интересны принципы в крутых библиотеках или языках. Особенно интересны те, которые вызывают вопрос «что курили авторы».

 , ,

ruzisufaka
()

Многопользовательский режим в десктопных приложениях

Хотел было написать в /dev/, но по большей части это размышления и витания в облаках.

Онлайн-редакторы с редактированием текста или рисованием - давно не новость. Я про всякие гуглодоксы или блокноты https://pad.riseup.net/ - создаете сессию, раздаете ссылочки друзьям и можно писать один документ большим количеством рыл.

Но последнее время в большом количестве десктопного софта появляются фичи типа «коллаборейшен», начиная от софта для видеомонтажа, заканчивая программами для заметок (конечно, все это корпоративное, потому к Лайнаксу обычно никакого отношения не имеет). https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/MultiUserEditing/Overview/ - пример такого софта с поддержкой ЖМУ/Лайнакс. Еще веселее, когда появляется кривой и корявый софт, можно сказать в зачаточном состоянии, главная фича которого - этот самый «коллаборейшен», а уж что там оно должно было делать вообще - второй вопрос. Само собой, все это работает через облако вендора, стоит денег, причем по подписке (купить в сперморепозитории или мак-разделе сперморепозитория нельзя, Лайнакс-версий обычно нету вообще).

А теперь вопрос: почему в самой лучшей ОС (Лайнаксе) нету фичи, которая бы позволяла такое в каждой программе? На самом деле конечно такая фича есть, можно раздать доступ по ssh к своей розовой попке, внутри запустить tmux, после чего пердолиться во все тяжкие, если они не выходят за пределы консольки. А что с гуем? В самой лучшей ОС есть подыхающий протокол Х, в нем https://www.x.org/wiki/Development/Documentation/MPX/ - возможность заюзать несколько устройств ввода. Кто сказал, что устройства должны быть реальными и не быть удаленными друзяшками? Еще в самой лучшей ОС ЖМУ/Лайнакс есть такая штука как ARCAN: https://youtu.be/FgHMU7m9-I8 - это в том числе оконный менеджер с возможностью «расшаривать окошко по сети». Вопрос: почему никто не склеил эти две штуки?

Вопрос 2: в Ведроиде (основана на ЖМУ/Лайнакс) есть подсистема IME, проще говоря каштомные клавиатурки. Клавиатурки могут получить доступ к контексту приложения, стырить уже введенный текст в поле ввода, узнать его label/id и какую-то метаинформацию. Обычно используется это для того, чтобы тырить пароли, исправлять неправильно введенные слова и прочие радости жизни (о чем система Ведроид предупреждает при установке новой клавиатурки). Почему бы не сделать свою клавиатурку, с поддержкой облаков и многопользовательности, чтобы множество удаленных пользователей «работали» с единственным приложением? Приложение не обязано быть текстовым, в «клавиатурку» можно прописать хоткеи, чтобы вызывать те или иные фичи программы.

Вопрос 3: где и как выучиться на профессию «программист многопользовательских приложений»? Или самое время создавать свои собственные инфопродукты и инфокурсы по столь новому и востребованному направлению?

 

ruzisufaka
()

Хочу технический форум образца 2000 года

Скучаю по временам 200х годов, когда интернеты были по диалапу, дорогие, а в самих интернетах были только умные люди, со свободными взглядами, не фильтрующими свою речь, не знавшие слов «толерантность» и «инклюзивность».

Например, linux.org.ru. Можно было создавать треды про «прогу из одной строчки ни перл», можно было сраться в камментах и не бояться, что какой-то не самый умный человек побежить стучать модератору. В конце-концов, можно было просто пописать под анонимусом любые свои мнения. А что теперь? Теперь я сюда захожу раз в полгода, по полчаса вычесываю свои посты, модераторы все равно находят на что в них можно обидеться, а обижаюсь в итоге я и ухожу, обещая никогда возращаться. Но уйти некуда.

Раньше было море форумов и треды вида «С или С++ - что лучше?» цвели и пахли, пополняясь по десятку страниц в день. Это были отличные треды, посвященные политологии, сельскому хозяйству и историческим событиями. Но что будет, если сегодня создать такой тред?

  • Сегодня эти языки не нужны, ведь есть безопасный Rust
  • Иди в тред для новичков, не плоди ненужные треды!
  • А у Навального все равно хуже!
  • Найди уже себе работу и не пиши глупости
  • Сейчас придет модератор и выпишет тебе, удаляй тред пока можешь
  • Тред закрыт: флеймогонный топик, провокации
  • Тред закрыт: невозможно дать однозначный ответ
  • Тред закрыт: тред привлекает излишний интерес

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

У меня не осталось даже ресурсов для чтения. Сам ЛОР - как правило я открывал все треды новостей с главной, хотя по большому счету, сам этот ваш слюнипс - мне был совершенно не интересен. Но был дух молодых, веселых и умных людей. А сейчас куда податься? Где мне хотя бы почитать умных и креативных технарей?

Алсо, наверняка я что-то нарушил и этим тредом. Даже тег «поиск странного» мне пришлось влепить, так как на тег «поиск пути» у меня нехватило прав. Даже тут, в такой мелочи, затыкают рот.

 ,

ruzisufaka
()

Как уговорить работодателя разрабатывать OpenSource-проект?

Очень часто в интернетах слышу тезис «теперь я пишу только бесплатный софт, за него больше платят». Да и мне это интереснее: наработки можно таскать из проекта в проект, вне зависимости от работодателя, его банкротства или политики, такое можно показывать в своем портфолио, да и просто допиливать для себя в свободное время в качестве пет-проджекта. Но на практике, когда я говорю что-то вроде: «давайте сделаем открытый проект, всю вашу специфику вынесем отдельно, а базовую функциональность вынесем в некую общую библиотеку, сделаем ее с открытым исходным кодом, пусть лежит на гитхабе», то на меня смотрят как на врага народа, иногда даже начинают орать что-то вроде «да я тут тебе бабки плачу, а ты хочешь это всем бесплатно раздать?».

И вот собственно вопрос: как писать бесплатный код, получая за это больше денег, чем за обычное рабство?

 , ,

ruzisufaka
()

RSS подписка на новые темы