среда, 16 декабря 2015 г.

LibreOffice и OpenGL. Часть 3

Я так думаю, что сериал с таким названием будет не короче Санта-Барбары.
Итак, разработчики выпустили первый релиз кандидат версии LibreOffice 5.1, о чем я уже писал ранее. Что же в нём хорошего добавили в плане поддержки OpenGL? У меня такое мнение, что ничего, а вот новых багов добавили (я буду говорить только про случаи, когда отрисовка через OpenGL активна):

Субъективные тормоза при отрисовке интерфейса, странные микрозадержки при открытии меню и нажатии кнопок, явные задержки при появлении подсказок над значками. Причем разработчики не хотят понимать, что интерфейс - это лицо программы, это то, с чем работает непосредственным образом пользователь. А знаете, чем хорош в этом плане пакет от Microsoft? У него интерфейс не лагает, даже в неродной для него среде в виде wine в Linux не лагает и визуально не утомляет глаза дерганиями и артефактами мелкими, как в LibreOffice.
 
Фишка дня - почему-то сместились цвета некоторых значков на панелях инструментов в Writer (это как минимум, мне жутко неохота лазить по всему пакету и сравнивать цвета значков). Выглядит это вот так:






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


И в качестве титров к этой серии: отключайте эту опцию (я про "Весь вывод через OpenGL"), она в настоящий момент крайне кривая и приносит только проблемы. Я эти строки буду повторять в каждом посте, который будет посвящен OpenGL в LibreOffice, пока разработчики не научатся его кошерно готовить.

Доступны для скачивания сборки первого релиз кандидата LibreOffice 5.1

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

суббота, 12 декабря 2015 г.

Вычисления в таблицах Writer

Может не все знают, что в таблицах, нарисованных в текстовом редакторе Writer, можно производить расчеты, ровно так же, как это происходит в электронных таблицах Calc (ну или в Excel, чтобы совсем уж все поняли). Есть ограничения в плане используемых функций по сравнению с электронными таблицами: в таблицах Writer доступны 5 общих функций, 11 логических операторов, 3 статистических функции и 6 тригонометрических, а для Calc доступно 438 функций и операторов самого различного вида. Однако для простейших вещей обычно хватает и этого.
Для того, чтобы ввести в ячейку таблицы Writer формулу необходимо нажать клавишу "=" на клавиатуре (работает только, если ячейка абсолютно пустая, даже без пробелов), либо нажать клавишу F2 на клавиатуре, либо на панели инструментов Таблица (появляется внизу экрана, как только курсор будет установлен в любую ячейку таблицы) нажать на соответствующий значок Формула. В верхней части экрана появится строка формул, аналогичная таковой в Calc. В этой строке слева направо: поле с адресом текущей ячейки, три кнопки: Функции, Отменить, Применить, и собственно поле для ввода формул. Далее можно выбрать функцию из выпадающего списка, либо руками написать формулу в строке формул.
Учитывайте, что ссылки на ячейки таблицы обозначаются в таблицах Writer не просто А1 или В4, а <A1> и <B4> соответственно. Диапазоны - стандартно, через двоеточие, например <A1>:<A5>. Также можно щелкать по ячейкам таблицы напрямую - это намного упрощает процесс и не придется думать о том, что где-то ссылка на ячейку не верная.
А теперь самое интересное. MS Word точно так же позволяет производить расчеты в своих таблицах, однако между Writer и им есть различия, как в наличии функций для использования в таких таблицах, так и в удобности использования этого функционала в целом.
Для начала вот перечень функций, доступных для обоих продуктов:
Функции для таблиц Writer
Функции для таблиц Word
Сумма
SUM
Округлить
ROUND
Проценты -
Квадратный корень -
Степень -
Разделитель списка -
Равно -
Не равно -
Меньше или равно -
Больше или равно -
Меньше -
Больше -
Логическое ИЛИ
OR
Логическое исключающее ИЛИ -
Логическое И
AND
Логическое НЕ
NOT
Среднее
AVERAGE
Минимум
MIN
Максимум
MAX
Синус -
Косинус -
Тангенс -
Арксинус -
Арккосинус -
Арктангенс -
COUNT (начиная с версии 7.1)
COUNT (возвращает количество ячеек с числами в заданном диапазоне)
ABS (начиная с версии 7.1)
ABS (возвращает модуль числа)
-
DEFINED (устанавливает, определен ли аргумент внутри скобок)
-
FALSE (ложь)
-
IF (если)
-
INT (возвращает целую часть числа, отбрасывая дробную)
MOD (начиная с версии 26.2)
MOD (определяет остаток от деления)
PRODUCT (начиная с версии 7.1)
PRODUCT (перемножает все числа, заданные её аргументами)
SIGN (начиная с версии 7.1)
SIGN (возвращает знак. показывает вектор изменения значения в двух ячейках, в плюс, в минус или неизменное)
-
TRUE (истина)

Заметьте, насколько по разному видят разработчики программных продуктов нужность каких-либо функций в данном случае.
А теперь посмотрим на удобство реализации этого функционала в Writer и в Word:

Writer
Word
Активация функционала ввода формул (курсор уже установлен в нужную ячейку)
Нажать «=»
Нажать F2
Нажать значок на панели
Нажать значок на панели
Ввод формулы
В отдельной строке, аналогично Calc
В отдельном диалоговом окне
Названия функций
На русском
На английском
Возможность щелкать по ячейкам для использования их адресов в формуле
Есть
Нет
Автоматический пересчет результата при изменении исходных значений в ячейках
Есть
Нет

Если по поводу удобства вызова функционала можно даже не говорить ничего (быструю клавишу назначить на это можно наверное и в Word), то по поводу названия функций можно только удивленно посмотреть в глаза девелоперам Word. Почему названия функций локализованы в Excel и не локализованы в Word. Ну и кстати да, даже локализация ничего не даст пользователю, который не работал в Excel. Если СУММ - это всем понятно, то SIGN, который в локализованном варианте ЗНАК - это что-то малопонятное (у меня слово ЗНАК ассоциируется со знаком на дороге типа КИРПИЧ). ИМХО тут разработчики LibreOffice поступили крайне разумно, а локализаторы ещё более разумно.
Далее: возможность щелкать по нужным ячейкам при создании формулы - это крайне нужная и полезная штука, это намного снижает вероятность ошибки, тут и говорить нечего.
Автоматический пересчет значения в ячейке с формулой - это тоже обязательная вещь. Забыли вы ткнуть лишний раз в "обновление полей" в Word и получили на выходе неправильные результаты в финансовом отчете или итоге эксперимента, тогда как в Writer такого не случится.
Напоследок хочу посетовать на то, что ячейка таблицы, содержащая формулу, ни во Writer, ни в Word никак не выделяется. Ни цветом, ни значком, ни шрифтом, никак. И это очень плохо по вполне очевидным причинам.
Я написал ещё пару статей по теме вычисления в таблицах Writer:
Часть 2 здесь 
Часть 3 здесь

Регистр символов в LibreOffice

Недавно на работе коллега меня спросила: "А как по быстрому изменить регистр символов в блоке текста из всех заглавных букв в строчные и чтобы первая буква первого слова предложения осталась заглавная". Я такой радостный советую ей выделить всё и в контекстном меню найти пункт "Регистр" и далее там всё очевидно, есть несколько вариантов преобразования. А у неё МС Ворд...а там такого нет. И совместный поиск какого-то решения проблемы, хоть какого-нибудь, кроме перепечатывания всего текста, ни к чему не привел. Вроде мелочь и требуется не так часто, а вот потребовалось.
Я к чему всё это говорю? К тому, что у LibreOffice есть куча таких вот мелких фич, которых нет в аналоге от Microsoft. И это помимо бесплатности и открытости.
Для тех, кто в танке, и про такую возможность не знал, вот вам скриншот:


четверг, 10 декабря 2015 г.

Моё видение Стартового экрана в LibreOffice

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

Итак: Открыть файл - сейчас открывается стандартное окно проводника Виндовс или соответствующее окно стандартного обозревателя файлов в Линукс. А почему бы не сделать вот так, благо у LibreOffice есть встроенные диалоги открытия и сохранения файла и ими можно воспользоваться.

Далее: Файлы на сервере (то есть расположенные удаленно на ГуглДрайве, ОнеНотесах и прочих) - аналогично простому открытию файла, только учитывая специфику того, что сервера могут быть разные, поэтому надо бы их как-то выбрать. Опять же диалог открытия удаленно расположенных файлов реализован, наверное можно его встроить в Стартовый экран?

Следующее: Последние открытые документы - это как раз та штука, которая меня раздражает огромными миниатюрами и мерцанием их, когда по ним курсором мыши водишь. Заменить это все, например так, как показано на рисунке ниже. 

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

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

Вот как-то так. Посмотрим, что скажут разработчики LibreOffice.

вторник, 8 декабря 2015 г.

К вопросу об использовании ОЗУ LibreOffice

Взбрело мне в голову на работе качнуть текущий дэйли-билд LibreOffice 5.1 и попробовать в нем открыть реальный рабочий файл .xlsx мегабайта на 3 с чудовищной структурой и кучей формул и парой десятков вкладок. Так вот...мне не понравился результат и я притащил файл домой, где есть куча установленных версий LibreOffice.

Сразу финальные цифры (в Windows 7 x86-64):

LibreOffice 5.0.4.1 - 255 мб
LibreOffice 5.1 beta2 (от 06.12.2015г) - 400 мб! ЧЕТЫРЕСТА, Карл!

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

Попробовал провести замеры в Ubuntu 15.10 -> а вот тут очень даже дало, 293 и 306 мб для 5.0.2 и 5.1 бета 2 соответственно.

Пойду парить мозг разработчикам. Интересно откуда такая регрессия, да еще именно для вин-сборки? Чего они туда понапихали такого?

понедельник, 7 декабря 2015 г.

Выпуск LibreOffice 5.1 beta 2

Выпущен корректирующий выпуск LibreOffice 5.1 beta 2. Выпуск связан с какими-то проблемами при сборке бета-1, которая хоть и была выпущена, но чем-то разработчикам не понравилась.
Скачать как всегда можно отсюда.

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

воскресенье, 6 декабря 2015 г.

Сравнение потребления ОЗУ MS Office 2007 и LibreOffice 5.0.2

На просторах интернета я наткнулся на статью, в которой сравнивалось использование оперативной памяти офисами от Майкрософт и Опеноффисе.орг. Сравнивалось это дело в среде ОС Windows. Вот ссылка на статью. Для тех, кому лень читать, приведу краткое итого оттуда:
1. Текстовый документ - в 3 (три!) раза больше ест ОЗУ OpenOffice по сравнению с MSO
2. Электронная таблица - аналогично
Форматы документов DOC и XLS соответственно
Решил я ради интереса провести эксперимент, который, по моему мнению, избавит такой тест от предвзятости со стороны ОС Windows. Суть моих претензий в том, что Windows просто скрывает реальное потребление ОЗУ СВОИМ ЖЕ ПО MS Office! И никакими сторонними системными утилитами вы это не увидите, данные-то они все берут те, что им отдает операционная система.
Итого, что я сделал: ОС Убунту 15.10, LibreOffice 5.0.2 штатный, wine 1.6 - опять штатный, MS Office 2007 - установил в wine.
Я брал не те документы из статьи по ссылке выше, а свои, примерно по 1мб каждый.
Итоги такие:
текстовый документ с картинками - ЛО 130 против МСО 160 мб
электронная таблица с парой диаграмм - ЛО 170 против МСО 120 мб
Вот скриншоты утилитки htop (смотрим вторую и третью строчки):

