среда, 26 июня 2013 г.

В поисках замены Google Reader

После того, как Google объявил о том, что собирается похоронить Reader, огорчились очень многие. Технологии RSS нужно отдать должное - она позволяет очень здорово экономить время на чтении новостей. Обзоров альтернативных вариантов на замену великому Reader понаписано великое множество и я, пробежавшись по некоторым из них и взглянув на то, что предлагают другие, решил было вообще отказаться от RSS и раскидал поток новостей по соц. сетям, т.к. ни один из вариантов мне не понравился. Причинами отказа были: неудачный (на мой взгляд) веб интерфейс, отсутствие приложения под Android, урезанный функционал (хочешь удобства - покупай подписку), отсутствие возможности работать по https. В результате, часть новостей у меня шла через ленту Google+, часть через Facebook, часть вообще через e-mail, а на пару-тройку сайтов все-таки приходилось заходить. Минусы очевидны, даже нечего и говорить. И самым большим минусом было то, что многие сайты не обеспечивали синхронизацию своих новостных лент со страницей в соц. сети. Почему? Я не знаю. Вообще, такая фишка (из списка читаемых мною каналов) есть только у habrahabr, у которого в Google+ идет практически весь RSS поток, и у opennet, у которого поток идет в сеть ВКонтакте. Все остальные просто ведут страницу в соц. сети параллельно, абсолютно не утруждая себя размещать там хотя бы наиболее важные новости.
Итак, я решил положить конец возникшему бардаку и вернуться на RSS. Ну очень уж без него тяжко. Пробежавшись еще раз, уже спустя более 3 месяцев после анонса похорон, по сайтам, предоставляющим аналогичный Google Reader функционал, я, в итоге, сделал выбор. Им стал InoReader. Из плюсов данного сервиса стоит отметить следующие возможности:
  1. Логин с использованием аккаунтов Google или Facebook, а также наличие обычной регистрации;
  2. Работа по протоколу https;
  3. Очень удобный вэб интерфейс на русском языке с поддержкой горячих клавиш;
  4. Отсутствие ограничений на количество каналов;
  5. Упорядочивание каналов по каталогам;
  6. Комментирование новостей;
  7. Отправка новости по e-mail или в ленту соц. сети (коих предоставлено весьма приличное количество);
  8. Наличие мобильной версии сайта.
Наверное, это далеко не все плюсы данного сервиса, я перечислил лишь те, которые для меня являются наиболее важными. Из минусов я могу отметить лишь отсутствие своего клиента под Android. Хотя наличие удобного мобильного варианта вэб интерфейса, позволяет о вышеуказанном минусе забыть.
В общем и целом я своим выбором доволен, а разработчику InoReader - огромное спасибо за работу!

суббота, 22 июня 2013 г.

Bjarne Stroustrup. The C++ Programming Language (4th Edition)

Создатель языка C++ Бьерн Страуструп работает над 4-м изданием книги "Язык программирования C++". С черновиками к первым главам можно ознакомиться по ссылке http://www.stroustrup.com/4th.html.

воскресенье, 16 июня 2013 г.

Релиз biblref-1.1.3



Изменения:
  1. Проект переведен на использование Qt5.
  2. Откорректированы фильтры файловых диалогов открытия и сохранения.
  3. Внесены коррективы в файлы *.pro и README.

ПО с использованием Qt. Создание файла перевода на этапе сборки

