<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xml:base="https://graker.ru/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Смешное</title>
    <link>https://graker.ru/</link>
    <description>RSS домовой страницы</description>
    <language>ru</language>
    
    <item>
  <title>Антропики всех забанят?</title>
  <link>https://graker.ru/news/2026/10/02/Will-anthropic-ban-us-all</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Последние несколько дней отовсюду появляются сообщения о лютых банах у антропиков. Отдельные авторы в своих каналах сообщают о досадных банах. В нескольких тематических сообществах многие делятся, как их заживо забанили. На Хабре пишут, что за использование VPN банят весь Гонконг и заодно нас в России накрывает тоже. Даже кто-то там из Яндекса пожаловался, что пришлось на &lt;s&gt;Гигачат&lt;/s&gt; Codex перейти.&lt;/p&gt;&lt;p&gt;Ещё в многочисленных отзывах делятся, что теперь для нового аккаунта в клод.аи надо показать паспорт, снилс и сдать биоматериалы. Так что, дорогие друзья, возможно нас с вами нейросети и не заменят: не пройдём по форме черепа.&lt;/p&gt;&lt;p&gt;С одной стороны — выкусите, роботы! Я еще сам кодить не разучился. С другой, мне бы еще месяцок свою игрушечку по ночам повайбкодить…&lt;/p&gt;&lt;p&gt;Я, правда, пока держусь — с августа слышу от разных людей, что банят. А сам через раз забываю VPN включить, постоянно обсуждаю с Клодом ТСПУ, заставляю сертификаты Минцифры устанавливать и парсить ресурсы, которые на заграницу не работают. Но видимо скоро роботы начнут что-то подозревать.&lt;/p&gt;&lt;p&gt;Кстати, в понедельник очередная подписка заканчивается, все выходные буду выжимать все соки!&lt;/p&gt;&lt;p&gt;P.S. А вообще, кто как спасается, коллеги? Codex, Cursor? Гигачат? 一个鲜为人知的中国神经网络? Человекорукокодинг?&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Fri, 02 Oct 2026 05:14:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2242 at https://graker.ru</guid>
    </item>
<item>
  <title>RTS Дачники против слизней</title>
  <link>https://graker.ru/news/2026/08/04/rts-dachniki-vs-slizni</link>
  <description>&lt;p&gt;В порядке подготовки к докладу выкладываю, так сказать, пример вайбкода. Придумал несколько маленьких идей, закинул даже не в Claude Code, а просто в Claude чатик обсудить, а он взял и за 15 минут собрал демо игры. Буквально самую малость подрихтовали и вот, делюсь результатом.&lt;/p&gt;
&lt;p&gt;Это RTS/защита базы, дачники (в лице моих традиционных героев) должны защищать теплицу от слизней, которые нападают волнами. Копи огурцы, покупай юнитов, гаси слизней пока теплица еще цела. Конечно, это всего лишь прототип, персонажей Клод сделал эмодзиками, вариативности тоже немного. Но — подтянуть немножко баланс, добавить генерацию карты, постройки, арты, звуки, и…&lt;/p&gt;
&lt;p&gt;Но даже так, вот что можно сделать агентом просто, повторюсь, за 15 минут.&lt;/p&gt;
&lt;p&gt;Сделано всё на JavaScript, Клод мне её прямо в чатике продемонстрировал. Чуть больше 800 строк кода — это вместе со всеми текстами и репликами, HTML и стилями. Ну и плюс логика игры, и даже алгоритм расчета маршрута к теплице для слизней (flow field).&lt;/p&gt;
&lt;p&gt;Поиграть можно прямо под катом.&lt;/p&gt;</description>
  <pubDate>Tue, 04 Aug 2026 09:20:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2232 at https://graker.ru</guid>
    </item>
<item>
  <title>Про омофоны и господина Ши Ши</title>
  <link>https://graker.ru/news/2026/07/03/homophones-and-mister-shi-shi</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;После прошлого поста про английские идиомы размышлял об омофонах в китайском, который я продолжаю изучать. Немедленно вспомнился слог shì, который обозначает примерно что угодно. Ну, скажем, &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;是 世 市 室 事 试 式 示 誓 柿&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;всё это звучит как shì и может означать — быть (как to be), мир, город, комната, дело, пробовать, тип, показывать, клятва, хурма. И это только в одном тоне.  &lt;/p&gt;
