Avatar

smiletolerantly

smiletolerantly@awful.systems
Joined
3 posts • 97 comments
Direct message

Security by default is fine, but not if its being forced.

If I go out of my way to root my phone or sideload an app, I have a reason for that. I’m fine with an app going “Hey! This phone is rooted / this app is not from an official source! Wait 10s before you can click ‘I understand and take full responsibikity in case of a security breach’”.

I’m not OK with an app going “I will not work on this device because yiur environment is non-standard, period”.

permalink
report
parent
reply

Before. This will create the necessary climate for someone to decide ‘fuck it’ and contact them.

permalink
report
parent
reply

Pretty sure you can configure it with a key so only authorized clients can use it

permalink
report
parent
reply

Thanks lol. The thing is, they’re getting away with this. Forcing Freestyle to open their protocol would instantly solve all of those problems, as you could use good hardware with good software, since you’d no longer be locked in.

permalink
report
parent
reply

The app is genuinely better in many ways. It at least allows you to set two thresholds for low/high each, and it does repeat them after a while. At least as far as I remember, it is also better with the “jittering re-triggers alarms” thing. Back when I was using it, you could not mute alarms in advance, but apparently that does work now for up to 6 hours, good on them. BUt this is my rant, so I am ignoring that :D There’s still “nice to have” features missing, for example “if you are trending up, don’t repeat a low glucose warning” and vice versa, but my initial impression was that this might actually work. (The Libre 3 had gotten so bad that I had disabled all alarms permanently for multiple months, so when the G7 came out I immediately switched, but at that point xdrip+ did not support it yet.)

Except - you cannot disable the “very low” alarm, and you can set its threshold no lower than 55 mg/dl. Big deal, I mean, it’s important to be warned, right? Except in many situations, I know more than the app. Imagine this: You are woken at night by your low glucose alarm, and are trending down. These sensors lag by about 15 minutes compared to blood measurements, so even if you drink some juice right now, and KNOW that that will be enough, the “very low” alarm will DEFINITELY still go off. You know, eventually. Maybe in 15 minutes, maybe in 20 or 25. But you will be woken again, and all you can do is try to stay awake until then, or turn your phone off completely (why not just mute the app, you ask? Well, I answer, because the Dexcom G7 app will STOP SHOWING YOU YOUR GLUCOSE LEVELS if you do that, warning you instead that you must let it warn you. It’s great! /s). Of course, turning your phone off means you won’t get any more alarms until you switch it back on in the morning.

Before I end this rant, I need to mention a couple more things. The first is how patronizing Dexcom is towards its customers. Not being able to disable an alarm is one example, but my “favorite” example is this: I had been using their app for a while, and went on holidays abroad. During that trip, my sensor expired (I knew in advance and brought spares). Imagine by AMAZEMENT when I discovered that the app would not let me start a new sensor because my GPS location was not IN MY COUNTRY OF RESIDENCE.

Luckily at this point I discovered that xdrip+ had just released experimental support for the G7, and switched immediately and without problems.

In a similar vein, the app is actually only supported on a handful of devices from the biggest phone companies. There’s a community project from at least the days of the G5 which removes this restriction, and the app does actually run perfectly on basically any phone, you just aren’t allowed to, I guess.

Let’s close this with a look at the hardware. Where Dexcom is moderately ahead of Freestyle in terms of software, they severely lack behind it in hardware. And I get it, this can be hard. They measure every 4 minutes (which is more than enough IMO), and the sensor is a good bit chunkier, yet it only lasts 10 days. Also their adhesive sucks. To this day, you need to put on the giant bandage-patch-thing they include in the box, and even then it’s easy to rip off. They’ve gone through at least 4 adhesive variations, and all of them suck in different ways. But again, I think this is forgivable; the Freestyle Libre 3 is a miracle in terms of hardware, so whatever.

What is NOT forgivable however is making your big-ass, shittily-sticking-to-skin sensor RUBBERIZED and have SHARP, DOWNWARDS POINTING OVERHANGS THAT WILL SNATCH ON EVERY PIECE OF FABRIC IT CAN GET ITS HANDS ON AND RIP OFF IMMEDIATELY.

Why?? Why do this, Dexcom? Why did no one go “actually, only the should-stick-to-skin side of the should-not-stick-to-anything-else thing should be sticky”???

OK, right. But as long as they send spares and make RMAs easy, it should not matter that - WRONG. THEY DON’T. Worse, actually, but for this I have to circle back to the Freestyle.

