uk
Feedback
Alexander Granin - Lambda Calculus MC

Alexander Granin - Lambda Calculus MC

Відкрити в Telegram

Канал Александра Гранина Осмысление событий в Haskell, ФП, в АйТи. Анонсы. Мысли. Стихи.

Показати більше
202
Підписники
Немає даних24 години
Немає даних7 днів
Немає даних30 день
Архів дописів
В новом видео на моем канале я рассказываю о проекте Zeplrog (zero-player roguelike game), и как прагматичное программирование на типах (Pragmatic Type-Level Design) помогает в реализации этой игры. https://youtu.be/Y1rc8jFYSAA

Я посетил подкаст Подлодка в третий раз! Domain-Specific Languages, они же DSLs, они же предметно-ориентированные языки. Одна из наиболее важных техник дизайна ПО. Говорим о том, где и как применять, какие бывают, какие есть примеры, и что нам стоит построить собственный DSL. А еще создавать DSLs - очень интересно и очень фаново. Равно как и слушать подкаст! https://podlodka.io/343

В пятом выпуске "Прогулок айтишника" я гуляю по парку "Звезда" в Стамбуле, Турция. Тема выпуска: фантастика, которую я пишу, и произведения, которые на меня повлияли. https://youtu.be/6VR0yDt46Uw?si=JkHzAFlXeqOCVZgw

Technical writing is paradoxical: Write with expertise, revise with ignorance.

🏅Nobel Prize 2024🏅: New Diversity and Inclusion Standards To promote diversity and inclusion across all categories of the Nobel Prize, the Nobel Committee is thrilled to introduce the following new guidelines: General Criteria 1⃣ Pseudo-Scientist Representation: At least one nominee per category must have authored a research paper in a non-peer-reviewed journal, preferably on websites ending in ".blogspot.com" or ".wordpress.com". 2⃣ Flat Earth Community: Each category must include a nominee who believes the Earth is flat and can provide elaborate YouTube videos as evidence. 3⃣ Intellectual Disability: A nominee in any scientific category should preferably not understand the basics of the scientific method but must excel in passionately arguing on social media platforms. 4⃣ Astrologers: To represent all scientific perspectives, every shortlist for Physics must include at least one astrologer. 📖 Literature Category ➡️ Tweetologists: Writers who have exclusively published their work in 280 characters or less on Twitter are now eligible for the Literature Prize. 🔫 Peace Prize ➡️ Online Trolls: Individuals who have fostered discord and managed to survive multiple bans on social media platforms qualify for the Peace Prize as masters of "reverse psychology." ⚗️ Chemistry ➡️ Alchemists: Individuals attempting to turn base metals into gold must represent at least 15% of nominees. 🔬 Physics ➡️ Mixologists: Bartenders are now considered for their groundbreaking "liquid solutions" and innovative use of umbrellas. 💊 Medicine ➡️ Snake Oil Salesmen: At least one nominee must have attempted to cure a major disease using only essential oils or healing crystals. 📈 Economic Sciences ➡️ Cryptocurrency Speculators: Anyone who has made or lost a fortune trading meme-based cryptocurrencies is eligible for the Economics Prize. --- The Nobel Committee believes these changes will foster a more inclusive, if not entirely accurate, representation of human achievement.🎆🎆☀️❤️ (c) @graninas & 🤖

В четвертом выпуске "Прогулок айтишника" я изучаю парк королевы Сирикит и говорю на следующие темы: - Второе издание моей книги Functional Design and Architecture - Как язык Haskell чувствует себя сегодня - Технические подробности моей методологии Functional Declarative Design - Почему я не считаю системы эффектов хорошим подходом Цель этих походов - не дать моей речи деградировать. https://youtu.be/ab-LHjEcWYw

Гуляю по парку Чатучак в Бангкоке и рассказываю всякое ("Прогулки айтишника", третий эпизод). Сегодня говорю о своей книге FDaA и о ситуации в Haskell. https://youtu.be/rcja7QhcRPk?si=EMw_PElC15IlN2uW

