Work is a pain! Prototyping Reclining Workstations.

This is a slightly modified version of an internal p2 post I did at work to try to gather ideas. I decided to publish it publicly to share with others and try to gather more ideas before I go and buy something.

Background

I had spinal surgery about 2.5 years ago now, I’ve been kinda muddling through with my current work ergonomics solution since then and trying to put my focus at rebuilding the muscles that were preventing me from really sitting/standing at my desk. COVID threw off some of my PT routines and in-person appointments so I focused on other things and the pain was reduced. Now I’m restarting PT in earnest and all the pain has really come back so I think I need to optimize my setup for where I am currently at rather than where I hope to be.

The root issue with my body is leg and back pain. I start most days at a 3 or 4 on the 0-10 pain scale, and am at a 5 or 6 by the end of the day. At a 6 I can’t focus any more. A 5 I can work mostly through – and work is wonderfully distracting. Sometimes the pain is in my lower back, but mostly it is burning nerve pain in my feet/legs plus spasticity (legs jumping/twitching involuntarily). Any soreness gets translated by my nervous system into burning 🔥, and PT ramps up the soreness. I could increase my pain meds, but they tend to make me more tired, and I spent four miserable months last year trying to reduce them.

What I’ve been doing

Here is what my setup has been for over a year:

  • In the morning I work from an old lazy-boy chair so that I can stay reclined. My abs are too weak and difficult to engage to hold me up for long, so when I sit up I naturally end up slumping which eventually puts my back in lots of pain. The chair is pretty terrible, but I’ve tried many other solutions and nothing has been as good. I add some extra lumbar support and that does help. Reclining and raising my legs up is very helpful for blood flow to my legs. But the leg rest is maybe not great. Getting in and out of the chair to stretch and move is also not super easy.
  • Usually by early afternoon I am no longer comfortable in that chair, particularly the pain in my legs has ramped up so I move to sitting sideways on a hard sofa where I can have my legs straight out and the pressure of my legs evenly distributed. My legs being flat reduces the leg nerve pain, but sitting up on the couch (I’ve tried lots of different back support solutions) is pretty rough on my back.
  • For both of these positions I’ve been just using my laptop in my lap. Terrible ergonomics on my arms/shoulders/neck, but the pain from that is minor in comparison.

Known issues:

  • Stretching my legs out straight helps a lot. Presumably better blood flow and nerve signal.
  • Single point of contact on my legs when having them raised is probably causing more pain. I can’t really feel the pressure, but I think it is a problem.
  • Leaning back is better. I’ve tried a couple of rounds and variations on transitioning back to my sit/stand desk (good chair and desk) and every time it has just been worse and completely unsustainable. Ideal would be completely flat. Discussed this with my PT today and he really agrees.
  • Moving my legs around to different positions is helpful, but tough to do with a laptop on me all the time where I am also trying to optimize reaching the keyboard and seeing the screen.

Prototyping a new solution

I’ve been iterating a bit on my setup this week and completely moved all the furniture around my office to try prototyping a new solution.

My current prototype:

  • Use the lazy-boy chair so I can recline.
  • Put a big sofa pillow on the leg rest of the chair so that my leg weight is better distributed. Also raises my legs up another six inches.
  • Sitting next to my sit/stand desk with an Ergotron monitor arm so I can have the big monitor kinda tilted down at me and easy to reposition.
  • I have a cutting board on my lap with my mouse and keyboard on it. Resting it on the arm rests is too high.
  • Using an inflatable airplane pillow as a headrest when I want to lean back farther and angle my head at the monitor.

Results of current prototype:

  • I do seem to be able to sit in this setup for a lot longer and with a lot less pain. Got through the whole day today and my pain never quite got above a five. I’m still sitting here at 7pm. Also, all day long this felt like the best solution I have.
  • I can’t recline back quite as far as I would like and the lazy-boy doesn’t transition to every angle.
  • The monitor only tilts down 5-10 degrees so is at a bad angle when I recline all the way back.
  • My headrest solution for reclining back farther has my neck bent too much.
  • The keyboard on my lap is not at the right angle. The arms of the chair are kinda in the way so my arms are up too high also. Feeling some pain in my arms from resting on the armrests in odd ways.
  • The chair back is not great support. I can definitely feel some back pain.
  • The seat is a bit deep even when I am fully reclined. Probably just too old and sinks too much. My PT found my psoas (hip) muscles to be super tight from sitting like this which is why he suggests flat (or fixing everything else, but I’ve been working with him for years on everything else and we aren’t there yet).
  • My feet hang off the end of the chair and I think that starts to add extra pressure on my calves that eventually results in nerve pain. Alternating crossing my ankles kinda helps a bit, but there is definitely some nerve pain in my feet at times and I think this is why.
  • Getting in and out of the chair is tough. I can’t really put down the foot rest without needing to rebuild a lot. The monitor is easy to push out of the way, but getting up to the side requires going over the arm of the chair. The chair is also kinda low to the ground in general. It definitely makes me want to get up less as I worry about pulling a muscle or falling as I do it.

