MedState (MED-PC): The worst language in the world?

For my psychology research project, one of my tasks is to write a program to control the 'cages'. The problem is that it is using a scientific package called MED-PC, which incorporates its own programming system (MedState) to control the associated hardware units (which it supplies), and so forth.

All that would be fine but for one thing. The programming language is the technological equivalent of a cat that died in your ceiling, half-decayed, but somehow never got any further. It is ugly to look at, it smells bad, but somehow it will not just fade away into nothing.

With so many languages available now - C, C#, D, Python, Perl, Lisp - hell, even Basic would make this crap look good - why would they persist in using this archaic pile-of-rancid-turd language. My bet: backward compatibility.

Just to give you a taste of what I'm suffering through, I'll give you a brief sample from their training documentation, and annotate it for your suffering

\ This is an FR schedule  (a singe \ denotes a comment.)
\ This section is for inputs
 ^RightLever = 1 (a ^ denotes a constant. They are integers between ~32k and ~-32k. Nothing else. Need a float? Sorry, too bad.
 ^Reward = 2 \ at output 2 is a pellet dispenser

\ Defined variables: (Note you don't actually declare variables as such. These are just comments to make you  a happy kitty. Not mandatory.
\ A = number of responses
\ B = number of rewards

S.S.1, \Main control for house  (Note that S.S.1 roughly equates to a thread - you can have *gasp* 32 of these suckers (I think). Yay!
S1, (This indicates a 'state' - you have have <32 of these in a single S.S. They are like 'goto and loop' in code. Kinda.
#START: ON ^Reward; --> S2 (this indicates this is the program entry-point (having the #START:). It tells the system to turn ON the output with number ^Reward; that is, the snack dispensor.

S2, (subsection of program 2. Remember, we are blessed with UP TO 32 of these little wonders. Maxmimum).
  #R^RightLever: ON ^Reward; Z1 --> SX (When the right lever is pressed once, give a reward, then do nothing much. You have to have the --> to tell it where to go next; SX is basically a 'go nowhere'.)

So anyway, after hundreds of lines of this garbage, one generally will want to kill oneself, and frankly, I think rightly so.

I'm actually pondering writing a translator so I can write in something that doesn't make me want to kill myself, and have it translate into nightmarish hell-code.

Keepass Autotype - OH MY GOD!

Between my workplace and my personal accounts, I have an awful lot of logins and passwords. Hundreds. For a long while I've been using the software Keepass Password Safe to manage these details. By sheer chance, today I stumbled across the greatest feature ever in this software.
The software has a feature called 'autotype' which I have been aware of for a long while - when you select a log-in, it switches to the immediately previous window, types the user-name, tabs, types the password, and presses 'enter' (so to speak - it fakes keystrokes). This is pretty useful.
When I accidentally hit ALT+A at the same time in Firefox, it suddenly autotyped my password - for the current site. In Keepass, you enter the URL of the site, and can click the URL to open the site, but it turns out that when you are in a text box and trigger this 'autotype' feature it reads the current URL, selects the appropriate login details, and autotypes them. All magically in the background.

That is the coolest feature ever, and will save me absurd amounts of time. Hurrah for Keepass. I can not recommend this software enough (the 1.x series - not the 2.x alpha series).

Wild adventures in the world of... violin?

Last weekend the young lady, jilavre who is now my own personal godess, loaned me her violin. Admittedly, she does have a cello, of which I am very jealous, but I now have a violin. For days on end I have been sitting around scraping away with a tuner in front of me, trying to get those notes 'just right'. Frankly, I've been failing, but I'm telling myself that is just a question of practice.
Yay for new musical instruments.

Useful facebook pages - a list of common apps and their block link, and privacy settings

Two very useful pages I have come across.
1. A list of the most commonly distributed Facebook applications, and links to their 'block' pages so you can block the application.
2. A link to what appears to be among the most important privacy configurations on Facebook. These are, from what I can discern, the access that your friend's applications have to your profile. I may be misinterpreting this, but that is the impression I have.

Honestly, I am tempted, these days, to remove ALL applications that I have not written myself. Data harvesting is simply looking to be too risky, and too likely.

The two best facebook apps in the universe

I have found what I believe to be the two most truly useful facebook-related applications in existence:
Fonebook and the excitingly named Facebook EventSync for Outlook 2007.
Unlike most facebook apps, these are genuinely useful. They allow my outlook client to synchronise contact details and events with Facebook. Suddenly the event manager on facebook becomes truly useful, because the details make their way into your calendar.

8 down, 1 to go

I have finished all eight of my psychology essays, coming to a total of 12.000 words, and will submit them later today. This leaves me but one essay, 3.000 words for politics, which I must have done by Monday noon. I'm making progress on it, but still have about 2.000 words to write.
Then, come the 15th, I am back on a plane heading to Australia. Exciting.
  • Current Mood
  • Tags

1 down - 7 to go.

I have finished the first of my 1.500 word essays for psychology - Critically compare Spearman's theory of 'g' with alternative theories of intelligence - and I feel like my brain is bleeding. Still, it is on schedule for completion on time which is pleasant. What is less pleasant is that this is one of the easier essays I have to do.
Nonetheless, you've always got to start somewhere.
  • Current Mood
  • Tags

Essay hell

Today, the nightmare of this semester begins. For those who are not aware, I am currently doing a semester study abroad at the University of Leicester, in the United Kingdom. So far, in most regards this has been a pleasurable experience involving meeting many new people from all around the world, some drinking, and regular study.
Unfortunately, the psychology department at the university feels that the appropriate way by which international students should be tested (rather than the standard examination process, which would normally take place in January, after a Christmas break) is to give such students two 1.500 word essays each, per psychology subject.
This would be fine, but for three points. First, the topics were not given to us until today. Second, the essays are due on the 7th of September. Third, I am enrolled in four psychology subjects. This means that in the next 24 days (that's including weekends) I must write 12.000 words in the form of eight separate essays.
That sucks. Especially since I also have a 3.000 word essay due on the 10th for Politics.
  • Current Mood
  • Tags

When selfish egoism ruled the world....

Nick Cohen, in a good little article, When will we stop penalising working mothers?, writes decrying business and industry for their poor behaviour permitting women with young children entering the workforce in part-time positions, or even full-time work. The fascinating part, though, is not the article but the comments.

To begin with, a smattering of individuals such as LaurainHK, suggesting that such an overall reduction in population growth is positive. This has long been a popular line, and not one I have ever found especially plausible. While it may be true that fewer people will consume less food, less resources, and so reduce the impact on the environment this is an overly simplistic view. To begin with, how many people only consume what they need? Even now, I remember that I left a light on in the next room that has been cheerfully wasting power for the last hour.  if I were more careful, the energy I saved would probably support another person or go a long way toward it. When I ate dinner, I consumed more than I really needed to, and those I dined with ate meat. Had they eaten vegetarian food, the water consumption required for the production of the meal would have been reduced by at least 20%, and that is only because the meat quantities were not large. One may argue that these refinements in lifestyle to reduce our overall impact could be applied to a reduced population also, and this is absolutely correct but comes with one significant penalty - an overall reduction in research output, discoveries, and the extension of human knowledge. Hence, the argument that we would be better off with a smaller population through a resulting reduced footprint, I believe, is weak.

The more important thread in the comments is this: Why should business pay to support women with children? This is mentioned in many veins - thte 'holiday' of paid maternity leave; mothers are more likely to show up on time and leave on time (or late) while others do long overtime. Each of these severely misses the point in their own way.
Businesses are not an entity themselves; they may be bought, sold, traded and they may buy, sell and trade, but if you take away the people then a business is a cluster of worthless and empty concepts. They depend on the successful perpetuation of a populace to whom their services may be sold. They depend on employees to carry out the functions essential to the operation of the business. As such, it is essential to the system in which business operates to support the continuation of the species in a functional and healthy way. Paid maternity leave, social financial support for childcare, free health care, free education; these are all essential parts of a functioning and healthy society. Without these things, pressure can too easily fall on a parent, then compromising the relationship with the child. Furthermore, education is a key stepping stone in a healthy and functional life. There are strong relationships between poor socioeconomic standing and shorter lifespan, not to mention domestic violence, suicide, and a range of other social and psychological disorders. All of these various support services seek (though insufficiently in my opinion) to support and foster the development of child with mother or other caregiver.
To try to deny that these services are essential to the mother is to seek to abscond responsibility for the society in which we exist. We can eat, because social structures exist that permit sufficient communication and coherence to manage food production and transport. We rely on drivers, mechanics, researchers, meteorologists, even just food our immediate food chain. If we don't breed, fewer people become available to manage these systems. If those who do have children are unable to form functional bonds with their children, and introduce them to a society in which they may operate, then we are worse of still.

Bite the bullet. Publicly funded support services are an essential part of our society's function, and those who would seek not to play their part in supporting the community need to think about where they fit, and how they would exist without others. 

Computer stores are the devil

I've decided that (as everyone else has known for ages), computer stores are the devil.

On my list of places from which to never buy gets added:
Infinity Computer,
201 Clarendon St
South Melbourne
Victoria, Australia
(03) 9682 1238

I purchased a USB Bluetooth dongle from them which though it installed correctly, was unable to pick up any devices. That afternoon I returned to the store with the dongle, and explained to them (truthfully) that I had tested the dongle on two computers, and with four external devices trying to be detected.
They tried to make me feel incompetent, suggested that they would need to test it before they could change it for another, and when I waited for their tester to return, he tested it on 2 different computers and found it didn't work on either before trying a different one and changing it over. On the positive, they did eventually change it over. Sadly they didn't have any more in the same colour.
The colour comment is relevant, because I stuck my head in there the next day to get a price on something, and noticed that the same dongle I had returned, the only one they had in that colour, was part of an order awaiting pickup. No, they hadn't had more delivered, or if they had they hadn't restocked, adding to the one remaining dongle on the shelf.

This awful practice for me gets this store a 'never buy from here, ever' mark - especially since there is another computer store 2 doors down (although they may be just as bad - I have to return a faulty 2.5inch hard drive case today to that place).