Compressing and Storing Time Correctly

After earlier work with DATETIME and indexes, I am still seeing some performance issues with storing logs with a full timestamp. Since a lot of the reporting is based on day-on-day and week-on-week comparisons, it could be more efficient to store the date and time components separately.

For my purposes, I’m using time to a resolution of about 15 minutes so there’s no real need to suffer the extra storage and performance overhead of working with a TIME field.

Instead, I’ve opted for a TINYINT with a value between 0-95 inclusive – one for every fifteen minutes of the day. Naturally, this is indexed.

The issue comes with how to convert time into these segments, and back again. Logically, 00:00 to 00:15 should be the first segment, but I have to be careful when reporting this back.

Technically if I’m quoting the range in a graph, there’s no problem. It’s between 00:00 and 00:15. If I’m forced to plot a point – say in a graph – the easiest solution would be to drop the dot at 00:00:00. The technically most accurate would be at 00:07:30.

That could be awfully messy, but it’s the midpoint of each range and better than quoting a measurement (say, originally at 00:14:59.999999….) as 00:00:00 when it would clearly be better as 00:15:00.

In this case, I suspect simplicity prevails. Most normal people (i.e. not me) would be more comfortable seeing nice round numbers: 00:00, 00:15 and so on. Seeing 00:07:30, 00:22:30 and so on is likely to be unnecessarily confusing. Thankfully the incoming quality of data is not that precise, so nobody will scrutinise this.

Quoting the full range (00:00 – 00:15) would be more appropriate anyway, in tables and text reports.

Recent Movies

Some movies I’ve watched recently (and not so recently, but recording for sake of reminder)

Captain Phillips
Inspired by an incident in 2009, this film follows the captain of the Maersk Alabama during a hijacking and subsequent hostage-taking. Great movie, very well portrayed. Highly recommended.

Hologram for the King
Another Tom Hanks film. This one’s a bit more laid-back and tells the story of a depressed, washed-up salesman in Saudi Arabia trying to sell a videoconferencing system to the government. Mostly enjoyable with light-hearted humour, but fairly slow-paced.

Sausage Party
Finally got round to watching this on New Year’s Eve. Very rude, crude and immature, but certainly not for kids. Entertaining enough, but I’m glad we waited for the price to drop before renting.

The Lobster
I saw this a few months ago on Netflix but worth remembering. Colin Farrell is wonderful in this odd, dark comedy about a hotel of sorts for helping people to find life partners in a world where – if you remain single – you turn into an animal. Bizarre, odd, and certainly not to everybody’s tastes, but I enjoyed it.

Fargo
Dark comedy set in Minnesota about a small town murder mystery and the people involved in it. A fair chunk of this movie is about the location and the relaxed nature of its population. Fun, quirky and I’m interested in seeing the TV series. On the other hand, it’s very slow-paced.

Tallulah
Appeared on Netflix a few months ago, so we gave it a watch. Decent enough movie and storyline with Ellen Page and Allison Janney. Warm, well-paced and interesting characters.

Austenland
Keri Russell is the American girl looking for an authentic ‘Jane Austen” experience in an immersive themed vacation in England. I chose this from Netflix on a lazy day with low expectations. It wasn’t great, but enjoyable enough.

Pride & Prejudice & Zombies
Somehow I thought this would be a good idea immediately after Austenland. Stopped it after about fifteen minutes. Maybe we’ll try again but it’s as silly as it sounds, and wasn’t particularly engaging either.

Suicide Squad
Rambling and jumpy storyline, with no real background and character development. Good enough for some mindless action, but nothing captivating. On the plus side, soundtrack was great.

Jason Bourne
Something something Jason Bourne something something Treadstone. Bland and disappointing. The original was the only decent movie in this series.

London has Fallen
Gerard Butler saves the day again as London falls to a series of attacks. Lots of luck seems to help as well, but for mindless action this ticks all the boxes.

Gravity
Beautifully shot. Sandra Bullock gets attacked by bits of space debris. This film inspired me to download Kerbal Space Program. Can confirm – space is hard.

The Martian
Matt Damon recreates The Good Life in space, after his fellow crew members leave him on Mars following a tragic accident. Enjoyable and witty.

Independence Day: Resurgence
It’s hard to critique an alien movie for being unrealistic, but this movie manages it with a frankly stupid plot. Will Smith added a charismatic element to the first film, which is sorely missing here.

The Secret Life of Pets
Annoying voiced creatures in a forgettable storyline. Watch the trailer to see all the funny bits.

Edge of Tomorrow
Tom Cruise and Emily Blunt on repeat. Quite a lot of fun. I enjoyed it.

Running Android apps in Chrome on Windows 10

Google has been working on a system for running Android apps on Chromebooks for a couple of years now. Since the underlying technology is roughly the same, it’s possible to run Android apps in Windows, using the Chrome browser as a host.

You will need the ARC Welder app from Chrome Web Store. I had to download this twice for it to work. The first download was large (120Mb), presumably the runtime, and didn’t seem to install properly. On the second attempt it was a more modest 12Mb, and then worked fine.

Once the second attempt is complete, a new icon appears in the apps panel (available from chrome://apps )

When launched, the app requires an Android APK (packaged app) to work. I’ve been playing with a traffic management game in development called Traffic Lanes 3. The author publishes APKs as they continue to grow the game, which is perfect here.

As it happens, I find the editor tools on this game a bit fiddly on a tablet, and prefer a mouse. The developer has stated they have no plans to produce a desktop version, and frankly if ARC Welder continues to cover this gap there seems little point.

Installing TAUCP on Total Annihilation from Steam

TAUCP is a mod for Total Annihilation (great, vintage top-down fighting game). Total Annihilation is now available on Steam for a decent price and runs well on modern Windows 10 PCs.

TAUCP comes as an executable installer. Run the installer and let it install to the default location (probably c:\cavedog\totala).

Next, open Windows Explorer and go to that location. Copy all the installed files (which will include a whole bunch of folders, ai, gamedata, maps, etc.)

Go to C:\Program files (x86)\Steam\steamapps\common\Total Annihilation\ and copy the files into there.

I got one prompt, which was to overwrite rev31.gp3, and allowed this to overwrite. This file enables the mod.

Now, when you launch Total Annihilation, the new mod kit should be active with new units in various factories.

Notes:

  • It also creates a file prefrontend.exe in the install directory which allows you to configure the mods and AIs.
  • rev31.gp3 is the patch file that enables TAUCP. If you don’t copy, it won’t work. The prefrontend.exe file swaps the original and modified rev31.gp3 file as you enable the mod.