Category: Sci/Tech

Chris Al-Asward (by )

Last night I leaned of some sad news, Chris Al-Asward also known as Lethe Bashar died in July just after his 31st birthday. This came as a bit of a shock as I was just wondering where he had got too so went to check his twitter profile. Being the brains and drive behind Escape Into Life I hadn't noticed a complete absence as his other twitter account was still going strong being the one that drove his EIL project.

On his profile page was a tweet saying he had tragically died 🙁 I couldn't believe it and felt crushed at the same time and then that sinking feeling of - do I have the right to be this upset - after all I have never met him in the flesh. He lives the other side of the world but he had found me on twitter and had encouraged me in the realms of art and writing.

When I have pain flare ups I sometimes cannot sleep and he was often there to talk too. I started my art journal because of a side project he started with the idea of it being sold in the EIL shop. I've took far longer on this than I have expected but I love working on the Art/Visual Poetry Journal.

It is also through him that I found The Flying Trilobite a young artist who seeks to combine science and art, I can't remember but I think he was profiled on EIL. And it was then through him I found the paleo-art site Art Evolved finially giving me a way to combine the two parts of me - The Artist and the Scientist.

Part of my anguish last night was having not noticed that someone I regually talk to was gone, I know the last few months have been pretty much a wipe out for me but still 🙁 Also as Alaric agreed with me - what of his books? His work? His Art? His Creations? What would happen to them?

I have been told since that there are plans to publish these and everyone is working hard to mantain the websites. The is also a Prize in the pipelines The Chris Al-Asward Prize for braking down the barriers in the arts.

I did cry and it made me realise that my definition of friendship is probably quiet different from most peoples. I am sad that Chris is gone. I spent last night trying to track down all his sites and stuff - getting stumped for a while until I remembered he'd gotten rid of one of his twitter accounts and stuff like that.

I also signed his memorial book.

TYCHRIS

Blood Donation Stupidness (by )

As some of you know I can't give blood due to having had a blood transfusion myself in the past - this is a newish rule and I have given blood in the past but I understand that there are risks of human mad-cow disease and things and these where becoming concentrated by the fact that those most likely to give blood are those who have had a life saved by it.

I personally would have died aged 4 and half without blood so am very keen to encourage people to donate. I try regually to get Al to go but after an initial issue of him being underwieght (for his height) he has just been too whimpy.

Then a friend of mine pointed out he couldn't give blood though being perfectly healthy - the problem? His sexuality.

(Warning I do obviously now talk about sex and things in the post.)

Know anal sex runs a higher risk of bleeding and therefore fluids mixing compared with virginal sex. So I always assumed the rules would be like - if you have had unprotected anal sex not for six months or something like that but it's not.

The exclusion is on men who have anal or oral sex with other men as they are a higher risk group for viruses that live in the blood. But hang on a minute HIV is spreading rapidly through the hetrosexual population and erm... what about women having anal sex with men and for that matter oral sex with men?

I could find no reference to them only if you've had sex with a man who's had sex with another man - but erm... that is assuming they would actually have told you? And then the restriction is 12 months before giving blood.

Prostitutes fall under the catagory of never give blood too. But what of say someone just sleeping around that is not mentioned plus they say all the blood is tested and they are always short of blood. There is no distinction over weather condoms are used for 'gay' sex. Why I wonder - last I checked they were still number one for reliability and protection. A woman on the pill who sleeps around I would have thought would be a higher risk than say men who have had say three boyfriends ever?

I don't have the statistics so I can't say for sure - but they are also lumping everyone/man together here. Though they are saying it's only men who have been sexually active with other men but there are different life styles.

Ok so the viruses such as HIV and hep. aren't detectable in early infection so leave that buffer zone of 12 months since unprotected sex or exclude everyone who have ever had anal sex or oral sex with a man! And that would include a large proportion of women!

I understand that this may result in more blood being taken that subsequently can not be used but would that out weigh the amount of usable blood you would get?

I wonder what the EU and other countries rule on this one and weather getting their transmittion data would be helpful here?

I may have missed it but I didn't see any restrictions on women having unprotected sex :/ Of any kind!

Syntax diagrams (by )

I've always liked syntax diagrams as a way of describing languages. They make it clear what options are legal in any given situation.

However, drawing them by hand is tedious, so after a moment's thought, I realised it would be pretty trivial to design a reasonable layout algorithm to generate them automatically.

And so, on a train journey, banterpixra was born!

It's quite simple. It takes a BNF-esque grammer, encoded in s-expressions like so:

(rule
 . (choice
    rule-label
    literal
    (seq "(elidable" " " literal ")")
    (seq "(optional" " " rule ")")
    (seq "(zero-or-more" " " rule ")")
    (seq "(one-or-more" " " rule ")")
    (seq "(seq" (one-or-more (seq " " rule)) ")")
    (seq "(choice" (one-or-more (seq " " rule)) ")")
    (seq "(optional-choice" (one-or-more (seq " " rule)) ")")
    (seq "(comment" " " literal " " rule ")")))

...and it turns it into a nice syntax diagram, rendered as an SVG file. I found producing an SVG to be a very easy way of generating vector images - SVG is quite a decent format to generate, and inkscape will happily convert .svg files to .png and .pdf from the command line, so it's easy to automate rendering.

The layout algorithm is quite easy. The BNF is parsed, and a tree of layout objects generated from the bottom up. Layout objects may contain other layout objects, recursively, and cover a rectangular extent of the two-dimensional plane. New layout objects are created at the origin, and then the parent layout looks at the sizes of the child layouts within it, and relocates them to appropriate locations within itself. When the layout object tree has been generated, it's processed top-down to generate actual SVG. Each different type of layout object renders its children recursively (unless it's a terminal, in which case it just renders itself at the chosen location), then it adds the arrows and lines that join the children together.

