Everyone knows engineers can’t write! I is an engineeer, but…

I Wish I Could Write

Why such a stupid domain name? The personal blog of Steve Alex

A New GolfGaggle Version

Gee, almost another 2 years have gone by!zz

Anyhow I’ve been playing with a new version of GolfGaggle.com, my learning rails application for well over a year, trying to get the group I now play with move move off of their DOS command line application. Still not sure they are going to use it, I may have too many bells and whistles.

My old site was in Rails 3.x and I’ve been doing most playing with rails 4.x. Rather then upgrade, I started from scratch. Tried different approaches, but it ends up being about the same structure, just a lot of cleanup and replacing my css with mainly Zurb Foundation. Therefore the new application is phone and pad friendly (responsive).

I had it just about all done and put a development version on my MacMini server for the current group to test. I at least got them to look and it, but nothing close to testing, so I decided to get it ready to deploy and put in production. That’s where I got overwhelmed. I vaguely remember how to deploy on a Mac server, but wanted to upgrade the OS and a few other things. The last thing I did was on linux and while I didn’t want to abandon the Mac, I decided to try and see how long it took me to put it on a VM cloud server. About three mornings! I got an account with Digital Oceans a couple days ago and had the Debian environment up in a matter of hours with Postgresql, Unicorn, Nginx and rbenv. They all worked, or at least installed, but then started to run into little problems.

After I got rails installed, I tried a new rails application just to see if I could hit it. Postgres had a problem with locale. Debian installed with en_US and Postgres wanted UTF-8. That took a few hours of searching and fixing.

I then added Capistrano using my other linux project as an example. That was surprising easy. I was skipping between Digital Oceans tutorials and others, mixing things together. Of course that had problems. An example using rbenv would deploy, but not run. Spent another morning getting some stuff to work. I could bring it up under webbrick, but not unicorn.

This morning I got it all working. All those mixed gists on the configuration files for unicorn.rb, unicorn.init and init.d had to be tweaked because of Capistrano. I know I had almost everything there, but couldn’t get bundle exec to work. The final fix was found - I also had the same problem with another site and I kludge fixed it. I found a better approach. In the init script I changed this:

CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"

with this:

CMD="cd $APP_ROOT; ~/.rbenv/bin/rbenv exec bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"

Something about how rbenv and init.d work with executing as root, Whether rbenv in is .bachrc or .bashprofile. This basically fixes it!

All seems to be working fine. I even added this Octopress blog that I have not touched in a while without any problems.

Pan Seared (Blackened) Salmon With Asparagus Cream Sauce

I’ve not written much in this latest attempt at a blog, but I can’t believe I don’t have a food category. Guess I was trying to stay with thoughts (politics) or techie stuff, but I love to cook - sometimes.

Now my kids, grandkids, and wife like for PopPop to cook. At least there are a few recipes that I usually don’t try too much experimenting with and are requested. I’ll start off with one of my, and Jan’s favorites. Pan seared salmon with asparagus cream sauce. This is a simple dish if you can get fresh (or freshly frozen - not processed salmon) with skin. Prep, about an hour and cooking about 15 minutes.


Cut salmon into serving size filets (2-3 inch pieces). Season with salt, pepper, and whatever (Cavender’s and Tony Chachere’s are my staple seasoning) and enough olive oil to coat. Set salmon aside and let it marinate until approaching room temperature (the hour prep).

Asparagus Cream Sauce

Get a cheap can of cut asparagus tips and stems or better. I’ve tried this with fresh asparagus, but not worth the effort to deal with the fiber. Canned asparagus works better!.

Working in a soup kitchen and eating processed food for most of my life, don’t be freaked out, but:

  • Drain canned asparagus liquid into a small frying pan and set aside drained asparagus
  • Add about a tablespoon of butter to drained liquid and reduce until about a half
    • Now someone at Libies, Del Montie, Green Giant or whatever brand you used added some seasoning and preservatives to the water for some reason. There is some flavor in the liquid and you are just getting rid of the water and preservatives.
  • Add about a cup of cream (heavy!) and start reducing until about a half
  • Add the asparagus and cook down until small bubbles in cream.
  • Put results into food processor and blend into a heavy cream sauce

Sear (blacken) Salmon

