Monthly Archives: April 2007

Lest We Forget

Today marked ANZAC day in Australia. Ninety two years ago Australian and New Zealand Army Corps (ANZAC) landed at Gallipoli in Turkey. Winston Churchill believed that a quick strike against Turkey would take Turkey out of the war and Germany would lose an ally. April 25, 1915 was the beginning of one the most tragic campaigns of World War I. The fast victory did not come and the troops were bogged down at the beaches for the best part of eight months. In total over 10,000 ANZAC soldiers died during the battles against the Turkey defenders.

History views this largely to be Churchill’s fault and he was greatly shamed by the lives spent at Gallipoli. After the war he was demoted and would not gain prominence until World War II.

World War I was the first war that that used modern machines to kill in mass. Machine guns, tanks, and air planes saw their first widespread use at this time. Many soldiers and their armies were not prepared for the scope of changes and endless lives were lost on the battlefields of Europe and remote places like Turkey.

Australia before the war was fairly naive about this new warfare. Australians come from a land of peace that has never seen direct mass conflict except for the Japanese bombing of Darwin in 1942. The cycle of hiding in trenches and running for a full attack against well armed rapid fire gunners was a recipe for death. The movie Gallipoli illustrates the nature of trench warfare.

From most outside accounts, Gallipoli was a disaster. But, in all truth, it was the turning point for Australia. It became a symbol of qualities that run deep within the Australian psyche. In extreme adversity, ANZAC soldiers persisted against all odds and found the values that are the foundation of modern Australian culture.

Mateship – bonding with your mates and doing all you can to keep things going way beyond the call of duty for your friends so that you never let them down.

Endurance – stay with the task until the task is done, even when others tell you it is impossible

Light-hearted – keep a sense of humour even during the toughest times

It runs so deep that it is difficult to examine in part. The strength of the Australian spirit is unique. The people are so genuine and real. It is a place where you can speak your mind and even the most powerful leaders are not immune from being cut down a notch based on forgetting Australian cultural roots. Many times I have been impressed with the bonding and resiliency of the Australian population. Given a tragedy, they come together and work together to get through it. It’s amazing to see.

“Lest We Forget” is often spoken at ANZAC day ceremonies and conveys the common wish that the horrors of war not be forgotten and that the soldiers that died will always be remembered for doing all they did for their people. It is common for every town and city to have memorials and services for ANZAC day. Even the smallest towns were affected by the war. Since 1915, many other wars have been fought. ANZAC day is about the soldiers in those wars as well. It was said today that 100,000 Australians have died in wars. The overall sentiment is that war should be avoided. If it cannot be avoided, it should be fully committed to.
ANZAC march

We went to the ceremony today. It touched me. There are so many elements to it. There are the innocent boys being sent to war in Gallipoli. There are the mothers, the fathers, brothers and sisters that never saw their son/brother again. There is a nation doing its duty to its Empire trying to impress the world. A young nation sending its first soldiers to its first war in distant Turkey. The victory never came. Misery and strife for eight long months in the trenches around the beaches of Gallipoli. And yet, Australia learned from this. Australians learned… and they remembered… and they understand that this should never be forgotten and the soldiers should never be forgotten.

Lest We Forget

ANZAC memorial

Sydney Airport Backstage Pass

It has been a bit quiet on the blogging front lately. Perhaps the early phase of blogging has worn off and the posts will come less frequently now. Or maybe I’ll just have to wait for more interesting things to post about.

I cannot promise that this one is going to be overly interesting, but I think you might think it is.

Last week our team from Sydney went on a drive down to the Sydney airport (Australia). The goal was not to take a trip but rather take a tour of the airport in a bus around the tarmac. Around thirty of us met at the airport near the heliport to start our 10 am tour. The group is from the Advanced Products Group in Sydney with a variety of job titles in the mix. Most are considered either developers or testers but there were some managers and even a technical writer and a web developer. This was the first team event for the former Aurema employees (who were brought in as part of the recent acquisition).  We usually have some kind of event every quarter.  Sometimes we skip quarters but we always eventually do something.  Since we have been doing this for awhile it gets harder to find different things to do.  Taking a trip to the airport was certainly different.

After some morning tea (how Australian!) the group was told to board the bus after a safety lecture. Apparently security has been becoming tighter and tighter over the last few years and it is now necessary to not only have a roll call but also have a special visitor badge that must be worn at all times. All of this is a bit odd considering that you are not allowed to get off the bus except for a security check that is performed as if you are going to get on the planes.

Airside Tarmac Tours has been running since 1998 and has a contract to continue until 2010. It is highly unlikely that they will be allowed to continue operation after that date due to ongoing security concerns. Our tour guide (which I unfortunately have forgotten his name) was excellent and knew just about everything that you would possibly need to know about Sydney Airport.

The two pictures above are directly scanned from the brochure we got before boarding the bus.  You can click these images if you are more interested in the detail of why going on this tour is good.  It even has some other options like being able to see it at night or being able to fly in an old DC3.