Potential Solutions

All the solutions I have found are quite expensive ($4,000-$8,000). I really don’t want to buy the wrong thing though they do all seem to have 30 day return policies. I have tried looking for some mid-range solution, but I don’t think there are any. These high-end solutions only seem to sell 75-100 per year so I think the market is just not big enough. I’ve only really found these two companies so far.

  1. Altwork Signature: Expensive space chair. All the pieces of the chair move with electric motors which makes it easy to adjust and position while you are in position. The monitor and keyboard move with you as you change position which makes it easier to actually change during the day. Optimized for ergonomics in any sitting/reclining/laying position. Also supports standing which I would like to get back to doing at some point (though I do have this nice standing desk Automattic bought me a few years back that I loved while I could use it).
  2. Altwork Flex: Slightly cheaper option. Manual adjustment of the leg rests, monitor, keyboard. No standing. Maybe tougher to get in and out of also.
  3. Ergoquest Zero Gravity Chair 3. Cheaper, but not cheap. The headrest is really a pillow, and it has much less adjustability for the legs. Does go completely flat and is all controlled by electric motors. I’d probably pair this with this Ergotron monitor arm that can tilt through a full 180 degrees up and down. Haven’t chosen a keyboard tray yet. I’d probably attach all this to my sit/stand desk which would let me further adjust the height. Then if I can transition to trying standing again in the future I could move to that desk though I don’t see how I would do a gradual transition.
  4. Ergoquest Zero Gravity Chair 1. The “cheap” option at $2800. The problem is it doesn’t go fully flat, and has a fixed 120 degree seat angle.

Any other ideas? Anything else anyone has tried or heard of?

2020 Rehab Review

I guess for most folks 2020 has been a crazy year, though I think for me it was mostly more of the same. COVID complicated things a bit, but rehab is really what is hard. The year didn’t go how I expected, but there were still quite a few accomplishments.

  1. Mostly no knee braces! After a visit to Craig Hospital to re-eval my rehab convinced me, I stopped using my knee braces. This set back my walking a lot since I went from being able to walk 25-30 minutes five days a week back to only walking about 5-10 minutes, but over the course of the year I’ve worked back up to the 25-30 minute range. And of course, when I do use my knee braces now I can go for an actual hike (followed by 4-5 days of pain). Some good progress.
  2. My other PT exercises ended up being sporadic. I started the year consistently doing some swimming mixed with a good amount of muscle strengthening. Craig refocused me on certain weak muscles, but all the other changes I made got in the way of working on them consistently. The times I did focus on them for a week or two I would end up so weak that I was almost falling down and could hardly walk. So still a ways to go here.
Changing medications in March-June really interrupted everything.
  1. Less medication! I started the year on four medications and have reduced that to two. Two of my main medications were reducing pain and the risk of falling, but they were relaxing my muscles and nervous system which resulted in weakness and made it harder to recover from my exercise. In general, I’m in less pain than I was a year ago, and have fewer side effects to deal with.
  2. Sleep! It is really tough to sleep when you are constantly in pain and twitching. My sleep got very messed up over the past four years, and poor sleep makes it a lot harder to do rehab. I spent about two months in 2020 focused on resetting my sleep schedule. It was really hard, but it really worked.

Forward to 2021

Predictions are tough and probably not worthwhile, but I guess I have some guesses of where things will go.

  1. Losing weight. I’ve gained 20-25 pounds since 2017. Besides being less healthy, it also makes it harder to move since I have more weight for my muscles to move around. Likely it also is affecting my sleep. Since cognitive behavioral therapy works so well for me with sleep, I decided to dive in and try Noom.
  2. Reduce medications some more. I don’t plan to change nearly as much as I did in 2020, but hopefully I can reduce them a bit further. It seems to take 3-4 weeks for each change I make, so it is fairly time consuming.
  3. Regularize my PT. I’d really like to actually fill in the calendar of regular PT exercise with Xs this year. I want to find the right balance at improving my weakest muscles without wrecking my body along the way.

First Hike in Over Two Years