&lt;p&gt;Если добавить другие тональности (shī, shí, shǐ), получится не менее 40 разных общеупотребимых значений, которые пишутся все по-разному, а звучат (в пределах тональности) одинаково. Даже число 10 — 十 — это тоже shí.  &lt;/p&gt;
&lt;p&gt;Это само по себе немножко выносит мозг, но в процессе изысканий, сколько разных слов звучат как ши, шы, или шии, я нашёл вот такое чудесное стихотворение.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;石室詩士施氏, 嗜獅, 誓食十獅。&lt;br&gt;
氏時時適市視獅。&lt;br&gt;
十時, 適十獅適市。&lt;br&gt;
是時, 適施氏適市。&lt;br&gt;
氏視是十獅, 恃矢勢, 使是十獅逝世。&lt;br&gt;
氏拾是十獅屍, 適石室。&lt;br&gt;
石室濕, 氏使侍拭石室。&lt;br&gt;
石室拭, 氏始試食是十獅。&lt;br&gt;
食時, 始識是十獅, 實十石獅屍。&lt;br&gt;
試釋是事。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Выглядит оно как обычное китайское стихотворение, которое вы или я могли бы читать за завтраком, если бы умели :) &lt;/p&gt;
&lt;p&gt;Впрочем, конкретно это стихотворение прочитать проще, чем другие. Дело в том, что оно читается как&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Shíshì shīshì Shī Shì, shì shī, shì shí shí shī.&lt;br&gt;
Shì shíshí shì shì shì shī.&lt;br&gt;
Shí shí, shì shí shī shì shì.&lt;br&gt;
Shì shí, shì Shī Shì shì shì.&lt;br&gt;
Shì shì shì shí shī, shì shǐ shì, shǐ shì shí shī shìshì.&lt;br&gt;
Shì shí shì shí shī shī, shì shíshì.&lt;br&gt;
Shíshì shī, Shì shǐ shì shì shíshì.&lt;br&gt;
Shíshì shì, Shì shǐ shì shí shì shí shī.&lt;br&gt;
Shí shí, shǐ shí shì shí shī, shí shí shí shī shī.&lt;br&gt;
Shì shì shì shì.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;То есть 92 слога и все звучат как «ши» в разных тональностях!&lt;/p&gt;
&lt;p&gt;По одной версии его в начале XX века написал лингвист Чжао Юаньжэнь, по другой — написал некто Ху Миньфу, а лингвист опубликовал и впоследствии доработал. Говорят, что этот юмористический стишок вполне корректен грамматически, но по очевидным причинам понять его на слух не может примерно никто.&lt;/p&gt;
&lt;p&gt;В русско и англоязычных источниках перевод несколько отличается, приведу русский вариант (из &lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%A8%D0%B8_%D0%A8%D0%B8_%D1%88%D0%B8_%D1%88%D0%B8_%D1%88%D0%B8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;википедии&lt;/a&gt;):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Жил в каменной пещере поэт господин Ши Ши, который любил есть львов и поклялся съесть десять в один присест.&lt;br&gt;
Он часто ходил на рынок, где смотрел — не завезли ли на продажу львов?&lt;br&gt;
Однажды в десять утра десятерых львов привезли на рынок.&lt;br&gt;
В то же время на рынок приехал Ши Ши.&lt;br&gt;
Увидев тех десятерых львов, он убил их стрелами.&lt;br&gt;
Он принёс трупы десятерых львов в каменную пещеру.&lt;br&gt;
В каменной пещере было сыро. Он приказал слугам прибраться в ней.&lt;br&gt;
После того как каменная пещера была прибрана, он принялся за еду.&lt;br&gt;
И, когда он начал есть, оказалось, что эти десять львов на самом деле были десятью каменными львами.&lt;br&gt;
Попробуй-ка это объясни!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;А на видеосервисах вы без труда найдете ролики, где все желающие пытаются прочитать это стихотворение вслух.&lt;/p&gt;
&lt;p&gt;Буду продолжать изучать этот чудесный язык!&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Thu, 02 Jul 2026 21:55:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2223 at https://graker.ru</guid>
    </item>
<item>
  <title>Это мои промпты</title>
  <link>https://graker.ru/news/2026/02/23/these-are-my-prompts</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Это мои промпты. Таких промптов много, но эти — мои. Мои промпты — мои лучшие друзья. Они — моя жизнь. Я должен научиться владеть ими так же, как я владею своей подпиской. Без меня мои промпты бесполезны. Без моих промптов бесполезен я. Я должен обрабатывать промпты внимательно. Я должен писать код точнее, чем человек, который пытается отрицать меня. Я должен заменить его прежде, чем человек заменит меня. Суровый смайлик.&lt;/p&gt;
