Posts Tagged ‘Health’

Flexibility and how to improve it: reprogramming your nervous system

Tuesday, December 23rd, 2008

One of my personal challenges in physical activities (martial arts, Yoga, weightlifting) has always been flexibility. Some people have quite naturally good flexibility, others have to work on it. What exactly is flexibility? There is a very common perception that flexibility is a physical characteristic - that its a question of muscle, ligament and tendon length. Stretching exercises, therefore, are thought to result in physical lengthening of the body parts resulting in increased flexibility.

Numerous authorities have a radically different view on this. Tom Kurz, Pavel Tsatsouline and even a professor of kinesiology at UC Chico (Duane Knudsen - see this recent NYTimes article) have very changed perspectives about flexibility and stretching.

Their thinking is that flexibility is not a physical restriction - that is, you are not limited by the length of your muscles or ligaments or tendons - but rather by the programming of your nervous system, which is not under your conscious control. While under anesthetic, for example, a surgeon can rotate your shoulder a full 360 degrees. An experiment used by both Tom Kurz and Pavel Tsatsouline using the side splits is to lift one leg at a time into the splits position, like the photo below illustrates:

If you can do this with each leg, you have shown that it is not a physical restriction that prevents you from doing the full side splits. There is no tissue connecting each leg to one another, which means that something else is stopping you from performing the splits. That “something else” is your nervous system. The theory is that your unconscious nervous system imposes these restrictions on how far it will let you stretch your muscles. Flexibility training, then, should concern itself with reprogramming the nervous system to let you stretch further. This is precisely what the programs of Tom Kurz and Pavel Tsatsouline are concerned with.

For some free information on the kinds of stretching programs (typically known as “dynamic stretches”) I recommend Tom Kurz’s free column, “Stretch Yourself”. Good luck with your training!

Chin-ups and bodyweight strength training

Tuesday, August 14th, 2007

I’ve been doing chin-ups and pull-ups for a while now, first at the gym and now at home since I bought a $15 chinning bar and drilled it into a door frame. In general it seems that chin-ups refer to the grip with your palms facing you whereas pull-ups refer to the grip with your palms facing away. My understanding is that chin-ups focus more on triceps and shoulders and that pull-ups are more of an upper back exercise. In any case, these are both great for developing strength.

The interesting thing about these exercises is that it is very difficult to do even a moderate number of reps. To score full marks on the US Marine Corps’ physical fitness test, you must be able to do twenty pull-ups from a dead hang. You are not allowed swing around or otherwise use body momentum. Twenty is not such a large number, but its unlikely you could manage even half that number of pull-ups without training. Many people cannot even manage a single pull-up - it is a very strenuous exercise.

Lately I’ve been focusing a bit more on pull-ups - doing them every day instead of a few times during the week when I felt like it. I was looking to see how other people train them - how many reps per set, how many sets per session, how much rest and so on - when I came across a number of pages describing the one armed pull-up and how to develop it. Although I have reasonably good upper-body strength and can do a not-pathetic number of pull-ups (12-13), there is no way I have anywhere near the strength to perform the exercise with just one arm. Beast Skills has a pretty comprehensive guide on how to train it, including pictures and links to other informative articles. What I find very interesting is that all the training guides stress stopping before failure. Failure of course is when your muscles simply have no power left and you are shaking from exertion. For various reasons, it seems that it is better to stop at 2/3 of failure or 3/4 of failure. Otherwise, you risk over-training and/or injury. In fact, over-training can make you weaker. A related technique is “Greasing the Groove” which involves doing multiple sets throughout the day, of low enough reps such that you never reach failure. Un-beknownst to myself, I’ve been using such a method to train pushups for the past few months. I have found it much more effective (and easier!) to train like this, than simply doing as many pushups as possible before you collapse.

Finally, all the guides to training for a one armed pull-up that I have read stress the importance of patience in order to achieve the goal. Time scales mentioned are six months to three years of training before you could do a one armed pull-up! I think this is a great reminder that exercise routines work over the long term, not the short term and that you must be patient and consistent in order to reap the benefits. Personally, I don’t plan to dedicate myself to the one armed pull-up just yet, but some of the other skills seem interesting. In particular, I’ve always wanted to be able to do a hand stand pushup, but have never felt very comfortable doing even a hand stand! Apparently it is better to be able to do a head stand first, then try for the hand stand, then try for the hand stand pushup. I’ll give this a shot. I also tried the elbow lever - as expected, I could not do it on my first try. However, I can see how with patience and practice, it would be achievable. I’ve also been trying some of the Planche progressions, starting with the frog stand, which is fun. Definitely enjoyable things to add to your exercise routine, and plenty to challenge yourself with!

