Страница 2

Красота для LispWorks

posted on 2025-01-31

Красота для LispWorks

Когда я впервые увидел LispWorks IDE, она показалась мне довольно непривычной и допотопной что ли. Там нет многих привычных вещей из Emacs. Но оказывается, если приложить усилия, то можно сделать из этого IDE конфетку. Но вероятно надо быть прямо очень мотивированным к тому, чтобы писать код именно в интерфейсе LispWorks, а не подключившись к нему из Emacs.

Недавно на Reddit анонсировали библиотеку расширений для LispWorks - lw-plugins. Она добавляет сайдбар с деревом папок, кастомные иконки, фолдинг докстрингов и многое другое. На скриншоте к моему посту демо некоторых фич.

Я добавил этот проект в "lispworks" дист на Ultralisp.org и теперь расширения можно установить легко и просто с помощью Quicklisp.

Приятно, когда люди вкладывают душу в подобные проекты.

Обсудить пост в Telegram канале.

Maxima скомпилировали для запуска в браузере!

posted on 2025-01-29

Maxima скомпилировали для запуска в браузере!

Maxima это программа для работы с математическими выражениями. Примечательно то, что эта система написана на Common Lisp.

И вот недавно на Reddit появилось сообщение, что Maxima удалось скомпилировать в WebAssembley так что теперь её можно запустить прямо в браузере.

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

http://maxima-on-wasm.pages.dev/

Что в этой истории примечательного? То что компиляция в WebAssembly расширяет возможности использования Common Lisp. Я пока не погружался в детали того как это работает, но судя по тому, что в данном проекте использовался ECL (Embeddable Common Lisp), могу предположить, что Maxima транслировали в C, а затем уже собрали в WebAssembly.

Обсудить пост в Telegram канале.

Прототип Static Site Bot

posted on 2025-01-28

Прототип Static Site Bot

Возможно некоторые из вас помнят, как почти год назад я писал про идею сервиса, который умеет транслировать контент из телеграм канала в статический вебсайт. Если не помните, то вот ссылка: https://40ants.com/ru/posts/telegram-reposter/

Основная фишка этой идеи в том, что поисковые роботы будут хорошо индексировать статический сайт. Уже существует довольно много "виджетов" для встраивания телеграм канала в сайт, но все они не видны для поисковых роботов. А вот статические странички будут индексироваться очень хорошо, и приводить к вам в канал новых подписчиков.

И вот, не прошло и года, как я нашел время и собрал прототип. Пока что он работает только для этого канала и транслирует все посты в блог https://40ants.com/ru/posts/

Для того, чтобы превратить мой прототип в полноценный продукт, предстоит ещё много работы, а пока что буду оценивать его полезность на своем канале. Кстати, если у кого-то есть идеи, как посчитать переходы с сайта в Telegram канал, пишите в комментариях, буду рад любым советам.

Обсудить пост в Telegram канале.

Почему GC SBCL может не освобождать память?

posted on 2025-01-18

Последнее время я работаю над новой версией фреймфорка для создания Telegram ботов. Этот фреймворк использует библиотеку реализующую акторы. И нем обнаружился досадный баг, который я намеревался исправить. Однако в процессе исправления оказалось, что оно может повлиять на производительность. Хорошо что у автора отыскался benchmark с помощью которого можно проверить скорость работы актора.

К моему удивлению этому бенчмарку не хватало 4G памяти для хоть сколько-нибудь длительной работы. Более того, если бенчмарк запустить ненадолго, то оказывалось, что после его работы процесс "толстел" на 2.5G и не отпускал эту память до тех пор, пока не сделаешь вручную (sb-ext:gc :full t).

Это поведение показалось крайне странным. Как вообще можно использовать это язык в production, если он не отпускает память!?

Так я оказался втянут в исследование того, почему garbage collector SBCL не очищает кучу мусора оставшуюся после теста.

Read more...

Matrix Badger для GitHub

posted on 2024-04-05

Сегодня расскажу ещё про один мой проект, который так и не превратился в продукт. Правда в отличие от 12forks.com, этот проект жив до сих пор. Проект связан с GitHub и полезен тем, кто развивает фреймворк или библиотеку, предназначенную для разных платформ, языков программирования или операционных систем.

Read more...

Помощник для Opensource разработчиков

posted on 2024-03-21

Сегодня хочу рассказать про один из своих прошлых проектов. Когда-то у меня появилась идея, как упростить себе обработку большого числа пулл-реквестов и issue в своих opensource проектах. И тогда я сделал сайт 12forks.com (сейчас уже недоступен, как выглядела главная страница можно глянуть через WebArchive).

Read more...

Результаты хакатона ЛЦТ 2023

posted on 2024-03-09

В последнем видео на YouTube канале я рассказываю о проекте HrZero, который мы с одним товарищем делали на хакатоне Лидеры Цифровой Трансформации осенью 2023. Задача была создать сервис онбординга сотрудников, но мы, как всегда постарались сделать больше, чем от нас требовалось. В результате, в нашем сервисе онбординга появилась мини-игра, позволяющая новому сотруднику запомнить своих коллег. Эта идея нам так понравилась, что решили сделать из неё отдельный проект. Так появился https://mememo.ru.

Read more...

Идея трансляции Telegram канала в статический сайт

posted on 2024-03-05

Привет, друзья! Сегодня я хочу поделиться с вами интересной идеей, которая пришла мне в голову недавно. Я сейчас вникаю в то, как продвигать свои проекты, а через них и Common Lisp. Ну, знаете, SEO там всякий, маркетинг. И вот что я придумал!

Read more...

Сайт со сказками

posted on 2024-02-26

Продолжая тему моих неудачных проектов, хочу рассказать ещё об одном сайте – Skazorama.ru.

Идея этого проекта была в том, чтобы сделать бесконечную ленту сказок, которые можно почитать детям. При чём, открывая сайт на телефоне, родитель видел новые сказки, которые ещё не читал своему ребёнку. Если сказка не понравилась, то её можно было просто промотать, и вслед за ней подгружалась следующая. При этом сервис воспринимал такую промотку как "dislike" и в будущем я рассчитывал прикрутить ML, чтобы рекомендовать именно те сказки, которые с большей вероятностью понравятся ребёнку.

Read more...

AllMyChanges.com

posted on 2024-02-23

Мне всю жизнь нравится что-то придумывать и конструировать. Просто не могу сидеть без дела. Поэтому я постоянно пишу какие-то небольшие проектики помимо основной работы. Но долгое время я не понимал, что чтобы проект "полетел", нужно вкладывать хотя бы половину времени в его продвижение - каст-дев, маркетинг, SEO. Сегодня, и в нескольких следующих постах хочу рассказать вам про мои неудачные проекты.

Read more...


Created with passion by 40Ants