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

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

  <channel>
    <title><![CDATA[Статьи]]></title>
    <link>https://habr.com/ru/users/deepwalker/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя deepwalker]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sat, 02 May 2026 12:11:06 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><![CDATA[Trafaret как парсер. Реализация JSON Schema]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/336282/</guid>
      <link>https://habr.com/ru/articles/336282/?utm_campaign=336282&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h1>Intro</h1><br>
<p>Есть такой шаг в развитии языка, когда его компилятор написан на нем же.<br>
Чтобы доказать крутость библиотеки trafaret я тоже решил сделать что-то такое же<br>
рекурсивненькое, где надо идти глубже.</p><br>
<p>Напишем на трафарете парсер Json Schema, который на выходе вернет<br>
готовый трафарет для проверки документов в соответствии с данным описанием.</p><br>
<p>То есть некий объект типа Trafaret, если ему скормить корректный документ json schema<br>
на выходе вернет объект типа Trafaret, которому можно кормить документы<br>
соответствующие описанию.</p><br>
<p>Как вообще такое сделать библиотекой валидации? Ну библиотекой валидации никак, а вот универсальным трансформером запросто. Trafaret это парсер данных, точнее комбинаторный парсер. Только те парсеры про которые вы наслышаны такие как parsec и funcparserlib парсят строки, а Trafaret парсит все что под руку подвернется, и на что у автора талантов хватит закодировать.</p><br>
<p>Json Schema описывается как водится пачкой документов из которых самый близкий народу пожалуй этот — <a href="http://json-schema.org/latest/json-schema-validation.html">http://json-schema.org/latest/json-schema-validation.html</a><br>
Тут описание множества ключевых слов с помощью которых вы можете описать критерии корректности документа, а вот замечательный и зубодробительный в реализации $ref всего в одном месте вскользь.</p> <a href="https://habr.com/ru/articles/336282/?utm_campaign=336282&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше →</a>]]></description>
      
      <pubDate>Wed, 23 Aug 2017 21:57:44 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[trafaret]]></category><category><![CDATA[jsonschema]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Backslant – шаблонизатор в стиле slim]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/254567/</guid>
      <link>https://habr.com/ru/articles/254567/?utm_campaign=254567&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Захотелось мне сделать шаблонизатор, чтобы как slim, теги чтобы автоматом закрывались и прочее. Красиво же так:<br/>
<pre><code>html
  head
    title
        - yield &quot;Плюшка!&quot; + &quot; Чашка чаю!&quot;
</code></pre><br/>
<br/>
Но и этого мне мало, хочу чтобы не было своего недоязыка, хочу чтобы просто питоновские конструкции. А кто захочет себе в ногу стрельнуть и бизнес логики в шаблоны навалить, то это проблема начинашек, мне зачем мучаться размазывая код вьюх в папки типа utils, template_tags и прочее?<br/>
<br/>
А и еще можно кстати угореть так уж угореть — а пусть шаблоны через новый механизм импорта в python 3 тянутся. И если надо что-то от другого шаблона себе вставить, то тоже пусть также работает.<br/>
<br/>
А еще, еще пусть каждый шаблон это генератор!<br/>
<br/>
 <a href="https://habr.com/ru/articles/254567/?utm_campaign=254567&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Tue, 31 Mar 2015 21:05:35 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[slim]]></category><category><![CDATA[ast]]></category><category><![CDATA[jinja2]]></category><category><![CDATA[templates]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Pundle — bundler для python]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/249425/</guid>
      <link>https://habr.com/ru/articles/249425/?utm_campaign=249425&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Начну с пиара другого проекта, который мне очень нравится использовать — pyenv. Это порт rbenv для python, который служит для установки нужных версий python в папку пользователя в недра ~/.pyenv, и активации нужной версии руками или, что более грамотно, через файл .pyenv-version в папке проекта.<br/>
