Thursday, July 18, 2019

Upgraded home Wifi to Google Wifi

Stories of home router vulnerabilities prompted me to check for updates to my home TP-Link router. In my case the router works well but there have been no updates for more than three years. Although the house is well covered, I sometimes notice pauses in streaming and I thought it was time to try something new.

Friend, and neighbour, John recently switched to the Google Wifi mesh network system and spoke very highly of them.

Researching online I found that the price for the three pack varies from AU$499 down to AU$347 at David Jones. Of course they don't have any stock locally but I was able to get another store to price match.

The hardware is nicely presented and designed. I would say it's Apple level industrial design. The pucks have two gigabit ethernet ports and USB-C power. The status light can be dimmed via the app for bedroom use.

Setup was smooth using the iOS app which discovers the devices as you plug them in via Bluetooth and configures the mesh. I had trouble with one device which didn't complete setup but I walked away and perhaps got out of Bluetooth range.

The iOS app is good and includes useful tools for measuring and testing both your internet connection right on the router and the mesh strength.

Wifi signal strength is uniformly strong throughout the house now, previously there were some small drops in signal. Measured internet speed over Wifi to a laptop running chrome is slightly lower than with the previous setup but it might be an anomaly.

I'm pretty happy with this performance. We are on NBN over HFC here.

The network is and so I had to restart a bunch of devices to get them to update their addresses.

The device serves a web page on, with a mDNS hostname of which simply shows that it's online and offers links to the Android and iOS apps. It would be nice if there was a bit more that could be done through the web interface but I guess the phone app is the right focus.

There is also a web server at which lets users control Philips Hue devices apparently.

The hardware is impressive, a quad-core ARM CPU running at up to 710MHz, 512MB RAM and 4GB eMMC storage. AC1200 2x2 Wave 2 Wi-Fi, Simultaneous dual-band Wifi (2.4 GHz/5 GHz) supporting IEEE 802.11a/b/g/n/ac, and transmit beam forming.

The devices implement the IEEE 802.11s mesh networking standard (along with some Google innovations, they say).

Note that the Google router sets the DNS to Google's it would be nice if I was told this rather than having to find out by drilling into the settings.

Note that ethernet is still faster than wireless. Here's a speed test over ethernet.

Here's a speed test over Wifi.

It's a pity that Apple has left the home networking market but I feel that quality alternatives now exist such as Google Wifi.

Saturday, July 13, 2019

Classic macOS nostalgia

There's a way to run macOS 9 in a PowerPC emulator based on SheepShaver. Download Mac OS 9 for OS X to try it out. The disk image comes with lots of software and has nifty ways to exchange files with the host machine.

Last century I used to write apps for classic macOS and it's amazing to find that there are big archives of software from the day and one of them had my shareware app "Transform Reports".

SheepShaver is a pun on the 68k Mac emulator for AmegaOS called ShapeShifter.

I also wrote a utility called TurboFind and while I've found the German version, so far I haven't found the English one.

Such nostalgia, I loved HyperCard. Gosh, it looks so small these days.

I guess this won't work:

Wednesday, July 03, 2019

Excellent free grammar checking: LibreOffice and LanguageTool

My wife is finishing her PhD and proofreading is hard. It's particularly hard to pick up errors in text you've read many times and are familiar with. She paid for Grammarly, which despite their advertised claims that it's free... is definitely not. Grammarly also doesn't work well on macOS.

Google is said to be adding machine learning powered grammar checking to Google Docs but as far as I can tell it's not there yet.

