Sunday, August 16, 2009

Visiting the Selfkantbahn - Sunday

It was a long evening yesterday, and I had trouble getting out of bed at first. Reminder to self: If you are not used to drinking beer, do it in moderation...

However, today's the day!

Shortly before 9am we were back in Schierwaldenrath where Christoph and Jan had already prepared the locomotive for the day. There was not much left for us to do so we went inside the car hall for coffee and breakfast. Yup, the two of them did the job of oiling, lubing, and a light polish in less than a quarter of the time it took us yesterday...

The morning was cool, with patchy fog and overcast skies, and by 10am I found myself in the warm cab of the locomotive switching an extra freight car to the tail end of the train. By now I was much more comfortable with the controls and had a blast. I must have been grinning over both ears most of the time. I picked up the freight car, spotted it to the end of the train, and then pulled the train forward into the service area so that the folks in the dining car could comfortably load food and drinks for the day.

It's not trivial to stop the train in a way so that the dining car ends up near the entrance door to the workshop, since from the cab you can't see neither the car in the train, nor the entrance door. All you know is roughly how fast the train is going, and hear over radio how far away the car still is ("two car lengths, one car length, 1/2 car length"). No-one complained, so I guess I stopped reasonably well.

Once the dining car was loaded, we pushed the train back to the platform, uncoupled and topped off water. Then it was back to the coaling platform for refueling and cleaning out the ash box, and my Dad took over to bring the locomotive to the head of the train for the first run of the day. Thomas took some excellent video footage of my switching maneuvers with my camera and I'll post that (and more video footage) once it's edited.

Wolfram showed up shortly before 11am, and immediately started taking pictures. He looked so professional in attitude and attire that I had to clarify with the other seminar participants that, "yes, that's my brother, he lives nearby, and no he doesn't do this for a living". Quite a few passengers filled the platform, and at 11:15am we took off for the first run with Dad at the controls. He did a great job and carefully guided the train to Gillrath. It was very hard to take good photos or decent video footage even from the car behind the engine. The angles are not right and you often wish to be flying next to the train so you can film through the open cab windows.

After the return trip we had a quick lunch since it was almost time for the second run. Bernd took the train down to Gillrath and I brought it back to Schierwaldenrath. I (again) had a little problem with braking when we got to Birgden and accidentally left the brake lever in a slightly open position so the stop in Birgden became ... errrm ... a bit abrupt towards the end. Did I mention that braking is hard? Especially when you try to be gentle to the equipment. Nevertheless, I thoroughly enjoyed the ride. Back in Schierwadenrath, I didn't want to leave the cab, I could have go on and on, but sadly my turn was over.

Wolfram, Dad, and me skipped the 3rd run and had excellent ice cream at the station restaurant instead. While Dad relaxed in the shade, Wolfram and I climbed on the loading ramp and waited for the train to return. It was already time to say Goodbye to Wolfram since he wanted to get back on the road to drive home.

Thomas took the train to Gillrath, and I managed to get back in the cab for the return trip to Schierwaldenrath with Jan at the controls. It's very interesting and enlightening to watch a professional engineer who knows the line by heart, play with the controls, move the locomotive with centimeter accuracy, and just the right amount of steam or braking. It was also another demonstration of how a good team of stoker and engineer can work together in an almost artful dance to feed and care for the machine.

Once we returned we received our certificates and now it was really time to say Goodbye. To the group, to the railroad, the people that cared for us all weekend long, and of course "our" locomotive 20.

On the way home the sounds and sights of the weekend continued to play in my head. It was an awesome experience, and if I lived closer to Schierwaldenrath I would be there more often. Contrary to modern locomotives, steam engines feel a lot more alive, a feeling that is impossible to experience by looking at photos or watching them on TV. If you ever have a chance to see steam engines in operation, ride in a cab, or maybe even, take the controls yourselves, go and you won't regret it.

Friday - Saturday

Saturday, August 15, 2009

Visiting the Selfkantbahn - Saturday

Today I drove a steam locomotive.

The day started with firing up the locomotive. It took about 4 hours from lighting the first firewood in the firebox until steam pressure was within operating range. Meanwhile, stoker ("Heizer") Christoph and engineer ("Lokomotivfuehrer") Thomas explained the very basics how a steam locomotive works, and we had the pleasure of oiling, cleaning, and polishing the locomotive. Yes, cleaning and polishing, too.