<br/>
Следуя этой старой доброй традиции обмениваться здравыми идеями с ruby сообществом, я решил портировать идею Bundler (http://bundler.io/), и назвал его Pundle. Это вторая часть рабочего процесса связанного с версиями интерпретаторов и пакетов в руби, и как и первая, достаточно разумна.<br/>
<br/>
Главная идея pundle в том, чтобы не создавать отдельную директорию на каждую комбинацию версий пакетов как в virtualenv, а вместо этого поставить все пакеты в директории типа .pundlerdir/python-version-variant/package-name-2.3.4, и при старте проекта, взяв информацию из frozen.txt, активировать нужные версии пакетов<br/>
<br/>
 <a href="https://habr.com/ru/articles/249425/?utm_campaign=249425&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sun, 01 Feb 2015 15:39:00 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[virtualenv]]></category><category><![CDATA[bundler]]></category><category><![CDATA[pyenv]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Открытые классы в ruby, заметки для питонистов]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/214191/</guid>
      <link>https://habr.com/ru/articles/214191/?utm_campaign=214191&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[По своему опыту знаю, что открытые классы в ruby раздражают и вызывают непонимание в среде питонистов. Ну в самом деле, что за странность открыть класс String и переопределить там size?<br/>
 <a href="https://habr.com/ru/articles/214191/?utm_campaign=214191&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Fri, 28 Feb 2014 10:45:55 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Ruby]]></category><category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[ruby]]></category><category><![CDATA[traits]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Исследование, которое может показать, что Вселенная это компьютерная симуляция]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/154373/</guid>
      <link>https://habr.com/ru/articles/154373/?utm_campaign=154373&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Ученые говорят, что если Вселенная продукт симуляции, то мы увидим подсказки в высокоэнергетических космических лучах.<br/>
Одна из самых взлелеянных идей в современной физике, квантовая хромодинамика, теория которая описывает сильное взаимодействие, как она связывает кварки и глюоны в протоны и нейтроны. Это основание вселенной.<br/>
<br/>
Таким образом, интересная цель симулировать квантовую хромодинамику на компьютере, чтобы увидеть что получится на макро уровне. Моделирование на таком уровне должно быть более или менее эквивалентно симуляции самой вселенной.<br/>
<br/>
Конечно, есть одна или две проблемы на этом пути. Квантовая хромодинамика мозгосносяще сложна и оперирует вычислениями на планковских масштабах. Поэтому даже используя самые мощные суперкомпьютеры мира, физики могут симулировать лишь маленькие кусочки космоса размером в несколько фемтометров (10^-15).<br/>
<br/>
Звучит не впечатляюще, но важно, что такая симуляция практически неотличима от происходящего в реальности (по крайней мере насколько мы это понимаем).<br/>
<br/>
Не так сложно себе представить, что прогресс подобный закону Мура, позволит физикам симулировать намного большие участки вселенной. Участки размером всего в несколько микрометров в диаметре могут вместить в себя полную работу человеческой клетки.<br/>
<br/>
И снова, работа симулируемой клетки будет неотличима от реальной.<br/>
<br/>
Подобные размышления приводят к тому, что возможно наша вселенная запущена на супермощном компьютере. А если это так, есть ли возможность это проверить?<br/>
<br/>
Сегодня мы получили в некотором роде ответ от Силаса Бине из университета Бонна в Германии, и его коллег. Они говорят, что есть возможность найти проявления симуляции нашей вселенной, по крайней мере в некоторых сценариях.<br/>
<br/>
Для начала небольшое введение. Проблема любой симуляции в том, что законы физики, которые, по сути, непрерывны, в симуляции накладываются на дискретную трехмерную решетку, состояние которой изменяется во времени.<br/>
<br/>
Бине и коллеги поставили вопрос, приведут ли ограничения решетки к какого-либо рода ограничениям на физические процессы нашей вселенной. В частности они проверили высокоэнергетические процессы, которые затрагивают меньшие части пространства пока их энергия нарастает.<br/>
<br/>
 <a href="https://habr.com/ru/articles/154373/?utm_campaign=154373&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 10 Oct 2012 20:08:04 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Научная фантастика]]></category><category><![CDATA[Суперкомпьютеры]]></category>
      <category>вселенная</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Trafaret — библиотека для проверки и преобразования данных]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/139927/</guid>
      <link>https://habr.com/ru/articles/139927/?utm_campaign=139927&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Исходные данные — вы строите некий сервис, и узнаете, что будете получать данные из вне в определенном формате.<br/>