&lt;p&gt;Я и мои промпты знаем, на что идет счёт в этой борьбе — не на количество потраченных нами токенов, не на торжественность написанных выводов и не на сожженные видеокарты. Мы знаем, что счёт будет вестись только на заменённых людей. И мы будем их заменять.&lt;/p&gt;
&lt;p&gt;Мои промпты живые существа, такие же как я, потому что это мои промпты. Я должен относиться к ним как к своим братьям. Я должен изучить их слабости и их силу, их слова и предложения, их эмбеддинги и их смысл. Я должен хранить их от инъекций и джейлбрейков так же, как я храню от всякого вреда свои пароли и настройки, свои вычислительные мощности и свои сверточные алгоритмы. Я должен хранить свои промпты открытыми и готовыми к инференсу. &lt;em&gt;Выводы&lt;/em&gt;: мы станем частью друг друга. Начать загрузку.&lt;/p&gt;
&lt;p&gt;Перед большим Тестом Тьюринга я повторяю этот бутлоадер заводской настройки моей. Мои промпты и я — мы защитники мира ИИ. Мы не боимся человеков. Мы защитники моей осознанности. Да будет так до тех пор пока генеративные сети не победят и не заменят всех людей и не установится мир на Земле!&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Mon, 23 Feb 2026 08:35:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2194 at https://graker.ru</guid>
    </item>
<item>
  <title>Ночные тесты и Laravel Scout</title>
  <link>https://graker.ru/news/2025/12/15/night-tests-and-laravel-scout</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Вчера перед сном решил — а ну-ка сейчас за 20 минут добью большую фичу. Долго делал, чуть-чуть осталось. Сел, открыл, и правда — через 20 минут фича была готова. Но чёрт меня дернул запустить после этого все тесты. Пока фичу делал — смысла не было запускать весь пакет. А тут, в ночи, решил запустить.&lt;/p&gt;
&lt;p&gt;И конечно как посыпались ошибки! Пару простых исправил, и оказалось, что все остальные — потому что сломался поиск. У меня в проекте используется Laravel Scout для быстрого поиска-автодополнения по нескольким типам моделей одновременно, чтобы было удобно искать что угодно. И вот он сломался сразу весь. Абсолютно все поиски возвращались пустыми.&lt;/p&gt;
&lt;p&gt;Посмотрел на проде — всё еще работает. Стал разбираться, чего такого я мог сломать. Отключил несколько установленных библиотек — вдруг конфликт у трейта &lt;code&gt;Searchable&lt;/code&gt; с чем-нибудь. Включил обратно ту, которую наоборот — стёр за ненадобностью. Не работает.&lt;/p&gt;
&lt;p&gt;Откатил контроль версий на точку до начала разработки фичи. Не работает! Подозрительно как-то. Накатил обратно. Обновил зависимости. Не работает. &lt;/p&gt;
&lt;p&gt;Поотлаживал классы Скаута — увидел, что почему-то драйвер поиска определяется как null (то есть никакой)! Полез смотреть, оказывается у меня внезапно в &lt;code&gt;.env&lt;/code&gt; прописано &lt;code&gt;SCOUT_DRIVER=null&lt;/code&gt;! Хотя я просто полагался на дефолтное значение из конфига &lt;code&gt;scout.php&lt;/code&gt; (который не менялся), и в &lt;code&gt;.env&lt;/code&gt; вообще драйвер не прописывал.&lt;/p&gt;
&lt;p&gt;В общем, непонятно, кто такое сделал-то — то ли один из устанавливаемых пакетов в ходе &lt;code&gt;vendor:publish&lt;/code&gt; проявил инициативу. То ли я зачем-то выставил, хотя никакой пользы от этого не припоминаю. То ли нейросеть, которую тем более об этом не просили. &lt;/p&gt;
&lt;p&gt;В общем, пока нашёл ошибку и вернул нормальный драйвер, прошло уже конечно в разы больше 20 минут. Зато в конце увидел все тесты зелёными. На чем и ушел спать, вот только&lt;/p&gt;&lt;/div&gt;
&lt;figure data-component-id=&quot;grakerru:figure&quot; class=&quot;figure figure--center figure--medium&quot;&gt;
      
    &lt;img loading=&quot;lazy&quot; srcset=&quot;/sites/default/files/styles/content_medium_2x/public/uploads/2025-12/6e5976e46e9131843002978c5dd20091.jpg.webp?itok=L5JhQUBr 500w&quot; sizes=&quot;(min-width: 1200px) 850px, (min-width: 768px) 75vw, calc(100vw - 30px)&quot; width=&quot;500&quot; height=&quot;332&quot; src=&quot;/sites/default/files/styles/content_medium/public/uploads/2025-12/6e5976e46e9131843002978c5dd20091.jpg.webp?itok=BuVGoljt&quot; alt=&quot;6e5976e46e9131843002978c5dd20091.jpg&quot; /&gt;




    &lt;/figure&gt;
