Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: Viruses and aftermaths

[This is actually just here for reference - it's a post from my history that I've referred to a couple of times, and it's a pain to find...It's been slightly updated for formatting, clarity and grammar. Here's the original Post]

Some history:

Waaay back in the mists of time (1988) I was a 1st-year undergrad in Physics. Together with a couple of friends, I wrote a virus, just to see if we could, and let it loose on just one of the networked machines in the year-1 lab.

I guess I should say that the virus was completely harmless, it just prepended 'Copyright (c) 1988 The Virus' to the start of directory listings. It was written for Acorn Archimedes/BBC micro's (the lab hadn't got onto PC's by this time, and the Acorn range had loads of ports, which physics labs like :-)

[edit: the above is misleading - it only worked on BBC's. The lab had 50 or so BBC's and 2 Archimedes, and I was trying to convey that as well, and mixed up the words]

It spread like wildfire. People would come in, log into the network, and become infected because the last person to use their current computer was infected. It would then infect their account, so wherever they logged on in future would also infect the computer they were using then. A couple of hours later, and most of the lab was infected.

You have to remember that viruses in those days weren't really networked. They came on floppy disks for Atari ST's and Amiga's. I witnessed people logging onto the same computer "to see if they were infected too". Of course, the act of logging in would infect them...

Of course "authority" was not amused. Actually they were seriously unamused, not that they caught us. They shut down the year-1,2,3 network and disinfected all the accounts on the network server by hand. Ouch.

There were basically 3 ways the virus could be activated:

  • Typing any '*' command (eg: "*.", which gave you a directory listing. Sneaky, I thought, since the virus announced itself when you did a '*.' When you thought you'd beaten it, you'd do a '*.' to see if it was still there :-)
  • The events (keypress, network, disk etc.) all activated the virus if inactive, and also re-enabled the interrupts, if they had been disabled
  • The interrupts (NMI,VBI,..) all activated the virus if inactive, and also re-enabled the events, if they had been deactivated.

On activation, the virus would replicate itself to the current mass-storage media. This was to cause problems because we hadn't really counted on just how effective this would be. Within a few days of the virus being cleansed (and everyone settling back to normal), it suddenly made a re-appearance again, racing through the network once more within an hour or two. Someone had put the virus onto their floppy disk (by typing *. on the floppy rather than the network) and had then brought the disk back into college and re-infected the network.

If we thought authority was unamused last time, this time they held a meeting for the entire department, and calmly said the culprit when found would be expelled. Excrement and fans came to mind. Of course, they thought we'd just re-released it, but in fact it was just too successful for comfort...

Since we had "shot our bolt", owning up didn't seem like a good idea. The only solution we came up with was to write another (silent, this time :-) virus which would disable any copy of the old one, whilst hiding itself from the users. We built in a time-to-die of a couple of months, let it go, and prayed...

We had actually built in a kill-switch to the original virus, which would disable and remove it - we didn't want to be infected ourselves (at the start). Of course, it became a matter of self-preservation to be infected later on in the saga - 3 accounts unaccountably (pun intended :-) uninfected... It wasn't too hard to destroy the original by having the new virus "press" the key combination that deleted the old one.

So, everyone was happy. Infected with the counter-virus, but happy. "Authority" thought they'd laid down the law, and been taken seriously (oh if they knew...) and we'd not been expelled. Everyone else lost their infections within a few months ...

Anyway. I've never written anything remotely like a virus since [grin]

Simon.

OS X

Journal Journal: French Apples - golden *and* delicious ?

So, this just occurred to me. It probably ought to have occurred earlier, but hey, I'm getting on a bit these days, and since I'm blogless [oh the shame!], here is as good a place as any to post it ...

France and Apple are about to have an argument... France wants home-grown companies to have some chance of competing with Apple, and under the guise of "won't someone think of the children^W consumers", they're trying to level the playing field. (I think it's already established that I'm a cynic...)

Apple, on the other hand, see no reason to give their competition the keys to the door. As I've posted before, Apple sells a media-experience - from alpha to omega, Apple try to make it easy for people to buy itunes tunes for their ipod. This model may in fact survive this new law, any French machinations to the contrary, but from Apple's perspective, why take the risk ?

So, the French government has spoken, and apparently Apple ought to have "seen it coming"... How could a mere company have any hope of outwitting them ? Well, there's this thing called the "internet"....

Consider if Apple did a deal with the credit-card companies - they make an Apple- (or perhaps, given the 'other' Apple, iTunes-) branded credit card with the following perks:

  • Now, if you're in France, you *always* get free delivery of physical Apple goods - even though it's being shipped from (wherever). Just like when you buy over $X normally.
  • The previously "French" site can be re-hosted in the US (say), and users from France with Apple cards get to buy the same tunes as they currently do in France (to work around any international rights issues). You could play games with auto-recognising users at www.itunes.com to make it easier...
  • They could even offer itunes-points. Let's face it, you're more likely to spend sufficiently to be able to claim a free $0.99 tune, than a 2-week holiday in Hawaii, and unlike other $0.99 "gifts", a free tune has value...

This way, Apple get to keep most of the business (all those people with ipods whose addresses Apple know) and poke the French government in the eye (all the profits that were being taxed in France are now being taxed in the US (or wherever).

From Apple's perspective, it's a better option than "pulling out of France" and sends the message that Apple aren't just going to roll-over when anyone comes knocking. The movement of the tax revenue might sway other nations not to do the same thing, as well. Sure - it's pure 'noise' in the grand scheme of things, but every trend starts with a single event, and no government likes to *lose* tax revenue...

Now Steve (perhaps that's "Mr. Jobs" to the likes of me :-) might not like it - from what I can see he's generally opposed to brand-dilution (well, duh!), but if Apple need options in the face of a hostile foreign government, perhaps it's worth considering. Just a thought :-)

Simon.

OS X

Journal Journal: Think different... 4

So, I was reading that Sony had installed DRM onto Macs as well as onto Windows machines, and I was curious to see how they got around the system protections to prevent software like this from doing exactly this...

They didn't.

Contrast the experience of a windows user: Consumer puts a cd into their computer with the intention of playing the cd. The cd takes advantage of a feature in Windows and installs software in the background without consumer's knowledge. Consumer is owned.

To the experience of the Mac user: Consumer puts a cd into their computer with the intention of playing the CD. Up comes a dialogue box asking for Admin privileges. Consumer gets to deny the 'owning'...

Now it's possible that 'consumer' would just click ok, type in their username/password, and allow Sony to do their dirty deeds, but since they've almost certainly put a CD into their computer before and it didn't do that, I doubt it. I'm pretty convinced my mother wouldn't type in a password - she'd probably call me to ask why it was doing that...

In any event, I prefer the Mac method - you at least get a chance to deny the installation of the rogue software, and even if you screw up and it installs, the contents are a simple "ls -lrt /System/Library/Extensions" away, to see what's been installed...

Simon

User Journal

Journal Journal: The measure of a man 8

So, I don't write many journal entries any more, but the cowardly attack (let's face it, any terrorist attack is that of cowards) on London this morning merits mention, I think.

The terrorist announcement mentioned the Brits being in fear from North to South, East to West. Whereas that may have described some countries' reactions, it didn't come close to ours. Let's just look at some of the reaction...

There was an interview of a woman who was on one of the bombed trains, 2 carriages down. She was calm and concise in how she described the events. She was confident that they would be caught. She said others around had a similar disposition.

The Mayor of London released what I thought was a pretty good statement. Let me just pick out the part he addressed to the cowards:

Finally, I wish to speak directly to those who came to London today to take life.

I know that you personally do not fear giving up your own life in order to take others - that is why you are so dangerous. But I know you fear that you may fail in your long-term objective to destroy our free society and I can show you why you will fail.

In the days that follow look at our airports, look at our sea ports and look at our railway stations and, even after your cowardly attack, you will see that people from the rest of Britain, people from around the world will arrive in London to become Londoners and to fulfil their dreams and achieve their potential.

They choose to come to London, as so many have come before because they come to be free, they come to live the life they choose, they come to be able to be themselves. They flee you because you tell them how they should live. They don't want that and nothing you do, however many of us you kill, will stop that flight to our city where freedom is strong and where people can live in harmony with one another. Whatever you do, however many you kill, you will fail.

And finally, a piece I found on a football forum:

No-one in Britain has over-reacted, it's not in our nature to do so. There'll be many dark, scared days ahead for everyone who lives or works in London or any of the major cities in the UK, and there will be overwhelming feelings of sympathy for those who have lost friends, family or loved ones in these cowardly attacks today.

But it won't change anything. There will be no sudden feelings of "these people have a genuine issue", no hands of friendship offered, no olive branches extended. There will be no immediate "Let's invade " or severing of diplomatic links with any countries. There will simply be a very through, in depth, but quiet investigation.

And when we find out who did this they will pay.

Rest in peace those thirty people who died today. Their lives have meant nothing to their killers, but their deaths have brought tragedy to those who loved them.

From those who were attacked, to those in power, to the common man, the theme is the same: complete disdain for the cowards; controlled anger that will focus the effort to find them; and an unshakeable determination that above all, the cowards must not win.

What does that mean ? It means that life will go on, and that (apart from the personal tragedy of the victims families) nothing will change. There's no magic bullet for terrorism, but ignoring the effects of the cowards actions whilst seeking them out and (I suspect) simply eliminating them, quietly, would appear to be the best option.

I'm actually in two minds about that last sentence. There is a lot of good PR to be had from publically arresting, trying, convicting, and treating a terrorist like any other murderer. The IRA members jailed in the H blocks long tried to argue they were political prisoners rather than murderous cowards...

On the other hand it could create a martyr. The other option is simply to quietly kill the coward and claim (perhaps even accurately) that there was no other way, if it ever got out to the public. I can't imagine many things more terrifying to a terrorist than to have colleagues just turning up dead. "Am I next ?" is a real problem for a coward...

Simon

User Journal

Journal Journal: Domains, cashflow and escrow

Some of you may have noticed (hah!) that I no longer have a link to http://hostip.info in my signature. This is because I've just sold the domain :-) BTW the purchaser tells me he'll be operating it pretty much the same as it was before...

Moving to the US (even to a well-paid job, and being used to a high-costs city like London) has proven to be relatively expensive. Houses in Silicon Valley start at about $600k and mortgages are bare-minimum 10% down - most are 20%, and then there's the car to buy (I wanted a convertible, so that's another $30k). It all adds up.

So, out of the blue, I get a request to purchase hostip.info - it looks like a typical spam email, but it mentioned escrow, so I reply from a never-before-used mail alias, and we start to talk. We strike a deal, everything happening via www.escrow.com, and all is sweetness and light. The purchaser puts the money in, I transfer the domain, and escrow.com are in the process of paying me the money.

All this is in stark contrast to selling on ebay, where (if you read my previous journal entry) sellers are completely vulnerable to being screwed over by A.Nybody.

There's not much more to this, except that maybe, just maybe, it means I can get a house with a pool, rather than without - a dream of mine for a long time :-)

Simon

User Journal

Journal Journal: Welcome to America

So, it's all done and dusted, I'm now officially a resident alien in California. I have to say that it has had its' ups and downs, and that's *with* a large company bending over backwards to help...

Question: Why doesn't my credit rating from the UK follow me to the US, when I'd happily sign anything appropriate... Trying to buy anything on credit (and I need a car and want a house) is pretty much impossible atm. I managed to get the car at exorbitant interest rates, and it's vaguely possible I *may* get a mortgage if hoops A-Z are jumped through. Did I mention the hoops were on fire ?

Question: Why is it totally impossible to get around CA without a car, yet I need to take & pass a driving test in CA within 10 days of arrival to legally drive here. Did I mention that you need a social-security number for a driving licence ? And that it takes between 12 and 60 days for an alien to get a SSN ? Er, shurely shome mishtake, ociffer ?

Question: Where are you all hiding the brown sauce (HP, Daddies, etc, not steak sauce), and real bacon (the stuff with meat in it). Ok, this one's tongue-in-cheek (looking for the sauce!) - different countries, different foods... But dammit I like brown sauce!

Question: How on earth do bars do business in CA ? You need a car to get anywhere, and you can't drink pretty much anything when you get there !

Question: Was it really necessary to keep all us visa applicants waiting outside in the pouring rain for 2 hours before sitting in the embassy for 5 hours (waiting for a 5-minute interview), dripping on the carpet ? Sure I know all this is in the name of security, but this was London for crying out loud - we're used to being bomb-targets, we just prefer to be dry at the time...

So despite my moaning, I'm happy to be here - I've landed a great job at a fantastic company that's going places, and I'm on a steady salary, which is nice when you've been a partner in a s/w consultancy. To quote a friend of mine - sometimes it's nice to come in out of the rain for a while. If you've never managed a company you probably won't understand, but if you've got your degree, think of that weight that lifted from your shoulders after your last exam, and you'll come close...

So, alls well in the land of the free, apart from the brown sauce, that is :-)