I mentioned earlier that I had never had a defective unit, and that is true. But once (once) in two years I accidentally ripped one from my arm. I was low on sensors at the time, so I called them. The call went through immediately, and the guy on the end was super apologetic, even though I was also super apologetic for ripping it off and being late with renewing my subscription, hence being low on sensors. He immediately told me they’d be sending two replacements, just in case, free of charge. They arrived the next day. (Actually, they always sent at least two spares with the quarterly delivery, too.)

Back to Dexcom. As mentioned, I started using it very shortly after the G7 came to market. That was a mistake. For the first NINE MONTHS, SIXTY PERCENT OF SENSORS I GOT FROM THEM WERE DEFECTIVE, with 80% of those being dead on arrival, and NOT including sensors that ripped off due to shit adhesive.

I have a day in my log from May 2022 where I put 5 sensors on in a row (they do prick pretty badly, btw), waiting for the warmup period to end for each of them just to read “Sensor defective”. The 6th one finally worked. By this time I had given up on putting the extra adhesive sticker on, since rubbing them off is also a pain because they shred instead of coming off in one piece. So of course, it snagged on my shirt and ripped off within an hour. I cried that day, and I will not apologize for it.

“Hold on, your log? Why do you have that?” I hear the attentive reader asking. Well, let me tell you. Dexcom G7 sensors last 10 days, and the year lasts 365 days. Every 90 days you get your quarterly delivery of 9 sensors, except for Q4, where it’s 10. There are NO spares. When you want to RMA a defective sensor, you have to

  • find their pretty hidden support page online
  • fill out a questionnaire for every single sensor, including three separate sensor ID numbers (which are either on the sensor applicator or its box, not both, so better keep both), all of your personal info EVEN THOUGH I ALREADY AM LOGGED IN AND YOU HAVE ALL MY INFO DEXCOM, rather leading questions speaking to exactly what YOU were doing wrong when the sensor failed, as well as the date you applied the sensor on and the date it failed.
  • a couple of days later you will get a phone call (better hope you hear your phone ringing, they won’t be calling again, and calling them is a two-hour wait!), and a tired service rep will go through ALL of that info you spent half an hour inputting AGAIN. Then, they will calculate how many days were left on each sensor, sum all of them up, then divide by 10 days and send you not a single sensor more than required. 60% of those would inevitably fail again, and the cycle would begin anew. (Also, the first rep I ever had on the phone scolded me and told me too many RMAs would put me on their watchlist. Fuck you, Dexcom.)

Oh god this has gotten out of hand, I’m sorry to whoever read all of that.

TL;DR:

  • Fuck whoever is in charge of Freestyle’s software team, fuck ALL of Dexcom, but especially the product designer who I’m sure will LOVE my idea for a rubberized dildo with snaggy edges.
  • Use open source software with medical devices.
  • Please mommy EU whip medical companies into compliance.
permalink
report
parent
reply

Sure!

The two sensors and apps of the same name I’m complaining about are the Freestyle Libre 3 and Dexcom G7. IMO, absolute bare minimum for what is required in an app of this kind is:

  • get the glucose level from the sensor and show it in the app, incl. a history graph (even the old dedicated handhelds did this)
  • play an alarm when that value is below/above a low/high glucose threshold

The Freestyle Libre 3 does this, and absolutely nothing more. They ported the software from their dedicated device to Android and called it a day. Frustratingly, this means that you don’t even get your current glucose in the notification area, or the lockscreen, or anywhere else. You have to open the app. You can set the alarm thresholds arbitrarily, but only get 1 high and 1 low alarm setting. Disabling these means you need to go two levels deep into the settings menu. And you WILL be doing that, constantly. Why? Imagine this: You get woken by an alarm for high glucose. You check the app, and see that you’ve just barely crossed the threshold, but have been hovering below it for the past hour. You take insulin, but of course, that takes time to act. Since sensor measurements are a bit jittery, you can count on the glucose level to dip back below, then back above, below, above,… the threshold for the next 1-2 hours. The app will blare an alarm at the highest volume your phone is capable of every. single. time. Your (and potentially your partner’s) sleep will be interrupted IDK how many times, unless you completely disable the alarm. Be sure to remember switching it back on in the morning, though! :) The fix would be incredibly simple: either allow muting alarms for a set period of time, or don’t play an alarm if it has recently been played and the amplitude of glucose measurements is small.

On the flipside, if you miss an alarm - say you are speaking in a meeting so you swipe away the blaring alarm - you will not be reminded again. My high glucose alert is/was set rather low (150 mg/dl) because that’s the point where it makes sense for me to take additional insulin. If that alarm goes off and you dismiss it, it will not go off again (unless you first dip below, as discussed). Doesn’t matter if two hours later you are at 160 or 380. Sure, it is also my responsibility, I am not denying that. But again, adding this feature would have been hugely helpful and so, so easy to implement.

Let’s take a quick sidebar and talk about hardware. The Freestyle Libre 3 is an AMAZING piece of hardware. It’s incredibly tiny - about two pennies stacked, both in diameter and height. Still, it sticks to your skin very well, and measures and sends your blood glucose to your phone via Bluetooth every minute for two weeks straight before the battery gives out. As if that weren’t enough, it’s also so well-made that in the almost two years I was using it, I did not have a single unit that was defective or ran out of battery in less than the promised two weeks. It’s fantastic.

…but sending glucose info every 60 seconds is also a drain on your phone’s battery, especially if your app isn’t, uh, made well. Take a guess as to where this is going. Ready? Wrong, it’s worse. If I would go to bed with 100% battery, I would wake up with 40% left. I needed to charge my phone 4 times a day. Since switching to the Dexcom G7 (imperfect as it is - we will get to it, I promise), that is back down to once a day.

Apart from draining the battery, the app is also slow, and gets really slow the longer you have it installed. This mainly shows itself in the glucose graph being slower to render over time. Deleting the apps data, i.e. starting fresh, makes everything run reasonably fast again. Over the course of a couple of months, a couple hundreds of megabytes of app data accrues, and the app starts to crawl instead of run.

The next part is pure conjecture on my part, but I am still going to share it. My theory is that every time you open the app, the entire graph history is computed from scratch. That would explain the amount of data <-> slowness relation, and probably at least partially account for the battery drain.

In short: Freestyle Libre 3 (the hardware) is fantastic, Freestyle Libre 3 (the app) does the bare minimum and sucks at it.

You can not use it with xdrip+, except by installing a cracked version of the original which exposes the current glucose level through a webserver on your phone, and an additional app which grabs the values from there and passes them on to xdrip+. This is error-prone and does not exactly help with the battery drain.

On to the Dexcom G7. In the next comment, because apparently there’s a 10k character limit on comments.

permalink
report
parent
reply

OK, this is only tangentially related but it has been on my mind lately and I need to rant:

I am T1 diabetic. Over the last decade, a LOT has happened to improve my life, especially in regards to no longer needing to check glucose levels with blood, as glucose sensors you wear on your arm have become ubiquitous.

It started with a dedicated device that you needed to hold up to the sensor to get a reading (much nicer than pricking your finger) to that sensor being able to notify the dedicated device of high/low glucose values (yay! Sleep through the night, knowing you’ll be woken up if something is wrong) to the sensor now constantly streaming glucose values to your phone.

Which is fantastic.

In theory.

In practice, there are two companies making these sensors (OK, there’s a couple more, but they suck way more and are much less commonly used).

And both of their closed-source apps suuuuuuuuck. They do the bare minimum and nothing more. (Actually, it’s worse than that. Ask me if you want to know. It’s its own rant.)

Then there’s xdrip+, a FANTASTIC app made by diabetics for diabetics. Instead of just showing you “this is your glucose” and sounding an alarm, once, when it’s required, you can (just off the top of my head): Set an arbitrary amount of alarms with their own behaviors, which can be configured to vary by time of day; show the glucose everywhere (notification, lock screen, home screen,…); mute alarms for a custom time; do not sound an alarm if you’re trending in the correct direction fast enough; do not sound the alarm multiple times if your are jittering around the threshold; notify other people automatically in case of emergency; and roughly 1000 things more. The app is well maintained, and of course open source.

Can you guess what the problem is?

That’s right, manufacturers disapprove of using this app. For the worse one of the two sensors mentioned, the community reverse engineered the communication and it is now working perfectly with the app. For the better sensor, they can’t and won’t due to fear of legal repercussions.

It’s my health. And I need to decide between worse hardware and useless software.

There’s no technical reason for this. I dream of the EU passing a law that requires manufacturers of wearable medical devices to publish the comm protocols and to legitimize use of third party software.

Rant over.

permalink
report
reply

It was pretty great, wasn’t it?

Although I must say. I eventually landed on neovim. Steep, steep learning curve, but now I would not switch back again.

permalink
report
parent
reply

I gave it serious consideration when the death of Atom was announced and I was unsure where to move on to.

Looks like in the meantime a lot has been done (as far as I remember, TreeSitter and LSP weren’t built in back then…? Not sure though), but the lack of a plugin system is still killing it for me.

TBH it looks like it has 75% of the features you want from a codeditor, which is much more than the use-case for Nano, but no way to go the remaining 25% of the way.

permalink
report
parent
reply