3~c*
[Most Recent Entries]
[Calendar View]
[Friends]
Below are the 20 most recent journal entries recorded in
arron_shutt's LiveJournal:
[ << Previous 20 ]
| Friday, March 28th, 2008 | | 5:01 pm |
From A to B Easter brings its traditional mix of bank holiday queues on the motorway and overindulgence in chocolate. I was intending to get more work done on DHARMA over Easter, but decided to pass that up and have some fun for a change. Given that the weather was so horrible, everyone was out and I didn't have any money, this did limit the fun on offer. So I decided to again get onto Second Life and do some more work on the stuff I was building after Christmas. ( more Second Life stuff here.. ) | | Wednesday, January 9th, 2008 | | 1:29 pm |
scripting life As part of an occasional series on Second Life, I thought that it might be amusing to attempt to do some development for a couple of hours. Being the sort of person that I am, I thought that developing some kind of scientific experiment would be interesting.
Linden Scripting Language (LSL) probably isn't my first choice for writing a scientific application. It is similar to java, although certain key features are missing. You can't use user defined types, and there are no array variables..although you can use lists in similar fashion if you try hard enough.
The largest drawback (as far as I can see) is the 16 kb limit for code and data in a single script. Even if I didn't use a script for anything else, the amount of data that you could store in a single script would be around 100 elements of data. I've had laboratory practicals (where the experiment failed after ten minutes) that have generated more data than that.
The way around that is to have several scripts. These scripts are self contained, so you can't directly access data from one script in another. The way that scripts and objects communicate is through messages on the chat system. So you post a message (as a string) onto a certain channel, set your other objects up to listen on that channel, and they can then react to a certain message. If you only want to control a single object rather than all objects, then you can use a variable as a key. Only the object/script with that key will react to it.
As you can probably guess, developing a real world application a series of script fragments is not the easiest way to achieve a working application. Objects are nested within the objects that need to control them - so the points on a graph are generated using a Points object. This is then embedded within a GraphPane object used to display the points. This GraphPane is then part of a large Graph object. To ensure the nested objects work, you need to test all the bits talk to each other properly. If you don't, then they go haywire and have unpredictable effects.
The framework of a typical SL object is event-driven, so you have to be careful not to write code that goes wrong and triggers too many events. The first object that I built that used object replication started spewing objects in all directions..and I found that it rapidly created more objects than I could delete chasing after them by hand. Luckily for me, I'd set the object to stop creating when it was touched, which limited the possible damage. The environment was set up to delete certain types of objects quickly, so the unwanted object detritus soon vanished out of harm.
The lesson learned was - if you're going to simulate a certain type of physical process, then you want to ensure that the objects that you dynamically generate are constrained to remain within your control. If they aren't, then like the Sorcerer's Apprentice..you'll end up drowning.
The 16kb memory limit is a hard physical limit, but with message passing and replicating objects, it could be avoided. The method used is similar to how several memory chips can be combined into a larger memory module.
You have a series of "memory objects" each of which is created with an identification (id) number. Each memory object can hold a fixed number of values (say 128 numbers on a linked list). These memory objects are controlled by a memory controller object which interprets the request to read or store a certain value. The memory controller determines which memory object to access depend on the memory requested. If you have four memory objects, each holding 128 values..then the value at location 200 would require element 72 in memory object 2.
The other issue with these memory objects is in using linked lists rather than arrays. To write to memory location 200, requires 71 blank elements to be created before you can write to the 72nd. There's little I can do about that - unless I use some kind of memory lookup table, or sort the list into ascending values as soon as a new memory location is used. Either is expensive either in processing time or additional memory. All this - merely to use scripts just to store data in.
One thing that the SL build system doesn't do that well is text. You can represent a string with each letter is a single square primitive with a character texture on it. The other way is to use a 'text label' hovering above a invisible object in the simulation. It's not ideal as one method can use hundreds of prims (and these are limited within each piece of land), and the other doesn't sit well on the side of an object, you're trying to label.
A graph object is going to be rather clunky in doing the title and axis labels. Building a terminal object would be a nightmare I think, given the number of prims required to replicate a 80x25 display!
To create an experimental physics simulation - you are going to need a network of connected objects. You are going to need some kind of display object, such as a graph, scaler, paper trace, oscilloscope or other display equipment. This will be connected to some display driver object that feeds the display device with data. If you're not using a single stream of sequential values, then you're going to need "memory chips" and a memory controller to store and retrieve values. To run the experiment, and perform the analysis on the experimental data, you are going to need an experiment object. You are then going to need objects to act as the experiment. For a simple radiation experiment, you will need a radiation source, that emits particles and a detector, all of which are controlled by the experiment object. It is not going to be quick either, as you will need to implement various "phases" to cover data collection, data storage, data analysis and display seperately throughout the network.
All in all, it looks pretty complicated. Probably the only thing I think would be more complicated would be to implement a hardware emulator in LSL, so you could play ZX Spectrum games for example..! | | Sunday, January 6th, 2008 | | 1:59 am |
second life life Given that I've been feeling poorly this week and I'm still trying to recover the files from my broken computer, I decided to to take part of the weekend off to recover. Having a new Fedora Core install, I found that the Second Life client that didn't work on the old machine is now proving stable enough to use.
So in the spirit of positivity of the new year, I thought I'd spend a couple of evenings to discover whether it was any good. I have heard that Second Life (SL) is merely a money grubbing fairground filled with vending machines and estate agents..a place where sexual organs and other perverse activities are on offer for money, and a place where the anti-social and drama queens have a virtual platform on which to indulge their egos.
Well, to be honest there is are some places where this happens a lot. But like the real world, if you know where to go..you can find that there are good places to inhabit and also to visit.
The first thing is that you don't necessarily need money to get the most out of SL. A lot of the starting places, have links to "free shops" where you can build yourself a starter kit of clothing and objects for building and scripting with. Money is used for land, uploads and designer clothing and other objects, so if you're happy wearing what is on offer, then you don't have to spend a bean. My outfit is a priest costume (minus the religious icon) as I'm a philosophical investigator sort of a person, which I got from the Free Store on Help Island.
If you want to practice your building and scripting using the inbuilt Linden Scripting Language (LSL) then you can use a public sandbox such as the cleverly named Public Sandbox Island. The stuff you build is returned to you every few hours, but despite the impermanent environment - you can design and build your own objects and try adding scripts to them.
One of the next stops that I made was to a place called "New Citizens Incorporated" or NCI. This has a friendly staff, sandbox facilities, free shops, free courses and teaching facilities. I did a course this afternoon on "Sculptured Prims" where you can build complex 3D objects from a single 3D element or "primitive". The course was free, and you got a box full of free stuff to play with afterwards. There is also places with texturing tutorials and building tutorial linked from NCI, as well as the Junkyard filled with thousands of boxes of free stuff. NCI have a no-spam, no-nudity, no-scams, no weapons, and no abuse policy, so if you wanted a place where normal people hang out (or as normal as it can get on the internet) then this is a good place to start.
Another place that appealed to me was the IBM Labyrinth, which has a robotics challenge to complete, and you get some more free scripts and objects. I also found Bodhi, which is a Buddhist meditation island. If you wanted to sit on one of the copious yaks around the island and meditate on the setting sun then you can do so. If you wanted to visit the high altitude temples, then there are a number of teleporters that you can sit on that put you out into orbit, far higher than you can fly.
One of the questions that I asked myself when I started SL was what was the point me being there was. I'm not motivated as it being a business opportunity, and I have no desire to own things..real or virtual. And being some famous personality doesn't interest me either. Most of what I do is to learn more about the world, or to solve problems that need answers..and SL doesn't really have many of those. It has a simple prescribed environment, a elementary scripting language and merely building things in SL that are in the real world did seem a bit pointless. Filling the virtual as an imperfect copy of the real says to me that you might as well live in the real world. Science doesn't really have much of a purpose in SL - as you already know how the world works and most of the problems that plague humanity are not an issue in SL.
So what is SL good for? As a teaching and demonstrating medium, it is rather good. You can build virtual tools that your class can play with, and I was surprised how good a class on building could be. There are groups of people you can join, and I noticed that there are a number of science and computing groups already present in there. So if you want to meet up with people and talk face to face on something, then it works quite well.
The building system is good, and I found enough information to build a Excel-like charting object today, where you combine primitives together and write scripts to control them. I did think that you could build experiments or simulations quite easily. An experiment feeds data into a data collection/analysis object, that then displays that on the graph. I'm a scientist at heart, and if I was to have a purpose in Second Life, then it might be science orientated. I was pleased how well you could in theory use the environment for doing work with, and show others as well.
I did see a NCI member build a 3D Super Mario game today, with mushrooms and boxes which you could actually play as if you were there, so it would see with time and effort..you can do virtually anything with the tools provided. If there is one flaw, then it is having to need money to upload textures for your own projects..but given that this is around 2p per bulk upload..it's not the most expensive thing to do in the world. I found that the free textures were good enough to do what I needed to do today.
SL has literally thousands of places and things to do, and yes..there is some ugly, sleazy and antisocial places filled with people who like those sorts of areas. But there is also the opposite situation. I suppose it is like most places and people..there is a distribution of all types and you can get out what you put into it. I'll have to spend some more time there and see how things develop.. :D | | Tuesday, January 1st, 2008 | | 3:06 pm |
literature search Well, first day of 2008 and I seem to have started it with a heavy cold. I woke up yesterday not feeling that great, and had a nap in the afternoon to try and shake off the sense of fatigue. I then started feeling very out of sorts around midnight last night and then developed a headache. I went to bed, woke up at 3am this morning when some new year revelers decided to bang on my door this morning and I then felt very bad indeed. I then woke up around lunchtime with a sore throat, congested breathing and a throbbing head, I feel very shivery and aching as well, so it looks like more than just a sniffle.
I'm back at work tomorrow and I've got shedloads to do, and I can't really afford to have any time off. I've been trying to write the introduction to my thesis and do a literature search for the PhD. I'm supposed to do 20 pages for the introduction, but I've not had chance to write more than about ten. The literature search is supposed to give an appraisal of the research field for the project, but I've already uncovered quite a few papers that show that elements of my project that I thought would be original research, have been already published or will shortly be published by various people working in the same field. A lot of this forthcoming research comes from conference presentations rather than papers published in journals, but it's a gamble to do something that you know will be published in the next few months. It's rather depressing thinking that you've got something novel and exciting to show the world, but it turns out that your up and coming lunch is going to be eaten by quite a few others before you've even had chance to eat a mouthful.
It hasn't helped that I lost a hard drive on my main development machine and I've had to rebuild that machine from some spare parts from other machines I had lying around, so I've finally got a machine up and running again. Once I've restored all the files from the December backup, I should be able to carry on and get the thesis introduction finished.
I really ought to buy a new hard drive, or better still a new computer - but it's going to be an expensive month this month what with car servicing and MOT, new tyres, new exhaust..and I've got enough to worry about.
I think that my New Years Resolution this year is to become more organized and focused. I certainly neglected several things last year that I should have been keeping up with. I thought that I should put all my time onto mostly one thing (the PhD)..and that didn't really work out as well as it should have done, so I've decided this year I should keep all things in balance. | | Sunday, November 18th, 2007 | | 3:15 pm |
silly I really ought to stop getting involved in silly arguments and debates that waste precious time. I never used to get involved in "internet dramatics", but I guess it's been an outlet to avoid the stress of so much work, but that in itself is counter-productive and unfocusing from what is important. Now I've can see what I'm doing, the next step is to avoid doing it.. | | Tuesday, November 13th, 2007 | | 12:55 pm |
review Things are busy, things are always busy. Here's an update:
- The presentation for the divisional seminar went well. People really liked it, and they've asked me to do another one with developments on my research project in the new year. So, I'm doing another talk in April on further developments.
- My office PC crashed and the hard drive died giving rise to a temporary state of panic two days before my PhD review with my supervisor. All my data was on the hard drive at the time and I didn't have a backup. It's not all bad, I have a new (temporary) Core 2 Duo machine until my super Monte Carlo 3D graphics monster desktop turns up. And the IT department managed to rescue everything off my 8 year old dead machine (Xerxes) except my webpage favorites, my desktop backgrounds and my development environment settings. I'm sure I'll live with that.
- Following on recovering the contents of my hard drive for the morning of my PhD review, then I had a six month PhD review..although this time with data and program code to illustrate the work that I have been doing. It seemed to go well. My supervisor is more concerned about me having a stress related burnout/breakdown than not doing work. I've been told to write a introduction to my thesis (20 pages) for next spring and then a 80 page document as a transfer thesis for the end of next year. I've also been asked to do some lecturing/tutorials as a guest lecturer at the university..which requires me to prepare some material for that.
I don't have another review for six months, so I was feeling relaxed and happy for a day afterwards.
- I am due to run a training course on Monte Carlo for a visiting scientist for four days, in two weeks time. The relaxed state following the review vanished once I realised exactly what work would be required to get this course up and running in time. It's going to be tight to get everything ready in time.
Luckily for me, I have a lot of the code already written to do the job. The Ozric Game (Spiraltude) had megabytes of code which with minor changes has given me a "virtual laboratory" to help collect data. It's ironic that a project which died a death out of a lack of collaboration is now being used to collaborate with others. And as I designed it, I wrote it, and I paid for it, then I can decide what it becomes now. I hate stuff going to waste, be it time, effort or source code!
Most of the completed core engine for graphics and data manipulation is proving useful. Even the skeletal animation and the mathematics stuff will be used in time..although in the next two weeks I'm not going to have time to refactor this code to make use of it. Even the skydome generation and collision code is part of the project.
Most of the work so far has involved removing references to "Spiraltude" and "Ozric stuff", changing a lot of variables from "Player" to "User" and removing "Game" wherever it occurs in the code. I don't want to be accused of writing games in work time!
Talking of games, I did have chance to look over Portal from the Orange Box (although I'm not had chance to play it directly) and thought that the design idea of using portals to open up a new way of looking at problems in games was a good one. I then wondered what one could do if you used time as a game mechanic. And so "Temporal Flood" as a possible game idea was born.
The way it works is - imagine the testing environment as per Portal, but instead of the portal gun, you have a teleporter. When you first arrive on the teleporter you can move off and explore the level. If you get killed or when you choose to, you can create another instance of yourself at any point in time from the start of the level on the teleport providing that you are not standing on the teleporter at the time. So if Instance1 (the original you) arrives at the beginning, and you take 1 second to move off the teleporter square, then then you can create Instance2 (your first copy) 1 second after the start of the level. If the level has a time limit, where you have 60 seconds to complete the level and all instances are killed, then you can only create 60 instances of yourself before the end comes. So you have to work fast in formulating a strategy.
Having more copies of you means that you can interact with each other. Instance1 can stand on a button to open a door that Instance2 can then pass through. Instances can be killed, and their bodies piling up can be used to fill in holes to allow an instance to ford them. Corpses from dead instances can also build a barrier to stop something shooting at you to provide cover. All this happens in real time, so if you Instance1 is shot by a turret but protects Instance2 from being killed by being in the way, if you move Instance3 in front of Instance2, then Instance2 will live and Instance3 will be killed instead.
Each instance can obtain equipment from dispensers, and you start the level with the equipment the instance that completed the previous level had - which means all your instances have a item, if you finished the level with it. Objects can be varied and numerous - boots to walk on walls Ancipital style, guns, grenades, jetpacs to fly around..the only limit is the imagination. You can also strip all the current inventory with "confiscation fields" to ensure that someone does not have a certain item.
One novel feature about the game is that one can "rewind" the movements of an instance and replay them differently. If Instance1 died in an explosion you could have prevented, you could call up the rewind panel and replay that section again for Instance1. Causality still acts, so if you save Instance1 who was protecting Instance2 through "rewinding", then Instance2 will die instead, unless you can save Instance1 as well (which may not be possible). For example - If you are facing a machine gun firing 120 rounds per minute, you may not avoid losing a single person, but if you distract the gun enough, then one person may get through to the end. You can switch between any instance still alive at any one time, but if one is dead, then you need to rewind an instance back to a non-dead state first to continue. A thirty second fall resulting in death, will require thirty seconds of rewind time.
If you imagine a multitude of Agent Smiths from taking on the world all at once, then you can imagine what the whole thing will look like. A flood of replicating forms, all trying to stream to the next level.
You could in theory complete the perfect level through "rewinding" but then apply a penalty or a bonus for the amount of rewinding you do. You could have a limit on the amount of time you can rewind by. The level has a limited "live time" and you could also put a limit on the time you have to come up with a solution as well. You could have a bonus for using less "Instances" or not getting any of them killed.
How can you fail? Well, you could stop yourself from being able to move because you've crammed a corridor full of instances that cannot reach the end of the level in time. You can fail if you can't create any more instances because the pad is occupied during the time for the level as you may not have the number of instances to solve the level. You can't change the time you are on the transporter pad, only once you move off it. You may run out of rewind time or the time to solve the level.
This game may sound complicated, but it is basically an extension of the replay facility of a racing game where you can recall the entire race and view it through any of the drivers or remote cameras. The only difference being that you are changing the replay data, and this will obviously alter the race!
The only thing missing for "Temporal Flood" is a tagline. How does "Your only limit is time" or "Time waits for no one..but you are so many.." sound? | | Wednesday, October 17th, 2007 | | 11:44 pm |
day orf Day off today. This will allow me to tidy up the house, and to do some of the jobs I've neglected for the last month due to being so busy. Like give my niece her birthday present.
- The presentation on MCNPX I did on Monday went well..apart from some minor changes ("Can you change the colour of that line on that graph?") there isn't anything else to do on it, other than the seminar presentation. The snakes and ladders work seemed to go down quite well, I ought to do a write up on here about it some time.
- I've got my PhD review meeting coming up in November, so I'm trying to pull out all the stops to send my supervisor away impressed beyond all reasonable doubt. I've got a lot of the results being processed with a semi-automatic tool, but I could certainly do with a better one.
- I'm still trying to write the graphical front end for DHARMA. Ironically, some of the current work that one of my old associates Shawn Hargreaves (who now works for Microsoft on XNA) has been useful in planning out how to build the mathematics involved in doing the tool for displaying my research on the screen. I'm glad he's doing so well from reading his blog, he certainly deserves to be working on what he's doing now. :D
Plus the Queen and Prince Philip are coming up to see us on Friday. Well, it's not every day one is visited by royalty :) | | Wednesday, October 10th, 2007 | | 1:36 pm |
seat of learning I've got a presentation on my work with MCNPX and Monte Carlo methods for the end of the month..and a preliminary run-through of the presentation is next monday for my colleagues. It is designed for "lay-people" so the important thing is not to lose them after the first overhead. This is not easy given the statistics and physics involved. I've tried to keep it very "Blue Peter/Tomorrow's World" in the delivery of content, which hopefully will keep the audience together until the end.
I'm done with the basic structure of the presentation, but it's still going to be a major grind getting the data into the presentation before the end of the week. There are over a thousand datasets that need processing, and I've still to write the conversion software tool to do the job.
The Japanese student is back in Tokyo. She was fun to teach stuff to, and it seems my success has paid off in..erm..more teaching for an incoming greek student. They say that work is its own reward, and I certainly get my payment in full!
I also got to spend lots of time in the library last week. I love a good library, especially when surrounded by books on mathematics, collision detection, volumetric imaging/processing and writing games.. :)
The major software development at present is trying to build some kind of a useable user interface for DHARMA (menus/toolbars and dialogs) for a possible demonstration coming up in November. At the moment you control the program by rewriting the source code and running the makefile. I'm sure that it's not user friendly.. | | Thursday, September 27th, 2007 | | 12:14 pm |
approximation of reality Life is full at the moment..
The work that I am doing at the moment is to create a mathematical representation of our radiation detector systems at work. This is so that the mathematical simulations that I am doing can be immediately applicable to the physical systems.
For those people who don't have a lot of experience of radiation and radioactive sources..these sources emit radiation in all directions. If you have a detector close to the source, then some of that emitted radiation will enter the detector and be detected. Some of that radiation will be shot off away from the detector and not be detected. The ratio of detected radiation from the source to the total radiation emitted from a source is known as the efficiency of the measurement. In order work out how 'active' the source is, this is one quantity we need to know accurately. This efficiency is also affected by the energy of the radiation coming from the source. If you imagine someone trying to run a police roadblock, then the probability of the police catching that person is related to the speed (or kinetic energy) of the car crashing through the police. So, the more energy the radiation has, the less chance it has of being stopped (detected) should it pass through the detector crystal.
For my mathematical detector system to have a chance of being a good representation of the physical detectors..the efficiency of the mathematical system and the physical system should be identical. In practice, this is unlikely, but if the uncertainty (error bars) of the measurements on the two systems overlap..then that will be probably good enough.
There are certain other complications in that the computational programs only simulate what happens in the detector crystal and not what happens in other parts of the detector - photomultipliers, amplifiers, anti-coincidence and peak shaping units. All of this electronic gubbins are used to form a spectra of counts vs gamma energy.
To apply the mathematical system to the physical system, you need a "blackbox" that will turn the results from the computations, into a spectrum that would be typical of a physical measurement on the detectors. This involves all sorts of mathematics and frequency spectrum convolution. It's all a bit involved, but once it's been done, I should be able to set up a mathematical run, create a spectrum file and use the peak search and nuclide identification software for our detector systems to analyse the spectrum as it is was a physical measurement. If all goes according to plan, the computer system will give the same result from a real measurement on a person and a mathematical simulation of that measurement.
Once I've achieved that, then I can start doing the interesting science of building mathematical representations of people and doing unethical things with them..all in the name of helping real flesh and blood people of course!
And in other news..
I've noticed that "Bob" hasn't featured either myself or Janet on his prophecy site for a couple of days. I'm not entirely sure why, but given that part of what I asked for has occured - as a mark of good faith - I've removed the "End Timer" post for now. Should I get the apology I asked for last time, I'll remove the last post I made as well. If things slide back into unpleasant postings and anonymous spamming (from him) - then things will go back as they were. It is entirely down to him basically.. | | Tuesday, September 25th, 2007 | | 12:20 am |
Ministry of Dreams I apologise to some of my people on the LJ friends list who may have received some anonymous postings on their LiveJournal which feature my and other people's names. I suggest you delete it, as the person who posted it "Bob" seems to have some serious problems. His crusade against anyone who mentions "Ministry" "Of" and "Dreams" in any webpage seems to be unending. He also tends not to email the person concerned, but attack everyone around that person in some hopeless attempt to cause that person to fail. In reality what actually happens is that instead of appearing to be an idiot to one person, you appear to be an idiot to many. His "fame" is spreading. Ministry of Dreams is already on the encyclopedia dramatica. Be warned, this link is not safe for work.. http://www.encyclopediadramatica.com/Ministry_of_DreamsThe way that this thing is spreading, I can see this becoming a internet meme. "Post like the Ministry of Dreams day" on a yearly basis perhaps? Write a lot of inspired "prophecy" and then claim that anyone who copies you will be destroyed. If you have problems forcing a few accidental people to give up using the three words "Ministry of Dreams" on the internet - then imagine trying to stop thousands or tens of thousands. There's not enough hours in the day to hate them all! I'm sure that I wouldn't have to look very far through the Bible (a book I have a lot of respect for as a source of good wisdom to live a good life) to find a passage about how one is known by ones actions (such as Matthew 12:35)..if you do loving things, then people will testify to you as a loving person. If you do hateful things, then people will know you as a hateful person. From what I've seen so far, one cannot say that "Bob" is someone whom one could respect as a man of truth or love. It's baffling..how one could so easily use one's talents for good, to bring joy to many..to comfort the desperate, to educate the ignorant, and to be a light in the darkness. Jesus would hold someone who embodied his teachings in their everyday life most highly. Such a person who helped people find the right path (as a signpost points the way forward) would be much loved. As "Bob" seems to be watching and doing rather extra-ordinary things in an attempt to draw down divine retribution against any one using "Ministry of Dreams" (a perfectly public domain phrase as far as I am aware to use in public) I have a suggestion to help my dear friend "Bob" out of pain and torment and on the path to peace. If I get an apology from "Bob" to my friend Janet (j4) and myself as a comment somewhere on my LiveJournal (1) apologising for attempting to cause distress through a campaign of unpleasantness, and (2) that myself and Janet are not mentioned in any further "prophecies" and anonymous postings then I will be happy to remove my "End Timer" post and this one too. I will forgive your actions and I'm sure that God will also. Forgiving transgressions in the repentant is a good deed. I won't mention this any further. I know a lot about "Bob" including his true identity. I know his IP address, and from that I managed to track down where he is posting from. I even had an interesting conversation with the people from where he is posting from as he is using their computers to post from. They were very interested in what I had to share with them. I've got some information from the FBI about his "activities". I've had contact from other people who know him. If I were so inclined (I'm not), I could easily share this information with everyone. It is quite a tale. The problem with having an internet persona where you deliberately antagonize people is that it can backfire. One day, one post too many..and you'll find yourself face to face in real life with someone who doesn't like you very much. The internet is not anonymous..it only gives the impression it is. Every page access, every internet search is recorded. God knows everything, but computers come a close second for keeping accurate logs! I've got nothing but compassion for "Bob". It must be horrible to be constantly hitting a pool of water with a stick imagining in ignorance that you will eventually tame the water to your will..and all that happens is that you get wet. The more you hit, the wetter you become. If you stop hitting the water, then the water will grow calm on its own and you will have no need to tame it. So I'm waiting for "Bob" to apologise to myself and Janet and we can finish this. Next time, I hope to explain why building a virtual radiation detector is not as easy as it seems.. :) | | Saturday, September 15th, 2007 | | 2:22 pm |
mentor I'm feeling a bit under the weather today. It's not too bad - on a scale of one to flu, it rates around three, so I'm still functioning relatively normally. Whilst I'm taking it easy to help recover, I thought that an update was in order. It's all been a bit busy:
1. I've had some new staff that I've been trying to bring up to speed on the science we do at work. One is our placement student for the year from Hudderfield, and the other is a visiting student from Japan.
It's great to help people develop as scientists and work on their own stuff, but you have to do a little guiding and prodding to get them to take the reins and not be scared of making the odd mistake. The only problem is that it takes time and effort (which I don't mind giving) but it's all on top of everything else going on at present. I suppose that once I've finished on the research career, I could always do a spot of teaching or something like that as a hobby. :)
2. I've been doing a lot of development work..the PhD effort is slowly building up the capability to do the groundbreaking research I have planned, which involves a lot of measurements, developing mathematical models and running tests to see how good they are. It's not one of those things were you can guess what the outcome will be..like rolling a die - you know if you throw enough dice you will get six eventually, but knowing when six will come up is anyones guess..it just become more likely through probability the more you throw..
3. I've got a review for the PhD coming up before the end of the month, and it would help to have one or two milestones finished to demonstrate that it's all under tight project control. My supervisor seems really happy with how things are going, but I'll be a lot happier when the report is done, the signatures are on the bottom and the Powers That Be show the green light to continue onwards. There's certainly no problem with the amount of effort that I've been putting in..
4. DHARMA is now starting to contribute to the project in a meaningful way as opposed to being a negative time sink (development time outstripping usefulness). It's still early days, but I'm hoping that I might get some of my time back to do more investigating. If the PhD was Railroad Tycoon - I'd rather prefer planning and building the railroad, as opposed to driving the trains, stoking the furnace, selling tickets and running the buffet cars, which I spend 80% of my time on at the moment..
5. I've got a research seminar to do, for which I've been "invited" to deliver a lecture on all the new stuff that I've been doing for a "layman audience". How do you get across complex and difficult physics and mathematical concepts in half an hour without sending everyone to sleep? Well..that's what I'm going to be spending some of October preparing. I feel that I might be drawing some inspiration from both Blue Peter and Tomorrow's World on that one..
I've noticed that both Space Giraffe and Bioshock are out. I'm not playing games or watching much television at the moment, so I shall save both of those for once I'm through the current long march. I don't have an XBox 360 either, so I might get an Elite and Bioshock bundle if they're doing one around Christmas.. | | Monday, August 13th, 2007 | | 7:07 pm |
the third drawer down used to contain documents Re-reading the entry I did earlier, I'm not very happy with it. It should have been two entries, one on the PhD and the other on television. This is a short summary of that entry. quinling supplied the title for this entry from a piece of spam he was sent! To summarise the first part of the entry on the PhD. 1. All the research one does on a PhD has a common element linking it all together. 2. The path that one follows during PhD research cannot be predicted due to the nature of scientific research. Despite this, one should try to keep what one does to the common theme of the PhD. 3. If scientific research is not published, then it is useless. Tomorrow's research is based on the research of the present, as the present is based on the past. The second part of the entry covered documentary television, which covered technological change. Some documentaries see technological change as being something barely under human understanding and control. Some technological change (such as nuclear weapons) can put the humankind on the brink of extinction. Another view is that scientific and technological change is all encompassing, and has arisen through interconnection and collaboration. All of this reliance on technology and science can bring great suffering if not properly managed and understood. Such a support mechanism can also lull people into a false sense of security, which is demonstrated if something fails. The failure cascades through the interconnecting systems, leaving people without food, transport, communications and other services. As these systems of technology get ever more complex, they become harder for humanity to understand and predict. Out of this ignorance, the chance of catastophic failures and civil breakdown increases. There is no getting away from the technological life support system we have built for ourselves. For humanity to survive, we have to keep it all going. Unfortunately, this is causing other problems such as global warming. To overcome global warming requires global change in the technological support system. No one seems keen to do the painful and wide ranging measures that will impact on all parts of modern human existance. I am part of this system of progress as a scientist, and my actions benefit society through scientific and technological progress. But this progress will ultimately push the system into a more complex state where breakdown is more likely. Our only real hope (if we are not to dismantle what we have built) is to be able to use progress to solve the problems that arise from progress. This would work as a feedback mechanism to limit progress. Is such a thing possible? Perhaps only history will tell.. | | 2:40 pm |
fetch the comfy chair This entry is the one that I was going to do before, but didn't. I did have an idea to explain how random numbers allows you to make sense of the universe through a system of rules (the Monte Carlo method). This one won out instead. This title was brought to you by limb_clock. I know that I tend to write enormously long entries normally, so I've put it behind a cut. ( Read more about the philosophy of science and science on television ) | | Friday, August 10th, 2007 | | 8:44 pm |
the butterfly and the pigeon I was going to talk about science on television, but I think that I'll leave that for a bit later..as I will talk about the scientific developments during the week. The DHARMA code that I am developing for the PhD is a scientific framework to aid in the use of certain photon transport codes. To be able to use this, I still have to define certain datasets to be able to test the application. There's a certain sense of irony - develop a framework to make the development of datasets easy, whilst needing datasets to test the framework out that it is working properly. If you can remember the last entry, I was trying to use X-ray sets and gamma sources to determine the structure of detector systems. Unfortunately the gamma radiograph didn't work as the number of photons hitting the film were not enough to make a distinct image. We have bigger sources at work, but I need to arrange the use of the irradiation rig to get some kind of an image. At least I know that Cs-137 has the necessary gamma energies to penetrate the detector structure. In addition to making direct measurements of the detectors using radiography, I managed to get the specs of the detector from a manufacturers catalogue, which was dated in the mid-eighties, so I have the material specification. And from this, I managed to build a mathematical model of one of our scintillator detectors. This is an early model and doesn't incorporate the list of changes that I've identified (changes to materials and layers within the detector), but you can see the structure inside the detector. This image is a plane (a "slice") through the the detector on the x-axis, so you can't see the geometry behind you or forward off the plane.  The various materials are colour coded. The orange is air, the blue is sodium iodide, purple is aluminium oxide used as a visible light photon reflector. Dark blue is alumnium. Green is stainless steel. White is vacumn. Each of these are used to determine the interaction of radiation within the model, and they have a atomic mass and a proton number, as well as a density in grams/cc. This model is then used to position sources of particles and photon energy. Particles are then emitted from these sources and then the radiation absorbed in the detector volume (the blue volume) is used to work out the efficiency of the system for a given source geometry, energy and a whole load of different parameters that you can vary. All the geometry are defined using mathematical equations, not polygons..so it's not quite as easy to import stuff into it as you might a 3D modeller for a computer game. So from this mathematical 'virtual' model, you can compare it to measurements on the physical system and see if you get the same answers. At the moment we're still using very simple elements, but soon there will be a lot more complex geometry and dynamic biokinetic systems incorporated, so I can see this being a real headache to keep track of it all.. This project in a early stage of development, as I'm trying to get enough elements together to test the DHARMA framework, but you can probably see where we're going with this.. Oh, BTW..don't blame me for the title, it was Alarm who suggested it on IRC when I was stuck for a title! I suppose that the butterfly element of the post was the science on television bit which fluttered away as soon as it was seen..and the pigeon bit was the clucking about pecking at random concepts throughout! :D | | Saturday, August 4th, 2007 | | 11:55 am |
penetrating Yesterday was trying to take a radiograph of the detector. It was a partial success, given I've established the limits of the side and the end of the crystal inside the detector.
The crystal inside the detector is very large and more than suited to absorbing the x-ray energies used of 330 keV. So was the thicker part of the metal frame, which were unfortunately located where the photomultiplier and crystal join together so it is more difficult to determine what is going on in that region.
I like just to recap the penetrating power of electromagnetic radiation for a moment. All electromagnetic radiation has energy. It is measured in eV or electron volts. This is the kinetic energy (moving energy) gained by an electron when it passes through an electric field generated between two charged plates. These plates have a potential difference (difference in voltages) between them. If you connect a voltage between two metal plates, such that one is at +0.5V and the other is at -0.5V, then an electron accelerated from one plate to the other would have 1 eV in added kinetic energy.
An eV is very small (1 eV = 1.60217653E-19 J) so it is usual to represent these in higher multiples of eV, such as thousands of eV (kilo electron volts or keV) or millions of electron volts (MeV). The more energy that a electromagnetic radiation element or "photon" has, the more likely it can penetrate materials. 1 joule is approximately the energy required to lift a 1 kg weight vertically through 10cm, so you can see how small an eV actually is.
Just to give you an idea of the penetrating power of photons, one of my jobs is to determine the radioactive content of human beings, which use radiation detectors. The radiation detector that I tried to X-ray was designed for measuring fission products. What is a fission product? It is the radioactive debris, or elements that are formed following a fission reaction. Elements such as Caesium-137 and Cobalt-60 are formed as part of this process. Typically, fission products have an gamma radiation range of between 100 keV-2 Mev (2000 keV) and so the detector I was using was designed to absorb as much of those gamma photons as possible. The X-ray is the same energy as in this range so it is not surprising that one cannot see through the crystal to reveal details of the photomultiplier tube. We have other detectors that are designed to measure actinides in lung (plutonium, americium) - these have energies that are between 10 keV and 200 keV. It is more difficult to measure these effectively because they are readily absorbed within the body, thus lowering the number of photons that can be measured. Most of this radiation will be absorbed, depositing the energy of the radiation into tissue and causing damage.
Of course the more radioactive material inside the body, the more photons will be emitted, which in turn gives you more to measure that escape the body, but this will contribute more of a dose to the subject from the absorbed radiation. For certain radionuclides such as plutonium, or polonium-210, if we can measure it directly using external detector, then chances are the subject has serious health issues with regards to what is inside them.
X-rays and gamma photons are exactly the same. They are only different to us because we know they are generated by different processes. One is generated by accelerating electrons into a metal target and the other is by a atom decaying by radioactive decay releasing it's excess energy. It is difficult to determine from a single photon where it was generated from. You can use the range of photon energies to determine a radiation source. An x-ray spectrum will have a continuum of photon energies, with certain peaks representing absorbtion edges of the materials used in the target. Gamma-ray emmitting radionuclides will emit gamma rays into certain energies, representing the difference in energies between electron shells in the atom.
So after all that, what I am trying to say is that rather than using a X-ray set (which has lower energy than what is needed to penetrate the detector upper casing), I am going to use a gamma source instead. I've done a pilot experiment where I've put a cobalt-60 source and a caesum-137 source on side of the detector, and a piece of 400 ASA photographic land film on the other. I've used faster film because it has a large grain size, so you should not require quite as much gamma radiation being absorbed in the film to give a good picture. I'll leave it there for three days to expose. If I'm honest, I'm not sure that it will work, but even if I get a hazy smudge on the film, it will show there's some form of absorption, and I can use some beefer gamma ray sources elsewhere in the building to do a better exposure. It's a huge shot in the dark, but when you're not sure, you have to do some experimental mucking about!
That's what practical science is all about! :D | | Friday, August 3rd, 2007 | | 11:10 am |
looking deeper Didn't feel that great yesterday (felt a bit weak and wobbly), I hope that I'm not coming down with anything nasty. It would be ironic to spend my holiday being ill, when I'm here to rest up after the lunatic work schedule I've been on this year.
I spent most of the day on some low level work - changing a load of powerpoint presentations from using a black slide background to a white one so that I could print them out on an inkjet printer. At present they'll be needing a change of ink cartridge every few pages given the density of black ink on each page. I also tried to get back into the DHARMA code after a week break from it.
The major job for today is to go into work and x-ray a detector so that I can determine the position and density of the internal construction. The detector costs £50K, and taking it apart would cause quite a bit of damage to it, so it isn't recommended. Once I got this information, then I can finish building my mathematical simulation of a detector, and the Black Donkey can then get to work grinding through the hundreds of computational runs that will be required to characterise it. At least it will keep the hungry one busy for a week or two. He eats me out of house and home.
Heaven help me when his brother (the new beowulf cluster) turns up..he can do eight times more work than the Black Donkey. With various optimisations, the blackdonkey has a work throughout of 300 times greater than the machine sitting on my desk in the office. High Eeyore (the new cluster name) will be 2400 times faster. I'm going to need a group of people to help me out to keep these monsters fed with data..
I've still to process the several hundred datafiles that he did the last two weeks..I've still to write the code to achieve that in a semi-automatic way..! :|
Anyway, time to pack up and go off to work.. | | Wednesday, August 1st, 2007 | | 9:53 am |
We're all going on a summer holiday.. Finally made it after a couple of fits and starts having to go into work to fix certain things, but I'm on holiday for four whole weeks. Whoopee!
The next four weeks are probably going to involve getting the PhD stuff done without interruptions, and also to go and visit a few places for a few days to make the holiday feel less like study.
Anyway, the first order of business is to have lunch with the donkey today, so I'd better go and get something edible..I wonder what donkeys like to have for lunch? ;) | | Sunday, June 24th, 2007 | | 3:05 pm |
the power of ignorance and making stuff up.. I managed to watch "Power of Nightmares" which was a series that was on television a long while back. Due to one reason or another I seemed to miss most of it, not being a great television watcher. Modern civilisation makes life easier for the inhabitants of that civilisation. The civilisation gives rise to an appreciable standard of living. People seem to relax into a comfy existance where they become ineffective human beings unconciously driven by desires. People (according to Leo Strauss) need something to act as a focus to prevent the rot of humanity..a series of social and moral absolutes. Good vs Evil, moral certainty vs. liberalism, Us vs. Them. Even if these things do not exist,then they must be invented to inspire people. What Plato called "a Noble lie". Once basic needs are met according to Maslow's Pyramid of Needs, then people seem to become less effective human beings. There are two extremes to society. One extreme is where a civilisation is falling apart from apathy. The other extreme is where people are constantly fighting amongst themselves to maintain a situation, either physical or ideological. Neither are beneficial. It seemed to me that making up falsehoods to get your own way in guiding society is certaintly the wrong way of doing things. That you cannot kill an idea merely by killing people. There is no one solution that fits all people. To attempt to try implementing an imagined utopia causes endless suffering..dealing with your non-community elements will cause people to be either imprisoned to isolate them, 'corrected' to bring them back to orthodoxy or removed through killing them. The premise of Leo Strauss has some merit, but the solution to me is to give humanity challenging projects to achieve, such as space travel. That tends to bring people together to noble ends, through working together and understanding each other. These lessen individual egos and foster a common spirit in overcoming real challenges. From Ayman al-Zawahiri's perpective, it also seems to me a community based around an good idea does not arise from enforcing a ideology on them. To lead by example. Like minded people will join it of their own accord. You cannot make the world the same as your community, but the community will become the world if it proves to be a good model. Take this place for example: http://www.plumvillage.org/People are part of a community because it works. It has a good community core theme and is self-supporting. http://en.wikipedia.org/wiki/Open_societyI've felt that an Open Society as suggested by Karl Popper would be a viable model for a society. Since information would also be openly available and observation used as a method of self examination, anyone could find out the truth and nothing would be covered up. Having more data to work with puts you in a better situation than not having enough data. And the situations that gave rise to the worse mistakes from a historical standpoint in this documentary could have been lessened and perhaps even avoided. A response in such a society should be based on action, not imagination. Observing more is not a problem in such an situation, providing that the observation of action is what drives policy rather that fear, and that the evidence of observation is open to all. Ignorance and making stuff up cannot have power in a society where information can be freely observed, interpreted and acted upon by anyone. | | Friday, June 22nd, 2007 | | 10:27 am |
plant a good seed.. ..and you will joyfully gather fruit.
Tough day yesterday. I had to do a two hour viva voce in front of my bosses to justify my entire project and the project plan for the next year. Starting from first principles, I had to go through and explain the basic physical methods, derive and explain a lot of the maths. Explain the results, Explain my interpretation of the results, discuss whether the results showed what was indicated and whether it was the right way in the first place. Six months of work was ripped into its component quarks, examined and then reassembled.
Probably the hardest point of the exercise was despite using two methods to get the same answer, why I didn't use more than two..which came down to time and effort. Despite all of this and the tough grilling I got, it seems that people went away happy and despite some fairly sensible suggestions to the project plan..I got off with nothing more than a couple of bruises.
If there was one major criticism with what I am doing, it was that there was too much to do. The problem with what I'm doing is that it is so new, the small seed that one plants soon grows into a tree that all can see. And that tree will spread out like a forest in all directions. I may have started with a seed, but the potential useful work that people now want could keep a group of scientists occupied for decades working full time. Work has always been it's own reward. Do good work, and you will have more work to do after..
I also managed to watch "Jesus Camp" last night thanks to the generosity of one of my friends. It was probably one of the most disturbing things I've ever seen..and I've got quite a collection of weird films from across the ages. I thought that the paranoid nuclear anti-communist lunacy of Atomic Cafe was nuts, but we're talking nut icecream, topped with peanut butter, choconut sauce, flaked and chopped nuts and served in a coconut.
So I've established the kernel of the film. Nuts. Not from a spiritual teaching point of view, but from a brainwashing speaking-in-tongues worshipping-idols-and-people-not-worthy-of-worship lying-for-god sort of way.
No wonder the kids were crying after the two minutes hate. I was close to crying myself. Apparently the best churches are those where everyone jumps around mindlessly like at a rock concert..where I was under the impression that the best "churches" are those in which people come to love wisdom, who embody wisdom, who are transformed from ordinary people into good beings..and you don't even need a building for that.
In ten years, these kids will either be in a mental institution, with their minds and lives destroyed..or out with a gun destroying other people's lives around the world..because they didn't measure up to their high standards of theological-derived wrongness.
I'm sure that Jesus would not be happy how the leaders in the film are making the little children suffer in his name..I'm not sure whether he's got Dies Irae on CD..but I'm sure that it will be playing in the background when he next comes to visit.. | | Thursday, June 21st, 2007 | | 10:03 am |
structure I'm trying to work abstract structures into DHARMA at the moment, which encompass the functionality of the other programs that it has to express other problems into. The problems are represented as a hierachical tree structure are elements can have other elements represented within them. The other complication is that certain collections of elements can be used to form "groups" of elements, which in turn can be grouped into a larger group. These groups are seperate from the elements, whilst being dependent on them. Perhaps an example might help.
Imagine a car wheel represented in terms of computer graphics. The hub of the wheel is going to be 3D geometry representing the metal internals of the wheel. The tire of the wheel is made from a different material that surrounds the hub. The wheel is fastened to the axel by four metal bolts, all of which are the same.
The 3D geometry to represent the these items. The geometry used to represent a bolt needs only to be defined once. The geometry of the bolt doesn't know how it interacts with other things, but the geometry elements are grouped together into an object called a bolt.
A wheel is another group, containing the tire and hub. The hub contains four bolt objects derived from a single bolt template.
So to represent the wheel, you need both instances of geometry and also the groupings of elements to keep track of it all. You can extend this upwards to an entire car, as a car has four wheels (usually), connected onto the body work. The design of group objects is seperate to their connections within the cars. You know you need hubs and tires, but given your average rice car is probably going to have custom alloy wheels compared to the factory fitted wheels on Aunt Alicia's runabout..the data for the elements is infinitely variable, even if the grouping, sub-grouping and the connections stay the same.
The same is the same with the DHARMA problems. You can look at the problem in terms of geometry - this cylinder here of a certain material, which contains two other cylinders of a different material. At some point, you've nested enough geometry together to say "this here is what I call a detector". Or you can go from the other way and say "this is my problem space, put a detector here, a source here and I'll worry about defining these two later..". Both groups and elements point to each other, so as you change one, then you alter the other, but they are completely different data structures.
Once something is specified in completely abstract way, then it should be possible to convert it into a specific format for a certain program. Another analogy is language. It could be said that "Coca-Cola" is the same in all languages, but translating from one language to another is usually quite tricky. Sometimes there are phonetic differences, which is why Thai buddhist refer to the Sanskrit term "Dharma" as "Damma", where they seem to miss out the "Dh" and "ar" sounds from the word in translation. In some cases the concept is not one that is covered in the existing language. The japanese use a composite language that represents concepts that give the phonetic spelling, but do not have existing Kanji for. This system is called "Romanji" and I remember my friend Russ having tutorial books where "ice cream" in english being built up from hiragana as "icy crema"
The abstract in all language is thought. Ice cream has a certain taste, it is cold, it is made from certain ingredients..you can assemble all of these concepts and link them into a group which most people would axiomatically agree is representative of "Ice Cream". Unfortunately, direct thought transference isn't possible, so to communicate the concept of ice cream to others, in terms of perhaps asking them whether they want one..then we have to use language.
Asking an english person whether they want an ice cream is going to take a different set of noises than if I'm going to ask someone in chinese whether they would like an ice-cream. There are also cultural barriers as well. Asking a muslim whether they might like a tasty sausage sandwich might engender a completely different response to asking a christian. There are certain states of communication that for one implementation can happen and for others that cannot.
Where am I going with this? Well, in generating datasets for different programs, your global abstract world will have features supported by one program and not another. It may be easier to express certain elements to one program than to another..and one program may support an object orientated view compared to another that doesn't. Just like real life - you can please all the people some of the time, or some of the people all of the time..but you cannot please all people all of the time. I think that it has something to do with Quantum Customer Relations, and Heisenburgs uncertainty public relations theorem.. :D
Anyway, I've spent so much time talking dull stuff, I didn't manage to get as far as the interesting stuff. That will have to wait until another time.. |
[ << Previous 20 ]
|