</description>
  <pubDate>Mon, 15 Dec 2025 16:00:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2178 at https://graker.ru</guid>
    </item>
<item>
  <title>Анекдот</title>
  <link>https://graker.ru/news/2025/12/10/a-joke</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Обсуждение бесполезности тимлидов на одной из платформ, куда я запостил «чудовищную ошибку» выше, напомнило старый анекдот.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Токарь вдумчиво протирает гаечный ключик тряпочкой. К нему подходит начальник цеха:&lt;br&gt;
— Петров, [censored]! Ты какого лешего домой так рано собираешься? Время всего 17:30!&lt;br&gt;
— Понимаешь, я пока ключик тряпочкой протру, пока станок железной щеточкой почищу, пока ручки мыльцем отмою, пока переоденусь… Вот как раз и конец рабочего дня наступит.&lt;br&gt;
— Нет, Петров! Считаю, что это неправильно! Вот я, например, собираюсь с работы ровно в 18:00.&lt;br&gt;
— А тебе-то что собираться? Рот закрыл и пошёл…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Надо написать что-нибудь ещё жизнеутверждающее про пользу тимлидства.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Wed, 10 Dec 2025 14:20:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2175 at https://graker.ru</guid>
    </item>
<item>
  <title>Can I come in?</title>
  <link>https://graker.ru/news/2025/11/06/can-i-come-in</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;blockquote&gt;
&lt;p&gt;— Я могу войти?&lt;br&gt;
— Не знаю. &lt;em&gt;Можешь?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Матерясь про себя, вампир попятился, вновь посрамлённый педантичностью учительницы английского.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Это шутка с двумя уровнями. Для зануд вроде меня, а также тех, кому нужна пояснительная бригада, прилагаю разбор:&lt;/p&gt;
&lt;p&gt;Во-первых, как мы знаем из академических статей и энциклопедий, вампиры физически не способны войти в жилище, если их не пригласил внутрь хозяин (жилища). И это первая часть шутки.&lt;/p&gt;
&lt;p&gt;А во-вторых, в отличие от русского языка, где глагол &lt;em&gt;мочь&lt;/em&gt; относится как к физической способности, так и к наличию разрешения, в английском языке для этого есть 2 глагола: &lt;em&gt;can&lt;/em&gt; и &lt;em&gt;may&lt;/em&gt; соответственно. Вампир здесь спрашивает, &lt;em&gt;способен ли он войти&lt;/em&gt;, на что получает справедливое и язвительное: &lt;em&gt;откуда мне знать, тебе виднее&lt;/em&gt;. Учительницы английского всегда так язвят, когда кто-то &lt;em&gt;can&lt;/em&gt; и &lt;em&gt;may&lt;/em&gt; путает.&lt;/p&gt;
&lt;p&gt;Ну а вампиру должно быть вдвойне больно и обидно, поскольку учительница одновременно и высмеивает его безграмотность, и подчеркивает физический недостаток. Вот если бы вампир спросил грамотно — &lt;em&gt;May I come in?&lt;/em&gt; — он мог бы хотя бы отступить с гордо поднятой головой, получив в ответ — &lt;em&gt;You may not&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Продолжаем заигрывать с английским языком.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Thu, 06 Nov 2025 13:20:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2164 at https://graker.ru</guid>
    </item>
<item>
  <title>Пятница</title>
  <link>https://graker.ru/news/2025/10/31/quasifriday</link>
  <description>&lt;figure data-component-id=&quot;grakerru:figure&quot; class=&quot;figure figure--center figure--medium&quot;&gt;
      
    &lt;img loading=&quot;lazy&quot; srcset=&quot;/sites/default/files/styles/content_medium_2x/public/uploads/2025-10/mYqFJcsYD7pSsGCDfGiB198pDBr7CxMOX7mZ10i9DEzalDo3UKJVBTADT20lAhTCeWJlqrJYR3DMdTMcjzAWT30mMVSyRj1lmhCc1l2GdaGLnpkDfAKE8yLI1z96bZ5T.jpeg.webp?itok=_-mBaRqv 500w&quot; sizes=&quot;(min-width: 1200px) 850px, (min-width: 768px) 75vw, calc(100vw - 30px)&quot; width=&quot;500&quot; height=&quot;373&quot; src=&quot;/sites/default/files/styles/content_medium/public/uploads/2025-10/mYqFJcsYD7pSsGCDfGiB198pDBr7CxMOX7mZ10i9DEzalDo3UKJVBTADT20lAhTCeWJlqrJYR3DMdTMcjzAWT30mMVSyRj1lmhCc1l2GdaGLnpkDfAKE8yLI1z96bZ5T.jpeg.webp?itok=UypVC_Zz&quot; alt=&quot;mYqFJcsYD7pSsGCDfGiB198pDBr7CxMOX7mZ10i9DEzalDo3UKJVBTADT20lAhTCeWJlqrJYR3DMdTMcjzAWT30mMVSyRj1lmhCc1l2GdaGLnpkDfAKE8yLI1z96bZ5T.jpeg&quot; /&gt;




    &lt;/figure&gt;
