Monday, 24 July 2017

XLSB как формат для зашиты данных в Excel.

Всем привет.
 
Мы знаем что Microsoft Excel предоставляет пользователю несколько уровней защиты - от простой защиты отдельных ячеек до шифрования всего файла шифрами крипто-алгоритмов семейства SHA:

 
  • уровень 0 - Защита от ввода некорректных данных в ячейку
  • уровень 1 - Защита ячеек листа от изменений
  • уровень 2 - Выборочная защита диапазонов для разных пользователей
  • уровень 3 - Защита листов книги
  • уровень 4 - Шифрование файла.
Сейчас мне нет смысла  пересказывать то что вы можете найти неоднократно в сети http://www.planetaexcel.ru/techniques/5/66/.

Замечу следующее -  ни один из способов не защищает наши данные от копирования методом копипаста. Ибо этим часто пользуются те кому надо что-то изменить, а автор листа это запретил. Никакого взлома, просто Copy значения ячейки плюс Paste в новый лист или книгу, и работаем.

Ранее я писал как просто удалить пароль в 2010-м Excel. И вот чисто случайно я обнаружил  что все-таки возможность защиты  с таким паролем существует. И она штатная! Называется эта штука как Excel Binary Workbook (*.xlsb). Это компилированный внутренний формат для файлов Excel 2016. В этом случае внутренняя структура Excel-файла еще видна, но вот само содержание уже нет. Пользуйтесь на здоровье!


Успехов.

Sunday, 23 July 2017

Как пишутся плагины в Inkscape и Paint.NET.


Всем привет.

Славный  редактор Paint.NET используется мною каждый день. Не так давно я писал что его главной фишкой является расширяемость за счет плагинов. Причем свой первый плагин вы можете написать "не отходя от кассы". Собственно в самом Paint.NET. Что вам для этого надо? Установить плагин CodeLab и начальное понимание синтаксиса языка C#.

CodeLab представляет собой дополнительный плагин (эффект) для Paint.NET. Плагин CodeLab позволяет скомпилировать (трансформировать) написанный на языке программирования C# код и выполнить его средствами Paint.NET, применив к выделенной области изображения.


Если вы имеете навыки программирования, то при помощи этого плагина можно создать практически любой свой собственный эффект к Paint.NET. Для этого нужны только фантазия и умение формализовать действия в математический алгоритм. CodeLab имеет окно, в которое можно ввести исходный код на языке C#, выполнить его и если результат удовлетворительный, то скомпилировать код в DLL-файл.

Собственно за первой помошью "где взять и как начать" сходите вот сюда.

Но сегодня я хочу обратить ваше внимание на еще один крутой, и главное бесплатный, графический редактор - Inkscape.

Friday, 21 July 2017

Crontab в активном поиске.

Всем привет.

Можете подумать что я слишком завернул, но следующие две задачи возникли буквально из реальной жизни админа. И обе из жизни планировщика nnCron.

Задачка №1:
на первые выходные (СБ и ВС) июля этого года выполнить задачу или выполнить ее при первом включении, если ПК не включался на выходные.

Ответ: 46 11 1-7 7 6,7 2017 
и указать флаг RunMissed: <00:10|01>

Все верно? Поправьте меня если я промахнулся.


Задачка №2:
прямо сейчас назначить задачу которая будет выполняться с 25-го июля этого года каждый день в 10 утра.

Строка выглядит просто как  00 10 * * * 2017, однако как сказать Cron-у сегодня что запись кронтаба должна стать активной 25-го числа?

Есть идеи? Желательно пользоваться самим nnCron-ом, без стороннего софта.

Thursday, 20 July 2017

Удивительный Javascript в играх.

Привет.

Javascript развивается так стремительно, что начинает оказывать очень сильное воздействие на процесс разработки web-приложений. Создается впечатление, что его возможности безграничны и их реализация зависит только от мастерства разработчика.

Ниже представлены несколько игр, которые разработаны целиком на Javascript. Еще пару лет назад для создания таких приложений нужно было использовать Flash со всеми его недостатками. А сегодня нужен всего лишь браузер, чтобы оценить великолепие решений (лучше всего подходит браузер Chrome, так как в нем реализован самый лучший механизм JavaScript на сегодняшний день.)

Такие приложения помогают представить, на что способен JavaScript и отбросить в сторону все сомнения о его функциональности и перспективности в сфере разработки веб-проектов.
Итак, позвольте представить!

Browser Pong

Browser Pong
Browser Pong - игра в пинг-понг развернутая на весь экран, а в качестве игровых элементов выступают окна браузера. Выглядит весьма впечатляюще и стоит посмотреть. Вы могли представить, чтобы окнами браузера можно было играть? C помощью JavaScript можно реализовать и такое чудо!

Monday, 17 July 2017

Текущее время в Excel.

Здравствуйте.

Ковыряясь в Excel с формулами мною был получен вопрос - как получить текущее время? И правда, текущую дату мы получаем просто как TODAY(), а время? Неужели TIME()?

А как-бы не так).

Со временем чуть сложнее, почему так не знаю. Вот смотрите


Есть такая функция NOW() которая нам дает и время и дату. И в разницу между NOW() и TODAY() мы можем получить текущее время. Одно условие - результирующая ячейка (cиним цветом) должна быть отформатирована как Time.

Кстати функция TIME() тоже есть, но она показывает не текущее время, поэтому ей надо подготовить входные данные, как на рисунке.

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

Или принудительно нажатием сочетания клавиш:
  • F9 – пересчет во всех открытых книгах измененных после пос леднего вычисления формул и формул, зависящих от них.
  • Shift+F9 – пересчет в активном листе измененных после пос леднего вычисления формул и формул, зависящих от них.
  • Ctrl+Alt+F9 – пересчет во всех открытых книгах всех формул, независимо от того, были они изменены в прошлый раз или нет.
  • Ctrl+Shift+Alt+F9 – проверка зависимых формул, а затем пе ресчет всех формул во всех открытых книгах, независимо от того, были они изменены в прошлый раз или нет.
Успехов вам.

Saturday, 15 July 2017

Методология защиты от вирусов-вымогателей.