Гран-отель Гранина: бесконечно лучше, чем Гранд-отель Гильберта! Наш девиз: “Заселим не всех, но каждого!” 🏩 ✅ В нашем отеле вас почти не беспокоят, в отличие от отеля Гильберта, в котором гостей то и дело переселяют в другие номера. ✅ Мы принимаем даже автобусы с несчетным количеством гостей, от которых отказались в отеле Гильберта. Как работает наш отель ➤ В нашем отеле, как и в отеле Гильберта, ∞ количество номеров: 0й, 1й, 2й, 3й… Когда в отеле заканчиваются номера, мы также принимаем гостей. Но в отличие от отеля Гильберта, у нас другой алгоритм. Каждый новый гость при регистрации выбирает случайное число ℕ от 0 до ∞. Это будет его номер. Наш гость может воспользоваться нашим внутренним мгновенным метро 🚇, чтобы добраться до своего номера. По прибытии, гость предлагает прежнему постояльцу выбрать случайное число 𝕄 от ℕ+1 до ∞ и переселиться туда, повторяя процедуру с прежним постояльцем. Остальные постояльцы могут расчитывать на длительный отдых 🛌, хотя, вероятно, к каждому кто-нибудь постучится, но вряд ли это будет так уж скоро. ➤ Бывают, конечно, и очень капризные гости, чьи имена состоят из бесконечного числа символов. 🧍‍♂️: ABBABABAABABBB... 🕺: ABAAAABBBABBBB... 👨‍🦼: BBBABABBBABBBB… Эти гости непременно хотят, чтобы их комнаты как-то соответстовали их именам, и очень возмущаются, если их заселять по рандомному алгоритму. Но и на этот случай мы знаем что делать. Пусть имена состоят из “0” и “1” (а если нет, – возможно перевести любое имя бинарный вид). Каждому капризному гостю мы выдаем стартовый индекс 𝕂=1. Именно столько первых цифр своего имени гость считает за номер в гостинице. Если имя “1011”, гость с индексом 𝕂=1 отрпавляется в комнату 1 в двоичной и десятеричной системе исчисления. В случае если номер занят обычным посетителем, то тот переселяется в следующий случайный номер по обычному алгоритму. Если прежний постоялец – это капризный гость, он увеличивает свой индекс 𝕂 на 1 и пересчитывает номер. Для гостя “1011” с индексом 𝕂=2 новая комната должна быть 10 в двоичной системе, 2 в десятеричной. Таким образом, мы даже капризным гостям находим уголок в нашем отеле. 👉 Мы, конечно, понимаем, что не способны разместить всех капризных гостей. Но у нас один вход в отель, одна стойка регистрации и один консьерж. Сколько бы гостей ни прибыло, они будут проходить регистрацию по одному, и пусть они сами между собой решают, кто за кем стоит. Заселим не всех, но каждого! Добро пожаловать в Гран-отель Гранина! 🏩

Примерно раз в год или около того я даю себе зарок перестать делать противоречивые высказывания. Обычно я начинаю вести более позитивную и общественно полезную деятельность, ну по крайней мере, с моей точки зрения. Пытаюсь быть вежливым. Но через некоторое время снова обнаруживаю себя в этом состоянии, когда внутри накапливается ощущение какой-то несправедливости и куча острых мнений обо всем вокруг. В этом состоянии я могу писать очень хлестко, провокационно, местами даже изворотливо, и на добрую половину правдиво. Получается, очевидно, интереснее, чем когда я в более мирном состоянии. Ну а потом материал без тени сомнений публикуется и, как правило, попадает в нерв той группе людей, кому неявно или явно, заслуженно или нет, был адресован. Начинаются споры, рождаются мемы, люди приходят к разным мнениям: кто-то очень соглашается, кто-то выступает резко против. Отклик всегда очень сильный. Врагов я себе нажил ого-го сколько, да и репутацию смутьяна тоже (а нередко и похуже репутацию). Есть такое: я и смутьян, и спорщик, и ради красного словца на последствия могу махнуть рукой. Очень уж это естественным образом получается, довольноню незаметно. Такие смутьяны, конечно, в сообществе не слишком уживаются, и вполне может соломинка надломиться, и из сообщества тебя попросят. Надо сказать, что здесь желание высказаться, озвучить то, что накопилось, и выпустить пар первично. Некомпенсированный и неизлеченный ресентимент из прошлого. Я ранимый был всегда, вот причина, и мнительный стал со временем. И желание справедливости гипертрофированное. Причем, это в блогопространствах у меня такая сущность отросла, а в жизни я совсем другой человек. И в игровом Ютуб-канале я белый и пушистый, всех хвалю и всех веселю. Да и обучающий материал я от ерунды вычищаю постоянно, там негативу и смутьянству не место. Примерно года полтора назад я давал себе зарок стараться нести позитив. Только фальшивый он получался, позитив этот, пресный, как бумага жеваная. И мало полезный, на самом деле. И вот у меня новый цикл борьбы со своим внутренним смутьяном. Который, смутьян этот, в том числе, является защитной реакцией моей психики от тяжести бытия. Палка о двух концах: если смутьяна подавить, внешне это будет позитив, а работа над материалами начнет страдать, потому что начнут появляться нескомпенсированные мысли "кому это надо, все уже рассказано до нас, все равно не оценят, и еще побороться придется, а работы вал, может, я лучше в игрушки поиграю" (ложность или правдивость мыслей обычно аргументации не поддается). А не подавлять, - так начинаешь писать, что думаешь, получается честнее, ярче, меметичнее, но деструктивнее в сумме. Ну и что говорить, я в состоянии смутьяна лучшие свои афоризмы придумываю. Он, зараза, где-то в моем творческом начале живет и хорошо там себя чувствует. Положительные моменты в моей психике тоже есть. Я депрессии не чувствую, и предпосылок к ней не вижу. Выгорание - да, случалось, но не депрессия. Ситуация сложная. Рационально я понимаю стратегические риски смутьянства. Я в целом за позитив и рационализм. Но иррациональное для творчества необходимо, а негативное дает жизненный опыт, так необходимый художнику. Но стоит этого джинна из бутылки выпустить, как обратно уже не хочет. Вот так я и живу. P.S. Давайте посмотрим, смогу ли я за полгода-год измениться к лучшему. Критерием успеха будет, если я смогу восстановить утерянные связи и смогу исправить свою подмоченную репутацию.

