Lowe’s Service Advantage extended protection plan 20% premium is not Worth It

We bought a 4.2 cubic foot Maytag MVWC565FW washer in September of 2019 and paid $130 for the 5 year extended protection plan (Lowe’s Service Advantage) for major appliances $400-699.

Note: if it takes more than fourteen days from first scheduled appointment to resolution, you may be able to receive a one-time $50 payment from your Lowe’s Service Advantage plan.

Interactions with Lowe’s Service Advantage and their service provider

We called for service on August 24, 2021.

September 1, 2021 – initial visit from contract service provider. They diagnosed the problem and repair person said they scheduled a visit for September 15, 2021 after the part came in.

September 15, 2021 – called contract service provider after no one showed for the appointment I cleared my morning calendar for. They said that couldn’t get one of the parts (shift actuator), but I should call Lowe’s to see if they could locate a part.

September 15, 2021 – called Lowe’s, waited 90 minutes for a call back and requested they look for the part. They said it could be up to five business days before the business unit that did that might respond to them.

September 17, 2021 – called Lowe’s Service Advantage back to follow-up (90+ min wait for call back), the part was supposedly going to be sent out to service provider on 9/20.

September 20, 2021 – called contract service provider to see if they received any update from Lowe’s. They said would be at least September 24 before it would be sent/arrive (was not completely clear which end of the transaction it was).

September 23, 2021 – called Lowe’s Service Advantage back for follow-up (90+ min wait for call back). They said they would ask their supplier to give status on parts, with up to a 5 business day wait to hear back.

September 24, 2021 – reached out to Lowe’s on social media channels, and the response was to call Lowe’s Protection Plan phone number. Called contract service provider instead, and they said that they’re still waiting on a part, but that it supposedly got shipped September 23.

September 27, 2021 – received an email from Lowe’s that the part was delivered to the service provider.

September 28, 2021 – Called contract service provider, but they couldn’t make appointment because their systems were down but they’d call me when they came back up.

September 29, 2021 – Called contract service provider. Their first available appointments were 10/5 or 10/6. Scheduled for 10/6. $50 payment for delay was in today’s mail, which seems like a bit of a slap in the face at this point.

October 5, 2021 – Called service provider to try to confirm appointment for the next day. Robocall came through 15 minutes prior to their leaving the office for the day.

October 6, 2021 – Service technician was able to replace actuator, but hub could not be replaced without ordering a new agitator. Washer is now working otherwise.

It took 43 days to get back to a working washing machine.

So far, I’ve spent 5+ hours waiting for call backs, 4 hours waiting for service appointments that were apparently never made or canceled without my knowledge, and my wife has spent 12-14 hours at the laundromat and well over $100 (maybe even $200?) at the laundromat.

Log of interactions with the Lowe's Service Advantage service provider
Service provider logs.

Not the First Time

This has been the second appliance/equipment purchase in the last two years that has subpar support. We also bought a Craftsman Cordless Electric Mower that we couldn’t get a replacement battery for.

Trying Out the Ringo R-470, a Brazilian ZX-81 Clone

I’ve also recorded a video on YouTube where can you see a demonstration of the Ringo R-470 emulation on the EightyOne emulator:

Demonstrating the Ringo R-470 emulation in EightyOne

The Jupiter ACE was an obscure machine, partly for the fact that the primary programming environment was the Forth programming language. I found out after my Jupiter ACE post that it enjoys a small but faithful following. You can also find them for purchase on eBay if you’re willing to spend $1,000+ on a unique and obscure ZX-81 clone.

The Ringo R-470

I really only stumbled upon Ringo R-470 because there’s a ROM for it packaged with the EightyOne Sinclair Emulator. There are various copies of its original manual floating around (also available on Scribd) and a very brief wikipedia page. The emulation in the emulator mostly works, but virtual peripheral support (including the tape loader) seems shaky at best. You’re not likely to find one available for sale online, either.

R-470 Ringo - Frente

The above image which is also on the Wikipedia page is pretty standard in terms of being able to see the features of the computer clearly. This Sinclair Clones page has a few better photos, but you still can’t completely see the keyboard layout. (You can find a clearer picture of the layout on page 12 of the original manual linked above.)

Using with the EightyOne emulator

Edit cursor [>] and [K]eyword/command mode at the bottom

The functionality of the R-470 is mostly similar to the ZX-81, but the placement of the keywords and symbols (which still use English) is completely different from the ZX-81 layout. For example, L in keyword mode is LIST on the R-470 and LET on the ZX-81 (and K is LET on the R-470 and LIST on the ZX-81). However, the two layers of command mode keys and function mode keys and the graphics mode are similar, and the displayed listing has a [>] cursor for highlighting which key will get picked up if you select edit mode.

If this is your first try with a Sinclair clone (that speaks BASIC), you’ll need to keep in mind that the keywords are whole symbols on their own as opposed to being parsed from strings like Microsoft-derived BASICs. It’s actually kind of nice for editing and I’m sure it greatly simplifies the parsing, but even “TO” cannot be specified with the letters T and O and must instead be typed with the [left shift + T] (or [left shift + 4] on the ZX-81).

Another shock to the system for those unacquainted with the Sinclair way is that you get an error code + line number that it happened on at the end of execution (0 is no error/OK):

B (Integer out of range) on line 120 (because I tried to plot on row 44, and y coordinates only go up to 43)

An alphabetical guide to the keyboard mapping of keywords and symbols:

I’ve compiled an alphabetical listing of the symbols/commands below (also available in markdown here) if you want to try your hand at typing a BASIC program into the the R-470 inside the EightyOne emulator. I’m sure that typing on a modern keyboard is more functional than typing on rubber chiclet keys, but the layout is pretty challenging:

symbolkeycursor modemodifier
P[K]eyword/command modeleft shift
“”2[K]eyword/command modeleft shift
$O[K]eyword/command modeleft shift
(X[K]eyword/command modeleft shift
(edit mode)1[K]eyword/command modeleft shift
(graphics mode)9[K]eyword/command modeleft shift
)C[K]eyword/command modeleft shift
*G[K]eyword/command modeleft shift
**F[K]eyword/command modeleft shift
+K[K]eyword/command modeleft shift
J[K]eyword/command modeleft shift
/H[K]eyword/command modeleft shift
:N[K]eyword/command modeleft shift
;M[K]eyword/command modeleft shift
<V[K]eyword/command modeleft shift
<=Y[K]eyword/command modeleft shift
<>U[K]eyword/command modeleft shift
=L[K]eyword/command modeleft shift
>B[K]eyword/command modeleft shift
>=I[K]eyword/command modeleft shift
?Z[K]eyword/command modeleft shift
ABSG[F] function modeleft CTRL (and release) from [K]eyword/command mode
ACSR[F] function modeleft CTRL (and release) from [K]eyword/command mode
ANDA[K]eyword/command modeleft shift
ARCTANY[F] function modeleft CTRL (and release) from [K]eyword/command mode
ASNW[F] function modeleft CTRL (and release) from [K]eyword/command mode
ATM[F] function modeleft CTRL (and release) from [K]eyword/command mode
CHR$D[F] function modeleft CTRL (and release) from [K]eyword/command mode
CLEARZ[K]eyword/command modedefault
CLSX[K]eyword/command modedefault
CODEC[F] function modeleft CTRL (and release) from [K]eyword/command mode
CONTC[K]eyword/command modedefault
COPYQ[K]eyword/command modedefault
COSE[F] function modeleft CTRL (and release) from [K]eyword/command mode
DIMD[K]eyword/command modedefault
EXPK[F] function modeleft CTRL (and release) from [K]eyword/command mode
FASTR[K]eyword/command modeleft shift
FORF[K]eyword/command modedefault
GOSUBH[K]eyword/command modedefault
GOTOG[K]eyword/command modedefault
IFW[K]eyword/command modedefault
INKEY$I[F] function modeleft CTRL (and release) from [K]eyword/command mode
INPUTI[K]eyword/command modedefault
INTH[F] function modeleft CTRL (and release) from [K]eyword/command mode
LENX[F] function modeleft CTRL (and release) from [K]eyword/command mode
LETK[K]eyword/command modedefault
LISTL[K]eyword/command modedefault
LLIST4[K]eyword/command modeleft shift
LNL[F] function modeleft CTRL (and release) from [K]eyword/command mode
LOADA[K]eyword/command modedefault
LPRINT3[K]eyword/command modeleft shift
NEWM[K]eyword/command modedefault
NEXTN[K]eyword/command modedefault
NOTN[F] function modeleft CTRL (and release) from [K]eyword/command mode
ORQ[K]eyword/command modeleft shift
PAUSEE[K]eyword/command modedefault
PEEKB[F] function modeleft CTRL (and release) from [K]eyword/command mode
PLOTY[K]eyword/command modedefault
POKEB[K]eyword/command modedefault
PRINTP[K]eyword/command modedefault
RANDO[K]eyword/command modedefault
REMT[K]eyword/command modedefault
RETURNJ[K]eyword/command modedefault
RNDO[F] function modeleft CTRL (and release) from [K]eyword/command mode
RUNR[K]eyword/command modedefault
SAVES[K]eyword/command modedefault
SCROLLV[K]eyword/command modedefault
SGNJ[F] function modeleft CTRL (and release) from [K]eyword/command mode
SINQ[F] function modeleft CTRL (and release) from [K]eyword/command mode
SLOWE[K]eyword/command modeleft shift
SQRF[F] function modeleft CTRL (and release) from [K]eyword/command mode
STEPD[K]eyword/command modeleft shift
STOPS[K]eyword/command modeleft shift
STR$S[F] function modeleft CTRL (and release) from [K]eyword/command mode
TAB,[F] function modeleft CTRL (and release) from [K]eyword/command mode
TANT[F] function modeleft CTRL (and release) from [K]eyword/command mode
THENW[K]eyword/command modeleft shift
TOT[K]eyword/command modeleft shift
UNPLOTU[K]eyword/command modedefault
USRU[F] function modeleft CTRL (and release) from [K]eyword/command mode
VALV[F] function modeleft CTRL (and release) from [K]eyword/command mode
πP[F] function modeleft CTRL (and release) from [K]eyword/command mode

The Unique Jupiter ACE Experience: Programming Forth on a ZX-81 Like System

What’s the Jupiter ACE?

The Jupiter ACE was an early 1980s home computer that had similarities to the Sinclair ZX-81, especially in the bottom input entry

Jupiter ACE emulated in the EightyOne emulator
Entering commands and code on the bottom line of the Jupiter ACE (using EightyOne emulator), much like the ZX-80 and ZX-81

in the keyboard layout (By the way, symbol shift can be shift to right-shift in EightyOne emulator or is otherwise the right CTRL key… also note that the double quote, /, *, and others are reached by the symbol shift + a letter key.)

Keyboard Layout view from SpudACE emulator

and the extremely limited 1KB of base RAM.

What’s Forth?

Forth is a stack-based programming language that relies on a data stack and reverse Polish notation, much like the HP calculators are known for. A basic example would be 6 2 * which would perform the operation 6 * 2 and push the value 12 back onto the data stack. If you wanted to actually retrieve/pop the result off the stack, you would issue a 6 2 * . sequence, in which the . would pop the last value and return/print it.

Special considerations for the Jupiter ACE’s Forth

The data stack on the Jupiter ACE assumes 16-bit values, and the default data type assumed is a signed integer, so you have values from -32768 to 32767 that are allowed per single stack slot:

256 * 256 is 0 (because that would require 17 bits. 128 * 256 is -32768. 128 * 256 – 1 is 32767

Floating point numbers are possible, but they require two stack slots, so you have on operate on two consecutive stack locations at the same time to work with floating point numbers. Another challenge with the Jupiter ACE’s Forth implementation is that you’re missing some advanced math functions and you have to write your own. The following is an annotated version (the comments are in parentheses) of the SIN routine found on page 93 from the first edition Jupiter ACE manual found here:

: SIN
    (x - sine of x)
    2DUP 2DUP 2DUP F* FNEGATE ([x,x,-x*x])
    2ROT 2ROT ([-x*x,x,x])
    27 2 ([-x*x,x,x, 27 2])

    DO (initial value of 2, limit 27)
        ([-x*x,x,x])
        6 PICK 6 PICK ([-x*x,x,x,-x*x])
        F* I I 1+ * ([-x*x,x,-x^3,6])
        UFLOAT F/ ([-x*x,x,-x^3/6.])
        2DUP 2ROT F+ 2SWAP ([-x*x,-x^3/6.+x,-x^3/6.])

        (3 down the stack of floats is the multiplier of the
        numerator terms for the Newton method, 2 down the
        stack is the total sum, top of the stack is the last
        term, and the counter (I) tracks the denominator 
        multipliers (I and I+1))

        2 (add 2 to the stack for the loop increment)
    +LOOP
    2DROP 2SWAP 2DROP ([x-x^3/6. ... etc])
;  

2DUP, 2ROT, and 2SWAP are methods that are defined on previous pages to basically work with floats on the stack in the same way as 16-bit integers. The algorithm is Newton’s method to estimate a sine, through 14 terms of the method. If you map out the stack locations by hand, you can follow how the method is making creative use of the top 3 – 4 (6 – 8) stack positions to keep the progress, the multiplicand of the numerator of the terms, and the current term. However, due to floating point representation, this information is harder to trace through in the emulator because you will see 16-bit values in the data stack.

Trying for yourself

I’ve tried out the SpudACE emulator (strictly Jupiter ACE) and the EightyOne emulator (Sinclair, Timex, and others also emulated) which can be found on this Jupiter ACE Emulators for Windows page. I’ve found the EightyOne emulator a bit more stable and usable. You’ll want to make sure to mute your sound when saving to tape, because sound *may* output when saving to your virtual tape. Watch a demonstration here and see the source code for the demo in this folder.

Astrolokeys and a Vortex Tab 90M

If you found this helpful and are planning on purchasing a Drop keycap set, please use my referral link and we’ll both get $10.

Astrolokeys with the Vortex Tab 90M base

I initially built a Drop CTRL keyboard combo with the Halo Clear switches and Astrolokeys Base set for the 15% discount, but after a while I felt myself missing my Cherry MX Silent Black switches and the full keyboard layout of the Vortex Tab 90M.

Transferring the Astrolokeys to Vortex Tab 90M

After transferring the keys, only the right [CTRL] [SHIFT] [ALT] and the [FN] [PN] and [CALC] keys were missing “in theme” keys. After spending a week with the old primary color key caps, I got the “Nonstandard Icon Mods” and the “Ortho Icons” from the Astolokeys page. Ultimately getting those sets plus the base kit instead of the Drop CTRL would have been $150 for the key caps only vs. $250 for the original keyboard base, switches, and base keycap set. But now someone else in the family has a very nice tactile keyboard with the old Tab 90M keycaps until they get their own custom keycaps someday.

Oh, and the Drop CTRL looks pretty cool with the Vortex Tab 90M keycaps, too…

Drop CTRL keyboard with Vortex Tab 90M keycaps