Всем привет.

С последствиями похода в народ вируса  Petya пользователи борются до сих пор. Поэтому еще раз коротко и по сути. Рекомендации по профилактике вирусов семейства Ransomware (WannaCry, Petya) от S&T Ukraine таковы:

1.Устанавливайте все обновления безопасности на операционную систему и офисное ПО.

2.По возможности не используйте учетную запись Администратора для повседневной работы. Не ленитесь - лучше разок переключиться с Пользователя на Админа при необходимости чем разгребать завалы своей беспечности. Тут же - не держите учетки в ОС без паролей!

3.На рабочих станциях и межсетевых экранах закройте все неиспользуемые порты – политика по умолчанию «deny any any», т.е. "все что не нужно или я не знаю нужно ли - ЗАПРЕЩЕНО".

4.Установите, регулярно обновляйте и используйте антивирусное ПО, а лучше комплексное средство безопасности на конечных точках – Endpoint Protection (контроль репутации файлов и интернет-сайтов, слежение за активностями приложений и изменениями в файловой системе, Next Generation Firewall, IPS, анти-Malware, а также «песочница», технологии эвристического анализа и блокирования угроз).

5.Используйте анти-спам систему и запретите пересылку по электронной почте потенциально опасных вложений и исполняемых файлов (exe, ppt, doc, docx), по крайней мере, без анализа их репутации. Или обяжите пользователей все вложения заворачивать в ZIP.

6.Используйте унифицированные системы управления угрозами (UTM) для доступа пользователей в Интернет.

7.Ограничивайте возможность использования USB-устройств.

8.Отключите возможность автоматического исполнения кода (scripts) в офисных документах. Установите патчи для MS Office 2010 kb3141538 и kb2589382, kb3178710 для MS Office 2013 и kb3178703 MS Office 2016.

9.Сегментируйте локальную сеть (VLAN, IP-сети) с контролем доступа между сегментами при помощи Next Generation Firewall.

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

11.На основе SIEM-системы осуществляйте корреляцию и анализ событий безопасности в сети.

Сложно? Пусть над этим думает ваш Администратор. Но дома вы главный Администратор, и должны это сделать все возможное через ворчание близких. Подозреваю что самым тяжелым вопросом для вас будут USB-флешки.))

Профилактика всегда дешевле и проще, чем лечение!

Если вы уже попались?

Thursday, 13 July 2017

Антивірус вдома.

Hello. Тобто всім привіт.