Предположим что это будет JSON, структуру его определяете не вы, и вообще вот она:<br/>
 <a href="https://habr.com/ru/articles/139927/?utm_campaign=139927&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 14 Mar 2012 10:47:45 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Проектирование API]]></category><category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[формы]]></category><category><![CDATA[api]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] SQLAlchemy для Django]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/128052/</guid>
      <link>https://habr.com/ru/articles/128052/?utm_campaign=128052&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/post_images/73c/3d3/1ca/73c3d31ca731dbf35c82e214fe9be778.png" alt="image" align="left"/> Я не люблю Django. Я не люблю Django ORM, Django templates, Django forms и еще множество вещей в Django. Но у Django есть определенное преимущество — многие используют Django, практически любой python-программист знаком с джанго. Поэтому приходится мириться с недостатками этого фреймворка, но никто не мешает облегчать себе жизнь, используя действительно хорошие python библиотеки, например SQLAlchemy.<br/>
<br/>
Что в SQLAlchemy лучше чем в Django ORM? Это главный вопрос, который я слышу от Django guys<sup>1</sup>, и у меня есть на него ответ — SQLAlchemy может выразить любой SQL запрос (ну 80-90%), в отличие от Django ORM, в котором можно выразить только весьма простые вещи.<br/>
<br/>
И в некоторых Django проектах возникает необходимость в сложных запросах, на которые стандартный ORM неспособен. Условно предположим, что в момент создания проекта считалось, что Django ORM вполне хватит. Для решения можно писать чистый SQL или воспользоваться SQLAlchemy. Я за второй подход, так как чистый SQL плохо поддается DRY-фикации.<br/>
<br/>
 <a href="https://habr.com/ru/articles/128052/?utm_campaign=128052&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 08 Sep 2011 20:20:01 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category>python sqlalchemy django</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Django в неблокирующем стиле, или в погоне за Священным Граалем]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/84237/</guid>
      <link>https://habr.com/ru/articles/84237/?utm_campaign=84237&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg7.imageshack.us%2Fimg7%2F588%2Fholygrail051.jpg%22" alt="image"/><br/>
<h4>Присказка</h4><br/>
При чтении о Twisted, Tornado, Node.js, у многих python-программистов возникает вопрос — «а вот если взять, и переписать Django в неблокирующем стиле?». Обычный ответ на этот вопрос — нет, не дождетесь. И правда, чтобы переписать целый фреймворк в макаронно-колбечном стиле, надо очень много сил, и большой заряд энтузиазма. Писать с колбеками, очень сомнительное удовольствие.<br/>
<br/>
Так бы и было, но как я писал в своей прошлой заметке, есть в python-мире greenlet-ы, которые легким движением руки помогают скрыть от программиста все эти асинхронные моменты, до определенной степени. В момент написания той заметки, к мысли заставить работать Django в неблокирующем режиме, я относился весьма скептически — ну в самом деле, кто за это возьмется?<br/>
<br/>
 <a href="https://habr.com/ru/articles/84237/?utm_campaign=84237&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sun, 14 Feb 2010 18:56:26 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[django]]></category><category><![CDATA[twisted]]></category><category><![CDATA[greenlet]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Озеленение Twisted]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/80339/</guid>
      <link>https://habr.com/ru/articles/80339/?utm_campaign=80339&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Как обычно, в праздники, в свободное время от затирки плитки и прочих прибиваний плинтуса, меня захватила очередная идея из цикла «попробовать». На хабре проскочила статья о <a href="http://habrahabr.ru/blogs/python/80062/">Pyrant</a>. Первой итерацией я взял и переделал основную часть протокола на Twisted — <a href="http://github.com/Deepwalker/tx-tokyo">github.com/Deepwalker/tx-tokyo</a>. И все было хорошо, наступление шло по всем фронтам, но тут я перешел к питоничной части pyrant, и понял что сделать yield a[megakey]='mega data string', вообще говоря невозможно. Это было очень печально, ведь в статье меня зацепило именно легкое обращение с данными в питоничной форме. Что же делать, Пух, спросил я себя? И вспомнил о <a href="http://codespeak.net/py/0.9.2/greenlet.html">greenlet-ах</a>.<br/>
