Jekyll2020-04-27T15:19:44+00:00https://jbendeaton.com/J Ben DeatonData Scientist, PhDBen DeatonMy experience preventing and managing RSI (n=1)2020-04-27T00:00:00+00:002020-04-27T00:00:00+00:00https://jbendeaton.com/blog/2020/repetitive-strain-injury-rsi<p><img src="/assets/im/creation-of-adam.png" alt="wrists" /></p>
<p>Yet another story of typing-related <a href="https://en.wikipedia.org/wiki/Repetitive_strain_injury">repetitive strain injury (RSI)</a> and what did/didn’t work for me in my journey out of it. I am not a doctor. This is not medical advice. YMMV.</p>
<p>RSI is one of those things that turned out to be more serious than I thought at first and warrants significant intervention if it shows up. At the lower end of the spectrum, you deal with frequent pain while working. At the higher end, the chronic pain leads some people to depression, and a smaller subset of people actually end up having to go on disability because they can no longer type. My experience was definitely not that extreme, but reading some of these accounts shocked me into doing something about my RSI while it was still manageable.</p>
<p>I started developing excruciating pain in my wrists in the later years of my PhD when I was more of less programming or writing my thesis around the clock. I was using a Microsoft ergonomic keyboard at the time, but that wasn’t enough to prevent wrist pain. The pain was always there, but most of the time at a manageable—albeit distracting—level. I tried to ignore it as best I could and figured it would go away after I finished grad school and healthier work/life balance prevailed.</p>
<p>(Narrator: It didn’t.)</p>
<p>I then joined a consulting company where I worked long hours. My wrists were okay except for periods of heavy report writing, like where I was typing for almost 10-12 hours straight for days on end. But then it started getting worse and was an issue more often than not. I had to use NSAIDs to get to sleep at night. It was around this time that I accepted I had a serious problem with my wrists that wasn’t getting better and sought medical attention.</p>
<p>I then found out that most doctors and physical therapists aren’t very helpful when it comes to RSI. I was in Boston–a medical paradise–and couldn’t find someone who had specific experience treating RSI. It’s commonly misdiagnosed as carpal tunnel, often quickly referred to surgery, and I couldn’t find anyone who could help me. I was prescribed wrist braces and stretches, nothing more. Things did not improve and I was in a lot of pain.</p>
<p>So it was up to me to figure it out for myself.</p>
<p>This was several years ago, so what follows is basically everything I remember about my return to normalcy.</p>
<p>First, I read a bunch of blog posts about RSI. The most impactful ones that I can still find (RIP dead links) are:</p>
<ul>
<li><a href="http://matt.might.net/articles/preventing-and-managing-rsi/">Handling Repetitive Strain Injury</a> by Matt Might</li>
<li><a href="https://blog.vivekhaldar.com/post/8339897599/do-you-have-an-rsi-prevention-plan">Do you have an RSI prevention plan?</a> and <a href="https://blog.vivekhaldar.com/post/23021969189/my-setup">My Setup</a> by Vivek Halder which includes the advice: “Act like you do have RSI, and change your set up right now to avoid it.”</li>
</ul>
<p>A lot of websites I found pointed to two books by Emil Pascarelli (MD/professor at Columbia University) as the canonical references for RSI. I read both of these books cover to cover and gleaned most of what I would eventually need. He covers the physiology of RSI vs. carpal tunnel, approaches for treatments, exercises, how to set up your workstation, and advice for finding a medical professional who can actually help with RSI. Many people online have reported being able to effectively self-treat their RSI using just these books, which was my experience. Here they are:</p>
<ul>
<li><a href="https://www.amazon.com/gp/product/0471388432/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=0471388432&linkId=bb162d1648599ad9a42f0b57c383157a">Dr. Pascarelli’s Complete Guide to Repetitive Strain Injury: What You Need to Know About RSI and Carpal Tunnel Syndrome, by Emil Pascarelli</a></li>
<li><a href="https://www.amazon.com/gp/product/0471595330/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=0471595330&linkId=59a493a03d0cd35015cb72568645290f">Repetitive Strain Injury: A Computer User’s Guide, by Emil Pascarelli</a></li>
</ul>
<p>These two books informed the steps I took, which I outline below:</p>
<ul>
<li>
<p><a href="https://kinesis-ergo.com/shop/advantage2/">Kinesis Advantage keyboard</a>: If you Google “RSI” long enough, you will find almost all roads lead to the Kinesis Advantage keyboard. Like many before me, I graduated through several levels of increasingly expensive “ergo” keyboards (none of which made a difference) before I finally spent the money on the Kinesis. I wish I had bought it immediately. Impact: Eliminated 80% of my RSI problem within days. A few comments on this keyboard. First, it is quite unaesthetic, but I viewed it as a necessary medical intervention, not a design statement. Next, it only took a few days to learn how to type on it. Finally, it’s very easy to switch between this layout and a regular keyboard (like when using my laptop undocked); the brain has a wild ability to context switch between both modes and did not mess me up at all. I was concerned about being unable to type on my laptop keyboard whenever necessary after acclimating to the Kinesis; this turned out to be a non-issue. If you are concerned about the noise of a mechanical keyboard, Kinesis offers a <a href="https://kinesis-ergo.com/shop/advantage2-lfq/">low-force, quiet version</a>.</p>
</li>
<li>
<p>No wrist braces: I tried them for awhile to no avail. Then I read Pascarelli argue strongly against the use of wrist braces for RSI because they restrict blood flow and people become over-reliant on them leading to muscle atrophy. So I stopped using them completely. Instead, he said, his patients should wear “air braces” which he explained as training yourself to keep your wrists in a perfectly neutral position at all times. I had to change my sleep position. This mindset helped me a lot when sitting at my computer.</p>
</li>
<li>
<p>Dialing in an ergonomic work setup: Your body is a complex system and your entire body positioning/posture influences your wrists. At the time I started treating my RSI, I was using a <a href="https://jbendeaton.com/blog/2013/standing-desk-set-up">makeshift standing desk at work</a> and had to tweak it <strong>extensively and iteratively</strong> until every piece was dialed in perfectly so that my wrists were in a neutral position for typing and mousing (this photo was pre-Kinesis keyboard, note the furniture risers beneath the desk contraption to dial in height, and also the keyboard shelf which I redrilled/remounted multiple times). This included keyboard height, mouse height, wrist rest heights, etc. It’s important to dial in all of these pieces, not just the keyboard. For example, if your monitor is at the wrong height, you will tend to slouch and your body will compensate by throwing off your wrist alignment. My <a href="https://jbendeaton.com/blog/2020/my-remote-work-setup">current work setup</a> (Aeron chair, adjustable sit/stand desk, articulating monitor arm) was designed to make every single element completely adjustable. Note that although I no longer have regular RSI symptoms, if I make any adjustment to my work setup, I will have a slight RSI flare-up like clockwork for several days until my body adapts.</p>
</li>
<li>
<p><a href="https://www.reddit.com/r/bodyweightfitness/wiki/kb/recommended_routine">r/bodyweightfitness Recommended Routine</a>: It’s very counterintuitive given the strain it places on the wrists, but I started this strength training routine and it drastically helped my wrists. The four components specifically involving the wrists are the <a href="https://www.youtube.com/watch?v=mSZWSQSSEjE">wrist prep routine from GMB</a> (I think this especially helped), pushups, L-sits, and rows (using gymnastics rings). I would have thought pushups would have killed my wrists, but strangely my wrists handled them fine with time. This led me to hypothesize that a fundamental cause of my problem was actually related to lack of strength and mobility?</p>
</li>
<li>
<p>Started taking frequent stretch breaks when working, focusing especially on neck, shoulders, arms, wrists, and fingers. I used an app on my computer that prompted me for a micro-break every 15 minutes and a longer break once an hour. It was interruptive but helpful.</p>
</li>
<li>
<p>Working fewer hours. I had horrible work/life balance coming out of grad school, which persisted into consulting and then startup life at times. My RSI was always correlated with number of hours worked. I will get an RSI flare-up now if I start working longer hours or typing a lot in the evening for several days in a row.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B007GGCLGW/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B007GGCLGW&linkId=0bd8585cfe0a3c15e411fa30e7e31cb9">NSD Power Essential Spinner Gyro Hand/Wrist/Forearm Strengthener</a>: Interesting device that exercises and stimulates all the small musculature in the hands and forearms. This thing is actually pretty wild. If the hypothesis was that strength was needed to help fix my hands, I think this was probably helpful. Definitely made my hands/forearms very tired after a few minutes of use. I used it at my desk twice per day for a few minutes.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B00XIHGBGY/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B00XIHGBGY&linkId=c02f2d22cef95016b6df33f959e3279a">Donut grip strengthener</a>: I kept one of these on my desk at work and used it throughout the day to try to exercise my hands and mostly just get them moving. I had the black version (80 lb, whatever that means).</p>
</li>
</ul>
<p>After making these changes, my RSI symptoms effectively went to zero and have almost completely stabilized ever since (more than five years as of now). In fact, I eventually changed jobs and started working directly on my laptop more often without the Kinesis Advantage due to travel and working from home. I realized one day that I had exclusively used the laptop keyboard for awhile with no wrist issues, meaning that the changes I listed above eventually brought a level of stability that warranted few special accommodations aside from a generally ergonomic desk setup. I kept the Kinesis for awhile just in case, but eventually moved to a <a href="https://jbendeaton.com/blog/2020/my-remote-work-setup">regular keyboard with wrist rest</a> with no problems.</p>
<p>I still have the occassional RSI flare-up, usually if I change something about my work setup, if I have to type after 6pm for more than a few days in a row, or if I am spending a lot of time doing wrist-intensive exercise such as cycling. But for the most part, my RSI is under control and have zero worries about it spiraling into a serious issue again.</p>Ben DeatonYet another story of typing-related repetitive strain injury (RSI) and what did/didn’t work for me in my journey out of it. I am not a doctor. This is not medical advice. YMMV. RSI is one of those things that turned out to be more serious than I thought at first and warrants significant intervention if it shows up. At the lower end of the spectrum, you deal with frequent pain while working. At the higher end, the chronic pain leads some people to depression, and a smaller subset of people actually end up having to go on disability because they can no longer type. My experience was definitely not that extreme, but reading some of these accounts shocked me into doing something about my RSI while it was still manageable. I started developing excruciating pain in my wrists in the later years of my PhD when I was more of less programming or writing my thesis around the clock. I was using a Microsoft ergonomic keyboard at the time, but that wasn’t enough to prevent wrist pain. The pain was always there, but most of the time at a manageable—albeit distracting—level. I tried to ignore it as best I could and figured it would go away after I finished grad school and healthier work/life balance prevailed. (Narrator: It didn’t.) I then joined a consulting company where I worked long hours. My wrists were okay except for periods of heavy report writing, like where I was typing for almost 10-12 hours straight for days on end. But then it started getting worse and was an issue more often than not. I had to use NSAIDs to get to sleep at night. It was around this time that I accepted I had a serious problem with my wrists that wasn’t getting better and sought medical attention. I then found out that most doctors and physical therapists aren’t very helpful when it comes to RSI. I was in Boston–a medical paradise–and couldn’t find someone who had specific experience treating RSI. It’s commonly misdiagnosed as carpal tunnel, often quickly referred to surgery, and I couldn’t find anyone who could help me. I was prescribed wrist braces and stretches, nothing more. Things did not improve and I was in a lot of pain. So it was up to me to figure it out for myself. This was several years ago, so what follows is basically everything I remember about my return to normalcy. First, I read a bunch of blog posts about RSI. The most impactful ones that I can still find (RIP dead links) are: Handling Repetitive Strain Injury by Matt Might Do you have an RSI prevention plan? and My Setup by Vivek Halder which includes the advice: “Act like you do have RSI, and change your set up right now to avoid it.” A lot of websites I found pointed to two books by Emil Pascarelli (MD/professor at Columbia University) as the canonical references for RSI. I read both of these books cover to cover and gleaned most of what I would eventually need. He covers the physiology of RSI vs. carpal tunnel, approaches for treatments, exercises, how to set up your workstation, and advice for finding a medical professional who can actually help with RSI. Many people online have reported being able to effectively self-treat their RSI using just these books, which was my experience. Here they are: Dr. Pascarelli’s Complete Guide to Repetitive Strain Injury: What You Need to Know About RSI and Carpal Tunnel Syndrome, by Emil Pascarelli Repetitive Strain Injury: A Computer User’s Guide, by Emil Pascarelli These two books informed the steps I took, which I outline below: Kinesis Advantage keyboard: If you Google “RSI” long enough, you will find almost all roads lead to the Kinesis Advantage keyboard. Like many before me, I graduated through several levels of increasingly expensive “ergo” keyboards (none of which made a difference) before I finally spent the money on the Kinesis. I wish I had bought it immediately. Impact: Eliminated 80% of my RSI problem within days. A few comments on this keyboard. First, it is quite unaesthetic, but I viewed it as a necessary medical intervention, not a design statement. Next, it only took a few days to learn how to type on it. Finally, it’s very easy to switch between this layout and a regular keyboard (like when using my laptop undocked); the brain has a wild ability to context switch between both modes and did not mess me up at all. I was concerned about being unable to type on my laptop keyboard whenever necessary after acclimating to the Kinesis; this turned out to be a non-issue. If you are concerned about the noise of a mechanical keyboard, Kinesis offers a low-force, quiet version. No wrist braces: I tried them for awhile to no avail. Then I read Pascarelli argue strongly against the use of wrist braces for RSI because they restrict blood flow and people become over-reliant on them leading to muscle atrophy. So I stopped using them completely. Instead, he said, his patients should wear “air braces” which he explained as training yourself to keep your wrists in a perfectly neutral position at all times. I had to change my sleep position. This mindset helped me a lot when sitting at my computer. Dialing in an ergonomic work setup: Your body is a complex system and your entire body positioning/posture influences your wrists. At the time I started treating my RSI, I was using a makeshift standing desk at work and had to tweak it extensively and iteratively until every piece was dialed in perfectly so that my wrists were in a neutral position for typing and mousing (this photo was pre-Kinesis keyboard, note the furniture risers beneath the desk contraption to dial in height, and also the keyboard shelf which I redrilled/remounted multiple times). This included keyboard height, mouse height, wrist rest heights, etc. It’s important to dial in all of these pieces, not just the keyboard. For example, if your monitor is at the wrong height, you will tend to slouch and your body will compensate by throwing off your wrist alignment. My current work setup (Aeron chair, adjustable sit/stand desk, articulating monitor arm) was designed to make every single element completely adjustable. Note that although I no longer have regular RSI symptoms, if I make any adjustment to my work setup, I will have a slight RSI flare-up like clockwork for several days until my body adapts. r/bodyweightfitness Recommended Routine: It’s very counterintuitive given the strain it places on the wrists, but I started this strength training routine and it drastically helped my wrists. The four components specifically involving the wrists are the wrist prep routine from GMB (I think this especially helped), pushups, L-sits, and rows (using gymnastics rings). I would have thought pushups would have killed my wrists, but strangely my wrists handled them fine with time. This led me to hypothesize that a fundamental cause of my problem was actually related to lack of strength and mobility? Started taking frequent stretch breaks when working, focusing especially on neck, shoulders, arms, wrists, and fingers. I used an app on my computer that prompted me for a micro-break every 15 minutes and a longer break once an hour. It was interruptive but helpful. Working fewer hours. I had horrible work/life balance coming out of grad school, which persisted into consulting and then startup life at times. My RSI was always correlated with number of hours worked. I will get an RSI flare-up now if I start working longer hours or typing a lot in the evening for several days in a row. NSD Power Essential Spinner Gyro Hand/Wrist/Forearm Strengthener: Interesting device that exercises and stimulates all the small musculature in the hands and forearms. This thing is actually pretty wild. If the hypothesis was that strength was needed to help fix my hands, I think this was probably helpful. Definitely made my hands/forearms very tired after a few minutes of use. I used it at my desk twice per day for a few minutes. Donut grip strengthener: I kept one of these on my desk at work and used it throughout the day to try to exercise my hands and mostly just get them moving. I had the black version (80 lb, whatever that means). After making these changes, my RSI symptoms effectively went to zero and have almost completely stabilized ever since (more than five years as of now). In fact, I eventually changed jobs and started working directly on my laptop more often without the Kinesis Advantage due to travel and working from home. I realized one day that I had exclusively used the laptop keyboard for awhile with no wrist issues, meaning that the changes I listed above eventually brought a level of stability that warranted few special accommodations aside from a generally ergonomic desk setup. I kept the Kinesis for awhile just in case, but eventually moved to a regular keyboard with wrist rest with no problems. I still have the occassional RSI flare-up, usually if I change something about my work setup, if I have to type after 6pm for more than a few days in a row, or if I am spending a lot of time doing wrist-intensive exercise such as cycling. But for the most part, my RSI is under control and have zero worries about it spiraling into a serious issue again.MLSys 2020 Conference Recap2020-04-23T00:00:00+00:002020-04-23T00:00:00+00:00https://jbendeaton.com/blog/2020/mlsys-recap<p>I recently attended the <a href="https://mlsys.org/">Third Conference on Machine Learning and Systems (MLSys)</a> in Austin, TX. The proceedings are <a href="https://proceedings.mlsys.org/book/2020">here</a>. I had a great time, learned a lot, and met a lot of interesting people.</p>
<p>The conference was March 2-4, 2020, and tension over the coronavirus was definitely on the upswing. (In fact, the conference was just seven or so weeks ago, but it now seems like an eternity since I last traveled out of Atlanta because of the quarantine.) A large number of people cancelled and many presentations were delivered over Zoom, including one from China. I almost cancelled my own trip. The first cases in Texas popped up while I was there (in San Antonio). Not a lot of hand-shaking, as you might imagine.</p>
<p>The conference itself was great. This meeting brings together both ML and Systems researchers, and a paper must bridge those two fields and pass peer review by people on both sides to be accepted. It was also great to see the emphasis on artifact publication and evaluation (code, datasets, hardware, etc) to support reproducible research.</p>
<p>The attendance was evenly split between about four hundred academic and industry researchers, and the industry representation seemed to be mostly comprised of FAANG-style companies with ML research arms.</p>
<h2 id="mlsys-talks">MLSys talks</h2>
<p>I found a lot of the content interesting and relevant to my work as an industry ML practitioner. At the same time, there were also some academic talks where I honestly had no idea what the speaker was talking about. But you can’t bring together multiple related fields and keep things interesting for everybody, for an entire conference.</p>
<p>My favorite talk of the conference was the first day keynote by <a href="http://hazyresearch.stanford.edu/index">Christopher Ré</a> (Stanford University): Theory & Systems for Weak Supervision (<a href="https://www.youtube.com/watch?v=CR1g2-ZqswE">YouTube</a>, <a href="https://cs.stanford.edu/~chrismre/papers/MLSys_ChrisRe-FINAL.pdf">slides</a>). His talk started by discussing the idea of Software 2.0 (see <a href="http://hazyresearch.stanford.edu/software2">this blog post</a> or <a href="https://medium.com/@karpathy/software-2-0-a64152b37c35">this one</a>, 1.0 is explicitly programmed vs. 2.0 which is abstract and “learned”). The primary idea he was pushing was that while it’s great that we have sophisticated and easy-to-deploy models being published every other week (“new-model-itis”) along with continually improving hardware, the real limiting factors in most ML systems are the quality and quantity of training data. The proposed solution is to replace manually labeled training data (slow, expensive, static) with programmatically labeled training data (fast, cheap, dynamic) via weak supervision. His group has a blog post called <a href="https://www.snorkel.org/blog/weak-supervision">An Overview of Weak Supervision</a> that provides a nice introduction. For example, instead of spending months of mechanical turk time tagging records, a few subject matter experts can develop labeling functions in a short amount of time that are noisy but nearly as good in aggregate. This means each particular label might not be as good as if human-labeled, but you now have a million labeled records instead of the 10k or 100k you were going to spend several weeks developing. Other approaches include pattern matching, distant supervision, automated augmentation (see <a href="http://hazyresearch.stanford.edu/data-aug-part-1">this series of blog posts</a>), topic models, third-party models, or crowdworker labels. Ré’s research group develops and maintains a Python package for programatically building and managing training data called <a href="https://www.snorkel.org/">Snorkel</a>. In the Snorkel paradigm, the user will write labeling functions that generate noisy and perhaps conflicting labels, then Snorkel will model and combine these noisy labels into probabilities. The actual model is then trained using these probabilitistic labels and can discover and exploit structure in the training data that goes significantly beyond the heuristics expressed in the labeling functions. The lift generated in the presented examples was wild. Also really enjoyed his discussion of hidden stratification.</p>
<p>Alongside the idea of improving training data, Wu et al. gave a great talk on <a href="https://proceedings.mlsys.org/book/307.pdf">Attention-based Learning for Missing Data Imputation in HoloClean</a>. The <a href="http://www.holoclean.io/">HoloClean</a> framework is another tool originating out of Chris Ré’s lab and focuses on data quality/repair. This paper developed a model called AimNet in HoloClean that uses the attention mechanism to impute missing data, either discrete or continuous. Their attention-based model outperformed existing ensemble tree methods (XGBoost) or GANs on imputation of systematic missing data, as opposed to missing completely at (MCAR), across fourteen diverse benchmark datasets ranging from medical (mammography, EEG), physical (solar flare), financial, to geospatial/address data. Definitely eager to experiment with this.</p>
<p>Just to call out a few more that I really liked:</p>
<ul>
<li><a href="https://proceedings.mlsys.org/book/319.pdf">Model Assertions for Monitoring and Improving ML Models </a>: Another Software 2.0 notion about moving toward an equivalent notion of unit-tested, QA/QC’ed inference using post-hoc assertion functions.</li>
<li><a href="https://proceedings.mlsys.org/book/303.pdf">A System for Massively Parallel Hyperparameter Tuning</a>: Algorithm that launches parallel grid search and successive early stopping to redistribute resources to find optimal configuration.</li>
<li><a href="https://proceedings.mlsys.org/book/305.pdf">Understanding the Downstream Instability of Word Embeddings</a>: Had to do with sensitivity of embeddings under frequent retraining for NLP predictions.</li>
<li><a href="https://proceedings.mlsys.org/book/309.pdf">MLPerf Training Benchmark</a>: Comprehensive ML benchmarking program.</li>
<li><a href="https://proceedings.mlsys.org/book/296.pdf">What is the State of Neural Network Pruning?</a>: Review paper, self-explanatory.</li>
</ul>
<p>There were many more great talks that I learned from, but am not going to talk about here because they were closer to the metal and I’ll just enjoy the benefits whenever they make it into PyTorch or Tensorflow.</p>
<h2 id="mlops-systems-workshop">MLOps Systems workshop</h2>
<p>The main reason I attended was the <a href="https://mlops-systems.github.io/">MLOps Systems workshop</a>, which was hosted on the third day. This workshop was focused on the ecosystem of tools for the full ML lifecycle, tracking model lineage, monitoring and drift detection, experiment tracking, CI/CD, provenance of ML artifacts, reproducibility, safe rollbacks, etc. The presentations and posters were full of best practices and guidance beyond what I can reasonably capture here.</p>
<p>Probably two-thirds of the MLOps presentations included the following graphic from the paper <a href="https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf">Hidden Technical Debt in Machine Learning Systems (Sculley et al., NIPS 2015)</a>:</p>
<p><img src="/assets/im/hidden-technical-debt-ml-systems.png" alt="ml-systems" /></p>
<p>Also, I think three presentations showed a screenshot of this tweet:</p>
<div class="jekyll-twitter-plugin"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">The story of enterprise Machine Learning: “It took me 3 weeks to develop the model. It’s been >11 months, and it’s still not deployed.” <a href="https://twitter.com/DineshNirmalIBM?ref_src=twsrc%5Etfw">@DineshNirmalIBM</a> <a href="https://twitter.com/hashtag/StrataData?src=hash&ref_src=twsrc%5Etfw">#StrataData</a> <a href="https://twitter.com/hashtag/strataconf?src=hash&ref_src=twsrc%5Etfw">#strataconf</a></p>— ginablaber (@ginablaber) <a href="https://twitter.com/ginablaber/status/971450218095943681?ref_src=twsrc%5Etfw">March 7, 2018</a></blockquote>
<script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<p>So yeah, everybody feels the pain of getting their several hundred lines of CNN model definition into production safely.</p>
<p>A large philosophical focus of this workshop was that ML is a relatively a new field and it’s not always obvious how it fits into a company in terms of roles and resource allocation. If your company has machine learning engineers, data scientists, data engineers, data analysts, devops engineers, software engineers, decision scientists, statisticians, data/app product managers, etc., then who does what? Will there be an emergent “MLops engineer” title that is the corollary to the traditional devops role?</p>
<p>Also, what’s the ideal IDE for ML development? ML may be sufficiently different from software engineering to warrant a new approach. Should an ML model be developed in a text editor, drag-and-drop style from a GUI, just a JSON config, or other?</p>
<p>On the data quality front, there was another great talk by <a href="https://twitter.com/thodrek">Theodoros Rekatsinas</a> about <a href="http://www.holoclean.io/">Holoclean</a> that dug into programmatic verification of training data via context, both at the field and tuple (set of fields) levels. See <a href="http://www.vldb.org/pvldb/vol10/p1190-rekatsinas.pdf">this paper</a> for a description of the HoloClean model. The idea is to learn a probabilistic model of how clean data is generated or how errors are introduced at the tuple or cell level, then data quality operations can actually become inference queries against that model. The components of these models can be validated via integrity/domain constraints (business rule logic like zip-to-state constraints or regex validation), external datasets like curated catalogues/knowledge bases, data redundancy allowing recovery of statistical dependencies (i.e. modeling <code class="highlighter-rouge">P(state|zip)</code>), or application-aware context.</p>
<p>Christopher Ré gave another talk building on Snorkel which described a framework he wrote called Overton. Here is a <a href="https://www.cs.stanford.edu/~chrismre/papers/overton-tr.pdf">paper describing the Overton philosophy</a>. The name was derived from the <a href="https://en.wikipedia.org/wiki/Overton_window">Overton Window</a> and was symbolic of pushing the conversation around ML systems into controversial territory. Along the lines of AutoML, the idea is to move engineers up the abstraction stack with the success metric that no engineers are writing PyTorch or TensorFlow code anymore. Overton would do data prep for training (via Snorkel), compile to TensorFlow or PyTorch and even select an appropropriate model/hyperparameters/etc., create a deployable model, and monitor model stats. Overton apparently started as a weekend hobby project, but has now served billions of queries at Apple and Google.</p>
<p>Ré also dropped a few controversial takes which produced not a few nodding heads in the audience: “I don’t think the people who wrote a DL model really have better insight into what it’s doing than practitioners who use them as black boxes, nor is it really even possible” was probably my favorite, but there were others. Regarding model architecture, he argued that model architecture design is easy, a tiny fraction of the lifecycle of a model with only fractional improvements possible from human effort, and that neural networks should just be designed by an architecture search over a set of coarse building blocks. He even argued that engineers shouldn’t be setting hyperparameters, as the human margin is low, optimization algorithms are basically a commodity (or should be), and you have a pretty unsophisticated algorithm if that dependent on a human. All of this should be hidden from the engineer given sufficiently smart external metric tracking.</p>
<p>There was a also a lot of good discussion around orchestration tools and best practices during the various talks. The discussions covered a wide range of tools from full orchestration/ML lifecycle tools like TFX and Kubeflow, to experiment tracking/versioning tools like Neptune or Weights and Biases, to other tools that (to me) seem to live on the spectrum in-between, like MLFlow. But even among the posters, there were multiple other tools or one-offs trying to mimic this type of orchestration or model tracking logic. This is a space where it seems there is no clear winner yet. None of these tools do everything and work with all frameworks, and there may yet emerge another tool to defeat them all. That said, I think my money would be on MLFlow for now from the point of view of balancing value vs. level of effort to deploy, at least for a startup (where I sit). At any rate, it’s an exciting, fast-moving space and I expect we will see a lot of awesome work coming out of these streams going forward.</p>
<h2 id="austin">Austin</h2>
<p>This was actually my first time to Austin. It seems like a really lovely city. I had some incredible tacos and pit barbeque. Also definitely going to need an electric scooter after getting around on one for several days.</p>Ben DeatonI recently attended the Third Conference on Machine Learning and Systems (MLSys) in Austin, TX. The proceedings are here. I had a great time, learned a lot, and met a lot of interesting people. The conference was March 2-4, 2020, and tension over the coronavirus was definitely on the upswing. (In fact, the conference was just seven or so weeks ago, but it now seems like an eternity since I last traveled out of Atlanta because of the quarantine.) A large number of people cancelled and many presentations were delivered over Zoom, including one from China. I almost cancelled my own trip. The first cases in Texas popped up while I was there (in San Antonio). Not a lot of hand-shaking, as you might imagine. The conference itself was great. This meeting brings together both ML and Systems researchers, and a paper must bridge those two fields and pass peer review by people on both sides to be accepted. It was also great to see the emphasis on artifact publication and evaluation (code, datasets, hardware, etc) to support reproducible research. The attendance was evenly split between about four hundred academic and industry researchers, and the industry representation seemed to be mostly comprised of FAANG-style companies with ML research arms. MLSys talks I found a lot of the content interesting and relevant to my work as an industry ML practitioner. At the same time, there were also some academic talks where I honestly had no idea what the speaker was talking about. But you can’t bring together multiple related fields and keep things interesting for everybody, for an entire conference. My favorite talk of the conference was the first day keynote by Christopher Ré (Stanford University): Theory & Systems for Weak Supervision (YouTube, slides). His talk started by discussing the idea of Software 2.0 (see this blog post or this one, 1.0 is explicitly programmed vs. 2.0 which is abstract and “learned”). The primary idea he was pushing was that while it’s great that we have sophisticated and easy-to-deploy models being published every other week (“new-model-itis”) along with continually improving hardware, the real limiting factors in most ML systems are the quality and quantity of training data. The proposed solution is to replace manually labeled training data (slow, expensive, static) with programmatically labeled training data (fast, cheap, dynamic) via weak supervision. His group has a blog post called An Overview of Weak Supervision that provides a nice introduction. For example, instead of spending months of mechanical turk time tagging records, a few subject matter experts can develop labeling functions in a short amount of time that are noisy but nearly as good in aggregate. This means each particular label might not be as good as if human-labeled, but you now have a million labeled records instead of the 10k or 100k you were going to spend several weeks developing. Other approaches include pattern matching, distant supervision, automated augmentation (see this series of blog posts), topic models, third-party models, or crowdworker labels. Ré’s research group develops and maintains a Python package for programatically building and managing training data called Snorkel. In the Snorkel paradigm, the user will write labeling functions that generate noisy and perhaps conflicting labels, then Snorkel will model and combine these noisy labels into probabilities. The actual model is then trained using these probabilitistic labels and can discover and exploit structure in the training data that goes significantly beyond the heuristics expressed in the labeling functions. The lift generated in the presented examples was wild. Also really enjoyed his discussion of hidden stratification. Alongside the idea of improving training data, Wu et al. gave a great talk on Attention-based Learning for Missing Data Imputation in HoloClean. The HoloClean framework is another tool originating out of Chris Ré’s lab and focuses on data quality/repair. This paper developed a model called AimNet in HoloClean that uses the attention mechanism to impute missing data, either discrete or continuous. Their attention-based model outperformed existing ensemble tree methods (XGBoost) or GANs on imputation of systematic missing data, as opposed to missing completely at (MCAR), across fourteen diverse benchmark datasets ranging from medical (mammography, EEG), physical (solar flare), financial, to geospatial/address data. Definitely eager to experiment with this. Just to call out a few more that I really liked: Model Assertions for Monitoring and Improving ML Models : Another Software 2.0 notion about moving toward an equivalent notion of unit-tested, QA/QC’ed inference using post-hoc assertion functions. A System for Massively Parallel Hyperparameter Tuning: Algorithm that launches parallel grid search and successive early stopping to redistribute resources to find optimal configuration. Understanding the Downstream Instability of Word Embeddings: Had to do with sensitivity of embeddings under frequent retraining for NLP predictions. MLPerf Training Benchmark: Comprehensive ML benchmarking program. What is the State of Neural Network Pruning?: Review paper, self-explanatory. There were many more great talks that I learned from, but am not going to talk about here because they were closer to the metal and I’ll just enjoy the benefits whenever they make it into PyTorch or Tensorflow. MLOps Systems workshop The main reason I attended was the MLOps Systems workshop, which was hosted on the third day. This workshop was focused on the ecosystem of tools for the full ML lifecycle, tracking model lineage, monitoring and drift detection, experiment tracking, CI/CD, provenance of ML artifacts, reproducibility, safe rollbacks, etc. The presentations and posters were full of best practices and guidance beyond what I can reasonably capture here. Probably two-thirds of the MLOps presentations included the following graphic from the paper Hidden Technical Debt in Machine Learning Systems (Sculley et al., NIPS 2015): Also, I think three presentations showed a screenshot of this tweet: The story of enterprise Machine Learning: “It took me 3 weeks to develop the model. It’s been >11 months, and it’s still not deployed.” @DineshNirmalIBM #StrataData #strataconf— ginablaber (@ginablaber) March 7, 2018 So yeah, everybody feels the pain of getting their several hundred lines of CNN model definition into production safely. A large philosophical focus of this workshop was that ML is a relatively a new field and it’s not always obvious how it fits into a company in terms of roles and resource allocation. If your company has machine learning engineers, data scientists, data engineers, data analysts, devops engineers, software engineers, decision scientists, statisticians, data/app product managers, etc., then who does what? Will there be an emergent “MLops engineer” title that is the corollary to the traditional devops role? Also, what’s the ideal IDE for ML development? ML may be sufficiently different from software engineering to warrant a new approach. Should an ML model be developed in a text editor, drag-and-drop style from a GUI, just a JSON config, or other? On the data quality front, there was another great talk by Theodoros Rekatsinas about Holoclean that dug into programmatic verification of training data via context, both at the field and tuple (set of fields) levels. See this paper for a description of the HoloClean model. The idea is to learn a probabilistic model of how clean data is generated or how errors are introduced at the tuple or cell level, then data quality operations can actually become inference queries against that model. The components of these models can be validated via integrity/domain constraints (business rule logic like zip-to-state constraints or regex validation), external datasets like curated catalogues/knowledge bases, data redundancy allowing recovery of statistical dependencies (i.e. modeling P(state|zip)), or application-aware context. Christopher Ré gave another talk building on Snorkel which described a framework he wrote called Overton. Here is a paper describing the Overton philosophy. The name was derived from the Overton Window and was symbolic of pushing the conversation around ML systems into controversial territory. Along the lines of AutoML, the idea is to move engineers up the abstraction stack with the success metric that no engineers are writing PyTorch or TensorFlow code anymore. Overton would do data prep for training (via Snorkel), compile to TensorFlow or PyTorch and even select an appropropriate model/hyperparameters/etc., create a deployable model, and monitor model stats. Overton apparently started as a weekend hobby project, but has now served billions of queries at Apple and Google. Ré also dropped a few controversial takes which produced not a few nodding heads in the audience: “I don’t think the people who wrote a DL model really have better insight into what it’s doing than practitioners who use them as black boxes, nor is it really even possible” was probably my favorite, but there were others. Regarding model architecture, he argued that model architecture design is easy, a tiny fraction of the lifecycle of a model with only fractional improvements possible from human effort, and that neural networks should just be designed by an architecture search over a set of coarse building blocks. He even argued that engineers shouldn’t be setting hyperparameters, as the human margin is low, optimization algorithms are basically a commodity (or should be), and you have a pretty unsophisticated algorithm if that dependent on a human. All of this should be hidden from the engineer given sufficiently smart external metric tracking. There was a also a lot of good discussion around orchestration tools and best practices during the various talks. The discussions covered a wide range of tools from full orchestration/ML lifecycle tools like TFX and Kubeflow, to experiment tracking/versioning tools like Neptune or Weights and Biases, to other tools that (to me) seem to live on the spectrum in-between, like MLFlow. But even among the posters, there were multiple other tools or one-offs trying to mimic this type of orchestration or model tracking logic. This is a space where it seems there is no clear winner yet. None of these tools do everything and work with all frameworks, and there may yet emerge another tool to defeat them all. That said, I think my money would be on MLFlow for now from the point of view of balancing value vs. level of effort to deploy, at least for a startup (where I sit). At any rate, it’s an exciting, fast-moving space and I expect we will see a lot of awesome work coming out of these streams going forward. Austin This was actually my first time to Austin. It seems like a really lovely city. I had some incredible tacos and pit barbeque. Also definitely going to need an electric scooter after getting around on one for several days.Case-sensitive multiselect in VS Code2020-04-14T00:00:00+00:002020-04-14T00:00:00+00:00https://jbendeaton.com/blog/2020/case-sensitive-multiselect-in-VSCode<p>When I use multiselect (aka multiple cursor selection) in VS Code via <code class="highlighter-rouge">Cmd+D</code> (which is constantly), I usually prefer case-sensitive behavior when refactoring and finding things I can edit in-place at once. When I search via <code class="highlighter-rouge">Cmd+F</code>, I often prefer case-insensitive behavior as I’m looking for logic related to a word (could be a <code class="highlighter-rouge">foo_bar</code> or <code class="highlighter-rouge">FooBar</code> and I want <code class="highlighter-rouge">Cmd+F, foo</code> to find both).</p>
<p>It took me awhile to figure out how to get multiselect to behave the way I want regarding case in VS Code.</p>
<p><img src="/assets/im/vscode-case.png" alt="case" /></p>
<p>If you <code class="highlighter-rouge">Cmd+F</code> and toggle case sensitivity by clicking the “Aa” icon (shown above), then multiselect via <code class="highlighter-rouge">Cmd+D</code> will obey the same rule as search via <code class="highlighter-rouge">Cmd+F</code>. But that’s an inefficient pattern for on-the-fly toggling for multiselection.</p>
<p>HOWEVER, <a href="https://github.com/microsoft/vscode/issues/18239">it turns out</a> you can also toggle this setting when editing by issuing <code class="highlighter-rouge">Option+Cmd+C</code>, although there will be no visual cue that anything has happened unless you have the search modal open and can see the “Aa” icon toggle on/off.</p>
<p>This is hard to remember, but it works. Both actions toggle the variable <code class="highlighter-rouge">toogleFindCaseSensitive</code> (not a typo) under the hood.</p>Ben DeatonWhen I use multiselect (aka multiple cursor selection) in VS Code via Cmd+D (which is constantly), I usually prefer case-sensitive behavior when refactoring and finding things I can edit in-place at once. When I search via Cmd+F, I often prefer case-insensitive behavior as I’m looking for logic related to a word (could be a foo_bar or FooBar and I want Cmd+F, foo to find both). It took me awhile to figure out how to get multiselect to behave the way I want regarding case in VS Code. If you Cmd+F and toggle case sensitivity by clicking the “Aa” icon (shown above), then multiselect via Cmd+D will obey the same rule as search via Cmd+F. But that’s an inefficient pattern for on-the-fly toggling for multiselection. HOWEVER, it turns out you can also toggle this setting when editing by issuing Option+Cmd+C, although there will be no visual cue that anything has happened unless you have the search modal open and can see the “Aa” icon toggle on/off. This is hard to remember, but it works. Both actions toggle the variable toogleFindCaseSensitive (not a typo) under the hood.The Gene: Reflections on the PBS documentary2020-04-13T00:00:00+00:002020-04-13T00:00:00+00:00https://jbendeaton.com/blog/2020/the-gene-documentary<p>Read: <a href="https://www.amazon.com/gp/product/B017I25DCC/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B017I25DCC&linkCode=as2&tag=bendea-20&linkId=76257efefa60f57aae26f13041ae85d1">The Gene: An Intimate History, by Siddartha Mukherjee (the book)</a></p>
<p>Watch: <a href="https://www.pbs.org/kenburns/the-gene/">The Gene: An Intimate History, PBS documentary by Ken Burns</a></p>
<p>One of the first things I did in 2018 when we got our rare disease diagnosis for our then-one-year-old was email <a href="http://matt.might.net/">Matt Might</a>, a <a href="https://www.newyorker.com/magazine/2014/07/21/one-of-a-kind-2">rare disease parent</a> and computer-scientist-cum-precision-medicine-researcher, for advice how to get up to speed on our diagnosis and genetics in general. He recommended <a href="https://www.amazon.com/gp/product/B017I25DCC/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B017I25DCC&linkCode=as2&tag=bendea-20&linkId=76257efefa60f57aae26f13041ae85d1">The Gene</a> along with a short textbook geared towards physicists and computational scientists called <a href="https://www.amazon.com/gp/product/1621820343/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=1621820343&linkId=2921982c7d14db09947640ea3db27270">Quickstart Molecular Biology</a>.</p>
<p>I devoured The Gene and recommend it to everyone I know. It provides a fast-paced introduction to the history of genetic research and related technical concepts, but also reads like a novel packed with intrigue and competition. It was a perfect reentry point for someone like me who hadn’t studied biology since undergrad. <a href="https://en.wikipedia.org/wiki/Siddhartha_Mukherjee">Mukherjee</a> won the Pulitzer Prize for his book on cancer, <a href="https://www.amazon.com/gp/product/1439170916/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=1439170916&linkId=045c587e8516aad3703bca52e128f6590">The Emperor of all Maladies</a>, to give you an idea of the quality of writing. I <a href="https://jbendeaton.com/blog/2020/notes-on-spaced-repetition">loaded up Anki</a> with facts from the book.</p>
<p>About a month after getting our daughter’s diagnosis, my wife, daughter, and I were in NYC to see molecular geneticist <a href="https://en.wikipedia.org/wiki/Wendy_Chung">Dr. Wendy Chung</a> in her clinic at Columbia Medical/NY-Presbyterian. Dr. Chung is the lead researcher in the world on our daughter’s disorder (PPP2R5D) and we had been fast-tracked onto her schedule. During our visit, she asked “How’s your molecular biology?” and I mentioned having read The Gene. She noted that it was being made into a documentary by Ken Burns.</p>
<p>What she failed to mention was that she was a primary figure in it. Perhaps even its heart and soul.</p>
<p><img src="/assets/im/wc.png" alt="wc" /></p>
<p>We just watched the first installment this weekend and I was utterly gutted. My wife and I thought the documentary would be a fun and informative way to spend a Friday evening. We put the kids to bed, poured a glass of wine, and settled in for a nice documentary. We had no idea we would be fighting back tears the entire time.</p>
<p>Part 1 covers Mendel through recombinant DNA. Part 2 covers the mapping of the human genome to the present. The material is presented through a nice blend of historical materials and interviews with researchers (Mukherjee most notably, but also many of the key scientists who are still living), all interwoven with stories of people whose lives have been impacted by genetic disorders.</p>
<p>I expected the documentary to basically summarize the book, but it did so in a way that closely tracks one particular family’s journey, the Rosens, through the world of rare disease diagnosis. Their little girl began missing developmental milestones, and a long road of testing landed them in Dr. Chung’s office. Same as us. Here is their beautiful daughter with Dr. Wendy (she’s this incredible with our daughter too):</p>
<p><img src="/assets/im/wc-with-patient.png" alt="wc-with-patient" /></p>
<p>The documentary was like watching the last two years of our life on TV.</p>
<p>There are lot of ways our story is different from the Rosens’. Our daughter’s disorder has serious ramifications for her life, but is not degenerative in the same way and is not expected to shorten her life. Our heart goes out to them.</p>
<p>But to our friends who would like to better understand the world we’ve been living in, there are nonetheless many ways our life has been marked by similar experiences to those featured in the documentary:</p>
<ul>
<li>Our journey started with missed milestones and regressions, just like the family in the documentary.</li>
<li>We too saw countless specialists searching for an answer: neurology, developmental psychologists, speech pathology, craniofacial surgeons, feeding specialists, genetics, cardiology, you name it. Eventually Emory genetics ordered the chromosomal panel that would find the PPP2R5D anomaly, after which we were promptly referred to Dr. Chung.</li>
<li>On one hand, it was incredible to see our very own geneticist featured in a documentary like this. On the other hand, it was a sad reminder that we had cause to be under the care of someone so prominent.</li>
<li>One of the things the documentary emphasizes is the critical need to build as strong neural pathways as possible while the brain is most plastic. We were given the same charge by Dr. Chung, to do absolutely everything we can for our daughter before her third birthday as it would likely make the most tangible impact on her eventual development.</li>
<li>We also needed a mouse! We actually have mice for three different specific mutations within the PPP2R5D gene. Seeing all the kids yelling “I need a mouse!”… 😭</li>
<li>Our daughter’s disorder causes hypotonia (low muscle tone). She wears ankle braces/orthotics just like the little girl in the documentary.</li>
<li>The scene near the end where the father notes that his daughter works harder than anyone he knows… we understand that completely and this is the point in the documentary where I lost my composure. Our daughter fights through ten therapy appointments per week (speech, PT, OT, aqua, music, etc.). We have to intentionally make routine things harder for her so that she develops and maintains strength. Everything requires more effort for her, can you imagine?</li>
<li>In the documentary, the rare disease KIF1A is homologous to Huntington’s disease. Our daughter’s rare disorder PPP2R5D has structural similarities to Alzheimers and certain cancers. We are similarly hopeful that synergies between disorders will help the other.</li>
<li>KIF1A research is progressing because of a tireless parent, Luke Rosen, who has relentlessly advocated for his child. Our disorder has a similar parent, Joseph Lang, who founded <a href="https://jordansguardianangels.org/">Jordan’s Guardian Angels</a>. His daughter Jordan was one of the early diagnosed PPP2R5D patients. We feel we owe the world to Joe for the hope, support, and information his organization has brought us.</li>
<li>Our daughter was the 71st known individual diagnosed with a PPP2R5D-related disorder. I can’t imagine what is it like for families like the Rosens who are among the very first to be found. By the time we were diagnosed, a non-profit had been formed (<a href="https://jordansguardianangels.org/">Jordan’s Guardian Angels</a>) and research was already underway.</li>
<li>In the past 1.5 years, we have grown from 71 to over 130 families in our network. As the documentary mentions, this is significant as we get closer to mouse and the human gene therapy trials. The internet has enabled families to find each other, dragnet-style, in an unprecedented way. Most families get connected via a private Facebook group, found after Googling “ppp2r5d”.</li>
</ul>
<p>Aside from all of the personal reflections, Siddartha Mukherjee is wonderful and I enjoyed putting his voice with his writing. The documentary does a fabulous job weaving the progression of historical genetics discoveries into real-life stories that illustrate the promise and ethical complications inherent in this type of work. I can’t wait for the second installment next week.</p>
<p>I’m thankful this documentary exists and that stories like these are being shared. I’m also deeply grateful for all the researchers, doctors, and rare disease advocates whose tireless work will bring about treatments and perhaps a normal life for people with rare disorders.</p>
<p>On behalf our daughter and all other rare disease children out there who desperately need a cure, please consider the following:</p>
<ul>
<li>Donate to <a href="https://jordansguardianangels.org/how-to-help/">PPP2R5D research here</a>.</li>
<li>Donate to <a href="https://www.kif1a.org/get-involved/donate/">KIF1A research here</a>.</li>
<li>Donate to <a href="https://www.ngly1.org/donate/">NGLY1 research here</a> (Matt Might’s son’s rare disorder).</li>
</ul>Ben DeatonRead: The Gene: An Intimate History, by Siddartha Mukherjee (the book) Watch: The Gene: An Intimate History, PBS documentary by Ken Burns One of the first things I did in 2018 when we got our rare disease diagnosis for our then-one-year-old was email Matt Might, a rare disease parent and computer-scientist-cum-precision-medicine-researcher, for advice how to get up to speed on our diagnosis and genetics in general. He recommended The Gene along with a short textbook geared towards physicists and computational scientists called Quickstart Molecular Biology. I devoured The Gene and recommend it to everyone I know. It provides a fast-paced introduction to the history of genetic research and related technical concepts, but also reads like a novel packed with intrigue and competition. It was a perfect reentry point for someone like me who hadn’t studied biology since undergrad. Mukherjee won the Pulitzer Prize for his book on cancer, The Emperor of all Maladies, to give you an idea of the quality of writing. I loaded up Anki with facts from the book. About a month after getting our daughter’s diagnosis, my wife, daughter, and I were in NYC to see molecular geneticist Dr. Wendy Chung in her clinic at Columbia Medical/NY-Presbyterian. Dr. Chung is the lead researcher in the world on our daughter’s disorder (PPP2R5D) and we had been fast-tracked onto her schedule. During our visit, she asked “How’s your molecular biology?” and I mentioned having read The Gene. She noted that it was being made into a documentary by Ken Burns. What she failed to mention was that she was a primary figure in it. Perhaps even its heart and soul. We just watched the first installment this weekend and I was utterly gutted. My wife and I thought the documentary would be a fun and informative way to spend a Friday evening. We put the kids to bed, poured a glass of wine, and settled in for a nice documentary. We had no idea we would be fighting back tears the entire time. Part 1 covers Mendel through recombinant DNA. Part 2 covers the mapping of the human genome to the present. The material is presented through a nice blend of historical materials and interviews with researchers (Mukherjee most notably, but also many of the key scientists who are still living), all interwoven with stories of people whose lives have been impacted by genetic disorders. I expected the documentary to basically summarize the book, but it did so in a way that closely tracks one particular family’s journey, the Rosens, through the world of rare disease diagnosis. Their little girl began missing developmental milestones, and a long road of testing landed them in Dr. Chung’s office. Same as us. Here is their beautiful daughter with Dr. Wendy (she’s this incredible with our daughter too): The documentary was like watching the last two years of our life on TV. There are lot of ways our story is different from the Rosens’. Our daughter’s disorder has serious ramifications for her life, but is not degenerative in the same way and is not expected to shorten her life. Our heart goes out to them. But to our friends who would like to better understand the world we’ve been living in, there are nonetheless many ways our life has been marked by similar experiences to those featured in the documentary: Our journey started with missed milestones and regressions, just like the family in the documentary. We too saw countless specialists searching for an answer: neurology, developmental psychologists, speech pathology, craniofacial surgeons, feeding specialists, genetics, cardiology, you name it. Eventually Emory genetics ordered the chromosomal panel that would find the PPP2R5D anomaly, after which we were promptly referred to Dr. Chung. On one hand, it was incredible to see our very own geneticist featured in a documentary like this. On the other hand, it was a sad reminder that we had cause to be under the care of someone so prominent. One of the things the documentary emphasizes is the critical need to build as strong neural pathways as possible while the brain is most plastic. We were given the same charge by Dr. Chung, to do absolutely everything we can for our daughter before her third birthday as it would likely make the most tangible impact on her eventual development. We also needed a mouse! We actually have mice for three different specific mutations within the PPP2R5D gene. Seeing all the kids yelling “I need a mouse!”… 😭 Our daughter’s disorder causes hypotonia (low muscle tone). She wears ankle braces/orthotics just like the little girl in the documentary. The scene near the end where the father notes that his daughter works harder than anyone he knows… we understand that completely and this is the point in the documentary where I lost my composure. Our daughter fights through ten therapy appointments per week (speech, PT, OT, aqua, music, etc.). We have to intentionally make routine things harder for her so that she develops and maintains strength. Everything requires more effort for her, can you imagine? In the documentary, the rare disease KIF1A is homologous to Huntington’s disease. Our daughter’s rare disorder PPP2R5D has structural similarities to Alzheimers and certain cancers. We are similarly hopeful that synergies between disorders will help the other. KIF1A research is progressing because of a tireless parent, Luke Rosen, who has relentlessly advocated for his child. Our disorder has a similar parent, Joseph Lang, who founded Jordan’s Guardian Angels. His daughter Jordan was one of the early diagnosed PPP2R5D patients. We feel we owe the world to Joe for the hope, support, and information his organization has brought us. Our daughter was the 71st known individual diagnosed with a PPP2R5D-related disorder. I can’t imagine what is it like for families like the Rosens who are among the very first to be found. By the time we were diagnosed, a non-profit had been formed (Jordan’s Guardian Angels) and research was already underway. In the past 1.5 years, we have grown from 71 to over 130 families in our network. As the documentary mentions, this is significant as we get closer to mouse and the human gene therapy trials. The internet has enabled families to find each other, dragnet-style, in an unprecedented way. Most families get connected via a private Facebook group, found after Googling “ppp2r5d”. Aside from all of the personal reflections, Siddartha Mukherjee is wonderful and I enjoyed putting his voice with his writing. The documentary does a fabulous job weaving the progression of historical genetics discoveries into real-life stories that illustrate the promise and ethical complications inherent in this type of work. I can’t wait for the second installment next week. I’m thankful this documentary exists and that stories like these are being shared. I’m also deeply grateful for all the researchers, doctors, and rare disease advocates whose tireless work will bring about treatments and perhaps a normal life for people with rare disorders. On behalf our daughter and all other rare disease children out there who desperately need a cure, please consider the following: Donate to PPP2R5D research here. Donate to KIF1A research here. Donate to NGLY1 research here (Matt Might’s son’s rare disorder).My current remote work setup2020-03-22T00:00:00+00:002020-03-22T00:00:00+00:00https://jbendeaton.com/blog/2020/my-remote-work-setup<p>I’ve been planning to write a post describing my remote work setup for several months, but now that a global pandemic is forcing most of the world to work from home, I thought perhaps a description of my setup might be helpful to others who are figuring this out for the first time.</p>
<p>I’ve spent a lot of time trying to dial in this setup over the last three years while working from home full-time. I figure since I spend thousands of hours per year using this setup, I should love it and try to get every aspect just right. It’s always a work in progress, but I’m very happy with the decisions I’ve made for now.</p>
<p>My criteria were pretty simple:</p>
<ul>
<li>Minimalist aesthetic that integrates cleanly with my living space</li>
<li>Seamless transition between sitting and standing</li>
<li>Flexibility to dial in the ergonomic aspect of every single component</li>
<li>Use the smallest desk that comfortably accommodates my computing setup alongside reference materials (books/papers)</li>
<li>Minimize desk surface area taken up by fixed objects (i.e. I sometimes like to spread out papers and books over the desk without being blocked by a monitor stand)</li>
</ul>
<p>I’ll start with some photos and then give a link and a few short comments on each item.</p>
<p><img src="/assets/im/desk-sit.jpg" alt="wfh-desk-sit" /></p>
<p><img src="/assets/im/desk-stand.jpg" alt="wfh-desk-stand" /></p>
<p><img src="/assets/im/desk-front.jpg" alt="wfh-desk-front" /></p>
<h2 id="furniture">Furniture</h2>
<ul>
<li>
<p><a href="https://www.upliftdesk.com/uplift-v2-standing-desk-v2-or-v2-commercial/">Uplift V2 Standing Desk</a>: I chose the UPLIFT Desk based on the <a href="https://thewirecutter.com/reviews/best-standing-desk/">Wirecutter review</a>. I LOVE this desk. It is rock solid, aesthetic, and probably the best value I could find in all my research. I chose white hardware so it would blend in with the trim in my house. I also highly recommend the curved desk surface as it feels much more ergonomic than any straight desk I have used. The sit/stand heights are programmable (you really want this instead of trying to dial in the height each time you transition). The cable management is great. Note that it comes in a wide variety of sizes (5), types of wood (20), and hardware colors (4). My configuration: 1” thick Carbonized Bamboo Desktop - 48” x 30” curved with grommets, white frame.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Aeron_chair">Herman Miller Aeron chair</a>: This chair has a Wikipedia article and needs no introduction. All I will say is that I bought a perfect condition two-year-old model from an office liquidation sale on Craigslist for under $400. You can buy them at this price/condition all day long on Craigslist; there’s no reason to by a new one at $1700.</p>
</li>
<li>
<p><a href="https://www.fully.com/jarvis-monitor-arm.html">Fully Jarvis Single Monitor Arm</a>: Another <a href="https://thewirecutter.com/reviews/best-monitor-arms/">Wirecutter recommendation</a>, I got turned on to using a monitor arm after seeing photos of <a href="https://paulstamatiou.com/building-a-windows-10-lightroom-photo-editing-pc/">Paul Stamatiou’s setup</a>. The Jarvis monitor arm in white perfectly matches the aesthetic of my Uplift desk, and it has been very stable with a 34” ultra widescreen monitor (discussed below). I found that attaching it via the right grommet opening was much more solid than clamping to the back edge (it comes with hardware for both). YMMV. Highly recommend a monitor arm; it opens up a ton of space on your work surface and gives you much more control when dialing in the height and depth of the monitor.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B07F1RRNYQ/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B07F1RRNYQ&linkId=33c258493eb8d52e66298340cfed565f">Polycarbonate Plastic Chair Mat</a>: This mat is amazing. It is almost completely clear (you can hardly see it in the photos above), hard plastic, ships flat in a box. This means it blends well with your carpet and also doesn’t roll up like those cheap vinyl ones, but lays perfectly flat.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B015GEH62Y/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B015GEH62Y&linkId=721ee0751e7e74a4b26c16c1ca4a2e6f">Imprint Cumulus Pro Anti-Fatigue Mat</a>: A high quality anti-fatigue mat is a non-negotiable requirement if you spend any time standing. For me, having this is the difference between standing for hours vs. standing occasionally.</p>
</li>
</ul>
<h2 id="computing">Computing</h2>
<ul>
<li>
<p><a href="https://www.apple.com/macbook-pro/">MacBook Pro 15 inch</a>: Not much to say here.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B07JP1QK9T/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B07JP1QK9T&linkId=d8af646d2730dd41f886e780e7140870">LG 34BK95U-W 34” UltraWide 5K monitor</a>: When my CEO offered to get me this monitor, I thought it would be way too big. But I love it. I can easily scale from having a single window open in the center, to having VS Code open with two editing windows, a vertical terminal window, file tree, etc., all at a readable text size.</p>
</li>
<li>
<p><a href="https://www.brydge.com/products/vertical-dock">Henge Vertical Docking Station</a>: This dock is very solid and also clears a lot of space on my work surface. Since all of my peripherals are Bluetooth, this only has a single Thunderbolt connection that powers the MacBook Pro and connects to the external display. Highly recommend this one.</p>
</li>
<li>
<p><a href="https://www.keychron.com/products/keychron-k2-wireless-mechanical-keyboard">Keychron K2 mechanical keyboard</a>: People either love or hate mechanical keybaords. I like this one because: (a) it’s wireless, (b) it’s Mac-first and has the standard Mac modifier keys for audio control, etc., (c) it has full function row, arrow keys, and nav keys which are harder to get in a compact mechanical keyboard, and (d) you get quite a few choices for switches (I chose blue, ask my wife what she thinks about that). I suggest the RGB backlight as I found it more fun than I expected.</p>
</li>
<li>
<p><a href="https://www.keychron.com/products/keychron-k2-walnut-wood-palm-rest">Keychron K2 Walnut Wood Palm Rest</a>: Keychron’s palm rest is perfectly sized to the keyboard and looks great. Disclaimer: The one I got doesn’t have the Keychron logo, which looks a little jarring in the current product images on their website.</p>
</li>
<li>
<p><a href="https://www.apple.com/shop/product/MJ2R2LL/A/magic-trackpad-2-silver">Apple Magic Trackpad 2</a>: Again, wireless peripheral to keep my work surface clean and devoid of cables. The charge on this lasts forever. Also, space gray obviously.</p>
</li>
<li>
<p><a href="https://www.apple.com/airpods/">Apple AirPods</a>: I primarily use AirPods for music listening and video conferencing all day for work. I like the ones with the charging case so I can use them with my desk’s built-in wireless charger.</p>
</li>
<li>
<p><a href="https://fliqlo.com/">Clock screensaver</a>: Just a design-ey flipclock screensaver.</p>
</li>
</ul>
<h2 id="peripherals--miscellanea">Peripherals & Miscellanea</h2>
<ul>
<li>
<p><a href="https://www.amazon.com/gp/product/B077XHJPHF/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B077XHJPHF&linkId=3d384350abe5558cd505f1aa13d183df">Xiaomi Mi LED lamp</a>: This is a simple desk lamp that folds away, and is easily tunable for both brightness and warmth via a single knob/button. The white aesthetic blends perfectly with the desk and monitor arm hardware. Also provides some nice ambient light. It won design awards or something; I like how it looks. Discovered via <a href="https://paulstamatiou.com/stuff-i-use/">Paul Stamatiou</a>.</p>
</li>
<li>
<p><a href="https://www.areaware.com/products/table-tiles">Bower for Areaware Table Tile Coaster</a>: I bought a few sets of these geometric coasters at the MoMA Design Store in NYC several years ago.</p>
</li>
<li>
<p><a href="https://www.amazon.com/s?k=wireless+charger+grommet&tag=bendea-20">IKEA Wireless charger in grommet</a>: It doesn’t look like this is available anymore at IKEA online (maybe in-store?), but several years ago I bought a set of wireless chargers at IKEA thinking they were standalone chargers. It turns out they were intended to be mounted in a grommet but I wasn’t about to drill holes in our bedside tables, so they sat in a closet for a few years. After I bought the desk and realized there was an unused grommet, I remembered this charger. I use this to charge either my iPhone or AirPods. I will probably replace this with a white option at some point since the black kind of stands out.</p>
</li>
<li>
<p><a href="https://www.roguefitness.com/rogue-kettlebells">Rogue Fitness 16kg Kettlebell</a>: I keep a 35 lb kettlebell right next to my desk. Most days I do 15 sets of 10 swings sometime during my work day when I hit a slump. Having it next to my desk reminds me to use it. No special clothes or additional equipment required.</p>
</li>
<li>
<p><a href="https://www.upliftdesk.com/bamboo-motion-x-board-by-uplift-desk/">Bamboo Motion-X Wobble Board</a>: Another small convenience that makes using a standing desk more sustainable and a little more fun. This shipped as a free add-on when I bought my Uplift desk.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B01M06IJA8/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B01M06IJA8&linkId=95748c15dac83e3e235012452831be78">Trond mountable power strip</a>: I have this mounted on the underside of the desk near the back, right beside the cable management tray came with the desk. This has both standard power and USB sockets. Everything you see in the photos plugs into it; its white power cord is the only visible cable leaving the desk.</p>
</li>
<li>
<p><a href="https://www.amazon.com/gp/product/B00M1NEUKK/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=bendea-20&creative=9325&linkCode=as2&creativeASIN=B00M1NEUKK&linkId=21be43aab01904c511b395427a3edbd6">Bose QC25 Noise Cancelling Headphones</a>: Not pictured, but primarily used on airplanes and when I need to get into a hacker fugue state.</p>
</li>
<li>
<p>Air plant: Not pictured because it died. :(</p>
</li>
</ul>
<p>Disclaimer: Affiliate links throughout.</p>Ben DeatonI’ve been planning to write a post describing my remote work setup for several months, but now that a global pandemic is forcing most of the world to work from home, I thought perhaps a description of my setup might be helpful to others who are figuring this out for the first time. I’ve spent a lot of time trying to dial in this setup over the last three years while working from home full-time. I figure since I spend thousands of hours per year using this setup, I should love it and try to get every aspect just right. It’s always a work in progress, but I’m very happy with the decisions I’ve made for now. My criteria were pretty simple: Minimalist aesthetic that integrates cleanly with my living space Seamless transition between sitting and standing Flexibility to dial in the ergonomic aspect of every single component Use the smallest desk that comfortably accommodates my computing setup alongside reference materials (books/papers) Minimize desk surface area taken up by fixed objects (i.e. I sometimes like to spread out papers and books over the desk without being blocked by a monitor stand) I’ll start with some photos and then give a link and a few short comments on each item. Furniture Uplift V2 Standing Desk: I chose the UPLIFT Desk based on the Wirecutter review. I LOVE this desk. It is rock solid, aesthetic, and probably the best value I could find in all my research. I chose white hardware so it would blend in with the trim in my house. I also highly recommend the curved desk surface as it feels much more ergonomic than any straight desk I have used. The sit/stand heights are programmable (you really want this instead of trying to dial in the height each time you transition). The cable management is great. Note that it comes in a wide variety of sizes (5), types of wood (20), and hardware colors (4). My configuration: 1” thick Carbonized Bamboo Desktop - 48” x 30” curved with grommets, white frame. Herman Miller Aeron chair: This chair has a Wikipedia article and needs no introduction. All I will say is that I bought a perfect condition two-year-old model from an office liquidation sale on Craigslist for under $400. You can buy them at this price/condition all day long on Craigslist; there’s no reason to by a new one at $1700. Fully Jarvis Single Monitor Arm: Another Wirecutter recommendation, I got turned on to using a monitor arm after seeing photos of Paul Stamatiou’s setup. The Jarvis monitor arm in white perfectly matches the aesthetic of my Uplift desk, and it has been very stable with a 34” ultra widescreen monitor (discussed below). I found that attaching it via the right grommet opening was much more solid than clamping to the back edge (it comes with hardware for both). YMMV. Highly recommend a monitor arm; it opens up a ton of space on your work surface and gives you much more control when dialing in the height and depth of the monitor. Polycarbonate Plastic Chair Mat: This mat is amazing. It is almost completely clear (you can hardly see it in the photos above), hard plastic, ships flat in a box. This means it blends well with your carpet and also doesn’t roll up like those cheap vinyl ones, but lays perfectly flat. Imprint Cumulus Pro Anti-Fatigue Mat: A high quality anti-fatigue mat is a non-negotiable requirement if you spend any time standing. For me, having this is the difference between standing for hours vs. standing occasionally. Computing MacBook Pro 15 inch: Not much to say here. LG 34BK95U-W 34” UltraWide 5K monitor: When my CEO offered to get me this monitor, I thought it would be way too big. But I love it. I can easily scale from having a single window open in the center, to having VS Code open with two editing windows, a vertical terminal window, file tree, etc., all at a readable text size. Henge Vertical Docking Station: This dock is very solid and also clears a lot of space on my work surface. Since all of my peripherals are Bluetooth, this only has a single Thunderbolt connection that powers the MacBook Pro and connects to the external display. Highly recommend this one. Keychron K2 mechanical keyboard: People either love or hate mechanical keybaords. I like this one because: (a) it’s wireless, (b) it’s Mac-first and has the standard Mac modifier keys for audio control, etc., (c) it has full function row, arrow keys, and nav keys which are harder to get in a compact mechanical keyboard, and (d) you get quite a few choices for switches (I chose blue, ask my wife what she thinks about that). I suggest the RGB backlight as I found it more fun than I expected. Keychron K2 Walnut Wood Palm Rest: Keychron’s palm rest is perfectly sized to the keyboard and looks great. Disclaimer: The one I got doesn’t have the Keychron logo, which looks a little jarring in the current product images on their website. Apple Magic Trackpad 2: Again, wireless peripheral to keep my work surface clean and devoid of cables. The charge on this lasts forever. Also, space gray obviously. Apple AirPods: I primarily use AirPods for music listening and video conferencing all day for work. I like the ones with the charging case so I can use them with my desk’s built-in wireless charger. Clock screensaver: Just a design-ey flipclock screensaver. Peripherals & Miscellanea Xiaomi Mi LED lamp: This is a simple desk lamp that folds away, and is easily tunable for both brightness and warmth via a single knob/button. The white aesthetic blends perfectly with the desk and monitor arm hardware. Also provides some nice ambient light. It won design awards or something; I like how it looks. Discovered via Paul Stamatiou. Bower for Areaware Table Tile Coaster: I bought a few sets of these geometric coasters at the MoMA Design Store in NYC several years ago. IKEA Wireless charger in grommet: It doesn’t look like this is available anymore at IKEA online (maybe in-store?), but several years ago I bought a set of wireless chargers at IKEA thinking they were standalone chargers. It turns out they were intended to be mounted in a grommet but I wasn’t about to drill holes in our bedside tables, so they sat in a closet for a few years. After I bought the desk and realized there was an unused grommet, I remembered this charger. I use this to charge either my iPhone or AirPods. I will probably replace this with a white option at some point since the black kind of stands out. Rogue Fitness 16kg Kettlebell: I keep a 35 lb kettlebell right next to my desk. Most days I do 15 sets of 10 swings sometime during my work day when I hit a slump. Having it next to my desk reminds me to use it. No special clothes or additional equipment required. Bamboo Motion-X Wobble Board: Another small convenience that makes using a standing desk more sustainable and a little more fun. This shipped as a free add-on when I bought my Uplift desk. Trond mountable power strip: I have this mounted on the underside of the desk near the back, right beside the cable management tray came with the desk. This has both standard power and USB sockets. Everything you see in the photos plugs into it; its white power cord is the only visible cable leaving the desk. Bose QC25 Noise Cancelling Headphones: Not pictured, but primarily used on airplanes and when I need to get into a hacker fugue state. Air plant: Not pictured because it died. :( Disclaimer: Affiliate links throughout.Notes on Spaced Repetition Memory Systems2020-02-21T00:00:00+00:002020-02-21T00:00:00+00:00https://jbendeaton.com/blog/2020/notes-on-spaced-repetition<p>I recently began experimenting with spaced repetition memory systems. I was inspired to investigate this after reading Michael Nielsen’s writing on the topic (see <a href="http://augmentingcognition.com/ltm.html">here</a> and <a href="http://cognitivemedium.com/srs-mathematics">here</a>). I’m somewhat of a Michael Nielsen super-fan (see <a href="https://jbendeaton.com/blog/2011/open-science-nielsen">this post about a lecture he gave at Georgia Tech</a>), so when he describes something like spaced repetition as being a superpower that radically changed his life, I have to listen closely and take heed. If you’re unfamiliar with Nielsen, I would suggest reading his <a href="http://michaelnielsen.org/blog/principles-of-effective-research/">Principles of Effective Research</a> as a starting point.</p>
<p>Here are the tweets that set me off about spaced repetition:</p>
<p><img src="/assets/im/nielsen_twitter.png" alt="nielsen_twitter" /></p>
<p>(Read the <a href="https://twitter.com/michael_nielsen/status/957763229454774272?lang=en">entire Twitter stream here</a>.)</p>
<p>I immediately <a href="https://apps.ankiweb.net/">downloaded Anki</a> and began loading it up with machine learning and molecular biology questions.</p>
<p>In an effort to solidify my understanding of spaced repetition and get the most out of using Anki, around a year ago, I prepared a handout and gave a talk at a <a href="https://en.wikipedia.org/wiki/Junto_(club)">Junto</a> that I frequently attend. I’m sharing that handout here in hopes that someone may find it useful.</p>
<p>(It was also a good excuse to try out the <a href="https://tufte-latex.github.io/tufte-latex/">tufte-latex</a> document class.)</p>
<p>Download the <a href="https://github.com/bendeaton/spaced-repetition-notes/raw/master/spaced-repetition.pdf">8-page handout here</a>:</p>
<p><a href="https://github.com/bendeaton/spaced-repetition-notes/raw/master/spaced-repetition.pdf">
<img src="/assets/im/spaced-repetition-notes-first-page.png" alt="spaced-repetition-handout" />
</a></p>
<p>The source is <a href="https://github.com/bendeaton/spaced-repetition-notes">available on Github</a>. Note that I tried to replace a lot of the examples with my own, but likely failed to attribute some ideas which were not my own.</p>
<p>One final note for machine learning people: Chris Albon’s famous <a href="https://machinelearningflashcards.com/">Machine Learning Flashcards</a> ship with an Anki-compatible set of images. Although it’s generally best to create your own cards, I have enjoyed using these in the app and highly recommend. They’re worth much more than the $12 price.</p>Ben DeatonI recently began experimenting with spaced repetition memory systems. I was inspired to investigate this after reading Michael Nielsen’s writing on the topic (see here and here). I’m somewhat of a Michael Nielsen super-fan (see this post about a lecture he gave at Georgia Tech), so when he describes something like spaced repetition as being a superpower that radically changed his life, I have to listen closely and take heed. If you’re unfamiliar with Nielsen, I would suggest reading his Principles of Effective Research as a starting point. Here are the tweets that set me off about spaced repetition: (Read the entire Twitter stream here.) I immediately downloaded Anki and began loading it up with machine learning and molecular biology questions. In an effort to solidify my understanding of spaced repetition and get the most out of using Anki, around a year ago, I prepared a handout and gave a talk at a Junto that I frequently attend. I’m sharing that handout here in hopes that someone may find it useful. (It was also a good excuse to try out the tufte-latex document class.) Download the 8-page handout here: The source is available on Github. Note that I tried to replace a lot of the examples with my own, but likely failed to attribute some ideas which were not my own. One final note for machine learning people: Chris Albon’s famous Machine Learning Flashcards ship with an Anki-compatible set of images. Although it’s generally best to create your own cards, I have enjoyed using these in the app and highly recommend. They’re worth much more than the $12 price.Review of the Coursera Machine Learning course by Andrew Ng2020-02-16T00:00:00+00:002020-02-16T00:00:00+00:00https://jbendeaton.com/blog/2020/coursera-ml-review<p>I started Andrew Ng’s famous <a href="https://www.coursera.org/learn/machine-learning">Coursera Machine Learning course</a> in 2015 after deciding to leave engineering and pursue a career in machine learning. I almost finished it, but then I actually got a job doing ML at a startup, life got crazy, and I never completed the final few weeks of the course.</p>
<p>I recently decided to revisit and finish it. Here are some of my thoughts:</p>
<ul>
<li>A large number of very well-known ML people got their start with this course. That’s pretty incredible.</li>
<li>This course was exceptionally encouraging when I first started learning ML. I can’t overstate just how much Ng’s enthusiasm and encouragement increased my confidence that I could chart a new course in ML.</li>
<li>The material in this course still holds up well in 2020. He doesn’t cover the latest algorithms or tools, but that’s not the point. The point of this course is to teach fundamentals and provide intuition around the foundational, classical ML algorithms.</li>
<li>When I started learning ML, I found the MOOC format a nice complement to the other learning modalities I was using at the time. Some people are fine with just reading books (I read a lot of books also), but I found taking a combined approach of doing MOOCs, reading (mostly O’Reilly) books, and implementing algorithms/examples on my own very effective. Ng’s course was an important axis of my transition into ML, but by no means the whole story. I’ll write more about this another time.</li>
<li>It’s really good to spend time contemplating the basics. I’ve written before (borrowing from Feynman) about how <a href="https://jbendeaton.com/blog/2011/time-spent-on-basic-ideas-is-never-wasted">time spent on basic ideas is never wasted</a>, and revisiting this material now was stimulating in a new way.</li>
<li>Here is the <a href="https://www.coursera.org/learn/machine-learning#syllabus">course syllabus</a>. The course provides a high level overview of linear regression, logistic regression, regularization, neural networks, support vector machines, some unsupervised learning techniques like k-means clustering and principal components analysis (PCA), basic anomaly detection approaches, collaborative filtering/recommender system basics, and a lot of more generic advice about ML system design, intuition around approaching ML problems, and techniques for improving the performance of algorithms.</li>
<li>I wish the course discussed tree-based methods like decision trees, random forests, and boosting algorithms. I have always been fond of these approaches and have had good success with them. The course is time-constrained, sure, but I would have rather seen this replace support vector machines, for example.</li>
<li>As someone who has been working in ML for quite a few years now, I loved hearing his anecdotal intuitions around model improvement and decision-making. I especially liked the concept of ceiling analysis, which was new to me.</li>
<li>Do the programming exercises. If you have experience with linear algebra programming (Matlab, Python/numpy), the programming assignments are going to be really easy. You won’t implement any algorithms from scratch, rather you will fill in gaps in pre-written code (such as cost function, forward/backpropagation steps, etc.).</li>
<li>Don’t forego the programming exercises just because they’re in Octave. Octave is extremely easy to learn and everything you need to know there can be easily googled (for loops, matrix operations, control flow).</li>
<li>You’re unlikely to become an expert in any of the above just from this course, but it’s a very good orientation to the field and jumping off point.</li>
<li>A lot of people wonder whether this course (or one like it) is enough to land a job in machine learning. The answer is probably “no”, and in fact for sure “no” if you have no prior technical background, don’t know linear algebra or how to program, and don’t have an existing network of software/data science people. But if you are really good at Python/math, already do technical/software/data-adjacent work, and know people, it might be enough to get your foot in the door. Although it’s not a huge time investment, completing a MOOC like this is more than nothing and can be listed on your resume/LinkedIn, unlike books you have read. If a career in ML is your goal, it’s not a bad place to start.</li>
</ul>Ben DeatonI started Andrew Ng’s famous Coursera Machine Learning course in 2015 after deciding to leave engineering and pursue a career in machine learning. I almost finished it, but then I actually got a job doing ML at a startup, life got crazy, and I never completed the final few weeks of the course. I recently decided to revisit and finish it. Here are some of my thoughts: A large number of very well-known ML people got their start with this course. That’s pretty incredible. This course was exceptionally encouraging when I first started learning ML. I can’t overstate just how much Ng’s enthusiasm and encouragement increased my confidence that I could chart a new course in ML. The material in this course still holds up well in 2020. He doesn’t cover the latest algorithms or tools, but that’s not the point. The point of this course is to teach fundamentals and provide intuition around the foundational, classical ML algorithms. When I started learning ML, I found the MOOC format a nice complement to the other learning modalities I was using at the time. Some people are fine with just reading books (I read a lot of books also), but I found taking a combined approach of doing MOOCs, reading (mostly O’Reilly) books, and implementing algorithms/examples on my own very effective. Ng’s course was an important axis of my transition into ML, but by no means the whole story. I’ll write more about this another time. It’s really good to spend time contemplating the basics. I’ve written before (borrowing from Feynman) about how time spent on basic ideas is never wasted, and revisiting this material now was stimulating in a new way. Here is the course syllabus. The course provides a high level overview of linear regression, logistic regression, regularization, neural networks, support vector machines, some unsupervised learning techniques like k-means clustering and principal components analysis (PCA), basic anomaly detection approaches, collaborative filtering/recommender system basics, and a lot of more generic advice about ML system design, intuition around approaching ML problems, and techniques for improving the performance of algorithms. I wish the course discussed tree-based methods like decision trees, random forests, and boosting algorithms. I have always been fond of these approaches and have had good success with them. The course is time-constrained, sure, but I would have rather seen this replace support vector machines, for example. As someone who has been working in ML for quite a few years now, I loved hearing his anecdotal intuitions around model improvement and decision-making. I especially liked the concept of ceiling analysis, which was new to me. Do the programming exercises. If you have experience with linear algebra programming (Matlab, Python/numpy), the programming assignments are going to be really easy. You won’t implement any algorithms from scratch, rather you will fill in gaps in pre-written code (such as cost function, forward/backpropagation steps, etc.). Don’t forego the programming exercises just because they’re in Octave. Octave is extremely easy to learn and everything you need to know there can be easily googled (for loops, matrix operations, control flow). You’re unlikely to become an expert in any of the above just from this course, but it’s a very good orientation to the field and jumping off point. A lot of people wonder whether this course (or one like it) is enough to land a job in machine learning. The answer is probably “no”, and in fact for sure “no” if you have no prior technical background, don’t know linear algebra or how to program, and don’t have an existing network of software/data science people. But if you are really good at Python/math, already do technical/software/data-adjacent work, and know people, it might be enough to get your foot in the door. Although it’s not a huge time investment, completing a MOOC like this is more than nothing and can be listed on your resume/LinkedIn, unlike books you have read. If a career in ML is your goal, it’s not a bad place to start.On Deleting Facebook and Rare Disease2019-06-09T00:00:00+00:002019-06-09T00:00:00+00:00https://jbendeaton.com/blog/2019/facebook-and-rare-disease<p>I have wrestled with the wisdom of having a Facebook account for years. I’ve deactivated, reactivated, and exported all my data with the intent to permanently delete (multiple times each).</p>
<p>I am deeply concerned about that data that companies like Facebook collect about their users. I am deeply concerned about the impact of social media on friendship as a construct. I am deeply concerned about the effect of social media on my and others’ mental health. I am deeply concerned about the impact that Facebook wields over geopolitical matters. I could link to article after article that makes coherent and compelling arguments that you should steer very clear of these technologies. I have been quite convinced by these arguments.</p>
<p>And so it was that in October of 2018, (I can’t remember the final straw but) I decided it was finally time to take the nuclear option and permanently delete my profile on principle.</p>
<p>But life was crazy and I never got around to it.</p>
<p>Then another thing happened on October 25, 2018: After a year of testing and investigation, we received a conclusive rare genetic disorder diagnosis for our youngest daughter M. The pediatric genetics group at Emory University was not very helpful at this point—to be fair, it’s unreasonable to expect any geneticist to know much about a disorder affecting what we would come to find out was less than 100 known individuals.</p>
<p>We were told, in essense: (a) Your daughter has an ultra-rare genetic disorder with fewer than 30 cases described in the medical literature, (b) we have no idea how to estimate the severity of her case and long-term prognosis, (c) come back in two years and we’ll review the literature for you to see if there’s anything new, and (d) <strong>there’s a family Facebook group you should join that might be helpful</strong>. Good luck!</p>
<h2 id="the-ppp2r5d-families-facebook-group">The PPP2R5D Families Facebook Group</h2>
<p>It turned out that the private PPP2R5D Families Facebook group is the central gathering point for all families worldwide who are affected by our daughter’s disorder. As soon as we saw the banner image on this Facebook page, we immediately recognized the characteristic shape of our daughter’s head in the collage of children’s photos and knew we had found our tribe.</p>
<p>We immediately requested to join and within hours were met with the following post in the group:</p>
<p><img src="/assets/im/fb_ppp2r5d_family_group_welcome.png" alt="fb-family-group" /></p>
<p>Family number 71! Our daughter M was the 71st known case in the whole world. Gina and I: 😭😭</p>
<p>It would be hard to put into words what this message meant to us. We had been on a 1.5-year journey at that point trying to figure out what was going on with our daughter. While our family and friends were incredibly supportive, nobody we knew <em>got it</em>. We didn’t know anyone who had navigated the world of <a href="https://twitter.com/search?q=%23RareDisease&src=tyah">#raredisease</a> at that point. Lots of people we knew were empathetic, but almost no one we knew could actually relate.</p>
<p>Within 24 hours, the following things happened via this Facebook group:</p>
<ul>
<li>We received an outpouring of support and encouragement from families from all over the US, England, Ireland, Israel, the Netherlands, Australia, New Zealand, etc.</li>
<li>We met the other family in Atlanta with a PPP2R5D variant.</li>
<li>We were connected with Dr. Wendy Chung from Columbia University (PI on the 9-university research study seeking a cure), <strong>spoke with her on the phone</strong>, and were fast-tracked for an appointment in her clinic in NYC.</li>
<li>We learned all about the non-profit connected to the PPP2R5D gene (<a href="http://jordansguardianangels.org/">Jordan’s Guardian Angels</a>) and the coordinated research efforts underway at nine research centers all over the world.</li>
</ul>
<p>The understanding between people in this group is unlike anything I have ever experienced. Every day someone will describe an experience or ask a question (what has worked for you for <em>xyz</em> symptom?) and be met with a chorus of “me too” or “here’s what worked for us” from some of the only people in the world who truly know.</p>
<p>Another thing that is truly incredible about this group is that not only do the families come from all over the world, but they speak different languages. The Facebook “Translate this” tool allows for reasonably seamless conversation across language barriers, even about complex medical questions.</p>
<p>This group of now-101 families has been a lifeline for us. As soon as we had joined this group and all the love and support started flowing in, my wife and I looked at each other and were like: Yeah, we’re not deleting Facebook.</p>
<h2 id="network-effects">Network effects</h2>
<p>Facebook has also allowed for some interesting effects which we didn’t anticipate at first. After we learned about the research being conducted for PPP2R5D/Jordan’s Syndrome, we knew that we wanted to do everything we could to raise money for this nonprofit and help find a cure that would help our daughter and all other current and future children affected by this disorder.</p>
<p>We quickly picked up on a common tactic many families used to raise money: holding a Facebook fundraiser on the child’s birthday. M’s second birthday was approaching, and my wife Gina suggested we go for it.</p>
<p>This was our first foray into medical fundraising.</p>
<p>Gina set up the fundraiser and did an incredible job telling M’s story. She set it up with an initial goal of $2000, but we met that goal within 24 hours. So we increased the goal to $4000. Then we reached that goal and increased it again.</p>
<p>Eventually the fundraiser reached over $6000 between Facebook and direct donations to Jordan’s Guardian Angels (not captured in the image below):</p>
<p><img src="/assets/im/fb-ppp2r5d-fundraiser.png" alt="fb-fundraiser" /></p>
<p>Here are some things about this that surprised us:</p>
<ul>
<li>A huge percentage of that $6000 came from people on Facebook who (a) we don’t know very well and (b) have never even met our daughter.</li>
<li>Many of our good friends shared the fundraiser with their networks which led to donations from people we don’t know at all, but who were touched by our daughter’s story.</li>
<li>This is uncomfortable to discuss, but many people we know pretty well never even acknowledged the fundraiser or responded in any way. I’m not (too) upset about it, but it’s interesting to point out in the sense that if we had directly emailed people we thought would be supporters, many of the people who would have been on that list weren’t the people that ended up giving.</li>
</ul>
<p>Facebook facilitated something here that I don’t think we could have executed otherwise.</p>
<h2 id="so-youre-sharing-medical-information-on-facebook">So you’re sharing medical information on Facebook?</h2>
<p>Yes. It’s not lost on me that I have a million concerns about Facebook and then choose to participate in a group centered around the minutiae of specific genetic details pertaining to my daughter. Facebook knows the precise letters that are modified in her genome vs. the wild type human.</p>
<p>It is simply the price I have to pay to for access to the best information that can help her.</p>
<h2 id="alternatives-to-facebook">Alternatives to Facebook?</h2>
<p>I’ve wracked my brain to think what an alternative gathering point would be.</p>
<p>What other tool meets the following criteria:</p>
<ul>
<li>Everyone uses it already.</li>
<li>Provides built-in language translation for cross-cultural communication.</li>
<li>Has public and private elements to support public dissemination of information and private collaboration of families.</li>
<li>Makes it easy for advocacy and fundraising with friends who are not in the private families group.</li>
</ul>
<p>An email list is basically the only possible alternative I can think of, and its problems seem numerous and self-evident in comparison to what Facebook enables on this front.</p>
<p>We could still use Facebook except with (semi-)anonymous profiles? That solves the private family group problem but not the global advocacy and fundraising aspects.</p>
<p>Rare disease parents don’t have time to add another tool to their arsenal or website to check. The gathering point tool has to be totally seamless or else it won’t be used.</p>
<p>Look, I want to hate Facebook as much as the next person but what else could accomplish everything above?</p>
<p>I don’t have the <a href="http://blog.vickiboykis.com/2019/04/25/digital-noise/">“luxury of opting out”, as Vicki Boykis put it recently</a>.</p>
<h2 id="what-can-you-do">What can you do?</h2>
<p>I would appreciate it from the bottom of my heart if you would consider the following:</p>
<ul>
<li>Please follow <a href="https://www.facebook.com/PPP2R5D">PPP2R5D - Jordan’s Syndrome</a> on Facebook to learn more about our children and the exciting research that is underway.</li>
<li>Please consider supporting <a href="http://jordansguardianangels.org/">Jordan’s Guardian Angels</a>, the non-profit driving the research on PPP2R5D. We have met the founders and the entire research team and can vouch for the amazing work they are doing. You can make a <a href="http://jordansguardianangels.org/how-to-help/">donation using this link</a> that will go to directly drive the research that could help our children. 🙏</li>
</ul>Ben DeatonI have wrestled with the wisdom of having a Facebook account for years. I’ve deactivated, reactivated, and exported all my data with the intent to permanently delete (multiple times each). I am deeply concerned about that data that companies like Facebook collect about their users. I am deeply concerned about the impact of social media on friendship as a construct. I am deeply concerned about the effect of social media on my and others’ mental health. I am deeply concerned about the impact that Facebook wields over geopolitical matters. I could link to article after article that makes coherent and compelling arguments that you should steer very clear of these technologies. I have been quite convinced by these arguments. And so it was that in October of 2018, (I can’t remember the final straw but) I decided it was finally time to take the nuclear option and permanently delete my profile on principle. But life was crazy and I never got around to it. Then another thing happened on October 25, 2018: After a year of testing and investigation, we received a conclusive rare genetic disorder diagnosis for our youngest daughter M. The pediatric genetics group at Emory University was not very helpful at this point—to be fair, it’s unreasonable to expect any geneticist to know much about a disorder affecting what we would come to find out was less than 100 known individuals. We were told, in essense: (a) Your daughter has an ultra-rare genetic disorder with fewer than 30 cases described in the medical literature, (b) we have no idea how to estimate the severity of her case and long-term prognosis, (c) come back in two years and we’ll review the literature for you to see if there’s anything new, and (d) there’s a family Facebook group you should join that might be helpful. Good luck! The PPP2R5D Families Facebook Group It turned out that the private PPP2R5D Families Facebook group is the central gathering point for all families worldwide who are affected by our daughter’s disorder. As soon as we saw the banner image on this Facebook page, we immediately recognized the characteristic shape of our daughter’s head in the collage of children’s photos and knew we had found our tribe. We immediately requested to join and within hours were met with the following post in the group: Family number 71! Our daughter M was the 71st known case in the whole world. Gina and I: 😭😭 It would be hard to put into words what this message meant to us. We had been on a 1.5-year journey at that point trying to figure out what was going on with our daughter. While our family and friends were incredibly supportive, nobody we knew got it. We didn’t know anyone who had navigated the world of #raredisease at that point. Lots of people we knew were empathetic, but almost no one we knew could actually relate. Within 24 hours, the following things happened via this Facebook group: We received an outpouring of support and encouragement from families from all over the US, England, Ireland, Israel, the Netherlands, Australia, New Zealand, etc. We met the other family in Atlanta with a PPP2R5D variant. We were connected with Dr. Wendy Chung from Columbia University (PI on the 9-university research study seeking a cure), spoke with her on the phone, and were fast-tracked for an appointment in her clinic in NYC. We learned all about the non-profit connected to the PPP2R5D gene (Jordan’s Guardian Angels) and the coordinated research efforts underway at nine research centers all over the world. The understanding between people in this group is unlike anything I have ever experienced. Every day someone will describe an experience or ask a question (what has worked for you for xyz symptom?) and be met with a chorus of “me too” or “here’s what worked for us” from some of the only people in the world who truly know. Another thing that is truly incredible about this group is that not only do the families come from all over the world, but they speak different languages. The Facebook “Translate this” tool allows for reasonably seamless conversation across language barriers, even about complex medical questions. This group of now-101 families has been a lifeline for us. As soon as we had joined this group and all the love and support started flowing in, my wife and I looked at each other and were like: Yeah, we’re not deleting Facebook. Network effects Facebook has also allowed for some interesting effects which we didn’t anticipate at first. After we learned about the research being conducted for PPP2R5D/Jordan’s Syndrome, we knew that we wanted to do everything we could to raise money for this nonprofit and help find a cure that would help our daughter and all other current and future children affected by this disorder. We quickly picked up on a common tactic many families used to raise money: holding a Facebook fundraiser on the child’s birthday. M’s second birthday was approaching, and my wife Gina suggested we go for it. This was our first foray into medical fundraising. Gina set up the fundraiser and did an incredible job telling M’s story. She set it up with an initial goal of $2000, but we met that goal within 24 hours. So we increased the goal to $4000. Then we reached that goal and increased it again. Eventually the fundraiser reached over $6000 between Facebook and direct donations to Jordan’s Guardian Angels (not captured in the image below): Here are some things about this that surprised us: A huge percentage of that $6000 came from people on Facebook who (a) we don’t know very well and (b) have never even met our daughter. Many of our good friends shared the fundraiser with their networks which led to donations from people we don’t know at all, but who were touched by our daughter’s story. This is uncomfortable to discuss, but many people we know pretty well never even acknowledged the fundraiser or responded in any way. I’m not (too) upset about it, but it’s interesting to point out in the sense that if we had directly emailed people we thought would be supporters, many of the people who would have been on that list weren’t the people that ended up giving. Facebook facilitated something here that I don’t think we could have executed otherwise. So you’re sharing medical information on Facebook? Yes. It’s not lost on me that I have a million concerns about Facebook and then choose to participate in a group centered around the minutiae of specific genetic details pertaining to my daughter. Facebook knows the precise letters that are modified in her genome vs. the wild type human. It is simply the price I have to pay to for access to the best information that can help her. Alternatives to Facebook? I’ve wracked my brain to think what an alternative gathering point would be. What other tool meets the following criteria: Everyone uses it already. Provides built-in language translation for cross-cultural communication. Has public and private elements to support public dissemination of information and private collaboration of families. Makes it easy for advocacy and fundraising with friends who are not in the private families group. An email list is basically the only possible alternative I can think of, and its problems seem numerous and self-evident in comparison to what Facebook enables on this front. We could still use Facebook except with (semi-)anonymous profiles? That solves the private family group problem but not the global advocacy and fundraising aspects. Rare disease parents don’t have time to add another tool to their arsenal or website to check. The gathering point tool has to be totally seamless or else it won’t be used. Look, I want to hate Facebook as much as the next person but what else could accomplish everything above? I don’t have the “luxury of opting out”, as Vicki Boykis put it recently. What can you do? I would appreciate it from the bottom of my heart if you would consider the following: Please follow PPP2R5D - Jordan’s Syndrome on Facebook to learn more about our children and the exciting research that is underway. Please consider supporting Jordan’s Guardian Angels, the non-profit driving the research on PPP2R5D. We have met the founders and the entire research team and can vouch for the amazing work they are doing. You can make a donation using this link that will go to directly drive the research that could help our children. 🙏Recap: Southern Data Science Conference 20192019-04-24T00:00:00+00:002019-04-24T00:00:00+00:00https://jbendeaton.com/blog/2019/sdsc19-recap<p>Last weekend, I attended the <a href="https://www.southerndatascience.com/conference-program-19">2019 Southern Data Science Conference (SDSC)</a> in Atlanta. I learned a lot and met a lot of interesting people. Here are some of my takeaways.</p>
<p><img src="/assets/im/sdsc2019.png" alt="sdsc2019" /></p>
<ul>
<li>
<p>I have to start by saying that <a href="https://www.linkedin.com/in/khalifeh-al-jadda-ph-d-929a5020/">Khalifeh Al Jadda</a> and the other conference organizers did an outstanding job with the conference. This was the first single-track conference I’ve ever attended, and I appreciated the lack of anxiety involved with not having to choose between competing interests and bouncing between sessions. There were around 500 attendees, and a great mix of practitioners, researchers, and students. The whole thing was well executed.</p>
</li>
<li>
<p>The <a href="https://www.southerndatascience.com/conference-program-19">speaker lineup</a> was impressive. <a href="https://mayagupta.org/">Maya Gupta</a> from Google AI, <a href="https://edoliberty.github.io/">Edo Liberty</a>, and other heads of data science/AI from Microsoft, Netflix, Pandora, Uber, LinkedIn, and many others.</p>
</li>
<li>
<p>Diversity: I would estimate over half of the keynote/panel sessions were led by women, and there was a diverse racial representation among speakers and attendees. Awesome! I also appreciated that the conference program highlighted that there would be no alcohol at the social events, which is an issue I have seen repeatedly brought up on Twitter over the years.</p>
</li>
<li>
<p>Streaming data is the future, but there are still a lot of open questions. It’s easy to think about ETL in a streaming context: recieve <code class="highlighter-rouge">n</code> new records, process them, and append them to the production cache. But there is a lot of work to be done when it comes to updating machine learning models based on a few updated observations. For now, the nightly batch job still seems in order. I am eager to work in the world of the distributed log as it seems A/B testing of feature and model changes will be much more straightforward than the way this is often done now.</p>
</li>
<li>
<p>Based on the conversations I had, most companies are still solving machine learning problems in production using one of two basic architectures: (a) Some pairing of Spark and in-memory use of scikit-learn (on either AWS or GCP) for basic regression/classification/clustering-based models, or (b) a deep learning approach using Tensorflow on GCP for NLP or computer vision. Also lots of XGBoost.</p>
</li>
<li>
<p>Serverless: Most of the people I talked to are deploying all new work on Google Cloud Platform and are migrating their legacy pipelines to GCP as quickly as they are able.</p>
</li>
<li>
<p>The poster sessions were very good. Lots of interesting ideas coming out of academia that are relevant to production machine learning work. I learned a lot from these conversations and walked away with several practical ideas, way more than I expected.</p>
</li>
<li>
<p>One of the people sitting near me had a picture of my data science friend <a href="https://tdhopper.com">Tim Hopper</a> open on their computer for a few minutes (I didn’t get a close enough look to see what it was). Fun to know famous people.</p>
</li>
<li>
<p>The swag was strong. I happen to be wearing some new socks today:</p>
</li>
</ul>
<p><img src="/assets/im/mailchimp-socks.png" alt="mailchimp-socks" /></p>
<p>All in all, it was a great several days. Will be there next year for sure.</p>Ben DeatonLast weekend, I attended the 2019 Southern Data Science Conference (SDSC) in Atlanta. I learned a lot and met a lot of interesting people. Here are some of my takeaways. I have to start by saying that Khalifeh Al Jadda and the other conference organizers did an outstanding job with the conference. This was the first single-track conference I’ve ever attended, and I appreciated the lack of anxiety involved with not having to choose between competing interests and bouncing between sessions. There were around 500 attendees, and a great mix of practitioners, researchers, and students. The whole thing was well executed. The speaker lineup was impressive. Maya Gupta from Google AI, Edo Liberty, and other heads of data science/AI from Microsoft, Netflix, Pandora, Uber, LinkedIn, and many others. Diversity: I would estimate over half of the keynote/panel sessions were led by women, and there was a diverse racial representation among speakers and attendees. Awesome! I also appreciated that the conference program highlighted that there would be no alcohol at the social events, which is an issue I have seen repeatedly brought up on Twitter over the years. Streaming data is the future, but there are still a lot of open questions. It’s easy to think about ETL in a streaming context: recieve n new records, process them, and append them to the production cache. But there is a lot of work to be done when it comes to updating machine learning models based on a few updated observations. For now, the nightly batch job still seems in order. I am eager to work in the world of the distributed log as it seems A/B testing of feature and model changes will be much more straightforward than the way this is often done now. Based on the conversations I had, most companies are still solving machine learning problems in production using one of two basic architectures: (a) Some pairing of Spark and in-memory use of scikit-learn (on either AWS or GCP) for basic regression/classification/clustering-based models, or (b) a deep learning approach using Tensorflow on GCP for NLP or computer vision. Also lots of XGBoost. Serverless: Most of the people I talked to are deploying all new work on Google Cloud Platform and are migrating their legacy pipelines to GCP as quickly as they are able. The poster sessions were very good. Lots of interesting ideas coming out of academia that are relevant to production machine learning work. I learned a lot from these conversations and walked away with several practical ideas, way more than I expected. One of the people sitting near me had a picture of my data science friend Tim Hopper open on their computer for a few minutes (I didn’t get a close enough look to see what it was). Fun to know famous people. The swag was strong. I happen to be wearing some new socks today: All in all, it was a great several days. Will be there next year for sure.Five-year update: BOS to ATL, Engineering to Data Science, PPP2R5D2019-04-19T00:00:00+00:002019-04-19T00:00:00+00:00https://jbendeaton.com/blog/2019/personal-update<p>I recently resurrected this blog from the ether and thought I might share a bit of a personal update on what I’ve been up to since I stopped posting regularly five years ago.</p>
<ul>
<li>
<p>In early 2013, right after finishing graduate school, we moved to Boston and I joined the Engineering Mechanics and Infrastructure (EMI) group at <a href="http://sgh.com">Simpson Gumpertz & Heger (SGH)</a>. I could say a lot of words about how much I loved the culture and technical work at SGH. If I were going to do engineering mechanics work, I can’t think of anywhere I’d rather be than SGH. I got to work on consistently challenging and interesting projects with world class people, using the best computational tools available. Most of my work revolved around risk assessment using nonlinear finite element analysis (specifically computational modeling of concrete failure and crack propagation, the topic of my Ph.D. research) and later on other methods like neural networks to model the effects of wind loading on unique precision structures. I worked on projects primarily for Department of Energy (critical nuclear-related structures at national labs), commercial nuclear facilities, and the Department of Defense. I wrote a lot of Python while I was there.</p>
</li>
<li>
<p>A few years in, I began to realize I felt really drawn toward data science. I was working on neural network algorithms, and I realized that the linear algebra and statistics I had picked up during my Ph.D. had more than prepared me to understand the technical literature I was reading about machine learning. I also picked up the thread that I was enjoying the programming and data science work at the core more than the various engineering applications. I realized that my time in pure engineering was limited and I wanted to be able to work in more diverse areas outside the hyperspecialization I had developed. I began delving in my spare time into various machine learning explorations in addition to the machine learning work I was doing at SGH.</p>
</li>
<li>
<p>Three years ago, I left my engineering job to join a big data startup where a good friend and (and fellow engineering alum) worked. Working at a startup as a data scientist has been an immensely interesting experience, in that you are exposed to every aspect of the data science ecosystem within a company. While I’m primarily responsible for developing and maintaining our core production machine learning algorithms and code, I’ve worked on everything. There’s probably no better way to see all of these parts than working in a startup. I was told that you learn incredibly fast when thrown into an environment like this, and that has been true for me.</p>
</li>
<li>
<p>We loved living in Boston. In many ways, Boston was a revelation. Gina and I built a brand new life there, learned a new city, made amazing friends who are like family now, learned a lot about ourselves, and grew immensely. For almost two years, I had an amazing commute by bike along the Charles River, which I did several times a week and romanticize now – I caught the sunrise over the harbor on my ride in and sunset over the Charles on my ride home (amazing therapy). We loved living near the river, coast, mountains, and a lot of history. We fell in love with the MFA and Gardner museum along with a long list of amazing vegan restaurants in Cambridge and around the city. In many ways, Boston became a deep part of our identity.</p>
</li>
<li>
<p>We added two kids to the crew while in Boston, A (a boy, now 4) and M (a girl, now 2). Our oldest daughter N is now 10.</p>
</li>
<li>
<p>Both of my oldest kids saw their first baseball game at Fenway Park. I grew up a Braves fan during the 1990s, so my oldest daughter loves to talk smack about how she’s a Red Sox fan, which I love.</p>
</li>
<li>
<p>In December of 2018, we decided to move back to Atlanta. This followed a string of serious medical issues with two of our kids which ultimately highlighted the need to be closer to our families and support network. I negotiated a remote position with my startup in Boston and we made the move to the ATL. I flew to Boston 25 times in 2018 for work, which led to a fascinating identity crisis over which city was actually home, but it’s been nice to stay so connected to our friends there.</p>
</li>
<li>
<p>In October of 2018, our youngest daughter (M) was diagnosed with an ultra-rare genetic developmental disorder. The disorder is caused by a de novo mutation on gene PPP2R5D and is informally known as Jordan’s Syndrome (you can learn about it—and even donate to the cause—<a href="http://jordansguardianangels.org/">here</a>). Our daughter was the <strong>71st individual</strong> known to be affected, which is hard to wrap my mind around. Life has been a whirlwind since her birth, as she has required significant interventions since very early on. We have connected with the lead researchers on her condition and have been figuring out what treatment/therapies will help her most. Has it been overwhelming? Yes. But M is one of the happiest, most delightful kids I have ever met, and getting to be her dad is one of the great privileges of my life. I plan to write extensively about our journey regarding her diagnosis, the PPP2R5D community, and ongoing research which is sci-fi level insane. We just got back from the <a href="http://jordansguardianangels.org/2019/04/04/families-researchers-from-around-the-globe-discuss-groundbreaking-research/">2019 Jordan’s Guardian Angels family and research conference</a> (if you look close, we are in the big group photo near the middle).</p>
</li>
<li>
<p>Since my daughter’s diagnosis, my new hobby has been reading up on genetics and molecular biology. All I can say is that we live in utterly amazing times. It’s been amazing to get to know the researchers working on her disorder and learn what is now possible (including hanging out with folks working on the CRISPR methodologies for her gene!). The future is here.</p>
</li>
</ul>Ben DeatonI recently resurrected this blog from the ether and thought I might share a bit of a personal update on what I’ve been up to since I stopped posting regularly five years ago. In early 2013, right after finishing graduate school, we moved to Boston and I joined the Engineering Mechanics and Infrastructure (EMI) group at Simpson Gumpertz & Heger (SGH). I could say a lot of words about how much I loved the culture and technical work at SGH. If I were going to do engineering mechanics work, I can’t think of anywhere I’d rather be than SGH. I got to work on consistently challenging and interesting projects with world class people, using the best computational tools available. Most of my work revolved around risk assessment using nonlinear finite element analysis (specifically computational modeling of concrete failure and crack propagation, the topic of my Ph.D. research) and later on other methods like neural networks to model the effects of wind loading on unique precision structures. I worked on projects primarily for Department of Energy (critical nuclear-related structures at national labs), commercial nuclear facilities, and the Department of Defense. I wrote a lot of Python while I was there. A few years in, I began to realize I felt really drawn toward data science. I was working on neural network algorithms, and I realized that the linear algebra and statistics I had picked up during my Ph.D. had more than prepared me to understand the technical literature I was reading about machine learning. I also picked up the thread that I was enjoying the programming and data science work at the core more than the various engineering applications. I realized that my time in pure engineering was limited and I wanted to be able to work in more diverse areas outside the hyperspecialization I had developed. I began delving in my spare time into various machine learning explorations in addition to the machine learning work I was doing at SGH. Three years ago, I left my engineering job to join a big data startup where a good friend and (and fellow engineering alum) worked. Working at a startup as a data scientist has been an immensely interesting experience, in that you are exposed to every aspect of the data science ecosystem within a company. While I’m primarily responsible for developing and maintaining our core production machine learning algorithms and code, I’ve worked on everything. There’s probably no better way to see all of these parts than working in a startup. I was told that you learn incredibly fast when thrown into an environment like this, and that has been true for me. We loved living in Boston. In many ways, Boston was a revelation. Gina and I built a brand new life there, learned a new city, made amazing friends who are like family now, learned a lot about ourselves, and grew immensely. For almost two years, I had an amazing commute by bike along the Charles River, which I did several times a week and romanticize now – I caught the sunrise over the harbor on my ride in and sunset over the Charles on my ride home (amazing therapy). We loved living near the river, coast, mountains, and a lot of history. We fell in love with the MFA and Gardner museum along with a long list of amazing vegan restaurants in Cambridge and around the city. In many ways, Boston became a deep part of our identity. We added two kids to the crew while in Boston, A (a boy, now 4) and M (a girl, now 2). Our oldest daughter N is now 10. Both of my oldest kids saw their first baseball game at Fenway Park. I grew up a Braves fan during the 1990s, so my oldest daughter loves to talk smack about how she’s a Red Sox fan, which I love. In December of 2018, we decided to move back to Atlanta. This followed a string of serious medical issues with two of our kids which ultimately highlighted the need to be closer to our families and support network. I negotiated a remote position with my startup in Boston and we made the move to the ATL. I flew to Boston 25 times in 2018 for work, which led to a fascinating identity crisis over which city was actually home, but it’s been nice to stay so connected to our friends there. In October of 2018, our youngest daughter (M) was diagnosed with an ultra-rare genetic developmental disorder. The disorder is caused by a de novo mutation on gene PPP2R5D and is informally known as Jordan’s Syndrome (you can learn about it—and even donate to the cause—here). Our daughter was the 71st individual known to be affected, which is hard to wrap my mind around. Life has been a whirlwind since her birth, as she has required significant interventions since very early on. We have connected with the lead researchers on her condition and have been figuring out what treatment/therapies will help her most. Has it been overwhelming? Yes. But M is one of the happiest, most delightful kids I have ever met, and getting to be her dad is one of the great privileges of my life. I plan to write extensively about our journey regarding her diagnosis, the PPP2R5D community, and ongoing research which is sci-fi level insane. We just got back from the 2019 Jordan’s Guardian Angels family and research conference (if you look close, we are in the big group photo near the middle). Since my daughter’s diagnosis, my new hobby has been reading up on genetics and molecular biology. All I can say is that we live in utterly amazing times. It’s been amazing to get to know the researchers working on her disorder and learn what is now possible (including hanging out with folks working on the CRISPR methodologies for her gene!). The future is here.