Very exciting day! I went with my wife and kids (5 and 2) for a hike near our house. It is a trail I had been on countless times in the past and had often also run on. I don’t think I’ve hiked it in at least three years. I had spinal surgery about two years ago (Jan 9th, 2019), and have definitely not done anything like this since then. Feels like a huge accomplishment.

I never saved anything for the swim back.

From Gattaca.
(Not really true, but I was thinking of this on the way up)

In the end we walked for about 80 minutes total with a break in the middle to have a snack up at a bridge that didn’t exist the last time I hiked this trail. About 2.4 miles and 480 foot elevation gain. It was a beautiful day, a bit windy, but nice and sunny. I used my knee braces for the first time in about nine months (used to use them every day), and used my hiking poles on the way down.

It was really great seeing the kids hiking. Connor (2) did quite a bit of walking, but Mekayla also did a lot of carrying. Morgan (5 ½) hiked the whole thing though and kept up really well. On the way down, Mekayla, with Connor on her back, circled around on some other trails to get a couple extra miles in and go back to our house. Morgan kept me company on the way back to the car. It was great and I had a great little hiking buddy.

So now I’m settled in on the couch for the 24-48 hours of nerve pain I am anticipating from so much exercise. I started the day at a two (out of ten), and am now at a five. The big question is if I’ll be able to fall asleep tonight. I had been at a mostly-maximum dosage of my neuro-pain med at night and I finally decreased it last week. So potentially I could boost the dosage tonight to help me sleep. We’ll see.

PT: Strengthening My Lungs

My spinal cord getting slowly damaged from T5-T8 over the decades means that pretty much every muscle below my armpits are weakened in some way. Lungs rely on a lot of muscles and even getting aerobic exercise won’t necessarily strengthen those muscles.

Starting in September of last year I began exercising them with this simple “respiratory muscle trainer”: The Breather.

When I told my PT I had bought one of these he said I was the first patient who ever actually asked about them. He often recommends these sorts of devices to his patients who are pro athletes who need to work on their breathing. His recommendation of how to use it was pretty different from the directions:

  • 30 breaths – fairly fast – less than one second apart
  • Twice a day
  • Stick with one setting until it is easy and then ramp it up

It takes me less than two minutes a day and it may have been one of the best exercises I started doing. I began on the lowest setting (1 on inhale and 1 on exhale) and couldn’t even do 30 breaths without stopping. It has now been 6 months and just yesterday I cranked it up to the highest setting (6 inhale and 5 exhale). I have no idea how much this will help if and when I get COVID-19, but I can definitely feel the improvement in my lungs when swimming.

There is also a pro version (The Breather Fit) which I guess I may get once this version is too easy. They seem to have raised their prices though and there are a number of other competitors.

Ugh… Ongoing Spinal Cord Damage

Welp, as of last Thursday I feel pretty certain that my spinal cord is still getting damaged. The spinal arteriovenous fistula that presumably caused the spinal cord damage was embolized (glued closed) in September 2017. From what I understand though, embolization is only about 75% successful, so I guess I am in the remaining 25%.

Unfortunately, the only real way to know whether it has been successful is to monitor your symptoms and look for additional problems. Especially new problems or more than one problem changing. This has been pretty difficult given that I have been trying to do spinal cord rehab and constantly trying new medications and treating other side effects from the spinal cord damage (like sleep apnea).

Over the past few weeks though I’ve been slowly coming to the realization that I have more bladder urgency than I used to have (and one time where I didn’t get where I needed to in time which is ummm… “fun”). It would probably be far worse if I didn’t work from home. Then on Thursday my PT redid my muscle strength testing that was done in January at Craig Hospital and it was fairly clear that some of my muscles, which were rated as 5 out of 5 then, are no longer 5s. Given that I’ve been regularly doing PT exercises all year long I definitely shouldn’t be getting weaker.

I don’t really know whether the damage has been occurring slowly all year long and only recently did the damage become enough that it started making the symptoms worse, or maybe something recently changed and I just started getting more damage. I am pretty certain that the embolization did reduce the rate at which things had been getting worse. Definitely the rate at which I was getting worse in 2017 was much greater than 2018 has been.

So I’m off on the hunt through medical systems to find the right doctors and surgeons to diagnose and hopefully actually fix the problem. First step was two hours of MRIs this past Monday which I don’t expect to find anything new. I imagine I won’t really get anything diagnosed until I can get some neurosurgeon cutting into me to take another look.

Forward.

Huh, Seven Years. Look at that…

It turns out that seven years ago today I started my trial project with Automattic. I know this because that is when I signed up for user id 23314024 on WordPress.com

