ruDevelopment Path : Последние новости и статьи http://www.dpath.ru c++, delphi, pascal, python, php, ubuntu и многое другое Copyright 2010-2011, Gudulin Alexandr, Gagiev Yaroslav Революционный видеоредактор от Novacut ждет вашей поддержки http://www.dpath.ru/news/open-source-video-editor-novacut-reaches-final-week-kickstarter.html Novacut, нацеленный на создание редактора, с помощью которого можно будет совместно работать над одним видео, разместил на сайте совместного финансирования Kickstarter информацию о том, что им требуется $25,000. 

Akshat Jain, редактор OMG! Ubuntu!, писал ранее в этом месяце: "Пользователи OS X и Windows всегда могли пользоваться профессиональными видеоредакторами, в то время как пользователи Linux такой возможности не имели. Novacut нацелен на создание 100% свободного редактора с открытым исходным кодом".

В настоящее время бюджет проекта составляет чуть более $13,000 за пять дней до окончания сборов пожертвований. В соответствии с правилами Kickstarter, если проект не достигает своей цели ($25000), то он не получит ничего из набранных денег.
   

Как вы можете помочь

Если вы считаете, что Novacut является достойным проектом, зарегистрируйтесь на сайте Kickstarter и сделайте пожертвование. Если каждый прочитавший отправит $1 (а это вовсе не много, не так ли?), то Novacut сможет достигнуть своей цели уже к завтрашнему дню!

 
Перевод статьи с OMG! Ubuntu!
]]>
Sun, 24 Jul 2011 12:41:55 GMT
Google Code-in: Результаты http://www.dpath.ru/news/google-code-in-results-20110214.html Сегодня объявлены победители в конкурсе Google Code-in. Всего более 2000 задач на 360 студентов из 48 стран. Каждый студент, выполнивший хотя бы одно задание, получит футболку и свидетельство об участии.

google

Первоначально шла речь о 10 участниках, достойных "grand prize", но организаторы объявили 14 призовых места (символично, да?). Эти ребята (вместе с родителями/законными представителями) будут приглашены в штаб-квартиру Google в Маунтин-Вью (Калифорния) для встречи с инженерами Google! Список победителей (ни одного русского, к сожалению):

1. Utku Aydin, Turkey
2. Fernando Brito, Brazil
3. David Czech, Canada
4. Aviral Dasgupta, India
5. Alexandru-Marian Florescu, Romania
6. Gautam Gupta, India
7. Daniel Kang, United States
8. Nolan Lum, United States
9. Daniel Marth, Austria
10. Florentina Musat, Romania
11. Pim Otte, Netherlands
12. Matt Rajca, United States
13. Furkan Üzümcü, Turkey
14. Tony Young, New Zealand

Поздравления победителям! Это очень крутые ребята, правда.
http://google-opensource.blogspot.com/2011/02/google-code-in-grand-prize-winners.html

Я, кстати, решил одно задание, поэтому тоже ожидаю футболку :)

10 марта UPD: футболку и сертификат прислали.
Интересно, что посылка из США долетела до квартиры ровно за неделю (FedEx Express).

]]>
Mon, 14 Feb 2011 20:21:40 GMT
Пишем Indicator Applet для GNOME http://www.dpath.ru/articles/howto-write-indicator-applet-for-gnome-20110207.html

ubuntu tips applet

Известно, что большинство апплетов для GNOME написаны на C, чем достигается некоторое преемущество в скорости работы перед программами на Perl/Python. С другой стороны, писать на C сложнее, поэтому работать будем с Python.

Первым делом, нужно подключить библиотеку appindicator:
import appindicator

Затем создаем объект класса Indicator с тремя параметрами:
  • 1 - уникальный идентификатор приложения
  • 2 - тип значка
  • 3 - категория, указывающая на положение вашей программы на панели GNOME
    Всего выбирать можно из 5 вариантов:
    • CATEGORY_APPLICATION_STATUS
    • CATEGORY_COMMUNICATIONS
    • CATEGORY_SYSTEM_SERVICES
    • CATEGORY_HARDWARE
    • CATEGORY_OTHER
    Нам подойдет первый:
