Archive for the 'GNU/Linux' Category

13
Мар
11

Цифровая живопись и mypaint

Увлёкся и с первого взгляда влюбился в MyPaint

Радуюсь и восхищаюсь.

Кстати вокруг Ubuntu, GIMP’а и MyPaint’a на deviantart.com много профессиональных дизайнеров уже тусуется.
Дизайн из под Linux тема уже не для гиков (Ну почти 😉 )

http://mypaint.deviantart.com/ — Сообщество MyPaint
http://theshock.deviantart.com/art/ — Один из авторов кистей для MyPaint рассказывает как ими пользоваться…
http://www.davidrevoy.com/index.php — Ещё кисти для MyPaint с примерами работ

http://ubuntu-artists.deviantart.com/ — Убунтятные дизайнеры (Кстати проекту UbuntuStudio нужен дизайнер!)

Реклама
25
Апр
10

Попробовал Ubuntu 10.04

В целом

супер

Плюсы :

+ Микроблоггинг из коробки

+ LTS

Минусы :

— Кнопки окна в gnome’е переехали влево 🙂 ( Как лечить )

ЗЫ

По такому случаю завел себе учетную запись на http://identi.ca/alexkabakov

Кнопки менять не стал… Попробую заценить… Но в голове стоит вопрос «Зачем?»

Для рунета была бы востребована интергация с ВКонтакте и Однокласниками…

17
Апр
10

Автоматизация Gimp с помощью Python

Зачем автоматизировать?

В процессе работы с gimp часто требуется выполнять одни и те же действия.

Например что бы создать заготовку для кнопки :

  • Создать слой
  • Выделить область
  • Залить градиентом
  • Уменьшить выделение
  • Залить градиентом
  • Добавить эффектов

Когда таких действий много, они начинают отнимать много времени.
Эта работа превращаеться в только механическую — она не доставляет удовольствия.

Как быть? Надо автоматизировать!

Как вообще автоматизировать работу в GIMP?

Тогда я начал поиск вариантов.

Первое что я нашёл : script-fu.
Штатный способ написания скриптов для Gimp на Scheme.
Проблемы: Я не знаком со Scheme

Второе : GIMP Python.
Плюсы: Python!; Минусы: Не очень ясно из документации как это работает.

(Еще поподался мануал для Ruby, но для меня Python вкуснее)

Как автоматизируют GIMP с помощью GIMP Python?

Документация обновлялась давно : 16-May-2006.
Возможно и действительности она уже не соответствует.

Значит буду искать примеры на стороне.

Я отправился на сайт с плагинами для Gimp: http://registry.gimp.org/ и выбрал там тэг Python.

Сайт, кстати, очень хороший. Рекомендую 😉

Нашёл на нём plugin с простым кодом : Facial Symmetry.

Работает и соответствует доке по GIMP Python.

Пишем hello world

Стандартная заготовка будет примерно такая:


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from gimpfu import *

def python_PLUGINNAME(image, drawable):
    print "Hello world"

register(
    "python_PLUGINNAME",
    "Short description",                # Описание
    "Long description",                 # Описание
    "Author",                           # Автор
    "Author",                           # Автор
    "Year",                             # Год
    "<Image>/MyEffects/MenuItemName",   # Пункт меню
    "*",                                # Тип изображения
    [],                                 # Входные параметры
    [],
    python_PLUGINNAME)

main()

Что бы увидеть «Hello world» запускаем GIMP из под консоли.
Это помогает с отладкой.

Внутрь нашей функции пишем код.
Как создать слой или картинку понятно из доков.
А вот какие бывают вызовы у pdb?

Открываем : Справка -> Просмотрщик процедур

Как видно из скриншота процедур там много 🙂

Алгоритм такой :

  • Находим процедуру, например plug-in-sharpen
  • Меняем в названии минус на подчёркивание и добавляем pdb., так pdb.plug_in_sharpen
  • Читаем что передавать в параметрах и передаём

В остальном полагаемся на доки и примеры

P.S: Рекомендую плагин : Layer Effects

19
Сен
09

Сделал тестовй Http/AMF0 Сервер

Ради интереса сделал аналог AMFPHP на C++ с Qt4…

Это прототип, а не полная реализация.

Движит мной любопытство. Если кому интересно — добро пожаловать.

Описание проекта здесь : http://gitorious.org/rtmpservice/pages/ProjectHomeRussian

Если кратко

Первой целью проекта являлось получение ответа на вопрос “можно ли достаточно просто реализовать RTMP сервер на Qt?”

Ответ на него уже получен и он утвердительный.

Какие возможности этот проект может дать?

Этот проект позволит разрабатывать как сервера, так и клиенты спостобыне общаться с использованием протокола RTMP.