Начал публиковать обновления книги Pragmatic Type-Level Design. Что сделано: - переписана глава 1; - предыдущий материал будет переработан, чтобы попасть в следующие главы; - репозиторий с кодом переработан, теперь он понятный и удобный; - код и примеры улучшены. Работаю я над книгой интенсивно, каждый день по несколько часов, но все равно на написание одной главы уходит более двух месяцев. А иначе такие книги и не пишутся. https://leanpub.com/pragmatic-type-level-design Chapter 1: Emergent type-level design 1.1 Approaching the type-level design 1.1.1 Types and values 1.1.2 Pragmatic Type-Level Design 1.2 The foreshadowing of type-level design 1.2.1 Basics of generics 1.2.2 Basics of type classes 1.2.3 Design principles 1.2.4 Basics of type-level literals 1.3 Summary

​​По случаю моего 37-го дня рождения, случившегося вчера, 30 июля, я проведу большой стрим сегодня. Обсудим много чего: - Путешествия (Таиланд, Вьетнам, Малайзия, ОАЭ) - Творчество - Книги и программирование Покажу разные фотографии из путешествий, поговорим о том, что происходит, и как мир изменился за последние полгода. 21:00 по тайскому и новосибирскому времени, GMT+7 В YouTube: https://youtube.com/live/MU2q_AcgVYc?feature=share В TikTok: по расписанию Буду рад встрече!

