MacBook Pro runs very slow when on battery

A colleague gave me a 2010 MacBook Pro and I notice that it runs very slow when running on battery. Boot-up takes a very long time and everything is lagging. It is practically unusable. When the power supply is plugged in however, it works normally. I tried the usual prescribed troubleshooting from Apple to reset the SMC but that still didn’t fix the issue.

Finally I came across this discussion on Apple Support Communities. The root cause seems to be faulty temperature sensor damaged by liquid spill. Because the sensor is faulty, macOS assumes the system is overheating and drops the CPU cycle which in turns makes everything runs much slower. Read More

Setup port channel between a pair of Cisco ASA and a switch stack

For better redundancy, we may want to use port channel to connect a highly available active/passive pair of Cisco ASA to a switch stack. An important aspect to know is to create separate port channels on the switch stack, one for each ASA. On each ASA, it is still a single port channel because the configuration is replicated between the units. If you group all interfaces on the switch stack into a single port channel connecting to both ASA, the port channel will not be established because of the separate ASA system IDs. A single port channel is also not desirable because you do not want traffic to be sent to the standby ASA. Read More

Cisco ASA – A group cannot contain services of different types

In Cisco ASA 6.4.9 – and older possibly – it is possible to mix different types of service in a group. So you can have TCP and UDP or TCP-UDP and TCP in the same group.

Later versions of ASA do not allow this. In ASDM, you will get error message like below if you attempt to do this.

Additionally, if you had created a group with mixed types of service, later version of ASDM will not show this service group.

Reference Frame Implementation in CORS Network and RTK Service

With the recent discussions on a new Australian datum (GDA2020), I have come across several queries regarding datum implementation in CORS network system and RTK service.

The basic principle to keep in mind is that RTK, or more descriptively, carrier-phase double-differencing, is a relative positioning technique. Unlike DGPS or PPP, it does not solve directly for coordinate but instead compute the vector (baseline) between the reference point (base station or CORS) and the unknown point. This vector is then applied to the known, accurately surveyed coordinate of the reference point to produce the coordinate of the unknown point (see Hofmann-Wellenhof, Lichtenegger, Collins, GPS Theory & Practice, Section 8.3 for further details). Read More

BeiDou, China’s own GPS

While the United States’ GPS is used in pretty much all vehicle navigation systems and smartphones, and Russia’s GLONASS is making inroads, not many are aware that China has been busy launching its own global navigation satellite system called BeiDou. Over the past three years or so, China has significantly expanded BeiDou and there are now more than 10 BeiDou satellites orbiting. Read More

RTKLIB on Raspberry Pi

High accuracy GNSS positioning has always been associated with expensive commercial solutions. So I was pretty thrilled when I first heard about RTKLIB. Developed for the past seven years by Tomoji Takasu, RTKLIB is a free open source software for GNSS data processing. It has an impressive list of features, decoding of multiple formats (including the latest RTCM 3.2), NTRIP support, multiple constellations support, post processing and real-time processing ranging from single point positioning to RTK to PPP.

A great thing about RTKLIB is that it is highly portable. It is written in standard C and can be compiled on many different operating systems and platforms, including the hugely popular Raspberry Pi. Run the free RTKLIB on a fifty bucks Raspberry Pi connected to a low cost GNSS board (such as the u-blox LEA-xT series), now you have access to centimetre level positioning without the thousands of dollars price tag. Read More