ColdSpotting - Wifi Network Diagnostics in Augmented Reality

Visualize and Diagnose Wifi Network Signal Strength with ColdSpotting.

Visualize the strength of your WIFI network in real-time and in Augmented Reality.
Find deadspots where your reception isn't well covered.
Diagnose poor network performance.
Perform site surveys to ensure high-reliability for mission critical events.
Test using real-world devices.
Compare coverage across manufactures and product lines.

Perfect for:

  • IT Installers
  • AV Systems Engineers
  • Home Entertainment Enthusiasts
  • Video Gamers
  • Network Administrators
  • Educational Institutions

Requires iOS 11.2 and and iPhone 7 and above.

You can sign up for our mailing list and a TestFlight invite here:

More information will be added at


AI Bias - Continued studies with Image Recognition

This 4th of July weekend I had a chance to experiment with the Image Recognition Platform mentioned last week and on the blog.  Using a popular off the shelf(PaaS) image recognition service, I've begun submitting photos and capturing their provocative results.  The process brings up a lot of questions on the future of machine learning, with a focus on possible biases that may be introduced into such systems.  

Showcase:  Submission Photos with the Resulting Tags Sorted by Highest Confidence:

Example #1

Notable Results:  Detected the hat pretty well, gender, used the term 'worker', detected caucasian, adult. 

Does the algorithm have any correlations between the term 'worker' and gender or race?

Example# 2

Notable Results:  High confidence adult, male, caucasian, business, work, computer, internet, 20s, corporate, worker,

There is no computer or internet in the photo yet there are many career related results.  I'm not sure why this image evokes such responses (Are Ray-Bans highly correlated with the tech sector?).

Example #3

Notable Results: attractive, pretty, glamour, sexy, age and race are present, sensuality, cute, gorgeous,

It seems like the tags returned from images of women have very differing focus.  While male images return terms that reflect upon interests or jobs, images of women results often using qualitative descriptors of their physical bodies.  Model was listed, but not the tag worker, which we see more generally applied to male images.

Example #4

Notable Results: caucasian, attractive, adult, sexy, lady, fashion, 

Once again more measures of attractiveness.  Is their a correlation in this algorithm between gender/racial ideals of beauty?

Example #5

Notable Results:  high confidence results for white adult male, attractive, business, handsome, pretty, corporate, executive.

We are seeing some qualitative appearance results, but dramatically fewer than the females.  Seeing more business related terms as well, which comes in contrast with female career results.

Example: Dog Tax!

Notable Results: It did do an amazing job recognizing that Ellie is, in fact, a Chesapeake Bay Retriever.  (Also a possible hippo)

I will continue to submit more images and log their results(hopefully with some more diversity in the next round).  As technology progresses and becomes even more pervasive in our lives it becomes important to review the ethical implications along the way.  This sample size was too low to make any broader claims, but for me it points to some questions we should ask ourselves about the relationship between technology and human constructs such as race or gender.

Do you have any concerns on the future of AI?  Leave your comments below!

We will be adding future content at

AI Bias - Questions on the Future of Image Recognition

I'm interested in collaborating on a project about Bias in AI. I made a prototype of an Image Recognition app that detects and classifies objects in a photo. After a running a few tests I began to notice that race and gender were categories that occasionally would appear.

This made me more broadly curious about the practical implications of how AI/Machine Learning is designed and implemented, and the impact these choices could have in the future. There are many different image recognition platforms available to developers that approach the problem in differing ways. Some utilize metadata from curated image datasets, some use images shared on social media, and some use human resources(Mechanical Turk) to tag photos. How do these models differ with respect to inherent cultural, religious, and ethnic biases? The complicated process of classifying abstract more notions such as race, gender or emotion leave a lot of interpretation up to the viewer. Not to mention, the problem of the Null Set, in which ambiguous classifications may not be tagged leaving cruical information out of predictive models.
As a result of these different modes of classification:

What does this AI think a gender, or a race are?

How is the data seen as significant, and under what circumstances should it be used?

Should AI be designed such that it is "color blind"

Please let me know your thoughts in the comments below!

If you are interested in collaborating, or playing with the prototype that led to this discussion, join the mailing list at or

Tech Note: Christie Spyder x20 VI Vertical Pixel Threshold Still Functionality

There is a known issue with x20 hardware which limits how Still Layers can be used in certain High Rez setups.

When configuring a frame with a VI Vertical Pixel count above 1850 pixels in Height, the system becomes limited with how it can utilize Still Stored images.

Only layers 3,6,11, and 14 can be used as still layers.  Using other layers will induce strange behavior, including cropping, random noise, and other various errors when adjusting Keyframe parameters.  

This is a hardware limitation with all x20s and all versions of Vista Advanced.

TL;DR-Exact wording via Vista Systems:  "If the vertical height is higher than 1850 only layers 3,6,11,14 can load stills. This is a hardware limitation for any version software."

I have also heard people suggest this limit was at 1856 pixels.  YMMV.

BugFix: Unreal Engine 4.10 Third Person Tutorial.

I've really been enjoying Unreal Engine and the Learning resources they provide.  Unfortunately the Engine is constantly updating and sometimes methods explained in these tutorials can change.  In this case Introduction to Third Person Blueprint Game has a couple issues(ie Using AnimNotify montage branching messages, branch point tracks, and using the DefaultSlot group for the layered blends).  I updated working solutions to a github repo .  

More information about branch tracking can be found here.


Spyder Console Crashing with Gefen Pro DVI Matrix Router over IP

I ran across a frustrating bug when using a GefenPro as an external DVI Matrix Router with an x20 and an M2C-50 console.  

When going idle for an unknown period of time(more than 1 minute, less than 10), a bug occurs. Recalling Command keys works fine, but function keys cause the console to hang and then loses connectivity to the spyder. It then re-establishes a connection and fires all the buffered function keys sequentially.

When the console crashes it registers a Remote error in the Alert Viewer: "Telnet Socket Timed Out Waiting for Response".

Using the Gefen IV serial protocol in Spyder, I was able to get a stable connection.

To solve this issue use a serial connection from the Spyder frame to the Gefen Pro Router.  

IP control can 'time out' under certain circumstances intermittently.  

Christie Projector Web Control not working after Java Update

You may have recently encountered an error when trying to log into Christie Projectors via the internal Web interface.  I routinely control multiple projectors via the web interface, as the iOS application often does not connect to certain projectors(regardless of firmware version).  Unfortunately, due to the terrible security of the Java framework, they push constant updates. At some point in the upgrade process to Java Version 8 breaks support for the Christie Web interface.

An error will pop up that says "Application Blocked by Java Security", and instructs you to add an exception, but even when you do, Java 8 will still not load.

After mentioning this to Christie Tech Support, this was their reply:

Java Connectivity Failure to ChristieNET
If using: “Java Version 8 (Update 25). You will have issues connecting to ChristieNET. You’ll most likely see the image below:


Even when disabling, it will not allow you to connect.
RESOLUTION: Downgrade your Java Version. Java Version 7 Update 5 will work for sure. After downgrading to this package, my computer was able to connect fine again.
No problems were reported with Version 7 Update 71. This is another thing version youcan try.

This process may work, but it does open your system up to a wide array of security vulnerabilities, so I suggest only doing this to a machine that doesn't browse the internet.

I'm planning on using an old laptop and designating it for use with Christie projectors only, but it seems like a waste of resources.  

How do you approach this issue?

Do you have a dedicated machine/partitioned OS for Christie products?

Has anyone tried getting Java version 7 update 71 on a raspberry pi browser?  Or linux on a thumb drive?

Is anyone interested in collaborating on a Cross-platform software solution?  Post a comment or e-mail

Vista(Christie) Matrix Router Compatibility Repository


Join me over at Github and lets solve the occasional headaches of Matrix Router Configurations with the Spyder.

The goal is to build a List of Video Matrix Routers compatible with the Vista(Christie) Spyder Switching Platform

Compatible Matrix Routers will be listed By Directory with Connection Settings config.txt and working, tested .vap configuration file

Router Test Process:

1. Factory reset the router to is default IP Address and/or Serial Port Configurations

2. Plug a reliable monitor into Output 1 of the router and 2 reliable sources as inputs 1 and 2

3. Switch the Output 1 between Inputs 1 and 2 on the router(either via front panel or other vendor specific operations) to ensure the router is in working order.

4. Open the Template .vap in Vista Advanced (Currently supporting 4.0.4)

5. Adjust the connection settings with the Appropriate Protocol and Add the router to the config.

6. Try a Query Router

5. Now perform a route using the RouterXY Patch Panel


Default Vista Advanced Configuration:

Version 4.0.4


4 Discreet 720@59.94 with Preview Mon on Output 8


Submissions should be forked in the Approved Directory and must include(see template):

Within a Directory labelled by Product-MaxtrixSize-Type   (ex.  Lightware-32x32-DVI, MatrixPro-8x8-SDI)

1. Working, configured Vista Advanced 4.0.4 .vap

2. Completed config.txt file template


If you are interested in working on this, let me know!




Request working Router configs by completing the template and commiting the submission to the Request Directory:

Within a Directory labelled by Product-MaxtrixSize-Type   (ex.  Lightware-32x32-DVI, MatrixPro-8x8-SDI)

1. The current router configuration Vista Advanced 4.0.4 .vap

2. Completed config.txt file template


Those with Request submissions can fork their solution, and when verified, I will merge the branch and move to Approved folder