PETR KOUT - ENGINEERING AND PHYSICS

MY PERSONAL SITE AND BLOG ABOUT SOFTWARE AND HARDWARE ENGINEERING, AND PHYSICS

WELCOME TO PETR KOUT'S PERSONAL SITE AND BLOG.

I am a software engineer, entrepreneur, and experimental physics researcher.

TWO-DIMENSIONAL, OPTICAL, REAL-TIME TRACKING SYSTEM.

I designed, built, and assembled a two-dimensional real-time optical tracking system.

THE LIGO DETECTOR TIMING SYSTEM

I worked on the data retrieval and analysis software for the Columbia University LIGO gravitational wave detector collaboration group. More about LIGO and our Columbia University research group.

INTERFACING SOFTWARE WITH HARDWARE.

I worked on multiple projects interfacing software with hardware, including stepper motor control, high speed camera control, multi-rotor copter assembly and custom programming, sensor readout, and more.

PROGRAMMING, SCRIPTING, SOFTWARE ARCHITECTURE

I develop software in Python, Java, C, Delphi, MySQL, PostreSQL, PHP, Django, Symfony2, HTML, CSS, JavaScript, Wordpress, Unity3D, Vuforia, MATLAB, and more.

Install Node.js 6 on Raspberry Pi

By Petr Kout, September 13, 2016

Install Node.js 6 on Raspberry Pi I started fiddling with Node.js on Raspberry Pi because Node.js’ asynchronous event loop architecture makes it a great candidate for event based programming, such as controlling my Pi over Socket.io. I like the latest greatest Node.js version 6, though, and that one is not available in the Raspbian’s package manager...
CONTINUE READING

High Productivity Vim Configuration for Python Development

By Petr Kout, August 26, 2016

High productivity Vim configuration for Python development I’ve been using Vim for scripting and software development for many years now. Yes, the initial learning curve was steep, but with a bit of rigor and discipline, you can become comfortable with the tool in a matter of a couple of weeks. Once you get the basics wired into your brain...
CONTINUE READING

Kubuntu: Replace Network Manager with Wicd and Vice Versa

By Petr Kout, April 26, 2015

Kubuntu: Replace Network Manager with Wicd and Vice Versa I started fiddling with Node.js on Raspberry Pi because Node.js’ asynchronous event loop architecture makes it a great candidate for event based programming, such as controlling my Pi over Socket.io. I like the latest greatest Node.js version 6, though, and that one is not available in the Raspbian’s package manager...
CONTINUE READING

Linux Matlab Installation Error: Caused by: java.lang. UnsatisfiedLinkError

By Petr Kout, August 25, 2014

Linux Matlab Installation Error: Caused by: java.lang. UnsatisfiedLinkError The other day I was installing Matlab 2011b on my Linux machine and when I ran the ./install command in terminal, I got the following error message: Error: Caused by: java.lang.UnsatisfiedLinkError: /home/petr/matlabinstallation/bin/glnxa64/libinstutil.so: /home/petr/matlabinstallation/bin/glnxa64/libstdc. After some googling, I found the solution.
CONTINUE READING

Remove Projects From Sublime Text Switch Project Window

By Petr Kout, October 16, 2014

Remove Projects From Sublime Text Switch Project Window I am a big fan of Sublime Text. To switch between existing projects, I like to use the CTRL+ALT+P shortcut in my Kubuntu, which opens the Switch Project window and lets me easily switch to another project. However, if I delete a project, it doesn’t get removed from this list...
CONTINUE READING

A solution to the /python2.7/site-packages/_mysql.so: undefined symbol: mysql_kill error

By Petr Kout, July 25, 2014

A solution to the /python2.7/site-packages/_mysql.so: undefined symbol: mysql_kill error I use Django with MySQL and I this error bothers me almost every time I start a new project with a fresh new installation of Django and relevant Python packages. I use virtualenv to isolate my Python environment for each project. The problem that’s causing this error is that...
CONTINUE READING

ssh-agent forwarding to sudo (root user)

By Petr Kout, August 24, 2014

ssh-agent forwarding to sudo (root user) I use ssh-agent to store my ssh key so that I don’t have to enter the key passphrase every time I access one of my servers over ssh. When I run commands using my regular user (non-root), ssh-agent works as expected, stores the key and issuing commands accessing the server(s)...
CONTINUE READING

