Computer Systems Engineer

Passionate Entrepreneur


Cool webapps: – Team chat – Email marketing management


I am trained as a computer systems engineer. Passionate about design, technology, and like getting my hands dirty making things this has lead me to a few projects of my own.

CTO – – Supporting growth hacking in Asia
Founder – – Introduction to Healthy Food (delivery)
Partner – – Event space rental Supporting the local Maker movement

Specialist – – Join me and volunteer to help built homes for Orang Asli (indigenous people)

Training GHA (eventbrite)

Most Recent Work:

Uses :

Lean Startup Methodology
Google apps – email and document colaboration – bloggin platform – Team tasks management.
Wave – invoicing, accounting and payroll. – Clean up your inbox. – send large files


5 Emails to happiness
9 rules for emailing
The power of introverts – Susan Cain
People buy why you do it not what you do – Simon Sinek
Don’t Fuck up the culture – Importance of culture in your workplace.
Work Should have meaning – These economics are no longer about just efficiencies, size, and costs, but about productivity, learning,value.

Recent Projects

“The distance between insanity and genius is measured only by success.” – James Bond: Tomorrow Never Dies

Recent Blog Posts

“Use what talent you possess: the woods would be very silent if no birds sang except those that sang best.” -Henry Van Dyke

phpmyadmin 404 error Digital ocean ubuntu setup

Wanted to document a problem that is so trivial that I think would be a very common problem that most people would have due to a terrible sin of UX. So to help people who faced the same problem I did hope this would help when searching for a fix for this problem. Here I was trying to install phpmyadmin in Digitalocean on a droplet I had wordpress install as a oneclick option during the creation of the droplet. Therefore the settings are pretty standard. Installation process pretty standard as well. This was the guide i used btw the guide’s restart command didn’t work for me , the restart command that work was : /etc/init.d/apache2 restart 1 /etc/init.d/apache2 restart Now then I face a 404 error page when i tried to log in to my domainname/phpmyadmin. After an hour of research and on the verge of giving up I found the solution here: All because i forgot to press spacebar to select apache2 and pressed “enter” which proceeded without selecting it ….. UX SIN. Anyway the fix is easy fully uninstall phpmyadmin and go through the process again . The article above suggests a reconfiguration which i tried but ran into some problems. So a fresh reinstall is a better option. sudo apt-get purge phpmyadmin 1 sudo apt-get purge phpmyadmin Once i was done I wanted to disable it. Also checkout here on a more secure way to use phpmyadmin and other options You can disable phpMyAdmin by disabling the module configuration. <span class="pln">sudo a2disconf phpmyadmin</span><span class="pun">.</span><span class="pln">conf sudo </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">init</span><span class="pun">.</span><span class="pln">d</span><span...

Bulk compress and optimize image for web

Optimize Images Bulk image compression Mac and Windows (Before Upload) If you have some high res images and wants to compress them before upload photoshop is one of the more powerful tool to do your compression. However to do it in bulk quickly I have found a better tool xnConvert. It does compression and resize. Image compression vs file compression Firstly do not get confuse with image compression and files compression they are different types of process altogether. Images compression (Lossy) uses algorithms to determine how best to reduce data/pixels to maintain the same viewing effect on a screen. Where else a file compression finds ways to reduce file size by looking at repetitive data stream and grouping them together and it works for any types of files. After a file is compressed they are commonly save as file types  zip, tar, or gzip depending on their compression methods. Compression criteria There are many criteria to reduce image file size. I typically work with these 3: 1 – Size Size is tricky for images you want to keep at full width or full height and responsive, I typically just use the ratio of 1920×1200 for maximum prettiness and 1280×1024 for most cases and 800×600 for maximum file save (like a mobile intensive site). Anything else with a consistent size you can just use the chrome plugin MeasureIt  to measure the size you need in pixels. 2 – DPI We wont go into explaining Dots Per Inches (DPI) you can google and read up on that. Simply put , it is the amount of Pixels Per Inch (PPI) which is more commonly known as...

How to score 100/100 on Google Speed Insights and GTMetrix in WordPress

Need Help? Contact me at Requirements: Have FTP access using Filezilla or Filemanager access from your CPanel. Recommended : Have access to your DNS manager, this could be in your Domain name company (eg: or Achieving 100/100 on google pagespeed is not necessary and will cause some problems. It is recommended that anything above 75 is good enough. Some side effects you might see includes your site loading but shows an ugly cssless site for 1 second and then your site loads completely and everything looks normal again. This will give your users the perception that something is wrong with your site. Backup first Before you begin make sure you have backup your site. Some of this changes are not reversible. I usually prefer server side backups. If you are using digital ocean you are in luck because backing up is just one click , “Creating a snapshot” . Also good to have is just have your .htaccess backed up and make sure you have ftp access to delete the plugin that is causing the issue if it happens. Clear cache or view in incognito mode A lot of times we don’t see changes until we clear our cache to get fresh new files from our servers. To do there is 2 ways incognito mode or hard reset a specific window better than clearing cache for your entire chrome. Do not refresh in Chrome Incognito mode (Firefox has something called private window) but instead just close the window and open a new one because chrome uses incognito cache and cookie for that specific window only. To hard reset...

Messed up setup – reset your wordpress

If you ever messed up a wordpress setup be it some templates bad demo import or plugin problems. You can actually reset it with : Advanced wordpress reset or WordPress database...

Free Landing page plugins review for WordPress

Wanted a pretty landing page for wordpress that is separate from the templates. So that I can have the landing page up and edit the rest of the site while keeping the landing page separate. Having measureable metrics for the landing page would be great too. So I found 3 that I liked and started using them. Here is the comparison result/summary. You can read the details below. Ultimate Landing Page Free by Umar Bajwa Free but designs not so appealing have to pay $27 for ultimate vesion Landing pages builder by Wishpond Free for only the first 200 contacts Nice design templates and powerful editor Unbounce Landing pages ( I went with option because I have used them before and love their implementation)  free but will have unbounce logo. (free account is tucked away on a corner in the site) popular landing page builder nice design templates and powerful editor       Ultimate landing page. Didnt like the free landing page Template that was included and to get all their other templates which i didn’t know what it looked like was $27.        ...

How to remove, block, filter google analytics spam

Learn more about what it is:   Instruction on how to set up the filter.

Creating a custom template page for theEventsCalendar display

So I needed to integrate the way theEventsCalendar plugin was display the events with my template. Because the plugin works independently, meaning the plugin has its own way of displaying data or in this case events I could not leverage on the template’s inbuilt page builder. Instead I have to manually build the page. So First step was to create a separate template for this purpose. Again I could not leverage on the single purpose page method because it is not a typical page it is the plugins own page. So I just duplicated the default page.php template and gave it a unique name [SOURCE] [SOURCE2] I named it theEventsCalendar custom 001  and file name is  theEventsCalendar_custom_001.php Looked at the output that I wanted from other normal pages that was built by the template builder. Copy the generated HTML and paste it in the correct location. For me it is where the title was so i disabled the title and paste my html codes.    ...

Increasing WordPress upload limit in digitalocean

Server : Ubuntu WordPress on 14.04 –  automatic wordpress install by digitalocean ACTIVITY Was exporting posts from old site and importing into new site, few things I learned: WordPress exports in xml format images link are included So when you import on the new site it will automatically download the images with url provided in the xml export PROBLEM There was a memory limit in uploading it was just 8mb but my file was 8.7mb. SOLUTION So solution was to increase the limit. [1] Login to your digitalocean server, if you dont know how easiest way is to access the webconsole by digitalocean Vim ../etc/php5/apache2/php/ini to find your php.ini refer here.[3] (VIM cheatsheet) 1. Try adding this line to your wp-config.php file: define('WP_MEMORY_LIMIT', '64M'); 2. If you have access to your PHP.ini file, change the line in PHP.ini If your line shows 32M try 64M: memory_limit = 64M ; Maximum amount of memory a script may consume (64MB) post_max_size = 64M; upload_max_file_size = 64M; 3. If you don't have access to PHP.ini try adding this to an .htaccess file: php_value memory_limit 64M 12345678910111213  1. Try adding this line to your wp-config.php file:define('WP_MEMORY_LIMIT', '64M'); 2. If you have access to your PHP.ini file, change the line in PHP.iniIf your line shows 32M try 64M:memory_limit = 64M ; Maximum amount of memory a script may consume (64MB)post_max_size = 64M;upload_max_file_size = 64M; 3. If you don't have access to PHP.ini try adding this to an .htaccess file:php_value memory_limit 64M  Remember to restart the apache server sudo service apache2 restart REFERENCE [1] [2] [3]

Hi there!

Got a question, just want to say hi or you have an awesomeness project? Just drop me a message with the contact form or email me at  sky at


3 + 13 =