Archive for December, 2010

Vacation in Tennessee

December 9, 2010

So we were just gone for five days and four nights to Nashville, TN, and the area, including Franklin.

We stayed first at the Gaylord Opryland.  We wanted to see how they had remodeled after the flooding – it was almost as if it had never happened – at least we couldn’t tell.  The beautiful gardens were as grand as we remember, better because we knew they’d re-done so much.  And we had never seen the Christmas display – the lights, and “Snow!” (we laughed), and “Ice!”  The last was incredible, rivaling our Winter Carnival ice sculptures.

We ate at the Pancake Pantry – I’m glad Lana found this, it was almost the best meal we ate there, and very popular w/ the locals.  Sunday night we ate at the Hard Rock Cafe, which was redecorated even before the flood.  (We didn’t eat at the Waffle House, but maybe next time…)

The things we do on vacation: we looked for shoes for me, hitting two malls, and not finding what I was looking for; and we made an unexpected stop at a Walgreens Take Care Clinic (everyone is fine).

We also ate at the Loveless Cafe, but I didn’t realize, until we were on the way, that is was quite a distance from Nashville – oh, the GPS told me so, but we were already on that side of town, thanks to our “mall-hopping.”

Tuesday, we were in Franklin most of the day – ate lunch at Puckett’s Grocery and Restaurant, and walked the downtown/historic streets, but were sad to see that Gray’s Pharmacy was closed, or looked so.  We had supper that night at Cheddar’s.  We actually ate there first in St. Joseph w/ my aunt and uncle, and we liked it so much we sought it out again.

By the way, did I say we flew Southwest?  If you check in via FB Places, they’ll donate to Make A Wish.

The safety speech got funnier and funnier.  The first leg, MSP to MDW, the flight attendant was kind of a snit, as my wife would say.  But the 2nd leg to BNA [Berry Field, NAshville] was hilarious!  And the first leg back was funny, too.

There are six exits aboard this plane: two in the front, two over each wing, and two in the rear.

In the event of a water landing*, please take the life-vest that looks like a toilet seat cover from under the seat and put it over your head, pull on the string to inflate.  If that doesn’t work, blow in to the tube at the top, if that doesn’t work, I hope you know how to swim really good.

*On the way back from Nashville, she pointed out that there’s a really big body of water near Chicago 🙂

We don’t expect a loss of cabin pressure on the flight today.  If we had, we would’ve all called in sick.  But if there is, a mask that looks like it was designed by Ralph Lauren will drop from overhead, please put it over your head and your big nose, and breath normally.  If you’re flying with children, or your husband – in some cases that’s the same person – put on your own mask before assisting them.

Smoking is not permitted on this flight.  Do not tamper with the smoke detector in the lavatory – or the webcam…

I’m not doing justice to either of the two, and I’ve combined the two into one.  Like they say of all good humor, “you had to be there.”  It absolutely made our day, both times.  I told the second one that I’d almost pay to have it recorded

Now sit back and relax, or sit forward tensely, I don’t care – you’ve already given us your money. 

If there’s anything we can do to make your flight more enjoyable, please find one of the flight crew and offer us twenty dollars…

If you listened to all of these instructions, thank you; if not, good luck because you’re on your own.

 

Now I’m back, and I’m going to try installing Haskell next, because I have Clojure working, and doing what I want.

Clojure self-modifying code

December 2, 2010

One of the advantages of having my computer, and all software, re-built is the opportunity to start over.

I just re-installed Clojure.  I seem to have a backup of one project I was working on, but haven’t looked at how recent, so I’m not sure how much I saved or lost.  That aside, I thought I’d do an experiment in self-modifying code.

This is not exactly what is meant, but in a sense it is:

(def f '(fn [x] (+ x 5)))
(def add-some (eval f))
(println "add-some a func?" (fn? add-some))
(println "result =" (add-some 13))
(def l (first (rest (rest f)))) ; one short-cut
(def l2 (cons (first l)
	      (list (first (rest l))
		    7)))
(println "re-defining, kinda cumbersome, but this is only an example")
(def f2 (list 'fn '[x] l2))
(println "original list was:" f)
(println "new list is:" f2)
(def add-more (eval f2))
(println "new function result =" (add-more 13))

So what is this code? what does it do?  I define a list named f (note the single-quote at the beginning — this says don’t evaluate the list, but store it).

Then I define a function (similar to defn, but expanded) using eval of that list; testing that it is a function, and using it (the result is 18).

Next, I “modify” the list [actually, I create a 2nd list], and “re-define” the function.  Well, it’s not exactly what I was after, but I am going to “publish” my result for now, maybe add more later…

Knowing how way leads on to way
I doubted if I should ever come back

Ah, well.  If you, my dear reader, should ask questions, I’d be more than happy to answer them.

A short paragraph explaining why I blog: there are two reasons.  The first is for my own personal record of what I did, or didn’t do.  The second is if someone finds entertainment, education, or some sort of connection with what I do, then please leave a comment so I know you’re out there.
I think I would write more, and more often, if I knew I had an audience.  Or maybe not, but at least I’d have a better focus than what I just wrote.