Category: it

Category was added automatically. Read all entries about "it".

питер, Леша

Функциональный стиль

Программирование в функциональном стиле разрывает мне мозг.

Но я справился! Даже горжусь собой, потому что сосчитал монетки без явного использования циклов. И даже без использования вспомогательной функции, которая рекурсией реализовывала цикл. :)
promo alexyv september 22, 2015 23:52 16
Buy for 10 tokens
Благодаря сообществу spbblog в прошлое воскресенье побывал на выставке Magic of Light. В назначенное время у гардероба нас ожидала девушка. Когда все собрались, мы отправились на шоу «Семь граней света» от музея занимательной науки ЛабиринтУм. Проходит оно вот в таком…
питер, Леша

Неудачное обновление Windows

Логотип Windows В этот вторник Microsoft выпустила очередную порцию обновлений для Windows. Одно из них оказалось не совсем удачным.

Речь об обновлении KB3004394: December 2014 update for Windows Root Certificate Program in Windows.

После установки обновления Windows перестает доверять собственным компонентам, как будто у них нет цифровой подписи. Особенно это заметно в подтверждениях UAC: при запуске консоли Управление компьютером повышение привилегий обычно происходит без подтверждения. После установки этого обновления выводится диалоговое окно с желтым заголовком как будто цифровая подпись отсутствует.

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

Collapse )

Обновлено: Кажется, Microsoft удалила это обновление из Windows Update. Но все равно сто́ит проверить, чтобы случайно не установилось.

питер, Леша

Замена для OneNote

Я очень привык к OneNote, в нем писались практически все большие посты, и вообще в нем храниться много черновиков. Кроме того, я его использую просто для разных заметок, и даже храню в нем логины/пароли в секции, защищенной паролем. Записная книжка OneNote лежит на флэшке, и все изменения автоматически синхронизируются; причем пользоваться этой записной книжкой можно и без подключения флэшки.

OneNote 2007

Но на новой работе больше нет Microsoft Office, и хотелось бы найти нечто подобное, чтобы всякие заметки и черновики незаметно мигрировали с компьютера на компьютера.

Я знаю, что есть веб-приложение OneNote, но онлайн версия, на мой взгляд, не так удобна. Она не запоминает выбранный раздел и страницу. Версии Microsoft Office 2010 и 2013 интегрируются с онлайн версией: в них можно редактировать записную книжку, хранящуюся в облаке, но у меня дома Office 2007, и он так не умеет, к сожалению.

Расскажите, чем вы пользуетесь для хранения заметок и черновиков?
питер, Леша

Блоги@Mail.ru: Клиент для сохранения блога – версия 1.0

Как я написал вчера, я закончил работу над первой версией программы для сохранения блога с умирающего проекта Блоги@Mail.ru.

Скачать! (1,5 МБ)

Обновлено: Клиент для сохранения блога – версия 2.0

Что сохранится

Чтобы избежать недопонимания: программа сохранит исключительно посты, только посты. Все ссылки на сохраненной странице ведут в интернет или вообще не работают.

Чем это грозит?

При просмотре сохраненных HTML-страниц…

  1. Исчезнет оформление блога, как только сервис Блоги@Mail.ru будет полностью закрыт.
  2. Ссылки навигации на предыдущий/следующий посты не работают.
  3. Свернутые ветки комментариев нельзя развернуть.
  4. И много чего еще может показываться не так, как было раньше…

Получить представление о том, как это будет выглядеть, Вы можете, если отключите компьютер от интернета и откроете сохраненный HTML-файл.

Что делать?

Если Вы хотите полную копию вашего блога, используйте другую программу копирующую абсолютно всё, создающую полную локальную копию. Подобной программой является, например, HTTrack. Небольшое описание программы есть в блоге у vovik_ptz. Все вопросы по пользованию этой программой направляйте ее разработчикам.

Сообщения об ошибках

Когда у вас что-то не работает, пожалуйста, пишите, какая именно ошибка возникает. Вы видите ошибку, я не могу догадаться, что Вы видите.

Если появляется окно с сообщением ошибке, как показано на снимке экрана в разделе ошибки ниже, выделите весь текст мышью и нажмите Ctrl+C, чтобы скопировать текст. (Почти наверняка, будет достаточно даже первой строчки.) И вставьте этот текст, когда будете сообщать мне об ошибке. (Иначе я не смогу Вам помочь.)

Спасибо!

Collapse )
питер, Леша

Блоги@Mail.ru закрываются

Обновлено: Клиент для сохранения блога – версия 2.0

На страницах Блоги@Mail.ru появилось предупреждение:

С 23 декабря 2013 года будет остановлена возможность создавать новые посты и писать комментарии в Блоги@Mail.ru.
Авторы блогов смогут запросить перевод содержания блогов в Мой Мир или экспорт данных в файл.

