Loading [MathJax]/extensions/TeX/AMSsymbols.js

пятница, 20 августа 2010 г.

Sikuli играет в игру LPairs

Sikuli - инструмент для автоматизации работы с элементами GUI, играет в LPairs (простую игру для укрепления памяти).

Скрипт

четверг, 5 августа 2010 г.

Параллельное выполнение команд: GNU Parallel

Проект GNU Parallel развивается с 2007 года и представляет собой утилиту для выполнения задач в shell параллельно в текущей и/или удаленных системах. Задачи формируются из скриптов и команд операционной системы, и параметров (или частей команд) из стандартного ввода. В этом GNU Parallel похож на xargs, в задачи которого входит формирование команд из данных со стандартного ввода, по заявлению разработчика, GNU Parallel даже имеет схожие с xargs опции.
Схожесть с xargs позволяет использовать GNU Parallel в ранее созданных скриптах, в сложных конвейерах, используя все предоставленные ресурсы имеющихся систем (ядра/процессоры текущей или удаленных многоядерных/многопроцессорных систем).

среда, 7 июля 2010 г.

Утилиты для аудита исходных кодов: Graudit, RATS

Бесспорно полезно проводить аудит исходных кодов с целью выявления потенциально проблемных и опасных участков кода. В случае, если эта операция автоматизирована при помощи какой-то утилиты, то также это не отнимет много времени.
Пробовал я утилиты для автоматизированного аудита исходных кодов на задачах 1-го курса университета (ЯП c), расположенных в ~/1-course.

суббота, 24 апреля 2010 г.

Стул в Blender из скрипта на python

Задача
Нарисовать стул в Blender из скрипта на python.
Решение
  1. from Blender import *  
  2.   
  3. # Clean scene  
  4. def newactivescene():  
  5.     sc = Scene.New()  
  6.     oldsc = Scene.GetCurrent()  
  7.     sc.makeCurrent()  
  8.     Scene.Unlink(oldsc)  
  9.     return sc  
  10.   
  11. sc = newactivescene()  
  12.   
  13. # Camera  
  14. camera = Camera.New()  
  15. camob = Object.New('Camera')  
  16. camob.link(camera)  
  17. sc.link(camob)  
  18. camob.setLocation(3.5,-5,5.8)  
  19. camob.setEuler(60*2*3.14/360,0,30*2*3.14/360)  
  20. sc.setCurrentCamera(camob)  
  21.   
  22. # Lamp  
  23. lamp = Lamp.New('Sun')  
  24. lampob = Object.New('Lamp')  
  25. lampob.link(lamp)  
  26. sc.link(lampob)  
  27. lampob.setLocation(2,-2.5,7)  
  28. lampob.setEuler(60*2*3.14/360,0,30*2*3.14/360)  
  29.   
  30. # Legs height, weight  
  31. height = 1.9  
  32. weight = 1.8  
  33. # Legs  
  34. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  35. setLocation(-weight/2,weight/2,height/2)  
  36. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  37. setLocation(weight/2,weight/2,height/2)  
  38. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  39. setLocation(weight/2,-weight/2,height/2)  
  40. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  41. setLocation(-weight/2,-weight/2,height/2)  
  42. # Seat  
  43. sc.objects.new(Mesh.Primitives.Plane(weight+0.5)).\  
  44. setLocation(0,0,height)  
  45. # The back of  
  46. ob = sc.objects.new(Mesh.Primitives.Plane(weight+0.5))  
  47. ob.setLocation(0,(weight+0.5)/2,height+(weight+0.5)/2)  
  48. ob.setEuler(90*2*3.14/360,0,0)  
  49.   
  50. Window.RedrawAll()  

воскресенье, 11 апреля 2010 г.

Удаление содержимого html по маркеру в тегах на языке python

Задача
Оставить в строке, содержащей html код, всё кроме содержимого тегов (и самих тегов) помеченных определенным маркером ("ignoremarker").

четверг, 4 февраля 2010 г.

Stunnel выручил

Преамбула
Обслуживая один удаленный веб-сервис с доступом only HTTP, решил изменить (не без оснований) настройки cookies. В частности, переключил настройку cookies с cookies over HTTP на only secure cookies (over HTTPS).

воскресенье, 31 января 2010 г.

Subversion 1.6.9 - svn:externals

$ svn propset svn:externals 'object svn://svnserver/externalrepos/object' .
Теперь object внешняя по отношению к данному репозиторию с содержимым из svn://svnserver/externalrepos/object.
Надеюсь в следующих версиях синтаксис изменится.