Total of 290 posts

Herein you’ll find articles on a very wide variety of topics about technology in the consumer space (mostly) and items of personal interest to me.

If you’d like to read my professional engineering articles and whitepapers, they can be found at Control System Space

I have also participated in and created several podcsts most notably Pragmatic and Causality and all of my podcasts can be found at The Engineered Network.

Until Overcast For Mac Comes Out

I listen to podcasts a lot. Though less since I’ve been working from home full time. I want everything to channel through my desktop when I’m in front of it, so the best option for me is an integrated Podcast player that works on all iOS platforms, including the iPad, iPhone, Apple Watch and macOS. The Apple Podcasts app meets this requirement but I don’t like the missing smart speed, nor the way it handles playlists, podcast specific settings and so on that Overcast handles just the way I like it. (I’m a creature of habit too, I suppose)

Of course Marco has toyed with spending time developing a macOS port of Overcast but until that happens I needed a work-around. The requirements for my use case:

  • Use the Macbook Pro Audio System (External Speakers via the Audio Output on my Thunderbolt Dock)
  • Control Playback/Pause from the Macbook Pro keyboard
  • Keeps sync position for Overcast

I tried Undercast and a few other web-wrappers but to be honest, they were all terrible. The Web player is a bare-minimum passable option that gets you by in a pinch but that’s all. Then I remembered you can turn your Mac into an AirPlay receiver by using an app from Rogue Amoeba. AirFoil Satellite can be trialled free but a licence costs $29 USD (plus applicable taxes). I had a copy laying around from years ago and I always just install it (just in case) on every new machine.

Open AirFoil Satellite and set a Play/Pause shortcut that makes sense for you (I chose Command-Shift-P) and then write an AppleScript to activate and then send the keyboard shortcut and give that a keyboard shortcut via FastScripts. I chose F17 (I love my extended keyboard).

  on run
    if application "Airfoil Satellite" is running then
      tell application "Airfoil Satellite" to activate
        tell application "System Events" to tell process "Airfoil Satellite" to keystroke "P" using {command down, shift down}
      return
    end if
  end run

It’s not perfect but meets my criteria. There are other applications out there that do similar things and I’ve had trouble with Automator since the Catalina update restricting what can be executed as a global shortcut from ANYWHERE, which is why I’ve switched to FastScripts.

Hopefully that’s useful to someone, until native macOS app is released in the future. You can just load up your playlist, pipe it through your desktop speakers, sync position is kept, smart speed is your best friend, and away you go :)

Docks And Interference

For the most part I’ve enjoyed my 13” Macbook Pro TouchBar 2018 model with questionable keys, but shifting to a fully work from home environment due to our unfriendly cold virus in recent times, I’ve begun to rely more heavily on a full time setup. At work in an office I’d be up and down, in and out of meetings, and could write off the occasional glitches as a downside of working in a large downtown office building in the middle of RF pea-soup.

No so much at home.

As an electrical engineer with a background in radio I’m well aware of the issues with wireless connectivity. Particularly low power wireless, even broadband or spread-spectrum technologies can be thwarted by enough radio interference. So when I purchased a brand new Apple Magic Mouse 2 a few weeks ago, I could no longer avoid what had been nagging at me for over a year: there seemed to be something wrong with my Macbook Pros wireless connectivity. (Spoiler: So I thought)

Symptoms

I’ve had a Bluetooth Apple Magic Keyboard and Magic Trackpad 2 for over a year and they would occasionally disconnect from the Macbook Pro, and on the keyboard my keystrokes would occasionally lag behind what was shown on the screen. For the longest time I shrugged it off, it was passing and temporary.

Starting the use the Magic Mouse 2, I was irritated in the first minute I used it with a stuttering cursor across the screen. As a part of working from home I’ve been on Skype for Business, Microsoft Teams, even (Shudder) Zoom audio and video conferences, on some days for 9 hours straight. The obvious thing to reach for are my AirPods. They’re only six months old and the audio in my ears sounded perfectly clear, however I was getting consistent complaints from others on the conference call that my audio was breaking up, yet I was connected by hardwired Ethernet to my router and my Upload/Download connection speeds were first rate.

