696 karma · joined January 21, 2013
https://bsky.app/profile/ihaque.bsky.social
https://twitter.com/imranshaque
https://ihaque.org
And that's why this exists! (Though it's BLE, not ANT+.)
There's no built-in mode for constant power. (Nor could there be, on the original Bike that I have, as the resistance control is manual.)
The new one might have it.
At a hardware level I'm not sure how well it would work. Out of the box, the tablet only queries the bike for cadence/power/resistance every 100ms, one query at a time in round robin, so your power reading is only coming every 300ms. However, the bike responds to queries much faster - on the order of 200-300us (https://ihaque.org/posts/2020/12/26/pelomon-part-ii-emulatin...), so an external device could certainly ask for updates faster. I'm not sure how rapidly the micro on the bike itself actually updates its own measurements and what ultimate time resolution is possible.
The Peloton also has power zone training similar to what you mentioned. With the instructors nattering on in the background, occasionally rotating the dial isn't so bad.
I believe the newer version of the bike does have automatic resistance control, though.
If anyone is interested in building their own PeloMon, a full BOM is present at the bottom of the third post in the series (https://ihaque.org/posts/2020/12/28/pelomon-part-iii-hardwar...), and the GitHub repo (https://github.com/ihaque/pelomon) has both Fritzing board layout files and the source code for the device.
Power meter pedals are significantly more expensive than the bits that went into this project. (There's a complete BOM in the follow-up post: https://ihaque.org/posts/2020/12/28/pelomon-part-iii-hardwar...).
Also, there's no fun in just buying it ;)
(No thanks for writing your code in Node ;) https://ihaque.org/posts/2020/12/28/pelomon-part-iii-hardwar.... The gymnasticon code was helpful to see before I tracked down the XML specs for the BLE characteristics, though!)
For those who are interested in a deeper dive on this technology, its potential limitations, and its potential benefits, I wrote up a three-part series earlier this year breaking down recent advances in liquid-biopsy-based cancer detection:
Part I: regarding tumor fraction (this goes into depth about the stage I limitations noted by other commenters) https://ihaque.org/posts/2019/07/02/early-detection-mid-2019...
Part II: technical advances from Grail (the authors here) and Guardant (one of their main commercial competitors) https://ihaque.org/posts/2019/07/08/early-detection-mid-2019...
Part III: clinical performance and economics - integrating the sensitivity and specificity numbers with a simple model for important clinical parameters like adherence (how many people prescribed to take the test actually do), and cost: https://ihaque.org/posts/2019/08/18/early-detection-mid-2019...
Disclaimer: I'm the former CSO of a competing company, but I no longer work in this space.
My email is in my profile; feel free to reach out if you have questions.
https://www.cs.utexas.edu/users/skeckler/pubs/SELSE_2014_Rel...
http://users.nccs.gov/~vazhkuda/hpca.pdf (section 6)
There's a Python library that's usable at the command line, too: https://github.com/joergdietrich/daltonize.
In this episode, the crew of the USS Enterprise visits a planet whose people
fight a computer-simulated war against a neighboring planet. Although the
war is fought via computer simulation, the citizens of each planet have to
submit to real executions inside "disintegration booths" to meet the casualty
counts of the simulated attacks. An astute reader might realize that computing the cache line on every
invocation is not enough for user space code: It can happen that a process
gets scheduled on a different CPU while executing the __clear_cache
function with a certain cache line size, where it might not be valid
anymore.The problem is that if you have to maintain BAMs for regulatory reasons, lossy q-scores may not be sufficient for compliance, because you 1) have lost part of the original data 2) may not be able to exactly reconstruct your analysis results (unless, of course, you did the analysis on the quantized scores).
Thus, it would still be interesting to see better lossless compression methods.
[1] http://bioinformatics.oxfordjournals.org/content/early/2014/...
[2] http://web.stanford.edu/~iochoa/publishedPublications/2015_q...
- FASTA: a sequence or set of sequences representing an entire genome. Usually used (in human genomics) to represent the "reference genome", but very rarely individual genomes.
- FASTQ: a set of sequences with associated probabilities at each position (representing the probability that the base at that position is correct). Used to represent the output from a sequencing experiment, where you may get 100s of millions to billions of short reads (order of 100 to 10000 bases in length) from a biological sample.
- BAM: "binary alignment map". Stores the data from the FASTQ (sequence and quality) in a way that "aligns" it to a reference genome -- identifying where the read "came from" (more formally, mapping each base in a read to the most likely corresponding base in the reference genome)
- VCF/gVCF: "variant call format". You can think of this as a diff between the individual sequenced and the reference genome.
In most cases in human genomics you wouldn't construct a full FASTA from the individual (something you would do through a process called assembly). Instead, you would sequence the sample (producing FASTQ), align it to a FASTA reference genome (producing BAM), and call variants (producing VCF). The VCF is much smaller than the other formats, and that size differential is most of where GDC would get its performance: all in all, we're usually not that different from the reference.
The big storage problem usually ends up being storing and manipulating FASTQ and BAM files, because these are the (almost complete) original data from the sequencing run, and occasionally there's a need to keep them around:
- you may want to run a new analysis that wasn't done and so wasn't encompassed in the original VCF - you may want to know the underlying quality of the data that created a variant call. Sequencing is a stochastic process, subject to a variety of types of error. Even though VCF calls typically have an estimate of quality, in many cases there's no substitute for looking at the original underlying data. - you may have a legal or contractual obligation to maintain this data. (e.g., under CLIA regulations laboratories offering clinical sequencing may be required to store the raw data underlying a clinical result for a number of years).
So, how do you store FASTQ or BAM more compactly? BAM is already compressed -- block gzipped, to be specific -- but it still stores all the information explicitly. The obvious first step is reference-based compression (e.g., CRAM: http://www.ebi.ac.uk/ena/software/cram-toolkit), which elides sequence data that is identical to the reference genome, and actually gets rid of almost all of the storage needed to store the sequences.
Other than some easily compressible stuff, like read names, the main thing left over is the quality scores -- the sequence of numbers telling you how "high-quality" each base sequenced was. In raw form, the qscores take an equal number of bytes as the sequence reads, but once we've used reference -based compression to elide the bases, they're by far the dominant component. Unfortunately, compressing quality scores well is a difficult problem. There's been a lot of work done in this area (e.g., http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3832420/), but it's by no means a solved problem.
So if you're into data compression, coming up with a better way to compress FASTQ/BAM files is still a valuable line of work.
https://www.statnews.com/2016/03/28/google-life-sciences-exo...
Former employees, however, characterized Conrad in less complimentary tones.
They said he exaggerates what Verily can deliver, launches big projects on a
whim, and rashly diverts resources from prior commitments to the next hot
idea that might bring in revenue. This has led to what they describe as
difficult meetings with business partners, and resignations by demoralized
engineers and scientists in the face of seemingly impossible demands.Source link: https://github.com/rjpower/falcon/ (doesn't show up in the paper till the very end!)
From an excellent discussion by yodatsracist on Reddit (https://www.reddit.com/r/TrueReddit/comments/4adf4x/a_killin...):
> what happens when a Jarawa kills another Jarawa (an innocent, likely half-Jarawa, half-outsider baby), as this story describes? Does the Indian state step in, or do the Indian state leave the Jarawa to themselves?
If somebody’s been pronounced dead and then you start CPR, you don’t want the
embarrassing situation where they start to wake up again. For older people that
are really far gone it’s not a concern, but sometimes life can start
to come back a bit so general anesthetic takes care of that.
That someone is coming back to life is considered "embarrassing", and ought to be stopped with a general anesthetic? That doesn't sound like someone I'd want in the emergency room by my bed...