WeMos D1 MINI

Установка в Arduino IDE, Подводные камни Установка хорошо описана здесь: http://wiki.iarduino.ru/page/WEMOS_start/ Но есть 2 момента:
  • Плату выбираем не WeMos D1 R2 & mini, а WeMos D1 Lite.
  • Скетч не прошьется. Будет выдавать ошибку, пока не установить  параметр Erase Flash: All Flash (См. картинку)WeMos

AcceptSecurityContext failed with. [0x8009030C]

При попытке SSO авторизации на той же машине, где расположен сам сервис авторизации (sso-proxy) получал ошибку
AcceptSecurityContext failed with. [0x8009030C]

Помогло так
HKLM\System\CurrentControlSet\Control\LSA Add a DWORD value called “DisableLoopbackCheck” Set this value to 1

Authentication requests when you open Office documents in IE

При скачивании документов «Content-Type: application/msword» в ИЕ появляются окна авторизации. А появляются они из-за того что ИЕ шлют кучу служебных запросов «Microsoft Office Discovery». Ставим заглушку, можно было и в модреврайт поставить, я добавил на уровне пхп, дабы не зависеть от настроек апача.

// https://support.microsoft.com/en-us/help/2019105/authentication-requests-when-you-open-office-documents
// https://support.microsoft.com/en-ph/help/838028/how-documents-are-opened-from-a-web-site-in-office-2003
$matches = null;
$isIEzzz = preg_match('/^\\s*Microsoft((\\s+Office\\s+.*\\s+Discovery)|(-WebDAV-MiniRedir))/i', $_SERVER['HTTP_USER_AGENT'], $matches);
if ($isIEzzz === 1) {
    http_response_code(501); // 501 Not Implemented
    exit;
}

Windows 10 возвращаем «Средство Просмотра фотографий Windows»

При «чистой» установке windows 10 «Средство Просмотра фотографий Windows» более недоступно, исправляем ситуацию добавив несколько записей в реестр.
Скачиваем, открываем архив, запускаем, соглашаемся на отсутствие подписи, внесение изменений и тд. Activate Windows Photo Viewer on Windows 10.reg.zip
Открываем «Приложения по умолчанию» выбираем «Просмотр фотографий Windows». Приложения по умолчанию

Excel RegExp Match

Функцию в модуль
Public Function regMatch(ByVal inStr2 As String, ByVal patternStr As String, Optional ByVal idx As Integer = -1) As String
Dim regEx As New RegExp
Dim regMatches As Object
    With regEx
            .Global = True
            .MultiLine = True
            .IgnoreCase = False
            .Pattern = patternStr
            
            If .Test(inStr2) Then
                If (idx >= 0) Then
                    If .Execute(inStr2)(0).SubMatches.Count() > idx Then
                    regMatch = .Execute(inStr2)(0).SubMatches(idx)
                    Else
                    regMatch = ""
                    End If
                Else
                    regMatch = .Execute(inStr2)(0)
                End If
            Else
                regMatch = ""
            End If
        
    End With
End Function
Пример формулы в ячейке
=regMatch(H3;"(\(|\{)\s*([0-9A-Z]{8}\s*\-\s*[0-9A-Z]{8})\s*(\}|\))";1)
Последний параметр необязательный
=regMatch(H4;"(\(|\{)\s*([0-9A-Z]{8}\s*\-\s*[0-9A-Z]{8})\s*(\}|\))")

API Вконтакте «Поделиться» и параметр noparse, не работает, решено.

Решил поделиться проблемой и решением, небольшим костылем, может кто набредет.
Возникла необходимость добавить к статье виджет Вконтакте «Поделиться», покурил документацию, все сделал как там написано, в моем варианте решил воспользоваться параметром noparse и указать параметры публикации
<script type="text/javascript">
document.write(VK.Share.button({
  url: 'http://mysite.com',
  title: 'Заголовок страницы',
  image: 'http://mysite.com/mypic.jpg',
  noparse: true
}));
</script>
Но не тут то было, все параметры брались со страницы, noparse игнорировался. Хм.

Перекопал гуглем весь инет, и безрезультатно, да многие пишут об этой проблеме, и на этом все. Рабочее решение попадалось, добавить все параметры в урл, не стал даже рассматривать, да оно работает, но урл то немножко другой, ну и ведь в документации, в документации написано, это же не забор.

Решил посмотреть устройство vk.com/js/api/share.js и что же там отправляется при клике на кнопку.