Screen Shot 2018-05-11 at 6.25.55 PM.png

My official Automatticversary – as we call the day you became a full time employee – is not until mid-July, but this notification inspired me to be a bit nostalgic. It also happens to fall on the week of my 40th birthday.

My trial project was building a prototype Elasticsearch system (version 0.16 IIRC) so we could search across our internal p2s (disclaimer: no longer what p2 looks like). At the time there were 291k posts and comments across our 89 p2s and MySQL search was no longer working well. There are now almost 2.8m posts and comments across 639 p2s and Elasticsearch is continuing to do pretty well.

We now have six Elasticsearch clusters the largest of which had 6,782,578,164 posts in 2625 shards a few seconds ago. Those clusters have about 850 separate indices that are powering over 66 different use cases. Pretty exciting and humbling how much the company’s usage has grown.

If you are looking to get in on the Search Wrangling fun, then we are hiring. We have a ton of challenging search and relevancy problems to tackle.

 

WordPress and Democratizing Algorithms

In discussing how the newly released Jetpack Search fits with Core WordPress search I veered off into discussing algorithms in general. That generated some healthy discussion on the WPTavern Podcast. I wanted to expand on what I was saying a bit about democratizing algorithms. This is very much related to what JJJ called “race car technology makes its way down to everybody” on the podcast.

I think some of the negative reaction is a personal preference where many readers loudly prefer reverse chronological because it is easy to understand and they feel in control. I think that is a very common opinion among WordPress developers. I’ve had that discussion many, many times. I also think that user control is important.

However, it is very clear that ON AVERAGE having some algorithm filter or reorder the content is much more engaging. It boosts visitor engagement.

Let’s look at some top examples: Twitter, The New York Times, The Washington Post, and Amazon (30% of humans use Facebook, so let’s stipulate that algorithmic is working pretty well for them).

Twitter

Many people are loudly complaining about Twitter not being completely reverse chronological. However, as a product and service, they just had their first profitable quarter ever. And it wasn’t because they have more users. Monthly active users is flat. But daily active users increased 12% year-over-year. They have steadily made their product more engaging to the average user. So while yes many people dislike the algorithmic changes they are making, they also seem to be working.

New York Times and Washington Post

nytimes-top.pngwashpost.pngBeyond even human “algorithms” that order which articles are on the front page, it is very common to have algorithmic sections of the front page of major news sites. Sometimes it is “most emailed stories”, or sometimes it is the most viewed. The current NYT’s home page has a section which looks like the top posts from across the past few days in a nice scrollable display. Maybe they are hand picked, but I bet there is data influencing them. The Washington Post has “Most Read” and “Live Discussions” sections.

Even on this blog I’m using Jetpack’s top viewed posts widget and Jetpack related posts. Both are things that WordPress Core can’t do.

Amazon

Algorithms are everywhere on Amazon. Let’s look at the dog food I buy. The reviews are clearly sorted by what will get me to buy it.

dog-food.pngHow could I not buy it!

It is about Engagement!

None of these examples are easy (or cheap) to deploy right now. It is still pretty hard to build an engaging website. Maybe building an engaging website is plugin territory. That sounds great for Jetpack which has more and more of these features. I’m not sure it is great for the Web though.

This even comes up with simple websites. Gutenberg opens up very interesting questions about how blocks should be organized on a web page. Chris Lema mentioned this when discussing the future of web publishing:

The future can’t continue to be a unidirectional dynamic where someone in marketing determines the best articulation of their message in a single-focused and static design.

The future of publishing is that different people can get different content depending on their behavior, demographics, interest and more.

I think framing it as personally preferring algorithmic vs chronological is really the wrong way to think about it. The question is, if you could flip a switch and get your visitors to spend 20% more time on your website, then would you?

Right now, only big expensive web sites can toggle that switch. Many of them are effectively monopolies. Let’s democratize algorithms so any website can choose to build a highly engaging user experience.

An Aside

While we can and should talk about filter bubbles and the impact that these algorithms have on the world, a world where only monopolistic tech giants can deploy these algorithms is not one where publishing is democratic.

 

Senator Bennet, your email address doesn’t work.

I emailed my Senator a few weeks ago to oppose Gorsuch being appointed to the Supreme Court. His response seems to indicate he thinks Trump nominees are still worthy of consideration. That’s an absurd stance since they have been found to be lying under oath during the confirmation process.

Here is Senator Bennet’s response:

Dear Gregory:

Thank you for contacting me regarding the current vacancy on the Supreme Court.