Simon

User Journal

Journal Journal: The rise and fall of regulated Ebay

So, I'm annoyed.

I'm moving to the USA, which amongst other things means selling various things I can't/don't want to take with me, and Ebay would seem to be an ideal way to get rid of reasonably expensive items (motorbike etc.)

First ever time as a seller (thought I've bought lots before), and it's been a disaster. There exist trolls who simply bid on things without any intention of paying, and Ebay (the organisation) tolerate this - there's little protection for sellers.

Ebay charge you a fraction of the "sold" price, even if the person doesn't pay up. So, the only person out of pocket is the seller - it's in Ebay's interest to continue the status quo, and there is no obvious attempt to track down the scumbags who have made false bids. The only action taken is to invalidate the bidding account, and what good is that ? The saying "shutting the stable door after the horse has bolted" comes to mind!

So, you can either re-offer the item to another bid (and if you do this, all trace of the previous unfulfilled auction seems to disappear! Hmmm.) or relist the item. You can't do the former then the latter. Neither consequence is spelt out (or if it is, it's sufficiently misleading that someone who's just been the subject of a scammer can easily miss it).

So, you decide to offer to the next lowest, and that doesn't work (the guy only gets 24 hours to respond, and emails you later saying he'd missed the chance, grrr).

Then, with impatience and anger rising, you re-list (at your own expense again) the item on Ebay, and EXACTLY THE SAME THING HAPPENS.

