Решение некоторых проблем с Qutim 0.3 под Linux

Решение некоторых проблем с Qutim 0.3 под Linux

С момента написания последнего поста про Qutim версия 0.3 приобрела статус бета-версии. Из-за последних изменений в репозитории у тех, кто пользовался старой версией под Linux, когда она еще называлась Qutim SDK 0.3, появились некоторые проблемы, которые, впрочем, легко решаются.

Проблемы возникли после очередного обновления программы из репозитория ppa:qutim/sdk03: пропала иконка в трее, а контакт-лист стал девственно чистым. Говорят, еще пропал звук, но у меня звук и так был отключен, поэтому ничего по этому поводу сказать не могу. После этого программа несколько раз обновлялась, но все оставалось по-прежнему.

А оказалось все довольно банально, хотя и неожиданно с точки зрения пользователя. Оказывается, репозиторий ppa:qutim/sdk03 стал «устаревшим», а самые последние сборки qutim теперь попадают в репозиторий ppa:qutim/qutim (https://launchpad.net/~qutim/+archive/qutim). При этом нужно удалить старый пакет qutim03, а установить пакет qutim из последнего репозитория. После этого опять заработал список контактов и появилась иконка в трее (которая, кстати, стала намного симпатичнее).

После установки qutim из репозитория ppa:qutim/qutim в разделе «О qutIM» значится версия 0.2.80. Смущаться этого не стоит, это на самом деле версия 0.3, но она еще бета, поэтому официально 0.3 не значится.

Ну и заодно напишу про еще одну проблему, которая возникла с Qutim 0.3 под Linux. Почему-то недавно перестал работать jabber (ака Google Talk) — при попытке авторизоваться получал сообщение «Ошибка авторизации». Порыскав по гуглу, в очень старых записях на официальном форуме увидел, что для qutim желателен gnutls (в репозиториях Убунты он устанавливается из пакета libgnutls-dev). После установки пакета libgnutls-dev авторизация стала проходить без проблем. Странно, раньше jabber работал и через OpenSSL.

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

qutim_info

Про вирус aadrive32.exe

Про вирус aadrive32.exe

На прошлой неделе нарвался на вирус, от которого еле избавился. Самое интересное, что антивирус был установлен, поэтому я даже не помню, когда последний раз подцеплял какую-то подобную гадость. На момент заражения ни Nod32, ни Avira, ни LiveCD drWeb’а этот вирус не признавали (хотя Avira ругался на следы жизнедеятельности этой твари). По реакции сайта virustotal.com оказалось, что еще несколько дней назад, эту гадость ловили только каждый четвертый антивирус (в их числе, кстати, были Касперский и Comodo). Вчера количество антивирусов, которые этот вирус ловили, уже заметно возросло, но Nod32, например, еще вчера еще пропускал.

Симптомы

Этот вирус распространяется через флешки, стоит их вставить в зараженный комп (или даже примонтировать какой-нибудь образ, например, из TrueCrypt), как вирус делает следующее:

  • Создает на флешке папку Recycler (якобы корзину), куда копирует свой exe-шник, судя по всему со случайным именем.
  • Все папки, находящиеся в корне флешки, делает скрытыми и системными.
  • Вместо папок создает ярлыки (*.lnk) с теми же именами, но суть их состоит в том, что при попытке их открыть будет не просто открыта папка, а будет запущен вирус из корзины (потом может быть нужная папка и откроется, запускать ярлык я не пробовал, но имя открываемой папки вирусу передается через командную строку).
  • В завершение всего создается файл autorun.ini в корне флешки, причем этот файл содержит какие-то бинарные данные.

Читать далее…

OutWiker 1.2.0.322. Что нового

OutWiker 1.2.0.322. Что нового

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

Для начала скриншот новой версии, где уже видны некоторые новые фичи.

outwiker_1.2.0_1

И общий список изменений в этой версии.

  • Для вики-страниц добавлена возможность ввода формул в нотации TeX (для рендеринга используется mimeTex).
  • Ссылка на картинку в виде [[Attach:xxx.png]] или [[http://…/xxx.png]] в вики-страницах вставляет только ссылку на картинку, а не саму картинку.
  • Добавлена вики-команда (:childlist:) для вставки списка дочерних заметок.
  • Добавлена вики-команда (:attachlist:)для вставки списка прикрепленных файлов
  • Добавлена вики-команда (:include:) для вставки содержимого прикрепленных файлов.
  • Добавлены вики-команды для вставки ссылок на пользователей Livejournal.com (команда (:ljuser:)) и на ЖЖ-сообщества (команда (:ljcomm:)).
  • В меню добавлена функция для преобразования специальных символов HTML (<, > и т.п.) в их HTML-представление.
  • Внутри оператора [@ … @] при разборе вики-нотации символы «<» заменяются на «&lt;», а «>» — на «&gt;».
  • Добавлена возможность задания шаблона для пустой вики-страницы (см. настройки).
  • Из вики-нотации удалена команда \\\, так как ее полностью заменяет команда [[<<]] (перевод строки).
  • В дереве заметок теперь показывается корень вики.
  • Значительно ускорена сортировка страниц по алфавиту.
  • Улучшено распознавание ссылок в тексте вики-страниц.
  • Улучшено кеширование разбора (парсинга) вики-страниц.
  • В заголовках (выделенные нотацией !!, !!! и т.п.) теперь можно использовать и некоторые другие элементы вики-нотации (выделение полужирным, курсив и т.д, а также формулы и вики-команды (:…:)).
  • Исправлены ошибки, связанные с удалением и перемещением заметок, которые нельзя удалить/переместить из-за блокировки их директорий.
  • Исправлены ошибка, возникавшая при попытке сохранить страницу, директорию которой удалили вручную во время работы программы.
  • Исправлено падение программы под Linux при переименовании страницы, содержащей картинки, загружаемые из интернета.
  • Другие небольшие исправления и рефакторинг кода (особенно вики-парсера).

Читать далее…

Обзор читалки Pocketbook Pro 902

Обзор читалки Pocketbook Pro 902

Читалку с большим экраном (9-10 дюймов) я ждал давно, очень уж хотелось со всеми удобствами читать технические книги и статьи в электронном виде (для художественных хватает и экрана КПК). Сначала я был нацелен на LBook, которые вот-вот обещали выпустить свою 9-дюймовую читалку. Но это «вот-вот» слишком уж затянулось, они уже даже открывали предзаказ книжек, но читалки до сих пор нет.

Был вариант купить Kindle от Amazon, но официально он не поставляется, «из коробки» с русским языком у него проблемы, которые, правда, говорят, легко решаются. В общем, держал я его в уме, но как-то особого желания покупать его не было, особенно после выходки, когда Amazon без ведома пользователей удалил с читалки купленные книги, которые вдруг показались копирастам «нелицензионными» (ссылка).

Остался Pocketbook Pro 902, вышедший в конце прошлого года. Его в итоге и купил, про него дальше и пойдет речь. У Pocketbook’а есть две модели читалки с большим экраном — 902 и 903, отличающиеся тем, что у 903 экран сенсорный, а цена больше на несколько тысяч. Но я все-таки решил взять 902 с обычным не сенсорным экраном.

Читать далее…

Книга «Пионеры программирования»

book_pionerНедавно прочитал книгу «Пионеры программирования» Федерико Бьянкуцци и Шейна Уордена. Книга довольно необычная по своей сути – это просто сборник интервью, взятый у авторов различных языков программирования. Здесь собраны интервью, взятые у 27 человек, имеющих непосредственное отношение к созданию 17 языков программирования:

  • C++ (Бьёрн Страуструп);
  • Python (Гвидо ван Россум);
  • APL (Эдин Д. Фалкофф);
  • Forth (Чак Мур);
  • Basic (Томас Курц);
  • AWK (Ал Ахо, Брайан Керниган, Питер Вайнбергер);
  • Lua (Роберто Иерусалимский и Луис Энрике де Фигейреду);
  • Haskell (Пол Худак, Джон Хьюз, Саймон Пейтон-Джонс и Филип Уодлер);
  • ML (Робин Милнер);
  • SQL (Дональд Чемберлен, который теперь работает над XQuery);
  • Objective-С (Том Лав, Брэд Кокс);
  • Java (Джеймс Гослинг);
  • C# (Андерс Хейлсберг);
  • UML (Айвар Якобсон, Джеймс Рамбо, Гради Буч);
  • Perl (Ларри Уолл);
  • PostScript (Джон Уорнок и Чарльз Гешке);
  • Eiffel (Бертран Мейер).

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

Читать далее…

Darktable. RAW-конвертер под Linux

Darktable. RAW-конвертер под Linux

Давайте сегодня поговорим про еще один RAW-конвертер с открытыми исходниками под Linux. Несмотря на то, что основным RAW-конвертером у меня остается RawTherapee, я уже долго присматриваюсь к быстро развивающемуся Darktable, новые версии которого выходят примерно раз в три месяца. А те, кому и этого срока много, могут использовать нестабильные версии, которые обновляются несколько раз в неделю. Я буду описывать Darktable на примере как раз нестабильной версии, в данный момент внешне она не сильно отличается от стабильной версии 0.8, которая вышла в феврале.

Чем же отличается Darktable, например, от того же RawTherapee? Во-первых, ориентацией в первую очередь на Linux. В данный момент нет версий под Windows, и будет ли в будущем — не известно. Во-вторых, у Darktable более продвинутые возможности для каталогизации фотографий. Если RawTherapee для сортировки фотографий может предложить только оценки от 0 до 5 звездочек, то у Darktable, кроме того, есть еще цветовые метки (6 цветов) и текстовые метки, правда, поиска по текстовым меткам в данный момент нет.

Darktable, как и RawTherapee, при редактировании не изменяет сами файлы, а всю обработку сохраняет во внешних файлах, который располагается рядом с фотографией.

Программа имеет два режима работы с фотографиями: режим «Световой стол» предназвачен для просмотра каталога фотографий, экспорта/импорта, работы с метками, сортировки и отбора фотографий, здесь же почему-то располагается и кнопка для объединения нескольких фотографий в HDR. Внешний вид этого режима показан на следующем скриншоте.

darktable_01

Читать далее…

Про искусственный интеллект

Про искусственный интеллект

А вы знаете, что искусственный интеллект (ИИ) уже существует? Причем в том самом смысле, в каком его понимал Тьюринг, и этот ИИ даже почти проходит тест Тьюринга, правда, немного с другой стороны. Для тех, кто не знает, что такое тест Тьюринга, это такой тест, который должен определить можно ли данную компьютерную программу считать искусственным интеллектом. Суть теста состоит в том, что живой человек разговаривает (задает вопросы) не то с другим живым человеком, не то с компьютером, заранее не зная кто это будет. Если по ответам на вопросы человек не в состоянии определить, кто ему отвечает, человек или компьютер, то считается, что компьютер, который так хорошо замаскировался, обладает искусственным интеллектом.

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

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

Например, если в запросе есть фраза «сменить тариф», то она начинает рассказывать, про то, как можно его сменить, причем, пока она не отправит весть пакет с ответом, прервать ее невозможно.

После фразы, содержащей «интернет с телевидением», она начинает рассказывать, что в тариф включено цифровое телевидение, что-то еще и т.д. и т.п.

На фразу «декодер телевидения» она рассказала, что для получения декодера надо заполнить заявление у них в офисе и получить его.

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

Похоже, Герберт в своей Дюне неплохо угадал будущее ИИ, когда вместо компьютеров используются живые вычислители — ментаты. Зачем делать искусственный интеллект из кремния, когда его можно сделать из интеллекта естественного?

OutWiker 1.1.0. Что нового

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

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

  • Переделан интерфейс главного окна. Теперь можно перемещать и закрывать панели с деревом заметок и вложенными файлами.
  • Добавлена возможность изменения порядка следования заметок в дереве (горячие клавиши Ctrl+Shift+Up / Ctrl+Shift+Down).
  • Добавлена возможность принудительной сортировки записей по алфавиту.
  • Добавлен полноэкранный режим.
  • Автосохранение заметок при переключении на другое приложение.
  • Добавлена возможность перетаскивать файлы из окна вложений в другие программы.
  • Добавлена настройка: всегда показывать значок в трее.
  • Добавлена настройка размера табуляции в редакторе.
  • Теперь при создании страницы по умолчанию выбирается тип страницы, созданной в прошлый раз.
  • Теперь при создании страницы директория __attach для вложенных файлов не создается. Она создается при первой необходимости.
  • Уменьшено моргание главного окна при различных действиях.
  • Исправления ошибок.

Читать далее…

Книга Р. С. Мартина и М. Мартина «Принципы, паттерны и методики гибкой разработки на языке C#»

Agile_C#_cover.inddНа днях дочитал книгу двух Мартинов (Роберта и Мики) «Принципы, паттерны и методики гибкой разработки на языке C#». Очень стоящая книга, охватывающая все этапы проектирования софта. Несмотря на то, что в названии фигурирует C#, и все примеры действительно написаны на нем, книгу можно (нужно) читать всем, кто занимается программированием и проектированием. К языку C# описание никак не привязано. Более того, в книге открытым текстом сказано, что изначально некоторые примеры были написаны на C++ или Java, а затем для книги переписаны на C#.

В книге описываются все этапы проектирования с учетом того, как эти этапы выполняются при так называемой «гибкой разработке». Честно говоря, я не очень глубоко разбирался в идеологии экстремального программирования (XP), но описываемая в книге гибкая разработка очень ее напоминает (и авторы ссылаются на XP): здесь и парное программирование, когда за одной клавиатурой сидят двое (у нас было такое в школе, когда не хватало на всех компьютеров 🙂 ), и программирование через тесты (сначала пишутся тесты, потом под них пишется код), и частый выпуск промежуточных работающих версий программы, и утверждение о том, что лучшая документация — это код.

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

В книгу включена одна интересная глава, которая в оригинале была оформлена в виде статьи. Эта глава описывает процесс проектирования и кодирования (эти два процесса перемешаны) программы для подсчета очков при игре в боулинг. Эту главу нужно обязательно показывать тем, кто хочет понять что из себя представляет проектирование софта, а особенно стоит показать начальству, чтобы оно прониклось как происходит рождение программы, и что написание программы — это не просто кодирование в императивном стиле (a la Pascal, Fortran и т.п.).

Читать далее…

wxPython и Drag’n’Drop файлов в Linux

wxPython и Drag'n'Drop файлов в Linux

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

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

def onBeginDrag(self, event):
	"""
	Начало перетаскивания файлов
	"""
	data = wx.FileDataObject()

	for fname in self.getSelectedFiles():
		# Добавляем вложенные файлы в список.
		data.AddFile (fname)

	dragSource = wx.DropSource (self)
	dragSource.SetData(data)

	result = dragSource.DoDragDrop ()

Читать далее…