After lunch everyone got to move the locomotive within station limits to practice accelerating and braking. There are two mechanisms to control acceleration: Amount of steam sent to the cylinders and amount of steam expansion within the cylinders. The general effect is similar to gears in a car. High gear at high speed uses less gas, but barely has enough torque to get the car moving in the first place. Some steam with little expansion in the cylinders gets the locomotive moving. Relying more on steam expansion in the cylinders once the train is moving saves steam pressure and therefore fuel.

Braking is quite an art. The trains on the Selfkantbahn like most trains use an air brake system which uses air pressure to control brake cylinders in each car. The practical implication for a novice engineer is that contrary to a car,it will take a few seconds for braking to take effect, and the train will keep braking at the given pressure set in the main brake line. When the brake is released only slightly, it will fully release the brakes at each car, and on top of that it will take several seconds for the locomotive to re-pressurize the main brake line. We got to practice this on a demo system in the car hall.

There is also a direct brake system on the locomotive only, which is generally used when the locomotive is moving without a train, or, if we have a train, similarly to a hand brake in the car when going uphill from a full stop: Hold the train in place, while the brakes in the cars are already released.

During my practice run in the afternoon the main brake line overloaded (too much pressure). This caused quite a commotion since it was unclear why this had happened in the first place. I was standing in the locomotive twisting thumbs and making a stupid face, while both Christoph and Thomas got to figure out what happened, and decide whether it's safe to continue the trip. In the end the net effect was that we got to de-pressurize and re-pressurize the brake system.

All in all, I think I did O.K. Under direction from Thomas I brought the train up to speed, slowed down and stopped before railroad crossings, rang the bell, and, to my utmost delight, blew the whistle. The interaction between steam pressure and steam expansion is not yet quite clear to me so Thomas had to guide me a bit, but I think I managed to do a decent job.

It was a hot day, and being in the cab was even hotter with the fire burning like crazy 2 feet before you. The cab was very crowded with stoker, engineer, and two seminar participants, one driving, one trying not to be too much in the way, paying attention to instructions, shoveling coal, or refilling the boiler with water. We went through several liters of bottled water and "Apfelschorle" on each run. Replacing the empty bottles when we got back to Schierwaldenrath became an important chore.

The practice runs happened to be two specials with paying customers from Schierwaldenrath to Gillrath. Yup, the whole, whopping 5.5km of track all the way from one end to the other end of the line.
The first run was booked by a Mazda fan club. Quite a sight when 40 Mazda sports cars along with their owners and respective girl friends enter a railroad museum in their shiny, little cars passing "our" shiny little steam engine.
The other run was for the youth group of a local fire department, as well as a birthday party in one of the cars.

After we returned with the second run to Schierwaldenrath, we had coffee and cake, watched/helped set the fire for the night and left the locomotive in the engine shed for the next day. Later in the evening the group had dinner together, and we had a fun time. The fact that I'm living in California was drawing quite some attention and many questions about life and work especially in comparison to Germany.

Tomorrow I will drive the 13:45 train from Gillrath to Schierwaldenrath, which -- for extra fun -- runs with the locomotive backwards, and therefore the controls will be behind me when looking on the track ahead of the locomotive. I'm curious if Wolfram will be here in time for the 11:15 departure which will be driven by my dad.

Friday - Sunday

Friday, August 14, 2009

Visiting the Selfkantbahn - Friday

We arrived at the main station of the Selfkantbahn in Schierwaldenrath just in time for the start of the seminar. After a brief introduction in the Buffetwagen, we did a tour of the museum, and visited the engine shed where we saw "our" steam engine No. 20 for the first time. She looked a bit dead standing there in the shed with a cold firebox and cold boiler. And I couldn't decide whether I should feel sad, curious, or excited about tomorrow. It didn't quite feel real that tomorrow we will fire up the locomotive and it will come to life.

I'm nervous. After looking at the various levers and manometers in the cab, as well as a brief explanation from Christoph, our stoker for tomorrow, I re-read the explanations how a steam locomotive works. I hope I can get this thing to move once it's my turn, and especially get it to stop...