There are various other solutions around, many we cloud back ends, but happily I can recommend the open source LanguageTool when used as an extension to LibreOffice. Note that you need to install the official Oracle version of Java for this to work. (I think I also needed the JDK but I'm not totally sure).

The grammar suggestions are very useful and while there are a few false positives, it's very valuable. As well as basic grammar and spelling errors, it has high level recommendations including things like collections of sentences that begin with the same word and ideas for simplifying text.

Microsoft Word, particularly when working with a large document (this one is over 100,000 words) and with the EndNote app feels quite flakey. Several times we've seen weird errors such as being unable to save a document due to file permissions - restarting word fixed this. EndNote hangs sometimes and it, in turn, locks up Word.

LibreOffice on macOS feels solid although the user interface is not native and no where near as nice to use as Apple's Pages. I also tried it in Visual Studio Code which worked but tried to do the whole document in one go and wasn't practical.

Academic documents have their quirks and LanguageTool doesn't seem to handle references very well but over all it's been a great experience, and we've found many embarrassing typos and grammar errors that would have been submitted and printed without it. My thanks to the great people who've given us LanguageTool.

Update: Google Docs now has grammar checking

Logged in this morning and Google Docs is now offering me grammar checking and it seems very good.

I wouldn't like to be in the commercial grammar checking business.

Friday, June 21, 2019

PlatformIO Arduino Conflicted extensions with IntelliSense service error

Just a note to my future self... I've been doing some Arduino programming with the ESP8266+Oled board I purchased recently and went back to the Visual Studio Code PlatformIO environment after a break and ran into some weird behaviour including this error:

"Conflicted extensions with IntelliSense service were detected (Arduino). Code-completion, linting and navigation will not work properly."

Yes, I had all sorts of problems and could kind of get it to work by quitting and re-starting VSC.

When getting set up the first thing I'd done was install the Arduino extension and it turns out that this is not only not needed but causes problems. Remove the Arduino extension so you have C/C++ and PlatformIO IDE.

After importing my Arduino .ino file I converted it to "proper" C++ and all works well.

Wednesday, June 19, 2019

5G interfering with satellite reception at ABC in Melbourne

It seems that the rollout of 5G is interfering with satellite reception at the ABC's Melbourne Southbank site.

It's been suggested, in jest, that it might be Huawei equipment that's weaponised, but that's not the case. Probably just desensing due to high local signal strengths but interesting.

Speaking of 5G, there is work being done on a cell tower near my home. I asked one of the technicians if it was 5G.

He told me that there is congestion on 4G here and the upgrade is to add a new 700MHz 4G service. Being a lower frequency it should also penetrate houses better.

Saturday, June 15, 2019

Promised HF-6m Discovery TX-500 looks interesting

Just spotted this teaser for a new amateur transceiver. A very compact and rugged design with two surface mount boards and built-in antenna tuner.

I'm not sure about the choice of connectors but I guess they're going for a rugged water resistant exterior.

Personally I'd love to see something along these lines with a single USB port carrying control, audio and IQ but in a way that it can be used standalone or with a computer if available.

No idea on price or performance but from the video it seems to sound pretty good and the display looks excellent.

Like everyone else in the world, I'm waiting for the QRP-Labs QSX.

Better digital shortwave radios on the horizon

A post on the Digital Radio Mondiale page highlights a new radio receiver module from Starwaves that will ship later this year and could pave the way for consumer radios covering LW, MW, SW and FM with DRM and analog reception.

The DRM receivers I've tried so far have had terrible battery life and been high cost. Let's hope a new generation is on the way. I hope you're on to this Tecsun!

Arduino ESP8266 with on board OLED display

Here's a very handy little board for AU$16 from Banggood. They call it a Wemos® NodeMCU wifi for Arduino. It's an ESP8266, which can be programmed using the Arduino tools with an on-board 128x64 0.96 inch OLED display.

The library you need to drive it is here.

The trick is to download that Git repo as a Zip and then in the Arduino software install the library from local Zip.

The documentation for the display driver is there on GitHub if you scroll down.

There are methods for pixel drawing, text drawing, even some high level routines for building a user interface.

Of course, if you haven't already, you'll need the esp8266 board files by following the instructions here. Choose generic esp8266 and on macOS the serial port was SLAB_USBtoUART.

Out of the box the board was programmed with the simple example from that site, which is a pretty impressive display of text in various fonts and graphics. When I tried the example I got nothing.

After some hair pulling and gnashing of teeth, I figured out that SDA and SCL are reversed for this board compared to the examples on GitHub.

This works: SSD1306Wire display(0x3c, SCL, SDA); // reversed!

Having Wifi and a display suggested a simple Wifi network display project. The esp8266 wifi library is documented here.

Another thing to watch for is that the display is really a pixel graphics display so the x,y locations for text must account for the line height of the text.

#include "SSD1306Wire.h"
#include "ESP8266WiFi.h"
// Initialize the OLED display using Arduino Wire:
SSD1306Wire display(0x3c, SCL, SDA); // reversed!

void setup() {
  // Initialising the UI will init the display too.

  display.drawString(0, 0, "Starting.." );

void loop() {
  // clear the display
  int height = 10;
  // WiFi.scanNetworks will return the number of networks found
  int n = WiFi.scanNetworks();
  if (n == 0) {
    display.drawString(0, 0, "no networks found");
  } else {
    for (int i = 0; i < n; ++i) {
      int y = i * height;
      String ssid = WiFi.SSID(i);
      String rssi = String(WiFi.RSSI(i));
      String encryption = "Unknown";
      switch(WiFi.encryptionType(i)) {
        case ENC_TYPE_WEP:
          encryption = "WEP";
        case ENC_TYPE_TKIP:
          encryption = "WPA";
        case ENC_TYPE_CCMP:
          encryption = "WPA2";
        case ENC_TYPE_NONE:
          encryption = "Open";
        case ENC_TYPE_AUTO:
          encryption = "Auto";
          encryption = "Unknown";
      String line = ssid + ": " + rssi + " " + encryption;
      display.drawString(0, y, line);

  // Wait a bit before scanning again


John, VK2ASU, points out that there is a similar board for the ESP32 for even less money here. The ESP32 is the successor to the ESP8266 and offers a faster and dual core CPU along with Bluetooth, Hall effect sensor and temperature sensor.

Tuesday, June 11, 2019

Chris Winter, 2JJ and Triple J legend, has died

Chris Winter was a legend in Australian radio. I remember listening to 2JJ on skip in Melbourne in the evenings. He had a deep bass voice, a nickname was "three balls", and he could use that voice to great effect.

In my early 20s I visited Sydney and turned up at the 2JJ studio up William street, I didn't meet Chris then but other staff welcomed me and showed me around.

Much later I was working in ABC training and he attended a course on mainframe word-processing on Dec Vax computers. He said he thought I'd be good on radio and invited me to the studio. From there I was a regular guest for a while on Triple J with Stuart Matchett. We remained friends and he was always right up to date with technology and the issues it triggers in society.

The photo above was taken when Rob Garnsey and I visited his home in Bronte in 2016. I saw from some social media posts that he'd been unwell but it's a shock that we lost him.

The last instagram post is from Winter Feast at Dark Mofo in June.

Old days: that hair!

Looks like his Twitter account has stopped. He tweeted a selfie in hospital recently and I asked if he was ok.

Farewell CW.

There was a very well attended celebration of Chris. He was a positive influence on many people.

Saturday, June 08, 2019

Apple developer conference 2019

Over the past week, Apple has held their World Wide Developer’s Conference (WWDC) in San Jose. I’ve attended quite a few times over many years but in recent years I’ve enjoyed watching the live and recorded videos.

There was a time when it was easy to get a ticket, in fact, Apple really had to work to encourage developers to attend. These days there’s a lottery to get in, which is much better than the system they ran for a few years where we all sat re-loading a web page hoping to get to the booking form.

It’s not cheap for me to go in person, US$1,600 plus accomodation and travel from Australia adds up.

Because of the time zone difference, I have sometimes really struggled to stay awake sitting still in a dark room. I remember one year a friend attended but couldn’t sleep at night and so missed the morning sessions all week.

Being at WWDC in person is a wonderful experience. The buz in the room when big announcements are made, being among developers to discuss the implications of new technologies, meeting developers from well known organisations and learning a bit about the technical dept they carry.

The quality of presentations from Apple is the highest in the industry. Some things that stand out:
  • The slides are minimal and clear
  • Presenters speak well, walk back and forth, and hold up counting fingers
  • Demonstrations almost always work (which is saying something on an alpha operating system) certainly compared to this.
Presentations from past events serve as the canonical introduction documentation for many years.

Apple does a good job to encourage random meetings. I’ve had interesting conversations while queuing and they make it easy to be seated at a lunch table with people you haven’t met.

Labs, where you get to ask questions of Apple engineers, are valuable. In the past I’ve gone with crazy ideas of how to overcome something and been convinced not to waste my time. In one case I demonstrated a bug and was encouraged to log it.

This year was very full of new things. Here's a terrific list from Patrick Balestra of Spotify. As others have noted, WWDC announcements are not just the result of a year of work but the culmination of projects which may have taken many years.

Swift, ARKit, SwiftUI and Catalyst are examples of what must be huge projects.

iOS/iPadOS 13 and macOS Catalina seem like good iterations. I think the splitting out of iPadOS isn’t a big deal this year but is a clue to a future diversion from the phone OS. 

Privacy continues to be a differentiator for Apple and I think they’re on a winner. The sign in with Apple system, which generates a random email forwarder seems like a great idea but the fact that Apple mandates it in apps that offer sign in with Google or Facebook came across as heavy handed. While they can’t mandate it on the web, they’ll have to add it if people have signed up on an Apple device, so it will spread naturally.

Craig Federighi’s interview by Federico Viticci on the AppStories podcast was the clearest explanation I’ve heard of Apple’s strategy on the iPad in that they want to keep it easy to use for new users (even people who’ve never used a computer) and yet add deep functionality required by power users over time. It was great to hear Craig acknowledge that Apple reads what intense users such as Federico write about what they want from the platform.

The Accidental Tech Podcast was fun if only to hear the gang’s positive reaction to the MacPro announcement.

John Gruber’s Talk Show podcast also had Craig on this year but, while interesting,  I felt that John was off his game and didn’t take the opportunity he was given to ask some hard questions. I know Apple has sometimes frozen out commentators who are critical but Gruber has a lot of ethical capital built up and could survive. It was charming to hear Craig acknowledge ATP’s John Siracusa.

Traditional media all had their rundowns of the announcements but really there’s not a lot for the general public until the OSs ship later this year.

SwiftUI looks good. A very small amount of easy to read code is matched with a graphical design tool - changes in either are reflected on the other immediately. I’m sure we’ll still be using UIKit and AppKit for a long time but I can see how this new approach could lead to some amazing optimisation of the UI code and I wonder how long it will be before someone makes a version for non-Apple platforms?

I’m still getting through the videos from this year and it’s also triggered some watching of older sessions.

My free app for ham radio users of Weak Signal Propagation Reporter (WSPR), WSPR Watch, gained dynamic type which means it honours the system setting that lets users crank up the size of type everywhere and my commercial macOS application Transcribe Helper is on the way to Touch Bar support. WWDC has stimulated me to tackle some of the existing technology Apple has already released.

I look forward to attending a future conference in a virtual reality space, the pieces are coming together.

Sunday, June 02, 2019

Experiments with OpenWebRX and Airspy HF+

This week I've been experimenting with sharing my Airspy HF+ over the internet using the excellent, open source, OpenWebRX. Here's how 40m looks through a web browser.

I'm running it on a ThinkPad x230 running Ubuntu 19.04. I got the source code from GitHub and followed these instructions to build the app needed to use the Airspy HF+.

I was expecting it to have all the features seen in the KiwiSDR receivers, but that's not the case. There are 147 forks of the original software, which was part of an academic project.

The first thing that users find frustrating with the original version is that you must tune using the mouse to drag the tuning indicator. Because of the long delay (the buffer time is 2 seconds by default) it's difficult to tune in sideband. There is at least one fork with an open pull request that adds keyboard commands to nudge tuning up and down and the KiwiSDR variant also lets you enter frequencies directly.

It's great that there are increasing numbers of web accessible receivers available. In these times of high noise levels in the cities it can be practical to have a contact by transmitting from home and receiving via a remote receiver.

Saturday, May 25, 2019

WIA conference day at Dural

Today the WIA conference moved to the NSW site at Dural. It was a beautiful day and a good crowd was in attendance to see the stalls, feast on the roast dinner (I'm not kidding), and hear a talk from the incoming president and some technical talks.

As you can see on the right, Peter, VK2EMU, has outclassed Stephen, VK2BLQ and I in the home brew headwear department. He was sporting a monogrammed red berét.

Their were many fine displays under sturdy tents with lots to see and ask about. The home brew group had an excellent table as always.

Incoming WIA president, Gary, VK2GPK, gave a rousing speech and then it was on to the first presentation by Rob, VK2DIO on the Allstar system.

Al was brilliant at quelling the enthusiastic crowd when they got a bit rowdy.

I had to slip away before the second presentation but I'm sure the standard was high.

Thanks to the WIA and ARNSW for another very well run day.

Attended the WIA Annual Conference

Today, for the first time, I attended the Wireless Institute of Australia's annual conference in Sydney. (Or "two days in may" as Stephen, VK2BLQ, suggests).

The conference was very professionally run, in a great venue, with excellent facilities and food. I can't speak highly enough of the organisers.

While I primarily signed up to go to the technical sessions, the annual general meeting was surprisingly interesting and even edgy.

The WIA has experienced some turmoil in recent years and the board who run it now are a fresh group and seem to be doing an excellent job under the circumstances. The financial reports and general reports were presented and all seemed well.

Peter Wolfenden, VK3RV, was awarded a beautiful and well deserved medal. (Pictured here with Jen, who I can personally attest makes a wonderful sticky date pudding).

There is some controversy as the WIA last year lost the ACMA contract to run the license exams. This removes a source of funding and there was some soul searching about why this happened. Next, a new organisation representing radio amateurs in Australia has appeared called RASA. The Radio Amateur Society of Australia.

Reading the financial report I noticed that the membership numbers are declining and that decline is accelerating. I've drawn a graph here:

RASA is rumoured to have about 600 members and it's possible that some of those have quit the WIA and joined them.

I asked a question without notice about this decline and if the board had ideas about why it was and what could be done about it.

The answer was a detailed and well presented discussion of the issue but essentially we are facing a problem unless something changes.

On the technical track I attended David Rowe, VK5DGR's excellent update on FreeDV. There was a fantastic demo of the upcoming high quality 2020 mode which for the first time uses machine learning in the speech generation.

The session on Cubesat missions and how one was reactivated after antenna deployment failure by Tony Monger, VK2KZ was fascinating.

The epic VK Microwave Tour by David Minchin, VK5KK, was amazing.

Secrets of KiwiSDR by Jamie Campbell, VK2YCJ, was excellent as well.

I've never seen the hardware, which is a "hat" for a Beaglebone (like a Raspberry Pi).

Jamie demonstrated using the VK2DDS receiver via he also mentioned that KiwiSDR can decode multiple WSPR bands simultaneously but with the addition of a Raspberry Pi it can even decode 8 bands simultaneously.

Tomorrow the conference moves to the regular meeting and Dural and mostly likely I'll have more to report from that.

A great day, very well run.

Friday, May 10, 2019

Election material here in Warringah is overwhelming

I live in Tony Abbott's safe seat of Warringah. Recently I started collecting campaign material that has been turning up in targeted ads on the internet generally and social media sites such as YouTube, Facebook and Instagram. There's a lot that turns up by post too.

The majority of the material is anti-Zali Steggall. A lot of these negative ads don't even mention Tony Abbott so I guess they think that he's a bit of a liability and it's better to go negative and leave it to the voters to hopefully tick his box.

I've had personalised letters from Scott Morrison, Mathias Cormann and John Howard. Here's a collection of things arriving in the letterbox.

It's interesting that Morrison says "I understand that many people in Warringah have strong opinions about your local MP, Tony Abbott".

John Howard's pitch came on rather dated looking letterhead and basically frames Tony as an old mate. Howard has some other mates too, that's not necessarily going to save him.

There's an anti-Zali billboard up on the fence at the school oval - which strikes me as inappropriate.

Zali has sent a few notes and we've had door knockers from her side too who seemed to think that it's going pretty well for her.

A mobile billboard came around one day and it was amusing to see it parked next to a tiny Tony poster.

There has been some mail from Zali.

Clearly there is support in this suburb on both sides and some houses have put up posters, sometimes they face each other.

Most striking have been the unrelenting negative ads I got every time I opened Instagram.

In the end I reported the ad as misleading and that's stopped them for me. The funny thing is that sometimes they left comments on and they're pretty funny as you might imagine. (Click images to enlarge them).

I've been surveyed several times and had a live call from someone who said that Tony had asked him to call to check that they have my support. Yesterday this text message came through.

Interesting that the issue today is a tunnel or not.

Tony Abbott and team are spending serious money here, I guess that means they're genuinely concerned. It's been a very negative campaign on the Liberal side. The drumbeat line saying that a vote for Steggall is a vote for Labour may not work if there's a big swing to Labour.