Stronghold - Day 1

Posted on Thu, Mar 17 2016 in Bob's Journal • Tagged with FRC

The Krypton Cougars utilized a bold new strategy for this year's robotics competition, and arrived at the arena with a machine that was neither mechanically complete nor programmed. I wasn't in the arena the first evening and morning, with its flurry of activity, but I was kept in the loop via text message. The first problem brought to my attention was an old friend from previous seasons. Once our robot's radio was configured for use with the field, we could no longer connect to the robot from our laptops.

This doesn't seem to impact other teams. Perhaps they prepare their computer properly ahead of time, or maybe most teams just don't do much programming after their robot is configured to go on the field. It stood directly in the way of the Krypton Cougars's bold plan, however. In a stroke of brilliance, the team mounted a second radio on the robot, one for the field and another set up like we had at home. They stacked them, to make reading the signal lights as difficult as possible. Before each match, they would unplug one radio and plug in the other. After each match, they reversed the process. I'd like to say this arrangement didn't cause them any problems, but that would be very misleading.

Having solved their radio difficulties, they were free to complete their robot. While driving toward Philadelphia the morning of the competition, I received a text message informing me that the arm on the front of the robot could move up, but never down. After walking the programmers through common troubleshooting steps, I asked them to describe the blink pattern on the affected motor controller. They reported that when the arm wasn't moving it showed red lights, blinking in sequence: A limit switch was being triggered.

When the robot was designed, I hoped there would be limit switches at the top and bottom limits of the arms, both to avoid the arms moving beyond their expected range and to allow us to recalibrate the position periodically. The team had wired limit switches to the motor controllers, but attaching them to the robot had been left for some future date that never materialized. Instead, the limit switches were bundled up and dropped into the interior of the robot. The solder on one limit switch had been poorly applied, and the wires disconnected. Rather than fix the switch, the team tossed the loose wires in with the rest. Deep inside the belly of the robot, these wires had managed to cross, creating a short-circuit that was being read as a closed limit switch. Once these wires were separated, the arm moved downward with ease.

Kelly and I arrived at the high school shortly after noon. The parking lot was crowded, but we eventually found a space far from the school, where we unloaded our lifetime supply of baby gear and braved the bitter cold. Once Kelly and Miranda were safely in the arena, I headed for the pits.

By this time we had already had our first match, where our robot had put on a notable performance by spinning counterclockwise for the entire length of the match. While this had provided the spectators with much needed amusement, our team felt it was not a viable long-term strategy. There are many reasons why a robot might drive in a circle, but to continue doing so without input is rather unusual. We hypothesized it was caused by a sensor on the drive base not returning the correct speed. Rather than investigate the nature of the failure and correct it, we opted to turn off the sensors on the wheels and hope for the best.

This strategy was immediately successful. Without its sensors the robot drove in a straight line. Since the robot no longer knew its own speed, it went full force at all times, much like the students driving it. In fact, they were so excited by their new-found driving capabilities that they forgot the rules of the game and racked up twenty-five penalty points in their next match.

Up to this point in the competition, the robot's arms had been restrained with bungee cords until they could be tested …


Continue reading

Cancer Captions

Posted on Tue, Mar 15 2016 in Bob's Journal

Showbread recently released their final album, and with it, an experimental movie based on their previous album, Cancer. As expected, the movie is a bit of a head-scratcher. It takes a few viewings to pick up on what is going on (I still don't understand a lot of it, but I think that's the idea), and I imagine it would be even more confusing for those who don't already know the music.

Additionally, the movie's core characters make up a punk rock band that frequently screams their lyrics in unintelligible fervor, which makes things even less approachable for "outsiders". In the hope that I could show this movie to friends without having them miss the lyrics, I took some time to subtitle the movie. I'd like to make these captions available for others who are also interested in showing Cancer to the uninitiated.

I used FFmpeg to add the subtitle file to the movie. It is available for Mac, Linux, and Windows, though I only know that my instructions work on Linux. If you need to change something on another platforms, leave a comment about it and I'll update my instructions accordingly.

  1. Download the caption file to the same directory as Cancer.

  2. Go to that directory in your command line (terminal)

  3. Run the following command:

    ffmpeg -i Cancer.mp4 -f srt -i Cancer.srt -codec copy -c:s mov_text Cancer-subbed.mp4
    

    (If your files have different names, make sure to update the command appropriately.)

  4. When watching Cancer in your favorite media player, turn on captions.

And that's all there is. I hope this helps someone. Enjoy.


Who is Rey?

Posted on Thu, Dec 24 2015 in Bob's Journal • Tagged with Star Wars