While cream sauce is reducing:

  • Add a little olive oil to hot pan and heat until almost smoking. I do 75% of searing in a cast iron pan.
  • Add salmon filets flesh side down! I like the skin crusty and find that skin side down first often leads to the skin sticking. Starting with flesh side seems to work better for me since the pan gets hotter and skin does not stick to pan when turned over.
  • Flash fry until slightly blackened. Reduce heat to medium and turn salmon over.
  • Fry until medium rare to medium (touch flesh and and still some bounce - not hard)


Remove from pan and add a little asparagus sauce over seared salmon.

Just the seared salmon if fine, but the asparagus cream sauce seems to remove a lot of dislikes for salmon. My Mother say she hates salmon, but I’ve made this for her a number of times and while she still says she hates salmon, she cleans her plate. Maybe she is just being a mother, but I don’t think so!

Usually server with steamed rice and salad, rice pilaf if I have time.

Don’t over cook salmon. I’ll eat it medium rare, but there should be some moisture left in the salmon or it is like canned tuna!

Why I Don’t…

…do some stuff very often!


It just takes too long! Maybe I don’t have much to say, or just can’t explain it very well.


Why all this measuring crap? I love to experiment with cooking - a little of this and a little of that. Some things turn out great, others not so great. Baking is an area where experimenting usually leads to disasters, I therefore avoid it.

But I like Rhubarb Pie. Grocery shopping in Gadsden sucks. Can’t find weird stuff, so my semi-annual rhubarb pie has been every other year or so. Then I discovered that Dole has frozen rhubarb - showed up at the soup kitchen, probably from Walmart - didn’t sell, so we got it. Took a few packages home and made a Strawberry-Rhubarb pie with a no experimenting recipe - including store bought crust.

Not the prettiest lattice, but I wasn’t trying to sell it, just eat it!

Then there is this kraut oven I bought that I absolutely hate. The recipe called for a preheated 450 degree oven for 10 minutes, then down to 350 for 30 minutes. The hated oven seemed to take forever to come up to temp, that’s if I remember to hit the start button after I pick the function! It’s as bad as having two buttons on a mouse - no feedback that you have to do anything other than pick a function. Then I discovered the function fast convection that will get the oven up to 400 in a couple of minutes. Hell I try that - works great with chicken wings!

After it beeped at 450, threw in the pie and set the timer for 10 minutes. After about 5 minutes, I smelled something - my pie burning!

Burned Pie

I guess fast convection turns on the broiler element and I had put the pie in the upper level of the oven. All was not lost. I do have a carbon deficiency - at least I like burned popcorn. Scraped off the really burned parts and it had just the right amount of carbon. Jan even said it was fine.


I’ve hated gardening since I was a kid and Grandmother would have me weed her gardens. Actually I don’t hate gardening, just weeding - and I can grow a lot more weeds than stuff you can eat.

Tried tomatoes again, this time from seeds that I harvested from probably the only good tomato I ate last year. Had way too many plants and too lazy to repot. Just planted a bunch and threw the rest away (well I guess I just let them die in the potting pot). They took off great in the spring. Then came summer and the weeds. Did a couple rounds of weeding but basically concluded that this was too much work! Harvested a few tomatoes and they were good. Then the slugs decided they liked the tomatoes, so I just let the weeds take over and said I’ll try it again in a few years.

When I went home in June, I was talking to my Cousin Paul from San Diego. He married a hippie, sweet girl - artist - changed my cousin (probably saved him!).

Paul Les and Paul Paul, Leslie and Junk art.

He is also a cooker and got into growing stuff. He told me about his horseradish patch and how simple it was. I remember grinding horseradish as a kid. Now they have food processors and I like horseradish on a few things (especially really pungent stuff like wasabi). Saw a big root at the store and brought it home and threw it in the fridge after I processed part of it, figuring I’d plant the rest of the root. About a month later I found the root at the bottom of the vegetable bin growing little green sprouts. Dug a couple holes in my weed garden and planted them.

In a couple days the spouts were tuning into leaves. In a week I had leaves. In another week I had big leaves. Hell, maybe it’s something I can grow! Wondered if you could eat the greens. Chewed on one. Just like collard, mustard and other green stuff - tasteless unless you add bacon and hot pepper sauce.

About a week later I go check on the horseradish and no leaves! Just stems and ribs! Something ate my leaves. Didn’t see anything at first but then yesterday I found a bunch of caterpillars munching on the remaining stems. Googling pointed to cabbage caterpillars. They seemed to love it, maybe they are getting high on it since they now trying to eat the stems!. Maybe I should have dried the leaves and tried smoking them!

Horseradish1 Horseradish Horseradish2

Again all is not lost. The roots don’t care that much about the leaves, they’ll pop out again when it decides it needs a little sun. We’ll see next year. Of course I’m on my second year of asparagus. Think I had two stems in that time.

Weeds and even a late tomato and some asparagus. There was even some chives and mint in there somewhere. Even some wine grapes turning into raisins.

one two two two

Gardening is kind of like fishing, way too much time spend for so little reward. Coding and golf you get immediate results, but then I just waste time writing stuff that nobody wants and golf is not the same as it was with the Gaggle.

Think I’ll go eat worms, maybe caterpillars!

See Spot Run

Playing around with my Take engine, which is probably going to be renamed to Assessable when I’m down. I’ve played around with evaluating or score text input, either by a contains match or a numeric match.

Draft markdown overview.

Text Evaluation

Text entered in a text field or text area can be scored. The text_eval field in the answer record allows you to set a formula to evaluate the answer that comes in from the assessment form. There are two methods of evaluation: Contains and Numeric.

Numeric Evaluation

Numeric evaluation allow you to see if the answer entered, converted to a number, matches the text_eval field, also converted to a number. This is primarily for use with floating point number. The formula optionally has a delta range value that allow for decimal point precision.

An example question:

  • What is the value of Pi, rounded to 4 decimal places?
    • text_eval set to “3.1416”
    • Only an input of “3.1416” will evaluate to true.

There are some potential problems using floating point number. Some number when converted from text will not be exact.{example?}. To guard against that, you can provide a delta value that will be added to and subtracted from the converted number and a range checked.

  • What is the value of Pi, rounded to 4 decimal places?
    • text_eval set to “3.1416::0.00001”
    • the input of “3.1416” will evaluate to true if after conversion it is in the range between 3.14159 to 3.14161.
    • The :: (double colon) delimitates the match section from the deltas section

You can also provide an optional partial credit percentage, represented as a whole number percentage.

  • text_eval set to “3.1416::0.00001%%100” is equivalent to “3.1416::0.00001” since the default percentage is 100%
  • text_eval set to “3.1416::0.00001%%80” would give 80% credit if the match was not exact, but between 3.14159 to 3.14161.
    • The %% (double percent) delimits the delta value from the percentage

“3.1416” happens to convert exactly in floating point. If you use Pi often, you probably have in memorized to a certain precession. Pi is 3.141592 to six places. If that is what is entered because the user didn’t RTFQ, they’d get 80% credit.

You can also have multiple deltas. Each delta is delimited by the same :: delimiter. The liberal evaluator could enter:

  • text_eval set to “3.1416::0.00001%%80::0.0001%%40::0.001:20”
    • 100% if 3.1416 entered
    • 80% if 3.14159 entered
    • 40% if 3.14155 entered
    • 20% if 3.1415 entered

Liberal evaluators are like our current teacher where close counts for everything, except in horseshoes!

There is a Text Eval helper in the Edit/Add Answers form that allows you to just enter the match, deltas and percentages and it will create the formula.

If you are evaluating integers or exact numbers, you can just use the Contains Evaluation.

Contains Evaluation

Contains evaluation uses a formula, that is converted to Regular Expression to see if a text answer matches the rules defined the formula.

  • What is the noun in the sentence “See Spot run.”?
    • text_eval set to “spot” (answers are converted to lowercase)
    • Only the input of “spot” will evaluate to true.

The evaluation can contain multiple words that are AND’d or phrases. It can also contain multiple words that are OR’d together

  • What are the nouns in the sentence “See Jane and Spot run.”?

    • text_eval set to “spot jane”
    • Only the input of “jane spot” will evaluate to true.
  • What are the nouns in the sentence “See Jane and Spot run.”?

    • text_eval set to “spot&jane”. The and operator & (ampersand) delimitates words that must be in the answer
    • Only the inputs of “jane spot” or “spot jane” will evaluate to true.
  • What US President said “Gorbachev, tear down this wall.” in a famous speech?

    • text_eval set to “ronald&reagan”
    • Only the input of “ronald reagan” or “reagan ronald ” will evaluate to true.

