FAQ: Moving to Australia for Software Developers

Context I am a ruby developer based in Melbourne. And quite a few friends have asked me the same question(s) related to the title of this post. Hence this post. It MIGHT be useful to you if you are software developer (there is a bias towards Ruby) looking to move to Australia. Do I need to get PR before applying for a job? No. You can get a job with a employer who is willing to sponsor your 457 visa. ...

March 12, 2016

Thoughts on YOW 2015 Brisbane

Thanks to my employer, my self and some of my colleagues attended YOW 2015 Brisbane this week. It was a positive experience and I wanted to write down my thoughts about it. What’s YOW? YOW is the biggest ‘software development conference’ in Australia. It’s a two day evennt, held yearly in Sydney, Melbourne and Brisbane. IMHO YOW gets some really good speakers down to Australia from all over the world. And it’s has a general focus on the whole of software industry (in contrast to say RubyConf which is focused on Ruby). ...

December 9, 2015

Upgrading VIM with lua support on OSX

Recently I installed a new vim version on my system to get rid of the following warning: neocomplete does not work with this version of Vim. It requires Vim 7.3.885 or later with Lua support ("+lua"). Press ENTER or type command to continue Steps Install homebrew if you don’t have it installed already. brew update brew install vim –with-lua create an alias vim pointing to /usr/local/bin/vim (as system vim is still there at /usr/bin/vim) on zsh you can add the following snippet to your .zshrc, to create an alias, if a brew installed vim is present in the system. # use brew vim if present /usr/local/bin/vim --version > /dev/null 2>&1 BREW_VIM_INSTALLED=$? if [ $BREW_VIM_INSTALLED -eq 0 ]; then alias vi="/usr/local/bin/vim" fi Cheers!

November 27, 2015

Compressing scanned PDF files on OSX

I’ve been scanning a lot of documents using preview recently(!) and the resulting PDFs are often super huge. You can always use one of the online PDF compressing services if you only have a few documents. However, this can get really slow if you have a significant number of docs to process. Or you can use ghostscript :) Install Ghostscript brew update brew install gs Compress! gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf scanned_document.pdf Refer the ghostscript manual for more info.

September 24, 2015

Rails Camp Sydney 2015

I want to write down my thoughts on the last Rails Camp that I went to. So here goes. The Camp The camp was in Broken Bay, Hawkesbury River, Sydney. It was an awesome location. Very scenic with beaches and plenty of trails to hike on. But this being Sydney in the middle of winter it was cold at night (duh). The food was absolutely amazing for a camp. The slow cooked beef served on Sunday night was the highlight of the camp :P ...

June 23, 2015

Dropping HTTP Requests and Connection Efficiently on Nginx

location /banned/url { return 444; } From How nginx processes a request: …and a special nginx’s non-standard code 444 is returned that closes the connection. Basically, match the URL/pattern..etc that you want to handle and then do a return 444; It will make nginx drop the connection without even bothering to return a response to the client.

June 3, 2015

Note-to-self: Setting up a new mac for development

I recently got a new development machine (yay!). And went through the process of setting it up. Getting new toys are always fun. But setting them up from scratch can be a bit of a pain. So I am documenting all the steps I took as a reference for the future. Setup and enable Find my mac Enable FileVault Copy over personal ssh private keys Set proper permission on the keys (chmod 600 your_key.pem) Create home dir structure development Apps to install Chrome Setup Lastpass BetterSnaptool Evernote Homebrew Developer tools Git gem install git-smart ansible brew tap homebrew/services mysql phantomjs Cask Virtualbox Vagrant Github OSX Iterm2 Dash Download your needed doc sets sequelpro hipchat spotify teamviewer java (Oracle JRE) skype tunnelblick truecrypt iBrowse Rubymine RVM rvm list known rvm install ruby-2.2 gem install bundle Setup YADR (dotfile repo) https://github.com/skwp/dotfiles When cloning large Git repos from Github… things can get really really slow. If this happens just copy the repo over from the old machine using a USB drive. Old school I know. But it works. Hopefully the future me would find this helpful. Cheers!

May 18, 2015

Credit Card Number (with a separator in between) Validation Regex

The following will validate Visa and Master card numbers that’s in the following format ^(?:4[0-9]{3}(?:-[0-9]{4}){2}-[0-9](?:[0-9]{3})?|5[1-5][0-9]{2}(?:-[0-9]{4}){3})$ 4111-1111-1111-1111 (note the ‘-‘) Regex adapted from: http://www.regular-expressions.info/creditcard.html Tip: Also found this super AWESOME regex testing site: https://regex101.com/#javascript

May 11, 2015

Nginx, AWS ELB, DNS resolution, Nginx resolver directive and Black magic

We use Nginx to reverse proxy traffic to our app servers in a few places (on our Varnish servers we have a Nginx proxy that reverse proxy traffic to our backend servers and the backend servers them selves reverse proxy traffic to other app servers). And all our servers are hosted on AWS and they all sit behind ELBs. So just like a lot of people on the inter webs (look at the references section bellow) we found out that Nginx is only resolving the ELB DNS once on startup and then not refreshing it. This caused some of our servers to break because AWS changes IPs for ELBs on the fly. ...

May 8, 2015

Things to do after you buy a new gaming laptop

Please note that I am not a gamer(!!!). This is from the POV of a some what casual gamer who likes to game SOME of the time. Choose a good OS: I chose Windows 8.1 Pro because this machine’s main purpose was gaming. Might end up installing Ubuntu on the side so I can use this for development on the side. But that’s a big ‘might’. Decide on how to partition the disk(s). In my case I decided to have one big partition on my 250 SSD. Install Anti theft software. I installed Pray. Get the latest drivers in general. Update your graphics card drivers (duh!). Actually do a bit of research on the games you want to play and the current drivers. In my case a particular game I wanted to play didn’t work well with the latest drivers (so I should have gone with something older that worked fine with the game in question). Update SSD drivers: Mine came with a Samsung 840 Evo. So I downloaded and installed Samsung Magician. Which takes care of a lot of things. Including updating your SSD firmware if need be. If you are using a SSD, make sure you have TRIM turned on. That’s all that I can think up for now. Gonna add on to this post in the future if anything comes up. ...

May 8, 2015