JetBrains

I’ve been using IntelliJ as my Java editor instead of Eclipse – and I absolutely love it! So much so that I bought a license for all of JetBrains’ programmer editors! I’m still learning how to use all the functionality of IntelliJ, but I am finding my productivity has dramatically increased a few days after I started using it.

Deep Learning

The more I use Deep Learning, the more I am amazed by it. Some things which would be hard to do programmatically are easy with the right Neural Network. It feels like we are just starting to scratch the possibilities.

More Experiments with Neural Style Transfer

I’ve been playing more with Neural-Style Transfer. It’s fun to play with, but with the code I’m using, I’m struggling to get results I can use. I was trying to merge the style of a Platon photo with a photo taken of me (when I was growing a beard). It was weird what information the neural net decided to take from the style photo.

Swift Coding

I am programming Swift in earnest now. I am way more familiar with Objective C for building apps for Mac OS/X and iOS, but I have a few apps to write and Apple are pushing us to make the transition to Swift, so it’s time to bite the bullet and use it as my primary language for a while.

It’s quite nice working in a new language again. I am enjoying learning the design choices the Swift team has made in their language. There is some weird stuff, but on the whole it feels natural and sophisticated. It’s great that they’ve open sourced it as well, so that I can potentially use it on my Linux servers. I’m not sure that it will replace Go or Python for doing any kind of Dev Ops, but it’s great to have it as another option.

Starting Deep Learning Course

I met up with some of my old team from BNP Paribas last week. I found it striking that everyone who was there is now working directly with Machine Learning. It was quite inspiring!

For the last few years I’ve been building Trading Execution Algorithms for Westpac. Time to do something different!

I decided to enroll in Coursera’s Deep Learning Specialization. I’ve just finished the first week, and I am really enjoying it. Andrew Ng is a fantastic teacher. I did his previous course on Machine Learning and loved it.

Installing PostgreSQL from source on my Mac

In order to build PostgreSQL from source on my MacBook Pro running El Capitan, I first downloaded the git repo:

git clone git://git.postgresql.org/git/postgresql.git

I then built it:


cd postgresql
./configure
gmake
sudo make install

This will install the binaries to the default location of “/usr/local/pgsql”.

I already had a user called “_postgres” in my /etc/passwd file, so I configured to run PostgreSQL as this user:
Continue reading “Installing PostgreSQL from source on my Mac”

Python OAuth2 failing with X509 error

I’ve just spent about 20 minutes trying to authenticate with Twitter using the Python OAuth2 module. I kept on getting an X509 error, specifically:

ssl.SSLError: [Errno 185090050] _ssl.c:343: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib

The solution to this is that the cacerts.txt file in the Python installation is only readable to the root user / wheel group. In order to fix that up, first find the cacerts.txt file:

find /Library/Python/ -name cacerts.txt

Then modify the permissions on the file:

sudo chmod 644 /Library/Python//2.7/site-packages/httplib2-0.7.7-py2.7.egg/httplib2/cacerts.txt

Note that the URL endpoints for twitter on the python-oauth2 Github page are currently wrong. To use the “Twitter Three-legged OAuth Example” change http://twitter.com/oauth/request_token to https://api.twitter.com/oauth/request_token, etc.