<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Комментарии / Профиль dbpatch]]></title>
    <link>https://habr.com/ru/users/dbpatch/comments/</link>
    <description><![CDATA[Хабр: комментарии пользователя dbpatch]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sat, 10 Oct 2026 10:46:20 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      

      
        
  
    <item>
      <title>09.10.2026 19:26:57</title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1092334/#comment_30512020</guid>
      <link>https://habr.com/ru/articles/1092334/#comment_30512020</link>
      <description><![CDATA[<p>Всегда найдутся Ричарды Хендриксы с Emacs наперевес, и начнут безжалостно минусовать за пробелы. Хотя в S03E06 его выбесило то, что девушка вместо клавиши таба нажимала клавишу пробел аж по восемь раз - это вот реально у нее странное получалось.<br><br>Но по сути - для форсирования пробелов (автоматической замены табов пробелами) довольно просто настроить практически любую IDE, и вкрутить хуки перед коммитом.</p><p>А вот автоматически переделывать пробелы на табы уже не такая тривиальная задача, можно и данные для справочников в .sql файлах попортить, и много других спорных моментов: таб это просто 4 пробела (или два? или три? или восемь?), или таб это способ допрыгнуть в колонку индексом кратную 4, т.е. таб может быть и на 1 и 2 и на 3 пробела или на четыре? Т.е. любители табов с т.з. заказчика, и не только заказчика занимаются какой-то ерундой. Место так особо не сэкономить, а какой еще в них смысл?</p><p>Про make если вспоминать, то все вроде гласно и негласно сошлись на том, что там с табами все изначально настолько печально, что make в реальности можно пользоваться только через какой CMake или autoconf. Т.е. фактически табы потерпели фиаско еще в 70-х. </p><p>TSV и тот проиграл CSV сразу на старте</p><p>А еще в Oracle PL/SQL оказывается изначальным стандартом отступы были табом на 3 пробела, в документации на 8.1.7 это особенно заметно: дедушки знали толк в извращениях :)  </p>]]></description>
      <pubDate>Fri, 09 Oct 2026 19:26:57 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>09.10.2026 08:10:34</title>
      <guid isPermaLink="true">https://habr.com/ru/companies/cloud_ru/articles/1083058/#comment_30509406</guid>
      <link>https://habr.com/ru/companies/cloud_ru/articles/1083058/#comment_30509406</link>
      <description><![CDATA[<p>Справедливости ради - OS/2 не была альтернативой Win'95. Она не умела запускать win32 приложения, только win16 и DOS.<br>Хотя вытесняющей многозадачностью приложения DOS через VDM вполне стабильно  на 386 железе умела запускать уже Windows 3.11,  но считалось, что OS/2 это делает лучше - последнюю довольно массово применяли для организации всяких FIDO BBS серверов с кучей модемов, пока все массово не перешли на FreeBSD с ее UUCP, а потом и вовсе на  TCP/IP с Cisco и прочим.</p><p>А вот реальной стабильной альтернативой Win'95 была Windows NT 4.0, очень достойный продукт своего времени, который мог запускать вытесняющей многозадачностью и DOS, и win16 и само собой win32, если в наличии были 16MB+ RAM (их можно было далеко не во всякую материнку того времени вставить)</p>]]></description>
      <pubDate>Fri, 09 Oct 2026 08:10:34 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>08.10.2026 19:50:29</title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1070772/#comment_30508366</guid>
      <link>https://habr.com/ru/articles/1070772/#comment_30508366</link>
      <description><![CDATA[<p>Насколько я знаю нет, там все достаточно предсказуемо в linux, при уровне 2. Обещают правда совсем полную рандомизацию, но пока это лишь в теории.<br>Большим сюрпризом там скорее магическое число 89TB, которое есть суть PIE base 0x555555554000, но оно лишь дополняет правило: не первый терабайт и не последний 128й, а да, и 89-й тоже трогать нельзя :)</p>]]></description>
      <pubDate>Thu, 08 Oct 2026 19:50:29 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>08.10.2026 18:20:47</title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1070772/#comment_30508134</guid>
      <link>https://habr.com/ru/articles/1070772/#comment_30508134</link>
      <description><![CDATA[<p>40TB это я рубанул "от души" :) Но скорее с целью показать пределы масштабируемости. Считается же что 64 бит это прям очень много (18.4 экзабайт), а в реальности намного скромнее, 48 бит в общем случае, или 52/56 бит в особо крутых серверных материнках.</p><p>Но основная идея да, заключается в том, что с 64 битами адреса и возможностью манипуляций с mmap(MAP_FIXED) многие старые парадигмы управления памятью из 16-, 31-, 32- битных миров из 70-х годов как минимум могут быть пересмотрены. К примеру можно играть в арены (region memory aka memory pools), с заданными циклами жизни, и не заниматься мелкодробным free() / delete - т.е. вместо malloc() / new выделять память, просто последовательно сдвигая HWM в заранее отмпаленном регионе, прям как в Java, и лишь в конце жизненного цикла (внешнего вызова, сессии, процесса) - просто удалять этот регион целиком. Внешние ресурсы (хендлы) - собирать в linked list и удалять вместе с регионом. Про деструкторы и вовсе забыть. Идея кстати не нова, вовсю используется в APR / apache httpd и PostreSQL, образцах long-running стабильности. В виде плюшки заодно и от memory reuse с undefined behavior проблем избавиться.</p><p>Реализацией пока не поделюсь, это отдельный исследовательский проект, думаю в следующем году выложить в github/MIT. Правда вопросами кольцевых буферов в аспекте непрерывной группы чанков я не озадачивался, пока не было необходимости. Пока там в части кольцевых буферов пока лишь аналог LMAX Disruptor для сверхскоростной межпроцессной IPC на lockfree алгоритмах. Для меня самого было удивительным, что даже в offset pointer на самом деле уже и не особо надо, если для всех изолированных процессов заранее замапить буфер в строго определенный адрес - так все процессы будут иметь единую сквозную адресацию.</p><p>И т.д. :)</p>]]></description>
      <pubDate>Thu, 08 Oct 2026 18:20:47 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>08.10.2026 07:09:32</title>
      <guid isPermaLink="true">https://habr.com/ru/companies/naumen/articles/1091656/#comment_30505728</guid>
      <link>https://habr.com/ru/companies/naumen/articles/1091656/#comment_30505728</link>
      <description><![CDATA[<p>Суть статьи: не пытайтесь в самописную JIRA, лучше купите наше решение и поддержку. <br><br>Статья как минимум небесполезна уже тем, что можно озадачиться вопросом и внезапно найти уже готовые Plane, Redmine или Worklenz. </p><p>И для замены ServiceNow оказывается уже существуют FreeITSM, iTop, GLPI - т.е. все давно изобретено до вас, для AI/PET проектов тема управления IT процессами точно не годится.</p><p>И платформ LowCode в последнее время тоже появилось десятки разных, еще одна скорее всего никому не нужна.</p><p>А еще можно вспомнить про LowСode платформу 1С, где тоже можно очень быстро создать конфигурацию для импортозамещения JIRA и ServiceNow :)</p>]]></description>
      <pubDate>Thu, 08 Oct 2026 07:09:32 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>07.10.2026 22:32:32</title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1070772/#comment_30505012</guid>
      <link>https://habr.com/ru/articles/1070772/#comment_30505012</link>
      <description><![CDATA[<p>Озвученная проблема: <br>а) нужно иметь писателя и иметь читателя(лей) для потоковых данных, приближенных к realtime<br>б) нужно максимально быстро переиспользовать уже прочитанную / обработанную память <br>в) нужно обеспечить непрерывность в памяти нескольких подряд идущих элементов размером в несколько килобайт или мегабайт<br><br>Теперь вопрос - а что мешает просто зарезервировать через mmap() (но не выделить) диапазон адресов размером в несколько терабайт (для современных 64-х битных архитектур с 48 реальными адресуемыми битами верхний предел около 128 терабайт, в реальности чуть менее). Физическая память будет выделяться (commit) при записи. Уже обработанную память - просто освобождать через madvise(<strong>MADV_DONTNEED</strong>). Быстрее в этом мире ничего нет, т.к. malloc()/free()/new/delete это просто обертки над mmap() с его commit on demand</p><p>80TB это примерно 80млн чанков размером по 1MB. А при достижении "верхнего предела" можно просто взять паузу и сделать remap() активной часть буфера в начало.</p><p>Не просто так конечно - там уже нужно будет две последовательно очень большие области, скажем по 40TB. И если наш читающий хвост переехал из первой области во вторую (т.е. первая стала полностью не нужна), то мы быстро первую отмпаливаем целиком, вторую ставим на место первой через mremap(), и еще раз делаем заново mmap() второй области с MAP_FIXED. <br><br>Linux довольно консервативен в части использования диапазонов адресов - все что не первый и не последний терабайт из адресуемых 128TB userspace - это система практически не задействует сама (heap растет снизу вверх, стек и mmap()ы без указания адреса - сверху вниз).</p>]]></description>
      <pubDate>Wed, 07 Oct 2026 22:32:32 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>06.10.2026 21:48:08</title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1090612/#comment_30500758</guid>
      <link>https://habr.com/ru/articles/1090612/#comment_30500758</link>
      <description><![CDATA[<p>Абсолютно все 3D реализации по факту давали намного худшее качество картинки. Для вау-эффекта ок, один, ну два раза посмотреть. Но даже аватар в 3D, в кинотеатре - смотрится просто ужасно в сравнении с 2D. И мутно, и цветопередача хуже, и глаза потом полдня болят. <br><br>По аналогичным причинам и VR шлемы провалились - да, как вау эффект прикольно, но постоянно в них работать или даже фильмы иногда смотреть - просто некомфортно.</p>]]></description>
      <pubDate>Tue, 06 Oct 2026 21:48:08 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>06.10.2026 21:30:49</title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1090612/#comment_30500720</guid>
      <link>https://habr.com/ru/articles/1090612/#comment_30500720</link>
      <description><![CDATA[<blockquote><p>а убедиться, что это работает в реальности во всех нужных и ненужных сценариях, по-прежнему может только человек.</p></blockquote><p>Там другое забавнее. Если SDD промпт чуть более двух листов и генерируемый бандл больше условных 50к, то начинается веселая игра вида "уточняем вот тут требования или пытаемся исправить поведение, в результате вот тут вроде как чинится, но внезапно ломается в других местах, и даже там, где не просили; чиним уже там - ломается тут уже то, что собирались чинить изначально, в результате идем думать как все-таки завтра описать новые требования в SDD спеке, чтоб не сразу много поломалось на следующий день, а в конце недели решаем, что  проще плюнуть и вернуться к ручному кодированию с явным контролем границ изменений".</p>]]></description>
      <pubDate>Tue, 06 Oct 2026 21:30:49 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>06.10.2026 21:14:03</title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1090612/#comment_30500670</guid>
      <link>https://habr.com/ru/articles/1090612/#comment_30500670</link>
      <description><![CDATA[<p>На собственных PET и не только PET проектах - через AI очень легко сделать POC / MVP с целью оценить идею в принципе, пусть даже это будет полурабочий прототип UI для A/B, но на нулевом цикле этого достаточно. </p><p>Но вот что забавно - запуская один и тот-же промпт / SDD в разные дни - на выходе каждый раз получаешь абсолютно разные результаты, которые даже через meld или winmerge невозможно сравнить, а через git отслеживать изменения уже и вовсе бесполезно, настолько все прыгает хаотичным образом по файлам.<br><br>Но десятком подобных SDD итераций в принципе можно приблизиться к более-менее работоспособному результату в один случайный день, а в целом - как минимум продумать и описать вручную (а как еще?) модель данных, осознать-описать ключевые функции в этом самом SDD. <br>В результате будет на выходе формальное ТЗ, которое и для человеков тоже вполне себе полезный документ, и... да, не такой уж и плохой стартовый бандл, даже с какой-то структурой проекта, который как минимум компилируется, запускается, что-то отдаленно похожее на требования из ТЗ делает в рамках заданного стека и прочих ограничений.<br><br>И вот на этом вся AI революция и заканчивается, дальше начинаются реалии. Потому что этот бандл без ручных изменений выпускать в продакшин, даже в локальный intranet для каких видавших виды кладовщиков склада готовой продукции - уже в реальности не получится, и все причастные прекрасно знают почему :) <br><br>А после ручных изменений дальше весело играть в SDD уже не есть возможно, т.к. каждая новая итерация / генерация безжалостно потрет и все ранее внесенные в код ручные правки, и даже без ручных правок - аннулирует десятки часов "ручного" code-review и/или "ручного" UI-тестирования. <br>Т.е. на этом этапе или возвращаемся обратно на нулевой цикл генерировать очередной POC / MVP, или забираем на баланс старого доброго ручного сопровождения, доработки и тестирования этот самый удачный бандл.<br><br>А SDD промпт не выбрасываем - продолжаем иногда запускать его и смотреть, какие новые технологии сейчас в моде, тоже кстати польза.</p>]]></description>
      <pubDate>Tue, 06 Oct 2026 21:14:03 GMT</pubDate>
      
    </item>
  

  
    <item>
      <title>06.10.2026 15:48:47</title>
      <guid isPermaLink="true">https://habr.com/ru/companies/cloud_ru/articles/1083058/#comment_30499384</guid>
      <link>https://habr.com/ru/companies/cloud_ru/articles/1083058/#comment_30499384</link>
      <description><![CDATA[<p>Практическая необходимость удаленно запускать GUI приложения под xNIX: установка Oracle RDBMS, там интерфейс установщика изначально был на Java Swings. А на серверах не то что видеокарт не было, они и расположены были иногда на другом континенте. Сразу можно было познакомиться и с Exceed, XMing, Cygwin и ssh X11 forwarding еще в 200х годах, если не раньше.<br><br>Да, можно было и в unattended install в TUI, но там было просто неудобно.<br><br>Аналогично можно-нужно было запускать всякие IDE на удаленных серверах, Solaris Studio, Netbeans, еще задолго до появления VS Code Remote. <br><br>В современных реалиях это все правда уже не сильно нужно, более актуальным является x2go, там есть режим отключиться-переподключиться к удаленному рабочему столу, прям как изначально в RDP/Citrix ICA. <br><br>В случае X11/XDCMP отключение приводило к отстрелу всех приложений сессии by design, но могу ошибаться, возможно уже доработали. <br><br></p>]]></description>
      <pubDate>Tue, 06 Oct 2026 15:48:47 GMT</pubDate>
      
    </item>
  


      

      

    
  </channel>
</rss>