indicator = appindicator.Indicator("amazing-applet", "indicator-messages", appindicator.CATEGORY_APPLICATION_STATUS)
Теперь установим статус индикатору:
  • STATUS_ACTIVE - иконка отображена
  • STATUS_PASSIVE - иконка спрятана
  • STATUS_ATTENTION - иконка в состоянии привлечении внимания пользователя
indicator.set_status(appindicator.STATUS_ACTIVE)

Также добавим графические иконки для обоих состояний индикатора (активного и того, который привлекает внимание):
indicator.set_attention_icon(indicator_icon)
indicator.set_icon(indicator_icon)

В переменной indicator_icon хранится путь до графического файла.

Не секрет, что у каждого апплета есть меню. И у нашего будет. Подключаем pygtk и gtk и создаем объект класса gtk:
menu = gtk.Menu()

Пункты создаются и добавляются следующим образом:
item = gtk.MenuItem("Item name")
menu.append(item)

Отслеживаем нажатие на выбранный пункт меню так:
item.connect("activate", foo)

После того как меню сформировано, добавляем его к апплету:
indicator.set_menu(menu)

Отлично, у нас уже есть хоть и бесполезное, но работающее приложение (засмотреть код).

Теперь сделаем возможность отправки сообщений в notify. Добавляем новый пункт в меню и описываем действия, которые будут выполняться по нажатию:
icon = 'file://' + indicator_icon
title = 'Amazing Applet'
text = 'Hello! I\'m your first indicator applet.'
notif = pynotify.Notification(title, text, icon);
notif.show()

Да, для работы pynotify надо подключить... pynotify. Готово!
Смотрим что получилось у вас, сравниваем с моим кодом, ищем ошибки, пишем в комментариях вопросы.

Иконку нарисовал в Inkscape :)

UPD Используемые статьи: Using the application in python , http://askubuntu.com/questions/16431/putting-an-arbitrary-gtk-widget-into-an-appindicator-indicator
]]>
Mon, 07 Feb 2011 00:33:20 GMT
Ubuntu Tips Applet v0.1.2 http://www.dpath.ru/news/ubuntu-tips-applet-update-20110121.html Итак, апплет претерпел небольшой апгрейд и получил версию 0.1.2. 

Что сделал:

  • сменил тип на "Индикатор"
  • добавил опции "Показать один трюк" и "Выключить автоматический режим"
  • добавил кнопку выхода
  • дописал нужные файлы для корректности DEB пакета

Теперь после установки программы, не надо добавлять апплет на панель с помощью ПКМ, а просто щелкнуть по Ubuntu Tips Applet в меню 'Applications -> Accessories'.

Скриншоты

 

О том как создавать апплеты для GNOME в python с помощью класса appindicator не сильно расписано в документации, поэтому будет про это статья.

Постоянная страница с описанием, скриншотами и DEB тут >>

]]>
Fri, 21 Jan 2011 01:09:33 GMT
UbuntuTips - GNOME Applet http://www.dpath.ru/articles/ubuntutips-gnome-applet-in-python-20110118.html Андрей подал замечательную идею написать апплет для GNOME, который будет выводить на экран всевозможные трюки из пакета fortunes-ubuntu-server, о котором он узнал из статьи на хабрахабре.
  

Те, кому чужд графический интерфейс (или просто интересно), ставят пакет и пользуются им так:
sudo apt-get install fortunes-ubuntu-server
/usr/bin/ubuntu-server-tip

Для любителей эффектных уведомлений 'Notification' (коим я являюсь) написан апплет для GNOME. Страница апплета тут. При написании программы я пользовался шикарной статьей на opennet: Создание Python апплета GNOME + смотрел как реализованы некоторые функции в Forismatic-Applet, в частности только благодаря исходному коду Forismatic разобрался с построением окна настроек.

 

Установка

Качаем и ставим DEB пакет

 