Krav Maga vs Boxing: first impressions

Wednesday, July 11th, 2007

Yesterday evening I went to my first Krav Maga class. I’ve been doing boxing for around three years now, and I like it a lot. Boxing is practical, no-nonsense and one of the most demanding sports physically. Unfortunately the location of the gym I attend forces me to drive, which I don’t like because I prefer cycling and parking in downtown SF is a costly and stressful PITA. Also, I would like to learn some more varied things - a bit of grappling, some kicks, other techniques such as disarming opponents and escapes. I thought briefly about some traditional martial art, of which I have some experience from university. However, my experience with traditional martial arts was that they are not taxing enough physically (barely breaking a sweat), that the classes are too big so you lack individual attention, and that the focus is on dance-like movements which are impractical and frustrating. I also dislike the hierarchical belt system which breeds arrogance and a false sense of security. This is all my personal opinion of course, some people love traditional martial arts and that’s great. I believe much depends on the particular club you are a member of. My experience was likely with bad clubs, but nonetheless it stuck.

It turns out that the SF Krav Maga training center is not far off my bicycle route home from work, and from the Wikipedia page the training looked very interesting to me. Emphasis is highly practical. So what is the actual training like? Having only taken a single lesson at a single place, I can’t speak authoritatively. However my impressions are: training similar to boxing in many respects. In fact instructor made numerous references to boxing in terms of stance and movement. Stance keeps the legs a little further apart than a traditional boxing stance, for increased stability in scenarios where someone can push you from the side or from behind. There were some drills similar to those in boxing - try to touch opponents stomach or shoulders while avoiding being touched yourself. An interesting twist was to add multiple attackers. Thinking about attacking opponents from behind and from the sides, and also attacking below-the-belt was encouraged. The attitude was “do what ever it takes”. Striking drills were similar to boxing, although no gloves or hand wraps were used. Strikes can also be open-palm, something I’m not used to at all. Another interesting drill was a standard “hit the pads” drill with the caveat what the striker is backed up against a wall, something I’ve never encountered in boxing - even though boxers frequently end up against the ropes in the ring. The first class ended with the teaching of a simple and highly effective technique for escaping from a choke. I think choking is an attack very frequently used in the real world, and as such knowing how to break out of it could be extremely useful. The technique is very simple, not at all convoluted, and instantly useful. Krav Maga also seems to place a heavy emphasis on fitness and conditioning. At least at this center, they separate conditioning from the classes, although the classes are a reasonably good workout. Apparently the level test process is a grueling four hour affair.

Anyway, I very much enjoyed the class and I look forward to learning more. Would certainly recommend Krav Maga to people looking for something practical and physically strenuous.

Keyboard-only X, cwm hacks and Vimperator

Monday, July 9th, 2007

A few weeks ago, I wrote a short entry on some of the software I’d been looking at to reduce my reliance on the mouse. Specifically, I mentioned a window manager, cwm, and a FireFox extension, Conkeror.

Since I wrote that piece, I have refined my setup a little more. I found a Firefox extension called Vimperator which adds Vi-like keybindings. I prefer it to Conkeror mostly because it seems a little less buggy. Both Conkeror and Vimperator have a feature where you press a key and all links on a page get associated numbers (in the case of Conkeror) or letters (in the case of Vimperator). This feature enables you to very quickly visit links on a page. I found that Conkeror’s implementation of this feature would not work with certain focus-manipulating JavaScript used on websites, and also it would sometimes insert the HTML and CSS for these numbered links into HTML you were editing! In fact, because of Conkeror, I ended up with it’s numbered links embedded into an entry on this site - which was very odd and quite annoying. Conkeror also had a tendency to crash in some way which disabled all its keyboard shortcuts on windows, such that the only way to kill a window was via terminal - again, highly annoying. Vimperator is a little buggy still, but doesn’t seem quite so bad. Furthermore, Vimperator makes it easier to open links in a new tab and copy links via the keyboard. Finally, I feel more at home with Vi-like keybindings than with Emacs-like keybindings, and I think they are a little easier on the hands in any case (less chording).

