posted on 2025-02-14

Недавно я писал про то, что сделал чат-бота, который умеет публиковать посты из телеграм канала на сайте. Основная цель этого бота в том, чтобы привлечь в канал пользователь из органического поиска. SEO штука не быстрая, пока не понятно насколько хорошо это работает, ведь сначала надо чтобы поисковые боты проиндексировали новый контент, добавили его в выдачу, да и над раскруткой сайта в целом тоже надо работать.
posted on 2025-02-12

В одном из первых постов, я писл что 40Ants это холистическое IT агенство. И я не ошибся. Сегодня я получил подтверждение того, что "всё связанно" (так кстати, и Дирк Джентли говорил).
posted on 2025-02-11

Я не знаю, может это со мной что не так, но иногда мне приходят в голову идеи, реализация которых возможно никому на свете кроме меня и не нужна. Вот одна из таких идей.
posted on 2025-01-31

Когда я впервые увидел LispWorks IDE, она показалась мне довольно непривычной и допотопной что ли. Там нет многих привычных вещей из Emacs. Но оказывается, если приложить усилия, то можно сделать из этого IDE конфетку. Но вероятно надо быть прямо очень мотивированным к тому, чтобы писать код именно в интерфейсе LispWorks, а не подключившись к нему из Emacs.
posted on 2025-01-29
Maxima это программа для работы с математическими выражениями. Примечательно то, что эта система написана на Common Lisp.
posted on 2025-01-28

Возможно некоторые из вас помнят, как почти год назад я писал про идею сервиса, который умеет транслировать контент из телеграм канала в статический вебсайт. Если не помните, то вот ссылка: https://40ants.com/ru/posts/telegram-reposter/
posted on 2025-01-18
Последнее время я работаю над новой версией фреймфорка для создания Telegram ботов. Этот фреймворк использует библиотеку реализующую акторы. И нем обнаружился досадный баг, который я намеревался исправить. Однако в процессе исправления оказалось, что оно может повлиять на производительность. Хорошо что у автора отыскался benchmark с помощью которого можно проверить скорость работы актора.
posted on 2025-01-18
CL-USER> (sb-ext:search-roots (loop repeat 3 collect (get-random-dynamic-object))
:print :verbose)
Path to "MODILETTERDA":
6 70031144DF [ 2] SB-IMPL::*ALL-PACKAGES*
5 700518C41F [ 146] a (COMMON-LISP:SIMPLE-VECTOR 513)
5 7005281513 [ 8] #<PACKAGE "CL-UNICODE">
5 70053D8533 [ 2] a SB-IMPL::SYMBOL-TABLE
5 70054FB6F7 [ 1] a cons = (# . #)
5 70056F16EF [ 34] a (COMMON-LISP:SIMPLE-VECTOR 307)
5 7005919B9F [ 2] CL-UNICODE::*NAMES-TO-CODE-POINTS*
5 7005B1CBC3 [ 6] #<HASH-TABLE :TEST EQUALP :COUNT 33698 {7005B1CBC3}>
5 700D21000F [38446] a (COMMON-LISP:SIMPLE-VECTOR 83559)
; No values
;; Попробуем проверить действительно ли такой ключ есть в словаре:
CL-USER> (gethash "MODILETTERDA" CL-UNICODE::*NAMES-TO-CODE-POINTS*)
71199
Это лишь пример. Но по объектам созданным в результате бенчмарка, search-roots ничего не выдавал, что говорило о том, что эти объекты "висят в воздухе" и GC вполне мог бы их удалить.
posted on 2024-04-05
Сегодня расскажу ещё про один мой проект, который так и не превратился в продукт. Правда в отличие от 12forks.com, этот проект жив до сих пор. Проект связан с GitHub и полезен тем, кто развивает фреймворк или библиотеку, предназначенную для разных платформ, языков программирования или операционных систем.
posted on 2024-04-05

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