Макрос присоединения к процессу Visual Studio

При отладке VST-плагина довольно утомительно каждый раз выбирать хост-процесс, к которому нужно присоединиться из полного списка процессов. Здесь описан способ создания макроса, позволяющего упростить эту рутинную операцию для присоединения к IIS для отладки ASP.NET. Для наших целей (присоединение к процессу reaper.exe) лучше взять и слегка поправить шаблон макроса из Samples-VsDebugger-AttachToCalc, который пытается присоединиться к калькулятору Windows.

  1. Создать новый модуль макроса в >Macro Explorer (Tools->Macro->Macro Explorer) , например, с названием MyDebuggerTools.
  2. Вписываем примерно такой код модуля:
  3. Imports System
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports System.Diagnostics
    Imports System.Security.Principal
    
    Public Module MyDebuggerTools
    
        ' This subroutine attaches to reaper.exe if it is running.
        Sub AttachToReaper()
            Dim attached As Boolean = False
            Dim proc As EnvDTE.Process
    
            Dim reaperProcName = "reaper.exe"
    
            For Each proc In DTE.Debugger.LocalProcesses
                If (Right(proc.Name, Len(reaperProcName)) = reaperProcName) Then
                    proc.Attach()
                    attached = True
                    Exit For
                End If
            Next
    
            If attached = False Then
                MsgBox(reaperProcName + "is not running")
            End If
    
        End Sub
    
    End Module
    
  4. Привязываем макрос к сочетанию клавиш. Tools-Options->Environment-Keyboard, вводим в фильтре начало имени процедуры, указываем сочетание клавиш, например, Сtrl-Alt-K и нажимаем кнопку Assign.

Как самостоятельно получить визу в Латвию

Постараюсь рассказать, как сделать визу в Латвию без помощи туристических фирм. Это может понадобиться при посещении родственников или друзей, в этом случае без покупки тура турфирмы отказывают в помощи с оформлением визы. Сразу скажу, что речь идет о консульстве в Санкт-Петербурге. Сайт консульства с информацией о документах очень невнятный и не содержит всей информации, поэтому проще смотреть сразу сайт посольства Латвии в Москве, на котором все четко расписано. Например список документов для посещения родственников и друзей.

  1. Необходимо приглашение. Мне его делали родственники, им для этого потребовалась информация о загран. паспорте и почему-то о месте моей работы. Пересылать по почте ничего не нужно, требуется указать только девятизначный номер приглашение. Кроме того, в анкете требуется указать имя приглаюющего человека и адрес с телефоном. Приглашение действительно полгода — время на оформление визы.
  2. Заполненная анкета. Бланк анкеты на русском языке, здесь пример заполнения и указания по заполнению. Из указаний для меня было интересным только поле с адресом — если адрес прописки и проживания отличаются, а еще в 33 пункте, если в качестве источника финансирования указаны наличные деньги, то необходимо поставить еще одну галочку(например, что проще всего, кредитная карта). По поводу адреса, по идее в консульстве Петербурга должны принимать только жителей Санкт-Петербурга и Ленинградской области, Республики Карелия, Вологодской и Новгородской областей, однако у меня даже не спросили копию временной регистрации. Хотя по телефону сказали, что в ближайшем будущем, с временной регистрацией в Санкт-Петербурге, сделать визу можно будет только в Москве.
  3. Одна цветная фотография размером 35 мм х 45 мм, которая приклеивается самостоятельно на первую страницу анкеты. Почему-то на на стенде перед входом в консульство размеры фотографии указаны как 35 мм x 40 мм, но фотографию 35 мм х 45 мм приняли без разговоров. Фотография должна быть сделана не позднее, чем за 6 месяцев. Лично я делал в Ярком мире — 120 рублей, если делать за сутки или 250 рублей, если сразу печатать фото.
  4. Страховой полис с минимальным покрытием 30 тыс. евро. На подходе к консульству дежурят зазывалы некоего «Капитал-Полиса», которые предлагают услуги в получении полиса/заполнении анкеты, а еще с саркастической усмешкой желают удачи при отказе от их услуг :). Список аккредитованных компаний довольно широк, можно выбрать ту, где удобнее/дешевле. Я делал полис в РосГосСтрахе — для визы на 4 дня около 220 рублей. (Капитал-Полис просит 250 рублей.) Требование дополнительного срока 15 дней к действию полиса относится не к продолжительности поездки, а просто срок, прибавляемый к сроку действия визы. Например если в анкете вы указали длительность пребывания 10 дней с 1 по 10 января, то виза будет действовать с 1 по 25 января.
  5. Стоимость краткосрочной вьездной (однократной) визы для граждан России — 35 евро. Оплачивать нужно именно в евро (не в рублях).
  6. Подтверждение наличия финансовых средств. На сайте написано, что это требуется только если приглашающая сторона не покрывает расходы, но на автоответчике консульства (812)336 34 53 это было озвучено как необходимый документ без каких-либо оговорок. Проще всего сделать выписку с банковского счета, подтверждающую сумму из расчета 15 евро в день; формально, лучше за 3 месяца, у меня была выписка за последний месяц, придираться не стали.

