Simple python functions that provide openssl -aes-256-cbc compatible encrypt/decrypt

The example here shows how to encrypt and decrypt data using python in a way that is fully compatible with openssl aes-256-cbc. It is based on the work that I did in C++ Cipher class that is published on this site. It works for both python-2.7 and python-3.x.

The key idea is based on the way that openssl generates the key and iv data from password as well as the “Salted__” prefix that it uses.

The complete routine can be downloaded here: mycrypt.py.
Continue reading Simple python functions that provide openssl -aes-256-cbc compatible encrypt/decrypt

Private data management tool using client side javascript

I recently created a web based tool that allows you to manage your private data and generate passwords safely. If you are interested in trying it click here.

I suspect that it will only work on newer browsers. I have only tested it on Firefox 15, IE 9 and Chrome 23. See the tool help for more detailed information.
Continue reading Private data management tool using client side javascript

Install firefox 15.0.1 with flash and java support on linux

This blog describes how I installed firefox 15.0.1 with java jre-7u7 and flash 11.2 on a CentOS 5.8 host. None of the installation commands were distro specific so it should work on any linux system.

This technique allows you to test different versions of firefox/java/flash without interfering with your system defaults. It also allows you to install a centralized version that can be shared by other users.
Continue reading Install firefox 15.0.1 with flash and java support on linux

Installing jshint and rhino for command line javascript analysis

I recently had to install jshint and rhino. It was a bit of a challenge because they needed ant and npm (node package manager). This blog describes what I did and provides a bash shell script that you can use.
Continue reading Installing jshint and rhino for command line javascript analysis

Make X11 programs work in an ssh sudo session

Have you ever needed to run an X11 based program like emacs or firefox in a sudo session and received one of the following errors?

This blog describes how to fix the problem.
Continue reading Make X11 programs work in an ssh sudo session

Bash script to download, build and install gcc 4.6.3 and boost 1.49

I recently had to build gcc 4.6.3 on CentOS 5.5 so I put together this script to do all of the work. It is released in text mode so that you can cut-n-paste it from the web page. The shell version is also available: http://projects.joelinoff.com/gcc-4.6.3/bld.sh if you want to download it directly using a tool like wget.

The full installation of gcc-4.6.3 and boost-1.49 requires about 4GB of disk space. After the build is complete you can delete the archives, bld and src directory trees to reclaim about 3.4GB of disk space.
Continue reading Bash script to download, build and install gcc 4.6.3 and boost 1.49

OpenIndiana 151a NIC Aggregation

My colleagues and I recently built a filer using OI 151a/ZFS and wanted to increase the throughput by aggregating multiple NICs to a common IP address that is dedicated for data. We did it by physically adding a card with 4 NICs, aggregating the ports on server and then updating the switch to enable link aggregation (port trunking) on the 2 connections.
Continue reading OpenIndiana 151a NIC Aggregation