Это позволит использовать сервера написанные на C++ с бизнесс логикой на C++/JavaScript вместо Adobe_Flash_Media_Server или AMFPHP

Это позволит из приложений написанных с использованием библиотеки Qt делать вызовы к RTMP серверам.

Станут возможны такие сценарии использования :

  • Сервер AMFPHP или RTMPService или другой
  • Один клиент на Flex (Adobe Flash)
  • Один клиент на C++ (с Qt)
06
Июн
09

Автоматическое тестирование Web-приложений

Читал статью про cucumber,

Заценил 🙂

Цитирую документацию:

Cucumber сам по себе написан на Ruby, но может использоваться для тестирования кода как на ruby, так и на других языках при помощи дополнительных утилит:

Как это выглядит смотреть тут

Надо будет поиграться 🙂 Реальная тема

Вот пример теста от Cucumber (реально на русском языке, это оффициальный пример):

Функционал: Последовательные вычисления
    Чтобы вычислять сложные выражения
    Пользователи хотят проводить вычисления над результатом предыдущей операций

    Предыстория:
        Допустим я сложил 3 и 5

    Сценарий: сложение с результатом последней операций
        Если я ввожу число 4
        И нажимаю "+"
        То результатом должно быть число 12

    Сценарий: деление результата последней операции
        Если я ввожу число 2
        И нажимаю "/"
        То результатом должно быть число 4
17
Май
09

Использование цвета при выводе в терминал

Использовать цвета при выводе в терминал крайне просто 🙂

Цвета задаються ANSI Escape последовательностями такого вида :
\ 033[<код>[;<код>;<код>]m

Пример :
$ echo «\ 033[31m КРАСНЫЙ \ 033[0m белый»

Коды цветов

Код -> Значение

———————————————————————————
0 -> Сброс всех атрибутов на значения по умолчанию
1 -> яркость : жирный
2 -> яркость : бледный
4 -> подчёркнутый : вкл
5 -> мерцание : вкл
7 -> инверсия : вкл
22 -> яркость : норма
24 -> подчёркнутый : выкл
25 -> мерцание : выкл
27 -> инверсия : выкл
30 -> цвет символов : чОрный
31 -> цвет символов : красный
32 -> цвет символов : зелёный
33 -> цвет символов : коричнивый
34 -> цвет символов : синий
35 -> цвет символов : фиолетовый
36 -> цвет символов : голубой
37 -> цвет символов : белый
38 -> у меня не работает, в теории подчёркнутый с цветом символов по умолчанию
39 -> у меня не работает, в теории цвет символов по умолчанию
40 -> цвет фона : чОрный
41 -> цвет фона : красный
42 -> цвет фона : зелёный
43 -> цвет фона : коричневый
44 -> цвет фона : синий
45 -> цвет фона : фиолетовый
46 -> цвет фона : голубой
47 -> цвет фона : белый
49 -> цвет фона : по умолчанию

Как это всё выглядит

Предложение раскрашено так : 1ая строка — повышенная яркость, вторая — нормальная, третья -пониженная яркость.

Код вывода строки таков :

echo "\ 033[34m\n\ 033[1mQt - A cross-platform application and UI framework \ 033[22m
\n\tDevelop applications and user interfaces once, and deploy them across\n\t
\ 033[2mWindows, Mac, Linux/X11, embedded Linux, Windows CE and S60 (coming soon)\ 033[22m
without rewriting the source code."
ЧОрный

ЧОрный

Красный

Красный

Зелёный

Зелёный

Коричневый

Коричневый

Синий

Синий

Фиолетовый

Фиолетовый

Голубой

Голубой

Белый

Белый

Ссылки

http://www.vias.org/linux-knowhow/lnag_05_05_04.html

16
Май
09

Телеканал россия, ток шоу о «Microsoft vs Linux»

Подсмотрел у Mandriva

В ролях :

  • менеджер по стратегии платформ Microsoft Владислав Шершульский, (посередине)
  • главный редактор 3D News Андрей Кузин, (слева)
  • генеральный директор ГНУ / ЛИНУКС ЦЕНТР Павел Фролов  (второй справа)
  • председатель правления Центра свободных технологий Виктор Алкснис. (справа)

WordPress не поддерживает вставку этого видео 😦

Посмотреть онлайн ( бесплатно, без регистрации 🙂 ) — http://www.russia.ru/video/clinux/

Мои впечетления :

  • NecroSoft — как всегда
  • Алкинс — частично прав, но что касаеться «отсутствия экономической модели» вообще бред
  • Фролов — Красавец
  • Кузин — кто это?
Пигнвины уже в пути :)

Пигнвины уже в пути 🙂




Статистика

  • 7,447 просмотров

RSS Последнее чтиво

  • Произошла ошибка; возможно, лента недоступна. Повторите попытку позже.