Our Time Machine Apps

This morning we each built a Time Machine app. (The H. G. Wells kind, not the Macintosh kind.) Okay, so it was more like a picture viewer, but it displayed images that could transport a person back in time (so to speak).

20131204 class_pic2

Last night I uploaded some interesting shots from my 2010 New Zealand trip to a Dropbox folder they can both access on their Netbooks. What self-respecting kid wouldn’t love to see a group of Maori warriors, or an active gold mine, or trucks with tires as tall as a regular truck?

The LiveCode stack window had just 3 objects – a list field to let you pick a photo filename, a button to choose the pictures folder and load the list field with those photos, and an image object where the selected photo is displayed. And no fancy code, mostly just an “answer folder” in the button and a “set the filename of image” in the list field. Even a 6-year old could do it. In fact, he did.

You can download our Time Machine app here. (It’s about 2k, with plenty of room for improvement.)  To run it, LiveCode has to be installed on your computer.

Posted in Download, Homeschool, LiveCode, Programming, Technology, Uncategorized | Leave a comment

Follow Me! Programming

Friday I sat between my 6- and 7-year old grandsons at their kitchen table. Each of us had our computer in front of us with LiveCode opened and ready to go. We all sat on the same side of the table so they could see my screen. The air was thick with anticipation.

Earlier last week I had received valuable advice from my friend Larry Walker in Wisconsin. He has been through a good bit of trial and error helping kids learn LiveCode, and even holds an “App Academy” class at the Madison Children’s Museum. The main nugget that got through to me was: Don’t even mention the tools or programming concepts. Just use a “follow me” method to assure their success. He also gave me tips on where to begin.

So I said “follow me” and we began.

We made LiveCode say several things including the obligatory “Hello World” three different ways, including literal speech.

Then we created a program that moved an onscreen ball around the perimeter of a random shape we each drew. It took one line of code:

move graphic “ball” to the points of graphic “shape” in 2 seconds

I love the way LiveCode makes it possible to do complex things with simple code.

My little guys aren’t great typists – heck, they can barely read and write – so that took all the time we had. When we were done, they immediately began to show their Dad what they had accomplished and were asking questions about how to modify their code so it would do this or that. When I left, he was digging into the LiveCode Dictionary, helping them find answers.

Mission accomplished.

Posted in Uncategorized | Leave a comment

Coffee Shop Programming

Today I met up with Ty, my 15-year old homeschool friend, at a coffee shop near his house. An hour and ten minutes later, he had built a working temperature conversion calculator app. We were both so jazzed!

This is Ty’s first real project; so far he has just made little experimental throw-away things with LiveCode. He has also been making his way through the LiveCode University app. His “total beginner” status made him eligible for a free license from the LiveCode folks. I don’t know how long they will offer this deal, but at the time of this writing it was still being promoted on their home page.

Our guiding principles were:

  • keep it simple – this exercise is about learning, not about impressing anyone
  • make it functional before making it pretty

Ty had used an online currency converter before, but never a temperature converter. We started by doing some rough sketches of what the thing might look like. That helped us identify the essential parts:

  • an “input” text entry field
  • an “output” text display field (not editable)
  • a dropdown list of unit names (Fahrenheit, Celsius, Kelvin) under each text field
  • a “Convert” button

Once we figured out the parts, we needed some conversion formulas. Wikipedia was our source. We used this one for Celsius to Fahrenheit:

[°F] = [°C] × (9 ⁄ 5) + 32

With object name substitutions, the code that did the conversion looked like this:

put field “input” * (9/5) + 32 into field “output”

It worked! We tested the code using 100 as the input Celsius number and got (drum roll…) 212 as the Fahrenheit equivalent.

That’s as far as we got in the coffee shop. Ty’s homework is to add other formulas, following the above pattern in his code.

Posted in Homeschool, LiveCode, Programming, Uncategorized | Leave a comment

Programming for Homeschoolers

My toes are barely in the water, and I can already tell this is going to be FUN.

I should tell you – I’m a software developer. You can read about that part of my life here.

Recently I started working with a friend’s teenage son who wants to learn to program. Ty is a tall, quiet guy who doesn’t say much… did I mention he keeps his thoughts to himself? And he is being homeschooled.

Anyway, Ty came over one day a couple of weeks ago and we spent maybe 45 minutes in front of a PC fiddling with Livecode. As we went along, I gave him just enough information so he could make sense of his experience. We created a new “stack” (a window) and just started plopping some controls onto it – a progress bar, a few check box buttons and some fields to be exact. Then an idea came. I enclosed the check boxes in a “group” control and wrote a few lines of code on a piece of paper, which Ty faithfully transcribed into the group script. The code made the progress bar grow or shrink with the number of  boxes checked.

The end result: with less than an hour of programming experience, Ty had created a working “thing”. When he first realized the progress bar was moving in response to his clicking the check boxes, Ty – Mr. Fortress of Solitude – stared at the screen for a moment and then positively gushed, “That is so cool!” He couldn’t believe his eyes. He had just done his first programming!

It made my day.

Posted in Homeschool, LiveCode, Programming, Uncategorized | Leave a comment

Today is the Day

It would be hard to overestimate the influence we still feel from a simple but courageous act of an Augustinian monk in Germany 495 years ago today. Martin Luther went public with his issues about certain church practices (like the act of selling salvation), and spent the rest of his life defending his position. Here is a nice summary.

His teachings helped form western views about personal freedom, among other things.

Posted in Bible, Christianity, Uncategorized | Leave a comment

The meaning of Christmas

I love Christmas. To me it means coconut cake, Christmas trees, presents, happy people and happy (if overplayed) music. Sometimes it means snow, like Christmas 2008 in West Linn. It was gorgeous!

But the big meaning of Christmas can be summed up in three words: We are saved! If Jesus had not been born, well, just imagine a re-do of It’s a Wonderful Life where the world is without Jesus Christ instead of George Bailey. You really don’t want to go there!

Without Jesus Christ there would be no faith-based access to God. There would be no one to deliver us from God. (Sounds weird, but it’s true.) There would be no renewing of our spirits, and nothing we could start doing or quit doing could keep us from receiving what we already deserve. As I see it, the birth of Jesus Christ defines the essence of all that is good about Christmas.

Posted in Christianity, Christmas, Uncategorized | Leave a comment

What if no one had written about it?

This morning I read the Gospel of Luke chapter 1, which begins:

Many have undertaken to draw up an account of the things that have been fulfilled among us, just as they were handed down to us by those who from the first were eyewitnesses and servants of the word. With this in mind, since I myself have carefully investigated everything from the beginning, I too decided to write an orderly account for you, most excellent Theophilus, so that you may know the certainty of the things you have been taught.

Where would we be now, 2000 years after the fact, if Luke (among others) had not carefully investigated All Things Jesus and recorded what he discovered? Would any culture on earth still embody even a dim memory of Jesus Christ?

The same thing is true of families: Every family has a story. It is a story of interactions with heaven and earth, in time and space; it is where values, character and vision are formed and tested, where strength and weakness are exposed. It is all quite consequential at the time it happens! What if no one takes time to record it? The less I know about my family history, the less informed I am by it about who I am and how I got that way. That can be hard on a guy! It creates a need to play catch-up on things that are foundational to one’s well-being. That’s my take on it anyway.

And eventually we all become part of the story.

Posted in Bible, Christianity, Uncategorized | Leave a comment

Skype – finally

I finally opened a Skype account and ordered a webcam to hang on my cameraless display. Some of my clients are ahead of me in this, waiting for me to catch up. But the thing that pushed me over the top was the need to be able to talk with Janie from New Zealand when I go there in a couple of months for business. (I set up an account for her too.)

Posted in Technology, Uncategorized | Leave a comment

Despise not small beginnings

This post is about rebuilding. It’s mostly for me. I use the Bible a lot in my self-talk.

Zechariah was a prophet in Old Testament times. He lived and spoke roughly 2500 years ago when the Jews had returned to their homeland after living in Babylon for many decades. They were now trying to rebuild their life as a people. The center of life for them was the temple of God, and their leaders had started to rebuild it. However, the rebuilding process was not exactly clipping along. They had been hindered greatly by those residents of their homeland who had become the de facto owners of it during the Jews’ absence.

At one point the people were quite discouraged about their lack of progress in rebuilding the temple, which symbolized the heart of life to them. It was then that God spoke to Zechariah in a dream. Here’s how he described it (emphasis mine):

Then the angel who was talking with me returned. He woke me up. It was as if I had been asleep. “What do you see?” he asked me.

“I see a solid gold lampstand,” I answered. “It has a bowl on top of it. There are seven lamps on it. Seven tubes lead to each of them. There are two olive trees by the lampstand. One is on its right side. The other is on its left.”

I asked the angel who was talking with me, “Sir, what are these?” He answered, “Don’t you know what they are?”

“No, sir,” I replied.

So he said to me, “A message came to Zerubbabel from the Lord. He said, ‘Your strength will not get my temple rebuilt. Your power will not do it either. Only the power of my Spirit will do it,’ says the Lord who rules over all. So nothing can stop Zerubbabel from completing the temple. Even a mountain of problems will be smoothed out by him. When the temple is finished, he will put its most important stone in place. Then the people will shout, ‘God bless it! God bless it!’ ”

A message came to me from the Lord. His angel said, “The hands of Zerubbabel have laid the foundation of this temple. His hands will also complete it. Then you will know that the Lord who rules over all has sent me to you. Do not look down on the small amount of work done on the temple so far. People will be filled with joy when they see Zerubbabel holding the most important stone.

Zechariah 4:1-10

Rebuilding one’s life after the storm has destroyed everything can seem like an exercise in futility. Our steps are often so small, and the task is so enormous. It’s easy to become depressed and discouraged.

I hear this message telling me to look beyond the beginnings and see the outcomes ahead – that’s where the beginning steps will lead. Be patient and pace your expectations; it’s a marathon, not a sprint. Stick with God, because He is the one who will ultimately get you there.

Posted in Bible, Christianity, Uncategorized | Leave a comment