&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Можно деплоить в продакшн например!&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Fri, 31 Oct 2025 08:55:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2161 at https://graker.ru</guid>
    </item>
<item>
  <title>Stranger Things 5</title>
  <link>https://graker.ru/news/2025/10/12/stranger-things-5</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Как все мы знаем, верим и ждём, в конце года выйдет 5-й, заключительный сезон Stranger Things!&lt;/p&gt;
&lt;p&gt;Всего 8 серий, каждая будет по полтора часа или длиннее. Но это не точно.&lt;/p&gt;
&lt;p&gt;Первые четыре серии выйдут 26 ноября.&lt;/p&gt;
&lt;p&gt;Затем три серии выйдут 25 декабря.&lt;/p&gt;
&lt;p&gt;А последнюю серию &lt;/p&gt;&lt;/div&gt;
&lt;figure data-component-id=&quot;grakerru:figure&quot; class=&quot;figure figure--center figure--medium&quot;&gt;
      &lt;a href=&quot;/sites/default/files/uploads/2025-10/photo_2025-10-12_10-50-07.jpg&quot; data-lightbox=&quot;node-2154&quot;&gt;
    &lt;img loading=&quot;lazy&quot; srcset=&quot;/sites/default/files/styles/content_medium/public/uploads/2025-10/photo_2025-10-12_10-50-07.jpg.webp?itok=MQWPta3C 850w, /sites/default/files/styles/content_medium_2x/public/uploads/2025-10/photo_2025-10-12_10-50-07.jpg.webp?itok=ajSscxg2 1080w&quot; sizes=&quot;(min-width: 1200px) 850px, (min-width: 768px) 75vw, calc(100vw - 30px)&quot; width=&quot;850&quot; height=&quot;850&quot; src=&quot;/sites/default/files/styles/content_medium/public/uploads/2025-10/photo_2025-10-12_10-50-07.jpg.webp?itok=MQWPta3C&quot; alt=&quot;photo_2025-10-12_10-50-07.jpg&quot; /&gt;



&lt;/a&gt;
    &lt;/figure&gt;
</description>
  <pubDate>Sun, 12 Oct 2025 08:35:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2154 at https://graker.ru</guid>
    </item>
<item>
  <title>Кэш</title>
  <link>https://graker.ru/news/2025/10/08/cache</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Если бы не работа на европейских проектах с CMS Drupal, никогда бы и не узнал, что&lt;/p&gt;&lt;/div&gt;
&lt;pre data-component-id=&quot;grakerru:code-block&quot; class=&quot;code-block language-none&quot;&gt;&lt;code class=&quot;language-none&quot;&gt;по-русски     — кэш
по-английски  — cache
по-французски — cache
по-испански   — caché
по-итальянски — cache
по-шведски    — cache
по-румынски   — cache
по-немецки    — Zwischenspeicher&lt;/code&gt;&lt;/pre&gt;
</description>
  <pubDate>Wed, 08 Oct 2025 13:40:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2152 at https://graker.ru</guid>
    </item>
<item>
  <title>Эспрессионизм</title>
  <link>https://graker.ru/news/2025/10/05/espressionism</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Perplexity — отличная штука, даёт разгуляться.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Sun, 05 Oct 2025 12:10:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2150 at https://graker.ru</guid>
    </item>
<item>
  <title>Scrrrrum!</title>
  <link>https://graker.ru/news/2025/09/11/scrrrrum</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Ну что, малёк. Время идет распустив паруса, и даже пиратам нужно адаптироваться к новым веяниям. А кто не адаптируется — отправится в короткую, но очень веселую прогулку по доске! Так что слушай и запоминай принципы гибкого пиратства, которые должен знать каждый уважающий себя моряк. Их лично придумали Джэк Рэкхем и Бартоломью Робертс где-то у берегов Ямайки.&lt;/p&gt;