For those of you that like even more detail, I suggest staying for a few minutes after the tour and talking with the driver/tour director.  He can reveal more of the ins and outs of what is going on at the Sydney Airport and make it even that much more interesting.

For me, the highlights of the tour were seeing disassembled 747s with missing engines (being serviced) and seeing the planes take off and land as close as possible (bus parked right next to runways).  If it was not for our guide, the tour would not have been quite as interesting as it turned out to be.  He knew everything cold and could handle any random element with ease.  “Oh, that is the Qantas flight that is going to Melbourne at 11″.  “That over there is the flight going to Peru in South America”.  This guy was good.  Exceptionally good.

It was sad to hear that they are not going to continue these kind of tours for much longer.  Eighty percent of the riders in the bus are school children (which explains why everyone at the airport waves at the bus… pilots, air traffic controllers, you name it).  These children are subsidised by the Sydney Airport Corporation as an act of goodwill to the community.  The tickets are less than half price what they would normally be.

We got up close and personal with everything you could possible see at the airport.  Not only that we had excellent commentary as we went.  It really could not have been much better than that.

Our guide was pretty sure this is the only tour of its kind in the world.  There were others but they were shutdown in the recent years.

So, if you happen to be going through Sydney and have a couple of extra hours to spend, I highly recommend taking the Airside Tarmac Tours.  If you have young boys in your family, you would be silly not to go.  Your son will be talking about that tour for years.  I suspect even you will be impressed.

Nothing for Money

How can something be valuable and yet so plentiful. That’s the question I’m faced with related to computing power. I’ve been thinking about distributed computing and how any kind of economy can be derived from it. It becomes clear quickly that no one is going to get rich from this kind of model with a few machines. I don’t think that is the real point. I’m sure someone could figure out how to get rich because someone always does. Usually this person is in the right place at the right time with the right sense for business. Bill Gates comes to mind in the late 70′s. Anyways, there is always potential for someone to jostle the system to have it work to their gain.

What is starting to happen is that computers are becoming more dispersed with how they complete tasks. Instead of just dealing with one system, you might be dealing with a collection of machines to complete your task. This is already true for general web page browsing but it will become even more true when there is tighter task integration between clients and servers. Until now, most of this is done for free or a paid service contract from the ISP. The model of the net is largely based on paying for services up front for local access and then advertising for the actual content.

The writing is on the wall for major upheaval. The advertising model is remnant from the one-way media broadcast model. It is great for radio, TV, and even newspaper but completely ignores the value of the Internet. On the Internet, you potentially have direct contact with your consumer. You don’t have to broadcast anymore. Potentially you can relate to customers one-on-one and fully customize the interaction. So, what do we get? Silly ads that flash around and provoke us to click or shoot something in order to get a free ringtone.

I’m really not that interested in advertising but there is something else I have in mind. What if you could trade services? What if you could reduce or eliminate bills for services by providing services of your own.

Virtual $50 AUD Reserve Bank of Australia
Let’s say that you have an account with Citrix Online to use products like GoToMyPC and GoToMeeting. With this account, you would normally pay a certain amount for a certain period. What if you could volunteer your PC to do work for Citrix Online when you are not using it? What if this work could significantly reduce your costs with Citrix Online? I’m not saying this is possible right now and I certainly cannot represent the interests of Citrix Online. However, the question is formed. Would you be interested in donating cycles for the sake of reducing your costs?

Given that such transactions would be safe and not interrupt your work or cost you a fortune in electricity or bandwidth usage, would it make sense?

I’m starting to think that it would make sense. You give computing power and you get services for less or free based on what you give.

Something that costs very little (computing power that is unused) could actually give you value. Nothing for money! (cheap attempt at title tie in)

Be sure to provide feedback if you want this idea to live. If you don’t, the idea gets it.

Citrix Employee Events

Citrix has always been very generous with giving its employees holidays. Even in the earliest days, Citrix sponsored company holidays to places like Key West. Perhaps it was a fairly low key celebration but the fact that the company was spending hard earned money to keep its employees happy meant a lot.

