Получи случайную криптовалюту за регистрацию!

~/Documents/journal

Логотип телеграм канала @documentsjournal — ~/Documents/journal D
Логотип телеграм канала @documentsjournal — ~/Documents/journal
Адрес канала: @documentsjournal
Категории: Технологии
Язык: Русский
Количество подписчиков: 393
Описание канала:

Пишу о своих проектах.
(в основном LISP и около него, возможно наличие следов NixOS)
- https://corpix.dev
- https://twitter.com/iamcorpix
(рекламу не размещаю)

Рейтинги и Отзывы

2.00

3 отзыва

Оценить канал documentsjournal и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

1

2 звезд

1

1 звезд

1


Последние сообщения

2021-12-15 21:48:55 Написал простенький docker registry на go.
В основном сделано для упрощения распространения контейнеров на NixOS системы, где конфигурация системы и деплоймент контейнеров производятся через nix. Но я заложил возможность добавить дополнительные provider'ы данных в будущем.

Как этот реестр использовать:
- сохраняем (через docker save) один или несколько контейнеров в tar.gz
- распаковываем этот tar.gz в отдельную директорию (например ./example)
- добавляем контейнер в конфигурацию local provider как указано в readme (config.yml) в виде "example:latest": "./example"
- запускаем unregistry с обновленной на предыдущем шаге конфигурацией
- можем сделать docker pull 127.0.0.1:5000/example:latest

Репозиторий https://github.com/corpix/unregistry
Хайлайты по реализации:
- regexp'ы для матчинга endpoint'ов
- обработка запросов
- реализация обработчиков local provider
- preload и индексирование данных о слоях
184 viewsedited  18:48
Открыть/Комментировать
2021-11-04 22:06:32
Экспериментирую с DSL для описания SQL в виде s-expressions.
На картинке пример SELECT, который поддерживает только указание колонок и таблицы.
В процессе метания между диалектами схемы и common lisp переписывал свой клиент к clickhouse по нескольку раз и мне это немного надоело, хочу попробовать упростить себе жизнь, сделав несколько макросов, которые позволят расширять DSL без изменения кода самой библиотеки.
На подобный подход вдохновило изучение исходников https://common-lisp.net/project/iterate/

Полный листинг: https://github.com/corpix/clx/blob/27b41762ea82377452f14e5fc60fa6a674b8f7ad/src/sql.lisp#L9

Кстати, у меня есть twitter, где я пишу почаще https://twitter.com/iamcorpix
337 viewsedited  19:06
Открыть/Комментировать
2021-04-26 09:12:05 Сделал генератор парсеров, правила для которого описываются в стиле вдохновленном BNF (примеры в последней ссылке, там тесты)
https://github.com/corpix/gerbilstd/blob/109484967695565607da43b1b2032810a97cbd1b/encoding/bnf.ss
https://github.com/corpix/gerbilstd/blob/109484967695565607da43b1b2032810a97cbd1b/encoding/bnf-test.ss

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

Реализовано под https://cons.io (называется Gerbil Scheme, это мета-диалект на Gambit-C). Перебрался на него с Racket пока искал более быструю реализацию Scheme.
217 views06:12
Открыть/Комментировать
2021-02-14 22:35:57 Привет. Соскучались по мне?
Последний год я не знаю что сюда писать и наблюдаю как народ постепенно отписывается, от чего мне немножко грустно. Сейчас размышляю на тему смены формата.

Скорее всего я сосредоточусь на диалектах Scheme и лиспе, поскольку это именно те технологии которые драйвят меня последние пару лет, все остальное выглядит как серая рутина, в которой я пока утопаю.

Обещать ничего не хочу, но у меня определенно есть желание вернуться к ведению канала в будущем.
466 views19:35
Открыть/Комментировать
2020-01-12 00:22:22 Довольно давно использую в качестве читалки для книг на десктопе zathura. Это такая минималистичная читалка, хорошо подходящая пользователям тайловых оконных менеджеров, управляемая с клавиатуры.
Я очень люблю темные темы всюду. Белый фон в каком-нибудь pdf'е, открытом в вечернее время суток, мягко говоря, раздражал. Оказывается можно получить "темную тему" довольно не хитрой конфигурацией:

$ tail -n 2 .config/zathura/zathurarc
set recolor
map recolor

После этого все документы будут открываться с инвертированными цветами. Выключить/включить можно с помощью Ctrl+i.

UPD: справедливости ради стоит заметить что это не прямое инвертирование значений цветов в документе, перед этим (как минимум) все страницы сводят к черно-белой цветовой палитре, вот пример.
1.4K viewsedited  21:22
Открыть/Комментировать
2020-01-11 15:30:07 https://www.multipath-tcp.org/
MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows.

Поговаривают что в 5.6 версии ядра начнется внедрение.
Глянул демку, выглядит впечатляюще.
925 views12:30
Открыть/Комментировать
2020-01-09 08:51:17 Обновление Firefox 72.0.1 и 68.4.1 с устранением критической 0-day уязвимости https://opennet.ru/52155/
247 views05:51
Открыть/Комментировать
2020-01-08 18:00:18
https://fauux.neocities.org/
https://lainzine.org/

LET'S ALL LOVE LAIN
678 views15:00
Открыть/Комментировать
2020-01-06 02:22:42 https://twitter.com/rainerjoswig/status/1213484071952752640
Rainer Joswig расчехлил Lisp Machine, занятная система была (о ней ещё в the unix haters писали, кстати советую)
625 views23:22
Открыть/Комментировать
2020-01-06 02:09:43 Любителям емакс и org:
Я настроил синк календаря в org mode с тудушками(правда для этого понадобилось использовать форк org-caldav, именно по этой причине нужен :load-path)

Форк: https://github.com/grauschnabel/org-caldav#syncing-todo

Конфиг:
(use-package org-caldav
:load-path "~/.emacs.d/checkouts/org-caldav"
:ensure t
:config
(setq org-caldav-url "https://caldav.example.com/xxxxxx")
(setq org-caldav-calendars
'((:calendar-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
:files ("~/org/calendar/personal.org")
:inbox "~/org/calendar/personal-inbox.org")))
(setq org-agenda-files '("~/org/calendar/"))
(setq org-caldav-files org-agenda-files)
(setq org-caldav-sync-todo t)
(setq org-icalendar-timezone "Europe/Moscow")
(setq org-icalendar-date-time-format ";TZID=%Z:%Y%m%dT%H%M%S")
(setq org-icalendar-include-todo t)
(setq org-icalendar-use-deadline '(event-if-todo event-if-not-todo todo-due))
(setq org-icalendar-use-scheduled '(todo-start event-if-todo event-if-not-todo)))

(работает норм с radicale)
501 views23:09
Открыть/Комментировать