Параметры отправлялись, все честно, постом, НО, РЕДИРЕКТ (302), и все параметров больше нет, вот почему работал вариант с дописыванием параметров в урл. Редирект выполняется для смены протокола на https, у тех у кого сайт работает через https изначально никаких проблем нет.
Безымянный12 Для остальных простое решение, после инициализации первой кнопки добавляем такой код, 
VK.Share._base_domain = 'https:' + VK.Share._base_domain;
усе, теперь форма будет отправляться на https и редиректа не будет.

Полный пример рабочего кода:
!function (d, id, pr1, pr2) {
  var js = d.createElement("script");
  js.src = "http://vk.com/js/api/share.js?90";
  js.onload = js.onreadystatechange = function () {
  if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") {
    if (!this.executed) {
      this.executed = true;
      setTimeout(function () {
        d.getElementById(id).innerHTML = VK.Share.button(pr1, pr2); 
        VK.Share._base_domain = 'https:' + VK.Share._base_domain;
      }, 0);
    }
  }};
  d.documentElement.appendChild(js);
}(document,"vk",{
  url: document.URL,
  title: 'Заголовок страницы',
  description: 'Описание ...',
  image: 'http://mysite.com/mypic.jpg',
  noparse: true,
},{type: 'round', text: 'Поделиться',});

reverse string search in Excel?

В Excel отсутствует функция поиска вхождения при чтении справа налево(обратного поиска). Воспользуемся VBA, создадим обертку к уже существующей в VBA функции и будем использовать ее непосредственно в формулах ячейки. Заходим в среду VBA (ALT+F11), добавляем модуль, в него вставляем функцию
Public Function ПОИСКОБР( _
   ByVal StringCheck As String, _
   ByVal StringMatch As String, _
   Optional ByVal Start As Integer = -1 _
) As Integer

    ПОИСКОБР = InStrRev(StringCheck, StringMatch, Start)
    
End Function
Все, используем ее в формулах книги.

text-overflow: ellipsis и иже сним

Забью свой костыль в виде аналога эффекта получаемого с помощью свойства text-overflow: ellipsis.
В моем случае задача немного сложнее, текст не умещался совсем не много, не больше чем на 50%, потому нужно было его отобразить при наведении курсора.
Все очень легко, на помощь пришли, псевдокласс :hover и свойство direction: rtl. Все бы ничего, Firefox, Chrome, Opera, все отлично, IE приплыли.
Безымянный Ну раз уж, придется задействовать JavaScript, значит чуточку добавим требований, текст не будет просто переключаться с отображения, то с начала, то с конца, пусть он плавно прокручивается, тут и ограничение в 50% снимется.
Сляпал плагин, малютка, меньше сотни строк.

А как работает твой браузер?
Раз, два, три, четыре, пять, вышел зайчик погулять, заинька вышел… Вдруг охотник выбегает, прямо в зайчика стреляет, пиф-паф, ой-ой-ой, умирает зайчик мой, привезли его домой, оказался он живой
Живой пример
Раз, два, три, четыре, пять, вышел зайчик погулять, заинька вышел… Вдруг охотник выбегает, прямо в зайчика стреляет, пиф-паф, ой-ой-ой, умирает зайчик мой, привезли его домой, оказался он живой
Есть нюанс в зависимости от шрифта могут «уехать» точки, нужно добавить некую поправку, но пока править не стал, в моем случае все и так работало.

HTML5 Offline Web

Попробовал сервис-воркеры(Service Worker API), аналог прокси-сервера, находящегося между веб-приложением, браузером и сетью.
На момент написания спецификация в статусе рабочего черновика, поддержка в Firefox, Chrome, Opera.
Два ограничения необходимо использовать https и правильно определиться с областью видимости (максимальная видимость сервис-воркера равна его location, потому в моем случае, в случае с друпалом, сервис-воркер пришлось поднять из каталога шаблона).
Для проверки работы, отключаем инет, перегружаем страничку, играем.
Можно было бы прикрутить еще и Application Cache API для IE и Safari, но технология удалена из веб-стандартов, так что…

Visual C++ 2003 (7.1) Redistributable Package (x86)

Распространяемого пакета для Visual C++ 2003 (7.1) не существует, и периодически приходится искать msvcp71.dll, msvcr71.dll и тд Например при использовании старого Oracle Client instantclient-basic-win32
Где взять, качаем тут Microsoft® Visual Studio® .NET™ 2003 Service Pack 1 или тут Если ХаЦкЕрОв не боязно
конвертация VS7.1sp1-KB918007-X86.exe /Xp:VS71.msi
заходим архиватором VS71.msi, в корне есть файл PCW_CAB_VS в него тоже архиватором и добираемся до
FL_msvcp71_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
FL_msvcr71_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
переименовываем, перемещаем в папку со старым приложением