hello.js

var please = require('share');
console.log('thank you');

NEW !!!

Thursday, 8 December, 2022 UTC

Revisiting Web Automation in 2023

Web automation has grown in importance as a component of the current technological stack since it enables not only developers but also organisations and people to automate routine processes and enhance workflow efficiency. Puppeteer, a potent browser ... more


Monday, 15 June, 2020 UTC

PCI DSS Compliance Expert

Yes, that is me. I am a PCI DSS compliance expert living in Melbourne, Australia. I run my company Inforca that specialise in Magento development and support retainers and we're based out of Bay Street, Brighton - near the ⛱️ beach. We've helped numerous ... more


Sunday, 9 July, 2017 UTC

How to Install Magento 2 (LEMP Stack) on Ubuntu 16.04 LTS

This is a tutorial on how to install Magento 2 and set up the LEMP stack on Ubuntu 16.04 LTS. It is optimised for the AWS EC2, but will work on any Ubuntu 16.04 LTS. First of all, you want to run and update & upgrade: sudo apt update && ... more


Tuesday, 27 June, 2017 UTC

Petya Ransomware: Live Counter of Ransom Dollars Paid

Total ransom paid: / All computers in our office are down. Global #Ransomware attack. I’ve heard few other companies affected too. Backup and stay safe, guys. pic.twitter.com/YNctmvdW2I — Mihir (@mihirmodi) June 27, 2017 [UPDATE] So apparently this new ... more


Friday, 9 June, 2017 UTC

The 1 Year to $1 Million Project – Month 1

10th June 2017 I started The 1 Year to $1 Million Project today on a whim. We’re already 10 days into June but I didn’t want to wait it out until July so I’m starting with a shorter month. Right now, I’m having a Little Creatures Pale Ale. I shouldn’t ... more


Tuesday, 2 May, 2017 UTC

App Development Course Melbourne

Learn to code anything! I’m putting together a 12-week course and my aim is to teach you how to stand on your own, and be able to create anything you can imagine after going through the 12 classes. Everything will be approached from a 100% practical ... more


Monday, 20 March, 2017 UTC

Meteor Development

Why Meteor Development is the Future of Apps Meteor development is perfect for anyone creating applications for the modern era. There are so many different app-building platforms out there; it can be difficult to know which is best. With a bit of understanding, ... more


Wednesday, 8 March, 2017 UTC

Solving reCAPTCHA with WebdriverIO and Clarifai

I’ve had this ‘master plan’ of taking on Google’s reCAPTCHA with some of the web automation tricks I’ve learnt, and I had been sitting on the idea for quite a while now – months. So I figured that I actually wasn’t going to carry out the master plan. ... more


Wednesday, 8 March, 2017 UTC

Cracking Google’s reCAPTCHA with Machine Learning

I’ve had this ‘master plan’ of taking on Google’s reCAPTCHA with some of the web automation tricks I’ve learnt, and I had been sitting on the idea for quite a while now – months. So I figured that I actually wasn’t going to carry out the master plan. ... more


Saturday, 4 March, 2017 UTC

Running Meteor as a Service on Ubuntu 16.04 Using Systemd

When it comes to deploying Meteor and making sure that it’s running 100% of the time (turn it into a service / daemonise), there does not seem to be a straightforward answer that will work across all variants of Meteor and your OS flavours and versions. ... more


Tuesday, 7 February, 2017 UTC

Node.js – making a CLI module that returns a promise

All the enjoyable coding I do these days is JavaScript – especially Node.js. I just figured out a nice way to make your module CLI / bash / shell friendly as well as of course, making it available for use as a module. Without further ado, here’s the ... more


Thursday, 1 December, 2016 UTC

I’m just archiving my LinkedIn profile here

I’ve had some good interest from recruiters on LinkedIn, much more so than my colleagues. I wonder if it’s the jam-packed profile full of keywords that they are looking for. Without further ado, here’s my profile that I’m getting rid of, as I’m now preparing ... more


Tuesday, 29 November, 2016 UTC

How to Turn Your MailChimp Subscribe to AJAX (jQuery)

I’ll say it again. I love jQuery. There will never be a replacement. Below is a cool little snippet I made to transform your MailChimp sign up form to an AJAX enabled one. One of the advantages being – you’re able to set your own redirect or set of actions ... more


Wednesday, 16 November, 2016 UTC

Magento 1 Quick Start: LEMP Stack Ubuntu 16.04 (AWS EC2)

Here is a quick start guide on how to get Magento 1 up and running quickly on Ubuntu 16.04, specifically for AWS EC2 – but should work for other hosts as well like Digital Ocean. sudo apt-get update && sudo apt-get upgrade sudo apt-get install ... more


Wednesday, 16 November, 2016 UTC

Magento 1 Quick Start: LEMP Stack Ubuntu 16.04 (AWS EC2)

Here is a quick start guide on how to get Magento 1 up and running quickly on Ubuntu 16.04, specifically for AWS EC2 – but should work for other hosts as well like Digital Ocean. sudo apt-get update && sudo apt-get upgrade sudo apt-get install ... more


Monday, 26 September, 2016 UTC

JavaScript Development

Lorem ipsum dolor sit amet, aperiam urbanitas sit ad. Vidit accommodare nec et. No nec discere eripuit patrioque, numquam prodesset id usu. Qui in erat ludus dicunt, propriae moderatius pri ea. Et pri iracundia interpretaris, est munere dicunt honestatis ... more


Tuesday, 23 August, 2016 UTC

I Don’t Need No Stinking API – Web Scraping in 2016 and Beyond

Social media APIs and their rate limits have not been nice to me recently, especially Instagram. Who needs it anyway? Sites are increasingly getting smarter against scraping / data mining attempts. AngelList even detects PhamtomJS (have not seen other ... more


Tuesday, 23 August, 2016 UTC

Advanced Web Scraping / Automation with Selenium & JavaScript

One might ask, how advanced is advanced? I don’t know, it’s a relative term but I’m going to share everything that I’ve learnt to date from my recent love affair with Selenium automation/scraping/crawling. First off, in terms of concurrency or the amount ... more


Tuesday, 23 August, 2016 UTC

I Don’t Need No Stinking API – Web Scraping in 2016 and Beyond

Social media APIs and their rate limits have not been nice to me recently, especially Instagram. Who needs it anyway? Sites are increasingly getting smarter against scraping / data mining attempts. AngelList even detects PhantomJS (have not seen other ... more


Wednesday, 6 July, 2016 UTC

Selenium WebdriverIO issue when typing numbers

I ran into an issue where my WebdriverIO script would just crash, not leaving any logs, no clues as to why it stopped running. As I realised it stopped when I called client.keys(foobar) – and foobar was a variable that was a number that is passed into ... more


Wednesday, 6 July, 2016 UTC

Selenium WebdriverIO issue when typing numbers

I ran into an issue where my WebdriverIO script would just crash, not leaving any logs, no clues as to why it stopped running. As I realised it stopped when I called client.keys(foobar) – and foobar was a variable that was a number that is passed into ... more


Tuesday, 21 June, 2016 UTC

Web Automation Consultant, Expert, Specialist…?

Web Automation Consulting, Expert, Specialist…? It’s not a household term or a job title but I believe it will be pretty soon. I guess I possess an addictive personality – actually, that’s not even a guess, I know this for a fact and automating everything ... more


Saturday, 11 June, 2016 UTC

Rapid Prototyping with JavaScript

I love prototyping. I crave speed. Rapid prototyping has really coined itself as a term that executives and managers love to throw around – and that doesn’t mean it’s a bad thing – in fact, it’s exactly how innovation happens. It’s a bit like going back ... more


Wednesday, 8 June, 2016 UTC

WebdriverIO – Injecting JavaScript to Capture AJAX Errors

Recently I found a pretty advanced way to automate my social media stuffs: elgalu’s docker-selenium Webdriver.io Social media platform of choice (I’ve done LinkedIn, Facebook and Instagram) So the idea is that you launch a Docker instance with Selenium ... more


Thursday, 28 January, 2016 UTC

NPM permission issues when not running as root/admin

This is a pretty common issue where you try to run npm install or npm install -g and you get this error saying: npm ERR! Error: EACCES: permission denied npm ERR! Please try running this command again as root/Administrator. Well, this is pretty annoying. ... more


Friday, 22 January, 2016 UTC

How to Setup Ubuntu’s Upstart to Auto-start Meteor on Boot

One of the downsides of Meteor that I found is that I can’t run it via PM2 which is my favourite process manager for Node.js. So searching around the web as you normally would, I found a thing called Upstart that exists on Ubuntu. Let’s cut to the chase, ... more


Tuesday, 19 January, 2016 UTC

Free JavaScript / AJAX Error Monitoring via Google Analytics

I tried Sentry. I wasn’t impressed. It caused an error on my AngularJS application which was efficient in proving that the error tracking worked. As for the error itself, the documentation/forum data was lacking for me to be able to fix it. I assume ... more


Sunday, 17 January, 2016 UTC

a List of Magento Developers in Sydney

Following the Certified Magento Developers in Australia list, here is one for Sydney! It is parsed in from the official Magento directory. I use a Node.js script to scrape the data every 24 hours for your convenience You can view the source code of this ... more


Friday, 25 December, 2015 UTC

Joyent, io.js, Node.js Foundation and Version 4

Here’s a quick overview of what’s happened in the past year in the world of Node.js world – it involves some political matters. Node.js was invented in 2009 by Ryan Dahl and other developers working at Joyent. Joyent was the sponsor and the steward of ... more


Friday, 25 December, 2015 UTC

Top 3 Solution Stacks for 2016

In computing, a solution stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to “run on” or “run on top of” the resulting platform. ... more