That's really all there is to it.

The output is quite decent, if your browser supports SVG!

Society (by )

It's easy to sit and complain that Society Is Going To The Dogs, and hardly any harder to come up with somebody to blame (these days, immigrants and politicians are popular), and still well within the mental capacity of the average Daily Mail reader to come up with some satisfying-sounding radical proposals for what to do about it.

However, a society is a very complex system, and every change you make has complex consequences; nothing is quite as simple as it seems. Further complicating the situation is that any attempt to make your system of laws or government institutions more complex further complicates the analysis of subsequent changes; and, perhaps most pertinently, a society is not some beaker full of bubbling chemicals - the components of a society are sentient, some of them are even intelligent, and they are highly incentivised to make the best of their situation. In other words, people will figure out how to exploit systems, rather than working happily within the spirit of them.

People who are familiar with my approach to engineering solutions to problems will not be surprised to find that I suggest:

  1. Forgetting all the cruft and historical baggage, and sitting down and carefully enumerating what you actually want from the system

  2. Making the system as simple as possible (but no simpler), to reduce the scope for unexpected consequences

  3. Using self-reinforcing negative feedback loops to maintain stability, while injecting noise to prevent stagnation in local maximae

    Read more »

User Interfaces for Event Streams (by )

Reading Phil Gyford's post about the reasoning behind his Todays Guardian app reminded me of an old interest of mine - the design of user interfaces that show people streams of events.

I hate the fact that I have several systems that have reason to throw notifications at me:

  1. Incoming email (with multiple accounts)
  2. Twitter (with multiple accounts)
  3. RSS feeds I follow
  4. Voicemails/SMSes
  5. Notification of server failures and other such technical problems
  6. Incomng phonecalls, Skype calls, etc
  7. IMs and DMs in IRC, and people mentioning my name in IRC channels
  8. People talking in channels I'm following in IRC
  9. Scheduled alarms (time to stop working and eat!)
  10. Batch processes have finished (I often start a long compilation/test sequence going then browse the Web for five minutes while it runs - then get distracted and come back twenty minutes later)

Many of these event sources are capable of producing events of different levels of urgency, too. It's really quite complex. Some things shout in my face (incoming skype messages cause a huge window to pop up over what I'm doing, for example) while some need to be manually checked (such as email; I get too much spam for the "you've got mail!" noise to mean much to me), and this has little correlation with the relative importance of them.

Obviously, the first thing to do is to have some standard mechanism in the user interface system for notifying me of events. Growl is a start, but it's focussed on immediate notifications, rather than handling a large backlog of events. What I want is something like my email inbox, that has a searchable, scrollable, history, and notifies me when new events come up. But I also want richer metadata than Growl has; I want all IMs, emails, and whatnot from the same person to be tied to that 'source' of events, so I can filter them into groups. I want to have Personal, Work, and Systems events, and to have Personal deprioritised during working and Work deprioritised during personal time. And so on.

The BlackBerry OS goes someway towards this with its integrated Messages system. Any app can register to put messages into the message stream, so when I get emails, BlackBerry IMs, notifications of new versions of software being available, etc. they all appear in the same time-stream and I get a 'new message' notification. I want something similar on my desktop, but with much more advanced filtering and display capabilities. My design for 'user agent' entities in ARGON involves using a standard "send an object to an entity protocol" for all email/IM/notification activities - the same protocol that is used to send print jobs to a printer, files to a backup system or removal storage device, orders to an automated process, and so on; it's roughly the equivalent of "drag and drop" in a desktop GUI. Incoming objects from 'elsewhere' are then combined inside the UA with internal events such as calendar alarms and situations the user agent might poll for, such as things appearing in RSS feeds, into a centralised event stream, by the simple process of translating all internal events into incoming objects like any other; but actually designing a user interface for displaying that is something I look forward to doing...

Phil's analysis of the newspapers interests me, because it's a very similar challenge. You have a stream of events, and the user may want to skim over them to see what's relevant then zoom into particular ones. How do you present that, and how do you help the user deal with an inundation of events, by applying heuristics to guess the priority of them and suitably de-emphasising or hiding irrelevant events, or making important events intrude on their concentration with an alarm? Priority is mode-dependent, too; if you're in an idle moment, then activity in your interest/fun RSS feeds should push out work stuff entirely - apart from important interruptions. And some events will demand my attention to respond to them, in which case they should offer me links to the tools I need to do that - a notification of a problem on a server, ideally, should carry a nice button that will open me up a terminal window with an ssh connection to that server. But some things might require my attention, but I can't give it yet - so I need to defer the task, so it doesn't then clutter my inbox, yet in such a way that it reappears when all higher-priority tasks are done. There are elements of workflow, where events need an initial "triage" to be categorised into "read-and-understood, do now, do later today, do whenever" and maybe prioritised, then later, deferred tasks need to be revisited.

Also, some event streams are shared. Perhaps an event should be handled by the first member of a team to be free, such as a shared office phone ringing, or a bug to be fixed or feature added to a software product. There needs to be some system for shared event pools, with support for events to be "claimed" from the pool by a person, or put back. Perhaps personal event systems should be able to contain proxy objects that wrap events stored in a shared pool somewhere, so they can be managed centrally as well as appearing in personal event streams along with events from other sources. Standard protocols would be required to manage this.

Looking at the relatively crude support for this kind of thing in even the supposedly integrated and smart combined email/calendar apps, I think there's a lot of fun research to be done!

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales