Monday, 13 October 2014

O'Reilly Review for Learn to Program with Scratch

For anyone that want's to get into programming but is always put off by the complexity of the syntax involved then this book is for you. This book is for all ages however it would most suit someone that is perhaps 11-18 and looking for that introduction to programming.

Scratch is the software used for this programming environment which allows the end-user to tell sprites to perform logical actions, giving the user an understanding of what is going on behind the scenes, without seeing x lines of code. This allows the user to use their imagination when it comes to software design rather than being perplexed by typical programming jargon.

This book should be on every kids shelf that is planning a career in computer science or for anyone that wants a little fun on a weekend project.

Sunday, 21 September 2014

Mongo DB Applied Design Patterns Review

Mongo DB Applied Design Patterns is a must read for anyone that plans on implementing a production based Mongo application.

First of all, this book assumes you're familiar with Python when explaining the examples. This is not necessarily a bad thing as you don't need to understand Python code as such, as long as you understand what the author is attempting to achieve.

The book is structured well, starting with the theory and most common problems to consider when designing a Mongo Database. Part 2 is the practical side, once again putting these common practices into place for real world situations

Overall I'd recommend this book for any solution architect, DBA or developer who might be considering a move to Mongo, but might not be sure on the common challenges faces.

Monday, 10 February 2014

Top 10 Mongo Commands

It's been a while since I've posted something helpful. Here are the top 10 most useful commands from the mongo shell:

- show dbs - shows the databases that you have on your Mongo instance
- show collections - shows the collections/tables
- db.products.findOne() - find one rows, useful for seeing how the data is structured in a collection
- db.products.find() - finds all rows, use "it" to iterate over more rows
- db.products.insert() - insert a new document
- db.products.update() - update a document
- db.products.remove() - remove a document
- - help on setting up replication sets
- - help on sharding
- help() - all other help

Saturday, 8 February 2014

O'Reilly Review #4 - Time Management by Brian Tracy

A must read book for anyone that is either a business leader or just wanting to improve their daily lifes. It's quite often that you see people become bogged down with work and other tasks at hand. This book provides 21 short chapters on techniques that can be used in order to improve your daily life and you will feel more positive about yourself as a result of it. I have already started to adapt some of these techniques myself.

Sunday, 2 February 2014

O'Reilly Review #3 - Database Design & Relational Theory:Normal Forms and All That Jazz

A book by CJ Date on Database Design & Relational Theory. I'd recommend this book for anyone who has a good grasp on database technologies but is looking to improve their understanding on general DB design. This book was pretty technical and it was quite easy to get lost at times, so I found myself re-reading a fair bit, however all in all a good read.

Wednesday, 16 October 2013

Hearthstone Beta Key Giveaway - CLOSED

I've got 10 keys to giveaway this evening. Leave a comment below for a chance to win (valid gmail account required). Winners will be revealed tonight at 8pm GMT.#

UPDATE: All keys have now been sent to the winners. Thanks for all that contributed.

Monday, 27 May 2013

ora2pg - Oracle to PostgreSQL Migration Tool


ora2pg is a tool that has been around a while now and with that I knew that a lot of man hours had gone into the development so I was keen to take a look.


Installing ora2pg is faily simple, all you require is, perl dbi, perl DBD::Oracle, perl DBD::Pg and an Oracle Instant Client.

- Oracle Instant Client (requires OTN login) - - (grab sqlplus, basic and sdk binaries).

- Perl DBD Oracle -
- Perl DBD PostgreSQL -

- Perl DBI -

Finally, the most important download is ora2pg:

Upload all relevant files and install:

For DBI and DBD Modules

tar zxvf filename.tar.gz
Perl Makefile.PL
make test
make install

For SQL Client (file names may differ)

mkdir /instantclient
mv /instantclient
unzip *.zip
cd ~
vi .bash_profile

export ORACLE_HOME=/instantclient/instantclient_11_2
export PATH=$PATH:/instantclient/instantclient_11_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/instantclient/instantclient_11_2
export SQLPATH=/instantclient/instantclient_11_2
save and exit.

For ora2pg:

tar zxvf filename.tar.gz
Perl Makefile.PL
make test
make install


ora2pg can be configured in many ways so the best thing to do is to have a look at the configuration file in /etc/ora2pg. You can write data output to a file, or straight into a PostgreSQL database. 

The one thing I like about this tool is the client encoding detection, thus most data just goes straight from source to target without any issues.


Simply type: ora2pg... This reads in your config file and connects as appropriate. The one thing I would recommend is setting DEBUG=1 so you get the output to screen and see how far along your data migration is!