All I want to do is wear a costume and get drunk in the woods.
-- Unknown Patron, Sherwood Forest Faire, outside Three Stags pub, Saturday 13 February 2016 [personal communication]
If you need a local time server, a BeagleBone Green (or BeagleBone Black) with a battery-backed real time clock and a GPS receiver with a PPS (pulse per second) output can be a cost-effective option with surprisingly good performance. Read on for detailed information about how to set up such a server.
Cyanogenmod is a custom firmware distribution for Android devices. When I installed CM12.1 (based on Android 5.1.1 aka Lollipop aka API level 22), I noticed a problem with the Netflix application: When I tried to watch content, I'd get audio and see subtitles, but there was no video (just a black background).
Long story short: Netflix video playback doesn't work if the new CM12.1 "LiveDisplay" feature is enabled, which it is by default. (LiveDisplay is a feature of CM12.1 which adjusts the display to have a warmer color temperature between local sunset and sunrise.) To complicate things, the problem only manifests at night (when LiveDisplay is actually active).
If you're on CM12.1 and can't get your Netflix on when the sun is down, disable LiveDisplay and try again. Instructions after the jump.
Microsoft Windows 10 contains a new behavior called "Wi-Fi Sense". If you connect to an 802.11 network encrypted using a pre-shared key, Wi-Fi Sense will offer to distribute that key to your Outlook contacts, Skype contacts and Facebook friends. While it is (nominally) opt-in for newly-added networks, this "sharing" is the default behavior for existing networks when migrating from earlier Windows versions to Windows 10.
As an administrator of an 802.11 network you likely would prefer
that this "sharing" not happen with the credentials for your network. After the break, I'll discuss why allowing "Wi-Fi Sense" is such a bad idea, and how you as a network administrator can mitigate the risks it presents.
Here's another update in my long-running digital compass project. It's now sufficiently feature-complete to be a potentially useful end-user product. Major improvements including saving calibration data in EEPROM, improved display, error detection and temperature compensation.
Read on after the break.
I'm not a web designer by any stretch of the imagination, but sometimes I have to pretend to be one. In a (forthcoming) project, I was looking for a way to divide up the available space within a window amongst various div elements, in a (buzzword bingo!) "responsive design" way. I got frustrated with the complexity of various layout tools I tried, and rolled my own.
This is rumor control. Here are the facts: Yes, this site runs WordPress. No, to the best of my ability to determine, we are not compromised by the "SoakSoak" malware that has been infecting lots of WordPress sites. (The link in the previous sentence leads to a description of the malware in question, not an example of it.) No, we don't run the Slider Revolution plugin which apparently contains the exploitable vulnerability ("RevSlider") used by SoakSoak. We have no plans to migrate mythopoeic.org from WordPress to something else, given that 1) the security issue is in a third-party plugin, not WordPress itself and 2) the WordPress team seem to generally act like adults with respect to infosec.
I recently acquired a Spark Core, and (after some minor hassle) got it connected to my network and walked through the examples. Neat product, though to some extent it suffers from problems of "trying to make it easier for the noobs, with a failure mode of making it harder for everybody" and "everybody wants to write features, nobody wants to write documentation".
Past the jump, I'll explain how to get around the 32-character wireless passphrase limit, and how to use cloud compilation but with a real Makefile, local copies of your source code and your favorite text editor.
Finally, some progress on my AVR compass project. I've got a program that runs on the Adafruit Trinket and shows real compass headings, all in 3712 bytes. While it's far from being a finished product, it's a big step in the direction of one.
Below, I'll give you the source code, talk about how recent compiler changes impact code size, tell you about a bug I fixed, and make a bunch of excuses for why this took so long.