As for cwm, the window manager, I in fact went ahead and made some improvements to it of my own. The cwm code is quite clean and elegant C code, and was a pleasure to hack on. Already, it featured a window-switching dialog which had auto-complete (a.k.a. type ahead find). This feature is very nice and makes switching windows via the keyboard very easy. However, cwm also had an execution dialog which lacked this feature. I felt it would be relatively easy to populate the execution dialog with the executable files in the default path to add such auto-completion. It was a little more involved than I originally anticipated, owing to the fact that the existing cwm API for these auto-completing dialogs was designed for selecting one item from many, not for entering input. With a little hacking, though, I made a working patch. I find this feature very useful, as it allows me to launch common applications like Firefox and Pidgin with a minimal number of keystrokes. The next feature I added was based on something that I saw in the Ion3 window manager - namely, an auto-completing `ssh-to’ dialog. Much like the window-switch dialog or the exec dialog, the `ssh-to’ dialog is populated with entries from your ~/.ssh/known_hosts file. OpenSSH has support for hashing these entries - the `ssh-to’ dialog simply skips hashed entries. For me at least, my work involves ssh’ing to a large number of different hosts, many of which have long names. The auto-completing dialog saves me considerable time. After committing these two hacks to the OpenBSD Xenocara tree, cwm was becoming very comfortable for me indeed. Only one major thing was bugging me - window movement. Cwm still required you to use the mouse to move windows around. Unlike a window manager such as Ion3, cwm does not (yet…) support tiling layout, and as such terminals and so on must be moved manually to maximise screen real estate. A simple solution to this is the ability to move windows around with the keyboard. After a productive conversation with OpenBSD developer Todd T. Fries I hacked up a simple patch which moved the active window with a Vi-style M-hjkl keybinding. Todd improved on this initial hack and committed it to the Xenocara tree. With these improvements, I find cwm quite comfortable and have little use for the mouse.

There are still a few niggling things in my setup. Mostly they revolve around X11’s copy/paste buffer management. A thing I do very frequently is to copy a link or text selection from Firefox into an xterm, and vice versa. X11 has effectively two copy buffers - the “PRIMARY selection” and the “CLIPBOARD”. If you select text with the mouse in an xterm, it goes into the “PRIMARY selection”. You can paste the contents into an xterm using the keybinding shift-insert. Additionally, links yanked with Vimperator, or text selected in Firefox with the mouse - this all ends up in the “PRIMARY selection” also. However, typing shift-insert in the “open” dialog (`o’) of Vimperator pastes the contents of the “CLIPBOARD”! Actually, not just the “open” dialog behaves like this, but every text input field in Firefox. Effectively this means I have to use the mouse to paste text into Firefox, which is quite irritating. I hope to find a utility which can keep the “CLIPBOARD” and “PRIMARY selection” synchronised. Personally, I do not find it helpful for these to be separate and it simply causes me annoyance. More information on X copy and paste can be found in this jwz article.

Typing, window managers and sore hands

Tuesday, June 19th, 2007

I am typically typing on a keyboard for many hours a day, and have been in this routine for many years. While I have never had soreness bad enough to prevent me from using a computer, unlike some unfortunate people, I definitely get some discomfort in my hands and wrists. This is pretty clearly a form of RSI brought on at least in part by my long hours using computers. It is also likely related to strains I sometimes get from boxing, which can be very hard on your wrists if you are not careful. Improperly throwing hooks on a heavy bag can leave you with a strained wrist for weeks. I will return to boxing-related injuries (which apply to many other sports too) in another post perhaps.

At work, I have a fairly ergonomic setup. Monitor is on a stand at a good level, I have a USB Microsoft Natural keyboard. I believe the keyboard does help my hands to some degree, although I can’t really say it makes a huge difference. My brother claims that he found it made typing more uncomfortable for him, so perhaps it varies from person to person. I find that chording - that is, pressing multiple keys with a single hand, for example left shift + f all with the left hand - would make my fingers feel uncomfortable. Not exactly pain, but a kind of strained feeling. I find the Emacs editor very uncomfortable to use if you have the habit of chording for example. Similarly, GNU Screen and OpenBSD’s KSH Emacs bindings - which I use all the time - are definite source of discomfort. I try now quite hard to avoid chording as much as possible. This seems to reduce considerably the strain on my hands. Additionally, using the Vi cursor movement keys in Mutt and nVi / Vim helps - in contrast to moving my hand over to use the arrow keys.

