AWS re:Invent 2018

AWS re:Invent 2018 was epic.

Key Themes:

  • Serverless: more than just Lambda, it’s an architectural mindset.
  • SaaS: building a great SaaS product is hard.
  • Database: New features to DynamoDB, Aurora free your database and leverage the power of the cloud.



Easy AWS S3 IP Whitelisting

Working on a website hosted in AWS S3, but don’t want to give public access yet? Easy fix.

First navigate to your console and go to S3 service.

Next, navigate to the bucket where your static site is hosted and go to Permissions tab, then click on bucket policy.


In a new browser tab, navigate to    to perform an IP address lookup.

After knowing the IP address, enter the following JSON policy into the policy editor. You will need to modify the two items in bold that correspond to your bucket name and IP address.

GeSHi Error: GeSHi could not find the language json (using path /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

Click save, and then your index.html document will be accessible form the machine you are on.

DJI Mavic 2 Firmware Update

DJI Mavic 2 firmware update overview

  • Date: 2018.11.22
  • Aircraft Firmware: v01.00.02.00
  • DJI GO 4 App iOS: v4.3.5
  • DJI GO 4 App Android: v4.3.4

What’s New?

  • Shutter speed increased up to two seconds for Hyperlapse Circle and Course Lock (requires DJI GO 4 v4.3.4 or later).
  • Added Task Library to Hyperlapse Waypoint (requires DJI GO 4 v4.3.4 or later).
  • Added Precision Landing.
  • Enabled Lateral Vision Systems for Point of Interest 2.0 (see Mavic 2 Pro/Zoom User Manual for more details about obstacle sensing requirements).
  • Added voice alert for ActiveTrack 2.0 when the subject is lost (requires DJI GO 4 v4.3.4 or later for iOS. Android version is coming soon).
  • Added on-screen display when shooting in Hyperlapse and Panorama (requires DJI GO 4 v4.3.4 or later).
  • Optimized the Vision Systems status display in DJI GO 4 (requires DJI GO 4 v4.3.4 or later).


  • Restart the aircraft and remote controller after the Mavic 2 firmware update is complete.
  • Please note that update may reset various main controller settings, such as the RTH altitude and the maximum flight distance, to default settings. Before the update, take note of your preferred DJI GO 4 settings, and readjust them after the update.
  • If the update fails, restart aircraft, remote controller, and DJI GO 4 or DJI Assistant 2 for Mavic, and retry.

Setting Dynamic Date & Time in Postman

If you are a developer or technologist like me, chances are you are very familiar with Postman for working with RESTful APIs. Depending on what types of APIs or services you work with, there are many use cases or instances when a date / time will be required in a given request. Lucky for us, the folks at Postman have made pre-request scripts available which cna be utilized in a number of different ways to dynamically set variables before a given request is executed.

In this post, we are going to look at how you can dynamically set an ISO formatted date time to the current time without having to manually set the value.

var today = new Date();
var dd = today.getDate();
var dd_end = today.getDate()+2; //two days ahead for end date
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
var hh = today.getHours();
var ss = today.getSeconds();
if(dd<10) {
dd = '0'+dd
if(dd_end<10) {
dd_end = '0'+ dd_end
if(mm<10) {
mm = '0'+mm
if(hh<10) {
hh = '0'+hh
if(ss<10) {
ss = '0'+ss
today = yyyy +'-'+ mm +'-'+ dd + 'T' + hh + ':' + ss + 'Z';
postman.setEnvironmentVariable("date", today);
enddate = yyyy +'-'+ mm +'-'+ dd_end + 'T' + hh + ':' + ss + 'Z';
postman.setEnvironmentVariable("enddate", enddate);

Google Home Continued Conversations

As promised at I/O, Google has made Assistant’s Continued Conversation available for US English speakers using a Home speaker. Enable it in your preferences and you don’t have to use “hey Google” or “OK Google” for follow-ups, even if you have multiple requests.

The approach works by leaving Assistant active for no more than eight seconds if it doesn’t hear speech. It’ll stay active as long as it believes that you’re talking, and will keep the LEDs lit on your Home speaker as long as it’s listening for your voice.

To enable Continued Conversation, you’ll have to

  1. Go to the Assistant Settings on at least one device
  2. Navigate to Preferences, then Continued Conversation

Once you’ve activated it, the feature will be available on all smart speakers set up under your account. Happy conversations with Google!

[vc_video title=”Google Home Continued Conversations” link=”″]


Build a Custom Course For Your Fenix 5

  1. Coordinates – degrees to decimal conversion

  2. Build GPX

  3. Load to Fenix 5

    1. Load process onto hardware
  4. Engaging course navigation during activity