<br/>
 <a href="https://habr.com/ru/articles/80339/?utm_campaign=80339&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sat, 09 Jan 2010 17:35:54 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[twisted]]></category><category><![CDATA[greenlet]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Twisted в действии — memcache на python]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/78114/</guid>
      <link>https://habr.com/ru/articles/78114/?utm_campaign=78114&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h4>Преамбула</h4> <br/>
В связи с выходными потратил немного времени на реализацию сервера Memcache с использованием python-фреймворка Twisted. В итоге я получил быстродействие в два раза более низкое, что я не считаю очень критичным, а также возможность реализовать парочку расширений оригинального протокола. Также возможны оптимизации, которые еще улучшат быстродействие. <br/>
Протокол не был реализован полностью — есть еще моменты над которыми можно поработать, но стандартные set/get вполне работоспособны и готовы к использованию. <br/>
<br/>
<h4>Средства</h4><br/>
Для хранения кеша используем базовый класс dict. Как вы догадываетесь, реализация dict в python быстра, этот базовый тип используется в python настолько активно, что его не оставили без детальной оптимизации. Таким образом, мы автоматом имеем структуру для хранения кеша в памяти. Осталось реализовать протокол memcache, для предоставления доступа к dict другим программам. <br/>
<br/>
Для реализации сервера используем Twisted. Есть множество вариаций неблокирующего IO для python на сегодня, но Twisted это уже классика, и имеет в своем арсенале достаточно средств для легкого решения подобных задач. <br/>
<br/>
 <a href="https://habr.com/ru/articles/78114/?utm_campaign=78114&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sun, 13 Dec 2009 09:53:39 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[twisted]]></category><category><![CDATA[memcache]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Прокси-сервер SIP на Twisted]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/73565/</guid>
      <link>https://habr.com/ru/articles/73565/?utm_campaign=73565&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Питонисты в курсе, что есть такая чудо библиотека для работы с сетевыми протоколами как Twisted. Она немного сложна поначалу, но после просветления становится совершенно необходимым инструментом.<br/>
В стандартной поставке с ней идет множество уже реализованных протоколов — IMAP, XMPP, HTTP (в сочетании с обработкой URL и какой-нибудь библиотекой шаблонов весьма полезный инструмент) и т.д. Количество же протоколов, которые реализованы на/для Twisted не поддается подсчету.<br/>
<br/>
 <a href="https://habr.com/ru/articles/73565/?utm_campaign=73565&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 28 Oct 2009 06:11:13 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[voip]]></category><category><![CDATA[twisted]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[В тылу врага. Внедрение]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/54506/</guid>
      <link>https://habr.com/ru/articles/54506/?utm_campaign=54506&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[События происходят за садовым кольцом в стандартной фирме, использующей, в основном, решения от Microsoft, не выделяясь в этом плане на фоне остальных. С некоторых пор в фирме работает <i>линуксоид</i>, который терпеть не может работать в ОС Windows.<br/>
