Google #io19

Not as groundbreak as io18, but there were still some pleasant announcements in the main keynote. Here are some of my favorites:

Next-Gen Google Assistant

Obv Google Assistant (GA) is already pretty good. But there are an insane amount of deficiencies, limitations, and imperfections. What’s new is that GA can run on-device, locally, without needing to communicate back to online services and all that round-trip audio upload, download latency etc. Super great for most mobile situations in low connection areas, spotty connections, no connection. I’m big on reducing latency. Lots of speed-issues and user impressions is about latency, in everything. And bandwidth in most places are more than sufficient, it’s the latency that’s lacking. Even more so for mobile.

By seriously reducing lag time, running on-device, GA will be increasingly more responsive, fun to use, and actually useful instead of getting in the way.

Next-gen Google Assistant on-device
Continue reading “Google #io19”
Google #io19


My old Ubiquiti Edgerouter Lite died (well it was the second one that died), so I was out of proper routers. Using a spare/emergency Netgear freebie set as a stand-in just didn’t seem to cut it. I couldn’t reconfigure all my DHCP to my liking, I couldn’t get my routing nice, my VLANs, and I suspect it had some scanning turned on that made everything so laggy. Maybe I should have just turned off the scanning.

Continue reading “Unifi-ed”

Tracking that’s so smart

There’s a surprisingly strong amount of suspicion, and wariness in the US/Silicon Valley towards the tech giants Facebook, Google, and other internet advertising companies. It’s way more than an outsider would expect. Firstly it’s already higher in US than other countries, and then again within the Silicon Valley-type, it’s even more intense.

As someone who just loves to the utility that Google products provided, it was quite confusing. Are these people just worked up over nothing? Are they competitors? Do they hate Google and Facebook because these two juggernauts are at competition with everyone else (eg Yelp)? Are Americans and Californian social justice warriors (SJW) just that into the entire privacy thing like they are into all kinds of bizarre activism that the rest of the world doesn’t really care as much about. Examples include US racial issues, marijuana usage, LGBT issues, and more.

I honestly still feel like amongst so many companies, at least Google keeps itself in check, and does more right than wrong. Compared to other companies. They have one important luxury – that of a good and high revenue and profit where they can choose to do the right thing, instead of prioritising profits. Example recent case in point – giving up Pentagon AI contracts to preserve their moral identity and continue to attract AI and engineering talent. It’s hard to take the moral high horse if you’re a startup trying to make every dollar it can, or if you’re in an average company who needs to be concerned about year to year revenue – ie the normal world that isn’t top 10 SV unicorns.

One of the greatest fears lately has always been people wondering if your phone is spying on you, whether the presence of people discussing a particular topic lead to the sudden appearance of related ads in your Facebook or ad pages even if you didn’t type it in. A lot of that is probably confirmation bias, but I pretty much guess now that it is the close geographic proximity (via location history) of you and your counterparts, and them doing the recent searches on their devices, that leads ad targeting to also suggest the same items to you. Nobody directly recorded your conversation (as wild a guess it is, I feel it’s way too much of an overstep for them to do it, too inefficient to record and parse everything), but it kind of seemed like it.

GDPR has the world in a mess, and the EU keeps dolling out fines and weird judgements. What will the advertising future look like? Would we ever go back to the straight up less-differentiated ads like print newspapers and tv channels? It was definitely also partly targeted, but less apparent, way less specific. But it didn’t require so much cookies and tracking over platforms.
No matter what, ads remain the most viable method of survival. You, me, anyone can’t keep paying subscription fees per source that we consume from. Over 100 news sources, over 100 applications are used in our lives, it’s economically impossible to subscribe to them all. And yet it’s odd because the marketing ad budget must have come from the things we pay for. So in a way we are still paying for the ad spend. Remember marketing costs go directly into the cost of goods sold to you. Less marketing = more value to you, usually.

Tracking that’s so smart

Image Searching with Google Custom Search API

Oh man, the Google Custom Search API is pretty cool – you get to run searches using Google’s engine, but the free API tier is really low. A quota of 100 per day, which includes retrieving more results, actual queries, requeries… It’s barely enough for a handful of searches a day.

Screen Shot 2015-03-05 at 10.10.51 pmBut hey check out the very pretty API stats. Errors don’t count, thankfully, but they are nicely logged.

I’ve taken an open source Image Search app and changed the API a bit to enable higher limits. The awesome Android app helps to search, download and attach images into your chats/emails/apps. You can download my version which should hopefully work better. It should be live by tomorrow on the Google PlayStore. (It takes quite awhile for things to get through the PlayStore.)

It’s gonna need to have in-app billing to survive the API limits though. or some form of payment/revenue.





Image Searching with Google Custom Search API

Pebble Time, Pebble Time Steel

(Annoyingly, the terminology of smart-“gadget” has stuck. Smartphones, smartwatches, etc.)

So we have the category of smartwatches that are all the rage last year and this year. Well two years ago Pebble (and other much less successful companies) came into the picture, and then in 2014 the platforms started putting in the groundwork for watch and wearable integration, and now 2015 I think alot of it will come to fruition.

2013 v1.0 with super buggy app.
2014 stagnation in terms of serious features / functionality
2015 v2.0 announced with some proprietary Timeline thing, some sensor equipped watch band integrations, and same epaper screen same battery life. prob will do okay, it’s like a Kindle niche market, surviving despite all the tablets out there. Pebble Time was horrifically bad design, not rugged, not sleek. Couldn’t they make one version that is for outdoor use and one version for dressup use. Right now the kiddish interface is messing up the Steel. ohgosh.

Android Wear
2014 released v1.0 with basic usable features and a few initial watches. familiar issues of short battery life, odd designs, uncertain use cases.
2015 prob gonna seriously improve onto v2.0 with more functions, better design (Huawei Watch), more integration, more stable ecosystem.
(They really need to make Google Now more useful/urgent/relevant, rather than this i-happen-to-look-at-it stream of random data.)

Apple Watch
2014 announced
2015 release. having seen all the other competitors, it should have a decent start out of the gate in terms of functionality and design. but who knows it might be a disaster. physical design won’t change for at least 2 years as Apple tends to let manufacturers and developers settle in. the first iphone was quite horrible, the first ipads were big and heavy and clunky.

Small fry like Samsung Gear watches (totally horrible, ugly, low functionality, poor battery), LG, etc, etc.
I’m sure they manage to squeeze in a couple drops of decent functionality but the critical thing here is that they will not have the deep integration with your phone OS (effectively your other apps, your other data, your cloud services, and with Google – the deep learning and predictive.)

(I’ve been trying to use my Pebble 1 as much as possible because I know it will get outdated and useless soon. Won’t last forever like an analog watch will.)

Pebble Time, Pebble Time Steel

over engineered

I saw this post and realised how much crazier networking equipment you can buy off Amazon at relatively affordable prices (as compared to normal consumer routers). HMMMMMMMMM.

EdgeRouter Lite ERLite-3 512MB 3 Ethernet Ports Router
Crazy Router. Able to transfer 1 Million packets per second. Wah. Only does routing, no switching, so you gotta buy another network switch, and wireless access point.

Ubiquiti Networks UniFi AP Enterprise WiFi System
Apparently very good range. Powered over Ethernet, so you can mount it on the ceiling with only just a PoE cable, no need power brick. Can extend multiple, but need an always-on PC to manage. bah.

Peplink Balance One Dual-WAN Router (BPL-ONE)
Dual WAN router. Able to take in two internet connections. If you need that kind of failover. 8 port GbE switch. Load balancing…

Cisco SG200-26P Gigabit Ethernet Smart Switch, 24 10/100/1000 Ports, PoE and 2 Combo Mini-GBIC Ports (SLM2024PT)
26 port GbE, fully PoE, IPv6, blah blah blah.
Smart Lock for unlocking doors with phone. I think this tech isn’t mature/stable yet.
Connect home devices to net. Again, unstable tech. Need to consolidate under a major player. Like Google with Nest? I don’t think Apple is in the game yet. Sonos seems meh.
Good stuff that got bought by Cisco, blah. Super hipster cloud enterprise network management.

over engineered

World Cup – From around the world

Some people can’t just do it the normal way.

For canada
– VPN to Canada exit server
– go to CBC website
– view Replays of matches
– Good: watch the matches at any time you like! That’s real convenient. Scrollbar at the bottom allows you to jump, but can be spoilers.
– Bad: Quality isn’t HD, bit ghosty. Minor lag. Not sure where is the live stream button.

For UK
– VPN to UK server
– go to BBC iPlayer channel BBC2
– Check schedule for live matches and ‘Match of the day’ reruns.
– Good: Seems to have iPlayer apps available for mobile and other services. A few other channels are available.
– Bad: only one channel for world cup. no on-demand replay.

[Reminder, above links won’t work if you access them outside of their home countries. Content is locked.]

VPN providers
– There are tons of them out there
– Currently I just started with since it appears well rated by some non-dodgey websites, and the service is basic and not overly expensive. Frills like pretty apps and websites aside, what you need is a good stable connection at the highest speed possible for video streaming. That’s tough to get. If you just want a connection, there are other offerings that give you a wider choice of exit server countries. For eg PIA doesn’t have much Asia connections.

KIV Cyberghost VPN when I need a free vpn cxn in the future.

VPN reviews:

World Cup – From around the world

setting up nginx

Since I’m on a VPS, I decided to up it and switch from Apache2 to Nginx, after all Nginx is so well regarded and fast! Always wanted to try it out.



Instructions on converting a standard digital ocean wordpress installation to nginx.

Difficulty level – Simple. Make sure there are no typocs.

Remember to backup and take snapshots before and after major changes.


Then Google Pagespeed Insights still seemed to report the server as responding slowly ???? so I decided to enable Varnish. Varnish responds to port 80 and serves cached data unless it needs to pull from Nginx on port 8080. Cool. Was fairly easy to install.

Varnish guide

Difficulty level – rather simple


Google Pagespeed Insights

Analyzes website for mobile and desktop optimizations in terms of speed and usability, eg things like minify js, css, caching.


W3 Total Cache

WordPress Plugin that helps to do minifying of js html css, caching. etc. Even interfacing with CDNs if you’re using one. Wow. I had issues with the minify settings, esp the url rewrite.


Pingdom speed test

Helps to test the speed of your page load, size, and even charts it out beautifully.



Google Pagespeed itself has a mindbogglingly awesome server level webpage optimization. It does way too many things to list here. But it’s better integrated with Apache which supports modules. Nginx is real tricky as it can’t be easily built in. I tried really long and it’s very un-beginner friendly. I think I got a test copy working but I got tired of trying to replace the default nginx with this, and I will have to manually keep nginx updated in the future. So maybe I will put this aside for now.

Nginx uses ngx_pagespeed which needs to be custom installed with nginx. offical page here:

Difficulty level – challenging.


Useful commands:

$ netstat -tutpln


setting up nginx