Managed to jail break and SIM unlock my iPhone 3GS (iOS 5.0.1, FW=06.15.00)

After many hours of effort, I finally managed to get my iPhone 3GS SIM unlocked so that I could use it in Europe with a Lebara SIM. I am not reporting the detailed instructions here because there are so many good descriptions already on the web. I just want to report the overall experience in the hope that it might save someone else the trouble that I had.
Continue reading Managed to jail break and SIM unlock my iPhone 3GS (iOS 5.0.1, FW=06.15.00)

C++ class that interfaces to OpenSSL ciphers

I have developed a class named Cipher that allows you to encrypt and decrypt files or strings using the OpenSSL AES-256-CBC cipher and SHA1 digest algorithms. It is interoperable with the openssl command line tool which makes it a good introduction to using OpenSSL for ciphers.

The project has been moved to github: https://github.com/jlinoff/openssl-aes-cipher. The latest version is 1.3. It has been updated to work with the opaque contexts that were introduced in openssl-1.1.

I am re-releasing version 1.2 into the public domain on 2013-11-21 because I wish that I had found something like it when I was starting out with OpenSSL.
Continue reading C++ class that interfaces to OpenSSL ciphers

Bash script to install gcc 4.7.0 and boost 1.49

I recently wanted to build gcc 4.7.0 on CentOS 5.5 to get access to more C++11 features 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.7.0/bld.sh if you want to download it directly using a tool like wget.

The full installation of gcc-4.7.0 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 install gcc 4.7.0 and boost 1.49