Я об этом узнал от vovik_ptz из поста Блоги мейл.ру. Еще в июне он прогнозировал закрытие Блогов@Mail.ru. И хотя я не нашел, да и несильно искал, заявление администрации о закрытии сервиса, было понятно, что к этому идет. Теперь уже однозначно сервис закрывается.

Обещают, конечно, возможность экспорта записей в файл, но как это будет реализовано, пока неясно. А сохранить все записи очень хочется — просто ради истории.

Я уже начинал делать приложение, которое бы сохранило все записи в каком-нибудь удобном формате, например, HTML, чтобы можно было просмотреть посты прямо на компьютере, возможно с сохранением внешних картинок локально, или XML, с которым удобнее работать в приложениях, в расчете на то, чтобы впоследствии экспортировать все записи в блог на собственном домене. Теперь проблема сохранения встала особенно остро, и нужно быстро доделывать эту программку.

В связи с чем вопрос: кто-нибудь хочет так же экспортировать свой или даже чужой блог с Mail.ru?

Если будут желающие, то я буду делать этот инструмент так, чтобы кто-то кроме меня смог им воспользоваться.

Обновлено: Блоги@Mail.ru: Клиент для сохранения блога – версия 1.0

питер, Леша

Кракозябры Flickr

English version

С середины августа статистика Flickr перестал показывать поисковые запросы, в которых показывались мои фотографии. Точнее они показываются, только вместо русских слов там кракозябры.

Подробная статистика просмотра фотографий доступна владельцам Pro-аккаунтов на Flickr, если они захотели ее получать. Благодаря этой статистике, я обнаружил свои фотографии в Wikipedia, а также на других сайтах.

Вот часть снимка экрана страницы со статистикой:
Part of Flickr referrer statistics page

Английские поисковые запросы отображаются правильно (было бы странно, если бы это было не так). А вот 37 и 38 позицию занимают какие-то непонятные сущности. Если по ним щелкнуть, то, естественно, ничего не находится.

Collapse )
питер, Леша

Ежедневные задания в игрушках из Windows 8

Мы основательно подсели на ежедневные задания (Daily Challenges) в играх Microsoft для Windows 8. Наташа уже писала, что эти задания — единственное, что ей нравится в Windows 8.

Играем мы, в основном, в три игрушки:
Microsoft Solitaire Collection Microsoft Taptiles Microsoft Mahjong

Иногда еще в Сапера:
Microsoft Minesweeper

Началось всё, конечно, же с пасьянсов. В декабре по вечерам я планомерно собирал по пять пасьянсов: Косынка (Klondike), Паук (Spider), Свободная ячейка (Freecell), Пирамида (Pyramid), Три пика (TriPeaks). Потом ко мне присоединилась Наташа и забрала два последних пасьянса (Пирамиду и Три пика) себе.

В декабре мы заработали золото в пасьянсах. Но перед Новым годом что-то сглючило, и игрушка потеряла все достижения.

В январе мы продолжили собирать пасьянсы. И пока мы еще были на каникулах, я не устоял перед рекламой Taptiles в ежедневных заданиях в пасьянсах. Так я установил Taptiles и Mahjong, и Сапера (Minesweeper) до кучи. В каждой из них есть ежедневные задания, но их там по три. Таким образом, в январе мы регулярно играли уже в три игрушки; Сапер все же не пошел, и был заброшен.

Collapse )

Collapse )

Collapse )

питер, Леша

Проблема с установкой merge-модуля VC2005 x64

Read it in English

В очередной раз пришлось разбираться с ошибками установки библиотек Visual C++ 2005 x64. (В прошлый раз пришлось бороться с тем, что компоненты приложения ссылались на разные версии C++ runtime. Именно тогда в инсталляторе стали использоваться merge-модули.)

В этот раз на системах Windows 7 и Windows Server 2008 R2. Во время установки возникает следующая ошибка:
Ошибка при установке Visual C++ 2005 x64 runtime из merge-модуля

Текст сообщения:

An error occured during the installation of assembly component {844EFBA7-1C24-9382-A01F-C8B3B9A1E18E}.
HRESULT: 0x80073715.

В подробном логе, полученном с помощью (msiexec /i prod.msi /l*v msi.log), нашлись следующие записи:

MSI (s) (E0:E0) [15:43:58:875]: Assembly Error:The identities of the manifests are identical but their contents are different.
MSI (s) (E0:E0) [15:43:58:875]: Note: 1: 1935 2:
{844EFBA7-1C24-93B2-A01F-C8B3B9A1E18E} 3: 0x80073715 4: IAssemblyCacheItem 5:
Commit 6:
Microsoft.VC80.CRT,type="win32",version="8.0.50727.4053",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64"
MSI (s) (E0:E0) [15:43:58:875]: Assembly Error (sxs): Please look into
Component Based Servicing Log located at -121510792ndir\logs\cbs\cbs.log to get
more diagnostic information.
Error 1935. An error occured during the installation of assembly component
{844EFBA7-1C24-93B2-A01F-C8B3B9A1E18E}. HRESULT: 0x80073715. assembly
interface: IAssemblyCacheItem, function: Commit, assembly name:
Microsoft.VC80.CRT,type="win32",version="8.0.50727.4053",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64"

Лог файл %winndir%\logs\cbs\cbs.log не предоставил много больше информации, хотя в нем содержался мнемонический код ошибки: STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT. Этот код ошибки означает, что в системе уже есть сборка с таким же identity, что и устанавливаемая, и их версии тоже совпадают, но при этом устанавливаемые файлы отличаются.

На доступных мне машинах я не смог воспроизвести проблему: успешно устанавливается и работает. В процессе исследований выяснилось, что на проблемных машинка уже установлена сборка (assembly) Microsoft Visual C++ 2005 x64 Runtime.

Установил у себя из vcredist_x64.exe. После этого установка продукта стала завершаться с ошибкой.

Провел я и обратный эксперимент: на чистую машинку сначала установил наш продукт, а затем VC++ 2005 runtime. В результате установка vcredist_x64.exe завершилась с такой же ошибкой:
Ошибка при установке Visual C++ 2005 x64 runtime из vcredist_x64.exe

Текст сообщения:

Product: Microsoft Visual C++ 2005 Redistributable (x64) -- Error 1935.An error occurred during the installation of assembly 'Microsoft.VC80.CRT,type="win32",version="8.0.50727.4053",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64"'. Please refer to Help and Support for more information. HRESULT: 0x80073715. assembly interface: IAssemblyCacheItem, function: Commit, component: {844EFBA7-1C24-93B2-A01F-C8B3B9A1E18E}

Решил сравнить содержимое папок C:\Windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053 после установки из merge-модуля и после vcredist_x64.exe. Сборка содержит три файла: msvcm80.dll, msvcp80.dll, msvcr80.dll. Версии и размеры этих файлов совпадают в обоих вариантах установки. Но все равно два файла из набора отличаются друг от друга. Я выяснил, что отличаются они временем цифровой подписи: В merge-модулях библиотеки подписаны 12 июля 2009 г. в 11 часов, а в vcredist_x64.exe 12 июля 2009 г. в 6 часов:

Цифровая подпись msvcr80.dll из merge-модуля Цифровая подпись msvcr80.dll из vcredist_x64.exe

На системах с Windows XP и Windows Server 2003 подобная разница не приводила к ошибке. А на более новых Windows 7 и Windows Server 2008 R2 приводит к ошибке.

В Microsoft Connect эта проблема описана: 8.0.50727.4053 x64 CRT merge modules fails to install on x64 but ok on x86. Это же сообщение можно найти на форуме MSDN. Вопрос помечен как решенный, но ответ какой-то бессодержательный и невразумительный. В сообщении есть ссылка на другое описание такой же проблемы в Microsoft Connect.

И у меня тоже никакого решения для преодоления данной трудности.
Ясно одно, что Visual C++ 2005 x64 runtime нельзя установить одновременно и из merge-модулей, и из vcredist_x64.exe, чего быть не должно.

С 32 битной (x86) версией таких проблем нет: всё прекрасно работает.

питер, Леша

Создание патчей с помощью WiX

Read it in English

Для создания инсталляционных пакетов Windows Installer мы используем WiX. И тут потребовалось создать патч к уже существующему установочному пакету.

Естественно, я пошел искать, как это делать. Первым, что нашел Google, была вот эта инструкция. И она в общем-то подходила. Но с ее помощью так не удалось создать патч. Поборов несколько препятствий, я столкнулся с неразрешимой проблемой: патч не создавался, потому что на последнем шаге создания патча инструменты не видели никаких изменений в двух разных установках. Забегая вперед, скажу, что позже я выяснил, почему он не создавался. Оказывается, в наших инсталляционных пакетах не указаны размеры файлов, поэтому и изменений не было.

Но инструкция выше относилась к версии 2.0, а мы уже использовали версию 3.0. Пришлось поковыряться в сайте WiX, чтобы найти инструкции для новой версии. Их уже было две:

Беда в том, что обе инструкции предполагали, что есть исходный .wsx файл создания пакета. А его у меня нет. После нескольких вариантов создания, декомпиляции и т.п. все также ничего не получалось. Даже скачал обновленный билд WiX, но тоже не помогло.

Collapse )