У зв`язку  з  навалою  вірусні від користувачів були  запитання  "а чим  же захищатися  вдома?".  Вважати що ваш домашній комп'ютер надто важливий для Petya не варто, але і Медок в багатьох СПД стоїть просто вдома на ноутбуці. Щоб не принести, бува, вірусяку на роботу або не надіслати друзям.

Питання ще стало актуально з боку забороненого ПЗ російських виробників. Тому про Kaspersky та DrWeb-а забуваємо надовго.

Звертаємо увагу на:

1. MS Windows повинна бути не крякнута та активована. Тоді на неї добре лягає патч MS17-010 http://nyukers.blogspot.com/2017/07/petya.html

2. Якщо Windows активована то там працює вбудований антивіруc Defender. Це не самий суперовий варіант але він працює. Якщо він вас не влаштовує шукайте (або купляйте) інший. Можу порадити безкоштовний 360 Total Security або AVAST.

Не  користуйтеся  платними  крякнутими  антивірусами,  або з популярними ключами зтягнутими з інета! Це міна яка вибухне для вас в самий непідходящий час.

3. Якщо антивіруса на комп'ютері з якоїсь причини нема, а інет є, то маєте можливість перевірити свій ПК віддалено http://nyukers.blogspot.com/2010/11/online.html.

4. Створіть  собі  аварійний  диск  LivеCD.  Може стати в нагоді в лиху годину
http://nyukers.blogspot.com/2015/06/livecd.html

5. Запитайте у свого адміна чи бува не передбачено політикою вашої компанії дозвіл на встановлення на домашні ПК offline клієнта корпоративного антивірусу. Такий підхід зекономить вам гроші та підвищить антивірусну безпеку в цілому.

Будьмо здорові!

Wednesday, 12 July 2017

Корреляция процессов и служб в Powershell.

Всем привет.

Как вы знаете, с версии 7 Windows Диспетчер задач приобрел очень полезную фишку - он может показать зависимость между процессами и службами.  Что я имею ввиду?

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

 

Точно также вы можете выбрать службу на вкладке "Службы", правым кликом вызвать всплювающее меню, и там внизу выбрать "Перейти к процессу".


Если вам ничего не выбралось то это не значит что такого процесса нет, просто надо обязательно отметить "Отображать процессы всех пользователей".

Тоже самое, и даже больше, выполняется в Powershell.

Так получим полную информацию по процессу SNMP:
Write-Host "= 0 ====================================="
#List of DLLs this process
$p = get-process snmp
$p | fl *

А так какие DLL-библиотеки он использует: 
Write-Host "= 1 ====================================="
$p.modules

Ну и глянуть какие ресурсы и сколько использует конкретная DLL:
Write-Host "= 1.1 ====================================="
#about current DLL
get-process | where-object {$_.modules -match "usp10.dll"}

А теперь провернем тоже что делали выше с "Диспетчер задач".
Получаем еще раз информацию по процессу: 
Write-Host "= 2 ====================================="
#about current Process
$p = get-wmiobject -class win32_process -filter "Name='snmp.exe'"
$p | fl *

А так получаем службы которые  связаны с этим процессом:
Write-Host "= 2.1 ====================================="
$index=$p.processid
get-wmiobject -class win32_service -filter "ProcessId=$index"

Обратная задачка - читаем про службу  SNMP:
Write-Host "= 3 ====================================="
#about current Service
$s = get-wmiobject -class win32_service -filter "name='SNMP'"
$s | fl *

И получаем процесс имеющий к ней отношение:
Write-Host "= 3.1 ====================================="
#List of processes for current Service
get-process -id $s.processid

Или одним махом можно сделать так:
Write-Host "= 3.2 ====================================="
get-wmiobject -class win32_service -filter "name='SNMP'" |
foreach ($a) {get-process -id $_.processid}

Вот и все. Успехов.

Saturday, 8 July 2017

Изменить фоновый рисунок в RDP.

Всем привет.

Часто пользуюсь удаленным доступом к серверам через RDP. Однажды надо было сравнивать настройки одного комплекса между двумя однотипными серверами. И поймал себя на мысли что визуально могу перепутать где у меня сервер А, а где сервер Б. Самое простое, решил я, это поменять фоновый рисунок на серверах который бы мне сигнализировал об этом.

Но оказалось что я могу поменять только цвет фона. Выбор фонового рисунка был заблокирован. Ранее мы уже выясняли почему не можем передать информацию через Clipboard. Казалось что и эта фишка находится там же.  Оказалось что нет.

Интернет подсказал что дело в локальных политиках. А именно, в локальных политиках на сервере надо установить в "disabled" параметр Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> "Enforce Removal of Remote Desktop Wallpaper". По умолчанию он не задан.

Наглядный пример для Windows 2003 ниже.


И не забудьте сделать gpupdate. Это все.

Thursday, 6 July 2017

Ну здравствуй Petya.

Всем привет.

Вирусы разбушевались. Лучше всех отличился Petya. Неплохой повод либо нанять нового толкового и неленивого администратора либо уволить настоящего.) Но не спешите с выводами, нередко когда против человеческого нехлюйства, в том числе и главного менеджера компании, все потуги админа бессильны. Просто начните с себя, на работе и дома, под какой учеткой сидим дома, антивирус есть, и операционка честная. И т.п.

Но перед этим прочтите этот пресс-релиз от Microsoft. Кстати линуксоиуды, не спешите злорадствовать. Ваша популярность, а вместе с ней и вирусня, еще придут.

Многие клиенты по всему миру стали жертвами программы-шантажиста Petya (Petya/Misha, ExPetr, NotPetya). Данное вредоносное ПО получило большое количество названий, многие из которых так или иначе связанs с Petya. Причина этой неразберихи связана с тем, что оригинальный вирус-шифровальщик с именем Petya появился в 2016 году. Тот экземпляр являлся классической программой-вымогателем и не умел распространяться без участия со стороны пользователя. Ключевое отличие нынешней программы-шантажиста от других в том, что, при определенных обстоятельствах, вирусу не нужна помощь жертвы для инициации заражения.

Это уже второй случай такого масштаба в мире за последнее время - предыдущий вирус Wannacrypt (Wannacry) также использовал канал распространения, не требующий вовлечения пользователя, и заражал компьютеры без установленных обновлений безопасности. Детальное описание природы и механики работы Wannacrypt можно получить в блоге Microsoft. Ниже вы найдете ключевую информацию по вирусу Petya.

Вирус Petya, в отличие от Wannacrypt, использует дополнительные каналы распространения.

На данный момент установлено, что вирус:
• Может распространяться по электронной почте. В данном случае обычно используются приемы социальной инженерии, чтобы убедить пользователя открыть вредоносное вложение
• Использует ту же уязвимость, что и Wannacrypt для распространения по сети через протокол SMB (если обновление MS17-010 не установлено)
• Попадая на один из компьютеров организации перемещается методом lateral movement – крадет доступные в памяти пароли доменных учетных записей и использует их для доступа к соседним компьютерам.

Еще один интересный момент состоит в том, что по мнению исследователей (включая Microsoft), началу атаки способствовал производитель бухгалтерского ПО M.E.Doc. Аналитики считают, что первичное распространение вируса было осуществлено посредством автоматической доставки обновлений для ПО M.E.Doc с серверов обновлений этого производителя.

Основные причины заражения и способы борьбы

На момент отправки письма неизвестны детали атаки на инфраструктуру обновлений компании M.E.Doc также, как и нет окончательного подтверждения, что именно подсистема обновлений данной компании причастна к первоначальному распространению вируса. Тем не менее, если предположить, что атака действительно была организована посредством нарушения цепочки целостности поставок (software supply chain), то в качестве основной причины можно назвать несоблюдение основополагающих принципов безопасной разработки и защиты цепочки поставок. Конечным пользователям достаточно проблематично бороться с такими угрозами, так как устанавливаемое ПО, по сути, является доверенным. Тем не менее, возможности Windows 10 Defender Advanced Threat Protection (ATP) позволяют обнаружить компрометацию и остановить распространение внутри сети компании. Подробное описание работы Windows 10 Defender ATP при выявлении подобного типа атак представлено в нашем блоге.

Wednesday, 28 June 2017

Захват экрана в VirtualDub.

Всем привет.

По чисто случайной причине понадобилось мне сделать захват экрана моего монитора.  Понравилась javascript-анимация на одном web-сайте. Главное условие было для меня - анимация в результате захвата должна получиться такой же плавной. Операция разовая поэтому вначале я подумал про инструменты которые присуствуют в Windows 7 штатно, или те которые не требуют инсталяции.

Первый выбор пал на MS Powerpoint 2016. Да, теперь MS Powerpoint умеет делать захват экрана и, если нам не надо это вставить в презентацию, то можно одним кликом сохранить результат захвата в файл mp4. Там все просто: выделяем область, стартуем, останавливаем, и сохраняем. Однако результат меня озадачил. FPS не более 5 кадров за секунду. И этот низкий показатель не поднять.

Cледующей была испробована CamStudio v2.7.2 (Open Source). Не путайте с Сamtasia Studio. Портабельная версия все сделала, но очень пригрузила мой ЦП. Поэтому хотя ролик и имел в итоге 30 кадров в секунду, но пропущенных кадров оказалось не мало.

Я понял что без стороннего инструмента мне с этим не справится. Быстрый поиск привел меня на заметку про десятку бесплатных программ для снятия видео с экрана.

Перспектива проверять все програмки по очереди не очень вдохновляла. У меня ведь не классическое видео в медиаплеере, поэтому инструменты типа FRAPS отпали сразу.

И тут я случайно заметил в тексте ссылку на старый добрый VirtualDub. Ух ты, а он такое может? По главному меню опцию "Capture AVI" я видел и раньше, но не предавал ей значения.
 
 

Friday, 23 June 2017

Эргономика пульта ТВ-тюнера марки WorldVision.

Всем привет.

Ввиду того что наша цифра DVB-T2 стала свободной на рынок хлынули тюнеры марки WorldVision. Лучше они или хуже Strong-ов и Thomson-ов не столь суть важно. Я обратил внимание на другое, на эргономику пульта который к нему идет. В принципе ко всем моделям начиная от 37-й и заканчивая 57-й пульт один и тот же. Вот он справа.

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

Но очень важны три другие. А именно:
1 - клавиша переключения каналов текущий-предыдущий, когда надо уйти от рекламы на пару минут, а потом вернуться
2 - клавиша отключения звука Mute, когда надо притушить звук полностью чтобы услышать что тебя приглашают на обед)
3 - клавиша выхода из текущего режима Exit. Она нужна как аварийка если случайно нажали не то что хотели. Всякое бывает.

Уверен, что изготовитель проводит определенные исследования по эргономике пульта для каждого нового устройства. Но, право, бываю удивлен что перечисленные выше 1-2-3 клавишы располагаются в очень неудобных местах. А иногда и вовсе отсутствуют(.

Что касается этого пульта то главный его недостаток - это размер. Он слишком маленький. Я не призываю делать пульт огромным, но этот образец надо нащупывать в руке. Может он рассчитан на детей? С другой стороны вы может назвать его компактным.) Но скорее всего его просто уместили по габаритам в коробку с декодером.

Между прочим замечено что во всех интернет-магазинах бытовой техники при рекламе лотов телевизоров сопутствующий пульт ДУ вообще не показывают. Разве это не важно? Как по мне купить продвинутый телевизор а к нему некрасивый, или не эргономичный, или не того цвета или просто тяжелый пульт совсем не есть хорошо. Разумеется если выбор ваш пал на определенную модель, то вид пульта к ней ваше решение не изменит. Но, бывают и исключения.)

Удачи.


Wednesday, 21 June 2017

Поездом за границу.

Всем привет.

Вот к безвизу подтягивается и "Укрзалізниця" (УЗ). Ниже небольшой обзор по поездам УЗ. В зависимости от направления. Карта  с того же источника.

Это как раз для тех кто боится летать. И прохождение границы здесь весьма регламентировано - ровно 2 часа. Более того, почти все поезда имеют беспересадочные вагоны. Да, согласен, цена за билет немалая. Ну так тут доходы делятся потому все и не просто. Но если у вас багаж не большой, то могу посоветовать добраться до, например, Чопа. Далее границу пройти пешком. И в Захони (Венгрия) сесть уже на местный поезд. Однозначно будет дешевле!


В Польшу. 

Поехать из Киева в Варшаву можно ежедневным поездом №67 (следует через Люблин). Также ежедневный поезд №51 из Львова довезет вас до Пшемышля, Тарнова, Кракова и Вроцлава. А беспересадочный вагон этого же поезда курсирует в Варшаву. В Пшемышль также курсирует поезд 705 (Интерсити+), из Киева через Львов. Также из Ковеля можно добраться поездом №751 в польский город Хелм.

В Чехию.

В столицу Чехии Прагу из Киева курсирует ежедневный поезд №771 (беспересадочный вагон), маршрут проходит также через Винницу, Хмельницкий, Тернополь, Львов, Мукачево и словацкий Кошице.

В Словакию.

В столицу Словакии Братислава из Киева также следует поезд №771 (беспересадочный вагон), с остановками в Виннице, Хмельницком, Тернополе, Львове, Мукачево, Кошице. Но, в отличие от пражского направления, этот курсирует каждый день, за исключением четвергов и пятниц и 30.08, 13.09 и 15.11.

Thursday, 15 June 2017

Горячие клавиши вставки и форматирования в MS Excel.

Всем привет.

Чего приуныли?)

Вот вам занятие из нашего доброго Excel-я. Или как пишет моя знакомая MS XL.)

Итак, понадобилось мне часто вставлять дату последнего прочтения материала в конце строки отчетной таблицы. Чтобы не набирать ее руками я в пустом месте листа вставил простую формулу =СЕГОДНЯ(), или =TODAY(). И далее простой копипаст даты в нужную ячейку. Почти простой.

Дело в том что мне нужна в новой ячейке само значение даты, без формулы. Это лишнее движение мышью до "Value & Number Formatting". Но тут в конце подсказки я вижу буковку (A). Думаете это горячая клавиша? И да, и нет.


 
 
Так в чем подвох? А вот в чем. Как известно, горячие клавиши вставки и форматирования вызываются по Alt+E+S. Как вы видите в этом случае моя горячая клавиша будет V от Values. Т.е. никак не А.


А что же тогда (А)? А клавиша (А) играет роль когда вы работаете с  Excel без мыши. Только клавиатурой. Такое возможно? Оказалось что да. Щелкните разок Alt или F10. А теперь выполним наше форматирование только клавиатурой.

Sunday, 11 June 2017

Безвиз и лоукост.

Доброго ранку. Hello и привет.

Безвиз, о котором так долго говорили "большевики", наступил! Отличная новость для всех нас.

Есть повод сьездить за границу на выходные, увидеться с родственниками, проведать детей-студентов, побеседовать с будущим работодателем. Повод есть. Осталось совсем немного - обновить свой загранпаспорт и спланировать маршрут поездки.

В это утро нам открылись все страны Европы, кроме разве что Великобритании и Ирландии.


Как же до них быстренько добраться?

У всех на слуху авиакомпании лоукосты. Лоукосты (бюджетные авиакомпании) - это авиакомпании, которые позволяют летать по минимальным тарифам, но при минимальном наборе сервиса. Тем кто пользовался чартерами переходить на лоукосты будет просто. Лоукосты позволяют путешествовать бюджетно, быстро и комфортно и открывают украинцам Европу лучше, чем любые безвизовые режимы. Ведь дешевый транспорт - залог недорогого, а главное быстрого путешествия.

Бюджетные авиакомпании, совершающие рейсы из Украины:

• wizzair.com - это первый и пока единственный ультралоукост из Украины, который начал летать из Украины в нескольких направлениях. Начинала авиакомпания с того, что открыла "дочку" венгерского отделения "Виззэйр Юкрейн", но закрылась, начиная с кризиса 2013 года. Впрочем, без рейсов Украина не осталась, ведь некоторые были заменены на полеты из венгерской авиакомпании. Сегодня рейсы Виззэйр есть только из Киева по направлениям: Братислава, Будапешт, Кельн, Дортмунд, Гданьск, Гамбург, Ганновер, Катовице, Каунас, Ларнака, Лондон (Лутон), Меммингем, Вильнюс, Варшава (Шопен), Вроцлав. Радует, что Лондон, Катовице, Будапешт и Вильнюс, стремительно набирающий обороты как воздушный транспортный узел, принимают многие авиакомпании и можно спланировать пересадку
 
 
 

Tuesday, 6 June 2017

Используйте ножницы!

Всем привет.

Как вы наверное знаете начиная с 7-й версии Windows имеет штатную утилиту для сьема участков экрана. Называется она "Ножницы", а в оригинале Snipping tool.

Как для меня она простая и удобная, позволяет навсегда забыть про клавишу PrintScreen.) В снимок можно  добавить свои графические комментарии и сохранить в формате GIF, JPG, PNG или MHT.

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


Особый подход нужен для захвата контекстного меню формы ибо меню норовит свернуться если вы уводите фокус на другое место. Так можно ли захватить фрагмент меню, такого как контекстное меню или меню «Пуск» ножницами? Конечно можно.

Порядок действий таков:
  • откройте «Ножницы»;
  • нажмите клавишу ESC, а затем откройте меню, которое требуется захватить;
  • нажмите сочетание клавиш CTRL+PRINTSCREEN;
  • щелкните стрелку рядом с кнопкой Создать, выберите параметр Произвольная форма, Прямоугольник, Окно или Весь экран и выделите требуемую область на экране.

Это просто.

Thursday, 1 June 2017

Создание новой службы в Windows.

Всем привет.

Иногда нам по работе надо взять исполняемый файл и зарегистрировать его в качестве службы Windows.  Ведь у службы есть ряд преимуществ перед исполняемым ЕХЕ: это и работа без login-a пользователя, и автоперезапуск в случае краха, и права запуска, прочее. Главное помнить чтобы ваше приложение не было интерактивным.

Самые известные для этого два инструмента: Sc и Powershell.

1. Применение штатной утилиты Sc.exe.

Для создания и службы из командной строки можно использовать программу SC (Sc.exe). SC представляет из себя утилиту командной строки, которая реализует вызовы ко всем функциям интерфейса прикладного программирования (API) управления службами Windows. С ее помощью можно производить любые действия со службами -  просматривать состояние, управлять (запускать, останавливать и т.п.), изменять параметры, а также создавать новые службы.

При создании службы с помощью SC нет необходимости вручную создавать записи в реестре и затем перезагружать компьютер, чтобы обеспечить обновление базы данных диспетчером служб. Также SC позволяет указать имя удаленного компьютера, что дает возможность управлять службами как на локальном, так и на удаленном компьютере.

Для создания нового сервиса запускаем команду Sc create. Она создает запись службы в реестре и в базе данных диспетчера служб. Sc create имеет следующий синтаксис:
sc create [ServiceName] [binPath= ] <параметр1= > <параметр2= >

ServiceName - указывает имя, которое будет присвоено разделу службы в реестре. Имейте в виду, что это имя отличается от отображаемого имени службы (имени, которое отображается в оснастке <Services>);

binPath - указывает путь к исполняемому файлу службы.

Для примера создадим службу MyService, укажем отображаемое имя My New Service, зададим тип службы и поставим ее на авто-запуск:
Sc create MyService binPath= C:\MyService\MyService.exe DisplayName= "My New Service" type= own start= auto

Внимание: весьма странно, но пробелы после знаков "=" нужны!

Затем откроем оснастку <Services> и посмотрим результат.
 

Как видите, мне удалось в службу внедрить даже запуcк BAT-файла.

Изменять параметры уже созданной службы можно командой Sc config. Например, я хочу имзенить отображаемое имя службы:
Sc config MyService DisplayName= "My Second Service"

Или полностью удалить службу:
Sc delete MyService

Monday, 22 May 2017

Как создать дополнительное поле в выводе Powershell?

Всем привет.

Я рассказывал что форматирование результатов в Out-GridView весьма полезная штука. Но иногда для отчета надо создать дополнительное поле по свойству объекта которого не существует.

Как создать такое дополнительное поле в выводе Powershell?

Для того чтобы добавить пользовательские (custom) свойства к объекту, используется команда Select-Object. Например, чтобы добавить атрибут ComputerName к элементу Computer, у которого уже есть атрибут Name, можно запустить команду:

Get-ADComputer –filter * |
Select *,@{Label='ComputerName';Expression={$_.Name}

Команда Select-Object обеспечивает доступ ко всем свойствам компьютеров, которые были определены с помощью Get-ADComputer и группового символа *. Помимо этого, Select-Object добавляет новые свойства этим компьютерам. В данном случае новое свойство имеет ярлык ComputerName, что в командной конструкции обозначено с помощью команды Label. Такая часть конструкции как Expression показывает значение, которое содержит данное свойство. Expression сопровождается скриптовым блоком, заключенным в фигурные скобки. Внутри этого скриптового блока структурный нуль $_ указывает, на что направлена команда Select-Object – в данном случае, это компьютеры. Точка после $_ указывает на то, что вы хотите обратиться к существующему свойству, в данном случае, Name.

Командлет Format-Table принимает тот же самый синтаксис для создания новых колонок в таблице. Это означает, что если вы хотите просто добавить свои собственные колонки в таблицу, вместо того, чтобы придавать новые свойства объекту, вы можете запустить команду:

Get-ADComputer –filter * |
Ft DnsHostName,Enabled,@{Label='ComputerName';Expression={$_.Name}}

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

В чем же разница?

Правило следующее - если вам необходимо изменить элемент в конвейере, а затем передать его в другой командлет, вы можете использовать опцию Select-Object для добавления новых свойств элементу. Если же вы просто хотите создать новую колонку в таблице, используйте опцию Format- Table.

Tuesday, 16 May 2017

Sublime Text и proxy.

Всем привет.

Есть такой полезный инструмент как Sublime Text для web-разработчика. Редактор который имеет много полезных фишек, особенно он полезен плагинами которые под него созданы.

Но на рабочем месте где используется доступ в сеть через прокси-сервер ему надо помочь решить эту проблему. Иначе pop-up сообщения о невозможности обновить конкретный плагин вас просто достанут. Да и сама установка новых плагинов тоже должна проходить ведь без вопросов.

Что для этого надо?

Сущий пустяк. Идем по меню Preferences-Package Settings-Package Control-Settings-User



и добавляем в конец открывшегося файла четыре строчки:
 "http_proxy": "myproxy.viper.com.ua:3128",
 "https_proxy": "myproxy.viper.com.ua:3128",
 "proxy_password": "paSsW0rd",
 "proxy_username": "MyNickname".

Не волнуйтесь, Sublime Text после перезагрузки сам расставит их так как ему надо. У меня получилось так.

{
 "bootstrapped": true,
 "http_proxy": "myproxy.viper.com.ua:3128",
 "https_proxy": "myproxy.viper.com.ua:3128",
 "in_process_packages":
 [
 ],
 "installed_packages":
 [
  "Git",
  "Package Control"
 ],
 "proxy_password": "paSsW0rd",
 "proxy_username": "MyNickname"
}

Успехов.

Sunday, 14 May 2017

Бесплатный Debug Diagnostic Tool.

Всем привет.

Случается так что у вас на сервере накапливается некоторая семья приложений, которые сами еще работают. Но других в свою семью уже не пускают. Так случилось и у меня. Попытался я переустановить новую версию антивируса и что-то ему не подошло. В конце процеса инсталятор выкинул исключение и откатился. Разработчик предложил ряд инструментов для изучения ситуации. Но я вспомнил что и сам Microsoft имеет нечто в своем арсенале.

При отладке или инсталяции приложений когда возникают сбои и снижается скорость выполнения, происходят отказы, зависание и утечка памяти - обычно требуется исследовать процессы, выполнявшиеся в момент возникновения сбоя. Задача осложняется тем, что многие серверные приложения, такие как Microsoft IIS, Exchange Server, SQL Server,  часто не имеют пользовательского интерфейса и автоматически перезагружаются без указания причин сбоя. Наличие под рукой удобного инструмента для отладки, который бы находил причину сбоя, при этом очень желательно.

Для таких целей Debug Diagnostic Tool (DebugDiag) в большинстве случаев подходит идеально. Почему же DebugDiag?

Чтобы ответить на этот вопрос, давайте сначала спросим себя, почему процесс может дать сбой. Сбой - это неожиданное прекращение работы программы в случае, когда процесс завершается аномально. Обычно сбой бывает вызван необрабатываемым исключением; но происходит это и в том случае, когда процесс обнаруживает проблемную ситуацию и завершается без обработки исключения (например, процесс зацикливается, вызывая чрезмерное использование памяти).

Часто в такой ситуации процесс или служба запускаются повторно (это можно настроить) в надежде, что сбой больше не повторится. Однако, чтобы действительно понять причину, которая вызвала сбой, и устранить ее, необходимо выполнить анализ состояния процессов в момент сбоя. Локализовать это состояние можно, создавая пользовательский файл дампа. Эти файлы генерируются любыми отладчиками Windows, они имеют расширения .dmp, .hdmp или .mdmp. Основные отладчики Windows для процессов — это WinDbg, Cdb и ntsd, их пользовательские дампы для анализа могут содержать ключи к разгадке причин сбоя. Точный анализ файла дампа для процесса может потребовать просмотра экспертом. И вот тут понадобится DebugDiag, который заметно упрощает анализ процесса поиска ошибок.

Инструмент DebugDiag комбинирует многие основные функции каждого отладчика из набора Windows Debugging Tools (ADPlus, Userdump и WinDbg), кроме того, он снабжен прекрасным пользовательским интерфейсом, что облегчает его применение. Самую последнюю версию DebugDiag (на сегодня v2 Update2) можно загрузить по этому адресу. DebugDiag устанавливается как служба, поэтому установленные в нем настройки будут сохраняться после перезагрузки системы. Инструмент выполняет свою работу быстро, его легко применять, он доступен бесплатно. Он позволяет быстро отправить информацию производителям для доработки и выявления ошибок. DebugDiag требует менее 19 Mбайт памяти на диске и работает на Windows XP, Windows Server 2003 и выше.

DebugDiag в действии.

После установки и запуска DebugDiag сразу возникает диалоговое окно мастера Select Rule Type, в котором можно выбрать нужное правило. Это правило зависит от того, что надо проверить. В моем случае целью были сбои в процессе инсталяции антивирусного пакета, поэтому следовало выбрать тип правила Crash (сбой) в диалоговом окне Select Rule Type, потом нажать кнопку Next. Далее выбираем тип процесса для отслеживания в диалоговом окне Select Target Type, например отдельная служба NT, какой-то конкретный процесс (прикладной процесс или все процессы IIS/COM+). Для данного случая я выбрал мониторинг процесса EFAInst так как именно в нем возникала exception.

Tuesday, 9 May 2017

USB эндоскоп.

Всем привет.

Голь на выдумки хитра. Китайцы штампуют большое количество всевозможных гаджетов, на все случаи жизни. Мне недавно попал в руки технический USB-эндоскоп.

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

Где-то так для выявления одной проблемы в автомобиле он мне и понадобился. К тому же я посчитал что вещица будет полезна и в будущем.

Что обещает производитель:
  • количество пикселей: 0,3 Мрх;
  • максимальное разрешение: 640x480 рх;
  • автоматический баланс белого;
  • автоматическая фокусировка;
  • угол обзора: 69 градуса;
  • фокусное расстояние: 3 - 8 см;
  • формат: RGB 24;
  • контроль насыщенности, контрастности и яркости;
  • 6 светодиода для подсветки;
  • класс защиты: IP67;
  • максимальная температура работы: 60°C;
  • совместимость с Windows и Android.
Присутствует ручная возможность регулировки яркости светодиодов. Технически получилась удаленная на гибком шнуре usb web-камера с подсветкой.


Эндоскоп мне попался в минимальной комплектации (только зеркало), скорее  всего по мелочи сэкономил уже наш продавец. Не столь суть важно. Важно другое - эндоскоп заработал без вопросов со старушкой Windows XP. И... все! Android его ни в какую видел не захотел. Для поиска решения были использованы два планшета и два смартфона. Ничего! С десяток приложений с GooglePlay не заметили мою usb web-камеру. Также не подошло ни одно из трех приложений с компакт-диска который шел вместе с эндоскопом. 

Хотя продавец заверил что приложения Scopecam вполне достаточно. Оказалось не так все просто. Во первых, Scopecam требует версию Android не ниже 4.4, во вторых даже когда я нашел смартфон с версией 5.0, то Scopecam увидел мой эндоскоп, но картинку с него так и не показал.

Оказалось хоть в сети и пишут что поддержки OTG на порту usb в планшете достаточно, сам эндоскоп требователен еще и к версии Android, и к модели процессора, и еще к чему-то еще... Лотерея еще та. Удивляюсь зачем было делать такую простую вещь такой ограниченной? Тем же кто хочет ее купить настоятельно советую брать свой планшет с собой и проверять работу при покупке. Если конечно ваш заказ не с AliExpress.

Еще одно - попадались мне комментарии про некоторое отношение этого эндоскопа к СПС. Ребята, не страдайте ТЗИ. В этом гаджете СПС столько же как и в обычной web-камере. Эндоскоп далее 7 сантиметров плохо видит.)

Успехов.




Wednesday, 3 May 2017

Безвиз - как много в этом слове.


Всем привет.

Лето, а с ним, и долгожданный безвиз приближаются. Зима была лютой, поэтому для лета остается чуть больше трех месяцев. Очень надеюсь что наш безвиз продлится дольше).

Итак безвиз обещают по датам с 11-го июня. Вы уже готовы? От вас требуется только био-паспорт. И никаких справок, кроме медстраховки.

Все подразделения ДМС по оформлению био-паспортов работают по 8 часов, но... не спеша. Однако привычка наших людей к бумажным спискам укоренилась глубоко. Можно выбрать свое время по терминалу (получить талончик), но наши люди также поддерживают еще и живую очередь. Чем несомненно вносят разнообразие в нашу тихую жизнь в часы ожидания. Пишут что есть возможность записать себя онлайн, но к чему нам такой web-сервис если листочек с фамилиями уже лежит на столе... И разумеется в нем фамилий в разы больше чем присутствующих живых людей. Эх, совок на подкорке!

Можете заметить что если я хочу с комфортом и без ожиданий оформить такой паспорт то могу доплатить 400 гривен и обратиться в государственное предприятие "Паспортный сервис". Есть такое, но, по счастливой "случайности" ГП "Паспортный сервис" в один момент остался без связи с центральной базой данных аккурат месяц тому. Связь восстанавливают, постепенно, но факт имеет место быть. Видимо поломка не совсем техническая.)

И последнее, как я говорил два года назад, скорее всего на первый раз вам все таки придется сходить в консульство и сдать пальцы для Евросоюза. База данных отпечатков пальчиков у нас, Украины и ЕС, разные. Но могу и ошибаться.

Вероятно проверка на границе теперь будет занимать больше времени. Прежде всего это коснется нас при проезде через границу на автомобиле или автобусом. Поэтому надо всерьез обратить внимание на перелет в ЕС авиарейсами кампаний лоукостеров. Или даже поездом. Правда поездов не так много и цены в них еще те.

Удачи всем в Европе.

Wednesday, 19 April 2017

Problem Solving with Algorithms and Data Structures Using Python.

Всем привет.

Как говорится, без теории никуда.

Недавно мне посоветовали для изучения книгу Problem Solving with Algorithms and Data Structures Using Python авторов Брэда Миллера и Дэвида Рэнума, Luther College. Ее можно (и нужно) читать в оригинале всем кто действительно хочет стать толковым программистом. Ибо в книге хоть и используются примеры на языке Python, но даны и основы программирования:


• обзор понятий “информатика”, “программирование” и “решение задач”.
• понять, что значит “абстракция”, и какую роль она играет в процессе решения задач.
• понять и воплотить идею абстрактного типа данных.
• обзор языка программирования Python.

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

Если вашего уровня английского языка не хватает для вразумительного чтения то перевод учебника Problem Solving with Algorithms and Data Structures Using Python находится здесь.

Автор перевода предлагает для начала склонировать репозиторий:

Что бы все заработало, очень важно настроить виртуальное окружение. Чтобы не засорять собственную систему, вы можете в директории с репозиторием создать виртуальное окружение .env

Создать виртуальное окружение можно командой:
virtualenv .env

Предварительно установите пакет python-virtualenv (если вы работаете в Debian based дистрибутивах).

Сборка всех книг, включенных в проект осуществляется командой:
paver allbooks
в корне проекта.

Все сборочные образы книг в формате html включая изображения и необходимые для интерактивной работы скрипты появятся в директории static. Каждая из книг соответствует директории с названием книги.

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

Скачать архив учебника можно отсюда: https://github.com/aliev/runestone/archive/gh-pages.zip

Для чтения онлайн книга доступна по адресу: https://aliev.github.io/runestone/

Успехов.

Thursday, 13 April 2017

Sheldon Cooper's clock.

Всем привет.

Хорошие идеи имеют свойство приходить в несколько голов независимо.

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

И вот совершенно случайно нахожу в сети часы некоего Sheldon Cooper-a. Вот такая  у него математика.


Если поискать то можно найти такие часы и на другую тематику, геометрию или еще покруче. Да так чтобы ваши гости вообще не догадались что это у вас - часы или барометр.) Вот так вот нехитрую идею можно поставить на коммерцию. Я не знаю человек это или только киногерой.

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

Удачных вам идей.

Wednesday, 12 April 2017

Поиск по подсветке текста в документе.

Всем привет.

Какой формат круче - DOCX или PDF? А может так нельзя спрашивать?

Может и нельзя, но вот какая штука. Занялся я чтением технический литературы в электронном виде. Основной формат моих книжек это формат PDF. А я когда читаю люблю делать пометки на будущее. В обычных книгах это делаю карандашом, а здесь просто выделяю цветом. В Acrobat-e это инструмент Highligh Text Tool.

И тут  меня посещает мысль что эти пометки надо как то уметь искать  в будущем, не листать же всю книгу глазами. Целесообразнее между ними двигаться прыжками. А не тут то было. Оказывается ни Adobe Acrobat ни Adobe Reader этого не умеют делать. Ужас.

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



Может есть читалка формата PDF от третьих фирм которая это позволяет делать? Пока я такой не знаю. А вот в MS Word в документе формата DOCX такая подсветка  текста ищется на раз два.


Так что сегодня 1:0 в пользу DOCX.

Sunday, 9 April 2017

Files turnover in VirtualBox.

Hello everybody.

I'm testing some feautres with Python. And I have case for it  with Ubuntu or CentOS. And my Ubuntu is working with Oracle VirtualBox. It isn't complicated layout. It all is working well.

So I, maybe, have one task - how can I send or receive some files to/from Ubuntu as Python examples?

I found four decisions of this task.

At the first - I can use the "shared Clipboard" option in VirtualBox: Settings-General-Advanced. So you can see on the picture


 
 At the second - I can use the "shared folders" option in VirtualBox too: Settings-Shared folders.

Friday, 7 April 2017

Попытка подружить Windows7 с Ubuntu.

Всем привет.

Для полигона поставил месяц тому Ubuntu второй системой к Windows 7. Ubuntu себя повела хорошо, загрузчик GRUB четко прописал себя главным не забыв про Windows 7.

А вот на выходные случилась неприятность - полетела Windows 7. Скорее ее бутлоадер MBR или что-то похуже. Конечно рецепты по восстановлению загрузчика Windows 7 после установки Ubuntu  в сети есть. 

Мне понравился этот 

Но картинок больше здесь

Итак на первом шаге надо сделать резервную копию загрузчика самой Ubuntu:
dd if=/dev/sda3 of=/linux.boot bs=512 count=1

На этом шаге, как оказалось позже, я ошибся с разделом и файл linux.boot не создался. Но этом было не самое худшее.

На втором шаге который предполагает реанимацию бутлоадера Windows 7 ни один из нижеследующих вариантов не помог.

Wednesday, 5 April 2017

Руководство по оптимизации JPG.

Добрый день!



Очередное детальное руководство от команды Айри.рф  про то как правильно оптимизировать JPEG изображения на сайте без видимых потерь качества, чтобы сократить их размер до 50%. Замечу что первые 5 методов доступны даже новичку, с остальными следует быть особо осторожными.
Формат JPEG в силу DCT-кодирования и таблиц Хаффмана изначально подразумевает потерю качества. И даже сохранение в режиме "100%" не устранит потерь. Но эти потери можно сделать незаметными для глаза или допустимыми в конкретном случае использования. Или использовать некоторые особенности формата, чтобы кодировать JPEG совсем без потерь.

1. Оптимизация для Web
Оптимизация для Web
Базовый совет: при сохранении в любом редакторе (Photoshop, Gimp и др.) используйте отдельную опцию «Сохранить для Web». Это сделает изображение совместимым по цветовой палитре со всеми браузерами. А также удалит из него некоторую дополнительную информацию (например, превью-изображения), которая необходима обычным редакторам для быстрого просмотра множества изображений, но совершенно не подходит браузерам (которые не используют превью в JPEG-изображениях ни в каком виде).

Естественно, что фактические размеры изображения должны соответствовать максимальным размерам, используемым на сайте. Наиболее частая ошибка в работе с картинками на сайте: взять их в исходном виде, без приведения к нужным размерам. Это многократно увеличивает размер сайта и существенно замедляет его загрузку.

Monday, 3 April 2017

Руководство по оптимизации PNG.


Всем привет.

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

Примерно четверть изображений на сайтах — это именно PNG. Понимание формата и средств его оптимизации позволит сделать сайты быстрее за счет меньшего размера PNG-изображений.

PNG-формат предполагает отсутствие потерь в качестве при сохранении изображений (да, он позволяет иметь полноцветное изображение с полупрозрачностью БЕЗ потерь качества). Но для сохранения этого преимущества не обязательно проигрывать в размере. В некоторых случаях — например, градиентные или малоцветные изображения — PNG является наиболее выгодным форматом с точки зрения размера.
1. Выбор правильного формата
Далеко не всегда PNG является оптимальным форматом для представления изображения. Если количество цветов в PNG очень большое, то оптимальнее использовать JPEG формат. Но не всегда это получается сделать из-за поставленной технической задачи: например, требуется обеспечить прозрачность или полупрозрачность для совместимости с фоном.
В этом случае стоит рассмотреть вариант либо совмещения PNG-изображения с фоном для сохранения в формате JPEG, либо генерации набора изображений (с различными фонами) — опять-таки для финального сохранения в формате JPEG. В большинстве случаев полноцветное изображение в JPEG будет в 2-3 раза меньше по размеру PNG-эквивалента.
2. Удаление чанков
Удаление чанков
Существует огромное количество программ для оптимизации PNG, и большинство из них делает примерно одно и то же: подбирают различные наборы фильтров для уменьшения размера основной, цветовой информации. Но есть еще несколько подходов для уменьшения размера PNG-изображений, которые также нужно иметь в виду.
Первый из них: это удаление мусора в мета-информации (неиспользуемых чанков) и в используемой палитре (неиспользуемых цветов). Важными являются IHDR, IDAT и IEND-чанки. Все остальные содержат вспомогательную информацию (но, например, удаление чанка gAMA приводило к «порче» изображений в браузере Safari старых версий). Чанки с комментариями, датой изменения и цветовыми профилями (для полиграфии) можно смело вычищать: для браузера это бесполезный набор символов. Удалить чанки можно при помощи утилиты ExifTool.

Версия на печать

Популярное