Later during dinner we received our engineer hats, and had a fun time discussing various railroady topics. The seminar group is quite interesting, and participants come from all over the country. I'm the youngest by far. Dad's the oldest by far. Most are in their fifties. Some came alone, others brought wives or family for moral support.

Saturday - Sunday

Monday, July 27, 2009

Toronto Pearson International Airport


I arrived from San Francisco 70 minutes late. We did make up some time, from the ground delay at SFO. Getting to my connecting gate was simple. Get off the plane from the US, follow the signs to customs, show boarding pass and you are sent through a door into the transit area, walk down a long corridor, and arrive in the international departures terminal. Not even 15 minutes. Very nice, bright terminal, by the way.

Though I think when that airport agent sent me through that door instead of to the passport verification booths right next to it, she mistook my red german passport for a canadian passport. I noticed that a bunch of Canadians around me were sent through the door directly, while everyone else was sent to the passport booths. I didn't have my passport out, so when she saw it was red she just waved me through...

Boarding for Munich starts in an hour.

"We're just missing a fire extinguisher ..."

My flight to Toronto left San Francisco 90 minutes late because ... wait for it ... one cockpit fire extinguisher showed low pressure and they had to exchange it. However, apparently you can't just buy a fire extinguisher easily at an airport.

After waiting for 30 minutes (on the plane...) Air Canada finally located a fire extinguisher at United Airlines. United needed some paperwork processed before they release the fire extinguisher to Air Canada (clearly I'm flying with a banana airline, that can't be trusted to pay its bills). The pilot came on and explained that "the paperwork from United will take 20 minutes or so to process".

Another half hour later, a United technician steps onboard with the bright red fire extinguisher (yay!), pilot explains that they "have the bottle. Now we just need to do the paperwork and we are on our way". We left a mere 30 minutes later.

The cabin crew was very nice about it though, they passed out water, the (very nice) entertainment system was running, and since I have a 4 hour layover in Toronto, I don't mind being late. Though sitting 6 hours in a plane instead of the expected 4.5 is a bit annoying., especially when you know that you have another 8.5 hour flight after that.

Friday, May 29, 2009

Door size label measures the door, not the frame

This weekend I'm going to replace the side door of my garage. I carefully measured the door and opening of the existing door. 31.5 inch wide between the outside of the frame. The rough opening in the wall is 32 inches wide and 81.5 inches high. So far so good.

Yesterday, I went to Home Depot, picked out a door style, and bought the 32x80 inch model, pre-hung, right-hand side. So far so good.

Today I measured the existing door frame again: 32x81.5 rough opening.
I measure the door: 33.5x81.5 ... Huh? Check the sticker. Yup, it says 32x80. Measure the door again: 33.5x81.5 inches.

*sigh*

I should have bought the 30x80 model, like my gut told me to. Another trip to Home Depot coming up. Return the door, buy the smaller version.

Wednesday, May 20, 2009

Nachtisch




Erdbeer-Rhabarber Kompott auf knusprigen Keks mit Schlagsahne. Hmmmm. Lecker.

Sunday, May 03, 2009

Fun with diverted files

I recently wanted to install a new program on grumpy, my MythTV box. apt-get install spat out a bunch of changes and dependencies, but I let it go ahead. What I didn't notice was a coreutils upgrade that was tucked away in the list, and led to the following error


Preparing to replace coreutils 5.2.1-2 (using .../coreutils_6.10-6_i386.deb) ...
Unpacking replacement coreutils ...
dpkg: error processing /var/cache/apt/archives/coreutils_6.10-6_i386.deb (--unpack):
trying to overwrite `/usr/share/man/man1/md5sum.1.gz', which is the diverted version of `/usr/share/man/man1/md5sum.textutils.1.gz'
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/coreutils_6.10-6_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Woah. Now what? After some fumbling around, I gave up for the evening. It was late, I was tired.

This morning I took another look at this. apt-get install -f led to the same error. After some googling and browsing around, I tried


grumpy# dpkg-divert --list | grep md5sumlocal diversion of /usr/bin/md5sum.textutils to /usr/bin/md5sum
local diversion of /usr/share/man/man1/md5sum.textutils.1.gz to /usr/share/man/man1/md5sum.1.gz
grumpy# dpkg-divert --remove /usr/bin/md5sum.textutils
Removing `local diversion of /usr/bin/md5sum.textutils to /usr/bin/md5sum'
grumpy# dpkg-divert --remove /usr/share/man/man1/md5sum.textutils.1.gz
Removing `local diversion of /usr/share/man/man1/md5sum.textutils.1.gz to /usr/share/man/man1/md5sum.1.gz'


Running apt-get install -f again fixed up everything and the queued packages installed.

I didn't really know about how diversions worked before this (though, now that I got to play with them, it's kinda cool), so I'm baffled where this local diversion came from, as all the other diversions in the list are maintained by packages.

Thursday, April 30, 2009

Goats!



Update:
There is a Google blog post with more details.

Wednesday, April 29, 2009

Computer cabinet

Ever since we moved two years ago, "Chef", my file/web server, was sitting in the living room, and various other assorted computers were packed away in the garage.


You might argue, "why do you want to keep so many computers, when you survived for two years without them just fine?" ... Hmmm, good point. I am planning to consolidate a bunch of stuff, e.g redo the storage architecture for MythTV (do I really need 1.5T of RAID1 disk space in the living room, or can/should I split up into a true backend/frontend infrastructure, and combine this with the file server?)


Either way, those servers need to go somewhere and my old rack didn't fit into the train room, so I built a new rack that fits under the layout, and has enough space for those old Sun workstations, and my servers.

Since I still do wood-working near/in the train room, I added doors and dust screens. All the parts are left-overs from other projects:

  • The posts and wheels are from the old rack, and the posts shortened to match the new height requirements.
  • The bottom and top boards are from the tree house project (remember those roof plywood pieces were cut from a 8x4ft board).
  • The plywood for sides and doors was originally installed as cabinet doors in the garage. After one of the previous owners replaced the garage door the rails of the garage door are right in front of those built-in cabinets, so the doors no longer opened (!) One of my first actions in the garage was to take down the doors...


The new cabinet fits under the layout framing with 1/2" to spare, just as planned. When rolled to the middle of the room, I can access both sides of the rack. It's a bit cumbersome because the lower end of the layout framing is at a height of 27", but it works out reasonably well. I don't think I need to access this too often.

Tuesday, April 28, 2009

Ein Baumhaus - selbstgebaut (Teil 2)

Fast fertig. Jetzt fehlt nur noch die Dachpappe.

---

I built this tree house from redwood lumber over the course of 4 days while on vacation a couple weeks ago. The lumber is from Home Depot. Assorted screws and some power tools I was eyeing for a while, I picked up at OSH. The first day was spent with preparing the site, digging holes for the poles, mounting the platform frame to the pressure treated posts and cementing the posts into place. The platform frame is made from redwood 2x6 boards held in place by 4" Timbertite screws.

After letting the cement cure for 2 days, Day 2 was spent on adding two additional floor joists and installing the platform floor. I used Spax 3" screws for mounting the floor. A variable speed, corded 1/2" power drill is invaluable for this. Normally, Spax screws don't need pre-drilling, but it's a good idea to pre-drill when you need to set a screw near the end of a board. I kept the drill in my battery powered drill, so was able to work quickly.

Day 3 saw the cutting of 7.5"x1/2" 8ft redwood planks into slats for the railing. The table saw is awsome for this. I sanded down the rough sawed boards first. The railing is built from 2x4" redwood boards at 2.5ft above the platform floor. I attached the slats using Spax 1 5/8" screws, again pre-drilling the slats, since the screws are close to the end of each slat. Finally, I added the support beams for the roof and cut the rear posts to length, so the roof slopes down towards the fence.

On Day 4 I installed the remaining support beams for the roof, and the plywood. The plywood was cut from two 8x4 boards. I had them cut at HomeDepot to 6x3.5ft and ended up shortening one of them to 6x3ft, so it doesn't stick out too far in the back. The roof support beams are 6ft long and the plywood sticks out all around by about half a foot, giving a bit more shade and space for wrapping around the tar paper.

This was a bit more interesting than I expected. I installed the top plywood piece first, secured it in place with several screws. Then threw the second plywood on the roof, and realized I can't reach beyond the first beam to add screws. Climbing on top of this, with a half secured plywood board in the rear was ... a bit annoying, but I was too lazy to get the ladder out of the garage.
Once the plywood was in place, I cut the rear wall from 6ft redwood fencing boards, sanded them on the inside, and again screwed everything in place. A jigsaw makes cutting openings for the roof beams easy.