Все оказалось не так уж и страшно, консульство открывается с 9.30, народу очень мало, охранник требует пройти через металлоискатель и отключить мобильные телефоны. После приема документов выдают талончик на получение загранпаспорта с визой ровно через неделю (хотя на сайте написано, что через 10 дней), выдача с 14.00 до 15.00.

m2html — генерация Matlab документации

Библиотека M2html позволяет сгенерировать html-документацию для Matlab-кода. Думаю, не нужно рассказывать о том, как это может быть полезно при работе с большим проектом или созданием тулбокса.

m2html('mfiles','auditech', 'htmldir','documentation', ...
       'recursive','on', 'global','on', ...
      'template','frame1251', 'index','menu', 'graph','on');

Стоит отметить большую гибкость инструмента, состоящую в использовании шаблонов. Так, например, для использования шаблона frame с русскими комментариями (в кодировке Win-1251) необходимо изменить кодировку во всех TPL-файлу. Лучше всего скопировать в новую папку с шаблоном, например, как у меня с названием frame1251, далее charset=iso-8859-1 меняется на charset=windows-1251.

CLR via C# third Edition


Так и не дождавшись перевода CLR via С#,заказал оригинальное издание на Amazon. На удивление почта России не подвела — при оценке срока доставки 1 сентября, уведомление о посылке я увидел 2 числа. Жалко, что обложка мягкая, но не помню, когда в последний раз видел такую белую бумагу в российских книжках. Книга не зря наделена пятью звездочками рейтинга. Конечно, Рихтер иногда чересчур уходит в особенности реализации платформ, но тем не менее, пожалуй, это единственный способ узнать все подробности внутреннего устройства платформы CLR. Постоянное внимание к вопросам производительности, особенностям реализации той или иной функциональности, конечно, не пригодится при клепании формочек, но дает более глубокое понимание того, зачем вообще нужна эта функциональность, почему она работает именно так, а не иначе. Книга просто обязательна к прочтению любым профессиональным C# программистом.

TimeAdjust — копирование атрибутов времени в Total Commander

Программа TimeAdjust позволяет выполнить операцию, которой нет в функционале Total Commander — копирование только атрибутов времени файлов. Для того, чтобы ей воспользоваться нужно создать кнопку на панели инструментов со следующими настройками :


Command : TimeAdj.exe
Parameters: /LST «%L» «%T»

В качестве пути запуска указано %COMMANDER_PATH% , так как TimeAdjust.exe скопирован в каталог с Total Commander. При нажатии на кнопку будут скопированы атрибуты времени выделенных файлов в активной панели в файлы с такими же именами на другой панели.