To Or words, they must be contain in () and have an OR operator | (vertical bar) between the words

Again the liberal teacher.

  • What are the nouns in the sentence “See Jane and Spot run.”?
    • text_eval set to (“spot|jane)”
    • The inputs of “jane spot”, “spot jane”, “jane”, “spot” will evaluate to true.

They would say its close enough if they just enter one noun!

Matches can also be negated using the NOT operator “!” (explanation point) The good teacher (probably conservative) would know that students are sometime smarter than you think.

  • What are the nouns in the sentence “See Jane and Spot run.”?
    • text_eval set to (“spot&jane)&!see&!and&!run”
    • Any input containing “see” OR “and” OR “”, “run” would NOT evaluate to true.

Like Numeric Evaluations, Contains Evaluation also provides a mechanism of giving partial credit. The :: eliminator divide the formula into an Exact section and a Partial section. The Partial section contains a match element and an percent element. The partial match element is just like the exact match. It can contain, AND’s, OR’s and NOT’s.

Again the liberal teacher decided they were being too liberal and decided to give only 50% credit if only one noun was entered.

  • What are the nouns in the sentence “See Jane and Spot run.”?
    • text_eval set to (“spot&jane)::(spot|jane)%%50”
    • The inputs of “jane spot” would get 100%. The inputs of “jane” or “spot” would get 50% if an exact match was not found.

Again being a little smarter than the students, you repeat the not conditions.

  • What are the nouns in the sentence “See Jane and Spot run.”?
    • text_eval set to (“spot&jane)&!see&!and&!run::(spot|jane)&!see&!and&!run%%50”
    • Any input containing “see” OR “and” OR “”, “run” would NOT evaluate to true.

The is also a Text Eval helper that will help build the Contains formula. The form helper (or typing) will also allow an optional || (double OR operator) that allows you to OR groups of matches.

  • text_eval set to “spot||jane” is the same as “(spot|jane)”
  • text_eval set to “‘some group of matches||another group of matches” allows for complicated matches that probably don’t exist.

Returning Home

Even though I’ve lived in a whole bunch of places since I left my home town at the early age of 17, I feel lucky that the house I grew up in is still there and I’ve returned to it practically every year since I left. Lately its been a couple times a year since my Mother is about to turn 90 and I need to help out my sister.

If I could write, I could write a book about living in a small coal mining town on the outskirts of Pittsburgh PA, but I can’t. Although I can occasionally document a few memories.

A lot has changed in the 50+ years since I left, but a lot is still the same. Some of the people are still there, such as my Mother, but most have moved on.

My thirteen year old granddaughter had a report due in which she has to interview someone who grew up in the depression (the 30’s not Obama’s!). She did that last night with my Mother and asked if there were any pictures of the kids in that era. It happens that a cousin has gathered a few. Thought I’d document a few.

I’ve heard the stories from before my time (boomer, born in 1944), but picture bring it alive. Don’t have any bread-line, starving pictures, just a few from the times.

I grew up in what were called company houses, in a patch that was usually named after the name of the mine. The coal mines build houses for their employees to rent (reasonable) and provided other benefits that kept the worker working. Tennessee Ernie Ford immortalized the times in the song Sixteen Tons. I owe my soul to the company store, a line from the song talked about the store that all the miner had credit to purchase food and essentials. (rent and store credit deducted from pay!)

Most of that was gone in my time. They were still called company houses and stores, but the mines sold them to the miners or banks.

This is the house I grew up pictured sometime in the 30’s.

Home, 1930's

The houses were two bedroom duplexes, maybe 1200 sq ft on each side. Build in the early 1900’s. Originally with no electricity, running water, and of course with a duplex outhouses! Coal was the fuel you used in your pot belly stoves and kitchen stoves. The mines put in electric and water later. There was still had an outhouse when I left in 1962.

This is the house in 2012.

Home, 1930's

Not much different outside, but a lot of upgrades. Some of the wiring is still 80 years old and presents some problems, but it is still the home I visit a couple times a year.

And kid still play in the back yards, in the woods and boney dumps (waste coal) that are part of living in the area.

kids playing