Moved to blog.tmorris.net
6 12 2009Comments : Leave a Comment »
Categories : General, Health, Law, Mapping, Philosophy, Programming, Project Euler, Sport, Uncategorized
Peroneal Mononeuropathy indicator bogus?
29 08 2009Many journal articles for neuropathic disorders of the common peroneal nerve or its branches make mention of an indicator where the patient will find difficulty walking on their heels. This is because the peroneal nerve innervates the muscles that are specifically required to perform this action. I cannot find any research into the proven efficacy of this test that your local GP will ask you to perform if she suspects that you have a peroneal neuropathy.
I have been asked by many doctors since an ankle inversion sprain in July 2007 to walk on my heels and I was able to do so — I believe, quite easily. It is only now after having had five surgical procedures in my ankle and in particular, the recent tightening of the peroneal tendons in the fibular groove (subluxation indicated), that I am most emphatically unable to walk on my heels — after having been asked to do so by a Neurologist. My foot drop, which I have had since a few weeks post-injury, is also now much more pronounced. This neuropathy has gone undetected despite having been asked to walk on my heels numerous times by various doctors. I have complained about my neuropathic symptoms all this time, though not in such direct terms, however, I have always passed the usual test for peroneal neuropathy.
My neuropathy of deep peroneal has been indicated by EMG and confirmed by MRI.
Can this test be improved so that this disorder is picked up earlier, particularly in athletes who may have adapted with compensatory muscle resulting in imbalance and contracture?
Comments : Leave a Comment »
Categories : Health
Scala XHTML
15 07 2009I write web applications in Scala using its XML-literal support. This provides me the advantage of a statically-typed language while rendering templates.
Sometimes objections are raised. I will not address the most common of these objections in any detail. However, I will say that if you read a book on MVC and believe you are “separating concerns”, then you have been misguided. I have touched on the thesis of functional programming before, which provides composition in its true sense. I recommend Why Functional Programming Matters by John Hughes to get started on obtaining a true understanding of so-called separating concerns. Moving on…
I will present a trivial example of rendering objects in XHTML. Suppose we are building a criminology database which currently has two people in it.
val persons = List(
Person("Fred Bloggs",
"111 That Street Knobville",
"12345678",
"Knobs Inc.",
Set(Stalking, SexualHarassment)),
Person("Anthony McCrary",
"31291 Tecla Drive Warren Michigan 48088",
"5869447833",
"l33t labs",
Set(Stalking, PhoneHarassment))
)
Then we wish to render these in an XHTML table — let’s ignore the objections to using tables for now.
def personsTable =
<table border="1">
<tr>
<th>Name</th>
<th>Address</th>
<th>Phone</th>
<th>Employer</th>
<th>Offences</th>
</tr>
{
persons map (p => <tr>{
<td>{ p.name }</td>
<td>{ p.address }</td>
<td>{ p.phone }</td>
<td>{ p.employer }</td>
<td>{ p.offences.mkString(", ") }</td>
}</tr>)
}
</table>
In a templating language we might use a loop and have limited library access without any checking. Unfortunately, your favourite HTML editor will not allow this method of development. There is a way to accommodate this. I will expand on it in the next post.
Here is a full compilable and executable source file:
case class Person(name: String, address: String, phone: String, employer: String, offences: Set[Offence])
sealed trait Offence
case object Stalking extends Offence
case object PhoneHarassment extends Offence
case object SexualHarassment extends Offence
object P {
val persons = List(
Person("Fred Bloggs",
"111 That Street Knobville",
"12345678",
"Knobs Inc.",
Set(Stalking, SexualHarassment)),
Person("Anthony McCrary",
"31291 Tecla Drive Warren Michigan 48088",
"5869447833",
"l33t labs",
Set(Stalking, PhoneHarassment))
)
def personsTable =
<table border="1">
<tr>
<th>Name</th>
<th>Address</th>
<th>Phone</th>
<th>Employer</th>
<th>Offences</th>
</tr>
{
persons map (p => <tr>{
<td>{ p.name }</td>
<td>{ p.address }</td>
<td>{ p.phone }</td>
<td>{ p.employer }</td>
<td>{ p.offences.mkString(", ") }</td>
}</tr>)
}
</table>
def main(args: Array[String]) {
println(personsTable)
}
}
Here is how the output renders:
| Name | Address | Phone | Employer | Offences |
|---|---|---|---|---|
| Fred Bloggs | 111 That Street Knobville | 12345678 | Knobs Inc. | Stalking, SexualHarassment |
| Anthony McCrary | 31291 Tecla Drive Warren Michigan 48088 | 5869447833 | l33t labs | Stalking, PhoneHarassment |
Please ask questions if you have any.
Comments : 3 Comments »
Categories : Programming
Peroneal Tendon Subluxation
10 07 2009I found the last problem. It took me a few weeks. Two foot/ankle orthopaedic surgeons have agreed based on the video evidence below. I have surgery 31 July in Sydney. Fifth and last time I hope.
I hope to forget everything I know about Foot & Ankle Orthopaedics. What a mission.
- MRI 2008-11-17 Sagittal Slice 3 of 20
- MRI 2008-11-17 Sagittal Slice 4 of 20
- MRI 2008-11-17 Sagittal Slice 5 of 20
- MRI 2008-01-29 Sagittal Slice 3 of 20
- MRI 2008-01-29 Sagittal Slice 4 of 20
Comments : 2 Comments »
Categories : Health
Why protest something that doesn’t exist?
3 07 2009Frequently Asked Question:
“If atheists do not believe in supernatural deities, then why all the protest?”.
Other forms:
“If atheists do not believe in god, then why get so angry at him?”
“Why are atheists so angry at god?”
Answer:
God does not exist. This much is given. However, religion does exist. The protests you are observing are against something that exists. The man-made idea that serves to control fearful minds, poses to have some insight into morality and commits various acts that free-thinking minds might consider disgusting.
Try rephrasing your question accordingly:
“Why protest against the existence of religion?”
Once this is understood, then we can start talking. I hope this helps.
Comments : 18 Comments »
Categories : Health, Philosophy
Functional Java 2.20
1 07 2009Functional Java version 2.20 has been released.
This release builds on top of the concurrency work that has already been done. Functional Java now includes a full-blown “Actors for Concurrency” API, but importantly for this release, includes some high-level computations on top. See the ParModule for parallel zipping, mapping, fold/mapping (aka MapReduce) and many more, with integration to the Java library.
Other new bits include a few bug fixes, particularly fj.data.Stream and therefore, its dependents. Some other tidbits and new libraries are also available in this release.
Enjoy.
Comments : Leave a Comment »
Categories : Programming
Dell rocks again
1 07 2009I rang Dell yesterday to tell them that my battery was cactus in a laptop that I bought in November 2008. Today, less than 24 hours later, I have a new battery in my hand. This is not the first time that Dell have impressed me with this type of service.
Comments : 2 Comments »
Categories : General
An Atheistic Appeal
11 06 2009I visit controversial forums a lot. Atheist, Christianity, Islam, Mormonism, Creationism and more. I also have an armchair interest in cognitive psychology — I began studying psychology many years ago but I chickened out. I also have an interest in philosophy and particularly, epistemology. It is for these reasons I visit these forums. I am fascinated by the human condition.
Unfortunately I often see personal attacks and threats on religious people by those who are irreligious. I hope none of these threats are carried out. Perhaps I have a selective bias, but this behaviour seems to be increasing.
Those who are infected with religion are both well-intentioned and immoral. Orwell calls this contradiction double-think. Psychologists call it cognitive dissonance. Call it what you will — these people have made an epistemological error. They are people, who have made a mistake, just like you and I do all the time, knowingly or not. The tendency to anthropomorphise (which is what a lot of religion is) and appease the many anxieties that religion markets itself to do (yet achieves quite the opposite), is an integral part of the human condition. Many psychologists have demonstrated these phenomenae better than I care to.
Therefore, these people do not deserve any attack. If anything, they deserve empathy and counselling. If anything is to be attacked, it is disgusting and immoral ideas. Religion certainly stands proudly atop the podium on this one. We must separate the victims of the most filthy ideas ever constructed by mankind, from mankind itself. Consider yourself in their position — what do you deserve?
Attack ideas, not people. It is far more rewarding and virtuous. Bad ideas deserve it, people do not.
Comments : 57 Comments »
Categories : Philosophy
British Chracpot Association
5 06 2009The British Chiropractic Association is suing Simon Singh, a favourite author of mine, for libel. Did he libel? No, he just spoke a little bit of truth. Chiropractic is a pseudoscience that supplies, at best, a placebo effect. It is also potentially dangerous. It never provides a benefit above a placebo effect. Dr Singh merely requested evidence for claims to the contrary. Of course, they were not forthcoming (they don’t exist) and instead a libel suit was.
I am particularly annoyed at “alternative medicine” because it presented (and still presents) an enormous barrier to treatment for health problems, which I have had to battle for the last few months. Thankfully I have access to medical journals and text books and was able to make my own progress, despite the poor problem-solving skills of doctors. Before I started on my journey into Foot & Ankle Orthopaedics, I encountered chiropractic, homeopathy, acupuncture, trigger point needling and various other forms of snake oil.
I now know all 28 bones of the ankle, every tendon, ligament and muscle. I know all conditions of the ankle, their symptoms, how they are correctly diagnosed and some of the treatments. Before this undertaking I was as medically-illiterate as the next guy. I probably still am.
Chiropractic is particularly damaging because of how well it masquerades behind the facade of “yeah but we’re not real pseudoscience”. Its practitioners are epistemologically inept. They are not deliberately malicious — they have simply made an error in deriving true facts. This is similar to religion and how its practitioners often claim to have found evidence — no not that kind of evidence, I mean “real evidence” — for their claims. Of course, it fails miserably under scrutiny, is found to be arbitrarily constructed and so can be dismissed out of hand, just like medicinal pseudosciences. Chiropractic, like religion, is not even false. It fails the test of valid hypothesis formation.
I wish Dr. Singh all the best on his endeavour. I also yearn for the demise of barriers to medical treatment, such as chiropractic. If you do too, sign the petition.
“Alternative Medicine”, I continue
“Has either not been proved to work,
Or been proved not to work.
You know what they call “alternative medicine”
That’s been proved to work?
Medicine.”– Tim Minchin
Comments : 2 Comments »
Categories : Health, Law
gmcs ’splodes too
3 06 2009The Mono compiler for C# (.NET 2.0) crashes all the time. This is often remedied by a sprinkling of type annotations.
Hmm where have I encountered that before? Another language that is impure and somewhat-type-inferred that touts “Object-Oriented” as virtuous perhaps.
Comments : Leave a Comment »
Categories : Programming




