Skip to main content

A Pill for Sleep Apnea Could Be on the Horizon

3 weeks 3 days ago
Promising Phase 3 trial results from Apnimed suggest a potential game-changing oral pill for sleep apnea could offer a simpler, more tolerable alternative for keeping airways open during sleep. The New York Times reports: For decades, the primary treatment for sleep apnea has been continuous positive airway pressure (or CPAP). Before bed, those with the condition put on a face mask that is connected to a CPAP machine, which keeps the airway open by forcing air into it. The machines are effective, but many find them so noisy, cumbersome or uncomfortable that they end up abandoning them. Now, a more appealing option may be on the way, according to a news release from Apnimed, a pharmaceutical company focused on treating sleep apnea. On Wednesday, the company announced a second round of positive Phase 3 clinical trial results for a first-of-its-kind oral pill that can be taken just before bedtime to help keep a person's airway open. The full results have not yet been released, or published in a peer-reviewed journal. But the findings build on past, similarly positive conclusions from trials and studies. Sleep experts say that what they're seeing in reports so far makes them think the pill could be a game changer. Dr. Phyllis Zee, a sleep doctor and researcher at Northwestern Medicine who was not involved with the trial, said that if approved, the drug could transform the lives of many. That includes not only those who can't tolerate CPAP machines, but also those who can't -- or prefer not to -- use other interventions, such as other types of oral devices or weight loss medications. (Excess weight is a risk factor for sleep apnea.)

Read more of this story at Slashdot.

BeauHD

CodeSOD: Going on a teDa

3 weeks 3 days ago

Carlos G found some C++ that caused him psychic harm, and wanted to know how it ended up that way. So he combed through the history. Let's retrace the path with him.

Here was the original code:

void parseExpiryDate (const char* expiryDate) { // expiryDate is in "YYMM" format int year, month; sscanf(expiryDate, "%2d%2d", &year, &month); //... }

This code takes a string containing an expiry date, and parses it out. The sscanf function is given a format string describing two, two digit integers, and it stores those values into the year and month variables.

But oops! The expiry date is actually in a MMYY format. How on earth could we possibly fix this? It can't be as simple as just swapping the year and month variables in the sscanf call, can it? (It is.) No, it couldn't be that easy. (It is.) I can't imagine how we would solve this problem. (Just swap them!)

void parseExpiryDate(const char* expiryDate) { // expiryDate is in "YYMM" format but, in some part of the code, it is formatted to "MMYY" int year, month; char correctFormat[5]; correctFormat[0] = expiryDate[2]; correctFormat[1] = expiryDate[3]; correctFormat[2] = expiryDate[0]; correctFormat[3] = expiryDate[1]; correctFormat[4] = '\0'; sscanf(correctFormat, "%2d%2d", &year, &month); //... }

There we go! That was easy! We just go, character by character, and shift the order around and copy it to a new string, so that we format it in YYMM.

The comment here is a wonderful attempt at CYA. By the time this function is called, the input is in MMYY, so that's the relevant piece of information to have in the comment. But the developer really truly believed that YYMM was the original input, and thus shifts blame for the original version of this function to "some part of the code" which is shifting the format around on them, thus justifying… this trainwreck.

Carlos replaced it with:

void parseExpiryDate (const char* expiryDate) { // expiryDate is in "MMYY" format int month, year; sscanf(expiryDate, "%2d%2d", &month, &year); //... } .comment { border: none; } [Advertisement] Keep all your packages and Docker containers in one place, scan for vulnerabilities, and control who can access different feeds. ProGet installs in minutes and has a powerful free version with a lot of great features that you can upgrade when ready.Learn more.
Remy Porter