Chip's Quips
A tiny spark of wit for a highly flammable world

No Such Agency has this kind of information

January 25th, 2006 7:31:19 pm pst by Sterling Camden

This one made me laugh so hard I nearly required a change of clothes: Editing Tips from the NSA. The geniuses at NSA warn that placing black boxes over text or images in Word or PDF files may not successfully hide the information. Brilliant! I never would have guessed.

My father worked for NSA back in the Cold War, and although he never could tell me everything they did, I was given the distinct impression that some of the best minds in the USA were dedicated to the cause of learning Russian so the rest of us wouldn’t have to. After reading this article, I’m left thinking that NSA must stand for Needs to State the Apparent. Perhaps letting them listen in on our phone calls is more innocuous than I first thought.

Tags: , ,

Posted in Get Outta Here | No Comments » RSS 2.0

Synergy/DE ActiveX list columns

January 25th, 2006 6:11:04 pm pst by Sterling Camden

Here’s one on ChipsTips that Synergy/DE developers on Windows might appreciate: Determining the ActiveX list column of a field. The ActiveX list contains a number of methods that take column number as an argument, but there is no easy mapping of a Toolkit field to a column number…until now.

Posted in Coding...OK? | No Comments » RSS 2.0

HACCing away in the Ruby mines

January 24th, 2006 8:26:52 pm pst by Sterling Camden

As another exercise in Ruby, I converted my HACC string compression algorithm. You can find it here. My first two versions of this algorithm were written in C++ and C#. As expected, the Ruby code is shorter (168 lines of real code) and more readable than either of the other two languages (191 lines and 217 lines, respectively, not including comments and blank lines). If the C++ version were implemented in an Object-Oriented model, it would be longer. Instead it’s basically just a C API. The C# version corresponds pretty much feature for feature with the Ruby version.

Just getting started with Rails, but so far it is pretty impressive. I’ll withhold further judgement until I get a chance to see how well it extends to not-so-cookie-cutter web applications. I’m also a bit concerned about performance. I realize that a good part of this may be that I’m using WEBrick (which apparently is also written in Ruby). We shall see.

Posted in Coding...OK? | No Comments » RSS 2.0

Pup Perambulations

January 24th, 2006 4:02:39 pm pst by Sterling Camden

In the fall of 2003, I began walking about 2.5 miles every morning. It has worked wonders for my health and general view of the world. Combined with a change in diet (which I’ll discuss in a later blog) I was even able to get off of my blood pressure medication, to the utter shock and amazement of my doctor. Since we moved, my new circuit is 3.5 miles.

Last spring we acquired a new yellow lab puppy named Halley (after Halley’s comet). She now accompanies me on my “walk” — which has since become a “run, stop, sniff, repeat” (although I personally opt out on the sniffing). She’s really giving me a work-out. Sometimes we make the whole loop in less than 30 minutes, including stops.

And the stops can sometimes be for several minutes each. To a dog, sniffing a scent is like reading the news, or a letter from a friend, or maybe even a novel. Sometimes Halley lingers over one spot, savoring the varied imagery, appreciating the understated allusions, meticulously deconstructing the many-layered metaphors; until with a quick pull on her Gentle Leader I wake her from her literary reverie to proceed on our more pedestrian journey.

The other day she was trotting along, nose to the ground. Obviously she was enthralled by some series of mini novels, the ending of one leading so temptingly to the beginning of the next that she proceeded eagerly along through them all. Then suddenly she stopped, recognizing, in mute awe, that she had reached a volume whose depth and breadth of expression far exceeded its predecessors; the one masterpiece in the whole series: a pile of racoon dung. “Sorry, Halley, that book has been banned from further perusal. You’ll have to content yourself with reading the acknowledgements, and then lay it aside.” For the rest of our walk, she was a forlorn and pitiable pup.

Posted in Get a Grip | 10 Comments » RSS 2.0

Clemens still striking ‘em out — 100 years later

January 20th, 2006 4:09:51 pm pst by Sterling Camden

I’m finally getting close to finishing The Complete Short Stories of Mark Twain, Charles Neider, ed., Garden City, NY: Doubleday & Company, Inc., 1957. I’ve been pecking away at this volume over the last six years, reading a short story here and there as I have time.

While Twain generally belongs in the “snacks” category of the literary food pyramid, I do enjoy his work immensely. For some unexplained reason, Jane Smiley in 13 Ways of Looking at the Novel, New York: Alfred A. Knopf, 2005, thinks that Huckleberry Finn was boring, but I personally find Twain entertaining in all his works. BTW, I thoroughly enjoyed Smiley’s book. It was very informative and enlightening, and this was one of her few points on which I disagree.

One of my favorite comic devices that Twain employs is the dialogue between two individuals on a subject that neither of them knows anything about. For instance, in A Horse’s Tale (1906), two horses are discussing how to classify a dog they both know:

“The Seventh Calvary dog. I mean, if he is a dog. His father was a coyote and his mother was a wild-cat. It doesn’t really make a dog out of him, does it?”
“Not a real dog, I should think. Only a kind of general dog, at most, I reckon. Though this is a matter of ichthyology, I suppose; and if it is, it is out of my depth, and so my opinion is not valuable, and I don’t claim much consideration for it.”
“It isn’t ichthyology; it is dogmatics, which is still more difficult and tangled up. Dogmatics always are.”

This section stretches on into further falacies on the part of both parties, until they conclude that the dog in question must be a reptile.

The humor in this lies in the fact that we have all participated in or witnessed conversations where one or both parties make assertions and deductions that lie well out of their range of knowledge. On another angle, though, many of Twain’s readers didn’t understand these terms, either, and so he may have been playing a joke on them. It seems that he was fond of doing that. In A Double-Barreled Detective Story (1902), he begins section 4 with:

It was a crisp and spicy morning in early October. The lilacs and laburnums, lit with the glory-fires of autumn, hung burning and flashing in the upper air, a fairy bridge provided by kind Nature for the wingless wild things that have their homes in the tree-tops and would visit together; the larch and the pomegranate flung their purple and yellow flames in brilliant broad splashes along the slanting sweep of the woodland; the sensuous fragrance of innumerable deciduous flowers rose upon the swooning atmosphere; far in the empty sky a solitary esophagus slept upon motionless wing; everywhere brooded stillness, serenity, and the peace of God.

This prompted a number of letters to Mr. Twain asking for an explanation about the esophagus. Twain wrote a letter to the editor of the Springfield Republican (that first published the story) to respond to these. In it he notes that the readers were completely unaware of all of the other absurdities he managed to sneak into the paragraph, and laments,

Alas, if I had but left that one treacherous word out, I should have scored! scored everywhere; and the paragraph would have slidden through every reader’s sensibilities like oil, and left not a suspicion behind.

And I told him (an inquirer) to carefully read the whole paragraph, and he would find not a vestige of sense in any detail of it.

So it seems that Twain, ever the prankster, likes even better the joke that only he can enjoy. Or did he slip in the word esophagus intentionally so he would be found out, and have the pleasure of revealing the joke?

Posted in Bound but not Gagged | 2 Comments » RSS 2.0

Tapping the Heels of my Ruby Slippers

January 19th, 2006 7:09:00 am pst by Sterling Camden

Did I mention that I’m jazzed about the Ruby programming language? Oh yeah, over here. Well, in order to test out the capabilities of the language, I decided to write an expression processor. It’s posted on chipstips.com.

Of all of the expression processors I have written over the years, this one definitely packs the highest functionality:code ratio. It can be made to evaluate many different types of expression. Operators and functions can all be defined by the client program, which also manages associations between identifiers and their values via a code block. It handles algebraic, Polish, Reverse Polish, or mixed operand/operator order.

All of this was accomplished with only 260 lines of code, including mix-in modules to easily enable support for the “standard” sets of operators (grouping, assignment, arithmetic, Boolean, and last result). Perhaps some Ruby gurus can improve on this or reduce its size, but I’m pretty happy with the result. It showcases several of Ruby’s unique features, such as code blocks, mix-in’s, reflection and dynamic method invocation.

I realize that in the sample client application I could have simply extended the ExpressionProcessor class with the included modules, rather than deriving a new class first. That’s fine so long as you know your code is the only place in the application that will be using this class, but personally it rubs me the wrong way. In an enterprise application, that seems like asking for trouble. I can see extending existing classes for things like debugging and instrumentation, though.

Ruby has given me a new outlook on programming languages. Somehow, Toto, I don’t think we’re in Kansas anymore. Next, I’ll investigate Ruby on Rails to see whether that’s a Good Witch or a Bad Witch.

Posted in Coding...OK? | No Comments » RSS 2.0

Groupwise: unwise

January 18th, 2006 12:58:53 am pst by Sterling Camden

To satisfy a client’s requirements to interface their software with Novell’s Groupwise, I have been setting up Groupwise (for days now). All I can say is, I sure am glad I’m using Microsoft Virtual PC instead of attempting this on my local “real” server.

First problem: the installation requires the Novell Client. Don’t know why, but OK. So I go to download a Novell Client for Win2003 Server. Nada. Call Novell pre-sales support. They don’t have a Novell Client for 2003, according to the nice, potentially underinformed young lady I spoke with. This, even though they list 2003 as a supported platform for Groupwise. So far, not impressed am I.

So, I start with a fresh virtual machine, this time using Windows 2000 Server. Download and install the Netware Client. Here’s where Virtual PC saved my bacon. The Netware Client takes over the system login! It’s a member of the collective! Resistance is futile!

OK, fine, at least it’s in a virtual machine. So, let’s install Groupwise. Wait, we have to install ConsoleOne (in fairness, at least they gave me a link to install it at that point). I have no idea what this is that I’m installing, but I’ll walk my way through it and see what happens.

Lesson here, Novell. Keep it simple. Make it easy to install with default settings, and then provide control panels for tweaking the details. This has been far too complex already, and I don’t know how much farther there is to go. Even though I read the Installation Guide, there have been several unexpected surprises. I’ll update this post as I learn more (hopefully not from hard experience).

Posted in Get Outta Here | 6 Comments » RSS 2.0

