Погода и донаты

19.05.2017

Поводом для этой заметки послужил выпуск операционной системы elementaryOS Loki 0.4.1, вобравший множество доработок последних месяцев.

У меня сложилось противоречивое отношение к этой системе ещё в момент выхода предыдущей крупной версии, Freya 0.3. С тех пор противоречия только усугубились 🙂

С одной стороны, нельзя не отметить традиционно высокую производительность рабочего стола Pantheon и ряд очевидно удачных находок: прекрасный терминал, отличный вывод уведомлений, удобный почтовый клиент и т.п. Я сам одно время пользовался elementaryOS в качестве основной системы, и написал тогда ставшие очень популярными заметки о всяких интересных штуках. Однако, помимо ошибок и недоработок самой системы, есть вещи, которые раздражают особенно.

В elementaryOS 0.4.1 дебютировал обновлённый AppCenter (Центр приложений), на разработку которого был объявлен сбор денег. Сбор завершился успешно, но теперь разработчики не оставляют попыток совершенно бесстыдно привлечь деньги через «добровольные пожертвования пользователей» (и это уже не первый раз!). Всё бы ничего, но нам предлагают задонатить приложения, функциональность которых не просто стремится к нуля, но и порой уходит в минус.  Нас теперь встречает такое:

loki_sucks1

 

Магазин открытый, программы (практически все) распространяются по лицензии GPL2/3, то есть их исходный код доступен всем. Но нам предлагают заплатить, кто сколько сможет. Некоторые приложения изначально помечены кнопкой «Бесплатно», за другие же по умолчанию просят небольшие суммы. Например, за стильный индикатор текущей погоды просят символический 1 доллар:

loki_sucks2

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

loki_sucks3

Наконец, программа Nimbus установлена и запущена. Чем же она примечательна? Отвечу сразу: экстремально низким соотношением цена/качество. Это приложение просто вычисляет ваше расположение по IP-адресу и показывает для него температуру в Фаренгейтах, всего-то…

loki_sucks4

Программа Nimbus написана Даниэлем Форе, одним из создателей проекта elementaryOS. В ней нет абсолютно никаких настроек. Никаких! В данный момент я выхожу в Интернет через 4G-модем Мегафона, который показывает, что я в Москве, хотя я на самом деле в Петербурге. И плевать на то, что в Linux большинство других индикаторов погоды умеют показывать не просто населённый пункт, но и конкретный район в нём. Плевать на то, что в России, да в большинстве других цивилизованных стран, температуру меряют в Цельсиях… У меня просто нет слов. Ладно бы это была  обычная «элементарная» программа, но за неё вежливо просят ещё и заплатить. Даже в мире Apple, где исторически было принято платить за не самые сложные приложения, эти самые приложения были хотя бы качественными.

Для примера, я покажу, как должен выглядеть индикатор и прогноз погоды здорового человека. Прежде всего, нам не нужен никакой «магазин приложений», так как в правильном рабочем окружении уже имеется встроенная функция загрузки дополнительных элементов. Я просто ввожу в поиск weather и выбираю то, что мне больше нравится:

weather1

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

weather2

Weather Widget может показывать погоду для любого количества мест, используя Openweathermap, либо данные из норвежской метеорологической службы YR.no. В приведённом выше примере я добавил свой район два раза, чтобы сравнивать прогноз от двух разных поставщиков. В разделе Appearance я могу настроить то, как будет выглядеть виджет на панели, установить время отображения и включить отрисовку метеограммы для yr.no:

Screenshot_20170519_132951

В разделе Units я могу установить любую комбинацию для единиц измерения:

Screenshot_20170519_133005

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

Screenshot_20170519_133047

Если же нажать на виджет, то можно посмотреть подробную метеограмму:

Screenshot_20170519_133118

Тут есть всё что нужно: температура, давление, величина прогнозируемых осадков, облачность. Информация представлена в двух видах и по часам. Я всегда могу сравнить этот прогноз с другим, аналогичным, просто нажав на Next Location:

Screenshot_20170519_133131.png

Норвежцы допускают в субботу мелкий дождик днём, а OWM — нет. Скорее всего, дождя не будет 🙂

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


Синхронизация расширений Gnome Shell

18.04.2017

gnome-shell-extension-options

Не секрет, что для успешной установки расширений Gnome Shell с сайта https://extensions.gnome.org требуется отдельное дополнение для веб-браузера, которое обеспечивало бы такую интеграцию. На данный момент, программы Mozilla Firefox, Google Chrome и Web/Epiphany (штатный браузер в Gnome) поддерживают такую функцию. Однако, если вы используете Chrome или Chromium, то вам доступна ещё одна интересная штука: синхронизация расширений Gnome Shell между компьютерами. Это возможно благодаря способности дополнения Gnome Shell Integration взаимодействовать с вашей учётной записью Google.  Таким образом, авторизовавшись в Gmail,  вы сможете автоматически синхронизировать расширения Gnome Shell между несколькими компьютерами точно так же, как и закладки в Chrome/Chromium. Причём, синхронизируются только сами расширения, но не их настройки (в случае если вы их меняли). Подробнее можно почитать тут.

Я сам не использую Gnome Shell, потому что считаю, что есть рабочие столы и получше, однако не нужно быть специалистом по ИБ, чтобы заметить очевидное:

  • Щупальца Google и раньше проникали на рабочий стол пользователей Gnome в виде почты и календаря. Теперь объятия станут ещё крепче, так как львиная доля ваших персональных настроек Gnome (а значит и предпочтений в UI/UX) будет бережно храниться гуглом;
  • Развивая предыдущую мысль, можно предположить, что в будущем делиться скриншотами можно будет проще. Например, в Google+ при создании записи будет кнопка «Прикрепить снимок моего рабочего стола», которая сама будет генерировать картинку, совпадающую (по идее) с вашим реальным рабочим столом;
  • Доступ Google к расширениям Gnome Shell создаёт мощное направление для атаки на несчастных гномосеков. При краже аккаунта Google и последующем применении специально сформированного расширения Gnome Shell, злоумышленник получит доступ к личным файлам пользователя в ~/. Это вообще кошмар!

Получается, что сделан ещё один шаг к мечте крупных корпораций — превратить наши компьютеры в тонкие клиенты!


Аналог «ножницам Windows» в Linux

03.03.2017

В Microsoft Windows, при всей её ущербности, имеется замечательная стандартная утилита Snipping Tool или по-русски «Ножницы». Она дополняет стандартную функциональность кнопки Print Screen и позволяет вырезать отдельные части экрана, добавляя к ними нехитрые элементы. Например, можно обвести значимую часть изображения или выделить текст маркером.

snip-win.PNG.png

В Linux  имеется множество программ для снятия скриншотов, из которых самыми лучшими являются, на мой взгляд, Spectacle и Shutter. Но ни одна программа не позволяет так удобно аннотировать экранные снимки, как Ножницы. Мне подумалось, что неплохо было бы поискать получше и всё же найти что-то похожее в Linux, — и мне это удалось. Встречайте KSnip!

snip-lin.png

Мне удалось связаться с Дамиром (автором программы) и попросить его добавить в KSnip дополнительные инструменты рисования (эллипс, прямоугольник и т.п.). Дамир довольно быстро отреагировал и обновил код, и теперь, начиная с версии 1.3, KSnip имеет даже больше функций, чем исходные «ножницы».

По неизвестным мне причинам, для сборки KSnip требуется компилятор GCC 4.8 (не новее) и заголовочный файлы Qt 4.


2GIS для Linux жив!

31.01.2017