All that's left to do is find some reasonably priced tar paper. I need 6x7ft, plus some slack, ~50 sqft. The smallest roll at HomeDepot costs $40 and covers 100 sqft.

Anyone want to share?

Sunday, April 19, 2009

Ein Baumhaus - selbstgebaut

Naja, Baumhaus ist vielleicht etwas uebertrieben, eher wohl Spielhaus auf Stelzen. So oder so, ich hatte diese Woche Urlaub und wollte wenigstens einen Eintrag von meiner Liste streichen koennen.

Montag und Dienstag verbrachten wir mit diversen Handwerkern, die Angebote fuer anstehende Renovierungen im und am Haus abgaben. Mittwoch nach dem Fruehstueck wurde der Bauplan gezeichnet, und dann kam der Grosseinkauf. Zwei Stunden bei Home Depot, eine Stunde bei OSH. Am Abend war es dann beschlossene Sache, dass ich das Fundament aus Zement mache (und nicht Eisenbahnschwellen wie urspruenglich geplant).

Donnerstag baute ich zunaechst den Rahmen der Platform aus 2x6 Redwood, und montierte dann die Pfosten (4x4 pressure treated fir) in die Ecken (mit Timbertite 4" Schrauben). Schoen gleichmaessig ausgemessen, so dass die Platform in jeder Ecke die gleiche Hoehe hat. Was ich nicht bedacht habe war die leichte Hanglage am Zaun, und so musste ich mich beim Lochgraben fuers Fundament hinten etwas verkuensteln damit die Platform in jeder Richtung eben ist. Das letzte Loch war Donnerstag abend mit Zement gefuellt und die Platform und Pfosten provisorisch abgestuetzt waehrend der Zement abbindet.


Samstag ging es dann mit dem Boden der Platform weiter. Ich zog zwei zusaetzliche Spanten ein (2x6 Redwood) und montierte dann den Boden (2x6 und ein paar 2x4), worauf mir aber dann doch tatsaechlich die Schrauben ausgingen (Spax Stainless Steel 3").

Gleich nach dem Fruehstueck am Sonntag ging es nochmal zu OSH um den Schraubenvorrat aufzustocken. Dann ging es Schlag auf Schlag. Die restlichen Schrauben im Boden der Platform kamen rein, dann die Balken fuer das Dach. Nach Bestandsaufnahme der Vorraete stellte ich fest, dass ich zwei weitere 2x4 brauche, um das Dach ordentlich abstuetzen zu koennen. Ein Besuch bei HomeDepot steht auf dem Programm... Fuer das Gelaender habe ich grob gesaegte Redwoodbretter abgeschliffen, zersaegt und verschraubt (mit Spax Stainless Steel 1 5/8"). Fuer die Rueckwand haben die Bretter nicht mehr gereicht, und ein paar muessen noch nachgekauft werden.

Und da steht es nun in unserem Garten, das langersehnte Baumhaus. Naechstes Wochenende sollte alles fertig werden. Rueckwand ran und Dach drauf.

Wednesday, April 15, 2009

Da kommt's hin ...

A high-quality online model railroad magazine

Just came across Model Railroad Hobbyist, a quite nice online only model railroad magazine. Several well-known authors are writing for this magazine, Joe Fugate is an editor. The magazine looks very good, and is well done. The articles are targeted to the serious modeler, and, especially the step-by-step instructions, go into quite some detail. Nice. I wish them best of luck, and hope they succeed financially as well.

Friday, April 10, 2009

A random Link

Every so often one comes across a really well done site, and then it's written in a language you don't speak. Case in point: Avontuur in Miniatuur

The layout is very nice. The quality of the text and pictures is top-notch. I really like the Tips & Tricks section.

... and it's all in Dutch. Thankfully Dutch is close enough to German that I can find my way around, even though its quite a bit of work to muddle through words like "oppervlaktespanning" (surface tension), "afwasmiddel" (dish washing detergent), or "injectiepuit" (syringe). With a little bit imagination and reading the sentences out aloud the meaning often becomes clearer. "Oberflaechenspannung", "Abwaschmittel", "Injector thingie" convey enough meaning to make clear what the author wants to tell me.

Much more fun than using automated translation tools.

...

and if I actually paid attention, I would have noticed the "English" link in the top right corner earlier, though there is much less content in English than Dutch.

Monday, March 30, 2009

M4.3 earthquake near San Jose, CA


This earthquake just happened less than 15km from my house.

What I found interesting (and how I noticed this in the first place), is the chatter in the discussion channels at work went up immediately as the quake happened. Cool.

Also, I didn't notice the waveforms feature at USGS yet.

Sunday, March 29, 2009

What you don't expect to find in a computer

A spider's nest, or ... actually ... I'm not quite sure what this is.



I brought chef outside for the half-yearly dust-bunny cleaning, and was quite surprised when I saw this thing. They yellowy stuff is quite solid and sticks very well to the case. Here's a close-up.

Monday, March 23, 2009

Coffee table 1:160 N track test fitting


I finally managed to make it to The Train Shop in Santa Clara to pick up a few supplies, as well as some N track for the coffee table layout. I'm going to use Code 80 Atlas track, as it's cheap and reliable. The section ends are a bit odd looking. Seems there are some "snap" pieces that would hold the sections together. I'll either live with the look, or "fix" them, but that seems more work than it's worth.

The curves are the minimum radius Atlas offers at 9 3/4" (24.7cm), which is what I used when I planned the size of the coffee table. While wider curves would have been nice, I just don't have the space for a huge coffee table, and it's already quite big as is. Any bigger and I might as well convert the living room into the layout room.


Aside from confirming sizing, I also wanted to see my little Bachmann 2-6-2 Prairie run and see how it navigates the curves. Full score on both counts. The loco looks nice, is extremely quiet (especially compared to my HO Maerklin locos), and runs just fine. It seems it prefers to go forward though, as the speed with tender forward is a tad slower at the same voltage setting. This is an analog DC locomotive. I'm not planning to run the coffee table layout with digital control anytime soon.

Sunday, March 22, 2009

Done with taxes

Phew. I never did my taxes as quickly as this year. 1 day prep-work (basically filing away a year's worth of bills and paperwork) and a long afternoon for the actual return.

Most of the work consisted of copying what I did for last year's return, and TurboTax Online makes this really easy. I've been using TurboTax Online for the last couple years, and every year it becomes more slick and less clunky. I don't miss the videos of the desktop version, never watched them anyways. Don't want to go back to pen and paper either. My situation is complicated enough now, that I'd rather have an accountant do it for me than trying to figure this all out without the guided interview style TurboTax uses.

So, I'm happy the pain is over for now, and I'm curious when the California refund is going to show up in my bank account. There was some rumbling during the recent budget mess that they would delay processing refunds.

Tuesday, March 10, 2009

To use a computer for controlling your railroad or not

Let's face it. I want to build and run my model railroad. I don't want to program a computer and debug all the little problems that pop up when you make things complicated. Over the last few weeks I spent several evenings trying out various free Linux programs for controlling a model railroad (srcpd/spdrs60, jmri, rocrail), and all of them leave something to be desired. Be it the UI (jmri), or communication with the Intellibox (srcpd, jmri, rocrail), or (in)stability of the program (rocrail, srcpd) , or complexity of figuring out how this is even supposed to work (jmri).

Especially since I don't want to do everything on a computer screen. There are parts of my layout where automated control makes sense, especially the hidden staging area. There are several parts (especially tunnels) where feedback sensors make sense, so I can display track occupancy somewhere.

However, I also want my kids to be able to just play with the railroad. Turn on the control station, pick a locomotive with a train and drive it. This is naturally easier if they don't have to fire up a computer and restricted themselves to the visible areas (and the connecting tunnels, of course), and not necessarily venture into the dungeons of staging.

Running trains digitally is a given for me. Even for the relatively short time I had with the few locomotives I converted so far, the experience of actually driving a train over a piece of track independently from everything else that's going on around it has been very positive.

However, doing this on the naked staging tracks and ramps that will be hidden later is not exactly satisfying. There's still quite a bit of work left to do in staging, though it's details. Most of the basic electrical and track work is done.

Now that I finally have most of the parts I need to start building Talheim station, I'm longing for making some progress there, build some scenery, and take a break on the topic of computer control, and ripping my hair out out.