Catching The Vision

April 27, 2009

Sometimes it can be extremely difficult to catch someone else’s vision in a project. You try and try, but at some point it becomes apparent to you that you just don’t see the project the way the other person does. You simply have not been able to catch their vision.

It doesn’t mean you give up, but it does mean that as you work together, you will continue to have struggles within yourself over goals and methods and means. Normally, if you cannot catch another person’s vision for the project, it’s because you actually see a different vision of your own – which reflects your interests and reasons for becoming involved in the project to begin with.

Recently, I joined a new project to produce a new kind of linux distribution. But as it turns out – this distribution never plans to have a user release of it’s own – but only to serve as a core for others to build their own distributions on. That is actually a very cool idea. The others involved have a very strong vision of why they are doing it this way and how it should all work. Everyone is friendly and very competent and things look really bright for the project.

But I was brought in after all these decisions were made. I had no input as to what the project should be about. That’s no big deal. But as it turns out, my vision for why I joined is a bit different from that of the mainstream project members. So I labor with some internal conflict.

Many of the goals, plans, choices, and reasoning are developer-directed rather than end-user directed. I am an end-user person. I look at things with the eye of the end-user, and thus my input is often not in line with everyone else’s vision of where we are going. There is an old expression – “Whistling in The Wind” – and it refers to ‘doing something that is a brave attempt, but a futile endeavor.‘ For example, if you whistle in the wind, no one is able to hear it. So you are basically making a futile attempt. That is kind of how it feels to have a different vision from everyone else in a project.

I will stay and work through all this because I hope my vision can contribute a little something to the project that will make it just a bit more end-user oriented. I doubt I will fully catch their vision for all this … but I hope they will catch at least a little of mine. It’s how we all learn, and grow.

–Theoden


Do you Want To Be Right?

April 13, 2009

My wife and I have been married thirty-two years. now approaching thirty-three.  My parents were married fifty-nine years!  I’m very proud of that.  I’d love to tell you that we are all just such perfect and easy-going people that staying married was easy.  But it’s not true.  We are as human and fallible as anyone around.  Staying married takes work, and at times of disagreement – whatever the issue – takes more work and a special kind of attitude from both parties to win through.  How do you do it?

There’s a lot of things we could talk about, and I’m certainly no expert.  But one thing in particular has usually kept me thinking properly:  when in a disagreement with your partner, at some point you have to ask yourself – “Do I want to be right? or do I want to be married?“.  Winning the argument is not always worth the cost to the relationship.  It’s as simple as that.

Now, that little principle applies not only to marriage, but any relationship or team effort.  When disagreements arise – you simply have to ask yourself – “Do I want to be right? or do I want to keep this relationship (team effort, whatever) alive?“.  You can argue to the death – perhaps even be in the right – but if you win the argument through stubborn persistence – and it costs your relationship, or breaks up the team … did you really win?

Some causes are worth far more than being ‘right‘ and being the ‘winner‘ in the little disputes that inevitably arise among humans.  We all need to weigh the value of being right against the value of the undertaking we are a part of – and count the cost before we let stubbornness bring us asunder.

–Theoden


Fixing Flash In Debian ‘Lenny’ 5.0

April 8, 2009

I recently installed the latest debian release on my laptop – Debian ‘Lenny’ 5.0. There are many, many things I could say about Lenny that I think are first class. But one that I cannot say anything good about is the default Flash support.

By default, the latest version of Debian uses ‘swfdec-mozilla‘ instead of FlashPlayer to support Flash content on the web. To say the very least, the results are unsatisfactory. Flash content plays very poorly with ‘swfdec-mozilla‘ and in my opinion (and that of many of my friends), is simply not acceptable. So, I fixed the problem and now my Flash works very well. For those interested, here is how I did it.

First, I edited my apt sources file – /etc/apt/sources.list – and added the following repository to the list:

deb http://www.backports.org/debian/ lenny-backports main contrib non-free

(You must be root or use sudo to do this).

Next, save the file and run these commands:

~$ aptitude update

~$ aptitude install debian-backports-keyring

(Ignore any warning that occur with the above 2 commands, the install will correct those).  If you run ‘aptitude update‘ again the warnings should be gone. Now we install Adobe Flash:

~$ aptitude install flashplugin-nonfree

You probably shouldn’t need this step, but just to be on the safe side, type:

~$ update-alternatives –config flash-mozilla.so

Make certain that the correct choice – ‘/usr/lib/flashplugin-nonfree/libflashplayer.so‘ – is selected. It should be the current default. After that, you should be good to go. Just start up Iceweasel (or Firefox) and test it on your favorite site. Your Flash content should now play correctly.

–Theoden


What Does The language You Use Say About You?

April 6, 2009

By ‘language‘ I refer not to human languages – i.e., English, Spanish, Danish, etc. – but to the type of words one uses to express themselves. A big issue with many people today is swearing as a part of daily communication and interaction. If you ask people the title question, you will often hear the answer, “People who swear are just ignorant“, or “Swearing is a sign of unintelligence“.

Frankly, nothing could be further from the truth. Curse words are defined by any given society’s cultural interpretation of a word. There was a time when the common word used for an illegitimate child, was a word that has now been redefined as a curse word. And the word used to refer to a female dog, has similarly been redefined to be a curse word as well. Many other examples could be cited.

These words are now considered swear words because someone used them to refer to a person or group of people who took issue and offense. In stead of putting the pressure on the person to change their application of the word(s), we simply redefined the word ‘itself‘ as being bad. But does that really ‘make‘ it bad. I simply have trouble seeing it that way. And may I say right here – I am ‘not‘ defending swearing or any bad language here.

However, something is only offensive if the person hearing it perceives it as offensive. Case in point – if I were to say ‘bloody‘ around an American, almost no one would be offended in the least. But if I use that same word in Britain, many people may be offended. This ‘offense‘ is purely in the perception of the person hearing it. Offensiveness is not something that can be used to label anything definitively. It is frankly ‘never‘ offensive if the person hearing the word doesn’t find it offensive.

Therefore, swearing cannot show the ignorance or unintelligence of anyone. It doesn’t show a lack of knowledge, education, or comprehension. It does show a different point of view about expressing oneself. If swearing sounds ignorant to you, it is most likely your perception of proper self-expression that is different, not a level of the other person’s ignorance or intelligence. Because you make a ‘judgment‘ about another person’s intelligence or knowledge based upon the ‘language‘ they use, you are defining them as ignorant solely upon ‘your‘ perceived judgment of their character based on a false premise. To do so is not only judgmental – it is wrong.  That does not mean that you should like swearing, or want it around you.  You and I have a right to prefer not to be exposed to it if we so choose.  But we should not judge the person who swears as inferior in some way.

So what ‘does‘ the language a person uses say about him? Well, for one thing, it says that such words are not necessarily offensive to him. It also may say that he is little concerned whether or not they are offensive to you or others around them. That may be a mark of the their consideration for others (or lack thereof), their respect for the feelings of others (or lack thereof), or their use of good manners (or lack thereof), but it says nothing of their ignorance or intelligence. If you or I allow another person’s use of language to determine in our hearts that the person swearing must be ignorant or unintelligent based on ‘our‘ already biased opinion of swearing itself, we are being judgmental to our own hurt and shame. And ‘that‘ says a lot about us. And once again, I am ‘not‘ defending swearing or any bad language.

Judgment comes in all forms. Be careful that you don’t let your personal morals determine your belief about another person based on the language they use. Let’s work to make the world around us a ‘less‘ judgmental and ‘more‘ tolerant place to live.

–Theoden


Unity Linux – New Kid On The Block

April 4, 2009

It was really an honor to be invited to join the development group for the fledgling ‘Unity Linux’ distribution.  It was – and is – fun to see old names of people I already knew, and to meet and get to know so many new people.  This is a highly motivated, bright and innovative group of folks who at my age (early 60’s), really challenge me to try and keep up.

At the same time, it felt a little strange too.  I am one of the few who is not a former developer with PCLinuxOS.  The many here who were, left that distribution to start Unity, and to move on from a less than optimal situation there.  Needless to say, the split was not without some pain for both sides.  Not being a party to all that took place prior to their leaving, I joined the developers of Unity without the baggage many of them have as a result of the split.  I did run PCLinuxOS Gnome Edition for some time and ultimately stopped due to issues I had as a user of pclos that were – unbeknown to me – peripherally related to the issues that brought on the split.

The point is – I came to Unity excited and looking forward to a ‘new frontier‘ experience.  But many who I share developer status with have – in addition to a forward looking view – have a backward looking ‘shadow’ that is quite painful for them.  It’s not my place nor my intent to take sides and  comment on ‘who shot John‘ and brought on the split.  I wasn’t there – I only know what I have learned subsequently.  My intent here is to compliment my fellow developers at Unity and to note how well and maturely they are handling their ‘shadow‘.

All the discussion on the Unity forums – with very few exceptions – is forward looking.  Plans are developing, code is being generated, decisions are being made.  There is virtually no discussion of former issues or players in their recent past.  These folks are serious about putting forth a great linux concept that will really add something of value and quality to the linux community and experience.  I’m proud to be a part of it.

The truth is, much of linux and it’s advances and progress have come about as a result of a developer or developers from one distribution, leaving and starting up a new one where they follow different dreams and goals and as a result – bring forth new ideas and technologies from which all distributions ultimately benefit.  We have come to call them ‘splits‘ or ‘forks‘.  Sadly, those labels have developed a negative connotation in many minds in the linux community.  But I believe that this is the wrong way to look at it.  Splits or forks have brought a lot of good to the community and a lot of choice that makes the linux experience so rich.

As I said earlier, I’m proud to be a part of Unity and these innovative and bright people here who – despite their personal discomfort with the past – are working hard to make for us all, a rich and tasty glass of lemonade out of a few lemons.  Keep watching the Unity Linux project – great things are coming!

–Theoden


Why Would You Want To Use Grep?

April 3, 2009

Why would you want to use grep?
Grep is one of the truly useful commands available on a Unix system. Learning to master grep will open up other truly useful tools for you, such as sed, awk and perl.
At its most basic, grep is a search tool. For example, the command:
>grep foo filename
will return all the lines in the file “filename” that contain a string matching the expression “foo”.
We can also use grep to have it accept data through STDIN. Thus, instead of having it search a file for some expression, we can pipe a command ‘through’ grep to find instances of a specific expression. For example, the command:
>ls | grep foo
will list all the files in the current directory with names that contain the string “foo”.
Now you may be thinking, that’s all well and good, but to be really useful it will need to support wildcards; does it support wildcards? The answer is “Yes”, and far more! The fact is, grep uses regular expressions which go well beyond wildcards. But let’s start with the basics: wildcards. The wildcard character is the period, the dot “.” Here is an example:
>cat testfile
pin
pan
porn
pantry
panning
This is the content of our test file called ‘testfile’. Now:
>grep p.n testfile
pin
pan
pantry
panning
Please note that porn didn’t fit the match, because the “.” matches exactly one character. So grep returned everything else that did.
We can also match repetitions of a character. We will use the star “*” character which works in the following way:
(Please note that the expression “.*” matches any string, and hence acts as a “wildcard”.)
>cat testfile
pin
pan
porn
pantry
panning
This is the content of our test file called ‘testfile’. Now:
>grep “p.*n” testfile
pin
pan
porn
pantry
panning
Here, “.*” matches anything – so grep returns all entries. But:
>grep “p.*n.” testfile
pantry
panning
Here, one character is skipped because of the “.”, the “*” allows anything to follow, and the final “.” requires one skipped character. Only two entries qualified, so grep returned only two entries. But:
>grep “nnn*” testfile
panning
And here, we deal with using the “*” to get repetitions. Note that the “*” character here refers to repetition and does NOT behave as a wildcard. Only one entry qualified and thus grep returned only one entry.
But, what if we want to search a file looking for expressions that match names, such as William Bob or Will Bob or Willis Bob. In other words, the letters ‘iam’ or ‘is’ are “optional”? For this we reqiore what is called an ‘escaped’ character. For grep, the escaped character is the backslash – “\”.
The syntax looks like this:
\(iam\)\?
Here we have the escaped character, followed by a string or expression (that ends with an escaped character) within parenthesis. Whenever that happens, grep treats it as one character.
Basically, this is an expression which consists of a character (see previous paragraph) followed by an escaped question mark. This can match one instance or no instances of that character. So we get:
>cat testfile
William Bob
Will Bob
Willis Bob
This is the content of our test file called ‘testfile’. Now:
>grep ‘Will\(iam\)\? Bob’ testfile
William Bob
Will Bob
Parsing each entry in the file, grep finds only two instances that include ‘iam’ (which it excludes), or nothing, and returns just those two entries. But, if we were to enter this:
>grep ‘Will\(is\)\? Bob’ testfile
Will Bob
Willis Bob
We still get only two responses, But they are different – one excluding the characters ‘is’, and the other having nothing after ‘Will’. As you can see, the grep command can be a very useful command for locating
information on your system.
There are other useful expressions we can use with grep as well, to further exploit it’s usefulness. Say for instance, we wish to match a selection of characters. We would use the “[]” characters. For example:
>grep cat testfile
Day
day
Night
night
Morning
morning
This is the content of our test file called ‘testfile’. Now:
>grep ‘[Dd]ay’ testfile
Day
day
or
>grep ‘[Mm]orning’ testfile
Morning
morning
etc.
We can also do a range of characters.
[0-3] would be the same as [0123]
[a-k] would be the same as [abcdefghijk]
etc.
We can also do either/or searches with grep. The either/or character is “\|”. So for example:
>grep cat testfile
Day
day
Night
night
Morning
morning
This is the content of our test file called ‘testfile’. Now:
>grep “morning\|night” testfile
night
morning
OR:
grep “[Mm]orning\|[Nn]ight” testfile
Night
night
Morning
morning
You can begin by now (I hope) to see just how powerful grep can be. This is not, by any means, a definitive tutorial on the use of grep. But hopefully we have covered enough examples in a way that you will understand them and be able to use them on your system, and will be driven by hunger to seek out more information on grep and learn more about how this truly useful command can enhance your computing
experience.

–Theoden


Hello And Welcome!

April 2, 2009

I’m very glad you stopped by to visit.  This is my first attempt at blogging and I am excited to get started.  Things are pretty sparse to begin with I know – but in time I hope to add some material that will be of interest to others.  So come back soon – and see where this goes.