Wherefore Art Thou, Technology?

January 17th, 2006 11:58:23 pm pst by Sterling Camden

For the first time in a while now I am feeling technology-starved. Not just in what I have, but in what is available anywhere at any price. As usual, software is the culprit. Throughout the history of computing, software and its potential have periodically outrun advances in hardware technology. I was sailing happily along using five computers for business and pleasure, and then along came Microsoft Virtual PC. Magic. Now I can run several different test systems without having to use Ghost to switch back and forth. That starts me thinking about virtualization and its future.

My wife and I want, at some not-too-distant point in the future, to be able to live at maybe three different places around the globe at different times of the year. I figured on consolidating my business down to three notebook PC’s: server, workstation, and test bed. Well, now that I am using Virtual PC, it occurs to me that one notebook could do. I could even have more than one virtual server to ease the headaches of managing servers that manage to find conflicts between server components. For instance, I could keep MS SQL Server in a little padded cell of its own, so it doesn’t eat the lunch of every other process on the system. I could have a dedicated virtual server for a copy of each of my client’s applications, so I won’t get any cross-over interference. My only problem now is finding a notebook that can provide the horsepower to run all these virtual machines. I figure I need several gigs of RAM and probably 200GB of storage to pull this off adequately, not to mention some pretty swift processors.

Looks like I might get a little help from Seagate on the storage front. CNET News reports that Seagate has started to ship a 160GB notebook drive based on perpendicular storage technology. Keep ‘em coming, Seagate. Competitors welcome, too.

What might also help: could Microsoft make Virtual PC able to share memory between virtual machines? They did it with storage: you can have a 16GB virtual hard drive that really only eats up the 2-4GB actually used by the machine and grows as you need more. I think the hurdle with memory is that the OS’s wouldn’t understand how to address a variable amount of RAM. So, perhaps the next generation of OS’s can be made more virtualization-aware? That’s my wish, as I expressed in my comments on apotheon’s blog on this subject.

Of course, as soon as I get this setup perfected, we’ll get another round of software innovation that renders it perfectly unusable.

On a slightly different subject, TDavid laments about ‘coming soon’ technology in his blog. He hints at the (IMHO)inevitable merging of TV and PC media. I see no reason why this shouldn’t happen, other than the significant investment of providers in their existing networks. Not to discount the power of money, but when the gold dust finally settles and the market demands that these artifical boundaries be overcome, they shall. The only question is, how long will we have to wait?

Posted in Geek Meditations | No Comments » RSS 2.0

Blogging, the new Information Medium?

January 13th, 2006 11:19:49 pm pst by Sterling Camden

In my first entry, Blog 0, I mentioned that one of my goals in creating this blog is to explore how blogging affects the cyber-world and life in general. Some thoughts from TDavid at MakeYouGoHmm.com in his blog “Your mother wears army boots” caught my attention. TDavid was having trouble getting any response from ZDnet on an e-mail he sent them, so he decided to blog about it. Apparently, search engines alerted ZDnet to their slightly negative on-line exposure, and prompted an almost immediate response (alas, in the negative). But TDavid made the point that perhaps e-mail is a broken system. It’s easy to ignore, because it is easy for it to get lost in SPAM filters or just among the Inbox clutter. Blogs are more permanent, public, and searchable. With Google and others tuning up search engines to new heights of performance, it also becomes a more instantaneous and global form of communication. Who knows what more unified forms blogging may evolve into. Perhaps some variant will become the communication form of choice for the future. If only we can kill splogging.

Secure, private blogs would be a more reliable and permanent forum for intra-corporate or inter-corporate communications. Perhaps some corporations are already doing this?

Posted in Blog Blog | 2 Comments » RSS 2.0

Sterling Comments

January 13th, 2006 12:16:34 am pst by Sterling Camden

OK, those of you who don’t know me must be wondering, “Why is this blog titled ‘Chip’s Quips’, but the main entries are logged by ‘sterling’?” Sterling is my formal name, and I usually use it for on-line identity. Chip is a nick-name I received as an infant, and it has stuck around ever since. The name Sterling actually goes back in my family to before the Civil War in Virginia. My father, grandfather, and great-grandfather all had the same name, so that’s why I needed a nick-name. Now, sadly, all the Sterlings except me and my oldest son (who also has a nick-name) are gone, but somehow I haven’t managed to adopt the name “Sterling” for daily use. It’s kind of like wearing a suit when jogging. I tried it once at the University. In Hebrew class we didn’t speak much English. The first day’s roll call came out “Sterling!” as usual, and since there wasn’t anybody in the class that already knew me, I didn’t bother to inform them of my nick-name. I went two semesters in Hebrew before anybody from that realm had occasion to speak with me in company with anyone who knew me as “Chip”. The result for me was a kind of split persona, so I haven’t attempted such a stunt since. It’s actually kind of handy to have a formal name and a casual one. I can say things as “Chip” that I might not want to say as “Sterling”, because if I dirty the latter name it would have to be at the dry cleaners for a week. “Chip” can go in the washer with hot water and bleach.

Tags: ,

Posted in Blog Blog | No Comments » RSS 2.0