MediaWiki: Creating a Private Wiki (2023 Update)

(This is an update of an article I wrote in 2011. Because so much has changed, I’ve opted for a re-write instead of just updating the original. The re-write went up in 2017; I have updated it for 2023.)

MediaWiki is the software behind Wikipedia, but you can use it to create your own special-purpose sites. I’ve used it at work to build an internal company knowledge base, and at home to make a Wiki for the fictional worlds of a couple of roleplaying games I’ve been in.

It’s a pretty polished software package, but out of the box it tends to assume that you are creating something like Wikipedia that is visible to (and editable by) the whole wide world. If that’s not what you want, it requires some tuning, which I’ll describe in detail after the jump.

TM-D710 Internal GPS (de NF3H)

I’ve got a Kenwood TM-D710A ham radio transceiver. This handy device is a portable 50W dual-band (2m and 70cm) radio, with a built-in packet radio TNC and some native APRS features. What it does not have (unlike the new TM-D710GA model) is a built-in GPS receiver.

This is a problem that can be fixed with a surprisingly small parts budget, provided you’re up for some fine-pitch soldering. Details after the break.

Firefox Proxy Auto-Configuration

Consider the following purely hypothetical scenario: You do a lot of your work inside a web browser. Stuff on your workplace network (like the bug tracking system, the company Wiki and the source control system) you have to access directly. Stuff outside you have to access via a proxy (because the direct access is filtered in a haphazard way that blocks websites of your vendors and customers, as well as resources you need to do your job).

You can go manually change the network settings in your browser every time you go back and forth. You can set up two different browsers (one proxied and another not). You can use a browser add-on that lets you manually toggle proxy settings with one click.

Better still if you didn’t have to do any of that stuff and your browser would just automatically do the Right Thing. With Firefox, you can achieve this result reasonably easily using a “Proxy Auto-Configuration File” (or PAC file, for short). Read on for details.

BeagleBone Green Time Server

BBG-clockIf 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.

Securing Your Network vs. “Wi-Fi Sense”

lockMicrosoft 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.

We Stayed Dry (This Time)

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.

Spark Core Cloud Makefile

spark-icon-colorI 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.

MicroView: Lazy Fix

SONY DSCThe MicroView is a nifty little gadget with an ATmega328P microcontroller, an 64×48 OLED display driven by an SSD1306 controller, and an Arduino-compatible pinout. (The General Overview page at the Microview website has more useful information.)  It was produced as the result of a (very!) successful Kickstarter campaign.

Unfortunately, the nice folks at SparkFun had a teensy manufacturing complication. You can read their account of the details, but the TL;DR version is they shipped out something around 2000 MicroViews with no bootloader. It sounds like they’re making every effort to make things right, and shipping out a replacement to everyone with an affected unit. But in the meantime, they’ve got some instructions up if you want to try fixing the problem yourself. (Worst case, you won’t make it any more broken; Best case, you end up with two working MicroViews for the price of one.)

I got one of the “bad” MicroViews, and was able to revive it using the instructions. But I think I came up with an easier way to do one of the more difficult steps: connecting three wires to tiny vias inside the case. The punchline: use sewing needles (see picture above; click for larger version). Read on for more details.

Magnetometer V: Fixed-Point Math

This is another article in my series about developing a magnetometer-based digital compass. Last time, I talked about estimating code size, and what I might do to fit the application in the roughly 5.25K program space available on an Adafruit Trinket.

In this article, I replace the floating-point math with fixed-point, and make various space-saving improvements to the calibration and rotation code. Read on for more.

Magnetometer IV: Code Size

Last time, I presented a working proof-of-concept of a digital compass based on a three-axis magnetometer. That version was running in userland on a Raspberry Pi running Raspbian, which is a whole lot more computer than the Atmel ATtiny85 I eventually want to target. It was also coded for clarity rather than for speed or size.

In this post, I’ll look at some quick-and-dirty ways to estimate program size for an AVR version (as well as some simple things we can do to save space). Read on for more.