Back in the day (crikey was that really 8 years ago???) I wrote PSTab, a guitar tablature typesetter, in postscript. I'd been downloading tab for songs from the (defunct?) OLGA, and wanted to print some for use at home. However, ascii tab looked crap and took lots of space on the page; if you tried to shrink it to use less paper it just left blank space at the sides.
We had an old Apple II laserwriter on the corridor, and I had written simple EPS diagramming tools for my thesis in awk (copy and paste programming)... so armed with borrowed copies of the red, green & blue books, I learned PS properly and wrote a typesetter that you could use as a header on simple input files (I'd spotted this was how the windows PS driver worked). Once I got to the stage I could wrap ascii-tab up to make *nice* output pages my itch was scratched[1].
Best thing about it was getting an email from a guy in NZ who used it to produce camera-ready copy for a book of banjo music - there wasnt anything else out there that could handle 5-stringed instruments:) . And that the unplayable example song getting a life of its own in the GuitarTeX manual!
-Baz
[1] I know there are bugs. Some of these didnt show up until I saw the output on a higher quality printer. Bah.
>This isn't in O(N) unless your mapping meets certain criteria.
Er, oh yes it is. If the memory I'm writing to is the lights in the scoreboard at Yankee stadium - or directly into video memory - why on earth would I need to collect the results? Collection is not actually part of the sorting problem.
Anyway, I did say: * that it was absurd * that its/practical/ if you have/no duplicates/ and you/fill a range/ with the keys (ie NO GAPS).
Its not bounded by O(N ln N) because it doesn't use comparisons between keys.
Read e.g. this paper which mentions this/and other/ algorithms that beat that bound, because they don't use comparisons.
BTW, if you are the same Tom7 who makes the fonts, I bow humbly before you - they are brilliant:)
-Baz
PS as for the Anon comment on storage in memory taking O(ln N), this is true of quicksort as well, but is ignored - complexities for in-place sorts assume that memory access is instant. If you do take that into account you'll find quicksort has an O(N ln N ln N) term but the constant in front of it is tiny, and in practice the assumption of instant memory - on which the quicksort bound is based - is true. Consider that even if the N ln N term was just 100 times larger than the N ln N ln N term you'd need of the order of 2^100 items to sort before it dominated!
Quicksort is an in-place sorting algorithm. If you're not sorting in place it's well known that you can do better. Telling us the sort isn't in-place means your either doing an external sort (which isnt where you'd use quicksort) or you're breaking the other condition - the constant memory limit. I'm guessing you're doing the latter - trading time for space - and its/well known/ that better sorts exist in this case.
The easy way to show that faster sorts exist is to demonstrate absurd limit case of a tradeoff of space for speed. Consider you have an unlimited amount of memory available for your sort results, and that you are sorting a finite number of keys N for which a mapping M(n) exists to the positive integers. Then, since there can be at most N duplicates of any given key, scanning the data once and placing each key n(i) in memory address N*M(n(i))+i sorts all the data. This is O(N), and pretty much optimal.
If you know there are no duplicates and the keys fill a known range this can be practical.
A good place to start reading about other sorting algorithms is here: http://www.nist.gov/dads/HTML/sort.html
This phrase is your friend. I've used it to put off bosses who've asked for things that seemed dubious, like tracking web surfing habits of individuals from our proxy logs.
Bottom line is if you say "I won't", the boss might fire you but, if you say "I can't, because..."[1] - and can be convincing[2] - you can get away with not doing unethical things.
-Baz
[1] eg 'editing the mail spool by hand would invalidate the CRC's on the mail files, and might bring the server down. I could try it, but we could lose everybody's email back to the last backup - its a big risk' [2] warning - dont try this crap on a CEO who is also a techie;)
While I like my Pilot and think these things are cool, they miss the point for me. I want something portable I can type stuff into. I don't care about portable multimedia (there are far less expensive devices for that) - I care about battery life and the ability to run emacs.
If I could get something like the Psion7/Linux cheap, and it could boot into a 'real' emacs (ie anything that can do cc-mode, not just something with the same keystrokes) I'd be happy.
Besides, on a keyboard that small, I reckon I could finally hold down escape-meta-alt-control-shift-windows-clover with one hand.:)
A piece of advice I've heard for small inventors is to pay the small upfront filing costs, then sell out to a larger company before the full patent fees become due. Obviously you don't make as much this way, but then it's all about risk and return.
Diversity=pain. If you have a 'huge number of diverse applications', it sounds like your organisation's IT policy is out of control. The vast majority of corporate users use very little beyond the core of OS, browser, mail, office and their groupware/CRM app.
The large corporate I used to work for (~110 thousand desktops - not a typo! with a very broad mix of OS) did use an SMS-a-like (at the time MS themselves wouldnt recommend SMS at that scale, and their system also handled the Unix boxen), but also mandated a narrowing of the apps supported, and that new internal apps should be web-based if at all possible. By working this way, much of the reason for installing apps remotely disappears. The main use for this/was/ OS patches and virus scanner updates, as I said.
Anyway, the guy asked how you can do things/without/ SMS; he's going to have to put up with some pain for swimming upstream.
SMS's features are, according to MS: - Software distribution - Asset Management - Remote Troubleshooting
Lets look at the software distribution bit first. Mainly this is used for os patches and virus scanner updates. If your people have access to WindowsUpdate.com they already can get the first lot, and for the second, you can often just copy the.dat file to the correct directory.
For asset management, microsoft's software inventory amounts to scanning for files with a given extension. Matching this to software versions is trivial with a perl script, and a bit of data capture to start with. Hardware inventory is barely more complex and its easy to write a script to do the job.
Remote troubleshooting amounts to the same functionality you get from VNC.
So to sum up, to emulate SMS you need a hook to run some scripts and copy files to & from the net when the user logs in, plus VNC. Your samba environment has a login script directive which you can use as the startup hook. Clearly you have file sharing down. So all thats left is to get some appropriate scripts to run.
This is partly a matter of your personal preference. SMS itself uses the WMI interface to gather info, which coincidentally is easily accessible via windows vbs/js scripting, and it should already be installed on all these machines. The WSH manual ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsconwshwmi.asp ) describes this.
If your environment is small and reasonably well controlled you have other options available. Booting machines off the network, for example. Mounting a central apps drive is another, though crappy for laptop users - then you only need to manage the registries remotely, which regedit can already do. Manipulating multiple registries remotely, eg using perl, isnt difficult, and you can do this to set 'runonce' scripts up over the network to do installs.
Reminds me of one of my old corporate's security faux pas...I rarely used the crappy mainframe system, so quite often when I did my password had expired and I had to call the helpdesk to get it reset...
Me: I need a password reset Drone: Fine, whats your name and secure PIN? Me: John Doe, username ******, pin no **** Drone: hang on...that doesnt appear to be correct, are you sure thats the PIN? Me: Yes, I've been using that PIN for years[1] Drone: ok, I'll reset your PIN to ****[2] Me: thanks, can you reset my password then? Drone: sure...your password is now ******. thanks for calling *click*[3]
[1] herein being the first flaw in the security system. The passwords dont change, but if you can guess the PIN you can get it reset (and its only 4 digits) [2] and here's the doozy. I could have been anyone, and now I have got the PIN reset. Internal security tried to get hold of me when I mentioned this incident on a company newsgroup, presumably to sack the person that reset my PIN. [3] Mission accomplished, identity stolen. At this point I considered calling back claiming to be our venerable CEO.
In BT every year (this goes back to 1997 IIRC) we had Wimbledon BBC coverage internally on the MBone - well you have to test the tech somewhere.
The effect on the bandwidth to our centre (2Mb kilostream link) was not noticeable with about half the desktops watching the telly. Very nice indeed.
However - multicast is very much a streaming media phenomenon. Anyone know if there's any support for more hypertext? I'm thinking here that something like how teletext works would be fine for html-over-multicast - bunches of pages appear on the same stream, when you request a page there may be a slight delay till that one comes around again.
Another thing about multicast is that it does away with much of the personalisation (AKA tracking) that websites are into these days. Can you see marketing depts being happy with that?
I actually found a use for this - once when working on a freakishly unstable website I set up a browser to load a search page every 30s, while I worked on solving the problem on another machine... when the clicking stopped, I knew the site was down and manned the pumps.
Not according to the release notes. The 1.1 release notes, on the other hand, mention "Improved application and layout performance, Improved stability, Improved Web site compatibility, Improved CSS, DOM and HTML standards support", so it looks like the Gecko changes were in 1.1.
I've been using 1.1 as my main browser since it came out, on a Dell Latitude, Win2k professional (800Mhz or so, 512Mb ram, standard shitty graphics card). Its plenty fast enough for me, and a significantly more pleasant experience than IE. There is a significant delay when Moz starts up, but as this is a laptop (on and off a lot) I've disabled pretty much everything that tries to load when I log in - every program seems to want to do this these days!
I am also using Moz mail as it handles multiple addresses better than outlook, and I will actually be able to extract my personal email intact when I leave this company. Because I use the mail, Phoenix isn't for me. Interesting that you see a speed difference between it and 1.1, I'll have to give it a try on the home machine (currently uses Galeon).
If you really are seeing performance difference in/rendering/ between moz and pheonix, its because you don't have enough memory (ie its having all the other moz features in memory thats causing the trouble).
There was a very interesting paper at the VLDB 2000 conference (the full PDF is available from that page). Quotable points from the paper (the first lot are section titles):
"Observation 1: Featurism drives products beyond manageability. Observation 2: SQL is painful. Observation 3: Performance is unpredictable. Observation 4: Tuning is a nightmare and auto-tuning is wishful thinking at this stage. Observation 5: [...] Database systems are not (or no longer) at the center of the IT universe. Observation 6: System footprint considered harmful. Observation 7: System-oriented database research is frustrating.
All these observations together strongly indicate that database systems are in crisis: they have reached or even crossed a complexity barrier beyond which their lack of manageability and predictability will become so painful that information technology is likely to abandon database systems as a cornerstone of data-intensive applications."
The paper goes on to argue that for a large number of applications we'd do better to abandon 'universal' databases (UDB/Oracle 9 and their ilk) because it should be possible to ship 'db-in-a-box' style units which support a smaller but sufficient featureset, which can self tune (no DBA required), because of their simpler theoretical basis.
Where is the relevance? Well, MS and IBM complain that MySQL is missing 'feature X'; and most of the arguments here are "yes MySQL is crap", or "yes but it has feature Y", or "yes but product Z is overkill", or "yes but its cheap" - they accept the premise of the MS/IBM argument. I'm pointing out that the premise is actually wrong - its more than reasonable to argue that MySQL has way too many features already.
No problem: at the same Paris show, GM are debuting their new energy drink, "Coca Petrola". Rumoured to be the product of years of research into untapped beverage resources under the Middle East, Texas, and Alaska, Coca Petrola is nearly 100% water free. GM plans to have have pumps of the stuff in every town and is understood to be re-using their older distribution networks.
Larry Burns is on record as saying "Heck, I even bathe in the stuff", shortly prior to a mystery accident which has hospitalised him. GM deny Burns' habit of smoking in the tub is to blame.
In case anyone is interested in how this works outside of the US...
In the UK the administrative regions don't map to postcodes (which is fairly insane). However, as you can't post census forms to 'John Q. Public, Borough of Wandsworth', the census bureau take care of producing a mapping every ten years.
This product is the 1991 copy, quite cheap at only £740 for corporate use (compared to other map data)
This one is from the most recent census and is the only mapping that covers the new boundaries in Scotland. A bit steep at £8000-odd. I say steep, because for roughly the same price, the Ordnance Survey will sell you (at the top whack corporate rate) the source data this is based on, complete with geometries for every postcode and every region. Doh!
If you just need something to narrow down someones administrative area from their postcode (to a handful at most), on the very very very cheap...Download this map of the regions and this map of the postcodes, overlay them in photoshop, and figure out the mapping for yourself.
Alton: There are no bad foods, only bad food habits. I eat cream, butter, and bacon; I just don't eat pounds of it at a time...We like fats because fats satisfy.
Hmmm... reminds me of someone...
Next morning, the family tries to pry the bucket off Homer's noggin.
Bart: [tries to pull the bucket off, but fails] Sorry Dad, it just won't budge. Marge: I tried greasing the bucket with bacon fat, but your father kept eating it. Homer: Couldn't you try a non-delicious fat? [breaks down] Oh, there's no such thing!
Quite right. The true purpose of science is as a tool for evil overlords, not as kids entertainment.
Anyway, every kid knows that the guys in white coats have a reduced life expectancy due to explosions in undersea bases. What kind of career choice is that?
You may have depth perception, but not necessarily stereoscopic depth perception. This actually came up yesterday in the article about the Geowall 3d projection system:
"Stereoscopic vision works most effectively for distances up to 18 feet. Beyond this distance, your brain starts using relative size and motion to determine depth."
Er, I did.
:) . And that the unplayable example song getting a life of its own in the GuitarTeX manual!
Back in the day (crikey was that really 8 years ago???) I wrote PSTab, a guitar tablature typesetter, in postscript. I'd been downloading tab for songs from the (defunct?) OLGA, and wanted to print some for use at home. However, ascii tab looked crap and took lots of space on the page; if you tried to shrink it to use less paper it just left blank space at the sides.
We had an old Apple II laserwriter on the corridor, and I had written simple EPS diagramming tools for my thesis in awk (copy and paste programming)... so armed with borrowed copies of the red, green & blue books, I learned PS properly and wrote a typesetter that you could use as a header on simple input files (I'd spotted this was how the windows PS driver worked). Once I got to the stage I could wrap ascii-tab up to make *nice* output pages my itch was scratched[1].
Best thing about it was getting an email from a guy in NZ who used it to produce camera-ready copy for a book of banjo music - there wasnt anything else out there that could handle 5-stringed instruments
-Baz
[1] I know there are bugs. Some of these didnt show up until I saw the output on a higher quality printer. Bah.
"I believe the technique the parent described is a form of hash sort."
You'll find more techniques like this in the literature if you look for integer sorting.
>This isn't in O(N) unless your mapping meets certain criteria.
/practical/ if you have /no duplicates/ and you /fill a range/ with the keys (ie NO GAPS).
/and other/ algorithms that beat that bound, because they don't use comparisons.
:)
Er, oh yes it is. If the memory I'm writing to is the lights in the scoreboard at Yankee stadium - or directly into video memory - why on earth would I need to collect the results? Collection is not actually part of the sorting problem.
Anyway, I did say:
* that it was absurd
* that its
Its not bounded by O(N ln N) because it doesn't use comparisons between keys.
Read e.g. this paper which mentions this
BTW, if you are the same Tom7 who makes the fonts, I bow humbly before you - they are brilliant
-Baz
PS as for the Anon comment on storage in memory taking O(ln N), this is true of quicksort as well, but is ignored - complexities for in-place sorts assume that memory access is instant. If you do take that into account you'll find quicksort has an O(N ln N ln N) term but the constant in front of it is tiny, and in practice the assumption of instant memory - on which the quicksort bound is based - is true. Consider that even if the N ln N term was just 100 times larger than the N ln N ln N term you'd need of the order of 2^100 items to sort before it dominated!
Quicksort is an in-place sorting algorithm. If you're not sorting in place it's well known that you can do better. Telling us the sort isn't in-place means your either doing an external sort (which isnt where you'd use quicksort) or you're breaking the other condition - the constant memory limit. I'm guessing you're doing the latter - trading time for space - and its /well known/ that better sorts exist in this case.
The easy way to show that faster sorts exist is to demonstrate absurd limit case of a tradeoff of space for speed. Consider you have an unlimited amount of memory available for your sort results, and that you are sorting a finite number of keys N for which a mapping M(n) exists to the positive integers. Then, since there can be at most N duplicates of any given key, scanning the data once and placing each key n(i) in memory address N*M(n(i))+i sorts all the data. This is O(N), and pretty much optimal.
If you know there are no duplicates and the keys fill a known range this can be practical.
A good place to start reading about other sorting algorithms is here: http://www.nist.gov/dads/HTML/sort.html
... that you never used? (thermonuclear reactor? dentistry equipment?)
This phrase is your friend. I've used it to put off bosses who've asked for things that seemed dubious, like tracking web surfing habits of individuals from our proxy logs.
;)
Bottom line is if you say "I won't", the boss might fire you but, if you say "I can't, because..."[1] - and can be convincing[2] - you can get away with not doing unethical things.
-Baz
[1] eg 'editing the mail spool by hand would invalidate the CRC's on the mail files, and might bring the server down. I could try it, but we could lose everybody's email back to the last backup - its a big risk'
[2] warning - dont try this crap on a CEO who is also a techie
While I like my Pilot and think these things are cool, they miss the point for me. I want something portable I can type stuff into. I don't care about portable multimedia (there are far less expensive devices for that) - I care about battery life and the ability to run emacs.
:)
If I could get something like the Psion7/Linux cheap, and it could boot into a 'real' emacs (ie anything that can do cc-mode, not just something with the same keystrokes) I'd be happy.
Besides, on a keyboard that small, I reckon I could finally hold down escape-meta-alt-control-shift-windows-clover with one hand.
A piece of advice I've heard for small inventors is to pay the small upfront filing costs, then sell out to a larger company before the full patent fees become due. Obviously you don't make as much this way, but then it's all about risk and return.
Diversity=pain. If you have a 'huge number of diverse applications', it sounds like your organisation's IT policy is out of control. The vast majority of corporate users use very little beyond the core of OS, browser, mail, office and their groupware/CRM app.
/was/ OS patches and virus scanner updates, as I said.
/without/ SMS; he's going to have to put up with some pain for swimming upstream.
The large corporate I used to work for (~110 thousand desktops - not a typo! with a very broad mix of OS) did use an SMS-a-like (at the time MS themselves wouldnt recommend SMS at that scale, and their system also handled the Unix boxen), but also mandated a narrowing of the apps supported, and that new internal apps should be web-based if at all possible. By working this way, much of the reason for installing apps remotely disappears. The main use for this
Anyway, the guy asked how you can do things
SMS's features are, according to MS:
.dat file to the correct directory.
= /library/en-us/script56/html/wsconwshwmi.asp ) describes this.
- Software distribution
- Asset Management
- Remote Troubleshooting
Lets look at the software distribution bit first. Mainly this is used for os patches and virus scanner updates. If your people have access to WindowsUpdate.com they already can get the first lot, and for the second, you can often just copy the
For asset management, microsoft's software inventory amounts to scanning for files with a given extension. Matching this to software versions is trivial with a perl script, and a bit of data capture to start with. Hardware inventory is barely more complex and its easy to write a script to do the job.
Remote troubleshooting amounts to the same functionality you get from VNC.
So to sum up, to emulate SMS you need a hook to run some scripts and copy files to & from the net when the user logs in, plus VNC. Your samba environment has a login script directive which you can use as the startup hook. Clearly you have file sharing down. So all thats left is to get some appropriate scripts to run.
This is partly a matter of your personal preference. SMS itself uses the WMI interface to gather info, which coincidentally is easily accessible via windows vbs/js scripting, and it should already be installed on all these machines. The WSH manual ( http://msdn.microsoft.com/library/default.asp?url
If your environment is small and reasonably well controlled you have other options available. Booting machines off the network, for example. Mounting a central apps drive is another, though crappy for laptop users - then you only need to manage the registries remotely, which regedit can already do. Manipulating multiple registries remotely, eg using perl, isnt difficult, and you can do this to set 'runonce' scripts up over the network to do installs.
Anyway hope this gives you some ideas.
Reminds me of one of my old corporate's security faux pas...I rarely used the crappy mainframe system, so quite often when I did my password had expired and I had to call the helpdesk to get it reset...
Me: I need a password reset
Drone: Fine, whats your name and secure PIN?
Me: John Doe, username ******, pin no ****
Drone: hang on...that doesnt appear to be correct, are you sure thats the PIN?
Me: Yes, I've been using that PIN for years[1]
Drone: ok, I'll reset your PIN to ****[2]
Me: thanks, can you reset my password then?
Drone: sure...your password is now ******. thanks for calling
*click*[3]
[1] herein being the first flaw in the security system. The passwords dont change, but if you can guess the PIN you can get it reset (and its only 4 digits)
[2] and here's the doozy. I could have been anyone, and now I have got the PIN reset. Internal security tried to get hold of me when I mentioned this incident on a company newsgroup, presumably to sack the person that reset my PIN.
[3] Mission accomplished, identity stolen. At this point I considered calling back claiming to be our venerable CEO.
In BT every year (this goes back to 1997 IIRC) we had Wimbledon BBC coverage internally on the MBone - well you have to test the tech somewhere.
The effect on the bandwidth to our centre (2Mb kilostream link) was not noticeable with about half the desktops watching the telly. Very nice indeed.
However - multicast is very much a streaming media phenomenon. Anyone know if there's any support for more hypertext? I'm thinking here that something like how teletext works would be fine for html-over-multicast - bunches of pages appear on the same stream, when you request a page there may be a slight delay till that one comes around again.
Another thing about multicast is that it does away with much of the personalisation (AKA tracking) that websites are into these days. Can you see marketing depts being happy with that?
I actually found a use for this - once when working on a freakishly unstable website I set up a browser to load a search page every 30s, while I worked on solving the problem on another machine... when the clicking stopped, I knew the site was down and manned the pumps.
Yup, there were lots of excellent posts a while back. Tham war tha days.
mv arguments /dev/GNUL
Not according to the release notes. The 1.1 release notes, on the other hand, mention "Improved application and layout performance, Improved stability, Improved Web site compatibility, Improved CSS, DOM and HTML standards support", so it looks like the Gecko changes were in 1.1.
I've been using 1.1 as my main browser since it came out, on a Dell Latitude, Win2k professional (800Mhz or so, 512Mb ram, standard shitty graphics card). Its plenty fast enough for me, and a significantly more pleasant experience than IE. There is a significant delay when Moz starts up, but as this is a laptop (on and off a lot) I've disabled pretty much everything that tries to load when I log in - every program seems to want to do this these days!
I am also using Moz mail as it handles multiple addresses better than outlook, and I will actually be able to extract my personal email intact when I leave this company. Because I use the mail, Phoenix isn't for me. Interesting that you see a speed difference between it and 1.1, I'll have to give it a try on the home machine (currently uses Galeon).
errr... thats the /same/ renderer, dude.
/rendering/ between moz and pheonix, its because you don't have enough memory (ie its having all the other moz features in memory thats causing the trouble).
If you really are seeing performance difference in
There was a very interesting paper at the VLDB 2000 conference (the full PDF is available from that page). Quotable points from the paper (the first lot are section titles):
"Observation 1: Featurism drives products beyond manageability.
Observation 2: SQL is painful.
Observation 3: Performance is unpredictable.
Observation 4: Tuning is a nightmare and auto-tuning is wishful thinking at this stage.
Observation 5: [...] Database systems are not (or no longer) at the center of the IT universe.
Observation 6: System footprint considered harmful.
Observation 7: System-oriented database research is frustrating.
All these observations together strongly indicate that database systems are in crisis: they have reached or even crossed a complexity barrier beyond which their lack of manageability and predictability will become so painful that information technology is likely to abandon database systems as a cornerstone of data-intensive applications."
The paper goes on to argue that for a large number of applications we'd do better to abandon 'universal' databases (UDB/Oracle 9 and their ilk) because it should be possible to ship 'db-in-a-box' style units which support a smaller but sufficient featureset, which can self tune (no DBA required), because of their simpler theoretical basis.
Where is the relevance? Well, MS and IBM complain that MySQL is missing 'feature X'; and most of the arguments here are "yes MySQL is crap", or "yes but it has feature Y", or "yes but product Z is overkill", or "yes but its cheap" - they accept the premise of the MS/IBM argument. I'm pointing out that the premise is actually wrong - its more than reasonable to argue that MySQL has way too many features already.
-Baz
the words being "die die die"?
No problem: at the same Paris show, GM are debuting their new energy drink, "Coca Petrola". Rumoured to be the product of years of research into untapped beverage resources under the Middle East, Texas, and Alaska, Coca Petrola is nearly 100% water free. GM plans to have have pumps of the stuff in every town and is understood to be re-using their older distribution networks.
Larry Burns is on record as saying "Heck, I even bathe in the stuff", shortly prior to a mystery accident which has hospitalised him. GM deny Burns' habit of smoking in the tub is to blame.
In case anyone is interested in how this works outside of the US...
In the UK the administrative regions don't map to postcodes (which is fairly insane). However, as you can't post census forms to 'John Q. Public, Borough of Wandsworth', the census bureau take care of producing a mapping every ten years.
This product is the 1991 copy, quite cheap at only £740 for corporate use (compared to other map data)
This one is from the most recent census and is the only mapping that covers the new boundaries in Scotland. A bit steep at £8000-odd. I say steep, because for roughly the same price, the Ordnance Survey will sell you (at the top whack corporate rate) the source data this is based on, complete with geometries for every postcode and every region. Doh!
If you just need something to narrow down someones administrative area from their postcode (to a handful at most), on the very very very cheap...Download this map of the regions and this map of the postcodes, overlay them in photoshop, and figure out the mapping for yourself.
Alton: There are no bad foods, only bad food habits. I eat cream, butter, and bacon; I just don't eat pounds of it at a time...We like fats because fats satisfy.
Hmmm... reminds me of someone...
Next morning, the family tries to pry the bucket off Homer's noggin.
Bart: [tries to pull the bucket off, but fails] Sorry Dad, it just won't budge.
Marge: I tried greasing the bucket with bacon fat, but your father kept eating it.
Homer: Couldn't you try a non-delicious fat? [breaks down] Oh, there's no such thing!
Simpsons: Faith Off
Quite right. The true purpose of science is as a tool for evil overlords, not as kids entertainment.
Anyway, every kid knows that the guys in white coats have a reduced life expectancy due to explosions in undersea bases. What kind of career choice is that?
You may have depth perception, but not necessarily stereoscopic depth perception. This actually came up yesterday in the article about the Geowall 3d projection system:
"Stereoscopic vision works most effectively for distances up to 18 feet. Beyond this distance, your brain starts using relative size and motion to determine depth."
http://www.scec.org/geowall/stereohow.html