Настройка

  1. Щелкаем правой кнопкой мыши по Гном-панели и выбираем пункт меню 'Add to Panel...' ('Добавить на панель')
  2. Ищем в списке апплетов 'Ubuntu Tips', дважды щелкам по нему или жмем 'Add' ('Добавить')



  3. Щелкаем правой кнопкой по иконке добавленного апплета и выбираем 'Preferences'.
    Устанавливаем нужный интервал времени обновления сообщений, сохраняем настройки и закрываем окно

  4. Готово!

Некоторые трюки

  • Чтобы найти команду, которую вы раньше использовали в командной строке, введите ctrl-r и начните писать первые символы команды.
  • Если вы выполнили команду и забыли про 'sudo', вы можете набрать 'sudo !!' для вторичного запуска предыдущей команды с использованием 'sudo'.
  • Утилита 'column' позволяет форматировать выходные данные. Например, 'mount | column -t' сделает вывод информации более приятной для восприятия. Подрбнее - 'man column'.
  • Нажмите ctrl-e для перемещния в конец строки и ctrl-a для перемещения в начало.
]]>
Tue, 18 Jan 2011 19:28:48 GMT
Подборка электроных книг по C++, Java, TeX и алгоритмам http://www.dpath.ru/articles/books-algos-cpp-java-tex-latex-20110111.html Существует отличный список электронных версий различных книг по алгоритмам, языкам C++, Java, TeX, LaTeX на сайте у MaXimal. Также там вы найдете большое количество алгоритмов с объясненным принципом работы и исходным кодом (Алгебра, Графы, Геометрия, Строки, Структуры данных, ...)

Надо отметить, что его сайт живет и продолжает пополняться новым материалом. Например, в декабре была обновлена PDF-книга с алгоритмами - оффлайн версия этого сайта.

Сам автор заявляет, что главная цель ресурса — "распространение информации и устранение глупых препятствий на пути к этому".

Стоит добавить в закладки, материал ценный.

]]>
Tue, 11 Jan 2011 21:56:54 GMT
PDF to JPEG bash скрипт http://www.dpath.ru/articles/pdftojpeg-bash-script-20110110.html Оформлял я в зимние каникулы заочную олимпиаду, используя LaTex для написания формул, систем уравнений и т.п., и сконвертировал результат в PDF. Ну а приемная комиссия, которая будет проверять решения задач, PDF не принимает, можно отправлять только DOC или JPEG/TIFF/GIF файлы.

Как конвертировать из PDF в DOC я так ине понял. Т.е. существуют даже online-конвертеры, но с русским языком они работают плохо, плюс ко всему у меня много картинок (чертежи, схемы), а конвертеры воспринимают их как таблицы и пытаются построить содержимое...

Значит, надо получить JPEG картинку. Для этого в Linux есть отличные утилиты: pdftoppm и ppmtojpeg. Что они делают -- понятно из названий, приведу лишь код, который позволит сократить количество шагов до конечного результата:

	#!/bin/bash

if [ ! -z "$1" ]
then
  pdf=$1
else
    echo "Please input pdf file as argument"
    exit
fi

pdftoppm $pdf `basename $pdf .pdf`
for file in *.ppm; do
    ppmtojpeg $file > ${file/.ppm/.jpg}
    rm $file
done

Запускать так: ./pdftojpeg.sh file.pdf. На выходе получится n JPEG картинок (n -- количество страниц в вайшем pdf-документе).

UPD: товарищ подсказывает, что можно использовать утилиту convert. Почитав руководство, пришел к выводу: мой скрипт равносилен одной строке:

convert -density 100 file.pdf file.jpg

]]>
Mon, 10 Jan 2011 21:22:48 GMT
Как установить Dropbox 1.0.10 для GNU/Linux http://www.dpath.ru/articles/howto-install-dropbox-1-0-10-for-gnu-linux-20110110.html К сожалению, процедура установки, указанная на официальном сайте, нерабочая. Поэтому NicoLargo предлагает небольшой хак для обновления клиента до последней версии.

  1. Остановите работу Dropbox: dropbox stop
  2. Выполните ряд команд в терминале:
    cd ~
    wget http://dl-web.dropbox.com/u/17/dropbox-lnx.x86-1.0.10.tar.gz
    mv .dropbox-dist .dropbox-dist.OLD
    tar zxvf dropbox-lnx.x86-1.0.10.tar.gz
    rm -f dropbox-lnx.x86-1.0.10.tar.gz
    
    Примечание: если архитектура компьютера 64-разрядная, можете скачать dropbox-lnx.x86_64-1.0.10.tar.gz
  3. Запускаем Dropbox снова: dropbox start -i и вуаля!
  4. Если все хорошо, удаляем резервную копию, сделанную на 2 этапе:
    rm -r ~/.dropbox-dist.OLD
    

Оригинал на французском: http://goo.gl/J3N31

]]>
Mon, 10 Jan 2011 17:24:34 GMT
Skype vs FaceTime http://www.dpath.ru/articles/skype-vs-facetime-20110109.html Мы сравнили работу двух наиболее популярных приложений для совершения видео-звонков с устройств, работающий на iOS -- Skype и FaceTime.

Данные тесты нельзя назвать научными, но с недавнего времени FaceTime получил серьезного конкурента в совершении видео-звонков, и мы решили произвести сравнение этих клиентов. В качестве рабочего материала были задействованы iPhone 4, iPod Touch 4G и Hackintosh OS X с камерой Logitech Pro 9000.

Skype

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

Камень в огрод FaceTime: на данный момент (январь 2011 года) Skype не только имеет возможность совершать видео-звонки по Wi-Fi и 3G, это также кросс-платформенное приложение для десктопе, что означает, вы можете общаться с вашими друзьями, пользующимися Windows, OS X или Linux.

FaceTime

Хотя FaceTime не дает вам возможность звонить друзьям-красноглазым, как Skype, а лишь возможна передача видео между iOS и Mac (и ограничивается Wi-Fi на данный момент), он по-прежнему обеспечивает общение на высоком уровне. Качество звука высокое, отсутствие задержек между видео и аудио (в отличие от Skype). Качество видео немного лучше, когда вы стоите на месте, и падает, если вы начинаете двигаться.

В целом, оба приложения заслуживают уважение, и я бы особо не стал выбирать между ними. Если вы приставите пистолет к моей голове, я, наверное, выберу FaceTime только из-за отсутствия рассинхронизации. Как я уже говорил, Skype имеет явное преимущество, будучи кросс-платформенным и не ограничиваясь Wi-Fi, а это всегда большой плюс. Так что выбор за вами!

Источник: http://goo.gl/EF0cD

]]>
Sun, 09 Jan 2011 17:34:36 GMT
Скрипт сокращения ссылок (goo.gl) для bash http://www.dpath.ru/articles/goo-gl-in-bash-20110108.html Наверняка все знают про сокращатель ссылок от Google: goo.gl.

Для него существует небольшое руководство и примеры, а также целый класс на php, плагин для Firefox и букмарклет  для вашего браузера.

Ну а мы напишем скрипт, который будет работать в командной оболочке bash:
#! /bin/bash

if [ ! -z "$1" ]
then
  url=$1"/&jsonp=short_link"
  curl -# "http://ggl-shortener.appspot.com/?url=$url" | cut --fields=4 --delimiter=\"
else
    echo "Please input one website link as argument"
    exit
fi
	

Скрипту передается в качестве параметра URL, который надо подсократить: ./googl.sh http://www.dpath.ru/news/install-and-update-libreoffice-in-ubuntu-ppa-20110103.html

Результат:


######################################################################## 100.0%
short_link(
http://goo.gl/37uF3
);

]]>
Sat, 08 Jan 2011 21:09:05 GMT
Установка и обновление LibreOffice из PPA http://www.dpath.ru/news/install-and-update-libreoffice-in-ubuntu-ppa-20110103.html

Долой ручное скачивание .deb пакетов

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