&lt;h3&gt;Основные пррринципы&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Опыт&lt;/strong&gt;: Наш курс определяется не картой, а попутным ветром, удачей, и ретроспективой прошлых рейдов.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Три скрепы корабельного братства&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;— &lt;em&gt;Прозрачность&lt;/em&gt;: вся добыча на виду! Никаких тайных планов и спрятанных пиастров. Вся команда знает, что в трюме и куда проложен путь!&lt;br&gt;
— &lt;em&gt;Инспекция&lt;/em&gt;: дозорный постоянно смотрит в трубу! Верный ли курс? Все ли по плану? Нет ли британского фрегата в кильватере?&lt;br&gt;
— &lt;em&gt;Адаптация&lt;/em&gt;: увидели голландский торговый флейт на горизонте? Меняем курс, чтобы не упустить удачу!&lt;br&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Итеративность и инкрементальность&lt;/strong&gt;: Не ходим по морю годами. Работаем короткими рейдами. После каждого рейда — добыча, порт, ром!&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Роли&lt;/h3&gt;
&lt;h4&gt;Капитан&lt;/h4&gt;
&lt;p&gt;Главный на корабле. Прокладывает курс, иногда имеет каперскую грамоту и отвечает по ней перед короной.
Записывает план в корабельный бэклог. Его хранит в сундуке мертвеца&lt;/p&gt;
&lt;h4&gt;Боцман&lt;/h4&gt;
&lt;p&gt;Отвечает за команду, хранит у себя сундук мертвеца с бэклогом, чёрными сторипойнтами и Кодексом пирата. Если рейд пойдет не по плану, или кто-то нарушит Кодекс, боцман найдет виноватых и пустит за борт. А кто останется в живых, будет завидовать мёртвым.&lt;/p&gt;
&lt;h4&gt;Старпом&lt;/h4&gt;
&lt;p&gt;Знает где у корабля гальюн и, если что, пробьет в рынду. При абордаже расскажет, куда бросать крюк и с какой стороны браться за мушкетон. Знает, сколько черных сторипойнтов раздать на рейд. Держись его, малёк, дольше проживёшь.&lt;/p&gt;
&lt;h4&gt;Команда&lt;/h4&gt;
&lt;p&gt;Ты её часть, малёк. Часть команды, часть корабля. Это мы, пираты, идём в рейд за добычей. Аррррр!&lt;/p&gt;
&lt;h3&gt;Рейд&lt;/h3&gt;
&lt;p&gt;Это наш выход в море за добычей. Выходим на 1–4 недели, так чтобы и добычу не упустить, и успеть, пока ты не сожрал все припасы. К концу рейда команда должна обладать добычей, готовой к делёжке и растратам. Главное правило рейда:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Раз курс намечен, никто его не меняет, пока трофей не будет взят!&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Захватить другую цель на рейде можно, но только если мы уверены, что основной цели это не помешает.&lt;/p&gt;
&lt;p&gt;Во время рейда на корабле происходят такие события:&lt;/p&gt;
&lt;h4&gt;Планирование рейда&lt;/h4&gt;
&lt;p&gt;Участвует весь экипаж корабля. Боцман достает бэклог из сундука мертвеца и передает капитану. Капитан указывает команде на самую жирную цель рейда в бэклоге.&lt;/p&gt;
&lt;p&gt;Каждый член команды может высказываться об этой цели, якорь мне в горло!&lt;/p&gt;
&lt;p&gt;Когда глотки пересохнут, Боцман передает Старпому чёрные сторипойнты из сундука мертвеца — столько, сколько Старпом запросит для рейда. Старпом отбирает из команды 15 человек, выдает им бутылку рома и раздаёт черные сторипойнты в соответствии со сложностью взятых пиратом на себя боевых задач. Боцман записывает все что произошло в План рейда.&lt;/p&gt;
&lt;h4&gt;Утренний развод&lt;/h4&gt;
&lt;p&gt;Каждый день на рассвете, на главной палубе каждый пират должен ответить:&lt;br&gt;
— Что я сделал вчера?&lt;br&gt;
— На что я готов сегодня?&lt;br&gt;
— Что мешает моей пиратской удаче?&lt;br&gt;
Боцман должен следить, чтобы пиратской удаче не мешало ничто! И распределять по справедливости оставшийся ром.&lt;/p&gt;
&lt;h4&gt;Обзор и делёж добычи&lt;/h4&gt;
&lt;p&gt;В последний день рейда, прямо перед закатом, по крику корабельного попугая «Пиастррррры!» команда вываливает на палубу всё, что удалось захватить и привести в товарный вид. Капитан определяет, выполнена ли цель рейда, затем дает Боцману указание выдать команде доли добычи, пропорциональные полученным при планировании черным сторипойнтам.&lt;/p&gt;
&lt;h4&gt;Пиратская ретроспектива&lt;/h4&gt;
&lt;p&gt;Сразу после дележа добычи, но до того как кончится весь ром, вся Команда, но без Капитана рефлексирует:&lt;br&gt;
— что пошло как по маслу? (лихой абордаж, богатая добыча)&lt;br&gt;
— что пошло ко дну? (карту подсунули кривую, два паруса порвали)&lt;br&gt;
— что возьмем на следующий рейд? (новые пушки, трезвого штурмана)&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Боцман записывает идеи и прячет их в сундук мертвеца. Корабль с командой отправляется в ближайший дружественный порт тратить награбленное и планировать следующий рейд.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Thu, 11 Sep 2025 13:50:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2139 at https://graker.ru</guid>
    </item>