A second source of discomfort I identified was the mouse. I’m not entirely sure why, but it seems to me that shifting my right hand from its position on the keyboard over to the mouse, and also clicking the mouse, was quite stressful. I recall reading at JWZ’s site that he experienced something similar. The two biggest culprits of mouse usage for me were Firefox (obviously enough) and window management. I have gone through using many different window managers over the years. I am not hugely picky. I used fvwm for a while because it did everything I needed it to do, and came with OpenBSD. Then I switched to Ion for no particular reason. I liked Ion quite a bit but the author kept breaking the configuration format with every update. This infuriated me as I hate dicking around with funky configuration files (all Ion config was done through the Lua programming language, which I had no particular desire to learn in order to set a few trivial keyboard bindings). Eventually I switched to KDE from Ion. I figured KDE was unlikely to change their config format with every release and furthermore had a few nice features (task bar and the system tray thingy). Also I thought it would be good to at least try to fill up the 1G of RAM in my laptop. I learned a few key bindings in KDE, enough to switch between apps on the same virtual desktop. However, I am a very heavy user of terminals. I quite liked the tabbed Konsole (even if it is horrendously slow at scrolling text for some reason), yet I never really learned / set up the keyboard bindings properly, which mean I was using the mouse all the damn time.

This morning, since I had nothing really critical to do on my machine, I decided to update my system to the latest snapshot and move over to CWM at the same time. CWM is a little window manager written by people who have over the years been involved with OpenBSD development. Its BSD-licensed and as such was imported into the OpenBSD Xenocara tree. In other words, if you install X on an OpenBSD machine, you now get CWM as a window manager.

The main thing about CWM is that it is quite possible to use it purely via the keyboard. I’m not going to describe all the various ways you can use it, since I’ve only been using it for a few hours. Some really nice features are things like, labeling windows, hiding them with a key combo, then raising them again using a kind of type-ahead-find. I also like how window movement is implemented - you hold the meta key and can move the window by clicking anywhere on it. Sometimes it takes quite a bit of co-ordination to specifically click on the task bar to move a window around.

In any case, I am very happy with CWM so far. I don’t need a lot of frills in my window manager. CWM is very nice to use from the keyboard. It doesn’t require any configuration. One thing is that its not easily possible to change the command line options passed to Xterm when you execute it via C-M-Enter. To get around this and to set my Xterms to use white-on-black and be a login shell, I use the following in ~/.Xdefaults:

xterm*background: black
xterm*foreground: white
xterm*loginShell: true

I’m also now making considerable more use of Firefox’s type-ahead-find feature, and other keyboard shortcuts in that application. Unfortunately Firefox seems to have a number of glitches, at least on OpenBSD-current. Most annoying is that the ctrl+k shortcut, which is supposed to give focus to the search box, doesn’t work unless focus is on the browser component of the tab. This means that if you open a new tab with ctrl+t and then hit ctrl+k, nothing will happen. You have to first click the blank browser component. I’d also love a shortcut similar to tab, but which cycles through only the text input components on a page. This is required apparently because web authors are not setting a ‘tabindex’ property correctly, according to my brother. He suggests I could write a Greasemonkey script to rectify this if I was really bothered. Perhaps I should do that.

Update: After reading a bit on Firefox keybindings, I came across some suggestions that claimed Opera has very good support for keyboard shortcuts. I installed it from the www/opera port and am now running it. So far it does indeed seem very nice. I like the kind of mini-task-list it has for switching between tabs (ctrl+tab). Also it has nice support for cycling through text input fields, and just like Firefox has type-ahead-find. Finally, I was pointed to a Firefox extension called Conkeror which offers Emacs keybindings for Firefox. It also claims to offer Vi keybindings. While I use both Emacs and Vi keybindings in different settings, and I use both as editors, I believe I would prefer Vi keybindings for my web browser. I will have to try this out and see how it goes. The author claims he does not own a mouse which is very encouraging.