A Bus a train a monorail and a wild goose chase

Sunday, March 15, 2009 by Greg Berlin
The Mission: To buy a bus ticket out of Kuala Lumpur – destination Palau Perhentian
Start:  1pm @ Tropical Guest House, Bukit Bintang, KL
End: 4pm

The details:

After deciding that KL has very little to offer in terms of rewarding or pleasurable experiences, it was time to make like a gander and get the flock out of here.  I figured the perfect destination to amend the negative vibes instilled by this crazy city would be Palau Perhentian – paradise on the South China Sea.

I’d spoken to various travel agents before, and the cheapest option so far was around MR700 (about AUD320) for travel alone.  No way – I’ll do it myself.

I got directions to Putrah bus station from the owner of the guest house I’m staying in, and set out on the journey (15 minute walk she said).  I started out in the direction she pointed, but when I hit a dead end I decided to walk up some stairs that looked quite inviting. Walked through some roundabout streets and somehow, amazingly, ended up at the bus station. After talking to various bus company booths, I was eventually told that I was not at Putrah station but in fact at Puduraya station, and that I should get a cab to Putrah.  Doh!

Lesson #1:  Puduraya is not the same as Putrah, even though it sounds very similar when the locals say it.

Taxi drivers quoted me MR20 for the ride, which sounded a bit rich, so I figured I’d just explore and see if I could find another way to get there. I had heaps of time and was in the mood for an adventure. After wondering around a bit, I saw a bus going to Putrajaya, and asked the driver if it was going to Putrah Bus Station.  Yes he says, and ushers me on to the bus (I figured at RM3.50 I couldn’t go too far wrong).

Lesson #2: Bu drivers are not the most reliable source of information...

After about 20 minutes on the bus, and judging by the distance travelled (we’d hit freeways by this point), and judging by the distance on the map to Putrah (I estimated it at around a 45 minute walk), I had a hunch I was not on the right bus.  However since we were on freeways and bouncing from one to another, it would have been impossible to get off, so just sat tight and tried to read the street signs and figure out where we were (problem was my map only included KL, and it seemed we were outside of KL metro area already).

Lesson #3: Bus prices are not necessarily directly related to distance travelled.

Observation #1: KL has an amazing network of interlinked freeways – if only our roads were this good in Australia!

Finally we get off the freeway and we’re in Putrajaya (there were also signs indicating Cyberjaya, which definitely piked my curiosity).  We drive through an area of some of the most stunning buildings I’ve ever seen.  Most seem like they’re embassies and government buildings – massive elaborate structures, all relatively new, and all very impressive.  At this point I was enjoying the ride so didn’t say or do anything, just sat back and looked out the window in awe of this amazing place.

Finally we stop at a bus stop, let off some people, and continue.  Halfway out of the bus stop area the bus driver remembers about me and stops the bus.  Some harsh words were exchanged (mostly by me demanding my money back, but in vain) and I jump off and head back to the bus shelter. By this point I knew we were far out of KL and I needed to get back.

Lesson #4:
Refer to lesson #1

I wondered around the bus shelter (which was brand new and reminded me more of an airport) looking for a bus to get me back.  The bus seemed to be going nowhere so I wondered off in search of food. I discovered that I was actually on the train line between KL International Airport – the same train I’d caught to get into KL on Tuesday morning – and KL itself, so bought a train ticket, knowing that it was a super fast train and would save me heaps of time (and at RM9.50, seemed like a good investment).

While waiting, I saw some information boards about Putrajaya.  Turns out it’s a brand new concept city being built by the Malaysian Government to replace KL as its centre of government and country capital.

Quote #1:
  Putrajaya will be a city that characterises the spirit of Malaysia in its fullest sense in the 21st century… Putrajaya will symbolise the nations aspirations.

Quote #2:  Putrajaya is the manifestation of the symbiosis of man, nature and science through detailed planning, innovative urban design and a respect for the environment.

Interesting.  And yeah, this place is pretty modern… elevators that turn off automatically, and start running the moment you step foot on it – great energy saver – why on earth hasn’t this been implemented elsewhere??

Observation #2: Seems even the Malaysian government have wised up to the many pitfalls of KL City (traffic congestion, over-population, etc – the usual problems experienced by large cities that have grown too quicly for their own good), and have decided to build a new capital city.

After a pleasant 15 minutes on the ultra fast and ultra modern train, I was back in familiar territory – KL Sentral station.  Phew.  I jumped on the next outgoing train to Putrah Station, and was there after another 15 minutes or so.  I finally get to the bus station, and learn that all of the buses to Jerteh, where I was aiming to get, were already full for tonight.  Dammit!  Stupid detour, but I found a guy selling tickets on the “extra bus”.  He wasn’t in the booth, but wasn’t making any effort to be discreet so I figured I’d take a punt and buy a ticket.  He assured me that the bus was comfortable (not as comfortable as the others, but still very good)… I guess time will tell.

Finally, instead of getting the train straight back, I decide to wonder around Putrah, and soon enough find a monorail which took me straight back to Bukit Bintang – bonus!!

Observation #3: KL has an excellent network of monorails running all around the city. They’re easy to use, fast, cheap, quiet, and don’t disrupt traffic. It’s a fantastic form of transport that I believe should be more widely used in the western world!