Before I get too far into this I wanted to share a story of lore from the December 1992 holiday trip. I was not there yet so I have only heard this story from eye witnesses. The story goes (please correct me old timers) that some of the Citrix contingent went on the tourist train ride (actually more like a small tractor that looks like a train pulling small carriages behind it. At the time it was fairly popular to use this train to tour around the whole island of Key West (it is not that big, really). Unfortunately for these early Citrix employees, the train hit a man. It was very tragic and gave the whole trip a bit of a darker tinge. I have heard that the man did not survive. I remember feeling the shock of this story and also how the people that witnessed it happening where still greatly affected by it.

This happened about the time that the company was fighting to survive and some thought it might be a bad sign for Citrix in general back in early 1993.

Luckily this was short lived and soon after things turned around.

To tempt fate, Citrix returned to the Keys in 1994 (as I remember). Nothing bad happened and I remember that everyone had a great time. It was a family-like environment and most everyone knew everyone else. In some ways it was like small town living since everyone knew everyone else’s business. No one really minded. We just figured this was part of what it meant to be small.  I still remember us gathering around the pool one night.  I can see Ed and Roger thanking the employees for coming and in general giving good cheer.

The trips that Citrix took were always tasteful and well thought out. Often the employee’s families would come and it really was a time to relax and enjoy.

There have many Citrix traditions based on celebrating holiday times and new releases.  In the early days, Citrix Engineering would celebrate by taking a day off together and go cruising on the Intracoastal waterway on boats owned by some of the Citrix engineers.  I can remember doing this twice and it was always a great day out.   The monkey ceremony was another form of celebration that would usually happen right next to where we were working.

Monkey with Scott Kinnear

As we grew it became more difficult to keep everyone together at the same event.  The last event I went to in America was the 1996 Holiday party. The boat they used for this event was pretty big and it was obvious that it would be difficult to fit the entire office onto the same sized boat in the coming years.  It was clearly a boom time and most old timers were having some trouble adjusting to not knowing everyone.

1996 Holiday party

Coming to Australia and returning to Citrix saw the return of big celebrations.  Typically these events would happen twice a year and would be focused on Holiday time in December and some kind of excursion mid-year.  One year they went to a resort outside Sydney and had a strong beach theme.  We weren’t able to go but they sent us lots of towels and other beach gifts.  We still have the towels and I appreciate that they sent us all this stuff.

As the years have progressed, there is more concern with cutting costs.  This became more obvious around 2001 when there was the big bust in the computer/internet field in general.  The drive to hit $1 billion ending last year and the continued interest in giving good value to the shareholders has meant reduced spending for company events.  The Sydney office still has events and does a good job of doing the most with the least.  They continue to have a holiday party and usually have another event during the year.  I’m not as familiar with the US events as I once was.

It was certainly a perk to have all these events.  I remember being really impressed with the creativity of organizers.

Advanced Products in Sydney (which I work for) tries to have an event once a quarter.  The events are fun and are designed for the team to spend time together in a non-work environment.  Often the environment is also competitive which shows a different side for certain team members.   We have been cruising the harbor, sailing (actual piloting), go cart racing, movie watching, bowling, and jet boating.  There are other events like having picnics and holiday get-togethers.

Our next event happens this month where we get to take a tour of the tarmacs of the Sydney airport.  I was surprised that this is even possible given the concerns of the age but I have heard from several people that this should be a lot more interesting that it originally sounded.

Most of the Sydney office is also involved in iForum which did not come last year but did come for many years before that.  One of the nights is dedicated to having a party which is when the Citrix people get to let off some steam along side the participants.  A few years ago they had a party based on a Matrix-like theme which I would vote for as one of the strangest yet also one of the more interesting parties I went to.

I have heard many stories of the family vacation trip given to the Sydney office that was visited by a troupe of Brazilian dancers for after dinner entertainment.  From the pictures it was obvious that it was not fully anticipated what this would mean for such a family based event.  However, I also did not hear any complaints and certain people certainly enjoyed taking more than their fair share of pictures.  I’m just teasing one particular person I know because it really was not that racy but I will admit that it did seem like there were a few too many different angle shots of the same dancers. :)

I’ll probably always will reminisce  about the original trips and parties.  I tend to be very nostalgic about the past times.  The most recent events are always more polished and bigger than anything that could have been done back then.  However, bigger isn’t always better in my view.  There is a certain charm to knowing everyone and having the time to enjoy each other’s company.

It’s those shared moments and milestones that make all the difference.  The power of precious memories is that they never fade and only become better with time.  It does not matter that they do not match reality since our mind makes up its own images of how things turned out anyways.

It seems to be the memories are best after they have been aged.  The prediction is that memories of this time will look really good about ten years from now.  It will go something like this: “I remember when I used to write a post a day and would write about Citrix history in the hopes that others would be interested.  Weren’t those days good?”.  Anyways, thanks for joining me on this posting/blogging journey.  Some day there will be an end but for now it’s still fun and a great way to reach out to a very broad audience.

G’day!

What the Bleep Do We Know

What the Bleep Movie

Last year I was referred to a movie called “What the Bleep Do We Know“. Based on the title, I was not sure what kind of movie it was going to be. Earlier this year I bought a copy from eBay since it is difficult to find in the stores. One thing I noticed from eBay is that since it is fairly rare and also in demand, it is hard to win the bids.

This is the kind of film that challenges your thinking. It dives into the most basic philosophical questions and tries to answer aspects of these questions through modern science. A basic revelation of the film is that we really do not understand as much as we think we do and that there are new models evolving out of the old which might better explain reality. If you like deeper philosophical topics, this film is for you. Even if you just want to better understand the implications of quantum physics on our perceptions, it is worthwhile.

!WARNING! Much philosophical discussion below. Please skip the rest if not interested. Rent the film if you can find it. I’ve warned you! Okay, let’s continue.