Скачать

PPA предоставляет пакеты для пользователей Ubuntu 10.04, 10.10 и 11.04. Хотя LibreOffice еще предстоит релиз стабильной версии, в настоящее время доступен LibreOffice 3.3 Release Candidate 2.

Чтобы добавить PPA и установить LibreOffice RC2, выполните следующие команды в терминале:

sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install libreoffice
]]>
Mon, 03 Jan 2011 15:01:43 GMT
Разноцветное поздравление с НГ в терминале http://www.dpath.ru/articles/colored-congratulation-in-ubuntu-terminal-20110102.html

Чтобы раскрасить текст, будем использовать управляющие последовательности символов — инструции по выполнению какого-либо действия в shell. Управляющая последовательность обозначается \e (или \033). Следом за \e идет код, определяющий цвет. Вдаваться в подробности, какой код за какой цвет отвечает, я не буду. В файле colors находится три переменных, которые нам пригодятся:

#!/bin/bash
red='\e[0;31m'     # red
white='\e[1;37m'   # white
green='\e[1;32;5m' # green
clear='\e[0m'      # no color
Теперь составим само поздравление. Я решил сделать так:

11111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111100111110011100000000011100000000011100000000011100111111001111111
11111111111111001111100111001111100111001111100111001111100111001111110011111111
11111111111110011111001110011111001110011111001110011111001111001111001111111111
11111111111100000000011100000000011100000000111100000000111111000000111111111111
11111111111001111100111001111100111001111111111001111111111111100111111111111111
11111111110011111001110011111001110011111111110011111111111111001111111111111111
11111111100111110011100111110011100111111111100111111111111110011111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111100111111111001110000000011100111111111110011111111111111111111111
11111111111111000111111110011100111111111001111111111100111111111111111111111111
11111111111110011011111100111001111111110011111111111001111111111111111111111111
11111111111100111101111001110000000011100111100011110011111111111111111111111111
11111111111001111110110011100111111111001110000011100111111111111111111111111111
11111111110011111111000111001111111110011001110011001111111111111111111111111111
11111111100111111111001110000000011110000111110000111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111
11100111111001110000000011100000000011100000001111111111111111111111111111111111
11001111110011100111111111001111100111001111001111111111111111111111111111111111
11001111001111001111111110011111001110011110011111111111111111111111111111111111
11000000111110000000011100000000011100000011111111111111111111111111111111111111
11100111111100111111111001111100111001111001111111111111111111111111111111111111
11001111111001111111110011111001110011111001111111111111111111111111111111111111
10011111110000000011100111110011100111111001111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111
Тогда наш скрипт будет заменять 1 на пробел, а 0 на "карандаш", в роли которого выступает #. А теперь сам скрипт:

#!/bin/bash

# include file with color codes
. colors

# checking for arguments
if [ $# -eq 1 ]
then
    fname=$1
else
    echo "Incorrect argument"
    exit
fi

# clear screen
clear
i=0

while read line
do

   if [ $i -lt 9 ] ; then
       COLOR1=${red} ; CLEAR=${clear}
   elif [ $i -gt 9 -a $i -lt 19 ] ; then
       COLOR1=${white} ; CLEAR=${clear}
   elif [ $i -gt 19 -a $i -lt 28 ] ; then
       COLOR1=${green} ; CLEAR=${clear} 
   fi
   
   newline=`echo "$line" | tr '10' ' #' `
   printf "$COLOR1$newline $CLEAR"
   let i++
   sleep 0.1

done < $fname
read
Для эффектности добавил очистку экрана перед стартом программы и ожидание 0.1 секунду перед прорисовкой новой строки. Даем скрипту права на исполнение и запускаем из терминала так: ./script.sh newyear.txt С Новым 2011 годом вас!]]>
Sun, 02 Jan 2011 22:21:27 GMT
Обновление: комментарии DISQUS http://www.dpath.ru/news/update-disqus-comments-20101229.html
Стоит сказать, что преемуществ масса по сравнению с нашей самописной формой :) Есть спам-фильтры, удобная панель модерирования, форма ветвления, что позволит читателям следить за дискуссией и принимать в ней участие более активно. 
Теперь вы можете оставлять комментарии, используя свой OpenId, Yahoo, Twitter, Disqus или просто Имя/E-mail/Сайт. 

