Exercise is a very powerful mechanism for improving our cognitive ability i.e. brain power. This means memory, reaction times and tests that measure various quantitative skills.
A recent article at the New York Times discusses tests done with rats on treadmills, but exercise seems to positively affect human brains as well. In fact, exercise and diet might prove extremely useful to mitigate the increasing prevalence of degenerative brain diseases like Alzheimers. In fact, it's been apparent for years that exercise promotes the release of serotonin in the brain, just one aspect of brain chemistry (the "runners high"). Serotonin is known to contribute to mental well-being ("happiness"), so other positive neuro-chemical changes are likely.
The Brain Science podcast listed below is an in depth discussion with a Harvard physician about his work in this area and what strikes me is how much evidence of benefit there is.
Scientific American has an article online called :
It's Time to End the War on Salt
The article posits that the scientific evidence linking salt intake to hypertension (high blood pressure) and other ills is either weak or non-existent. As is often the case, the comment section is also worth a scan, although there are a few worth avoiding or ignoring.
We need salt to live, and like many things in life, have to have some sort of balance in how much we eat. A difficulty more common now is that many foods, especially the processed variety (and including (supposed) fresh meat) can contain high levels of salt. In effect, hidden.
Anyway, it is probably also worth reading the Wikipedia article on salt for more background.
Although one can look at salt as only Sodium Chloride (NaCl), "salt" also contains many other minerals (e.g. potassium) , and these can also be important components of a healthy diet. This might be why rock salt and sea salt have gained some popularity.
The Economist ran an inspiring and very optimistic piece last week called Flipping the Classroom.
The article describes how some schools are using new teaching methods to better engage and instruct their pupils. Introducing new technology to the classroom is nothing new, but getting it to make any substantial positive difference is. It's worth trying.
So far, I've been fairly doubtful about the utility of the computer in schools but, like so much else, the internet has changed a lot of things. There are a lot of very skilled and motivated people wanting to fix education and the tools are much better now.
The schools are making full use of Khan Academy, an online educational video producer. The videos are free and teach various subjects, with mathematics and science being particularly suited to this format. The videos are not only educational, but engaging and even fun.
There's a lot of choice. Pop over and play one yourself to see e.g. this one is on converting fractions to decimals.
By allowing the cheap distribution of high quality educational video and other material (courses, lectures etc.), the internet is acting as a real game changer.
Joel Spolsky's company Fogcreek announced a new product called Trello. It is a free and entirely web-based project management tool. But as Spolsky notes in his introductory blog post, it started life as a way of "digitising" the way people sometimes project "manage" with post-it notes. The concept has been kept simple.
Read his blog post introduction to see what it does. It's free to join up and use, so try it out.
My initial impression is that it's great. Seems simple, intuitive but also useful. Like any new application though, you've got to use it to get a feel and see how well it actually works. I'll have to consider how to do that.
There is an amazing number of very good HTML/Javascipt/AJAX style web applications around now, and all the frameworks and libraries as well. This is a golden age for the web. I'd like to try integrating this at work, alongside something like Google+, or similar "Web 2.0" applications, and see what happens.As well as being the creator of the Linux kernel, Linus Torvalds also created the source code management system called Git.
Git has caught the imagination of a very large number of people writing software, as well as many other people writing things they want to share, version and track. It's is a Distributed Version Control System, which means that anyone with the repository of files has the full respository and all history. No remote server needed.
Git's been very successful for a number of reasons.
Firstly, it's an excellent tool that works in a way many developers find natural in today's networked world : offline use, easy branching, good merging etc. It's also extremely fast.
It also has a very broad ecosystem built around it, not least Github, a very popular and sophisticated web-based front-end.
Perhaps one of the big reasons for its growing popularity is its constant good "press". People write about it a lot, and what they write is often of a very high quality. Guides, tips and tricks, workflows and diagrams, and free online books. Git discussion and comment has a very high signal to noise ratio. So there is a constant good buzz around it. This is the best advertisement possible.
Linus Torvalds has a pretty good track record now.
I have borrowed the nice little pictures here from Scott Chacon's Git Reset post. Scott's the author of the Pro Git book, available for free at the same place. This is a great example of the high quality Git ecosystem
Scott James Remnant now works at Google but previously was an employee of Canonical, the makers of the Ubuntu Linux distribution.
He's just written a blog blog post arguing that Ubuntu should switch from its well known 6 month release cycle to something like a 2 month cycle but with associated release "channels" for development. Feature work can take place in "personal package archives" (ppa's).
The post is worth reading, especially if you're interesting in release management. Managing software releases is a problem for both commercial and free software development. The problem Remnant wants to solve is how to improve the quality of new features included in an Ubuntu release, such that they have fewer bugs and are more complete. Currently, because the distribution release is time-based (every 6 months), new features are as well and the incentives are there to stick them in ready or not. This is to the detriment of the distribution as a whole and its end-users in particular.
The post has generated some lively discussion and many comments on Remnant's post are worth reading. A fair number take the view that the schedule should be lengthened. Some refer to the perceived reduction in the distribution's quality over the years (stability, useability etc.). In my experience, an Ubuntu release was often a double-edged sword: updated software and new features, alongside the breakage of things that previously worked. It could be frustrating.
As Remnant says, the main reason to adopt the 6 month cycle was alignment with the Gnome release cycle. But now that Canonical has chosen the Unity desktop shell, the Gnome schedule is less important.
As is often the case, the comments have been as interesting and important as the post itself. Not only on Remnant's own site but also at Linux Weekly News. Also worth reading Chromatic's take on the problem Taming the The Great Stampede.
Personally, I think that Ubuntu should try continue doing what they used to do very well, that is, take Debian Testing and Unstable, stabilise and polish a bit. Then release. They need to keep emphasising the polish and the useability enhancements. Larger features such as Unity or the Software Center should be allowed to develop without the immediate requirement of being included in such-and-such release. Let them develop, stabilise and get tested more. The PPA style channel might be a good way to do this.
Having just finished reading Huxley's Brave New World, which gets its name from something Miranda (Prospero's daughter) says in the play, I decided that I had to take this opportunity to see The Tempest. My first time at Shakespeare in the theatre, a terrible admission to make.
My review : wonderful!
The play stars Ralph Fiennes as Prospero and is directed by Trevor Nunn. It's been something to notice every time I cycle home from work, passing the Haymarket Theatre with its striking picture of Fiennes against a stormy background. He's an actor I rate highly. The rest of the cast was excellent as well, especially Miranda (Elisabeth Hopper), Nicholas Lyndhurst (Stephano), Clive Wood (Trinculo) and Ariel (Tom Byam Shaw).
Like a lot of Shakespeare, the words tumble out quickly and it is often hard to hear and understand the gist of what's said. It takes time but one's understanding does improve and the author's genius comes through.
As Prospero says, he does rough magic on his island, and the production stages this well with a variety of stage (and even cinematic) tricks. My particular favourite being the angelic manifestation of Juno, with her nymphs Ceres and Iris, performing a heavenly song to bless the young lovers Miranda and Ferdinand. No roughness to this magic.
Yes, this show had some songs as well. Unexpected but beautifully done.
Read the whole play here. But better still, see it live.
... appalling. If you have an LSI MegaRAID card on Linux, you have to manage it using the LSI command-line tool megacli. This program has the worst interface I have ever seen, with terse, complicated and case-sensitive options highly dependent on the order given. Terrible!
# megacli -h MegaCLI SAS RAID Management Tool Ver 5.00.12 May 08, 2009 (c)Copyright 2009, LSI Corporation, All Rights Reserved. NOTE: The following options may be given at the end of any command below: [-Silent] [-AppLogFile filename] [-NoLog] [-page[N]] [-] is optional. N - Number of lines per page. MegaCli -v MegaCli -help|-h|? MegaCli -adpCount MegaCli -AdpSetProp {CacheFlushInterval -val}|{ RebuildRate -val} |{PatrolReadRate -val}|{BgiRate -val}|{CCRate -val} |{ReconRate -val}|{SpinupDriveCount -val}|{SpinupDelay -val} |{CoercionMode -val}|{ClusterEnable -val}|{PredFailPollInterval -val} |{BatWarnDsbl -val} |{EccBucketSize -val} | {EccBucketLeakRate -val} |{AbortCCOnError -val} | AlarmEnbl | AlarmDsbl | AlarmSilence |{SMARTCpyBkEnbl -val} | NCQEnbl | NCQDsbl -aN|-a0,1,2|-aALL |{SSDSMARTCpyBkEnbl -val} -aN|-a0,1,2|-aALL ... ...
Uugghhhh .... 3Ware's tool is much nicer. Since 3ware is owned by LSI now, perhaps they can get the author(s) of the 3ware command line tool to sort out megacli?
Sometimes, ssh shell access to a remote machine is not enough and you really need to see the user's desktop. Particularly when you are trying to help people that have little or no computer skill.
Luckily (or unluckily if you look at it in a different way) I need Linux to Linux remote access. But VNC alone can sometimes be a pain to set up correctly (and securely), and when you need to see a running X session not start a new one. There are a few "point and click" GUI solutions for Linux and one decent one appeared to be Teamviewer. It has a standard installer and a (Wine-based) GUI which is easy to use. I tried this and it worked very well - until it didn't. For some reason, it stopped working correctly and I could only see a black screen not the client desktop. I could not seem to fix this so had to look for something else.
Enter x11vnc.
X11vnc lets you connect via a VNC viewer to a real X11 session. So you can view and interact with the remote user's desktop as they watch. This is how I set up X11vnc and use an SSH tunnel to encrypt and secure the connection. Using SSH public key support only, this makes a very easy to use solution, and your user doesn't need to do anything at all.
This is the system that needs support.
/root/bin/x11vnc
This assume we are running Gnome and the Gnome Display Manager v3 (GDM3). The main point of this is to locate and use the X11 cookie that will allow a connection to the X server.
Make it executable : chmod +x /root/bin/x11vnc
Now create an x11vnc configuration file :
/root/.x11vncrc
This is the system from which you are doing support.
Type the following command (replace HOST and PORT as applicable) in a terminal on your system :
This starts the x11vnc script on the remote system (script created as above) and tunnels through SSH.
In another window, type the following to run your VNC viewer :