При создании приложений с использованием фреймворка Qt, графический интерфейс пользователя которых переведен на несколько языков, встает вопрос об автоматизации создания файла перевода (*.qm) на этапе сборки проекта.
Приведенный ниже кусок кода файла проекта содержит следующие указания для утилиты qmake: каталог размещения файла *.ts, содержащего перевод элементов GUI в формате xml, каталог назначения, где будет размещена скомпилированная программа и куда замет следует скопировать файл перевода интерфейса, а также набор инструкций, обеспечивающий генерацию файла *.qm из *.ts и копирование созданного файла в каталог назначения.
...
TRANSLATIONS = translations/myprogram_ru.ts
...
DESTDIR = ../myprogram-bin
...
updateqm.input = TRANSLATIONS
updateqm.output = myprogram_ru.qm
updateqm.commands = lrelease myprogram.pro && $(COPY) translations/*.qm ${DESTDIR}
updateqm.CONFIG += no_link target_predeps
QMAKE_EXTRA_COMPILERS += updateqm

среда, 12 июня 2013 г.

Релиз r49-12062013


СКАЧАТЬ

Версии компонентов:
  • libtoxic v7.1.2
  • cr49 v1.2.1
  • Qr49 v3.5.1
Изменения:
  1. Улучшена компоновка диалога "Импорт данных" Qr49.
  2. Откорректированы фильтры файловых диалогов открытия и сохранения Qr49.

воскресенье, 9 июня 2013 г.

Релиз r49-09062013


СКАЧАТЬ

Версии компонентов:
  • libtoxic v7.1.2
  • cr49 v1.2.1
  • Qr49 v3.5.0
Изменения:
  1. Проект переведен на использование Qt5.
  2. Т.к. отчет по результатам расчета всегда размещается на одной странице, печать номера страницы была неуместной и в данной версии libtoxic отменена.
  3. Устранено неадекватное поведение Qr49 в Windows после ввода некорректных данных при расчете оборотов A, B, C.
  4. При составлении шаблонов для автоматического импорта данных в Qr49 реализована привязка к заголовкам столбцов (именам параметров). Ранее привязка осуществлялась по номерам столбцов.
  5. В диалоге "Импорт данных" Qr49 добавлен виджет "Журнал", в котором отображаются привязки параметров r49 к параметрам в файле с импортируемыми данными. При сохранении шаблона именно содержимое этого виджета будет сохранено в файл.
  6. Для диалога "Импорт данных" Qr49 установлен фиксированный размер.
  7. Откорректировано руководство пользователя.

среда, 5 июня 2013 г.

Релиз Qwt 6.1

Состоялся релиз библиотеки виджетов и вспомогательных классов для визуализации числовых данных Qwt 6.1. О возможностях библиотеки можно узнать со страницы проекта на sourceforge: http://qwt.sourceforge.net/, а о нововведениях версии 6.1 - в официальном changelog: http://qwt.sourceforge.net/qwtchangelog.html.

воскресенье, 2 июня 2013 г.

Приложение с использованием Qt5. Необходимые библиотеки для работы в чистой Windows

Итак, написано приложение с использованием Qt5. В GNU/Linux, как обычно, все хорошо, все на месте, все прекрасно работает. Собираем свою программу в Windows и встает вопрос ее распространения для этого класса операционных систем. Какие библиотеки должны идти вместе с программой, чтобы она работала у любого пользователя на любом варианте Windows? Разумеется, что все зависит от использованных в программе модулей Qt5, поэтому я просто приведу пример для одного из своих проектов, читателю же, ориентируясь на приведенный список, придется сделать по аналогии. Список при использовании Qt 5.0.2 и release сборке проекта получился следующий.
platforms/qminimal.dll
platforms/qwindows.dll
D3DCompiler_43.dll
icudt49.dll
icuin49.dll
icuuc49.dll
libEGL.dll
libgcc_s_sjlj-1.dll
libGLESv2.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5PrintSupport.dll
Qt5Widgets.dll

UPD 08.09.2013

После перехода на Qt 5.1.1, список необходимых библиотек несколько изменился.
platforms/qminimal.dll
platforms/qwindows.dll
printsupport/windowsprintersupport.dll
icudt51.dll
icuin51.dll
icuuc51.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5PrintSupport.dll
Qt5Widgets.dll

суббота, 1 июня 2013 г.

Информация об установленных модулях оперативной памяти в GNU/Linux

Зачастую, бывает необходимо провести некоторый апгрейд компьютера, в частности, доустановить или заменить модули оперативной памяти. Для того, чтобы купить именно то, что нужно, необходимо получить информацию о том, что уже имеется на борту. Например, тип памяти или количество установленных модулей, а также, есть ли в наличии свободные слоты. Понятно, что все это не проблема. Выключаем компьютер, открываем крышку и смотрим. Однако, гораздо удобнее получить необходимую информацию не выключая компьютера. В GNU/Linux это можно сделать с помощью программы dmidecode. К примеру, на моем Sony Vaio VPCF12M1R/H программа выдает следующее:
[pa23@pa23comp ~]$ sudo dmidecode --type memory
# dmidecode 2.12
SMBIOS 2.6 present.

Handle 0x0009, DMI type 16, 15 bytes
Physical Memory Array
 Location: System Board Or Motherboard
 Use: System Memory
 Error Correction Type: None
 Maximum Capacity: Unknown
 Error Information Handle: Not Provided
 Number Of Devices: 2

Handle 0x000A, DMI type 17, 21 bytes
Memory Device
 Array Handle: 0x0009
 Error Information Handle: Not Provided
 Total Width: 64 bits
 Data Width: 64 bits
 Size: 2048 MB
 Form Factor: SODIMM
 Set: None
 Locator: SODIMM1
 Bank Locator: Bank 0
 Type: DDR3
 Type Detail: Unknown

Handle 0x000C, DMI type 17, 21 bytes
Memory Device
 Array Handle: 0x0009
 Error Information Handle: Not Provided
 Total Width: 64 bits
 Data Width: 64 bits
 Size: 2048 MB
 Form Factor: SODIMM
 Set: None
 Locator: SODIMM2
 Bank Locator: Bank 1
 Type: DDR3
 Type Detail: Unknown

[pa23@pa23comp ~]$ 
Как видно, в моем компьютере в наличии имеются 2 слота под модули памяти и оба они заняты. В каждом установлено по 2 ГБ. А я хочу иметь 8. Что ж, придется раскошелиться на 2 модуля по 4 ГБ )

Первоисточник: http://www.howtogeek.com/howto/28475/how-to-tell-what-type-of-memory-your-linux-pc-has-installed/