Приятного всем комментирования!
]]>
Wed, 29 Dec 2010 20:32:26 GMT
Загрузка фотографий в facebook из nautilus http://www.dpath.ru/articles/nautilus-facebook-image-uploader-script-20101221.html
  • Качаем архив отсюда
  • Распаковываем
  • Запускаем файл install.sh (можно в терминале, можно двойным кликом) Готово, можете наблюдать, кликая по картинке, выпадающее меню с пунктом Upload To Facebook.

    Кликаем, появляется окошко скрипта. Жмем Autorize, следуем подсказкам...

    ...и удача - картинка размещена!

    Последующий запуск скрипта вызовет лишь окно с выбором альбома, в который следует поместить фотографию. /* Новость и скриншоты с omg.ubuntu */]]> Tue, 21 Dec 2010 23:15:54 GMT Релиз первой версии языка программирования Perl http://www.dpath.ru/news/first-version-of-perl-release-20101218.html perl

    Работая программистом в Unisys, в 1987 году Ларри Уолл начал разработку Perl. Версия 1.0 была выпущена и анонсирована в новостной группе comp.sources.misc 18 декабря 1987 как «"замена" для awk и sed». В настоящее время идет разработка Perl 6. Источник: статья о Perl на википедии.]]>
    Sat, 18 Dec 2010 14:21:32 GMT
    Изучаем SQL с помощью GalaXQL http://www.dpath.ru/articles/learning-from-sql-using-galaxql.html http://ru.wikipedia.org/wiki/SQL). Для упрощения изучения этого языка существует обучающая программа GalaXQL. Она примечательна тем, что она совмещает в себе теория и практику при изучении SQL. Для экспериментов нам дана ни много ни мало, а целая галактика, которой мы можем управлять. Все данные о звездах хранятся в БД. Эти данные такие:
    • starid - идентификатор звезды
    • name - имя звезды
    • x, y, z - координаты звезды
    • class - класс звезды
    • intensity - интенсивность
    Данные таблицы можно редактировать, следовательно менять положение звезд, переименовывать их. Обучение выполнено в виде уроков, представленных в выпадающем списке. Благодаря, этой программе Вы сможете изучить SQL и получить некоторые знания по астрономии:) Версия программы существует для Windows, Linux, Mac OS X.
    ]]>
    Fri, 03 Dec 2010 15:38:06 GMT
    Меняем внешний вид Ubuntu http://www.dpath.ru/articles/change-the-look-of-ubuntu.html На днях мне окончательно надоел стандартный внешний вид Ubuntu и я решил поискать что-нибудь новенькое. Из всего просмотренного мне больше всего понравились темы с сайта Bisigi Project. Выполнены они очень качественно и достойно смотрятся, а главное практически не вызывают тормозов в системе. Больше всего меня впечатлила тема Infinity:
        

    Для установки тем необходимо добавить репозиторий:
    $ sudo add-apt-repository ppa:bisigi/ppa && sudo apt-get update
    Установка темы на примере Infinity:
    sudo aptitude install infinity-theme
    ]]>
    Sat, 27 Nov 2010 21:02:34 GMT
    Защищаем систему от вирусов http://www.dpath.ru/articles/protect-your-system-from-viruses.html Если вашу Windows вот-вот поглотят вирусы, то хорошим вариантом будет сканирование системы из под Linux (в данном случае Ubuntu). В качестве антивируса можно использовать ClamAv. ClamAV — это бесплатный антивирус, распространяемый по лицензии GPL. Особенности:
    • консольный интерфейс
    • постоянное обновление вирусных баз данных
    • встроенная поддержка почти всех почтовых форматов файлов
    • поддержка архивов (Zip, RAR, Tar, Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS)
    • поддержка документов формата MS Office, MacOffice, HTML, RTF, PDF
    • возможность проверки входящего трафика
    Устанавливаем:
    $ sudo apt-get install clamav
    Обновляем антивирусные базы:
    $ sudo freshclam
    Сканируем:
    $ sudo clamscan -г <каталог>
    Также для сканирование системы можно использовать Dr.Web LiveCD, который тоже является бесплатным.]]>
    Sun, 14 Nov 2010 15:47:42 GMT
    Добываем аватарки друзей ВК с помощью Python http://www.dpath.ru/articles/get-avatars-vk-friends-with-python-20101113.html http://code.google.com/p/userapi. После изучения сэмпла написал скрипт для выдергивания url аватары "друга" и сохранения картинки на компьютер. За основу берем следующий фрагмент кода (далее напишем пару функций):
    
    #!/usr/bin/python
    # -*- coding: utf-8 -*- 
    
    from userapi import *
    
    USER = "your@mail"
    PASS = "yourPass"
    DID  = "yourID"
    
    try:
        session = Session()
        session.login(USER, PASS)
        handler = UserAPI(session)
        session.logout()
    
    except UserAPIError as error:
        print "Get code: " + str(error.code) + " " + error.text
    
    except JSONProblemError as error:
        print "JSON data is a bullshit, storing to disk"
        f = file('bs', 'w')
        f.write(error.json_data)
        f.write("\n\n\n" + str(error.supplement))
        f.close()
    
    
    Здесь мы пытаемся авторизоваться, если удается - создаем объект класса UserAPI и завершаем сеанс, в противном случае ошибки заполоняют экран. Напишем функцию для скачивания картинки (перед этим подключим библиотеки os и urllib):
    
    def downloadPicture(url, pathToDir, title):
        wf = urllib.urlopen(url)
        lf = open(pathToDir + "/" + title, "w")
        lf.write(wf.read())
        wf.close()
        lf.close()
    
    
    Ну и теперь осталось достать список всех друзей и url'ов их аватар:
    
    def getFriendsAvatars(id = None):
        try: os.mkdir("avatars")
        except OSError: pass # directory exists
        for friend in handler.v_friends(None, id, 0, 60):
            if friend.avatar != '0':
                downloadPicture(str(friend.avatar), "avatars", str(friend.id)+"."+str(friend.avatar).split(".")[-1])
    
    
    Вместо 60 - ваше число друзей. Поясню выражение str(friend.avatar).split(".")[-1]: здесь мы от строки friend.avatar оставляем лишь хвост - .jpg. Собственно, все. Результат работы: картинка, код. Если интересно - поизучайте библиотеку, там есть возможность фотографии, на которых отмечен ты или друг, получить, просмотреть некоторую информацию о пользователе или поработать с сообщениями стены. Удачи! :)]]>
    Sat, 13 Nov 2010 00:44:06 GMT
    Google Code-in http://www.dpath.ru/news/google-code-in-20101105.html

    Сегодня в ящик пришло письмо следующего содержания:
    Hi everyone, We're pleased to announce that our participating organizations for Google Code-in [0] have been announced today. You can check out the list of participating organizations [1] or read our blog post [2] with links to all the organization's task lists. Google Code-in starts on November 22 [3]. We hope you'll participate if you're eligible and/or encourage friends, family, and colleagues to participate. [0] - http://code.google.com/gci [1] - http://www.google-melange.com/gci/program/accepted_orgs/google/gci2010 [2] - http://google-opensource.blogspot.com/2010/11/announcing-accepted-organizations-for.html [3] - http://www.google-melange.com/document/show/gci_program/google/gci2010/timeline
    А это значит, что всем школьникам пора регистрироваться, ведь соревнование начнётся уже 22-ого ноября (закончится, кстати, 10 января следующего года). На данный момент объявлены участвующие компании (e.g., KDE, Debian, Wordpress). Кому интересно, могут зачитать FAQ или статью на хабре.]]>
    Fri, 05 Nov 2010 23:31:38 GMT