Thursday, October 25, 2007

What Do You Use?

There are hundreds of application download sites out there, but can you trust their ratings and awards? Probably not.

Luckily, if you are an OS X user, my friend Marcus has come up with a great solution for you. Combining the idea of social networking and tagging sites with software recommendations, his site here, lets the user community give the recommendations. Just like digg or, lets you use common wisdom (number of users) or choose trusted individuals for recommendations.

It is a great idea that works and deserves a lot of attention, check it out.

Labels: , ,

Wednesday, October 24, 2007

The Two Sides of a Coin

Lately, I have been working on a heuristic for systematic thinking that I believe is very powerful. I'd like to share it with you. Maybe you can help me refine it. For a long time I have found myself alternately embracing opposing viewpoints. At first this bothered me. It seemed to be non-committal, indecisive and not useful for decision-making. However, I have come to see it as quite useful, indeed.

Tetradrachm of Athens, 5th BCE. The obverse features Athena, goddess of the city. The reverse, shows Athena's owl companion, a symbol of the city itself.  This silver coin helped make Athens a financial power due to its unusual purity and high quality minting

There's no such thing as a one-sided coin. It's a package deal.

Today I was listening to the Philosophy Bites podcast featuring Anthony Grayling, a prominent advocate of atheism. When asked about agnosticism he rejected it as a "wishy washy, fence sitting kind of view". He went on to attempt to draw a parallel between the belief in "faeries" with a belief in any supernatural phenomenon, and therefore to reject agnosticism on the basis that if faeries aren't real then it is silly to hold out for any view that isn't strictly naturalist. I mention this because it is what provoked into writing about this topic today.

When I have found some set of rules that nicely explains a given aspect of reality I also find myself invariably dissatisfied with them. There always seem to be things that I believe are correct, but that those rules cannot reach. This, I think, is related to the idea of incompleteness in mathematical logic. Kurt Gödel provided a rigorous proof that any system of formal logic, which is sufficiently complex to be interesting, is incomplete. That is, there are true and false "statements" within its rules that the rules themselves cannot derive. (A note to mathematical logicians: I am not claiming this is a rigorous definition or application of Gödel, consider it loosely-coupled)

Similarly, the rules-based systems you and I use to make decisions about morality, politics, aesthetics and the like are also incomplete. There are things that we can feel are correct but cannot show as correct. This is what lead to my alternate embracing of first one idea, then the opposing one. Was that wrong?

Many of the greatest thinkers in history, particularly those with a "spiritual" bent are described as confusing the people around them by first embracing one idea, then its apparent opposite. This seems inconsistent and mysterious. Maybe it isn't. Let's take a very simplified example from politics. Our hypothetical left- and right-wingers are faced with a problem. The poor need to be fed. Excluding actual extremists, who might either suggest that everyone should be fed by the government (putative left) or that people who cannot feed themselves should be allowed to die (putative right) we are left with two sides that agree some people should be helped by the government and the some people should be completely on their own.

The difference between them is that on the left, expansion of the government program is the tendency or even goal, which on the right it is contraction of the program. Is one of these positions "correct" to the exclusion of the other? I don't think so. I also don't think that an artificial "middle" is correct, either. That is, the ideological "average" of the left and right is not an effective position. What then, can we make of this?

This is where the coin comes in. If we imagine the problem to be solved, which both sides agree upon, as the coin, we can see that the two sides of the coin can be analogous to the two positions. The coin itself is a good coin, We all like it. If we are on one face, though, we cannot see the other at all. It appears that the other face is mutually exclusive with our face. If we look at the coin, though, we see that both faces are required. So, it is my contention that when we find ourselves with what we consider a "good set of rules" we should immediately seek out the opposing view. That view is actually complementary to our own. It literally completes it. When we come to a conclusion with our own rules we then need to analyze with "their" rules and refine our conclusion.

Sometimes, it seems wise to actually adopt a opposition opinion where our own system seems deficient. Sometimes it is just a matter of polishing our own ideas. Eventually, we might stop thinking of our "side" as the "correct" one and instead embrace the entire coin. Then it becomes a matter of where to draw the line in tension between the two. In that idea I believe is the essence of how the world operates.