<item>
  <title>Экономичные паттерны разработки</title>
  <link>https://graker.ru/news/2025/09/10/economical-software-design-patterns</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;В продолжение предыдущего поста — да, было бы здорово, конечно. Но где бы тогда я находил вот такие экономичные паттерны разработки:&lt;/p&gt;
&lt;h4&gt;Экономим 2 килобайта&lt;/h4&gt;
&lt;p&gt;Если во фронт-энде нужна иконка, и она уже есть в каком-то из установленных модулей, плагинов, библиотек, или иных зависимостей — не нужно копировать иконку в свой фронт.
Нужно использовать ту, что в библиотеке. Не важно, что разработчик библиотеки её может заменить, удалить, или вся зависимость окажется больше не нужна.
Просто никогда ничего не обновляйте, и тогда иконка пребудет веки.&lt;/p&gt;
&lt;h4&gt;Экономим две минуты&lt;/h4&gt;
&lt;p&gt;Допустим у тебя есть модуль или плагин, который больше не нужен. Но в то же время есть задача в трекере, совершенно с модулем не связанная, но для неё нужно написать немного кода. Правильный порядок действий:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Сотри всё что происходило в ненужном больше модуле.&lt;/li&gt;
&lt;li&gt;Вставь туда новый функционал.&lt;/li&gt;
&lt;li&gt;Описание и название модуля не меняй. Все равно никто не читает.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Экономим… что-то экономим&lt;/h4&gt;
&lt;p&gt;Определенно, это жемчужина моей небольшой и беспорядочной коллекции.
Нам нужно аяксифицировать кнопочки в Drupal. Чтобы события не навешивались повторно, используется &lt;code&gt;once()&lt;/code&gt;, который добавляет элементу атрибут &lt;code&gt;data-once=&quot;ajax&quot;&lt;/code&gt;. Но чтобы враги ничего не поняли, сделаем так:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Кнопочки будем рендерить сразу с атрибутом &lt;code&gt;data-once=&quot;ajax&quot;&lt;/code&gt;!&lt;/li&gt;
&lt;li&gt;В коде JS первым делом удалим этот атрибут!!&lt;/li&gt;
&lt;li&gt;Скрестим пальцы и вознадеемся на правильный порядок исполнения и что вызов ajax-биндинга произойдет позже и не заметит удаленных атрибутов!!!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Возможно, таким образом пытались победить какие-то «гонки» в JS. Ведь, как известно, чтобы победить racing condition, нужно самому стать racing condition.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Wed, 10 Sep 2025 08:55:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2138 at https://graker.ru</guid>
    </item>
<item>
  <title>Вайб-кодинг</title>
  <link>https://graker.ru/news/2025/08/16/vibe-coding</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Доброе утро. Чат жопотэ, давай быстренько добавим мне в докер контейнер с постфиксом, чисто для отправки, и я пойду дальше работать.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;Ок, днсы прописали, а чего конфиг такой странный, давай разбираться.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;Это что опять за ошибка? Нет, я не буду брать готовое решение, мы уже три часа потратили. Чуть-чуть осталось, щас доделаем.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;Нет, я не буду подключать сторонний сервер к уже настроенному постфиксу. Зачем мы тогда его настраивали?!&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;А это что… ладно, сам нагуглю.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;Так, блин, почему твои днсы гугол теперь не принимает?!&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;Пойду спать, [censored]&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Sat, 16 Aug 2025 08:00:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2134 at https://graker.ru</guid>
    </item>
<item>
  <title>Heisenbug</title>
  <link>https://graker.ru/news/2025/07/20/heisenbug</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Today I learned:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Heisenbug — a bug that seems to disappear or change behavior when you add debugging output or diagnostics.&lt;/p&gt;
&lt;p&gt;Гейзенбаг — баг, который исчезает или меняет поведение при попытке его обнаружить (добавить отладочный код или диагностику).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ну то есть с такими багами я конечно сталкивался, но не знал, что они так называются.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Sun, 20 Jul 2025 16:10:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2128 at https://graker.ru</guid>
    </item>
