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

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

When You Retire, You Should Retire

Like many who retire, you find out that you miss work. Not everything about it, but some things.

In my case, I loved coding. I was not great at it, but I’ve spent almost my entire working life trying to change things that controlled me work better. Sometimes I succeeded, sometimes I failed. I’ve been trying to use computers to make something better since the early 70’s. I sometimes felt that I had visions on how to fix things, or at least make them better, that most people never thought about. Sometimes I sold those ideas, other times I had to give up. I’ve even had some stupid ideas!

Back in December I was a little bored and decided to refresh my memory on coding. I’ve always used past projects to learn new stuff. Ruby on Rail (RoR), what was pushed on me as our solution of getting off of 4D was something I played with even before I retired. For the umpteenth time I rewrote my GolfGaggle.com site to take advantage of new releases. I then decided to try a few ideas I had about fixing the crap I wrote for AIDT. I call it crap, but it was just a nudge to get AIDT thinking about doing things differently.

It started with just a few simple things, but then turned into about a two month thought process that tried to improve, or at least present plans/options for improving what has been adopted. I cringe every time I think about the on-line application system I wrote as a prototype still being used. I had drastically improved that shortly after I retired, in both 4D and RoR - but there was no real reason to change - don’t fix what’s not broken.

In my mind, (which is probably smaller than I think it is!) my prototype did some neat things. I tried to bridge the gap between different types of projects and other stuff AIDT has been doing that does not fit traditional projects. I solicited feedback and got a little, but it appears that plates are full and don’t fix what’s not broken is alive and well.

Spring is coming and I have a dead RX7, grass to cut, and I may even go back to golf. I do miss golf and it has been almost 4 years since I’ve had the passion.

The demo is still out there, but it is time to give up on my latest nudge attempts.

Steve

The RX7 Died

This is old news, but all hope is not lost - there is a chance for resurrection.

After getting it working in June, I had several problems I had to fix that I just touched on in the alive post.

  • Several computers had corrosion, bad solder joint problems.
    • The body CPU ended up what gave me problems years ago. It came down to the anti-theft system indicated a break-in and it would not start. Took a little while but I bypassed the circuit and stepped around it.
  • The power steering CPU indicated problems, but it stopped after a few days.
  • The rear brake calipers were shot, replaced them.
  • The clutch hydraulic system had problems. Replaced the master cylinder.
  • I had the body CPU bad solder joints repaired by a TV repairman (who else knows how to solder anymore?)
    • That fixed a few thing, but not the theft cutout. Bought a new CPU an fixed all the minor problems.

After those problems were fixed, I got a new set of tires and started driving it a couple times a week with no problem. It still had the getup and go I remembered. I was ready to get a new top and have it painted and enjoy it while I could. With the problems and the age, let alone insurance costs, it was not a good choice for my grandson.

James, my son, came down for a visit and we took it for a spin - time to show it off. About a mile down the road the power steering computer started giving off warning beeps. We went a few miles down the road then came back, still beeping. Said I have to look up the problem later. Parked it for a few days and was going to take it some where, but the beeps started as soon as I put the key in. About a week later I tried it again and no beeps - but it would not start. Cranked and cranked, but would not start.

Spent about a week trying to figure out what could have gone wrong, bad engine CPU, relay etc. Changed plugs, no joy. Somewhere in the trouble shooting chart it said to check compression.

Bang

I had zero compression in the front rotor. Checked, double checked. It went from working fine to nothing. It appears that I lost an apex seal on the front rotor, and the rear rotor compression reading was not that good of a reading. The apex seal is about the same as a piston ring on a piston car. This was not quick or easy fix. This happened sometime in September.

I did some research and I probably would have to have engine overhauled. About $1500 by myself or $2500 to send it off. With winter approachingvand no room in the garage, I decided to wait until spring.

Spring is getting close, so after Jesus arises this Sunday for the 2000+ time, and I get back from PA, I’ll see if I can remove the engine.

It was a sad day when it happened.

Octopressing

As hard as I try, I still have a hard time writing things down, in correct English.

I started I Wish I Could Write almost three years ago using Jekyll. A ruby program that takes your configuration and source (markdown, textile, html) and creates a static site.

I did okay for a while, at the start, but then I lost interest - who’s going to read it anyhow, except me.

I found a new tool Octopress, which sits on top of Jeykll and makes it easier to manage and deploy the site. I wanted to write a new blog for the soup kitchen I volunteer at a couple days a week. I put that up in a couple days (mainly writing recipes). I got a new domain stevealex.us and stuck the soup kitchen there http://soup.stevealex.us, at least for a while.

I also threw up the another blog that I though I’d replace I Wish I Could Write with, at least for technical stuff. After getting it up - I changed may mind! I customized the Octopress configuration a little and got close to the theme I had used, with a little less blackness.

Octopress also uses compass for css (scss) and it is kickass powerful, not sure I’ll ever understand it, but you don’t have to. There are a few places where you can put in custom styles and overwrite some of the major areas - really all you need.

I’m going to deploy this one day after I started. That includes coping over most of the old posts and converting a few from ultraviolet to pygmnts.

Now I just have to see if I feel like writing about anything.