memory heap
343 subscribers
2.31K photos
471 videos
52 files
2.94K links
science ∩ art = wonder

all memory blocks here are allocated by @a_v_p

GitHub: https://github.com/artyom-poptsov
Mastodon: https://fosstodon.org/@avp

https://memory-heap.org/~avp/
Download Telegram
Оказывается, некоторые утилиты для сжатия данных в Unix поддерживают многопоточность, что обеспечивает большую скорость сжатия на многопоточных системах:
https://www.baeldung.com/linux/xz-compression

Например, через утилиту xz можно сжимать данные в 10 потоков так:
xz -v -T10 data.csv

Где -v говорит о том, что должен быть подробный вывод о прогрессе сжатия, а -T10 говорит использовать 10 потоков.

#gnu #linux #tools
2
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
Написали на кадровики статью о том, как мы починили осциллограф Hantek DSO5102P.

Исходные файлы (в том числе, 3D-модели ручек) можно найти в статье.

#projects #tools #repair
4
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
История получила неожиданный поворот — нашу статью про починку осциллографа частично перевели на английский и опубликовали на hackaday, усилиями пользователя Arya Voronova:
https://hackaday.com/2024/01/02/explosion-scarred-scope-gets-plastic-surgery-hackerspace-style/

#projects #tools #repair
🔥6
tran — Консольная программа для транслитерации текста:
https://github.com/kilobyte/tran

Пример использования:
$ echo "Привет, Мир!" | tran 
Privet, Mir!


#linux #cli #tools
🔥6
Восстановил, как мог, большой штангенциркуль в хакерспейсе CADR. Как часто бывает, забыл сделать фото перед началом полировки лицевой стороны (с делениями), но по обратной стороне вполне видно, в каком состоянии был инструмент. Полировка выполнена в основном мелкой шкуркой с зернистостью 240 (для вспомогательных поврехностей), потом поверхности отполированы пастой ГОИ, при этом рабочие поверхности я старался обрабатывать аккуратно, чтобы не сильно пострадала точность. Те части, которые уже были поедены ржавчиной и с царапинами, отполировать пришлось в любом случае. В результате могу сказать, что читаемость делений пастой ГОИ удалось вернуть.

Дополнительно вырезал из пружинной стали отсутствующие пружины, поджимающие каретку.

#tools
🔥2🕊1
Наконец-то появилась штука наподобие Doxygen для Scheme, которая парсит комментарии и docstrings из кода в формате Texinfo и создаёт на базе этого документацию по API проекта:
https://luis-felipe.gitlab.io/guile-documenta/

Автор Luis Felipe.

#guile #scheme #tools
3
#guix #guix_patches #tools

Упаковал bin-graph в GNU Guix — патч пока на рассмотрении:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72957

Увидел ссылку на проект на Hacker News, подумал, что полезная штука.
Учебник по системе сборки make:
https://makefiletutorial.com/

#tools
🔥1
Как команда проверки орфографии spell в Unix работала на компьютере PDP-11 с 64КБ ОЗУ:
https://blog.codingconfessions.com/p/how-unix-spell-ran-in-64kb-ram

Перевёл для вас вступление к статье:

Как можно уместить словарь объёмом 250КБ в 64КБ ОЗУ, и при этом иметь возможность делать быстрый поиск? Для справки, даже при использовании современных техник сжатия данных (вроде gzip -9), невозможно сжать подобный файл меньше, чем в 85КБ.

В 1970-х годах, Дуглас Макилрой (Douglas McIlroy) столкнулся с именно этой проблемой, когда писал программу проверки орфографии для Unix в AT&T. Ограничения компьютера PDP-11 означали, что весь словарь целиком должен помещаться в жалкие 64КБ ОЗУ. Казалось бы, невозможная задача.

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

История команды spell из Unix — это больше, чем просто любопытная страница истории. Это мастер-класс в области инженерного искусства в условиях ограничений, дающий нам урок, как анализировать проблемы из её базовых принципов, как использовать преимущества математических идей, и как создавать элегантные решения, которые работают в условиях строгих ограничений ресурсов.

https://en.wikipedia.org/wiki/Spell_(Unix)

#unix #linux #tools #history
🔥3
Qualcomm выпустили свой линковщик под названием ELD, нацеленный на встраиваемые системы:
https://www.qualcomm.com/developer/blog/2025/04/eld-new-open-source-embedded-linker-tool-for-embedded-systems

Распространяется под лицензией BSD-3. По возможностям обещают:
- Полная совместимость со стандартами GNU.
- Поддержка архитектур AArch32 и AArch64, Qualcomm Hexagon NPU, RISC-V.
- Поддержка возможностей, подобных таковым в GNU-совместимых линковщиках: частичная линковка, динамическая линковка, статическая линковка, оптимизация на этапе линковки.

Дополнительно:
- Легкочитаемые файлы линкера.
- Лёгкое воспроизведение проблем линковки.
- Расширенные опции диагностики.

Репозиторий:
https://github.com/qualcomm/eld

#tools
🔥1
#linux #tools

Ещё узнал про утилиту pscircle — она строит красивую диаграмму процессов в системе.
🔥61👀1
Fabien Sanglard, "Driving Compilers":
https://fabiensanglard.net/dc/index.php

Интересная статья про компиляторы и процесс компиляции программ.

#programming #tools
1
Nexi's channel
Выпущен Yggtray 0.1.13 > Теперь мастер первичной настройки должен (вероятно) работать на дистрибутивах, отличных от Arch > Добавлена проверка существования конфигурационного файла Yggdrasil и запрос на его создание при необходимости https://github.com/the…
Одна из крутейших возможностей yggtray, на мой взгляд — это "Peer Discovery". Можно получить список публичних пиров, добавленных в официальный репозиторий Yggdrasil, пропинговать их для определения Latency и затем прямо отсюда добавить самых быстрых пиров в конфиг. Ну, или выгрузить пиров с замерянной Latency в CSV-файл.

#yggdrasil #mesh #tools
🔥3
WTFfmpeg — команда, которая использует LLM для преобразования естественного текста на английском в команду ffmpeg с необходимыми аргументами:
https://github.com/scottvr/wtffmpeg

Пример использования (с GitHub):
$ wtff "convert my_video.avi to mp4 with no sound"

Loading model... (this may take a moment)
Model loaded. Generating command...

--- Generated ffmpeg Command ---
ffmpeg -i my_video.avi -an -c:v libx264 my_video.mp4
------------------------------
Execute this command? [y/N] y

Executing: ffmpeg -i my_video.avi -an -c:v libx264 my_video.mp4

ffmpeg version N-100029-g040e989223 Copyright (c) 2000-2020 the FFmpeg developers
...


Представляю себе следующий сценарий:
1. Создать крайне полезную утилиту с очень обширным и сложным набором опций.
2. Подождать.
3. Люди начинают активно пользоваться утилитой и страдают.
4. Люди тренеруют нейронку, чтобы она страдала за них.
5. МЫ ЗДЕСЬ.

Из подобных полезных утилит могу вспомнить ещё openssl. Ждём, когда появится WTFopenssl?

(Если что, ffmpeg уважаю, хорошая утилита, ползуюсь регулярно — правда, необходимые опции приходится частенько искать в справке и интернете.)

#linux #tools
👀1
Купил себе новую "игрушку": Hantek DSO2D15.

Визуализация информации для меня играет большую роль — и осциллограф здорово помогает в моих (пока что достаточно простых) задачах.

#tools
🔥5