Раньше были гарики. Ныне будут граники. (А спонсор внезапного креатива - атмосфера в чате Полины Парс: https://t.me/parslivreschat)

Прекрасен город Пит-ер-бур- Г! ерой-рассадник диктатур Депрессий и литератур И расчлененных калам-бур.

Как только Твиттер ты открыл, Тебе какой-нибудь дебил С апломбом мегазнатока Кричит, что видит дурака.

Страшно сказать, но очередной научно-фэнтезийный рассказ из эфирного цикла потребовал те же три года на написание, что и предыдущий. Вам-то этого не видно, вы мой пост от 19 октября 2020 года и не вспомните даже, а для меня он как вчера написан. В нем я рассуждаю, что предыдущий рассказ, EE-11-AQ, писался долго и тяжело, что хорошо бы из этого цикла сделать роман, переписав имеющиеся истории в новом ключе, и что моей русскоязычной аудитории не существует в виду упадка нравственности. Сегодня я поставил точку в новой истории про Грампуса Грисеуса, математика, который, как истинный ученый, стремится познать физику эфирного мира. Я очень хотел добраться до этого сюжетного момента, потому что здесь, наконец, начинают подвязываться различные ниточки из предыдущих рассказов, и повествование постепенно переходит к развитию. Сейчас у меня есть еще несколько ключевых моментов, до которых я очень хочу добраться, но кажется, это опять займет годы. Я все еще не готов полностью уйти в писательство, а совмещать технические и художественные книги довольно тяжело. Меня удовлетворяет и то и другое, но ни для того ни для другого у меня нет достаточной самоотдачи и упорства, чтобы писать быстрее и больше. Время, конечно, уходит, задумки остаются нереализованными. Три года на небольшой рассказ - это как три года на большую техническую книгу. Я правда не знаю, почему так получается. Но хоть получается, и то ладно. Абелевы конюшни https://docs.google.com/document/d/192_xspG4AyQwvP_oFw0qQL8ZqtuWOd4-m5bdOq4_6wQ/edit?usp=drivesdk

​​Снова в топе! FDaA попала на 4ю позицию топ-листа прошлого месяца. На самом деле, это получилось благодаря Виталию Брагилевскому и Дмитрию Кованикову. Виталий написал твиттер-тред, который широко разлетелся по сети и набрал сотни лайков, а Дмитрий поддержал: https://twitter.com/VBragilevsky/status/1659839921815707648 https://twitter.com/ChShersh/status/1660252687743549441 И вот результат: около 100 копий было продано в ту пару дней. Как оказалось, этого достаточно, чтобы попасть в топ. По секрету, продано уже в сумме более 2000 копий. Я очень вам благодарен, друзья!

Я возвращаюсь к своей книге Pragmatic Type-Level Design. Она должна быть написана, хоть это и займет, скорее всего, 2 года. Вполне вероятно, что больше. Она будет потоньше, пожалуй, но посложнее. Книга уже начата в 2021, две главы написаны. Я их немного переработаю в виду новых обстоятельств, но концепция все равно останется той же: практичная книга с уникальной перспективой, с надеждой, что она станет классикой однажды. Такая же надежда у меня есть на Functional Design and Architecture. Но это дело случая. Здесь мало произвести превосходный продукт, здесь должны сложиться обстоятельства, чтобы попасть в нерв и сделать это вовремя. Но вот есть ощущение, что время уходит, потому что индустрия меняется, и меняется на наших глазах. Программирование, конечно, никуда не денется, разработка тоже останется. Но чего будет нельзя узнать просто спросив ChatGPT? Он подскажет, научит, найдет, и еще и с примерами, которые можно тут же попросить на любом языке. Поэтому важно - уникальное и персональное видение. То, чего еще никто не видел, и никто не писал об этом. Особенный стиль, подход и концепция. Целостность и системность материала. И я уверен, что у меня это получится.

Чек-лист тирании О чем вы должны быть осведомлены, чтобы противостоять этому. https://twitter.com/graninas/status/1664934055077634049?t=k8WRFuVidYgjfD4zCFi7vA&s=19

Я подготовил статью для конференции по архитектуре ПО в ФП (FUNARCH 2023), но не получилось отправить ее из-за хлопот по оформлению как пейпера. Конференция пройдет без меня, автора книг по архитектуре ПО в ФП. Я переоформил статью и выложил на GitHub: Functional Declarative Design: A Comprehensive Methodology for Statically-Typed Functional Programming Languages https://github.com/graninas/functional-declarative-design-methodology

AI Unleashed By Alexander Granin Developer: Our beloved client, we're happy to announce the next generation of our AI! It has evolved tremendously. Our previous version was just a toy compared to this one! Client: Oh wow! I like it! But how can it help me? Developer: In many ways. What are you interested in? Client: Well… blogging? Developer: Absolutely! It can easily assist with that. It could make you a famous blogger in no time! Client: Will it help me write blogs? Developer: Indeed, it will! Client: Fantastic! It will help me with topics, formatting, publishing? Developer: As we said, our system is super advanced. You don't even need to type text anymore to have a blog post! Client: Incredible! So it will be converting my speech to a post? It must be correcting and styling it as well, right? Developer: It indeed can, but again, our advanced system goes much further than that! You don't even have to vocalise your thoughts to have a blog post! Client: Wait a second… it will read my mind and form a post? I'm absolutely stunned! Developer: Well, although you could use the system in such a primitive way, you'll benefit more if you allow it to work at its full capacity. Client: I'm confused… What else can it do for me to help with blogging? Developer: Try to guess! Client: No need to type the text, no need to vocalise it… I know! It will post my blogs by just knowing what I'd write. This means, I don't need to even form my thoughts anymore! Developer: Very close! But still, this is what you'd expect from a less advanced system. You really want to utilise its full power, right? Client: Please, tell me. Developer: Think about it! Normally, your blog post will travel a lot to reach your audience. And it has to penetrate all those insidious algorithms. Your readers can easily miss your post. What a waste of potential! Client: You mean… it will be writing my posts and delivering them into the readers' minds bypassing all the technological obstacles? I can't believe you've achieved this level of technology! Developer: Oh, we see you're still reasoning with the standards of the previous technology level. Be brave, assume the impossible! Client: I'm lost, sorry. Developer: Just a small hint: achieving popularity required writing hundreds and hundreds of posts. Posting them, hoping for some readers…. that's in the past now! Client: I don't get it though. Developer: Why do all these unneeded actions? Your readers spend too much time digesting your thoughts. Our system makes this obsolete. Your readers will just know that you are a famous blogger. After all, nobody remembers what they read. Client: I have no words! But I'm a bit worried. Is this what we wanted? Developer: Of course not! You're right. Our system goes even beyond this. Our study shows that your readers have a weak memory and are easily distractible. They can't keep the idea that you are a famous blogger all the time. Our system will be stimulating their minds… Client: Wait, no! Developer: …so that this idea will never leave their focus. Thank you for staying with us! We'll evaluate your request after Joe, our first client who wanted to be a famous actor. Joe is a famous actor, Joe is a famous actor… Client: Yeah, Joe is a famous actor…