Low Latency (~0.4 s) Video Streaming From Raspberry Pi Using Mjpeg-Streamer and OpenCV

By Petr Kout, June 09, 2014

Low Latency (~0.4 s) Video Streaming From Raspberry Pi Using Mjpeg-Streamer and OpenCV There are multiple ways to stream video from Raspberry Pi (RPi) to another computer via the wired or wifi ethernet. After trying multiple methods, stumbled upon one that leads to minimal latency and works really well over a wifi connection. The solution is the combination of mjpeg-streamer on the RPi...
CONTINUE READING

Raspberry Pi DXF Drawing File

By Petr Kout, June 23, 2014

Raspberry Pi DXF Drawing file If you need a Raspberry Pi Model B drawing in the DXF format (might work with Model A, too. I didn’t check), you can download it from here. It contains some component outlines as well as screw holes...
CONTINUE READING

Setting Up Django with MongoDB

By Petr Kout, May 06, 2014

Setting Up Django with MongoDB In this post, we will go through setting up MongoDB 2.6 together with Django 1.6. By default, Django doesn’t contain support for MongoDB. It isn’t difficult, however, to introduce support for the NoSQL database following the steps in this tutorial...
CONTINUE READING

Installing MongoDB 2.6 and Setting up Root User Login

By Petr Kout, May 06, 2014

Raspberry Pi DXF Drawing file I recently started using MongoDB and I was struggling setting up the equivalent of a root user and other users in traditional SQL databases. MongoDB comes with authentication turned off out of the box, so in order to use the password challenge authentication, we have to create the root user...
CONTINUE READING

Bind Your RC Transmitter to a Receiver (Using Arduino)

By Petr Kout, May 05, 2014

Bind Your RC Transmitter to a Receiver (Using Arduino) You purchased a transmitter and a receiver and now you need to make them talk to each other. How to do that? We’ll cover that in this tutorial.
CONTINUE READING

Test Your RC Receiver Using Arduino

By Petr Kout, May 04, 2014

Test Your RC Receiver Using Arduino There are several use cases involving connecting an RC receiver to an Arduino board. One such use case is testing whether or not your receiver actually works. In this tutorial, I will cover how to do the test...
CONTINUE READING

Compile C++ Boost Libraries in Windows 7 Using MinGW and MASM

By Petr Kout, March 21, 2013

compile-c-boost-libraries-in-windows-7-using-mingw32-and-masm32 Recently, I needed the C++ Boost library to perform some object serialization. Installing and compiling Boost on my Windows 7 machine using MinGW was a task I spent quite a few hours on before I succeeded to follow the right steps. So I decided to share the process with others...
CONTINUE READING

Arduino Uno and Mega DXF Drawings

By Petr Kout, February 20, 2013

Arduino Uno and Mega DXF Drawings Since Arduino Uno and Mega DXF drawings are hard to find (I didn’t find any for the Mega board), I created my own and I am sharing them here with everybody. These are saved in the AutoCAD 2007 DXF format.
CONTINUE READING

X11 Forwarding over Cygwin on Windows

By Petr Kout, September 28, 2012

X11 Forwarding over Cygwin on WindowsYou have a Linux server accessible via SSH, but you need to gain access to the GUI of applications like Gimp, Firefox, etc.? In this tutorial, I will show you how to do this using Cygwin on Windows in a few steps... CONTINUE READING

Copy Your Subversion Repository Using URLs With svnsync

By Petr Kout, March 28, 2012

Copy Your Subversion Repository Using URLs With svnsync I was recently in a situation when I needed to move my Subversion repository from one server to another. One option was to use “svnadmin dump”, but that requires you to have access to the file system on the server where the repository sits as well as knowing what directory...
CONTINUE READING

Configure Subversion to Login in Using System Users

By Petr Kout, March 11, 2012

Configure Subversion to Login in Using System UsersThere is a plethora of articles about how to install subversion in a Linux system, but absolute majority of them guides one to use the internal Subversion user authentication system. I find it annoying to have to create a system user and a separate Subversion user for each of my... CONTINUE READING