Diagnosis

Being a semi-professional podcaster (some say) I had plenty of audio gear to test my microphone and quickly connecting my MixPre3 and Heil PR-40 to the Macbook Pro, now using the MixPre3 as the Microphone and my AirPods as the receiver, there were no issues with audio any more. I noted that when connected to my iPad or iPhone the AirPods had no microphone drop-outs. At this point it was clear the problem was proximity to the Macbook Pro or the Macbook Pro had some issue with wireless connectivity, specifically these Bluetooth devices. To further confirm the mouse stutter wasn’t the mouse itself I borrowed my sons wired USB Mouse and noted that it did not stutter when connected via the USB hub or via the Thunderbolt dock.

Next I cabled my Magic Keyboard 2 to my USB Hub, hence disconnecting its Bluetooth connection. The Mouse stuttering continued, though it appeared to be marginally better. Turning off the trackpad and AirPods entirely and the stuttering seemed ever so marginally less pronounced though it was still visible and jarring.

Then to attempt to isolate further I disconnected the Macbook Pro from power with no change. I then disconnected the USB Hub, and the most marked improvement in stutter was clear. Then I turned my attention to the only other item connected: the StarTech.com Thunderbolt hub. At this point the Stuttering was gone.

Image of StarTech.com Adaptor The StarTech.com with my attempts to shield and repair the cable

Not Very Useful

I tried to wrap the StarTech.com cable with an RF Choke, shielding, but whatever noise it was producing would not be silenced. I needed to connect the Macbook Pro to multiple screens and I needed hardwired Ethernet and I only had 4 USB-C ports (mind you that’s better than some of Apple’s laptop machines).

I’d been eyeing one of these off for what seems like years (more like 18 months) so I finally ordered the CalDigit TS3+ Thunderbolt dock. I ordered it via Apple and it arrived only two business days later.

CalDigit TS3+

Devices I currently have plugged into the TS3+:

  • Audio Output to my desktop speakers
  • Hardwired Ethernet to the router
  • Thunderbolt cable to my Macbook Pro
  • DisplayPort to 4K 28” Monitor #1
  • Thunderbolt Downstream to Cable Creation DisplayPort adaptor to 4K 28” Monitor #2
  • USB-A to 8TB HDD
  • USB-A to a Qi Charging Pad
  • USB-C to MixPre3
  • AC Power Adaptor (from the wall socket)

I’ve tested the SD Card reader (can pack away my old multi-card USB 2.0 reader now), and all of the other USB-A ports plus the USB-C front port but they’re currently vacant. With this dock I packed away my USB-C 61W charger and Apple’s Macbook Pro USB-C cable as well. My Magic Keyboard 2 is back in Bluetooth mode, so’d the Magic Trackpad, the Magic Mouse and the AirPods and guess what?

No Mouse Stutter

No Audio Dropouts of the Microphone from the AirPods

Okay so was this a case of throwing money at a problem to make it go away? Kinda sorta, but truth be told it was more an expensive process of elimination.

Magic Keyboard, Magic Mouse, AirPods All BlueTooth Devices now Happily Working Simultaneously

Interference

The problem lies in one of three places, as it always does with anything wireless. For communication between two places you need A) a transmitter, B) a receiver and C) the transmission medium joining the two. In this case, the transmitter probably wasn’t a factor - everything was within tens of centimetres from each other so single strength wasn’t a problem, though interference could still be a factor for a receiver. A broad spectrum interferer would impact the devices no matter where you were in the house, no matter what you disconnected or didn’t - which eliminated a common interferer.

