Skip to main content

Posts

New Website

Are unicorns real? We try to look all over the web for unicorns and we might have found some that you might like or watch. https://allunicornstore.app is a new site that finds interesting unicorn products or unicorn videos. If you're a unicorn lover, head over and check it out.
Recent posts

Unlockd Android Auto Open

Now that Unlockd has reached its doomed. Here is a script where i just downloaded android tools and automatically have my phone open, I believe you can use this for games that requires constant tapping of the screen (as long as it's not one of the fast tap one as adb has a delay). for i in `seq 1 50`; do # open the phone adb shell input keyevent 26 # keep the phone open for 8 seconds sleep 8 # close the phone adb shell input keyevent 26 # randomised sleep to make it look real sleep $[ ( $RANDOM % 10 ) + 1 ]s done if your phone has passcode for i in `seq 1 50`; do adb shell input keyevent 26 sleep 1 # swipe from bottom to up adb shell input touchscreen swipe 530 1280 1030 480 # enter your passcode adb shell input text <Your passcode> # check button adb shell input keyevent 66 sleep 8 adb shell input keyevent 26 sl…

Winamp Spotify Treasure hunting

Back in the days when WinAmp was huge (So was tripod and geocities), WinAmp users like to share their playlist. Most of these playlist are still available online through googling and a lot of them are actually good throwback playlist. With that in mind, I created a javascript script that would change the winamp playlist (pure text) into a spotify search link.

An example of this, say you liked the 90s rock scene. You would google "winamp playlist pearl jam silverchair" and some of the results will return with the title "Winamp Generated PlayList" and these are what we would like to treasure hunt on. Then
Click on of the result.
Right click anywhere in the page, select Inspect (Chrome) or Inspect Element (Firefox)
Select the Console
Paste this
$$('ul font small')[0].innerHTML = $$('ul font small')[0].innerHTML.split('<br>').map((val) => { return '<a style="color:white" href="spotify:search:' + encodeURIComp…

LaMetric Python App

Creating a personal stock app for LaMetric is super simple, all you need is create an account at developer.lametric.com and have an url with your data. Depending on how you want the data to appear, the format should be in json and how it appears in the creation process.

I used appengine to host my data and used the metric data format


Here is the python code
import urllib2 import json # get stocks data using yahoo finance stocks = ['0002.HK', '0005.HK', '0011.HK', '0992.HK', '0066.HK'] url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22" + ("%22%2C%22".join(stocks)) + "%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json" result = urllib2.urlopen(url) data = json.loads(result.read()) # create frames based on the metric data format frames = [] for stock in data['query']['results']['quote']: …

Laravel 4.2 and App Engine

Was trying to make Laravel work with App Engine when i saw this post Laravel 4 on Google AppEngine for PHP, have tried to make it work but it seems there are some things that needs to be updated to make it work.

First off follow everything the blog until THE MCRYPT PHP EXTENSION then on that part we have to change "require": { "laravel/framework": "4.2.*", "neoxia/laravel-openssl-encryption-42": "dev-master" },
Then continue to follow the blog again. Then on THE LARAVEL 4 LOGGER, change $monolog->pushHandler(new Monolog\Handler\SyslogHandler('intranet', 'user', Monolog\Logger::DEBUG, false, LOG_PID));
Then before executing ./artisan optimize     open LaravelOpensslEncryptionServiceProvider.php, add to the top use Illuminate\Encryption\Encrypter;
Then lasty the part of UNIX_SOCKET, you could ignore it, it seems fixed for 4.2

CSS relative absolute positioning

Over my course of being a frontend web programmer, I realised that a lot of web developers dont understand how css position works. If you're a new web developer, after mobile webkit, firefox or chrome became bigger than IE, then everything is way easier to understand. The most simple explanation is this http://css-tricks.com/absolute-positioning-inside-relative-positioning/. Basically if the position is static(default), the children with different position (relative, absolute) will follow the first non static position parent it has (which on the site was the body).
So for example <body> <div style="position:absolute;top:10px"> this div parent(body) is static so make that our bounds </div> </body> <body> <div> <div style="position:absolute;top:10px"> this div parent(div) is static and so its parent(body) so make body our bounds </div> </div> </body>…