I will write more on that, later.

Labels: , , , ,

Tuesday, October 23, 2007

Amazing NASA Imagery

UPDATE: Another image of the Los Angeles County fires acquired 3-August-2009.

Wildfires still burning in Los Angeles County

(full size image here)

(NASA's Earth Observatory Natural Hazards page for this fire, here.)

UPDATE: NASA has a good shot of the current (30-August-2009) Los Angeles County fires. It isn't quite as spectacular as the previous images since the fire is smaller and the smoke is drifting overland, but it is news.

Wildfires burn in Los Angeles County

(full size image here)

NASA has provided satellite views of the recent Southern California wildfires. These pictures bring home both the enormity and insignificance of the fires. Compared to the land mass of the US they are small spots, but the smoke they are producing is prodigious.

Wildfires burn in California

(full size image here)

High resolution versions of other great photos available here.

Labels: , , ,

Your Shoe is Untied

How many times do you stop to ties your shoes in one day? If your answer isn't "once for each time I put on my shoes" maybe you need to know about "Granny Syndrome" ("double-knotters" I am talking to you, too.) About 20 years ago I got tired of constantly retying my shoes. They would come untied a dozen or more times a day. I decided to do something about it. I set out to invent or discover a better way to tie shoes. My discovery might just liberate you, too.

Loops that run parallel to your shoe is a sure sign of Granny Syndrome

If your laces look like this you are a sufferer. Check them, if they are still tied.

I ran across a fantastic volume called The Ashley Book of Knots by Clifford Ashley. Ashley himself is a fascinating person worthy of separate discussion but his book was the key to my cure.

It turns out that Ashley has no solution at all for tying shoelaces. "Shoelaces" appears in the index but he only writes about lacing shoes. Among the literally thousands of knots documented in the book, however, is the common reef knot (also called the square knot.) The reef knot gets its name from its use. You have probably heard the expression "reef the sails". "Reefing" is rolling up a sail to some extent to reduce its effective area. When you reef a sail you have to tie it in place. The reef knot is used there. It has the property of being very secure unless you pull one of the loose ends across the knot which causes the knot to "capsize", or "spill" and come undone. You can see how this is useful on a reefed sail.

A reef knot is quite simply tied. Take a half knot (the first step most people take in shoe tying) and then take another half knot in the opposite direction on top of the first. If you take the second in the same direction, you get a granny knot which, being frictionally unbalanced, will not stay tied.

By now you may be starting to twig to the problem. It turns out that the common bow tied in a shoelace is a reef knot taken with two bights (loops in the rope) which is called a "slipped reef knot". So, very simply, if you try to tie a slipped reef knot in your shoelace and you end up with a slipped granny knot, it will come undone. So how to fix it?

Here is the secret to tying your shoes just once each time you put them on: reverse the direction of the first half knot you make. If you normally put the left over and right under, put the right over and the left under, and vice versa. Then, proceed to tie as usual. It's that simple. It will save you time, embarrassment and for some, pain. It will eliminate the ugly, dubious "double knot". Double knotting is completely unnecessary. The shoes stay tied and they look nicer.

More Information

In researching this post I ran across a site from which I got the picture, above: Ian's Shoelace Site. The site is wonderful. It covers this topic, lacing, tying (17 knots!), and many other shoelace-related areas. It is a great place for advanced shoelace studies or to see pictures of what I am talking about if you can't understand my description.

In our correspondence Ian and I agreed our independent, informal visual surveys indicate about 40% of people suffer from Granny Syndrome. Once you figure it out you might just find yourself mentioning it to friends when you spot their telltale parallel bights.

Labels: ,

Friday, October 19, 2007

I Love My Car

About a year ago I bought a new car. OK, new to me. She is about 13 years old now (yes, it is a she and her name is Inger). She is a 1995 850 Volvo Estate Turbo. I paid $4,800 cash for her and have her title.

Inger in her favorite color, red. I think she is lovely.

Her original MSRP was about $35,000. She has a full leather interior, power moon roof, CD changer, fancy climate control... lots of stuff. She is sporty, too: 222 bhp and 0-60 in 7 seconds, and passive rear wheel steering. When I drive her around, listening to say, Debussy's Estampes or Steely Dan's Aja I am happy. I have wanted a Volvo 850 Estate since 1995—now I have one.

She, like me, is a little idiosyncratic thanks to her age. But she is nice to look at and great to drive. Her quirks are just her personality and the patina of age is just character. I like to think the same of myself. Inger has 166,000 miles on her and because she is a Volvo 300,000 is not asking too much. I drive very little, about 500 miles a month. At that rate she could be the last car I own. I wonder if it will work out that way.

One of the things that makes me specially happy is that I have no car payment. I own this car free and clear. I cannot imagine taking out a car loan any more. In the past I used credit. Today I have no credit cards and no car loans. I don't own a lot of expensive items but I do really enjoy what I have. I only wish I had learned about this 20 years ago.

Labels: ,

Thursday, October 18, 2007

Learning Perl

Perl makes quick programming very easy and more elaborate things possible. It is an exceptionally flexible, easy to grow into language with an outstanding group of people using it. The Perl Community is every bit as exceptional as perl itself.

Even if you've never written a program, or if your programming experience is restricted to things like DOS batch, perl is something you can learn. If you wish you could just "hack things" when you need them, perl is a great choice.

So, how do you get started? Well, there are a lot of resources out there, some better than others. I would suggest you start with this site, which offers a nice variety of options, and that you fire up an IRC client and join us in #perl on for more interactive advice and encouragement.

I'll be looking for you.


Undoing INSERT COIN and Related Ideas


Wow. This post has seen more than 50,000 hits in less than two days (UPDATE: it has now exceeded 110,000 in three days). To say that it was unexpected is completely insufficient to describe my reaction. In any case, thanks for sharing my fun. And that's exactly what this is meant to be, fun. Not malicious, not mean-spirited, not damaging in any way. Almost all the comments I have received reflect that spirit. There are a few, however than don't make me smile (and didn't make the comments page).

Un-"hacked", and READY

First, if you came here because you were "hacked" there is an easy solution. Power-cycle your printer. That is, turn it off, wait a few seconds, turn it on. The program uses a documented, supported feature of HP's product to do something very ephemeral and undoing it is as easy as a restart.

Second, please have fun but think before you act. If it is against the culture of your office enviroment to have this sort of fun, consider not trying. You will be the only one having fun. More serious may be a violation of your company's Acceptable Use Policy which could get you in real trouble.

So, please, practice "safe hacking" and use your entire brain when choosing how to use this information.

Have fun.

Labels: ,

Tuesday, October 16, 2007

Get the Weather on your HP 4200

I mentioned, here, that I wrote a program to put the weather on the HP 4200 in our office. The program uses the perl Geo::METAR module to parse METAR weather information from NOAA. You'll need to install the module if you don't already have it (and you probably don't). Install it using ActiveState's PPM for Windows and the CPAN program (or OS package manager) for everything else. You will also need to know your ICAO airport code and the IP address of your printer.

How does it know?

You can use some sort of cron job or the Windows "at" service to run it periodically. The METAR data doesn't actually change more than once an hour so more frequent updates won't buy more accuracy. This program requires a little more assembly than the earlier one but the comments in the source should be sufficient. The code itself was a 10-minute hack and is not intended to be lovely, but it has performed flawlessly for years now. The program targets the HP 4200 but it is very possible that it will work with other large display printers as well—it can certainly be modified to do so.

I like this one because it is hackish and useful at the same time.

NOTE: Windows users installing Geo::METAR via PPM may find that the temperature variables need to be edited. If you get errors you can try making them C_TEMP and F_TEMP. I haven't tracked down why this is true, but it appears to be.

Labels: ,

Using Perl with Windows

It appears that a lot of people don't have any idea how to run a perl program under Windows. Perl runs just about anywhere and Windows is no exception. The easiest way, and the way I recommend, is to download ActiveState's free Windows Perl distribution. It is very friendly with a nice installer. Once you have it installed, the program in this post will run fine.

While you are at it, download a copy of the free Komodo Edit code editor. I have been using it a lot lately and really liking it. It is responsive and has a nice feature set. Since it provides background syntax checking and tool tips with syntax it actually makes learning perl easier. It understands quite a few file formats, so it is good for more than perl.

Labels: ,



Can this silliness be used for good? Perhaps...

It is amazing how unaware some people can be. This little perl program allows you to set the "Ready Message" on HP printers to whatever you'd like. (if you want to run it under Windows, and don't know how, read this.) I wrote it after coming across the command in an HPPJL (HP Printer Job Language) reference manual I was reading for some reason that I now forget. Thanks to the flexibility and power of perl, it was a no-brainer to play with the new information. (Maybe you should consider learning perl?)

I want my ready back!

Well, of course I couldn't ignore such an opportunity, and it turns out to be a lot of fun. You can think up your own funny, confusing or scary messages. My personal favorite is "INSERT COIN" which fits perfectly on the small LCDs. You can even sit in sight of the printer and change the message while watching the reaction of your victim (or reading about it). Don't be surprised, though, if a large fraction don't even notice. I was quite surprised myself but, it appears, some people don't look at what is in front of them.

I wrote a more elaborate version that takes advantage of the HP 4200's larger, four-line display. It sends the current weather conditions which I grab from NOAA using the perl Geo::METAR module. It updates every 10 minutes. Amazingly, while many people noticed the report on the printer display, no one questioned it!

Read more »

Labels: , , ,

Sunday, October 07, 2007

The Lesser Arts of Life

In the last quarter of the nineteenth century the Industrial Revolution had a dramatic impact on the lives of traditional artisans and craftsmen. Factories appeared turning out cheap, identical wares which aped the possessions of the rich. Fake porcelain, fake ornamental furniture and other goods made to appear posh flooded the market. The makers of traditional pottery, furniture, clothing and the like intended for sale to the average person, found themselves with no choice but to take factory jobs. These jobs paid less and offered little satisfaction.

William Morris 1834-1896

In response, the Arts & Crafts Movement was founded. William Morris is acknowledged as its father. Morris had a vision for a better way to provide the necessities of life to the average person. He reviled the factory-made goods as soulless and ugly. He looked for meaningful work for the masses. In his essay "Useful Work versus Useless Toil" he begins:

The above title may strike some of my readers as strange. It is assumed by most people nowadays that all work is useful, and by most well-to-do people that all work is desirable. Most people, well-to-do or not, believe that, even when a man is doing work which appears to be useless, he is earning his livelihood by it - he is "employed," as the phrase goes; and most of those who are well-to-do cheer on the happy worker with congratulations and praises, if he is only "industrious" enough and deprives himself of all pleasure and holidays in the sacred cause of labour. In short, it has become an article of the creed of modern morality that all labour is good in itself - a convenient belief to those who live on the labour of others. But as to those on whom they live, I recommend them not to take it on trust, but to look into the matter a little deeper.

Ultimately, Morris became a Socialist. It is a logical progression but not, for me, important. Instead the Arts & Crafts movement itself is what I find so valuable about his thinking. The movement spawned groups in the U.S. as well. Here, the Craftsmen Movement and the groups associated with it (some of them utopian communities) set out a comprehensive aesthetic system which covered the furniture, textiles, pottery, jewelry and other items they produced. They were in direct competition with the factories and produced beautiful work intended to be within the reach of the average person. Ironically, today their work is unaffordable except by the wealthy.

In 1882, Morris delivered a speech to the Society for the Protection of Ancient Buildings in London. He called it The Lesser Arts of Life and in it he laid out much of his thinking about the aesthetic of the Arts & Crafts movement as well as not a little history of artisanship. It is long and not particularly easy to read but I find the trouble worth it. It has the ability to provide a new perspective on "making a living". What Morris says, in principle, about the work of artisans applies to all creative workers including programmers, system administrators and anyone who creates a unique work product as their "living". Read it and think about it, you might find something to help make the work you must do something worth doing.

Labels: ,