So it comes back to the transmitter or the receiver and the perspective of each. From the Mouse/AirPods (acting as a transmitter, sending data to the Macbook Pro) it has a relatively small battery to transmit BlueTooth back to the Macbook Pro. The mouse isn’t a receiver (well it is but it’s one we can’t test independently) and the AirPods as a receiver for audio playback (from the Macbook Pro to the AirPods) has a more powerful transmitter in the Macbook Pro to listen to.

If you have a localised interferer it will tend to drown-out the nearest radio receiver. In this case whatever is trying to communicate with the Macbook Pro via BlueTooth is going to struggle to pick out the desired signal over the top of the noisy interferer. How this manifests in this situation is lost data from the weaker transmitter (the battery powered device) to the receiver in the Macbook Pro. In the case of the:

  • AirPods: broken up microphone audio
  • Magic Keyboard: occasionally delayed or lost keystrokes
  • Magic Trackpad: delayed selection/tapbacks, stuttering cursor movements
  • Magic Mouse: stuttering cursor movements

Hopefully that all makes sense but what was causing the interference?

First About Bluetooth

BlueTooth operates between 2.400 and 2.485 GHz which is a narrow(-ish) 85 MHz of spectrum. Notwithstanding the guard bands at the top and bottom of that spectrum it operates using 79 channels each of 1 MHz bandwidth using Frequency-Hopping Spread-Spectrum technology. FHSS allows narrow band interference to be avoided by constantly hopping between segments of the spectrum within any given channel. Of course that’s fine if you only have narrow band interference. Broadband interferers that spew noise across vast segments of a band will cause enough data loss to drop packets.

USB 3.0

‘Superspeed’ USB (aka USB3) has delivered significantly faster data rates for several years but as clock speeds increase the frequency of interference increases to a point where the EMI (Electro-Magnetic Interference) emitted is centered around the base clock frequency and multiples thereof such that it’s difficult to obtain compliance to EMI standards in some frequency bands. To avoid multiple narrow-band EMI peaks across the frequency band and in an attempt to reduce EMI, the concept of spread-spectrum was applied to data clocking (in a manner of speaking). There’s an excellent article by Microsemi that explains: “Spread spectrum clocking is a technique used in electronics design to intentionally modulate the ideal position of the clock edge such that the resulting signal’s spectrum is ‘spread’, around the ideal frequency of the clock…”. This has the effect of spreading the noise across a very wide frequency range, significantly reducing narrow-band noise, but at the cost of increasing spread-spectrum noise.

Intel released a White Paper in 2012 that looked at the practical implementation of USB 3.0 and how the technology had an impact specifically on low powered wireless devices operating in the 2.4GHz band. Specifically WiFi and BlueTooth. The following table is extracted from that White Paper and shows the noise increase due to an externally connected USB 3.0 Hard Disk Drive.

USB 3.0 Interference: Credit Intel 2012 Figure 3-3

Intel’s commentary: “…With the (external USB 3.0) HDD connected, the noise floor in the 2.4 GHz band is raised by nearly 20 dB. This could impact wireless device sensitivity significantly…”

The Root Cause

In years past when I had access to an RF Spectrum Analyser I could have connected some probes to stray cables and known for certain, but based on a process of elimination it’s clear that there were two interferers most likely due to USB 3.0 components:

The StarTech.com dock started to cut out intermittently over 9 months ago. The cut-outs caused a HDD to disconnect multiple times leading to a lot of frustration with directory rebuilding, reindexing and backup re-uploading such that I couldn’t leave it connected to my Macbook Pro via the dock anymore. That drove me to seek out an independent USB hub, so I’d switched to a combination of CableCreation USB-C to DisplayPort adaptors and a cheap Unitek USB-3 Hub via a cheap Orico USB-C to USB-A adaptor. This solution worked for a while but it ultimately consumed too many ports and once I had shifted to working at home full time, wouldn’t work.

Through use and abuse in the case of the StarTech.com dock I’ve come to appreciate that the shielding and cabling was damaged, and in the case of the cheaper USB 3 Hub from Unitek, I doubt it was ever particularly well shielded to begin with and I essentially got what I paid for as it was rather cheap.