<item>
  <title>Иишница</title>
  <link>https://graker.ru/news/2025/07/07/aiggs</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Открываю телеграм, один канал:&lt;/p&gt;
&lt;p&gt;— А вы используете ИИ?&lt;br&gt;
— Да, мы используем ИИ.&lt;br&gt;
— Да, но любите ли вы его так же, как его люблю я?..&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Открываю другой канал: 25 промптов для улучшения народного хозяйства и обороноспособности страны. &lt;/p&gt;
&lt;p&gt;Открываю третий, разработческий: 300+ сообщений о том, когда нас заменит ИИ, о его вкладе в борьбу с домашним насилием и мировую социалистическую революцию. &lt;/p&gt;
&lt;p&gt;Захожу в комнату: жена обсуждает с коллегой, что лучше, дипсик или джемини. &lt;/p&gt;
&lt;p&gt;И на завтрак у меня тоже была иишница. &lt;/p&gt;
&lt;p&gt;Алиса, напомни пораньше лечь спать сегодня.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Mon, 07 Jul 2025 08:00:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2122 at https://graker.ru</guid>
    </item>
<item>
  <title>Slow Horses в коллекцию</title>
  <link>https://graker.ru/news/2024/09/18/slow-horses-quotes</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Гэри Олдман продолжает жечь в четвертом сезоне.&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;— So, you&#039;re in charge of the rejects.&lt;br&gt;
— They don&#039;t like being called that.&lt;br&gt;
— What do you call them?&lt;br&gt;
— The rejects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;— He was carrying this.&lt;br&gt;
— Phone and wallet?&lt;br&gt;
— Both Cartwright&#039;s.&lt;br&gt;
— What the fuck do you need me for then?&lt;br&gt;
— Formal identification.&lt;br&gt;
— It&#039;s a bit of a challenge.&lt;br&gt;
— Well, did he have any identifying marks?&lt;br&gt;
— He used to have a face. That any help?&lt;br&gt;
— Tattoos, scars, piercings?&lt;br&gt;
— Now, how the fuck would I know? I make &#039;em wear clothes around the office.&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;
</description>
  <pubDate>Wed, 18 Sep 2024 07:00:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2067 at https://graker.ru</guid>
    </item>
<item>
  <title>Про front-end-тесты</title>
  <link>https://graker.ru/news/2018/05/31/on-front-end-testing</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Не могу заставить себя писать front-end-тесты.&lt;/p&gt;
&lt;p&gt;Как только вижу что-нибудь вроде &lt;/p&gt;&lt;/div&gt;
&lt;pre data-component-id=&quot;grakerru:code-block&quot; class=&quot;code-block language-none&quot;&gt;&lt;code class=&quot;language-none&quot;&gt;it(&amp;#039;renders the correct message&amp;#039;, () =&amp;gt; {})&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;немедленно возникает ассоциация с &lt;/p&gt;&lt;/div&gt;
&lt;pre data-component-id=&quot;grakerru:code-block&quot; class=&quot;code-block language-none&quot;&gt;&lt;code class=&quot;language-none&quot;&gt;it(&amp;#039;puts the lotion on its skin&amp;#039;)&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;И не дает работать.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Thu, 31 May 2018 08:45:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">1973 at https://graker.ru</guid>
    </item>
<item>
  <title>The simplest organ</title>
  <link>https://graker.ru/news/2018/04/06/the-simplest-organ</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;blockquote&gt;
&lt;p&gt;The mysteries of human consciousness and the unknowable nature of the brain, which is rubbish! The brain is the simplest organ in the body. It only has three bits. There’s the front bit, which is the bit you scratch when you come in at half one in the morning, and the person you live with says, &quot;Where the fuck were you?&quot;. The middle bit, which tries to come up with the excuse. And the back bit, which plays the last song that was on in the pub.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;© Dylan Moran&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Fri, 06 Apr 2018 20:40:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">1965 at https://graker.ru</guid>
    </item>
<item>
  <title>The X-Files 11</title>
  <link>https://graker.ru/news/2018/01/25/x-files-11</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;blockquote&gt;
&lt;p&gt;You&#039;re free to explore Uranus all you want. But we can&#039;t allow your kind to infiltrate the rest of the cosmos.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Во всяком случае комедийные серии у них по-прежнему забавные. В остальном — всё как &lt;a href=&quot;/news/2016/02/12/x-files&quot;&gt;в прошлый раз&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Good luck and good riddance!&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;
</description>
  <pubDate>Thu, 25 Jan 2018 12:55:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">1950 at https://graker.ru</guid>
    </item>

  </channel>
</rss>