The clearest revelation for me is that the mind is the hub of reality. It is easy to disassociate things based on current thinking but the evidence from experiments declares that it is impossible to isolate the observer from the observed. The observer has a direct link to the results of experiments that might otherwise be considered variable or undetermined.

The observer happens to be also the creator. It is easy to believe that an observer would not create. However, we all know about dreams. Who created the dream? The observer!

A dreamer believes in the dream but not in the belief that the dream is based on the dreamer. It is only when we wake up that we realize what we created. I suspect the same is true for life. It is only when when we die that we understand what life really is. It is possible to realize before death what life is but it takes a great deal of control to realize this potential.

What if life was like a collective dream? What if the observer watches this dream not realizing that it is being created also by the observer? What would that do? What twists in the dream would exist? Most likely the observer would take the dream very seriously and tend to focus on the more extreme variants of potential reality. It certainly would make for more interesting viewing. I suspect the core misunderstanding of the observer is that it lives through its dreams and is all that it sees. In this way, we are indeed of the creator. We are inside the dream with the observer effectively being asleep and unaware of its potential of reality. The observer and the dreamed are one.

Now before you take this too seriously, let me mention that I am a computer researcher (by title) and not an expert in such topics as philosophy or quantum physics. This is just one of many theories that I have about reality.

The dreamer idea is just something I have been refining over the years. It certainly is not perfect. It is just an unproven and unprovable idea. I must admit that I am still attracted to it because it explains so much.

How could we be considered as one? Easy, we are the creator. The progression of time and space is nothing but the expansion of a dream inside a dreamer. How can we do what we are meant to do? Look to the core creator inside. The creator is largely asleep but yet lives through us. It understands what it sees and it does learn but it does not believe that it is anything more than an observer in a dream. It does not like to be reminded of its creator state.

As this post moves on I’m getting some negative feelings about sharing this kind of information. If you really want to explore some of concepts I’d suggest renting the film (if you can find it). It certainly is more controversial than what I am saying right here.

So much trouble has been caused by the division between mankind and the rest of the universe. This flows from the whole idea of forming fixed relationships between different things. In the case of development, it often means the suppression of nature. In the case of religion, it means a separation between creator and created. In reality, it means the division between potential realities. The harder the mind is focused on dividing reality into what it wants, the more unlikely the appropriate reality will be chosen. The point is that a divided mind is always weaker than the collective mind. A collective mind is closer to the observer and better knows what will come to pass. This makes sense as to how a collective reality could be driven by a collective mind. Another thought is that groups of people will try to build artificial collective minds to help achieve collective reality. This is done through education in group communication and obviously books.

Collective minds are naturally more productive when formed based on accepting reality for what it is and participating at both an individual and collaborative way at the same time.

This can be easily achieved by admitting that we do not always know the answers. If you are constantly in doubt about what is coming next and do not expect the outcome, the true natural result will emerge from the collective mind (that knows so much more than each one of us knows). I would call this the “Forrest Gump effect”. Amazing things can happen when we let them come out. The toughest thing for the ego to do is let go. It wants so desperately to control what it cannot possibly control. The truth is that you are only meant to what you are meant to do.  Chances are very high that the ego will not know what is best or even what it is meant to do. You have to look deeper for that. It’s that oldest part of you that has always known what is right for you. The ego can easily silence this part of you with noise but it can never hide from what you truly are.

I could spend many more words trying to convince you of your own truths. However, it is simply impossible for me or anyone else to tell you who you are. That is something you need to uncover for yourself. As any other person could do, I can only point a way.

Everything I have just said could be wrong. The real question is does it really matter? Do we always need to feel the pressure to know? Can’t we just enjoy life for what it is? When will we ever be happy with where we are? If we put our lives on hold for some outside event to happen, we will be forever waiting. That for which we wait for becomes unlikely because we honestly believe that we do not already have what we need and therefore do not deserve any more. Need pushes away the action of getting. Getting does not stop the need for more.

As I sit here late at night in Australia, I wonder how many people are really living the lives they are meant to live. Lives without constant unhappiness and want. Lives that are always unfulfilled. If you wait for the perfect life as defined by the desires of the ego, you will never live. That is why death is so scary. If you never live then it means that you are always waiting. If you are waiting when you die then you will regret waiting your whole life for something that never came. No wonder death is so terrible for the ego. It does not understand that no matter what it does death will always come. To the accepting soul, death is nothing but another event in the progression of life. It does not know, but in the act of admitting not knowing, it does know. No one alive knows what happens when we die. At least they cannot prove it. The bottom line is that if you live your life the way you are meant to, it will not matter. You have done your part and fulfilled your role and you have exited the stage. Let the crowds roar to your tribute of your life on Earth. Your performance was impeccable and you performed on stage so beautiful that it really moved Heaven and Earth.

Learn your role. Play the part. Enjoy your life.

Lines from Macbeth – Shakespeare

SEYTON

The queen, my lord, is dead.

MACBETH

She should have died hereafter;
There would have been a time for such a word.
To-morrow, and to-morrow, and to-morrow,

Creeps in this petty pace from day to day

To the last syllable of recorded time,

And all our yesterdays have lighted fools

The way to dusty death. Out, out, brief candle!

Life’s but a walking shadow, a poor player

That struts and frets his hour upon the stage

And then is heard no more: it is a tale

Told by an idiot, full of sound and fury,

Signifying nothing.

The ego dies a fool’s death. It is a story told by an idiot that ultimately signifies nothing. It’s a twist on words but it illustrates the depth of what life can be versus the passion of the ego with Macbeth.

The ego cannot help but be unaware of the bigger picture. By definition it primarily cares about itself.

I admit that my ego is still strong. Perhaps if it was less strong I would not blog.

What I do like is sharing these things in an open way with relatively low risk. It would probably be a positive to get negative feedback anyways. At least someone is paying attention.

Rent it and have an open mind. That’s all it takes.

Bad Software Day

I’ve had a bad software day. Occasionally I want to just toss the computer in the rubbish bin (Aussie/UK slang). Usually I just accept it and move on and try something different. Usually that works. Today it did not seem to matter what I tried.

It would be comical if it was not happening to me. Most computer users could sympathize with the predicament.

The most common problem I have is when computers will not talk to each other. In this case it is between a virtual machine and a host computer. All I wanted to do was use the nifty feature of being able to debug a .Net service from another machine. You would think that this kind of operation would be relatively straight forward. I would say that assumption is dead wrong.

Fortress in Oman http://www.ross.navy.mil/images/oman/fortress.jpg

There is a classic battle being waged in the computer world. The good guys want to keep their machines running and isolated from the actions of the bad guys. The bad guys treat it like a game to take over and do whatever they want to the good guys machines. The classic media model is Mr IT versus the teenage hacker. This battle has been going on long before Mr IT was born but the point is that it is now so much easier to attack given the range of the Internet. There are certainly hackers out there watching these words in the hopes that I might reveal something that would make it that much easier to break into something somewhere. I’m really not interested in this battle directly for this post. I’m more interested in talking about the consequences.

Because of the hacker pressure (and even research groups that specialize in exposing weaknesses), software companies are putting in new code to make their products more secure. Other companies are building new products to make insecure things more secure. It is kind of like going to the airport. As the years progress, it gets harder and harder to get through to the other side. It could get the point that many travelers will just skip traveling in the first place. I think the same kind of things are happening with software. Microsoft is continually sending out updates to address security flaws. Some of these updates are rather radical in nature (like XP SP2 for example). Because of these changes, it has become very difficult to correctly configure XP to allow valid things to happen. The same is apparently even more true for Vista.

If two machines do not talk to each other it is most likely related to the firewalls that are installed on the machines. It could also be related to fringe things like anti-virus but usually it is related to policies within the firewalls.

This is where I take the gloves off. This is my opinion and is not a statement from Citrix. Most firewall software sucks. I’m not just saying that it is bad, I’m saying that it is outright terrible. You would expect software that can potentially shutdown access to the outside world would be a bit more easy to manage and also allow for easy ways to form links between two machines. I suspect that much of the firewall framework is left over from the Unix model which tends to have little sympathy for the average user.

This is where it gets even more ugly. Today I tried to change the configuration on my firewall (I’m not going to say who it is but you might be able to figure it out). I was having terrible trouble getting the two sides to work together and figured that it would be good to look at the policies and edit them if necessary. I opened up the manager for this and almost straight off got a scripting error for what looked to be a web page popup. This was very odd. A quick search on the net and I found that this was a well known problem with mixing IE 7 with this particular firewall. And, get this, the company had not provided a fix even though IE 7 has been available for months now. They knew about it last October at least. The problem was grown so annoying that a particular person has volunteered to fix the offending DLL in the firewall (not connected with the company at all) for $5 over PayPal. And it is not a scam! It really is being fixed by this person and people are just excited that it is working for them after this fix. This is terrible! What the hell is going on? How did it get this bad?

Why do we buy bad software? In my case I didn’t buy it. My company provided it to me. Can I buy something else instead and get paid for it? Probably not. Company policies on purchases tend to force people to just use one thing. So, is this a potential answer? Yes, but it probably isn’t the whole story.

The biggest names get the biggest amount of users. It’s a trust thing obviously. Even if their product is inferior and does not do the job it was meant to do, people will still buy that product based on name. I think this is probably what is going on. I admit that I would be hard pressed to come up with an alternative product. I would need to research it and perhaps even try a few before I was happy.

Another reason we end up with bad software is based on bundling. If there is a collection of average products for a certain price, we will buy that before going out and buying individual products. This is the whole Microsoft philosophy on bundling things with the operating system over the last 20 years. It might not be the best but it comes with all these other things. I would classify this as the thought that you are getting more for your money if you buy in clusters. It seems that this would appeal to the buyer but not necessarily the user. If the buyer and user are the same, then the buyer will learn to do something else. If the user and buyer are different people, then you have a pattern that will go on for potentially decades.

If you could not tell, I’m a bit grumpy about this situation. The last reason why I think we buy bad software and use it is that we have too high a tolerance for poor behaviour and performance. We expect it to be bad and we let it be bad in the hopes that it does something good and will just leave us alone. I could care less about firewalls personally for my day to day job. I want them to protect my systems but I also want them to let my systems work together. I would prefer to have a hands off relationship with my firewalls but I’m willing to help them learn what the best thing to do is. Is that too much to ask?

This really doesn’t leave me or you in a better place. Perhaps this is my way of dealing with a very frustrating day. It is like blogging theory isn’t it? Does any of this ring a bell for you?

I could spend the next fifteen minutes complaining about how Microsoft made it so difficult to debug .Net remotely (using DCOM for goodness sake!) but I’ll stick with the firewalls tonight. That is my long term beef with non-friendly security barriers.

(many hours have passed)

There was a major setback with this post last night. The server citrite.org failed as I tried to update the post. I guess I’m not supposed to post this. Or maybe it was trying to give me another example of software going bad. Either way, I lost the last few ending paragraphs. WordPress was nice enough to save a copy with the autosaving feature. It just didn’t get that last bit. Perhaps the rant factor got too high.

I was thinking about this last night after it failed and I concluded that there must be something positive to do or say. There is. It is possible to learn from the mistakes made.

The question is “How can you make bad software good?”.

You could spend a life time answering that question. I’m only going to spend the next few minutes to highlight what could be done.

  1. Keep it simple
  2. Make it very visual experience based on existing real world models
  3. When it fails, make sure it can recover without data loss
  4. When it fails, allow for it to find another way to complete the task

Simplicity is the key to making it more stable and also making it easier to manage. Complexity breeds instability and is difficult to maintain from both an user and administrator point of view. It has been said that personas can help to simplify the software product by giving focus to the market it is meant for. Picasa is a good example of this. Most users only want certain features anyway. The advanced features are really used but the programmers thought it would be cool to include it (thinking that they are typical users). It just muddies the waters to have too much and it really does not help the average user to get things done.

Tasks based on text are not as effective as visual diagrams. The mind is more tuned to analyzing pictures than to building pictures in the brain based on words. This is especially true since words can often be misunderstood. In the firewall world, much of the controls are based on text that is not even English. What user is going to know the depths of TCP/IP with all its lovely acronyms? (also thanks in part to the Unix programmers). It is unrealistic that a user (like an older parent) is going to know anything about this. The result is that the user is going to make some poor choices and either make it too secure or not secure at all. If, however, this problem was presented graphically with real systems with real names, it would be more like forming friendships. If I like that system and trust it, then I’m going to make it my friend. Otherwise I’m going to be wary of new comers. They say that a picture is worth one thousand words. I think it is worth more than that related to security software. Personally, I would be impressed with a more graphical network display with active traffic represented. It is just as valuable to know what gets through as what does not. I’ve seen some of this in network management software from years ago but I have not seen it in any PC firewall software.

If something does fail, then you do not want it to lose data or disrupt communication. In the firewall case, this problem equates to telling the firewall that it is not behaving and is cutting off too much. It would be like a virtual slap to the firewall to tell it to come back into line. The trouble is that it would be difficult to get live data to not get lost. Editors, on the other hand, can potentially recover. It has been a paradigm in editors to support auto save for years. However, no editor (that I know of) can guarantee full recovery. If you typed something between saves, it is gone. That is what happened to me last night. I think it is time that this moved forward. There is plenty of technology available to handle this. For example, it would be possible to form links with other programs on the local system or remote that could gather all the data in case of a failure. These programs would be fairly simple data collectors that are basically there just to guarantee that nothing is lost EVER. If you distribute the location of the data being input, it is that much more unlikely that the data will be lost. So, if the editor does die, the other programs will live on. The other programs could guarantee permanent storage of the data so that when the original program finally comes back, everything will be right where you left it. The beauty of this is that it could be completely offloaded from the local CPU so that even if the machine had a blue screen you would still have your data intact. I’ll call this dispersion theory. If you disperse your data through the network with live data, you can later gather it when things go wrong. I also suspect it is more like how the brain works with redundancy built in.

If a task fails with a specific technique, then there should always be a backup. I used to use this strategy with an old program I wrote at IBM years ago called QCONFIG. It was a simple DOS program that would go and collect how your machine was configured and what kind of hardware it had. At the time, it was very popular within IBM and often used for diagnostics. Part of the secret of how it worked was using alternative techniques of getting the information. It would always try the best one first but if the system did not support that function it would move on to the next best. This layering approach meant that it was unlikely to not be able to find something out about the machine in that area. Most programmers like to focus on just one technique of doing things. This might be fine in the latest environments but it might not apply to the older ones. Or, perhaps there is a timing failure with a specific transaction and it needs to learn to handle the transaction differently or with a different interface. The point is that redundancy is a good thing when it comes to handling errors. I’m reminded of the movie “The Hunt for Red October” where the US submarine detects something unusual in the ocean. The software things it is some kind of seismic activity. I remember the technician saying that the software was “going back to its roots”. This odd behavior turns out to be a major plus for the crew when they realize that this signal is actually a Russian submarine with new quiet technology for the propulsion. The point of bring this up is that sometimes software that is considered to have no value does have value if it means that it is more unlikely to fail. It is still possible to keep simplicity if the layered interfaces are hidden from the top layers. In fact, having a layer dedicated to dispatching the tasks is key to hiding the complexity of dealing with more than one situation.

If you have made it this far, congratulations. It took me two days to get this far. I think the software was trying to inspire me to say something beyond what I would normally say.

Thanks for being patient. Here’s to a better software day!

Shrimp on the barbie

It’s probably one of the most famous quotes from international tourism advertising. Paul Hogan was the star of the 1984 (can you believe it?) tourism campaign for bringing tourists to Australia. There is a good summary of “Shrimp on the barbie” phrase at Wikipedia. It’s important to note that Australians use the word prawn instead of shrimp and that Australians rarely put prawns on the barbie (which is indeed slang for BBQ). Never mind that, we are dealing with marketing genius.
There was news today that one of the creative duo that came up with this ad campaign died today. Alan Morris passed away at the age of 64 from cancer. He and his creative working partner Allan Johnston had formed the company Mojo to work with many of Australia’s leading companies to create some of the most memorable ads in Australia.

It took some searching but I found a copy of the commercial with Paul Hogan on YouTube. The quality isn’t the highest but you can still make out important features.

Almost every American I’ve met in America wants to go to Australia. It usually goes something like this:

Them: Where are you coming from?

Me: Australia

Them: Really? I’ve always wanted to go there.

Me: Yes. It’s even better than the ads.

Even though I believe that these people really want to go, very few will actually travel to Australia. I guess it is a mixture of travel time, cost, and not having vacation time to enjoy the trip. That could explain why there are so many older people that end up taking the journey “Down Under”.

There is a heck of a lot of slang here. Take the amount of slang in America and the UK and double it and maybe you might be getting close to how much is here. Most Australians understand American and UK slang because of the TV. Unfortunately this is not true for the UK and US visitors as well. It might be the same core language but the additional slang can make it very interesting sometimes. This becomes even more true the further you get from the capital cities.

I have been here 10 years now and I still get hit with this. Occasionally I will hear a phrase or word I’ve never heard before and either I politely pretend like I know what it is or I actually say to them “What is (insert slang here)?”. It is good that most Australians will explain and even have a bit of a chuckle at the Yank.

I do not think there really is any decent way to prepare for it since most books do not reveal how common the slang really is. You could end up training yourself on words that have not been used since the fifties. It is probably best to swallow your pride and ask when you hear something that does not make sense.

If you like, I have found an online slang dictionary that you can scan.

I will even give you examples:

Be sure to get bullbars on your ute to stop the damage from roos

Chrissie is always the best time for pressies

Get Aeroguard for the mozzies

Hoons drive like yobbos

I have also included here a web page about Australia food slang.

Oh, one more thing. Australians are some times referred to as Aussies. This is pronounced OZZIES, not AUSSIES. It it a dead give away that you are an American tourist that does not know the slang. Forget about picking up the accent correctly unless you are under 18. And finally, find out how to say some of the cities differently than America. Melbourne in Australia is pronounced more like Melbin. In Australia, the R tends to vanish. To prove this, try ordering water at any food place. I still get blank stares from time to time.
Frankly there probably is not much hope for me. It has been 10 years after all. I am sure there is more hope for you. Thank you class. You may go home now.

Buy and Sell Jolt Power (Distributed Computing)

Yesterday I wrote about Folding@Home and how spare computer cycles can potentially make a big difference in research. I’ve be running the client on my home PC for a little while and have already come up with some other ideas.

If computer clusters (distributed computing) can figure out the dynamics of folding proteins, what else can they do? And how would someone go about setting up such a scheme?

The basic problem seems to be that no one gives computing cycles much value. If some form of money were involved, you can be sure that the motivation would be much higher.

This is the basic idea. If you could set up a brokering system that would allow for trades between users and systems, you could potentially sell and buy computer time from just about anyone. Please let me know if such a system already exists (sometimes it takes me a while to find out about these things). If you could sell your spare cycles to someone and that someone could use the cycles along with other people’s cycles, both sides would win. The person with the task would benefit from the raw power of the systems combined whereas the users would get money or credit to do what they wanted at some other time.

The overall concept introduces the basis of an computing economy on the Internet. To give you a primitive example, it would be possible for a movie house to produce a digital animation movie using the bought computer time from the individual users. Instead of spending a fortune on in-house systems and not getting the performance they want, they could pay for a collective net of computers to do the work for them. In this way, it is not much different from the concept of Folding@Home but instead has the goal of producing a high quality film with the lowest cost. It’s a bit idealistic given that there would be a need to safeguard both sides from potential abuse. However, the model does make sense and would justify investment.

All this flows with the concept that ideas are going to become more powerful than the things they create. This is largely due to the dynamic aspect of ideas that can be applied to many different areas at once.

With the idea of using the credit model, you could build up your credit with a particular group of systems so that when you do want to do something complicated, you can do it in a burst instead of waiting for hours. In fact, this model makes even more sense that I originally thought. If the computer is idle, it can be doing work. This work is stored as credit on the net and ready for the next time the user comes back. The user can use the concentrated work during the relatively short period of time that it is needed. It’s kind of like charging batteries. It takes a while to charge but once you have a good charge you can do lots of things. In this model it is even more focused. It is more like charging for a flash. You build up over a time and then you do something amazing for a short jolt.

Lightning over Tucson (NOAA picture) NOAA Lightning Page
I’m being to like this idea even more. Any one care to brainstorm on this one in comments? I would love to hear from you.

A Cause That Meets a Need

For a number of years I have been thinking that it is a waste to have computers turned on at home with nothing for them to do. Of course, they do work at getting email, virus check, and backup tasks when no one is there. However, for the most part, the CPU cycles are wasted on idle cycles. Even when a computer is being used, the horsepower is rarely fully utilized. It does not take much power to handle writing a blog for example. Most of the time the CPU stays at 0 percent. Unlike most other engines, the difference between being idle and going full throttle is not dramatic.

So, what can the poor CPU do?

There are a number of projects on the Internet that are looking for CPU cycle “donors”. If a user downloads some software and agrees to the conditions, the user can help with a pursuit that requires heaps of computing power. There are projects for helping SETI find alien signals, cracking encryption keys, and even attempts to find gravitational waves. Recently, I was made aware of Folding@Home at Stanford from the Coding Horror blog. It is hard to come away from the Folding@Home web site without thinking that something should be done.

Folding in action

Here’s a clip from the home page:

Folding@Home banner

Our goal: to understand protein folding, misfolding, and related diseases

What is protein folding and how is folding linked to disease? Proteins are biology’s workhorses — its “nanomachines.” Before proteins can carry out these important functions, they assemble themselves, or “fold.” The process of protein folding, while critical and fundamental to virtually all of biology, in many ways remains a mystery.

Moreover, when proteins do not fold correctly (i.e. “misfold”), there can be serious consequences, including many well known diseases, such as Alzheimer’s, Mad Cow (BSE), CJD, ALS, Huntington’s, Parkinson’s disease, and many Cancers and cancer-related syndromes.

You can help by simply running a piece of software. Folding@Home is a distributed computing project — people from through out the world download and run software to band together to make one of the largest supercomputers in the world. Every computer makes the project closer to our goals.

Folding@Home uses novel computational methods coupled to distributed computing, to simulate problems thousands to millions of times more challenging than previously achieved.

This is the kind of cause that makes sense.  Finding alien signals, detecting gravity waves, and even cracking cryptos does not seem as valuable as potentially finding the reason for very relevant diseases.  All that needs to happen is a user installs a program from Folding@Home and then lets it run when no one is around (usually by setting it as a screen saver).  There have already been some points of progress and forty five papers have been written by the team that has created this project.  It is being run from Stanford and has been going since 2000.  The reason why it appeared recently in the Coding Horror blog was that a PlayStation 3 client has been created and the PlayStation 3 machines are contributing a massive amount of power to the distributed computing platform.  It appears that graphic processors are much better suited to folding than the typical general CPU.  There is a good summary of Folding@Home at Wikipedia.

Folding@Home

Currently the only form of payment is recognition.  This can come from being mentioned on the web site in ordered list with other contributors.  The last time I checked there were almost 200,000 computers running on the grid.  Some of these systems are running in groups which allows for a better chance of making it higher in the list.  It is easy to see that competition between groups would help to contribute more CPU cycles.  I can also imagine whole labs being hijacked for the sake of getting better numbers.  This makes it both a good thing and potentially a bad thing based on the actions of the team players involved.

The need is there.  Computers have the capacity but not the purpose.  The cause is also there.  Biological research (the purpose) needs a massive amount of computing power.  When you pair the two together, not only are you potentially solving the current research questions but you are also giving a higher purpose to the computer systems.  The by-product of this is that the distributed computing platform grows and evolves based on the importance of the problems that it meets.  As the problems become more difficult, the minds of the programmers and the systems themselves begin the task of creating a emergent system that can solve problems beyond the mind of any person.  It has already happened in the past few years but it is going to get strong and more obvious as the years roll past.  Eventually this kind of problem solving will be seen as intelligent but not before a great deal of debate.

Brother (or sister) can you spare some cycles?

You’ll feel better, I swear.  It does not cost much either.  Even better the computer does all the work.  How easy is that?