December 31, 2019

Bye Windows 2000 Server



On the last week of 2019 I finally decommissioned our old Windows 2000 Server. This server has served us well for 19 years. I upgraded all the way to Windows Server 2019 which couldn't be done in a single step, so I had to get a computer running Windows Server 2008 R2, migrate the domain to 2008 R2 (and raise the functional level), then migrate again to 2019.

The preparation for the migration took more than a year since we still have a lot of old apps and computers, I even had to get Windows 10 to join the Windows 2000 domain before the domain could be upgraded. I simulated the migration in VMware many times before doing it in production, so everything went relatively smoothly. I've actually done a 2000 to 2008 R2 migration once before around 10 years ago at my secondary site. One gotcha that took me by surprise was that adprep was an entire folder and not a single .exe file.

I hope the next upgrade won't be so far into the future. Happy 2020!

September 5, 2019

Stryd with wind detection

After the last post I started thinking about calibrating my Stryd on outside runs (also indoor runs). I wrote that I had let it auto-calibrate when I first bought it a few months ago and it was an impressive 100.0, but I hadn't done any calibration recently due to doing most of my runs on the treadmill. Last weekend I finally found some time for an outdoor run and I blasted through what was supposed to be a slow recovery run with a PR. I was so used to running on the treadmill and Stryd giving me a slow speed that when I went running in the park I was going so fast and I kept telling myself to slow down because it was a recovery run, and I still ended up with a PR. And yes, I made sure the Stryd was set to indoor runs only, and the distance was correct because I was running on a marked course in a park.

So after the run ended I decided to calibrate the old Stryd by turning on the auto-calibration function and running the park again. Yeah, I know I'm supposed to do calibrations on a track and run on the line, but the park has markings and I've ran it for years and Stryd used to be perfect on it even at a calibration factor of 100.0. Stupidly enough this time it auto-calibrated itself to 108.0! Now I'm more confused than ever.


But since I had a new Stryd with Wind detection on order at the time, so I thought I would try calibrating everything again when I receive it. It supposedly has better motion sensors so it might be more accurate. Well, I'm disappointed to say that the Wind version reports an even slower speed than the old one. I've manually set the calibration factor to 109.0 for now and will go for a run in the park and let it auto-calibrate after the most recent tropical storms subside.

For now I'll talk about the outer appearances for a bit. My old Stryd is a Model 11 [Rev 3] and the new one is Model 14 [Rev 4]. Rev 3 is the one sold near the end of last year that wasn't packaged with a wireless charger but instead comes with a wired USB charger.

The revision numbers appear to be:
Rev 2: Wireless charging only.
Rev 3: Wireless and USB dock. But doesn't come with wireless charger.
Rev 4: Current wind version. USB dock charging only.

Rev 3 and Rev 4 chargers are identical. One of the deciding factors for buying the new Stryd was whether the charger can be shared. But when I contacted Stryd about this, I couldn't get a straight answer out of them, they kept saying it comes with a charger! You don't need to worry! It comes with a dedicated charger! But it's easier for me if I could share accessories like chargers and cables. Wonder why they couldn't just give me a simple answer.

The "terrace farming" design of the Stryd looks nicer on the new one. I always thought the very top terrace on the old model looked a bit lop-sided. The clip was a little surprising, the old clip is more rounded on the bottom while the new one is completely flat, you can see this from the shadow in the picture. This is quite problematic for me since the new one's flatness digs onto the top of my foot. I'll probably just have to reposition it from the usual location.

August 17, 2019

Stryd is slow only on the treadmill


I wrote earlier about how the Stryd felt slower when used on the treadmill, but I finally got fed up by everyone telling me that the treadmill display on my gym is wrong and Stryd is right. So I brought out all my foot pods and tested each one multiple times against the Stryd. Before doing the tests I made sure the foot pods were calibrated correctly. The Stryd is uncalibrated and set to 100.0, while other foot pods were auto-calibrated by my Garmin watch by running outside at a flat open area at a consistent pace. (Sidenote: I've tried auto-calibrating my Stryd and it ended up with 100.0 as the calibration factor. Impressive.)

The result? The treadmill display, two MilestonePods (now called Zwift RunPod), two ANT+ foot pods (identical to the Garmin SDM4), my Garmin Forerunner 935 watch alone (using the least accurate method of pace estimation of arm swinging), my perceived exertion level, my heart rate (measured using Polar H10, the Garmin HRM-RUN, or the watch's built-in optical heartrate sensor), comparison with other runners on treadmills next to me using their own watches or foot pods, all ended up having similar speed and pace, while the Stryd is NINE PERCENT (!) slower. One thing that was surprising (or not that surprising) was that the treadmill display was accurate. Surprising because everyone kept telling me not to trust the treadmill display, not surprising because the very first time I ran on it I felt it was accurate (by feeling alone) and before I got the Stryd I've used other foot pods that also reported similar speeds as the treadmill display.

After repeating the test I decided to set the calibration factor of the Stryd to 109.0, and it started giving me the same results as the other devices. The biggest problem with this is that because the Stryd is accurate everywhere except on the treadmill, I have to manually set it to 109.0 for the treadmill and 100.0 when I'm not on the treadmill. Just setting the Stryd to provide speed and distance indoors wouldn't work, since I also run on an indoor track and Stryd is extrememly accurate on the indoor track.

I've been using the Stryd for about seven months before doing the test. Yeah, at first I didn't really care (or know) about it being so much slower. I actually thought the Stryd was more correct than the others, since it gave very consistent results (1% variance) while other foot pods could give me up to 5% variance. And I attributed the slowness to factors such as the treadmill being uneven or lack of fans leading to my body overheating and thus giving false exertion factor. But after I started using Zwift running, I would join group runs or races, it's incredibly annoying to find myself lagging behind everyone else even when I'm running really hard. I tried speeding up the treadmill to my typical outdoor speeds according to Stryd and always felt that it was way too fast for me to keep up or even run safely because the belt was going so scarily fast! In fact, I "cheated" a few times by not running on the treadmill and still have Zwift open on my phone just so I could be faster.

Oh, and also some people said that pace shouldn't matter, only power matters, I also discovered that since power is based on speed, changing the calibration factor to 109.0 also increases power by 9%. Yeah, I was running my butt off on the treadmill, and it was giving me really low power numbers.

The weirdest thing is that my Stryd is completely accurate when not on the treadmill, so I suspect it must be my treadmill running form that's affecting it somehow. Running on the treadmill is really running in place with no actual forward motion, only leg motion and the belt carrying the legs, so I don't know if my Stryd is faulty in that it doesn't sense the "simulated" forward motion, or if it's the belt being softer than ground, but none of these factors can explain why other lesser foot pods are consistent with each other. The original thought of the treadmill being inclined was wrong too, because I managed to find some with 0% incline didn't change anything. Of course, one can argue that only the Stryd is right and everyone else is wrong, but that won't explain my perceived exertion level, and how could everybody all be wrong by the same amount? I realize I didn't actually measure the distance of the belt, so... who knows?


Anyway, I'm happy with the 109.0 setting for now. Zwift needs its own calibration but since the treadmill display is accurate I easily calibrated Zwift by setting the treadmill according to Zwift's calibration prompts. Stryd recently announced an updated model with wind detection and improved next gen motion sensor. I don't really care for wind detection but the new motion sensor sounded useful, so I ordered one immediately. I should be receiving the new Stryd real soon now and I can't wait to test it against the old Stryd on the treadmill.

Update: someone shared my post to the Facebook Stryd Community and started a large discussion, mainly to shoot this post down. I must say I really do like the Stryd but I wish they would do a study on running form across a wider range of amateur runners instead of always blaming it squarely on the treadmill. Anyway I quit my gym membership recently so I no longer have access to a treadmill and I'm back to outdoor running. No more unhappy with Stryd speeds since it's perfect outdoors.

August 16, 2019

SD card unavailable


I have a Sony Xperia XZ Premium phone that I love, except the camera app likes to give me memory errors ("SD card unavailable") when starting the app. At first I thought my SD card had gone bad, so I bought a new one, and still got the same error. Hmm, maybe the SD card interface had gone bad, so I switched to the internal memory, same error.

After some fiddling I discovered that if the camera app had not been opened in a while, the memory interface probably goes into stand-by mode, and when the camera app starts up it couldn't load the last image from the gallery and times out. The effect is that every time I pick up my phone in a hurry to take a photo, I get this error, but if I'm constantly using the camera, then no problems. Thinking back I realized the problem started occurring shortly after a software update, so it must be a software bug. I can easily reproduce the bug if I let the phone/camera app idle for a long time, or do something CPU intensive such as installing an app from Google Play while opening the camera app at the same time.

Strangely enough, the problem doesn't seem to affect all people, since a web search reveals a lot of people reporting about this issue, but even more people replying that they have no problems and it must be an SD card issue or some other software conflict. The problem seems to be widespread since it happens with all phones, even the Xperia 1. I myself have another Sony phone (XA2 Ultra) that started having the exact same problem after a recent software update.

To workaround the problem I finally decided to use a third-party camera app. Unfortunately I can't seem to find one that works as well as the built-in camera app, they all suffer from over complexity or annoying UI issues (either a case of the developers don't eat their own dog food, or the developers forcing dog food down users' throats). After a lot of searching and trying, I finally settled on Footej Camera. It's simple and fast and doesn't have a lot of UI annoyances, and obviously doesn't give me SD card errors.

Update: Unfortunately even though Footej doesn't have startup SD card errors, it seems to have the same time-out issue from time to time and ends up losing the current photo. I'm going with Cameringo+ for now. Cameringo+ seems to be stable, but it forces full-screen immersive mode which is really annoying since it doesn't let me exit the app easily. The app has an option to toggle immersive mode which does absolutely nothing.

Update 2: I've finally determined the problem really is SD card related. Unfortunately, the workaround seems to be not use the SD card at all, since even with the fastest A1 SD cards it still pops up the error if there's any hiccups while accessing the card. They really need to increase the timeout on the camera app.

Update 3: I give up. I'm now only using the internal memory for taking pictures. Time to buy a new phone.

June 25, 2019

PowerTap PowerCal


I got a PowerTap PowerCal Dual ANT+/BLE (what a mouthful) recently to use with Zwift. I have a Concept 2 rowing machine and only noticed Zwift because many Concept 2 users were asking for rowing capabilities in Zwift.

Zwift is a virtual biking training environment and requires either a bicycle power meter or a bicycle trainer with speed and cadence sensors. I don't have any of those since I'm not a cyclist and don't plan to be. I tried connecting my Concept 2 rower to Zwift using various hacks and found Zwift to be really fun, but converting the rowing motion to biking just didn't seem right to me, so I tried looking for ways to connect a gym spinning bike to Zwift. After a little research, I discovered that I can simulate a power meter by using the PowerTap PowerCal, so I bought one immediately.

The PowerCal is a heart rate monitor device that works as a power meter by estimating the power / wattage using heart rate and outputs the power reading using ANT+ and BLE. Of course, it's not just a simple conversion formula, but also takes other factors such as how fast heart rate climbs up or drops down and also times of workout since heart rate will creep up as time passes. These are probably done using heart rate variability (HRV) which is the variation between each heart beat.

One quirk of estimating power from heart rate is that normally when you stop pedaling on a bike, your power should be 0, but since your heart can't stop beating estimated power from heart rate would be completely wrong. But the PowerCal formula or maybe it's how HRV works, when you're stopped and heart rate is falling rapidly, the power goes really low or goes to 0. However, it doesn't always go to 0 so it's annoying. Zwift could've implemented a simple software fix that if the cadence sensor is 0 then power should also be 0. Of course, that would require a cadence sensor...

One other issue with the PowerCal is that the power output isn't very stable since heart rate and HRV can't be stable, so workouts in Zwift where you have to maintain a certain wattage is really difficult or impossible to do. The screenshot below shows the result of a pre-programmed workout where I'm supposed to maintain something like 200 W for 5 minutes, then 100 W for 5 minutes. Since I can't really control my heart rate, so even though I did the workout "correctly", the power fluctuated too wildly and Zwift kept prompting me to keep the power within range, and I couldn't receive any stars for the workout.



However, for stable riding such as free riding or even racing, the PowerCal works really well. Since getting the PowerCal a few weeks ago and creating a new Zwift account, I've reached level 13 so far and have ridden up the Alpe du Zwift twice. (I got the Lightweight Meilenstein on the second ride up. Bwahahah! ) Even though I don't have a real power meter to compare my efforts with, my Alpe du Zwift time is 77 minutes and using Strava to look up the overall time from all riders, the time is comparable to my general poor fitness level.

Obviously, the PowerTap PowerCal is no replacement for a real power meter, but it works really well on the spinning bike (or even regular exercise bike) in the gym. Personally I'm not a cyclist and never will be, but I enjoy working out on the spinning bike in the gym for cross training, and using Zwift just adds more fun to it. Without the PowerCal there would be no way for me to use Zwift at all.

Most of the reviews I read on the net say there's no way a power "guesstimator" can be a replacement for a real power meter and give really low marks for the PowerCal. While it is true that you need a real power meter or a trainer for serious training, but for a general user or a beginner who just wants to play with Zwift and doesn't want to invest in a bike and trainer yet, there are no easier or cheaper options. I think it's a really great choice for me since I already have a Concept 2 indoor rower and I already do a lot of running, I just don't have the budget or space to invest in a trainer and a bike that I will never ride outdoors. I think the only professional review that doesn't simply dismiss the PowerCal as completely uselss is DC Rainmaker's review.

Stupidly enough, with all the places saying the PowerCal is not a replacement for a real power meter and that it should not be used with Zwift, the Zwift online store sells it (only the Bluetooth version though, not the dual ANT+/BLE version). Unfortunately, Zwift shop recently changed their policy and doesn't ship internationally any more. And with PowerTap being acquired by SRAM/Quarq the PowerCal's future is bleak.

PowerTap never published the formula for their power estimation , but there is a similar Garmin Connect IQ field called HR to Power that does the same thing by converting the heart rate and recording it into a FIT file. I compared the output between the PowerCal and the HR to Power IQ field and discovered that due to smoothing and compensation for initial lower heart rate when first starting to workout, the HR to Power IQ field actually works much better. But unfortunately since it runs on Garmin watches there's no way to output the power reading.

Maybe it's time to roll my own power guesstimator using a Raspberry Pi.

Update: I discovered that because heart rate reacts slower to physical stress it's actually better to set the power display option in Zwift to instant rather than 3 sec avg. This lets the power display react faster and more inline with my actions.

May 29, 2019

Dark mode


The next version of Android (Q) and iOS (13) all come with something called dark mode or dark theme. I feel so old when I read this. I remember way back when computer monitors were all black with glowing green text. For a while I had a Toshiba laptop with plasma screens that had amber text and it always drew attention whenever I used it. When "active matrix" LCD monitors came out it was said that white backgrounds is more like paper and easier on the eyes. It took me quite a while to get used to the shiny white background, but it was actually such a huge improvement for someone that sites in front of the monitor more than 10 hours a day eventually I got used to the white backgrounds.  However, whenever I need a terminal I still like to have a black TCC/LE terminal or blue PowerShell (actually PowerShell Core is now black too).

Although everything had gone white there are some exceptions, for example Photoshop has always had a dark interface, which I feel is beneficial since it allows focusing on the work. This is the same reason I like having a black Kindle since it makes the text easier to read. But dark mode? Everything is backwards all over again. Since when is black easier on the eyes?

May 4, 2019

iPad mini 5 (2019)

I got the very first iPad years and years ago. I love it but I never bought any of the later iPads mainly because it's just too cumbersome. It's not as convenient as a smart phone that I can take any where and pick up any time, and no matter how much Apple promotes the Pro models, it's not as convenient as having an actual notebook. I kinda like the iPad mini, but I have a Kindle Paperwhite for the ebooks, and never really found any use for a tablet.

However, as I got older I found that I don't really want to stare at my notebook or phone so much any more, and sometimes I don't want to sit in front of the TV. So when the iPad Air 3 and iPad mini 5 came out, I decided to get one again. 10.5" screen on the iPad Air 3 is nice, but I feel a smaller tablet would be more convenient and I could carry it around with me. But my main reasons for getting an iPad: using Zwift when I'm at the gym, watch Netflix without squinting and getting a headache, and play tablet games (ha-ha).

Except for a brief time when I paid for Apple Music around three years ago, It's been more than seven years since I last looked at the App Store, and the first thing I noticed was that all the 99 cents apps have disappeared. Everything costs so much, and since I've used Android these times and paid little attention to the Apple side of things, it's filled with apps that I've never heard of. Some apps in the paid apps section offered me to download them though. I looked and realized I've bought many of them back when I had the first iPad. For example, one of the top paid apps that I already have is Notability for $9.99. I looked and I bought it in 2012 for $0.99.

I decided to check my email archives to re-discover all the stuff I bought back then. It's quite sad to see how many apps have gone dead. I had all these multi-service chat apps that have gone into disuse since everyone have moved onto LINE here in Asia. I even have a game called Starbase Orion that I don't even remember having. I searched and it came to me that it was a 4X game inspired by Master of Orion. The greatest surprise came when I downloaded Starbase Orion and it asked if I want to continue my game.


I looked at Starbase Orion's website and discovered that the single developer never managed to make an Android version, and Starbase Orion 2 is still unfinished due to lack of time. Even though I like to buy games mainly to support the developer but I could never find the time or patience to play them, so I understand how he feels. (Yeah, other bigger games I got for my Android phone include Uciana, another 4X game, and Stardew Valley, both of which I've started playing but got nowhere.)

March 20, 2019

Logitech R500 Laser Presentation Remote

I have the Logitech R400 Laser Presentation Remote and I love it. So when I noticed that the R500 was released I looked for an excuse to get one. Unfortunately, since the R400 is so good, I had a really hard time of coming up with an excuse, until I was driven to the brink of madness by a user who doesn't know the difference between "press" and "hold".

Whenever I let others borrow my R400, they have a really difficult time of figuring out all the buttons. It's just not obvious for some people that the right-pointing arrow button with the bump on it is the next slide button, and the left-pointing arrow button is the previous slide button. And let's not talk about the start/stop slide button and the blank screen button. And with all the keys placed close together they keep accidentally pressing the wrong button and gets totally lost and confused. And as mentioned above, what always drives me crazy is that I like to set my key repeat rate really fast, and they often press and hold the next slide button and end up on the very last page then exits the presentation. Gah!

The R500's three separate, giant buttons really helped with the wrong button problem. The huge button with the right-pointing arrow is instantly obvious that it's for going to the next slide. And to my greatest surprise, the R500 no longer has the repeat button problem. Powerpoint slides will only change when the change slide buttons are pressed and then released. It doesn't change immediately when the buttons are pressed, but rather changes when the buttons are released, and if you realize you made a mistake or changes your mind about changing slide, just keep holding down the button and the press will be canceled. (Note: not true, see paragraph below.) No more accidentally going through multiple slides with a long press. I feel a lot of thought must've gone into designing this feature and after using it for a few minutes it became second nature to me. Unfortunately, as I'm writing this I have a bad feeling that the users will be confused again, especially since the slide change action happens at button release rather than button press.

One other difference is that the R400 sends out PgUp/PgDn keypresses to the computer, while the R500 sends out Left/Right keypresses. A side effect of this change is that when using the R400 to change pages in PDF documents, in can scroll until the very end. The R500 couldn't page down to the very end since the Left/Right keys only changes pages but won't scroll to the very end like PgDn does.

Oh, since the R500 has less physical buttons, the start/stop slide and blank screen functions can only be enabled by installing a driver (Windows / MacOS only) and holding down buttons. But I think for most users the driver installation would be unnecessary and press and hold will only confuse more people. Ooh, I just realized what I wrote above about holding down a button to cancel the press is actually hold down for second function. Yeah, I'm totally sure that so many people will be confused by this. Therefore, installing the driver is totally not recommended.

Even though the USB dongle is now tiny compared to the one on the R400, the R500 supports Bluetooth connectivity which is a really nice plus for computers that no longer have standard USB ports (Macbooks) or for mobile phones. Reviews on the net says there's frequent disconnect with Bluetooth but I had no such problems. Another change is the R500 uses a single AAA battery vs. two on the R400. Probably shorter battery life. Oh, and no power switch on the R500, so if you leave it in your bag, accidental presses could shorten battery life. Another tiny difference is that the laser on the R500 is "less stable" than the R400's. Probably not noticeable for most people, but I noticed with cheap laser pointers or low powered laser pointers, the laser point tends to flicker or drift, and the R500 does this, but as I said, not really noticeable and most people probably can't hold the remote that steadily anyway.

The one drawback I found is that the R500's plastic body and buttons feel really cheap. I don't really care for so called "premium" leather body products, but the R500 just feels cheap in the hand. As for the buttons, if I have to make a comparison, it's as if the R400 has high quality laptop style keyboard keys, while the R500 has cheap calculator keys.

March 17, 2019

Stryd running power meter

I got fed up with my other  foot pods giving me somewhat random readings at times, and I kept hearing good things about the accuracy of the Stryd foot pod, so I decided to get one a few weeks ago. Stryd is supposed to be a running power meter, which as I discovered is not useful for me at all since I live in a completely flat country, plus I'm a really slow runner, and the main reason for having a running power meter is to maintain a constant power when going up or down hill. But I just wanted accurate pace and speed.

The Stryd was heavily advertised and reviewed as having a wireless Qi charger, but mine came with with a USB charging dock instead, but it can also be charged with any standard Qi charger. The Stryd website doesn't really advertise this change, so this took many people by surprise including myself. I also notice the Stryd website has many unlinked products and pages, and their support people will only provide the links as necessary. So you really need to be on their Facebook community as well as the online support forum to get the most out of the Stryd.

My greatest surprise came when I went to use Stryd on the treadmill. Since the main reasons I got the Stryd was my other foot pods just weren't that accurate or consistent, but Stryd tells me that I'm running much, much slower than the treadmill's display and by feeling. Again, hidden somewhere on the Stryd website they give an explanation. Strangely enough, the other foot pods give me higher pace and speed compared to the Stryd, more inline with what I'm feeling. But Stryd is more consistent in that when I look at results of my treadmill workouts, graphs from the Stryd is always a constant flat line, while the other foot pods often give jagged lines, most likely due to cadence changes or variations in stride length.


I haven't written to Stryd support about the "slowness" but I suspect they will simply tell me to trust Stryd's pace and speed since it's accurate. And indeed I trust it very much, I've tested Stryd at my local park and local indoor track. The park's running loop is marked at 1.75 km and the indoor track is marked at 412 meters. I get slight variations at the park's loop since there are crowds to avoid and the ground isn't exactly flat, but I get exactly 412 meters at the indoor track, every single time.

Update 1: after reading a discussion on Stryd's forum I discovered the treadmill that I always run on at the gym is inclined at 2%. There are other treadmills which I don't use unless my favorite one is occupied because I found them to be uncomfortable are actually inclined at 3%. (I had originally thought they might be tilted somehow and I was right.) The incline is probably what's causing me to feel that I was running fast but actually going slow.

Update 2: I figured out a really easy way to test and prove to the idiot trainers at the gym that their treadmills aren't level. I have some Chinese hand-exercise balls (no, not Ben Wa Balls!) and simply putting them on the treadmill belt and they'll roll in the direction of the incline and they're much easier to use than spirit level apps on my phone. Anyway, I discovered that the treadmills aren't just inclined, some of them aren't horizontally level (i.e. inclined left/right instead of front/back) which explained why I was feeling leg pain on some days.