On January 31, 2017, President Trump nominated Judge Neil Gorsuch to serve on the Supreme Court. He has served on the 10th Circuit Court of Appeals since 2006.  Gorsuch clerked for Judge David Sentelle on the U.S. Court of Appeals for the D.C. Circuit and for Supreme Court Justices Byron White and Anthony Kennedy. He also served as the Principal Deputy to the Associate Attorney General at the U.S. Department of Justice.

I take seriously the Senate’s constitutional responsibility to thoroughly vet Judge Gorsuch. I intend to review his record carefully in the coming weeks. Rest assured, I will keep your thoughts and concerns in mind throughout the confirmation process.

I value the input of fellow Coloradans in considering the wide variety of important issues and legislative initiatives that come before the Senate. I hope you will continue to inform me of your thoughts and concerns.

For more information about my priorities as a U.S. Senator, I invite you to visit my website at http://bennet.senate.gov/. Again, thank you for contacting me.

Below is my response


Senator, thanks for your response.

He has served on the 10th Circuit Court of Appeals since 2006.  Gorsuch clerked for Judge David Sentelle on the U.S. Court of Appeals for the D.C. Circuit and for Supreme Court Justices Byron White and Anthony Kennedy. He also served as the Principal Deputy to the Associate Attorney General at the U.S. Department of Justice.
 
None of this matters. You should be working to delay each and every nomination by Trump because the longer we delay them the less damage he can cause.
 
There should be no more confirmations until Sessions has resigned for lying under oath during his confirmation process. How can you trust anything that any Trump nominee has said in any hearing until it is clear that they take not lying to Congress seriously?

Alas… it seems he doesn’t want to accept email responses…
Your message was sent to a non-monitored mailbox and has not been reviewed. If you would like to contact Senator Michael Bennet please visit his website at http://bennet.senate.gov/contact and fill out the webform for a prompt response. Thank you.
So much for dialog… Hey look I have a blog…

Top Five Posts from 2016

Most of this blog’s 40k visitors a year are looking at the epic Elasticsearch posts that I wrote years ago. For the most part they seem to still be relevant to people even if they are somewhat outdated. Here are my top posts with some commentary about each of them.

2014-emailteaser

1: Elasticsearch: Five Things I was Doing Wrong

79% of my traffic comes from search engines, and almost 50% of all traffic goes to this one post. It’s actually kinda crazy that such a simple post gets so much of my traffic. I blame the clickbait headline. I have a bunch of long winded epic posts and what I should probably be writing is these small tidbits as they come up.

2: Three Principles for Multilingal Indexing in Elasticsearch

This is my all time favorite post. After 2.x and the removal of being able to specify an analyzer in a query it has become a bit outdated, but the overall concepts are still good. I love all the comments this post has generated. I’ve learned so much from this post and the discussions that it generated. We’ve accomplished a lot the past year to adjust our multi-lingual indexing (deployed edgengrams into an A/B test yesterday) and I’m hoping to write up what my latest thinking is soon.

3 and 4: Scaling Elasticsearch Series

The first two parts of this three part series are my third and fourth most popular posts. The indexing post is almost twice as popular as the intro and querying posts. Although these posts are almost three years old now they still describe pretty well how we scale most of our queries. Most of the reason why these posts haven’t been updated is because the methods they describe have worked really well for us.

The original post talks about having 600 million posts in the index and 23m queries a day. We now have 4.3 billion posts and do about 45m queries a day. That’s some good scaling.

Only over the past year have we started to see some problems slowly develop with our global cluster scaling. Currently the cluster runs fine for about a month or so and then heap usage creeps upwards until it starts to cause problems. The solution is just to do rolling restart of the cluster. Not pretty, but it works. Here’s what our average heap usage looks like broken down by data center for the past 30 days.

Screen Shot 2017-01-06 at 9.28.48 AM.png

We think a lot of these are just memory management bugs in the old Elasticsearch version we have been running for years and are hopeful that as we transition to 2.x many of them will be resolved. The other option is just to add more servers which we haven’t done in a few years. Our typical load is not very high though until we reach the point of running out of heap so I haven’t felt very justified in ordering more servers for this cluster yet.

One high point of this cluster is it taught us how to run a multi data center cluster. Every cluster we deploy now is multi-data center and we have successfully survived cases where an entire data center goes down. Currently we are in three data centers spread across the US. It’s likely that in 2017 we will start trying to run intercontinental Elasticsearch clusters (Europe and the US). Should be exciting.

5: Managing Elasticsearch Cluster Restart Time

This post describes how we manage long restart times. 2.x is a bit faster in this regard, but still takes a while to synchronize, so this is still relevant to managing a production ES cluster.