USB Hub and Adaptors Miscellaneous Adaptors I Used Along The Way

Well Shielded Cables Please

Poorly shielded cabling relating to high speed external data buses is far more often the culprit that you might think when you’re experiencing BlueTooth or WiFi issues. Whilst it’s true there are many layers to the comms stack, it’s also possible it’s purely a software issue, it could be a faulty BlueTooth device as well. Having said that, swapping out cables and docks may well solve your problems definitively.

I like to think about shielding as the bottle and RF Noise as the genie. Once that shielding is damaged or if it’s poorly designed or constructed, it lets the genie out of the bottle and once it’s out, it’s incredibly difficult to stop it interfering with other devices.

My advice: choose your USB hubs, devices and cables with care and treat them well, lest that EMI genie be let out of its bottle.

Hopefully this helps someone trying to understand why their BlueTooth devices are misbehaving, when said devices are in otherwise perfect condition.

Kia Optima 2018 Auto-Steer

My rental vehicle in the US was a Kia Optima FE and it had a lot of extra little features I’d never been exposed to before. The one of most interest was auto-steer, or “lane keep assist” it’s sometimes referred to as.

The way I discovered it had this feature was when I was driving to Austin on a slow left hand bend when I felt the steering wheel start to pull me off the road. Ever so slightly disconcerting at 70mph! What the heck was tugging on the steering wheel? I initially thought the car needed a wheel alignment or the tyre pressures were badly off.

Thinking back I’d been having warning alerts go off in the hour previously but didn’t know what they were for. I realised that it was complaining about my lane position. One of the challenges when you’re driving on the other side of the road is that the sight-line you’re used to using from the driving position to the center or outside lines of the road to get your correct road position is thrown out by sitting on the other side of the vehicle.

After a few days driving on the right hand side of the road I’d retrained my brain so that’s fine but the car was pointing this out to me for several hours before I realised what it was doing. (Please note: I wasn’t drifting OUT of my lane, but I was too far across to the right hand edge of my lane, not enough to cause an incident but enough to upset lane-keep).

Back to Auto-steer. I realised through observation that the green steering wheel icon would appear at speeds above 40mph when the car could “see” solid or regularly dashed lines on either side of the roadway ahead of it. If it did see them I could let go of the wheel for a period of time and the car would then keep itself in the lane. It worked well enough but there were a few little problems.

  • Sharper bends were a fail: I pushed the car’s limits a bit on this one, with my hands at the ready as I let it steer through ever-sharper turns but ultimately I learned when I pushed it too hard to not trust it to steer itself on anything other than the most gentle of curves in the road
  • Missing lines caused jerking: This is what happened in the first incident I mentioned - there was a gap in the outside line of the road due to a series of driveway entrances on a more rural section of the highway which confused the auto-steer system
  • The no-hands on wheel alarm: After about 20 seconds of not touching the wheel the system would alert you to the fact you hadn’t been holding the wheel and cut out auto-steer if you didn’t grab the wheel. In practice when I was lightly holding the wheel it wasn’t detected at all especially on a straight stretch of roadway and I had to forcibly inject a small correction into the wheel even if it wasn’t warranted to convince it I was actually holding the wheel.
  • On freeways with lots of merges it’s rough: Particularly in heavy traffic I just turned if off and stopped using it. It wasn’t safe and I didn’t trust it. To be fair I have the same policy with a cruise control - it has no place in heavily congested traffic at those speeds.