Когда-то, в ноябре 2014 года, разработчики «Дубльгиса» выпустили новенькую бета-версию своего справочника для Linux. Там был чистый интерфейс на Qt5 и QML, плавная работа, возможность скачать карту любого города России и некоторых других стран… Красота! Однако же, дальше беты дело не пошло, и вскоре сайт, посвящённый новой версии 2GIS, закрылся, а разработка перспективного справочника в формате ПК-версии была прекращена. Но репозиторий со сборками дубльгиса для Ubuntu продолжал жить, и он работает до сих пор. В openSUSE имеется несколько частных репозиториев с rpm-пакетами 2GIS. В подобном пакете, на самом деле, содержится не сама программа, а скрипт, который вытягивает deb-пакет из сети и перепаковывает его чем-то вроде alien. В openSUSE 13.2 и 42.1 такой трюк работал без сучка и задоринки, но уже в 42.2 программа перестала запускаться:

2gis0.png

Очевидно, что приложение, собранное под старую версию Ubuntu 14.04, уже не может запускаться в более новых версиях Linux. Забавно, что неосиляторы с Гиктаймса в подобной ситуации сдались ещё раньше: на этапе установки пакета. Однако я не первый раз запускаю проприетарный софт в Linux и знаю, что большинство подобных программ (XnRetro, Dropbox, Skype и т.п.) поставляются с собственным набором некоторых системных библиотек. Всегда можно попробовать удалить одну или несколько таких библиотек и посмотреть как программа попытается использовать общесистемные. Короче говоря, если избавиться от файла /usr/lib/2GIS/v4/lib/libpthread.so.0, то Дубльгис прекрасно запускается и работает:

2gis.png

 

 


KDE и перспективный формат FLIF

27.01.2017

comparison

В номере №205 журнала Linux Format я писал о новом графическом формате FLIF (Free Lossless Image Format), который превосходит PNG и WebP по сжатию данных без потерь. В комплекте с исходным кодом FLIF (т.н. reference implementation) имеются библиотеки кодировщика и декодера, сам кодировщик, а также простейшее средство просмотра — консольная программа viewflif. С таким минимальным набором вполне можно работать, однако формат, по сути, в этом случае выполняет роль архиватора: ни листать, ни редактировать FLIF-файлы без предварительной конвертации нельзя. Правда, есть ещё набор консольных утилит ImageMagick, который с некоторых пор поддерживает формат FLIF. Приличных графических программ просмотра, которые были бы основаны на ImageMagick, в природе нет, к тому же, большинство готовых сборок ImageMagick собраны без поддержки FLIF и не могут его читать. Хотите поддержку — собирайте из исходного кода сами.

На этом фоне Qt FLIF Plugin оказался глотком свежего воздуха. Данная разработка сделана датским программистом Себастьяном Валем (Sebastian Wahl), который ведёт свой блог и увлекается алгоритмами сжатия изображений. Суть Qt FLIF Plugin проста: в вашем распоряжении появляется разделяемая библиотека libflif.so (не путать с одноимённой библиотекой из состава самого кодировщика FLIF!), которая может быть использована любыми Qt-приложениями, поддерживающими QImageIOPlugins, например Gwenview, Kolourpaint и многими другими. Автор плагина также написал свой собственный минималистичный просмотрщик графических файлов, вполне неплохой!

Итак, для сборки нам потребуется слегка подредактировать файл project.pro, добавив туда строку CONFIG += c++14:

flif1.png

Если этого не сделать, то проект просто не соберётся современными версиями GCC. Затем нужно убедиться в том, что заголовочные файлы FLIF лежат в нужном месте — между прочим, их нужно заранее вручную положить в /usr/include/FLIF:

flif2.png

Далее командуем make и ждём несколько секунд. Получившуюся библиотеку нужно проверить на успешную линковку с кодировщиком FLIF (дело в том, что плагин почему-то иногда не линкуется):

flif3.png