This time, I was alert, and did a 'By Buyer' search - the offending character (ladd_eugene) had bids outstanding totalling over £20,000. I cancelled her bid, and the system told me she had bid £2000 on my auction (when the bike eventually sold for £561...)

So, if I was ebay, and I wanted to deflect criticism of not caring (due to it ultimately benefiting ebay) about sellers, I would do some of:

  • Require that bids are not more than 1.5 times the current bid or bid + {$£}500, whichever is smaller.
  • Offer a deposit of {£$}100 which users could voluntarily subscribe to, which removes the above limit. They have to pay the deposit in advance, and it counts towards the item. They lose it if they screw around of course
  • Only allow bids on (user's feedback) + 1 auctions at a time
  • Limit total bid exposure by username.
  • Send the seller an email whenever a categorised item has a bid outside 2 std deviations from the normal for that category. Should be possible to use browser keyword searches to define the categories.
  • Allow sellers to see the maximum bid price from buyers.
  • As a consequence, prevent bids from the same IP as the sellers as well.

The current situation just stinks, if you're a seller. Some lowlife can ruin your sale with impunity, and there's no comeback. This is a pain under normal circumstances, but it's a *royal* pain when you're about to leave the country, and time is of the essence. Failed auctions I could have done without...

Still annoyed, but at least I sold the item this time, even if it cost me about £35 more than it ought to have, and hey, in a week's time I'll be in California [grin]

Simon

User Journal

Journal Journal: The beautiful game 2

(Interestingly enough, there isn't a 'sport' topic in this geek forum. Ho hum :-)

England have just won against Croatia to set themselves up for a quarter-final showdown against the host nation Portugal. Now Croatia number some 4 million people, which is about 1/8 the number of people living in greater London... Just as well we beat them really....

Except that football doesn't work that way - it's described as 'the beautiful game' not just for the enormous levels of skill and athleticism it demands at these levels, but for the egalitarian nature of the game. It's all about skill, team play, perseverance and strength, in that order. You see midget striker (5') players arranged against giant (7') defender players, and the size isn't that important, it's the skill that matters. When size is brought to bear, it's usually adjudged foul play and a penalty/free kick is awarded, but strength on the ball plays a part too, and of course size helps on set-plays such as corners and free kicks...

Out of those 4 million people, I would say that Croatia have about 5 good players, and yet we beat them 4-2. This is the distribution effect, imagine a bell-curve of football excellence - when you increase the number of potential players, the vast majority are within a few standard deviations from 'average'. Getting more than 10 truly-world-class players is pretty well unheard of (perhaps Brazil). Getting 1-5 is fairly common. Odd, but true. England have some 60 million population, yet we fielded maybe 7 excellent players, with maybe 5 world-class ones. The difference in the sides is that our 'less-than-world-class' players were better than theirs... Perhaps it's not so cut-and-dried as intuition might expect.

It's the same in the English Premiership. In any given game, the chances of the favourite team winning are never more than 70:30. You see truly world-beating teams (eg: Arsenal, Chelsea, Manchester United, Liverpool) who have genuine hopes of being crowned the best team in Europe in the Champions League being beaten by teams who are relegated to the next-lower division at the end of the season. What makes winning the league such an event is that the time-averaged 70% chance will beat the time-averaged 65% over 38 games. Probably. It's the 'probably', (ie: the chance of *losing*) that makes the game such a joy to behold. And I think that's odd.

Simon

User Journal

Journal Journal: Voting day

Well, it's voting day in the UK for 3 different elections today if you're in London. There's the European Parliament (MEP) vote, the Mayor of London vote, and the London council (who oversee the mayor) vote.

European Parliament:

So I looked up the list of London MEPs who were available and decided that Jean Lambert (Green party) was the best option, and that was that. As far as I am concerned this is by far the most important issue - as an independent software developer I stand to lose a lot if this goes through...

Mayor of London:

Apparently the government think Ken might have a bit more of a problem this time around - last time he stood as an independent and got ~3/5 of the vote, trouncing the 'official' labour candidate. The huge unpopularity of the war in Iraq is apparently a problem for him...

The london assembly:

The only reason this will be important is if Labour lose control - at that point Ken gets his wings clipped. At the moment the mayor can pretty do as (s)he pleases, but an assembly arrained against the mayor can cause problems for the mayor. I don't expect it to be a huge shock though, again unless the anti-war lobby make big gains.

It'll be interesting, possibly scary, to see how the BNP (the rabid, get all non-whites out the country mob) do in these elections - there's been a number of anti-immigrant stories in the news recently, with the media blowing things out of proportion to sell the dailies again. Sigh. Perhaps Michael Moore has a point about the media.

Anyway, here's hoping the anti-software-patents lobby get elected in spades :-)

Simon

User Journal

Journal Journal: Gay martians

Well, I'm pretty sparing with 'friend'ships, but after reading Fulcrum Of Evil's tagline, I sprayed coke all over my monitors :-) Now that's funny :-)


"It's the queers. They're in it with the aliens. They're building landing strips for gay Martians, I swear to God"

User Journal

Journal Journal: Birthday boy 4

Well, I've just clocked-on another year in my life. Joy. [grin] Actually it's been a pretty good day - lots of people remembered, and it's always nice to be appreciated :-) No presents though - I guess that sort of thing is a young-person thing ... well, at least, younger than me :-)

Writing this very drunk - you wouldn't believe how many times I've previewed it :-) ...