То есть ни о какой разнице в разы речь не идет, по сути дела все зависит от документа, его внутреннего содержимого. От этого цифры будут плясать чуть-чуть в плюс или в минус относительно друг друга.
PS: мне могут возразить, что мой эксперимент также не чистый, так как LibreOffice был помещен в дружественное окружение. Отвечу так: LibreOffice сам по себе не использует ни GTK, ни Qt, ни wXwidgets. У него свой велосипед - VCL, который одинаково плох, где бы его ни запускали.
PPS: подумал я и решил в Windows сделать тоже самое. Закономерный итог: LibreOffice 5.0.4.1 Writer 120 мб, MS Word 2007 - 50 мб! О как! Почти те самые в три раза. Смотрим скриншот ниже, саму верхнюю и самую нижнюю строку. Это тот же файл, который я открывал в Ubuntu выше:

Исправление неприятного бага в русской локализации LibreOffice

Небольшая радость. В выпуске LibreOffice 5.0.4.1 была исправлена (судя по всему сама по себе, поскольку разрабы не чесались даже) противная ошибка в модуле Calc при установленном русском интерфейсе: если выбрать меню Формат-Страница, и далее в открывшемся диалоге выбрать вкладку Управление, то LibreOffice просто падал в аут, утаскивая с собой в могилу все документы. Ошибка проявилась внезапно для сборок 5.0.2 и 5.0.3 под Windows.
Вот на всякий случай ссылка на ошибку.

вторник, 1 декабря 2015 г.

LibreOffice и JAVA

Новички часто спрашивают такую вещь: "Зачем для работы LibreOffice нужен JAVA? Он написан на JAVA и поэтому так тормозит?" Приходится объяснять, что нет, LibreOffice не написан на JAVA, а написан на С++, а JAVA (даже не вся JAVA, а только JAVA Runtime Environment (JRE)) ему нужна для некоторых модулей и функций, в частности это некоторые мастера (пошаговые помощники для, скажем, организации почтовых рассылок прямо из LibreOffice), отдельный, дополнительный модуль решателя для Calc, встроенный движок баз данных HSQLBD и ещё по мелочи. Так вот, если не устанавливать JAVA (полную инсталляцию или только JRE в любом виде), то LibreOffice работать все равно будет. Не будут работать только вышеперечисленные функции. Субъективно при подключении JAVA в LibreOffice тот начинает работать медленнее, но видно это только, если мало ОЗУ (оперативной памяти).

А теперь к тому, ради чего я начал вообще этот пост: версии JAVA периодически обновляются в связи с закрытием каких-то ошибок (внутри ветки 1.7 скажем), а также в связи с добавлением каких-то новых фич (с выходом версии 1.8 соответствено) и я заметил такую неприятную тенденцию, что LibreOffice с JRE 1.8 стал просто падать при любых попытках работать с Base. Есть субъективное мнение, что версия JRE 1.7 работает стабильнее, а также, что LibreOffice для 32 битных систем (речь про сборку для ОС Windows) вкупе с 32-битным JRE версии 1.7 работает (во всяком случае не падает на ровном месте), а как только вы начинаете использовать 64-битный LibreOffice с 64-битным же JRE (поскольку работает только так, 32 бит LibreOffice не будет работать с 64 битным JRE и наоборот), то начинаются чудеса. Также не нужно мешать на одной машине две инсталляции JRE для разных архитектур.

Резюмируя, если вам нужны функции баз данных (остальное не так падуче):
1. Используйте JRE 1.7 максимум
2. Используйте 32-битный LibreOffice и соответсвующий JRE
3. Попробуйте использовать ОС на основе ядра Linux и там работать в LibreOffice, используя открытую реализация JAVA Open-JDK (которая есть в репозиториях вашего дистрибутива)
Обновлю пост из 2019 года. По поводу п.3: к сожалению в 2017 году появилась в дистрибутивах Linux проблема с JAVA и LibreOffice. Я написал об этом отдельный пост.