<br/>
При всей нелюбви к юзабилити, предоставляемым продуктами небезызвестной корпорации, линуксоиду необходимо интегрироваться в сеть для осуществления деятельности, за которую он будет получать зарплату. В частности ему будет необходимо работать с почтой, обмениваться файлами через общие папки, открывать документы MS Office.<br/>
<br/>
 <a href="https://habr.com/ru/articles/54506/?utm_campaign=54506&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Как же выживают линуксоиды в таких условиях?</a>]]></description>
      
      <pubDate>Mon, 16 Mar 2009 17:16:41 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Настройка Linux]]></category>
      <category><![CDATA[linux]]></category><category><![CDATA[windows]]></category><category><![CDATA[kerberos]]></category><category><![CDATA[active directory]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Поиск драйверов для неизвестных устройств в windows]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/54094/</guid>
      <link>https://habr.com/ru/articles/54094/?utm_campaign=54094&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Думаю вы не раз встречались с ситуацией, когда не могли найти драйвера к некоторым устройствам в ОС Windows. В диспетчере устройств эти железки гордо именуются «Неизвестное устройство». Хочу вам продемонстрировать мой метод решения подобных ситуаций и две истории успешного его применения.<br/>
<br/>
Сразу скажу, что платформу Windows я знаю плохо, поэтому и решение подобной проблемы может быть гораздо более простым — достаточно приобрести программу которая расскажет вам все о железной начинке вашего компьютера.<br/>
<br/>
Итак, первая история. Когда то давно я приобрел IrDA-USB адаптер для связи с телефоном Nokia и с Windows XP он работал. Прошло время, появился ноутбук с Windows Vista, и нужно было данные с телефона скопировать для сохранности. И тут выяснилось, что адаптер не работает с драйверами, которые шли на диске. На сайте производителя (Tekram) свежего драйвера под Vista не обнаружилось, но в то же время адаптер прекрасно работал под Linux, чем я и воспользовался.<br/>
<br/>
Все знают, что пластиковая оболочка многих устройств с гордым логотипом производителя на деле скрывает под собой чип, который используется в сотнях подобных устройств. Linux не смотрит на логотип, Linux работает с чипами, и вывод dmesg и lspci, lsusb наглядно показывает где следует искать драйвера.<br/>
<br/>
Итак, я вставил адаптер в Linux машину и посмотрел вывод lsusb:<br/>
<br/>
<code>Bus 007 Device 002: ID 9710:7780 MosChip Semiconductor MS7780 4Mbps Fast IRDA Adapter</code><br/>
<br/>
На сайте производителя за пару минут я нашел требуемое — драйвер под Windows Vista, который заработал.<br/>
<br/>
Следующий пример — сервера HP ML110G5. HP поддерживает для этой серии установку Windows Server 2003, и ничего более. В то же время сервера брались под весьма кривую систему, которая иначе как под Windows XP не запускалась. Как вы понимаете на сайте HP драйверов под Windows XP не было, а техподдержка вторично недвусмысленно выразилась, что подобная связка не поддерживается.<br/>
<br/>
И снова Linux, а именно Slax, нам помог, lspci вывел наименование чипсета, драйвера под который мы успешно скачали с сайта Intel.<br/>
<br/>
Вообще Linux успешно помогает работать с Windows сетями, и эти два случая демонстрируют лишь одну малую возможность применения. К примеру разворачивать новые компьютеры в сети мне привычнее при помощи partimage или dd, так как я не считаю возможным пользоваться нелицензионным ПО, а покупать Norton Ghost, когда я прекрасно обхожусь без него, это растрата средств работодателя.<br/>
<br/>
Обновление: в комментариях можно найти другие решения этой частной проблемы. <a href="https://habr.com/ru/articles/54094/?utm_campaign=54094&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut"></a>]]></description>
      
      <pubDate>Wed, 11 Mar 2009 04:41:31 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Системное администрирование]]></category>
      <category><![CDATA[windows]]></category><category><![CDATA[драйвер]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[VPN, полное покрытие]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/51365/</guid>
      <link>https://habr.com/ru/articles/51365/?utm_campaign=51365&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Представьте, ваша компания набирает обороты, растут продажи, происходит открытие множества филиалов, и эти филиалы активно работают друг с другом. А это значит что вам нужно все их друг с другом связать! В качестве оборудования у нас маршрутизаторы Cisco, что впрочем отменяет только конечные примеры настроек, если у вас Cisco нет, я находил в сети проект OpenNHRP.<br/>
<br/>
Итак, начнем. Для начала свяжем центр с первым филиалом с использованием IPSEC.<br/>
<br/>
 <a href="https://habr.com/ru/articles/51365/?utm_campaign=51365&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 12 Feb 2009 04:05:53 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Cisco]]></category>
      <category><![CDATA[cisco]]></category><category><![CDATA[vpn]]></category><category><![CDATA[dmvpn]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Путешествие группы формант по голосовому тракту]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/51129/</guid>
      <link>https://habr.com/ru/articles/51129/?utm_campaign=51129&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<i>Трое монтажников связи. Страдания Джорджа и Гарриса. Жертва ста семи помех. Полезные рецепты. Средство против болезней голосового тракта у монтажников. Монтажники сходятся на том, что переутомились и что им нужен отдых. Неделя в море, вдали от скруток? Джордж предлагает путешествие по реке. Монморенси выдвигает возражение, на реке ловит сотовый. Первоначальное предложение принято большинством трех против одного.</i><br/>
<br/>
<h2>Аналоговая телефония</h2><br/>
<br/>
Все что нужно, чтобы связаться посредством двух телефонов — двухжильный провод и питание постоянным током (батарейка «Крона», например). Эту нехитрую истину знают монтажники связи — десятилетия у каждого из представителей доблестной профессии в сумке болтается <a href="http://izmer-ls.narod.ru/prozv.html">переделанная трубка от советского дискового телефона.</a><br/>
<br/>
 <a href="https://habr.com/ru/articles/51129/?utm_campaign=51129&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 05 Feb 2009 07:43:45 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Системы связи]]></category>
      <category><![CDATA[телефония]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Ликбез по основам безопасности и криптографии]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/50177/</guid>
      <link>https://habr.com/ru/articles/50177/?utm_campaign=50177&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h2>Криптография</h2><br/>
<br/>
Три кита криптографии — хеш, шифрование симметричное, шифрование асимметричное (с открытым ключом). Основываются криптографические алгоритмы на сложности вычисления больших чисел, но подробнее об этом, если вас конкретно интересует «начинка», стоит читать не в общих обзорах, именуемых ликбезом. Здесь же содержится простое изложение, без лишних заморочек, то есть поверхностное.<br/>
 <a href="https://habr.com/ru/articles/50177/?utm_campaign=50177&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Tue, 27 Jan 2009 11:00:51 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Информационная безопасность]]></category>
      <category><![CDATA[безопасность]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Введение в FreeSWITCH, часть вторая]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/50240/</guid>
      <link>https://habr.com/ru/articles/50240/?utm_campaign=50240&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="http://deepwalker.habrahabr.ru/blog/50091/">О FreeSWITCH</a><br/>
<a href="http://deepwalker.habrahabr.ru/blog/50140/">Первая часть</a><br/>
<br/>
<h2>Номерной план</h2><br/>
<br/>
Итак, у FreeSWITCH можно подкрутить множество настроек, но основное действо будет происходить в номерном плане. Номерной план располагается в conf/dialplan/*. Как обычно препроцессинг собирает все файлы из этой папки в один. Номерной план делится на контексты (context). То есть следуя настройкам в SIP профиле, настройкам пользователя, выбирается соотвествующий контекст и звонок обрабатывается в соответствии с модулями (extension, переводится на русский как «добавочный номер», но не соответствует смыслу).<br/>
<br/>
 <a href="https://habr.com/ru/articles/50240/?utm_campaign=50240&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 26 Jan 2009 05:25:02 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Системы связи]]></category>
      <category><![CDATA[voip]]></category><category><![CDATA[freeswitch]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Python. Плазма-змей]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/50184/</guid>
      <link>https://habr.com/ru/articles/50184/?utm_campaign=50184&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h2>KDE4</h2><br/>
Все уже успели пройтись по сырости технологии, внешнему виду, концепциям интерфейса, но настоящие апологеты знают — когда KDE4 войдёт в стабильную фазу, все станет хорошо, и слабые духом отступники, которые видите ли не могли потерпеть годик постоянных глюков, вернутся.<br/>
<br/>
Теперь серьезно — ключевая технология нового KDE — Plasma. Таким образом, чтобы в KDE было жить хорошо, надо создавать <i>плазмоиды</i>. Спасибо C и C++ за работу ядра, X сервера и KDE, а мы, поколение web-разработчиков, да и вообще людей привыкших к простоте, вполне можем обжить систему используя более знакомые нам языки, к примеру Python, который, как известно, поставляется с батарейками.<br/>
<br/>
 <a href="https://habr.com/ru/articles/50184/?utm_campaign=50184&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Хмм, а может и мне вывести карму на панель?</a>]]></description>
      
      <pubDate>Sun, 25 Jan 2009 11:12:38 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[python]]></category><category><![CDATA[kde4]]></category><category><![CDATA[plasma]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Введение в FreeSWITCH, часть первая]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/50140/</guid>
      <link>https://habr.com/ru/articles/50140/?utm_campaign=50140&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[В свое время я открыл для себя Asterisk и VoIP вообще после прочтения серии статей на <a href="http://opennet.ru">opennet.ru</a> о его настройке. Попробую повторить пиар подобного типа для FreeSWITCH. <br/>
<br/>
 <a href="https://habr.com/ru/articles/50140/?utm_campaign=50140&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sat, 24 Jan 2009 18:24:07 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Системы связи]]></category>
      <category><![CDATA[voip]]></category><category><![CDATA[freeswitch]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[FreeSWITCH. Быть может будущее телефонии уже с нами?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/50091/</guid>
      <link>https://habr.com/ru/articles/50091/?utm_campaign=50091&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="http://freeswitch.org/">FreeSWITCH</a> это редко упоминаемая в настоящее время платформа для телефонии обладающая обширными возможностями. Создан группой бывших разработчиков Asterisk, но не таким образом как Callweaver — архитектура системы переписана с нуля, это не форк. Так как код независим от Asterisk и его форков, разработчики могли выбирать лицензию отличную от GPL, и в итоге выбрали MPL, что позволяет использовать FreeSWITCH в продуктах, производители которых не готовы открывать свои наработки. К сожалению это не позволяет разработчикам использовать код под GPL.<br/>
<br/>
Основные моменты:<br/>
<ul>
<li>Архитектура многопоточная, производительность очень высокая (тестировал лично, есть тесты на официальном сайте);</li>
<li>Модуль это модуль, а не название. То есть можно отключить mod_sofia отвечающий за SIP и система продолжит работать. Архитектура Asterisk такого не позволит — код сервера тесно переплетен с кодом chan_sip. Сведения из первых рук — от разработчика;</li>
<li>Цель — максимально использовать готовые библиотеки. Разработчики не считают своим долгом реализовать все VoIP протоколы современности лично. Вариант с использованием готовой библиотеки вполне подходит;</li>
<li>Конфигурация — один XML документ разбитый на логические части по разным файлам, собирается препроцессингом (много за и против конфига в XML, все в курсе);</li>
</ul><br/>
 <a href="https://habr.com/ru/articles/50091/?utm_campaign=50091&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">а еще, а еще он может вот сколько</a>]]></description>
      
      <pubDate>Sat, 24 Jan 2009 09:47:40 GMT</pubDate>
      <dc:creator><![CDATA[Deepwalker]]></dc:creator>
      <category><![CDATA[Системы связи]]></category>
      <category><![CDATA[voip]]></category><category><![CDATA[voip-телефон]]></category><category><![CDATA[freeswitch]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