Simon.

User Journal

Journal Journal: Java and C++ optimisation, and GCJ

I've been trying to compile gcj on my Mac (having had to use my home linux box at work recently, I'm using the Mac as my home 'PC'. Actually I kind of like it :-)... anyway while waiting for gcj to compile, I was browsing looking for articles on it. I found 2 of interest:

  • An IBM article on how gcj didn't really compare to the IBM VM...
  • A slashdot discussion on the above IBM article

Now what surprised me was just how badly gcj was doing on the benchmarks he'd written - even *if* (and I make no accusations, just note that IBM's VM won...) it was a PR piece dressed up as an article. I decided to check out the performance on a linux box I could ssh to...

Here's the java code: (slightly edited to look better in slashcode)

import java.io.*;
class prime
  {
  private static boolean isPrime(int i)
      {
      for(long test = 2; test < i; test++)
        if (i % test == 0)
            return false;
      return true;
      }
 
  public static void main(String[] args) throws IOException
      {
      long start = System.currentTimeMillis();
      long n_loops = 50000;
      long n_primes = 0;
 
      for(int i = 0; i < n_loops; i++)
        if(isPrime(i))
            n_primes++;
 
      long end = System.currentTimeMillis();
      System.out.println(n_primes + " primes found");
      System.out.println("Time taken = " + (end - start));
      }
  }

