Setting up the Raspberry Pi as XMBC Media Center

This is a bunch of links and snippets that I used to set up a Raspberry Pi for streaming media from my Ubuntu machine to the TV.

Putting XMBC on the Pi:

Check under which IP the Pi is connected:

  • OpenELEC: Connect the Pi to your TV and check under System > System Info > Network
  • Router: Connect to you your Router’s Management screen and find an “openelec” DHCP client

Setting up an NFS share:

[code]
/media/Massive/Media 192.168.1.64(rw,sync,all_squash,anonuid=1000,anongid=1000,crossmnt,subtree_check)
[/code]

Mounting the share on the Pi:

Sweet Spot

I found another gem going through my notes; this one is from a talk by Professor P.R. Kumar (University of Illinois, Urbana-Champaign), his group is doing research in the field of Cyber Physical Systems which for example includes optimization of traffic by enabling communication of cars and street lights.

It turns out there is a sweet spot at about 1 hour commute time, this is roughly what people consider to be okay. Interestingly, you don’t get ecological benefits from shortening their commute below that; they will simply move further out.

Political Correctness

Some true PC gems I came across in my current project:

  1. A car accident should be refered to as crash since accidents are something that is out of our control and can’t be mitigated.
  2. The police is nowadays not dealing with suspects, rather with persons of interest.
  3. Damaged roads, complicated intersections, construction sites and other locations that are identified as car crash hot spots, are obviously sites with promise.

I hope this helps you all on our way into a brighter future.

Ignoring Input to a Text Field with jQuery

The other day I was trying to use an input field for display only: the user would select couple of elements from an overlay box and, once their selection was completed, be presented with a generated output in the input field. This should be for overview purposes only and the user should not be able to type manually into the field; a scenario much like the one covered by the jQuery Datepicker. My first reflex of setting the fields disabled attribute unfortunately did not work well since inputs with disabled=”disabled” will not only drop the onClick event but, even worse, be ignored for the submission of the surrounding form. However, it turns out that there is a jQuery one-liner for the problem:

[code lang=”javascript”]
$(‘#month_range’).keypress(function(event){event.preventDefault();});
[/code]

This will essentially ignore any key events on the month_range input field. Be aware though that it will as always just protect the user a bit from themselves and not in any way relieve you from validating the input (just try to c&p something into the field…).

Establishing a Ground Truth

A typical problem when benchmarking a clinical system is establishing a ground truth. Let us assume a clinical support system that supports a physician in interpreting radiology images (e.g., by recognizing tumors). The only intuitive method we have to evaluate the performance of the system is to test it on a set of labeled images, or in other words, through asking questions we already know the answers to. However, creating this ground truth will require us to rely on an analysis through the very process we attempt to improve, namely the “manual” analysis by a physician.

The scenario can be frequently observed wherever we try to recognize patterns. Another example is research oriented extracting of knowledge from patient records, where we would attempt to recognize adverse drug effects or develop best practices. A note might be indicating the negative impact on the patients health, although it is not recognized as such be the medical expert that is the referee for the benchmark due complexity, illegibility or counterintuitive nature.

There are methods to damp the effect, such as increasing the number and competence of the referees or implementing a round of reconsideration of results (e.g., the physicians can be confronted another time with images that have been recorded as false positives during the automated tumor detection), but those methods are often expensive and time consuming or, in the worst case, just not available.

Therefore we have to keep in mind that when dealing with a highly complicated and often intuition driven field such as medicine we have to constantly account for possible human errors, and that there is always the possibility that we have our job well enough to outperform the quality of the human decision. Or to coin it less optimistically: sometimes even great results can become a problem.

Responsibilities

When developing biomedical systems that have to be placed into clinical care we often times have to face the enormous challenge of either giving a new face to existing and familiar processes or even restructure and replace them completely with new applications. In this context, building user interfaces for an discipline that is inherently sensitive to time constraints requires careful thought, skilled design, and a profound understanding of how health care personal can be supported in their daily work. While some of our past approaches did not exactly fuel the enthusiasm for computer support at the bedside (e.g., awkward data input via overlayed keyboards), technology is constantly moving forward and the progressing availability of mobile devices (especially those equipped with reasonably functional touchscreens) allows us today more than ever to create applications that are intuitive, safe and rapid in executing everyday tasks.

For health care professionals, however, taking steps towards health information technologies, such as implementing an electronic health record in a physicians practice, will always include change that requires an open mind, professional training, costs, and a certain level of discomfort in the transition time. From a software engineering point of view, our responsibility is to make this transition as easy and efficient as possible, but eliminating its downsides completely is an impossible task. Therefore, going the whole distance to highly available, safe, and cost-efficient health care through structures like national health networks will also require policy makers to stimulate progress and, where necessary, to enforce unpleasant steps if they lead to benefit for patients.

The Search for Evidence

An interesting but also discomforting thought that came up last during a discussion regarding Biomedical Informatics: Our very computational idea of evidence based medicine is with its maybe ten years of of presence still a fairly new concept to the field. For decades, the procedures applied to patients were largely based on experience, intuition and a somewhat vague and very encapsulated “it worked quite well last time”-approach rather than on globally proven facts.

We only just started to imagine and implement systems for collecting health care information and delivering it back to health care professionals in forms that empower them to optimal decision making. Keeping in mind how young this concept of Health Information Exchange is, we can only assume that there is certainly still room for massive improvement.