So I’m back on familiar territory, have a bus ticket to get me out of here, a yummy curry in my tummy, and a beer in hand.  All is good.  And the best thing – KL will be a distant memory when I’m sitting back on Palau Perhentian beach, watching the crystal blue waters and wondering why the hell I didn’t just go straight there in the first place… that is, assuming this “extra bus” works out the way I hope it will.  Only time will tell…..

The result: My bus ticket out of here is safely in my pocket, and KL will be a distant memory before too long.

iPhone Google Mobile App

Tuesday, July 29, 2008 by Greg Berlin

The Google Mobile App available from the App Store for Apple iPhones would have to be one of my favourite apps.  Basically it allows you to search Google via a locally installed application on your iphone, without having to first start up Safari, and subsequently waiting for the results to download in HTML format (which adds unnecessary overhead).

Of course those of you with a 3G iPhone may not be too fussed about that extra overhead, but I'm still using a 2G iPhone, and internet browsing over GPRS is pretty damn slow, so any way of getting to what I want quicker is a good thing in my eyes.

I just read a great little tip today about the Google Search App... if you type in a site name (eg: apple.com), and then hold your finger on the search result for www.apple.com, you'll see the site url appear in the search bar at the top in blue... now any terms you add after that will do a site search of the url in the blue search bar.  Yet another shortcut to finding exactly what you want, when you know where it is. 

Google Mobile App

Thanks to LifeHacker - one of my favourite sites on the net - for this hot tip (and the image).

ValidatorHookupControlID is not defined in ASP.Net 1.1

Thursday, July 10, 2008 by Greg Berlin

Okay, I just had to blog this one.. not because I have an amazing solution that will save people lots of hassle, but because of the complete bizarness of it.  There's very little information online about this problem, so hopefully if anybody else has this problem, they'll find this, share their experience, and best case scenario come up with a solution that we can blog for the rest of the world.  I wouldn't wish what I've gone through today on anybody else... it wasn't fun!

The Symptom:
Running an ASP.Net 1.1 web form which has some validation controls on it throws the following Javascript error in Firefox Only:
"ValidatorHookupControlID is not defined"

