zing!
If I ever open a Beatles-themed day-old bread store, it will be called "Yeasterday"! Bada-boom!
zing!
If I ever open a Beatles-themed day-old bread store, it will be called "Yeasterday"! Bada-boom!
Unintentionally funny DVR episode synopses #243
"Property Virgins. 'A Woman Who Survived a Lightning Strike Is Shocked by Real Estate Prices' Home prices shock a lightning-strike survivor."
random thought
Hardware is just software you can't change.
how to slice a sandwich
What's your preferred sandwich slicing angle? Vertical (shortest cut), Diagonal (longest cut), or Horizontal (medium cut)?
I have always been a diagonal cut man, myself. That's how mom did it. I don't like the way vertical cut sandwiches taste. But currently, I'm more interested in whether *anyone* does the horizontal cut... I don't think I've ever seen that outside of the laboratory.
Perhaps geometry is at work here. Diagonal ...cut sandwiches represent right triangles, which are pretty cool -- arguably more important than parallelograms, since parallelograms can be made from triangles. And of course, 3 is the magic number.
But also, notice that the golden ratio of 1:1.62 appears in vertical cut sandwiches, but does not appear in horizontal cut sandwiches. In our experiments here at Tastytronic Labs, our sample bread measures about 5.25 by 4.25 inches (the units of the United States of America!).
A vertical cut sandwich is roughly 2.63 x 4.25 inches, while a horizontal cut (known as "the devil's cut" in medieval times) results in a sandwich that is ~2.13 x 3.44. By applying the golden ratio (1:1.62) to 2.63 (vertical cut sandwich width), we get 4.26 -- almost exactly the vertical cut length. However, applying it to 2.13 (horizontal cut sandwich slice width) we only get 3.45 -- considerably less than the horizontal cut slice length.
And thus we find a possible explanation for why the "horizontal cut" is so rare. It's at least safe to say that Aristotle's mom did not cut sandwiches horizontally.
libconfig problems in Debian and Ubuntu
Are you still using Hardy Heron? Have you had issues using libconfig -- a configuration parsing library by Mark Lindner -- in Debian or Ubuntu? Here's why. Turns out this has been solved in later releases.
getopts -- another one for posterity
Just a little addition to posterity about getopts. 'getopts' is a handy bash builtin that parses parameter strings. It exists so parameters can be processed in a consistent way, and so you don't have to reinvent the wheel every time you want to use command line switches. It's part of POSIX, is really pretty easy to use, and many languages have libraries which work in a similar way. Anyway, there are many tutorials online, but the one at bash-hackers.org is the best I've seen for bash.
I was inspired to write this post because I've been wrestling with a problem. I used getopts inside a function that I was using for logging. It just wasn't working right and the behavior was strange. The answer, which perhaps should have been obvious in retrospect, is that getopts uses a variable, OPTIND, to index into the parameter list. You can use OPTIND to "shift off" the options you found with getopts, leaving the remainder.
This works great if you run getopts once, at the beginning of a script. But because of bash's scoping, if you use getopts inside a function, the value of OPTIND remains where it was left at the end of the previous getopts execution. So, if you're going to use getopts inside a function, you should reset OPTIND when finished or, to be safe, at the beginning of the function before running getopts.
I'm so glad I spent a few hours chasing that one down.
mairix rocks
If you're like me, and if you're reading this there's at least a possibility you are, you don't keep your email at Gmail or in Thunderbird of Mail.app or wherever -- you keep it the way Ray Tomlinson intended -- on a server where you read it in plain text format. I use mutt with mboxes, but there are a lot of other possibilities. Anyway, after 10 or 20 (or more!) years of archiving your mail, it sometimes gets hard to find what you're looking for. Well, mairix is just the tool for you -- it incrementally indexes messages, and returns search results as a folder of messages for you to look it. It's free software, it's fast, and available in Ubuntu.
ah, time for my yearly smattering of blog posts
Annnnnnnnnnd we're back.
Today's hot tip:
@filearray = <FILE>;
...is a bad idea if <FILE> is rilly large!
Thank you good night.
(No Perl jokes, please.)
disabling the caches in Linux
Sometimes you'd like to disable the file (and other caches) in Linux for performance testing reasons. Well, now you can. Simply:
To drop pagecache only, enter: echo 1 > /proc/sys/vm/drop_caches
2 is dentries and inodes only, and 3 is pagecache, dentries, and inodes. You can easily whip together a little script to drop caches regularly enough to simulate running with no caches.
(This information is also under "drop_caches" in linux/Documentation/filesystems/proc.txt.)
"You wouldn't like me when I'm angry..." OR "Dr. Jekyll and Jiminy Cricket"
I'm a collector of odd facts. I remember hearing this one some time ago, about how grasshoppers morph into brutal locusts under certain conditions but I find that often the "facts" you hear word of mouth aren't always factual. (Unfortunately, a lot of facts in those 1001 Fascinating Fact books are often wrong too... I've thought of writing a 1001 Fascinating Falsehoods [you thought were facts!], but I'll just have to add that to my to do list.)
Anyway, it's true!. I guess grasshoppers are the poster-insect for serotonin induced mania.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!