First off, this is a truly awful algorithm for finding primes, but it's the code he provided... In any event it certainly tests loops a lot [grin]. The author didn't provide a comparable C/C++ program so here's one I prepared earlier:

#include <stdio.h>
#include <sys/time.h>
 
# define timersub(a, b, result) \
  do { \
    (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
    (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
    if ((result)->tv_usec < 0) { \
      --(result)->tv_sec; \
      (result)->tv_usec += 1000000; \
    } \
  } while (0)
 
static int isPrime(long i)
    {
    for (long test=2; test<i; test++)
        if (i%test == 0)
            return false;
 
    return true;
    }
 
int main(int argc, char **argv)
    {
    struct timeval stt,end, dt;
 
    gettimeofday(&stt, NULL);
    long n_loops = 50000;
    long n_primes = 0;
 
    for (long i=0; i<n_loops; i++)
        if (isPrime(i))
            n_primes ++;
 
    gettimeofday(&end, NULL);
    timersub(&end, &stt, &dt);
    printf("Time taken: %d.%06d secs\n", dt.tv_sec, dt.tv_usec);
    printf("Primes : %d\n",n_primes);
    }

... which is pretty much as direct a copy of the java version as I can make. The programs were both compiled using -O3 and run, vis:

[simon@cyclops /tmp]% gcj --main=prime -O3 prime.java -o prime_j
[simon@cyclops /tmp]% ./prime_j
5135 primes found
Time taken = 15095
 
[simon@cyclops /tmp]% g++ -O3 prime.cc -o prime_cc
[simon@cyclops /tmp]% ./prime_cc
Time taken: 7.060192 secs
Primes : 5135

Which would appear to indicate that the java code is approximately 50% of the speed of the C++ code. BUT (you knew there was a 'but', right ?) gcj is notoriously bad at optimising long integers. I suspect it actually does the top 32 bits, then the bottom 32 bits, then combines the results... If we change all occurrences of 'long' to 'int' in the arithmetic (not the time variables), we get very different results:

[simon@cyclops /tmp]% cp prime_int.java prime.java
[simon@cyclops /tmp]% gcj --main=prime -O3 prime.java -o prime_j
[simon@cyclops /tmp]% ./prime_j
5135 primes found
Time taken = 7061
 
[simon@cyclops /tmp]% cp prime_int.cc prime.cc
[simon@cyclops /tmp]% g++ -O3 prime.cc -o prime_cc
[simon@cyclops /tmp]% ./prime_cc
Time taken: 7.061838 secs
Primes : 5135

So, when you use 'int' variables, gcj is pretty much as good as g++ for this benchmark. What does this prove ? Not very much, apart from you should always take published figures with a pinch of salt when someone has a vested interest, and that the IBM's VM 64-bit maths is better than GCJ's...

It just irked me that an entire article could be based on something so simple. I've always been reasonably impressed with the speed of GCJ, but perhaps that's because I tend to use 'int's in my loop variables rather than 'long's. I can't quite rid myself of the suspicion that the IBM author was making cheap capital out of a small thing, as well...

I'm a great fan of Java (and compiled java). I find it a lot easier to write programs in, and far and away easier to maintain. I've got a fighting chance of opening up a colleagues JBuilder project and understanding what they've done (even though my colleagues tend to regard comments as optional, [sigh]). In C++ I have to worry a lot more about memory allocation - mainly in terms of the policy for release of objects and their private/protected data. This can truly be a nightmare :-(

IMHO one of the real 'wins' of GCJ is how easy it is to extend it with native bindings. I ported the JSDL SDL bindings for Java to gcjsdl in a matter of days because CNI is *much* nicer to work with than JNI.

I think it's fair to say that my compiled language of choice is now Java, with C++ as needed to bind external libraries. I think that says it all...

Simon

User Journal

Journal Journal: Anti organised-religion rant 2

[Well this started off as part of a comment on that Ashcroft nutter, but on reflection I decided to remove it from the mainstream post; it wasn't really relevant.]

It's interesting how western religion (an artifical social-control hierarchy) _almost_ always teaches that sex is taboo, to be limited and used to manipulate social behaviour in ways that further that social-control, sorry religion.

These religions tend to promise wonderful results (once you're dead!) or terrible suffering (again, once you're dead!) if you do/don't do what that 'authority' says as well... No easy way to argue against that without dying for the cause, which is a bit extreme when you're agnostic or atheist :-)

Think about it: if some book claimed that some bloke in Israel had risen from the dead 200 years ago, would you believe it ? Oh yeah, he was born from a virgin (riiiight!) and can walk on water too, not to mention he has a built-in replicator, though it's stuck on prawn sandwiches. Yes ? No ? If yes, well, all the more power to your elbow my fine delusional friend. Get out of your beliefs everything you can. If no, you either ascribe too much validity to the fact that the bible is *old*, or you'll agree with me that 'religious' people are just nutters.

There's nothing wrong per-se about being a nutter. A lot of successful people were completely nuts. The saying that there's a fine line between genius and insanity is quite a deep reflection on what being nuts is all about, IMHO, though I doubt it was meant that way when first coined.

What can be scary is when nutters try to change you, try to coerce you into their belief system (and I don't just mean religious beliefs here). When such a nutter holds high office, it gets serious - there's not much worse than a motivated nutter with power.

Overall, despite my aversion to it, I think religion does more good than harm. I think it gives people with little else to live for, a reason to live: to be good, honest, kind, the standard virtues. Western religious values have also been the foundation for most of the human rights we now take for granted. Perhaps it's just a phase that a society has to go through - a bit like all the spots that teenage males get at puberty...

Religion is also a bit like heroin (or, opium in a different century, I guess :-) Society wouldn't recover easily from the sudden removal of its dependence on religion as a crutch in life. Excising any cancer takes time, it needs to be gradual, and for religion the process is underway. I can live with that.

You're born. You live. You die. That's it. You should be perfectly happy with that. I am. Consider the alternative.

Simon.

User Journal

Journal Journal: Journals as links and hostip.info

So, my first /. journal entry. Momentous occasion, perhaps. Perhaps not. What prompted it was the large number of people visiting hostip.info from my (allegedly non-existant) journal page... So I thought I'd put something in here :-)

Hostip itself started off as a "wouldn't this be cool" idea, and a first version was born. The 'individual privacy' minded will have a field-day with this, but the inspiration actually came from watching 'Enemy of the State' on a '747 flight :-) I wanted to do (in a very limited way, of course) something similar using the web. As always in projects like this, it's the data that's the hard part of the equation, not the coding...

This first version allowed people to type in new cities, and it would auto-associate with their IP address. This was (as I should have forseen) a complete disaster. The number of Martians living here on Earth is truly amazing. We apparently even play host to a couple of Alpha Centaurites; to these fine beings I say 'Welcome to Earth' in "Will Smith" fashion. (Yes, I'm a fan...)

Once it was clear that if bad data was trivial to enter, it would indeed be entered, I raised the bar a little. Now you can only choose cities that already exist (and which I have latitude and longitude for), or email me with the details of a previously-unknown city, and I'll check it out before entering it into the DB. This has made the database more useful... Needless to say, cleansing all the bad data from the DB was a monumental task. It literally took weeks, and if I'd known at the start how long it would take, I'd not have started it!

It's still possible to lie to the machine of course (and I dare say lots do, on purpose, simply because it's their principle to do so). I have in my own way tried to get around that - the DB keeps a track history of assignments to a /24 netblock (that's the smallest unit it tracks), and since you can only reassign your own IP address, as soon as 2 others on your netblock tell the truth about where you are, it will switch to the real location... It's certainly not foolproof (hell I can think of a half-dozen ways around it!) but it raises the bar...

Up until this point, hostip was a purely text-based system. Next came the map data. I got in touch with the US National Geophysical Data Center in Boulder, and asked them for the highest-resolution data they had. That turned out to be 30 arc-second elevation data for the entire planet. Wow! So I spent some time writing tools to efficiently extract the correct data and colour it nicely/correctly for the small maps I needed - this took a week or so... Just loading the data into RAM took a lot of time (eventually I remembered mmap() and things went a *lot* smoother!).

The dataset consists of a 43000x21500 image, at approximately 1km/pixel, taking ~2.6Gbytes to store. Even things like ppmtogif can't handle that much data :-( The current database size (from du -sk on the mysql db directory) is 623Mbytes. All this needed to be correlated together before the applet started to look even vaguely reasonable. It still has lots of errors (mostly where I have the decimal point wrong in latitude or longitude figures :-( but it's useful now, and I tend to get told [grin] when something is wrong...

One of the reasons I wanted to do this (apart from the obvious coolness of the idea :-) is to give something back to the people who've given me so much 'free' software over the years. Those from this nameless multitude, I salute you - I hope you get as much out of hostip as I got from your various projects/programs.

I happen to think the applet is (even though I wrote it myself, [grin]) one of the coolest ones I've seen so far, although that may be down to knowing just how much hard work went into making it [big grin].

I have more plans for hostip, but perhaps I'll leave them for another journal entry...

Simon.

Slashdot Top Deals

With your bare hands?!?

Working...