Дальше, нужно установить саму библиотеку, скопировать .desktop-файлы и зарегистрировать соответствующий тип файла для share MIME database. Следующие команды я выполнял из директории ~/qt_flif_plugin/configuraton:
sudo cp ../libflif.so /usr/lib64/qt5/plugins/imageformats/
sudo cp qimageioplugins/x-flif.desktop /usr/share/kservices5/qimageioplugins/
sudo cp imagethumbnail-flif.desktop /usr/share/kservices5/
sudo cp x-flif.xml /usr/share/mime/packages/
sudo /usr/bin/update-mime-database /usr/share/mime

Результат будет заметен сразу же. Во-первых, заработает генератор миниатюр в файловом менеджере Dolphin:

flif4.png

Во-вторых, можно будет смотреть FLIF-файлы в Gwenview, стандартной программе просмотра из набора KDE:

flif5.png

На данный момент можно использовать лишь версию Gwenview 16.08 или более старую, так как из-за этого коммита программа, начиная с версии 16.12, содержит другой механизм поддержки сторонних форматов. Но это уже вопрос к автор FLIF-плагина — надеюсь, он обновит свой код когда-нибудь. Меня же очень радует сжатие, которое обеспечивает FLIF. Только посмотрите:

flif6.png

 


Лицензия Jailware для браузера Opera

19.01.2017

Screenshot_20170119_134447.png

Как известно, недавно произошла утечка исходных текстов веб-браузера Opera 12, который использовал для отрисовки страниц оригинальный движок Presto. Исходный код провисел на Github и Bitbucket совсем недолго (после чего репозитории были закрыты «из-за обращения правообладателя»), но этого хватило для того, чтобы все желающие успели скачать его себе и перевыложить на другие хостинги для остальных. Для Opera 12 быстро подготовили патч, позволяющий собрать веб-браузер в любом современном дистрибутиве Linux.

И вот, из даркнета приходит новость: написана лицензия Jailware, под которой шутники лицензировали украденный код. Вот она:

JAILWARE PUBLIC SOFTWARE LICENSE
Version 1, January 2017

Software product made available under this license is based on illegaly obtained source code of proprietary software, modified or distributed in a way which is prohibited by its lawful owner or developer. Usage, redistributing or modifying of this software is considered potentially illegal, and may be punishable by international laws & laws of your country of residence.

JAILWARE PUBLIC SOFTWARE LICENSE
TERMS & CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. Use & distribute only at your own risk. Bugs and security issues are quite possible.
1. No warranty or support implied in any way. Should you go to jail or be sentenced to a fine — you’re on your own.

Я предложу собственный перевод:

ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ НА ЗАПРЕЩЁННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Версия 1, январь 2017 года

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

ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ НА ЗАПРЕЩЁННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. УСЛОВИЯ ДЛЯ КОПИРОВАНИЯ, РАСПРОСТРАНЕНИЯ И МОДИФИКАЦИИ

0. Используйте и распространяйте данную программу только на свой страх и риск. Вполне вероятно, что вы столкнётесь с ошибками и проблемами безопасности.
1. Данная программа предоставляется без каких-либо гарантий и поддержки. Если вас посадят в тюрьму или приговорять к выплате штрафа — это ваши проблемы.

P.S.

К сожалению, практического смысла в использовании Opera 12 прямо сейчас нет — браузер постоянно падает с ошибкой вида opera-next got signal SIGSEGV at address 0000011A6F7F. Однако, есть надежда, что энтузиасты исправят код, напишут патчи и приведут «старую» Оперу в порядок. Кое-что уже сделано: вот здесь за пару дней неравнодушные граждане уже накидали 16 (на момент написанияч этих строк) баг-репортов.

Пока же можно насладиться комментариями пользователей под официальным ответом от Opera S.A.


Ретро-смартфоны: личный опыт

22.11.2016

20161122_102830

Недавно я приобрёл Nokia N8 — знаменитый бизнес-смартфон из 2010 года, некогда флагман всей линейки Nokia. В те времена данная модель стоила запредельно дорого и позиционировалась как конкурент iPhone 4. Интересно то, что сейчас, в конце 2016 года, несколько фирм всё ещё продают новые Nokia N8. Аппарат стоит где-то 5-6 т.р. Если брать б/у через частные объявления, то цена составит 2-3 т.р., в зависимости от состояния.

В чём же смысл покупки морально устаревшего смартфона 6-летней давности?

  • Во-первых, у него шикарная фотокамера, которая очень хорошо снимает. Для сравнения, я приведу снимок Samsung Galaxy Alpha (SM-G850F) и такой же кадр, снятый на Nokia N8:

20161121_192126

Вечерняя съёмка на SM-G850F (Galaxy Alpha). Выбран самый чёткий кадр. Для просмотра в полный размер откройте изображени в новой вкладке.

2016-11-21-004

Тот же кадр, снятый на Nokia N8. Здесь выше чёткость и больше деталей (заметно по надписи на воротах), плюс нет такой агрессивной пост-обработки. Для просмотра в полный размер откройте изображение в новой вкладке.

  • Во-вторых, у Nokia N8 есть полный набор коммуникаций, включая порт mini-HDMI, отдельный microUSB, отдельный порт для зарядки, слот для карт памяти, 3G, Bluetooth и много чего ещё. У меня есть переходник mini-HDMI-HDMI и переходник для USB, что позволяет подключить смартфон к монитору, вставить маячок для мышки и клавиатуры (либо подцепить мышь по Bluetooth) и работать почти как на настольном компьютере. Nokia N8 умеет даже печатать на принтере! Плюс ко всему, аппарат можно при этом параллельно держать на зарядке;
  • В-третьих, у Nokia N8 есть режим USB-хоста, который не жалуют производители современных смартфонов. В результате, Nokia N8 может работать как быстрая флешка, что позволяет быстро и удобно забирать с неё файлы (например, фото), или закидывать их на смартфон. Кстати, телефон сам может читать флешки (через переходник);
  • В-четвёртых, Bluetooth-модуль в аппарате поддерживает режим DUN (dial-up network), что, опять же, уже почти не встречается в современных моделях. DUN позволяет использовать телефон в качестве беспроводного 3G-модема и заходить в интернет без обязательной раздачи Wi-Fi с телефона. На первый взгляд, смысла в этом не так много, но разница всё же есть: в режиме модема вы контролируете весь трафик на стороне клиента (компьютера), а в режиме Wi-Fi Hot Spot раздача интернета контролируется сервером (телефоном). Некоторые операторы могут вообще заблокировать раздачу своего трафика по Wi-Fi, что часто и происходит.
  • Наконец, у него металлический корпус, который круто выглядит и не подвержен истиранию, а также долгая жизнь от батареи. Аккумулятор тут всего 1200 мАч, при этом аппарат легко живёт на полной зарядке трое суток.

Разумеется, использовать N8 как основной смартфон в наши дни почти невозможно. В своё время у меня был на руках аппарат Nokia 808 — самый лучший и мощный телефон на Symbian/Nokia Belle. Я пользовался им в 2013-2015 годах и всё же вынужден был с ним расстаться: несмотря на лучшую в своём классе камеру, шикарный экран и уникальный внешний вид, под Nokia Belle было слишком мало приложений, а имевшиеся программы со временем переставали работать из-за отсутствия поддержки. Nokia N8 старше 808 на два года, и характеристики у него скромнее (хотя снимает он всё равно лучше почти всех новых смартфонов, кроме топовых), но я изначально отношусь к нему как к интересной игрушке, обладающей множеством полезных функций.

Хочу сказать, что за последнее время у меня в руках побывали основные и самые интересные смартфоны Nokia до Windows-эры: 808, N9, N8. Модель Nokia N9 я поменял на уникальную Jolla C — теперь у меня есть возможность работать с SailfishOS на современном аппарате. Nokia N8 у меня пока будет трудиться в качестве 3G-модема и походного фотоаппарата с живучей батареей. Данный телефон всё ещё актуален: если вы знаете, чего хотите и не требуете от него наличия современных Android-приложений, то N8 может стать очень выгодной покупкой.