The following will include a lot of spoilers for The Force Awakens. If you haven't seen it yet, you might want to avoid reading further. It could also potentially have spoilers for Episode VIII, but that's only if I'm really lucky. On the other hand, my previous prediction wasn't that far off.

The question that is currently lighting up discussion after seeing the The Force Awakens is "Didn't we see this movie forty year ago?" But once that is dealt with, the next questions are about Rey, the new heroine with a "classified" background. Who is she, and how does she relate to the Star Wars universe we already know? I'd like to take my best stab at solving this conundrum.

One popular theory is that Rey is Han and Leia's child, who they hid from her brother, Kylo Ren, on Jakku. Leaving a child on a desert planet is certainly Star Wars-ish enough, but there are several problems. The most obvious is that Han and Leia don't acknowledge her when they meet. Even if her appearance has changed, an orphan girl from Jakku with latent Force abilities should have rang some bells. I'm saying this scenario is unlikely.

A second theory is that she is Luke Skywalker's daughter. After all, she is very powerful with the Force, something that was never obvious in Leia. We don't know if Luke recognizes her at the end of the movie. The resigned look he gives her could be either "So the situation has finally come to this" or "I had hoped you wouldn't get involved." Having seen Ben Solo fall to the Dark Side, Luke could have hidden her away while he went on the dangerous quest for the first Jedi temple. If he hid Rey without Han and Leia knowing about it, their lack of acknowledgement makes more sense, since they might have thought she had gone into exile with Luke. However, leaving your only child all alone on an inhospitable planet seems wrong. When Luke was left on Tatooine, he was left with his family and Obi-Wan stayed nearby. There's a possibility that the old man we met at the start of the movie could have been watching over her from afar, but that doesn't change the fact that in her day-to-day existence she is completely unprotected.

Of course, it could all just be coincidence. Not every Force user in the galaxy needs to be a Skywalker. Maybe she is simply a Force-sensitive child who was abandoned by her otherwise unimportant parents, as the movie would have us believe. That could be possible if it weren't for one glaring inconsistency: Kylo Ren knows her. As soon as he hears about a girl from Jakku being involved, he flies into a rage. At the end of the movie, he even offers to complete her training. Clearly they have a history, which leads to my favorite theory.

Rey is the daughter of Han and Leia, the sister of Kylo Ren. Supreme Leader Snoke is not unaware of the power in the Skywalker line, and orders his new protégé to kidnap his sister and kill the other Jedi. Kylo complies, but, in his jealousy, realizes that his sister may surpass him and take his place with Snoke. The Light Side won't let him simply murder her, so he uses the Force to lock away her memories and maroons her on Jakku. Snoke believes her lost, an unavoidable casualty of Kylo's attack on the Jedi, and nothing stands in Kylo's path to greatness.

Even though she is Han and Leia's daughter, they don't recognize her because they believe she was slaughtered along with the other Jedi. They never expect to see her again. Probably every young woman they meet looks like their daughter to them.

When Kylo hears that a young woman from Jakku has suddenly become a part of the quest for the map, he realizes that leaving her alive has come back to haunt him. His pursuit of the map turns into a pursuit of his sister, but when he captures her, she is the one who gains the upper hand. Kylo finds himself caught in his own lies and things …


Continue reading

A Christian Contribution to the Arts

Posted on Wed, Oct 28 2015 in Bob's Journal

I visited a friend the other day. His family always decorates the outside of their house for the holidays, and Halloween is no exception. His two small children, seeing me walking toward their door, rushed to show me each of the decorations adorning their porch.

On the steps were two large jack-o-lanterns. The one on the right had a face with tall eyes and whiskers, like a cat. The one on the left was a normal jack-o-lantern, except that its mouth was the word "BOO". "I made it all by myself," the son exclaimed.

"Really?" The detail and precision were a bit beyond what I normally expected from a first grader.

"Well, I got to use the knife," he backpedaled, before rushing to show me a large witch decoration on the side of the porch.

Finally he pointed out two smaller jack-o-lanterns sitting inside the porch's railing. "It's a clown," the son exclaimed. I looked closely and determined that he meant it had a circular nose, instead of a triangle like all the others.

"What is that on the side of your clown's head?" I asked.

"Those are his ears. They're crosses." And they were. Big chunky crosses adorned each side of the clown's head.

"Why did you use crosses for the ears?"

"We made those at church. They said we had to put crosses on them." He sounded a bit apologetic and shortly later the tour ended, but it got me thinking about how modern American Christianity uses the cross.

I'm sure that the well-meaning teacher who said that every jack-o-lantern must incorporate a cross felt that he or she was striking a Christian blow against Satan and his evil trick-or-treating. Yet, in the end, all you have is a mildly frustrated first grader who thinks that the cross is some sort of brand symbol, much like the Nike swoosh.

Did we win?


Where is Luke Skywalker?

Posted on Mon, Oct 26 2015 in Bob's Journal • Tagged with Star Wars

This post may contain spoilers for Star Wars: The Force Awakens. I say "may" because I'm actually just making a guess, but if you don't want any crazy ideas clouding your first experience of the movie in theaters, you might want to stop reading now.

Someone else suggested that I write this down, presumably so that I can be mocked in two months when I am shown to be wrong. If I am, my only defense is that I haven't really been keeping up with the leaks for this production. I did the spoiler thing during the prequel era, and it's actually a lot of fun, but keeping up with all the spoilers is a lot easier when you're a college student. That being said, I think I have an answer to the question that everyone seems to be asking: "Why don't we see Luke Skywalker in anything?"

The answer is multifaceted, so I'm going to start in the middle and work my way out. The reason why we don't see Luke Skywalker is because he is a Jedi master, and like Obi-Wan and Yoda, he has become a hermit. Now, Obi-Wan and Yoda each had their own reasons for leaving the public sphere. Obi-Wan needed to lay low to watch over Luke and keep him safe from Vader. Yoda had watched his Jedi order crumble and his failure drove him into hiding to reconnect with the Force. Luke must have a similar reason for his seclusion.

When the Emperor died at the Battle of Endor, the Rebellion had a fully trained Luke Skywalker ready to bring the Force back into the galaxy. So why does the Force need to awaken thirty years later? There is a piece missing from this puzzle, and I have a guess about what that piece may be.

The rebellion would obviously want to add more Jedi to their roster. However, without a galaxy-wide blood test to detect Force-sensitive individuals, finding suitable students would be a challenge. They could rely on the Force to guide them to more students, but letting your only Jedi wander around the galaxy looking for a student would be a significant risk. Fortunately, we know that the children of Force-sensitive parents are also Force-sensitive. If either Luke or Leia had a child, that child would be the ideal first student for the new Jedi order.

While Luke's romantic prospects are looking quite bleak at the end of Return of the Jedi, Han and Leia's relationship is heating up, so it seems quite likely that Leia will have the first child, and that he will be trained in the Force from a young age to help the Rebellion in future missions against the still standing Empire.

Unfortunately for the Rebellion, Luke's own training was more than a bit abbreviated, and his first student will be in for a rough time as Luke muddles through passing on the little that he knows of the Jedi way. I theorize that eventually Leia's son becomes captivated by the work of his grandfather, Darth Vader, and turns away from Luke's teaching to found the Knights of Ren and regain control of the galaxy.

Luke, devastated by his failure, vows never to take on another student and goes into hiding so he cannot do any more harm. Thus, when Leia's son begins to decimate the remnants of the rebellion, a new Force-sensitive individual, Finn, must search for the disgraced Jedi and beg him for training before everything the Rebellion fought for is destroyed.

Like I said, this is only speculation. I've tried to avoid spoilers for this film, so maybe something big has already leaked that contradicts this theory, but I think it's reasonable, and matches the overall tone of the Star Wars saga.

Bonus Article: Where is C-3PO?

Another character notably lacking in the promotional materials is C-3PO. His history throughout the original trilogy was that he was property of Leia (or her family). I suspect that when Leia's son left to form the Knights of Ren, he took C-3PO with him.


The T-Bucket

Posted on Sun, Oct 11 2015 in Bob's Journal

My little brother is a lover of all kinds of motorized land vehicles. He is a professional driver, and has an eye for distinctive vehicles of all kinds. Over the past few years he has bought two different "racing" editions of the Ford Focus, a snowmobile, multiple quads, a Polaris RZR, and a boosted Ford F-150. Each of his vehicles is unique.

His most recent addition is what is commonly known as a T-Bucket. For those of you, like myself, who don't follow the world of obscure car trends closely, a T-Bucket is a Ford Model-T that has been dismantled down to the frame and rebuilt into a street legal go-kart. Naturally when I went home to visit the family, he was eager, as he always is, to show me the wonders of his latest acquisition.

Original Model-Ts had no need for a battery. The driver, or his servants, was expected to run around to the front of the car and crank the engine manually until internal combustion took over. However, the T-Bucket has improved on Henry Ford's design by placing a battery in the trunk. Unfortunately, for reasons not immediately obvious, the battery must be manually disconnected after every use or it will run dead. Sadly, my brother had not remembered to disconnect the battery after his last trip, and my first experience of the T-Bucket was pushing it out of the garage and hooking up jumper cables.

The T-Bucket is a convertible, in the sense that there is a separate piece you can put over your head if you know its going to rain, but for all practical purposes it is an open air car. The windshield is the only window, and it is woefully low, providing no protection whatsoever against any bugs that might happen to be flying at face level. The builders did think far enough ahead to realize that you would need to clear rain off the windshield, so there is a small blade attached to the top of the window on the driver's side that can be manually moved with your hand. Rear-view mirrors had apparently not yet been invented.

Without windows, there are no need for window cranks, and the Model-T was built long before anyone dreamed of anti-theft devices so there are no locks, or even external door handles. You simply reach over the door and release a small metal catch to enter and exit. To call the interior roomy would be quite an exaggeration, but my brother and I managed to squeeze into the cab and we were off.

The comparison to the go-kart seems apt, but a go-kart that can travel at highway speeds. I should point out that my brother is probably the best driver that I know, extremely skilled in knowing the roads and the limits of his vehicles. And that makes riding with him terrifying, especially in a vehicle which couldn't possibly have a lower crash test rating.

We zoomed around the back roads of the mountains, wind whipping all around our heads, the road zooming past far more obviously than it does in a modern car. He delighted in showing me its acceleration and handling, while I held tight to the door next to me and tried to enjoy the ride.

Eventually we made it to the main highway. The city where I grew up is quite different from many other cities. Traffic lights are not used liberally, and only recently have signs gone up declaring certain extremely unwise driving decisions against the rules. As a local, you learn to avoid the traffic lights, as a bit of daring can save you minutes of time. We found ourselves sitting on a curve at the bottom of a long hill, with oncoming traffic moving sixty miles-per-hour, as my brother expertly waited for a break in the traffic.

His driving skills are obviously vastly superior to mine, as he found a gap where I didn't, and squealed out into traffic, quickly accelerating into the flow. On the other side of town we faced our next challenge. When we arrive at a convenience store, the question of the battery arose. Should he leave the motor running or hope that …


Continue reading

Understatement of the Week

Posted on Fri, Sep 4 2015 in Bob's Journal

"[George Lucas] made decisions that I believe might have been better discussed with other people."

— Anthony Daniels (C-3PO)

source


Consumer Safety

Posted on Mon, Aug 31 2015 in Bob's Journal

We live in an age of consumer protections. We can be confident that every purchase has been carefully checked for safety and effectiveness. If there is something wrong, the product will be recalled. If there are any associated dangers, they will be completely enumerated on the packaging. So why is it that, in our supposedly enlightened age, babies are being delivered to parents without the following warning label attached?

``WARNING:``Prolonged exposure to babies is known to cause lower back pain, joint pain, fatigue, clothing stains, lower standards, insomnia, hearing loss, unintelligible babbling, poverty, and weight gain. Do not drive or operate heavy machinery while under the influence of a baby.


Running Away From Home

Posted on Thu, Aug 13 2015 in Bob's Journal

Something about having a baby in the house brings back memories of growing up. I suspect my brain is trying to warn me about what lies ahead. This morning an episode came to mind that caused me, yet again, to realize just how weird raising a child will be.

It was a crazy Wednesday evening, as was so often the case. There was some sort of church activity that we needed to attend. Everyone was in the van ready to go, except for my youngest brother, who was dragging his feet. My mother, in her favorite teaching style, decided to give him an object lesson, and drove off without him. Now this was only a ruse. We drove around the block and came right back to the house, certain that he would be suitably chastened for his tardiness.

Instead, we discovered the house abandoned. We searched high and low, but there was no sign of him. He was only a young teen at the time, and didn't have a driver's license yet, so we knew he couldn't have gotten very far, yet he was nowhere to be found.

After about ten minutes the telephone rang. It was someone from our church. My little brother was there, and looking for us. He had set out on his own, determined to follow our supposed course. Unfortunately, he had severely underestimated the length of the trip. Fortunately for him, a family friend saw his trek and offered him a ride. And that is how, by being late, my brother got to the church first.


Convert Excel Column Name to Number

Posted on Thu, Aug 6 2015 in Bob's Journal

Column Name:

An Explanation:

The other day I downloaded a database table, with a ridiculous number of columns, as a CSV spreadsheet. I wanted to write a program to isolate and clean up a couple of its columns. To do this I needed to know the column numbers. For example, that "About Me" is the 78th column. When I opened up the spreadsheet in LibreOffice I didn't find the column number. Instead, the columns had names like "AG" and "BN". I get why it makes sense to use numbers for rows and letters for columns, but I can't easily tell a program to get the AOth element of an array.

I did a web search to see if someone had a nice converter online that would tell me which number to use for the column names, but my search turned up nothing. I hope to correct that for future searchers of the internet. Enjoy.

P.S. - This converter is also handy if you want to know the position of various letters in the alphabet. Just replace the word "column" with the word "letter".