Creation of paper-ready plots with matlotlib

I used to utilize gnuplot for creation of plots with arbitrary data. The main problem was to postprocess data before plotting: I had to integrate postprocess into calculation code itself or to write additional script to do so. I’d like to provide an example of good-looking plotting with Python and matplotlib. Python has bataries included, so there will be no problem with preparation of data to be plotted.

Using CUDA C++ functions in Python via *.so and ctypes

I’d like to show how to use HPC part written on C++ with CUDA in Python code. So, every heavy part may be done on GPU with CUDA, all gluing tasks (with beautiful matplotlib plots) are done on CPU with Python.

Email notification if IP is changed with Python and cron

This Python script retrieves computer’s external IP address (using internet.yandex.ru) and emails message with new IP if IP has been changed since last check. BeautifulSoup module is needed, so install it if you have no installed version:

Toggling string case in linux bash

It’s quite an academic task, but anyway useful sometimes. I’ve collected different ways to do it in terminal in linux. Some of them work with UTF-8 characters (some it will toggle case for “й”, “ё” and so on. It will not in general handle special ligatures, such as “ß”” and “fi”.)

Ways are: sed, perl, python, awk, tr, bash, dd.

Blender и Python для визуализации молекул

Blender – свободный пакет для создания трехмерной компьютерной графики. В старых версиях работа с ним происходила в основном с помощью горячих клавиш, что породило слухи о невероятной сложности работы с ним. Сейчас действия горячих клавиш доступны и в виде кнопок графического интерфейса. Самая полезная для данной заметки функция Blender – возможность скриптовать рутинные действия на Python. Задача: построить простейшую молекулу, состоящую из нескольких сфер и цилиндров, их соединяющих. Для этих целей напишем скрипт на Python. Во-первых, скрипт будет рисовать сферы. Это делается с помощью

bpy.ops.mesh.primitive_uv_sphere_add()