The Problem:
After much investigation (see below), deliberation and various other tions, I have determined, conclusively, the following:

  1. ASP.Net 1.x does not render useful client-side validation for non-Microsoft browsers.
  2. There are various ways to get ASP.Net 1.x to render useful client-side validaiton code for non-MS browsers, including:
    - Create a new class that overrides the RegisterValidatorDeclaration() function, and then create a new class for each validator which inherits from this new class (tedious at best)
    - Rebuild all the validation from scratch (I'd be more inclined to do this, using a solid javascript library such as jQuery perhaps)
    - Use one of the available control libraries (including the free DomValidators controls written by Paul Glavich )
  3. ASP.Net 1.x is quote obviously a very young framework, and should be treated as such.  If you're considering building an application on .Net 1.x, DON'T!  If you come across a .Net 1.x application in a production environment that requires maintenance and new features, run the other way!  Trust me, it's not pretty.
  4. If you must use and extend a .Net 1.x web application, I'd recommend learning a library such as jQuery and doing away with the built in validation all together.  They're more trouble than they're worth IMO.
This article at 4 4uys From Rolla does a good job of explaining this limitation of ASP.Net 1.x, and is what convinced me to stop trying to find a solution to this problem and seek a fix elsewhere...


The Investigation:
If you're interested in how i came to the above conclusions, feel free to read on...

It would seem that the page is unable to load the script file containing the ValidatorHookupControlID function is not loading, hence the function being "not defined". The code in my web form calling this function is some custom validators at the point where they are getting hooked up, like this:

// hook up javascript validation for custom validtors
string script = String.Format(   "ValidatorHookupControlID({0}, document.getElementById({1}));\n" +   "ValidatorHookupControlID({2}, document.getElementById({3}));\n" +   "ValidatorHookupControlID({4}, document.getElementById({5}));",
  "txtAccountNumber", "cuvAccount",
  "txtLastName", "cuvLastName",
  "txtPostcode", "cuvPostcode");

if (!Page.IsStartupScriptRegistered("AccountStartupScript"))
{
  // place at end of form
  Page.RegisterStartupScript("AccountStartupScript", Util.GenerateJavascriptBlock(script));
}

BUT, why does it work in IE, but not in Firefox??

The Investigation:
Googling the error code didn't offer much help, except for this forum discussion:
http://www.developpez.net/forums/showthread.php?t=578584

It's in French unfortunately, but using BabelFish i was able to make some sense if it... After skipping the talk of implementing IValidator (if it works in IE then it can't be a .Net problem - must be something client-side), I found a suggestion to manually register the Client Validation Script file (which should automatically be registered under the .Net Framework).  Nice tip, but unfortunately specific to .Net 2+, as .Net 1.1 does not contain a RegisterClientScriptResource function.  Dammit!  (At this point I'm starting to get rather irate, and cursing the forces of nature that led me to work on .Net 1.1 code!).

Looking over the options in .Net 1.1, there's little of assistance with respect to registering a javascript file via code-behind, so I went down the path of manually registering it on the aspx page.  I copied the file from the "aspnet_client\system_web\1_1_4322" folder, and referenced it, but no joy... An interesting result no less - Firefox now complains with the following error: "Non-standard document.all property was used. Use W3C standard document.getElementById() instead."

Naughty Microsoft using some dodgy antiquated javascript code.. then again, naughty (unnamed) employer for using an antiquated framework. Following that path led to a whole new set of issues, but those will have to wait for another day, right now I must soldier on with the problem at hand.... Which still remains - manually referencing the file with the function required did not solve this problem - client-side validation still doesn't work!!  So even when FireFox can see the ValidatorHookupControlID function, it doesn't use it... IE, on the other hand, is quite happy with or without that explicit script reference, and plays nicely with Document.All() function.

Change of direction required... lets look at the environment.  Next step was to roll back any changes I'd made to see if I introduced this bug... luckily there's a previous (apparently working) version on Source Control that I can use.  I rolled back my changes to the previous version, and found that the problem remained.  I then disabled the current IIS site (i'm using XP Pro IIS Admin for this - www.jetstat.com) and enabled the Default Website (which is the one I use for most things), copied the code base from Source Control to this new site, and ran it - it worked fine!!  Next copied my new changes to the default IIS site - and, yes, it worked fine!!

The Cause:
So after a stupid number of incredibly frustrating hours of troubleshooting, I've discovered that the problem lies in IIS itself.  It seems that the site that's running this application is corrupted somehow.  The javascript file (WebUIValidation.js) required by the ValidatorHookupControlID() function is there - so I dont know why Firefox has an issue.  I've tried numerous times during the day to restart IIS (both restarting the service, and running "aspnet_regiis -i" at command prompt, to no avail. 

Then, comparing the Default site to the new one, I found that the settings were almost identical.  As i went I made sure the settings were identical... The only thing I couldn't easily copy across was Server Extensions (not installed on the new site), so I disabled that on the old site, and it still worked, so ruled that one out. 

The Solution:
Basically, after many hours of messing around, I still don't have a solution.  I have a working solution for my current situation (use the Default Website, and whatever I do don't change any settings on it!!).

The questions [answered inline] were:

  1. Why does Firefox complain about ValidatorHookupControlID() not being defined, while IE doesn't?
    Because of Microsoft's wonderful "Adaptive Rendering" - if it determines that the browser is not capable of using its client side validation controls, it just won't render the code.

  2. Why does validation still not work in Firefox even when it has ValidatorHookupControlID() available to it?
    Because of Microsofts wonderful use of non-standard document.all() code, which no browsers other than IE actually understand.

  3. What is it that is different about my Default Website to the new Working website in IIS?
    Because of Microsofts... errrr... well I honestly still don't know.  Thing is its (client side validation in IE) working now, and I have no idea how i fixed it.

The Wrap-Up:
Well this has been quite an adventure... If you've had similar experiences, or would like to share your thoughts on all of this, or even just some of it, please leave a comment below. It'd be nice to know that I'm not the only one that's been through this incredibly tedious process, and come out the other end frustrated as hell...

Update:
I found an interesting article about similar (but not quite exactly the same) javascript validation problems ... there was a suggestion to re-register the client-side validation scripts using the following commands:

aspnet_regiis -ea (remove client-side validation scripts)

aspnet_regiis -c (copy client-side validation scripts back)

While i was quite hopeful that this might work, it didn't.  So back to wondering what the hell is wrong!?

Update 2:
Problem solved (updated above under The Problem).  Closing this file for now...

The Real McCain

Sunday, May 25, 2008 by Greg Berlin

With the American Federal election just around the corner, I have to say i'm quite concerned with the options available to take over the role of Commander in Chief from George Bush Jnr. 

In the Democrats camp, it's looking like Barack Obama will be their candidate running for president in 2008.  Is America ready to vote a black man in as their leader?  I hope so.

And in the Republican camp, we have the gun-toting, bomb-throwing, iron-man John McCain.  Now THIS scares the hell out of me.... Please, take a minute to watch the opening video on this website:

http://therealmccain.com/

If you'd like to know more, have a browse around that site, click through to the You Tube videos, and search the internet.  I strongly believe we need to prevent this man from taking power in America, and the only way I can see it happening is to expose him for what he truly is - a liar, a cheat and a war-monger.  If you think George Bush is bad, you ain't seen nothing yet!

Help spread the word - it seems the media won't do it, so it's up to us.  Pass this message on.

Defending the Wild

Sunday, April 06, 2008 by Greg Berlin
 

I stumbled across this article a couple of weeks ago, and just had to share it.  It's incredibly well researched, thought-provoking article that I wish everybody on the planet could read and have a good think about.  Please take the time to read it, and feel free to add some comments with your thoughts after.  If you prefer to download a PDF version to print and read on the bus/train/plane/etc, I've attached it after the article.

Thanks a ton to Jon for writing and sharing this excellent article.. hoping to see more from you soon...

Defending the Wild
 Jon Sumby
Hobart, 2008

For the past several billion years evolution on Earth has been driven by small-scale incremental forces, such as sexual selection, punctuated by cosmic-scale disruptions – plate tectonics, planetary geochemistry, global climate shifts, and even extraterrestrial asteroids. Sometime in the last century that changed. Today the guiding hand of natural selection is unmistakably human, with potentially Earth-shaking consequences.

The fossil record and contemporary field studies suggest that the average rate of extinction over the past hundred million years has hovered at several species per year. Today the extinction rate surpasses 3,000 species per year and is accelerating rapidly. In contrast, new species are appearing at a rate of less than one per year.

Over the next 100 years or so as many as half of the Earth’s species, representing a quarter of the planet’s genetic stock, will functionally, if not completely disappear. The land and oceans will continue to teem with life, but it will be a peculiarly homogenized assemblage of organisms unnaturally selected for their compatibility with one fundamental force: Us. Nothing – not national or international laws, global bioreserves, local sustainability schemes, or even ‘wildlands’ fantasies – can change the current course. The broad path for biological evolution is now set for the next several million years. And in this sense the extinction crisis – the race to save the composition, structure, and organisation of biodiversity as it exists today – is over, and we have lost.’

These are the opening paragraphs of The End of the Wild by Stephen M. Meyer. It is a clear, harsh, and compelling story. His argument raises fundamental questions, both about how we must behave toward the Earth that gives us life, and how we must act to protect and preserve the Earth.

Meyer is right, we have lost. The Earth we think we have is ending. The next few decades will see global and regional ecosystems, the varied richness of wild nature, swept away by a tidal wave of environmental change that we cannot stop or avert. The world of our children will be poorer, less diverse and full of weedy, invasive, species that thrive amongst the degradation we cause. There will be feral cats but there will be no Tasmanian devils.

But this is not news. In 1997, the journal Science devoted an issue to what they called ‘human-dominated ecosystems’. There is nowhere on Earth that we have not degraded, be it by pollution, the chainsaw, or fishing net. The most recent satellite imagery reveals that more than a third of the Earth’s surface has been converted to animal pasture or cropland. The oceans are being depleted and degraded at an ever faster rate with current research indicating a global fisheries collapse within the next forty years. On top of that the amount of carbon dioxide in the air right now means that the oceans will acidify for the next few centuries, greatly changing the entire ocean environment. The Great Barrier Reef will disappear and this cannot be stopped because the carbon is in the air now. You will watch it on your lounge room TV.

From all points of the globe, research is coming back that paints the same picture and it is a grim one. The Millennium Ecosystem Assessment, which collated and synthesised much of this research, is as important a document as the global warming reports issued by the IPCC. Yet it remains largely ignored. This is simply because it documents and discusses the damage we are doing to the environment that sustains us, the environment that we profit from, while the IPCC reports document changes that threaten us and our consumer lifestyle. One discusses the damage we do, which our culture largely ignores in the rush for profit and lifestyle, and says we must stop. This plea is carried on by a very few who are generally mocked and reviled as ‘greenies’ because they are crying out ‘Stop the destruction!’. The other is paid far more attention because it threatens our profit and lifestyle, even when the only way to minimise that threat is to make significant changes to that lifestyle – something we are not willing to do, if it were even possible.

The US has defunded carbon capture research. The EU has admitted that it will not reach its minor carbon reduction targets. Canada has reneged on its own targets, opening up that countries vast tar sand deposits to extract oil to feed the US. The Australian energy industry predicts that Australian electricity consumption will rise by more than 150% over the next two decades. The international shipping industry expects to double the number of large ships by 2017, allowing the globalised trade economy to grow unimpeded. Aircraft manufacturers are on a boom, with Boeing expecting $50 billion in orders over the next decade. Short haul flights, which are the most polluting, are now the most common form of passenger air travel. The targets agreed at the Bali climate talkfest are aspirational, lower than required and set comfortably in the future when they need to happen in the next decade, according to the IPCC.

The alternative, ‘biofuels’, which promise to let us happily continue driving our cars as if nothing has changed, have been shown to be worse than oil in terms of carbon emissions and they consume agricultural land that we need for food, land that we take from the wild. Food prices are already rising as corn and other crops sell to the higher bidder: Biofuel. In Indonesia, special teams of workers are systematically eradicating orangutans, killing them, because they are endangered and if they are found in a forest it can’t be clearfelled for conversion into the palm oil plantations that are the increasing international source of biofuel. Australia has just built a major refinery to process Indonesian palm oil. ‘Sustainable’ transport initiatives in Europe rely on biofuels sourced from countries like Indonesia and Brazil, which itself has recently recorded a significant rise in the clearfelling of the Amazon as the biofuel gold rush accelerates. In India, a ‘car for the masses’ is in production, hoping to sell to 500 million people; a prospect that the lead researcher for the Indian IPCC section says has given him nightmares.

The catch-cry is ‘Earth hour’ and ‘sustainability’, wherein we can live like we do now, a lifestyle that has no impact; one that is ‘zero’ or at least ‘low emission’. Sustainability is a myth. A comfortable story we tell ourselves. One that says we can live in our McMansions, eat our McDonalds, watch nature documentaries on our home theatres, chat on FaceBook, and fly away on holiday paying a token extra for fake ‘offsets’ so we are ‘sustainable’.

The predicate of ‘sustainable’ is ‘lifestyle’ which, living in the developed world, we see as what we enjoy now. Valentine’s Day is a day for lovers. In Africa, Kenya’s second largest export industry is cut flowers. Kenya supplies one quarter of Europe’s flowers, every one of which is quickly airfreighted to the shops, so a Parisian man can buy a rose to give to the girl he admires. A rose that will wilt and be thrown out in but a few days. This is our carbon consumer lifestyle. A Kenyan rose in Paris, courtesy of global warming.

China is building two new coal-fired power stations every week. They have said they will not stop until the Chinese people have reached the lifestyle that the West enjoys. Eighty per cent of global carbon emissions come from twenty per cent of the world’s population: Us – The US, the EU, Canada, Australia, New Zealand, Japan.

If the one billion population of China achieves the lifestyle of the US, carbon emissions will rise by more than 300%. Does the world have the resources to do that? Furthermore, it comes back to us because the Chinese economic boom is driven by the production of cheap goods, like sunglasses, toys, plasma televisions and bicycles, that are made to satisfy the consumer demand from countries like the US and Australia. India, with it’s hundreds of millions, wants to follow the path of China. Yet all the research says we have to reduce global carbon emissions by 80% within the next forty years.

Another critical consideration is that projections of human population growth indicate that the global population will rise by 50% in the next forty years. In the same time fisheries are expected to collapse, fresh water become scarcer, agricultural production decline, drought and storm increase, oil resources dwindle, and global warming to really bite. Where is a ‘sustainable’ lifestyle for nine billion people? Is it solar-powered broadband, backyard chickens, and a bicycle made in China? Where does this ‘sustainable’ lifestyle, which looks just like the life we have now, leave the wild Earth?

I say ‘wild Earth’ because ‘wilderness’ is a comfortable anthropocentric (human-centred) word. It is a word we use when we go hiking to somewhere that has no houses. It does not describe the environment we are in. We have a habit of killing predators that we think are a threat. Eagles, wolves, snakes, sharks, dingoes. Or any animal or plant that threatens our profit; possums, badgers, seals that ‘steal our fish’. The wilderness we gaze upon is not wild.

Furthermore, it has been even more changed by the subtle chemical poisons we have released into the air and water, the invasive species that we have introduced. The first which causes genetic damage affecting the next generations, the second which crowds out and overpowers indigenous life; like the canetoad in Northern Australia which is sweeping through and decimating that ecosystem. The world is now a myriad of animals and plants that we have driven to the edge of extinction, existing as endangered remnant populations, or falling into extinction vortexes as ‘ghost species’. Even where we cannot, or rarely, see this is happening. For more than the last decade frogs have been disappearing from the depths of even the remotest regions, from the cloud forests of South America to Cape York in Australia, over 200 species that we know about so far in just a few areas. The wild is dying.

‘Wild’ is the term preferred by ecologists. It describes the full richness of a functioning ecosystem; one where the range of interactions includes the top predators and where biodiversity grows and exists untrammelled by human presence. There are very, very few areas where this is the case. The oceans are possibly the last parts of the Earth where the wild can be found. Even there, we reign supreme. The latest research indicates that there are no parts of the ocean untouched by human presence. Tuna are a top predator, an essential part of the deep ocean ecosystem but they are a prime food fish and they are becoming endangered. We kill more than 100 million sharks every year, mainly for sharkfin soup with the rest of the body being discarded overboard; an extra 50 million are thrown back into the ocean, dead, as unwanted bycatch. Sharks are now becoming endangered around the world. In South Africa a vicious system of nets are set permanently in the ocean specifically to kill sharks. If a shark escapes the nets and kills someone, it is seen as a ‘rogue’ and hunted down to teach other sharks ‘a lesson’. We do not tolerate the wild, we prefer wilderness.

On a personal level, we can still enter the wild and be part of the world, instead of apart from it as we live in the bubble of our consumer culture. Floating in the ocean and watching a large bull shark swim towards you with its back arched is to be in the wild; where you are not the centre of the world but just one not-so-important occupant, a morsel for the richness of Gaia. On a cultural level, an industrial level, we are dominant. No animal, plant, or ecosystem challenges us. We convert, consume, use, pollute and destroy as we wish. Nothing, even ourselves, is safe from us. As Pogo said, ‘We have met the enemy and he is us’.

This is the challenge. On a global scale the wild is vanishing, being replaced by a comfortable wilderness where the only challenge is the terrain and the weather. Even these wilderness areas, where some semblance of untouched biodiversity remains, are under threat from expanding commercial use and human colonisation. How do these areas remain protected from us to carry on as wild, the core of life on Earth?

Around the world, compared to the general population, there are a vanishingly small number of people working to keep the wild alive. Simply because it is there and it deserves to be. Many of the techniques are carefully considered and incorporated in treaties and policy. Reserves, heritage areas, marine protected areas. Many involve scientific expertise and theory. But as Meyer so lucidly points out, they are failing.

From the pressure of chemicals and invasive species. From commercial interests and population. From the fact that these ‘protected’ areas are small and isolated from each other. From the fact that these ‘protected’ areas are human constructs with artificial boundaries laid over the wild. From global warming which will force the forests to walk, until they run into our fences and die.

There are choices to be made in the immediate future. To keep the wild our consumer society must be kept out, but this flies in the face of human domination. To defend the wild is to be condemned by most. When the decision to use armed guards to protect the critically endangered black rhino was made it was supported. Yet apparently when the first poacher was shot, the guard who killed him faced calls to be charged with murder. In his defence he reportedly said, ‘If a man tries to rob a bank in downtown Harare and the guard shoots him, he is hailed as a hero, because he has protected money, an important thing. Here I am, I am protecting an important thing, the living jewel of our nation, and I am being called a murderer?’

To defend the wild is no small thing, because it is the Earth that is being defended. The Earth is wild and that is more important than we are. When groups like Sea Shepherd or EarthFirst! defend the wild, they are condemned as ‘violent’ and ‘extreme’, but they are working to continue the wild, the life that exists independently of us. The wild Earth that does not need us, does not know us, but is threatened by us. The wild Earth needs no defence but it needs more defenders.


Notes and further information

-‘biofuels’, … have been shown to be worse than oil…
‘Converting rainforests, peatlands, savannas, or grasslands to produce food-based biofuels in Brazil, Southeast Asia, and the United States creates a ‘biofuel carbon debt’ by releasing 17 to 420 times more CO2 than the annual greenhouse gas (GHG) reductions these biofuels provide by displacing fossil fuels.’ ‘Land Clearing and the Biofuel Carbon Debt.’ Joseph Fargione, et al. (2008). Science.
Published online, February 7th, 2008 at:
 http://www.sciencemag.org/cgi/content/abstract/1152747v1

‘…we found that corn-based ethanol, instead of producing a 20% savings, nearly doubles greenhouse emissions over 30 years and increases greenhouse gases for 167 years.’ ‘Use of U.S. Croplands for Biofuels Increases Greenhouse Gases Through Emissions from Land Use Change.’ Timothy Searchinger, et al. (2008). Science.
Published online, February 7th, 2008 at:
 http://www.sciencemag.org/cgi/content/abstract/1151861v1

The UK Government has announced a review of the practicality and use of biofuels.
See the Guardian Online, February 2008, at:
 http://www.guardian.co.uk/environment/2008/feb/21/biofuels.transport/

- Brazil, which itself has recently recorded a significant rise in the clearfelling of the Amazon
‘Deforestation of the Amazon has accelerated, in recent months and is likely to increase this year for the first time in four years, says a senior Brazilian government scientist. The rise raises questions over Brazil's assertion that its environmental policies are effectively protecting the world's biggest rain forest, the destruction of which is a major source of carbon emissions that cause global warming. “I think the last four months is a big concern for the government and now they are sending people to do more law enforcement,” Carlos Nobre, a scientist with Brazil’s National Institute for Space Research, told a seminar in Washington. “But I can tell you that it [deforestation] is going to be much higher than 2007.” Nobre, whose government agency monitors the Amazon, said that 6000sq km [km!] of forest had been lost in the past four months.’
– From: The New Zealand Herald, January 2008, at:
 http://www.nzherald.co.nz/section/2/story.cfm?c_id=2&objectid=10487854

- special teams of workers are systematically eradicating orangutans, killing them,
‘In February 2007, the United Nations Environment Programme (UNEP) called the situation a state of emergency in a new report, Last Stand of the Orangutan. According to the UN, “The natural forests of Sumatra and Borneo are being cleared so fast, up to 98 per cent may be destroyed by 2022.”’ At least 50 orangutan are dying for palm oil plantations every week. With the loss of their forests, and the killing, orangutans will become extinct in the wild within the next twenty years.
See the Palm Oil Action Group: www.palmoilaction.org.au

- The Earth we think we have is ending.
‘… the Coorong, a 110-kilometre long coastal system at the mouth of the Murray made legendary 30 years ago by the pelican movie Storm Boy… The beloved pelicans disappeared from the southern lagoon three years ago, and are failing to breed on the northern area… The fairy terns that relied on the Coorong as a prime breeding ground no longer nest there and, as The Sunday Age has reported, are almost certain to face regional extinction. … It can no longer support the 50 species of birds that once lived there. Also gone are the fish, worms and plant life they fed upon… [As] Professor David Paton, an ecology specialist from the University of Adelaide… has been [saying] in newspaper articles and public lectures, the Coorong of old is dead.’
– From: The Sunday Age, February 2008, at:
 http://www.theage.com.au/news/environment/aflutter-with-life-yet-the-coorong-is-dying/2008/02/23/1203467459956.htm

- The latest research indicates that there are no parts of the ocean untouched by human presence.
At least 80% of the ocean is commercially fished and 41% is considered heavily affected by human activity. Only 3.7% of the ocean is considered relatively pristine and this is found in polar waters, which are becoming available for industrial use as the world warms. A co-author of this recent assessment, Dr Mark Spalding, commented, ‘What is surprising is the truly global spread of human impact. The map provides a challenge for us to start to think seriously about conservation.’ ‘A Global Map of Human Impact on Marine Ecosystems.’ Benjamin Halpern, et al. (2008). Science. Vol. 319, page 948.

- The oceans are being depleted and degraded at an ever faster rate
‘The loss of deep-sea species poses a severe threat to the future of the oceans, suggests a new report publishing early online on December 27th and in the January 8th issue of Current Biology, a publication of Cell Press. In a global-scale study, the researchers found some of the first evidence that the health of the deep sea, as measured by the rate of critical ecosystem processes, increases exponentially with the diversity of species living there. “For the first time, we have demonstrated that deep-sea ecosystem functioning is closely dependent upon the number of species inhabiting the ocean floor,” said Roberto Danovaro of the Polytechnic University of Marche, in Italy. “This shows that we need to preserve biodiversity, and especially deep-sea biodiversity, because otherwise the negative consequences could be unprecedented. We must care about species that are far from us and [essentially] invisible.”’
– From: ScienceDaily, December 2007, at:
 http://www.sciencedaily.com/releases/2007/12/071227184100.htm

- current research indicating a global fisheries collapse within the next forty years.
‘There will be virtually nothing left to fish from the seas by the middle of the century if current trends continue, according to a major scientific study. Stocks have collapsed in nearly one-third of sea fisheries, and the rate of decline is accelerating. Writing in the journal Science, the international team of researchers says fishery decline is closely tied to a broader loss of marine biodiversity. But a greater use of protected areas could safeguard existing stocks. “The way we use the oceans is that we hope and assume there will always be another species to exploit after we've completely gone through the last one,” said research leader Boris Worm, from Dalhousie University in Canada. “What we're highlighting is there is a finite number of stocks; we have gone through one-third, and we are going to get through the rest,” he told the BBC News website.’
– From: BBC News, November 2006, at:
 http://news.bbc.co.uk/2/hi/science/nature/6108414.stm

- sharks … are now becoming endangered around the world.
There are presently 233 shark species listed as threatened or endangered in the international Red Book of endangered species maintained by the inter-governmental organisation, the IUCN. Nine more are to be added in 2008. The scalloped hammerhead will be globally listed as endangered. The shortfin mako shark, the bigeye thresher, and the common thresher will be listed as vulnerable. The silky shark will be listed as near threatened; while the tiger shark, the bull shark and the dusky sharks will be included as either endangered or threatened. The scalloped hammerhead made the Red Book because the population has collapsed by 98% in the last thirty years.
See the Guardian Online, February 2008, at:
 http://www.guardian.co.uk/environment/2008/feb/18/conservation.aaas

- the oceans will acidify for the next few centuries, greatly changing the entire ocean environment.
‘The Royal Society report makes it clear that ocean acidification is irreversible within our lifetimes, and that it will take tens of thousands of years to recover.’ – Simon Wright and Andrew Davidson (from the Antarctic Climate and Ecosystems Co-operative Research Centre and the Australian Antarctic Division), writing in the Australian Antarctic Magazine, Issue 10, Autumn 2006.
Available at:
 http://www.aad.gov.au/MediaLibrary/asset/MediaItems/ml_388954837037037_17%
2020Ocean%20acidification.pdf

- Australia has just built a major refinery to process Indonesian palm oil.
This refinery is in the Northern Territory and will produce 122,500 tonnes of biodiesel annually while profiting from the deaths of over 2500 members of the orangutan people every year.
See the ABC News Online at:
 http://www.abc.net.au/rural/content/2006/s1800099.htm
- the global population will rise by 50% in the next forty years.
ThThe current UN projection for human population growth is from 6.4 billion in 2006 to more than nine billion by 2050.

- China is building two new coal-fired power stations every week.
See the BBC News, June 2007, at:
 http://news.bbc.co.uk/go/pr/fr/-/2/hi/asia-pacific/6769743.stm

The original short essay that forms the basis of The End of the Wild is here:
 http://www.zmag.org/content/showarticle.cfm?ItemID=7620

The MIT Press review of The End of the Wild is here:
 http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10941

Information about Stephen M. Meyer is here:
 http://www-tech.mit.edu/V126/N64/64meyerobit.html

A Bill of Rights for Future Generations

We, the people of the future, like the twenty thousand generations who came before us, have the right to breathe air that smells sweet, to drink water that runs pure and free, to swim in waters that teem with life, and to grow our food in rich, living earth.

We have the right to inherit a world unsullied by toxic chemicals, nuclear waste, or genetic pollution. We have the right to walk in untamed nature and to feel the awe that comes when we suddenly lock eyes with a wild animal.

We beseech you, the people of today: Do not leave your dirty messes for us to clean up; do not take technological risks, however small, that may backfire catastrophically in times to come. Just as we respectfully ask that you not burden us with your deferred debts and depleted pension plans, we also claim our right to a share of the planet’s ecological wealth. Please don’t use it all up.

We,We, in turn, promise to do the same. We grant these same rights and privileges to the generations who will live after us; we do so in the sacred hope that the human spirit will live forever.

A curse on any generation who ignores this plea.

Jon

Download a PDF version of 'Defending the Wild' by Jon Sumby here...

Northern Lights Photos

Saturday, March 15, 2008 by Greg Berlin

I stumbled across this today... and just had to share it.  For those of you that don't know about the Northern Lights, here's an explanation (borrowed from Sigurdur H Stefnisson's website):

The auroras exist in the outmost layer of the atmosphere. They are created by electrically charged particles that make the thin air shine, not unlike a fluorescent light. They can be seen in auroral belts that forms 20-25 degrees around the geomagnetic poles, both the north and the south. The Northern Lights, also called Aurora Borealis (Southern lights or Aurora Australis in the southern hemisphere), are one of the most spectacular shows on this earth. Sometimes they cover almost all of the sky and seem to be dancing around with such grace and speed that one can only watch in awe. They are difficult to photograph but Sigurdur H Stefnisson has mastered techniques not only to capture the Northern Lights but also some interesting foregrounds in his photographs. He exposes his shots to show us a tasteful blend of the northern lights and the world around him.

Check out these absolutely stunning photographs of this incredible natural phenomenon... this really is nature at its most spectacular!

This Is Game (an awesome and very touching comic)

Saturday, March 15, 2008 by Greg Berlin

Adding a Discipline Type to TFS 2005 Work Item Tasks

Wednesday, February 27, 2008 by Greg Berlin

I've been using Team Foundation Server 2005 for the past 4 months or so on a winforms .net development project at work.  It's a fantastic platform for managing source code and versioning, as well as managing tasks and bugs... and today I found that it is even more customisable than I ever imagined.

I wanted to add a task for a team mate to do, which didn't fit into any of the standard Discipline types (Architecture/ Development/ Release Management/ etc)... it's a documentation task (yup, I'm lucky enough to have somebody else handle that stuff most of the time :).

A little googling and I found this post (thanks Jimmy Li for the instructions - bottom post) detailing how to do it.  For my own records, the process was as follows:

  1. In Visual Studio 2005, go to Team > Team Foundation Server Settings > Process Template Manager and download the template you wish to modify
  2. Find the folder you downloaded, and modify the type definition XML file under the folder WorkItem Tracking\TypeDefinitions. In my case the template i changed was Task.xml, and the change I made was to add the following line under the node < FIELD name="Discipline"... / >:
    < LISTITEM value="Documentation">
    Note: Don't copy the above line - i've added spaces so that it can display in the browser without being interpreted as xml
  3. At this point, you can upload the new process template to the server, whereafter future projects will have the new field (not sure where to upload to though), or...
  4. To add the new process template to an existing project, run the witimport tool on your local machine, from the following directory:
    \Program Files\Microsoft Visual Studio 8\Common7\IDE\witimport.exe
    The syntax for this tool is as follows:
    witimport /f filename /t tfs /p teamproject [/v] [/e encodingname]
    so I ran something like the following command:
    C:\Program Files\Microsoft Visual Studio 8\Common7\IDE>witimport /f /temp/task.xml /t dev-teamfound /p hcbs_viii
    Note: To get an explanation of the syntax, just type witimport without any parameters
  5. All tasks created from then on in the hcbs_viii project contain the new "Development" discipline... phew, now i can assign those tasks to somebody else :)

Looking over that Tasks.xml template file, it seems alot more than just Disciplines can be changed... In fact it seems like a whole new template can be created to match the requirements of your team and your project.  I always knew TFS was a powerful tool, but now that I've started to scratch the surface of it a bit, it seems some serious digging may be in order to discover more... but for now it's back to development (damn them deadlines!)

VB.Net IIf Catch

Tuesday, February 12, 2008 by Greg Berlin

Well, literally seconds after posting the previous post, I stumbled across this old doozie and thought i'd blog it right away for future reference.

I've learned that with IIf Statements, such as the following:

myDropOffAddress = IIf(myDropOffBooking.Type = EBookingType.StorePickUp Or myDropOffBooking.Type = EBookingType.StoreDropoff, myDropOffBooking.Store.Address, myDropOffBooking.StopPoint.Address)

VB.Net evaluates the entire statement before assigning a value to myDropOffAddress.  What this means is that if the condition passes and the first value (myDropOffBooking.Store.Address) is to be used, but the second value (myDropOffBooking.StopPoint.Address) does not exist, Visual Studio will throw a Null Reference exception & won't compile.  This is really quite annoying as often the creation of those objects only happens based on the above criteria, so the actual execution will never fail, but VB prevents it from compiling in the first place. 

The solution?  Revert to the good old verbose If ... Then ... Else ... End If statement.  :|

UPDATE:  For a more elegant explanation of this condition, check out SecretGeek's "VB.Net Tip: IIF is a function, not a language feature"  blog post.  The fact that it's really just a funciton and not a language feature really puts it all in perspective really.

VB.Net Logical Operators - Boolean vs Bitwise

Tuesday, February 12, 2008 by Greg Berlin

I've just spent the better part of the last hour scratching my head over something so stupidly simple that its resulted in a sore head (due to the obligatory banging of it against my desk numerous times in frustration at the resolution)...

Basically, this is what caught me out... it seems VB.Net is a little quirky when it comes to handling If.. Then conditions. 

One would think that the following statement:

If myPickupBooking.Type = (EBookingType.StorePickUp Or EBookingType.StoreDropoff) Then ...

would  equate to the same as this statement:

If (myPickupBooking.Type = EBookingType.StorePickUp) Or (myPickupBooking.Type = EBookingType.StoreDropoff) Then ...

but this is not the case.  As it turns out, the first statement failed when the booking type was StorePickup... but the second statement passes. 

This has reaffirmed my suspicion that VB is really a language for dummies that have to spell e.v.e.r.y.t.h.i.n.g. o.u.t. a.s. v.e.r.b.o.s.e.l.y. a.s. i.s. h.u.m.a.n.l.y. p.o.s.s.i.b.l.e.  AAARRRGGGHHHHH

Okay, now that this little rant is out of the way, i'll get back to some real work.

UPDATE:  On further experimentation, i found that the following statement...

Dim hello As String = "hello"
If hello = ("hello" Or "goodbye") Then 
 
MsgBox(hello)
End If

... throws an Invalid Cast Exception:

Conversion from string "Hello" to type 'Double' is not valid.

This is because the Or operator compares either 2 boolean values (True or False), or integers that are evaluated Bitwise.  If you mix the 2, VB.Net will treat the Boolean value as though it were an Integer.  Hence the invalid cast exception above.

For more info about this, including some delving into the geekiness of converting values to bits, see the following: