Saturday, August 29, 2015

16 blocks making up circular patterns

Here's another that I must have gotten years ago, and I've lost the instructions.  The sticker on the only remaining part of the packaging says "Attempt to arrange the tiles so that different colours never touch!". That seems too easy - here are two solutions that only took about ten minutes to find.

all the circles the same colour scheme, but no two colours touch anywhere
all of the tiles connected in a single loop, again no colours touching anywhere

Wednesday, May 27, 2015

The PLEXi Iamond Hex solution

Since I'm recording the nice way to put the puzzles away, here is the pretty solution to the PLEXi Iamond Hex puzzle (which is apparently a licensed version of Kadon's original).


The Pentomino Square Solution

I keep having to rediscover the solution to the pentomino square puzzle that's so hard to put away nicely otherwise, so here it is.


Saturday, April 25, 2015

Google Calendar not syncing to Nana's Nexus 7

For some reason, Google Calendar on Mum's Nexus 7 has a long-standing bug where it spontaneously forgets how to sync her calendar data.  Since I'm on the other side of the country, and I don't use Android at all these days, here are the notes on how to fix the issue.
  • Open Settings
  • Select Storage
  • Select Apps Data and Media
  • Sort Apps By Name (using the right-hand menu)
  • Scroll down to Calendar
  • Remove Data
  • Scroll down to Calendar Storage (this should be the next one on from Calendar)
  • Remove Data
Make sure you do both Calendar and Calendar Storage!
  • Go back to top of Settings
  • Under Accounts, go to Google Accounts
  • Select Sync (using right-hand menu)

Friday, November 21, 2014

The human brain is really good at seeing patterns...

Dear Penthouse, I would never have thought something like this might happen to me.

I got into work this morning, and I had forgotten to rinse out my coffee cup the night before so I needed to clean it.  Imagine my surprise, however, when I looked down into it and saw someone looking sternly back at me.

Don't take my word for it, though.  Here is iPhoto agreeing that there is a face in there, you can't argue with computer software...


I'm pretty sure its Alan Moore, famed comic artist and well known magician. Go take a look at him on Wikipedia.  But what is the author of V for Vendetta doing in my C for Coffee Cup? Sadly, we'll never know. His unnerving visage made me feel so guilty that I washed the cup immediately, well immediately after taking a few photos.  Here's one more close-up.


Thursday, October 17, 2013

I owe Optus an apology

We just switched our Optus Cable service across to their "speed pack" which supposedly gives us 10x the bandwidth.  To do so, we needed to upgrade the modem from the old Motorola Surfboard 3100 to a Netgear CG3000 which has a built-in router and does Wifi.

Our home network is more complicated than normal but I copied across all the appropriate config, rebooted all the computers and it all just worked.  Well, almost all.

For some reason, Pauline's email would not connect.  Nor would Catriona's.  It didn't matter how I tried, it just wouldn't work.  When I tried configuring new accounts, they wouldn't work either.

I probably spent half an hour (over a few nights) ranting to the guy on support that "I do networking for a living, I can see that its your mail server not responding to POP/SMTP when I use TELNET to the appropriate servers and do the protocol by hand".

Today, sheepishly, I realise that "hmmm, the IP address we are using is a class-B, but the subnet mask we have configured is a class-C".  Surely that couldn't cause this symptom, it didn't upset the old modem.  Hmmm, this is a modem *and* a router.  Oh dear...

So, I fixed our network config to use legitimate class C IP addresses, Pauline pushed the Get Mail button and down came her mail.  Problem solved.

My only excuse is that my old router allowed me to configure a proper class-B subnet mask - the Netgear has the subnet mask locked at class C, but I didn't pay attention when I was entering the numbers. Tomorrow, when Optus Support rings me back, I have to take hat in hand and admit my error.

The moral: if you want to use anything other than the default 192.168.1.* network that your modem manufacturer, or your ISP expects you to use, make triply sure that you have configured it right.  Because getting it wrong is hellishly difficult to debug, especially for the poor bastard at the other end of the phone that doesn't know how clever you think you've been.

Friday, July 19, 2013

unexpected precompiled header, simply rerunning the compiler might fix this problem

This post is about Microsoft's answer to the IT Crowd and their "did you try turning it off and on" running gag.

For years, we (at work) have been plagued with this particular error that seemed to happen spontaneously, hang around for a while then disappear, and today (with the help of Google) I've been able to track down an actual answer.

Microsoft explains the embarrassing truth here.

In a nutshell, precompiled headers are implemented cheaply as a straight memory dump complete with physical memory addresses.  When the compiler subsequently tries to read them back, ASLR has potentially scrambled it's little brain.

There are lots of fixes mentioned around the net, of varying levels of quality and security.  Microsoft has a hotfix but it only solves the problem for Visual Studio installs - we build using the Platform SDK.

For me, the sanest approach was:
  • download and install EMET from here
  • use EMET to disable "MandatoryASLR" and "BottomUpASLR" on the C compiler (cl.exe)
This leaves you with ASLR enabled for everything but the C compiler which doesn't cope.

Note, this has no impact on the output of the compiler - your programs will still be ASLR-enabled or not, depending on what switches you pass on the command line.  All we are doing here is fixing the actual compiler itself...



I hoped I'd never have to revisit this post, but today I had to. Looks like EMET can cause quite a bit of damage when you run it.

I tried using EMET 5.2 and it did resolve my problems with the C compiler.  As collateral damage, however, it took out Microsoft Office, AutoCAD 2011-2016, and even Internet Explorer.  Every one of them reported a vanilla error message "Attempt to access invalid address".

This looked to me to be related to either Data Execution Protection or perhaps to ASLR.  However, even though I completely disabled both of those features (through EMET), it didnt' help.  I've restarted so many times today you would not believe it.  Uninstalling EMET changed nothing.  I sat and manually uninstalled every Windows Update that had been applied in the last 48 hours and still no joy.

Eventually this post on the Microsoft Forums pointed me at an obscure registry entry and lo, it fixed the problem.  It would appear that EMET automatically puts in registry entries when it is installed, and does not remove them when it is uninstalled (no surprise there).

So, the fix was to go to

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

and locate the application I was trying to use.  I removed the troublesome keys and voila, my apps work again.  (Actually, for many, I just removed the value for MitigationOptions which was 0x0000100)

Note: this is not something that you should attempt lightly.  No warranty implied or assumed.



Take Three.

It looks like the damage that EMET does is like herpes.  Every time I update Microsoft Office (ie, apply office updates), I need to go back in and patch up the registry settings again.  No idea why.  This must be that "my PC is so broken it needs to be reformatted and start again" that everyone talked about in the 80s.