?

Log in

Linux на netbook MSI.

Linux на netbook MSI

Моему нетбуку исполнилось полтора года.Это была первая серия нетбуков MSI. Недавно перехал на Suse 11.2
Использование Linux имеет массу преимуществ,  а именно: меньшее потребление памяти и возможность гибко настроить рабочую среду.


Openbox screenshot
Вот такой получился результат.


Read more...Collapse )

Tags:

pygtk tutorial-2

2. Первая программа


Ключевые понятия gtk

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


ДалееCollapse )

Tags:

pygtk tutorial-1.

Предисловие.

Несколько лет назад я изучал gtk и делал заметки для себя. Иногда получается, что написанное для себя оказывается полезным и для других. Мои заметки не могут заменить документацию, но мне помогли разобраться с основами и понять как устроена библиотека, и как ей пользоваться. Я думаю, что у многих начинающих программистов возникают похожие вопросы, и своевременные ответы помогают сократить путь освоения нового.

ДалееCollapse )

Tags:

Для публикации листингов пытался решить проблему синтаксической раскраски.
Нашлось три варианта решения задачи.

1) vim (http://www.vim.org) умеет преобразовать листинги в html сохраняя цвета текущей схемы, получается довольно красиво, но не очень хорошая разметка, vim script  2html написан довольно запутанно и исправлять его довольно трудно.

2)  pygments- python syntax highlighter http://pygments.org/. Это универсальный пакет, с огромным количеством опций. Половина опций видимо никогда не тестировалсь и работает с ошибками. Посмотрел исходники-код путанный и плохо читабельный.Не понравилось.

3)  GNU source-highlight (http://www.gnu.org/software/src-highlite). Несмотря на некоторые мелкие ошибки в раскраске, в основном всё работает и можно исправлять ошибки парсинга в файлах конфигурации парсера и не лазить в исходники. Пока для меня самый удобный вариант
Не понравились цветовые схемы. Поэтому сделал свою-flora.
Пример листинга с этой цветовой схемой: http://boomzoomer-comp.livejournal.com/5682.html
А это сам файл  flora.style


// flora.style v1.0
// color style for GNU source-highlight
// www.boomzoomer_comp.livejournal.com
// tested for python only
keyword #C51E1A;  //for language keywords
type #1AC51B;   // for basic types
string #8B3D4E;   // for strings and chars
comment #C5701A i;// for comments
number #8F5902 ;  // for literal numbers
preproc #C51E1A;  // for preproc directives (e.g. #include, import)
symbol #339980;   // for simbols (e.g. <, >, +)
function darkgreen; //#00801E; for function calls and declarations
cbracket darkgreen b;// for block brackets (e.g. {, })

// line numbers
linenum #8B3D4E;

// Internet related
url blue u, f;

// other elements for ChangeLog and Log files
date blue b ;
time darkblue b ;
ip darkgreen ;
file darkblue b ;
name darkgreen ;

// for Prolog, Perl...
variable  darkgreen;

// explicit for Latex
italics darkgreen i;
bold darkgreen b;
underline darkgreen u;
fixed green f;
argument darkgreen;
optionalargument purple;
math orange;



Simple is better than complex.

Decorators, generators, syntactic sugar...
И вот уже простую задачу пытаются решать с помощью изуверских вывертов. Посмотрел несколько рецептов на python cookbook  на предмет кэширования результатов долгоиграющих функций. Код просто пугающий.
А идея проста-сохранять параметры и результат функции в словаре и при обращении  к функции сначала поискать сохранённый результат в словаре.  Если разброс значений параметров невелик-то получется заметный прирост скорости.  И если не пользоватся декораторами и не ставить задачу написать универсальный код, то получается всего 20 строк читабельного кода.


01: #!/usr/bin/python
02: # -*- coding: UTF-8 -*-
03: """
04: caching of previously computed
05: results for long running function
06: source from www.boozoomer_comp.livejournal.com
07: 
08: """
09: from time import sleep
10: 
11: def long_runnig_function(x):
12:     a=x+1.0+x*x/x*2/(x*x*x)
13:     sleep(4)
14:     return a
15: 
16: function_calls_cache={}
17: 
18: def f(x,cache=function_calls_cache):
19:     cached_result=cache.get(x,None)
20:     if cached_result==None :
21:         result=long_runnig_function(x)
22:         cache[x] = result
23:         print "not from cache"
24:         return result
25:     else:
26:         print "!!!!!from cache!!!!!" 
27:         return cached_result


Tags:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Популярность языков программирования. Java и php -вниз. c и python-вверх


Tags:

Что будет c java?

Про покупку.Sun Microsystems и Oracle.

Приобретение компании Sun Microsystems компанией Oracle возможно будет иметь довольно заметные последствия для всех, связанных с индустрией софтостроения. И эти последствия связаны с java, вернее с её виртуальной машиной(jvm). Для того, чтобы ситуация стала немного более понятной, я сделаю небольшой экскурс в историю.
Читать далееCollapse )

Tags:

Компания Oracle внесла изменения  в лицензию на ОС Solaris,
которую получила в наследство от Sun. Старая лицензия допускала пользование системой без оплаты, оплачиваться должны были только патчи и тех.поддержка. По новым правилам пользоваться незарегистрированной версией можно только 90 дней. подробности тут
Интересно, а что будет с java? Маркетологи Oracle знают тысячу и один способ сделать бесплатное невкусным.

Tags:

Разборки с pygments

Пробую конвертировать листинги в html c синтаксической подстветкой кода для публикации в блогах.
Pygments- python syntax highlighter http://pygments.org/
А сам листинг -это пример из статьи Matplotlib: Графики и диаграммы – несколькими строчками переносимого кода. http://boomzoomer-comp.livejournal.com/3253.html
ЛистингCollapse )