It’s not all bad news and limitations however:

  • You don’t drift if you look away anymore: You can say it as much as you like, “always keep your eyes on the road” and if you need something from the passenger seat, glove box, sometimes even the radio, the advice is “pull over until it’s safe to do so”. The counter-argument with freeways is that this isn’t usually practical - most freeways don’t have wide enough shoulders to safely stop, there’s too much traffic to safely stop, they don’t have enough exits set aside for breaks - once you’re on it, you’re stuck on it. Hence if you do look away from the road, the direction that you look or lean no matter how good a driver you are, you’ll start to drift the car in that direction. With this feature - that’s no longer an issue.
  • Less tiring: I wouldn’t have thought it would have such an impact but driving back late at night when you’re tired the Auto-Steer made a huge difference. I found I could focus more on the cars around me (the few that were) and the map guidance and let the car take that cognitive load off of me. It worked really well.

I’m strongly considering a Tesla Model 3 or Model Y in a few years time when it’s time for my next car and I’m now more excited than ever that this kind of technology is becoming cheaper and hence more accessible and whilst the Kia implementation (according to others reviews I’ve read) isn’t as good as Teslas, it’s still good enough to be useful and I’m glad I had it.

To Tip Or Not To Tip

It’s been nearly two decades since I was in the USA and understanding how and when to tip has evaporated from my memory. I do recall however that tipping used to be a bit less, perhaps 10% of the bill whereas this trip the helpful suggestions were starting about 20%. My understanding is that the minimum wage hasn’t kept up with inflation and as a result people are relying more on tips today in the USA than ever before.

Having said that, I was told that tipping through drive-through isn’t generally the done thing and whilst you are technically served by someone in Target, Best Buy or a goods purchasing store, tipping isn’t required in those instances as they have a higher hourly rate that factors the lack of tipping in.

The idea seems to be the more personal, face to face, “service industry” (which can be confusing since someone telling me about a product in Best Buy is still ‘serving’ me) this industry is where you’re expected to tip, proportional to the service that is offered by the staff.

Okay so far I’m wrapping my head back around it. Next problem: when I came to the USA previously there were two types of transactions in the majority: cash and credit card. Cash was easy - they give you the bill and you pay them that amount plus a bit extra for the tip. Then you can ask for a receipt if you like. Super simple.

With credit cards in a sit-down restaurant environment you’d be given a small folding wallet thing, with a bill in it and a slot for your card. You’d fill in the tip amount, insert your card in the wallet and hand it back. Then they would wander off with it and hopefully come back without skimming your card and you’d sign and you’re done. Although requiring some degree of trust that was also straight forward to me.

Where I got lost this time was the introduction of payment at the till using a credit card either inserted (chip), swiped or pay-wave. In these cases they’d show me the amount, I’d usually insert my credit card, they’d print a receipt then I’d sign it, add a tip, then total it, then hand it back to them. At that point what happens? I’m assuming the original transaction is re-run or something? It’s not clear how that authorisation happens but they all seemed to accept this. Oh well, hope that worked. In those cases sometimes they’d give me a second receipt that included the tip amount, other times they wouldn’t with some looking confused when I asked for a receipt since I was still holding a pre-tip-filled-in copy.

The final conundrum was when it wasn’t a seated meal in a restaurant, when you’re just getting takeaway but it’s not via a drive-through I was given conflicting advice on whether to tip. The most regular example of this was a Barista. I defaulted to a tip for them however in the end I did it because I didn’t want to upset anyone, rather than it being a reflection of service.

The problem is that if you don’t grow up in a tipping culture, there’s no accepted set of rules and a lot comes back to the potential to reward good service or if you’re confused about whether tipping is the right thing to do, you end up insulting someone that’s good at their job that probably deserved a tip, at least in their opinion or based on the rules they are told apply.

I was once lectured by someone that grew up in that culture after they visited my country and they were horrified by a bad experience in a hotel blaming it all on our country’s lack of tipping leading to poor customer service. That was 20 years ago mind you, but I’m not entirely sure it’s that simple.

Either way towards the end of my trip I was so confused about the tipping grey areas I realised I was developing a ‘tipping anxiety’ where I was starting to avoid situations where it was unclear when I should or shouldn’t tip or how much to tip. Sigh.

Maybe I’ll do better next t®ip.