Friday, April 29, 2005
Mac OS X Tiger Upgrade
I'm not a rabid Mac fan, but I had nothing else planned for this weekend, so I decided I'd give the new Mac OS X upgrade a whirl.
The first step was acquiring it. I knew that April 29 was the big day, so this morning I stopped at CompUSA on the way to the airport. This is when I discovered that the official premiere wouldn't be until 6:00 PM. It's a little sad to think that Apple believes their biggest fans would have nothing better to do on a Friday night than go to a computer store, but maybe they are right.
So, I returned at about 6:15 PM, while on the way to a birthday celebration for my brother (Happy Birthday, Steve!). Several of the employees were wearing tiger Halloween masks. I went to the Macintosh area of CompUSA, expecting to find Tiger boxes there. There were none to be found. So I flagged down a manager and asked if they were selling Tiger. I was told to go to the Customer Service desk. OK, I go to the desk. I stand there for ten minutes while the clerk at the desk goes back and forth between a customer's paperwork on the desk and a back room. Finally, he asks me what I want. I say I want to buy Tiger, and he tells me to go over to the cashier. So I go over to the cashier and say that I want to buy Tiger. "Buy what?" the cashier asks. "Tiger, the new Mac OS." The cashier clearly has no idea what I'm talking about, so I point over to the Customer Service desk and suggest that he talk to his co-worker. They confer for a while, then a few minutes later the cashier comes back with a black box with a big 'X' on it. So, it took a total of about fifteen minutes to buy Tiger from the time I walked in. Thanks, CompUSA.
After the birthday dinner, I got home and put the install DVD into the iMac. Fifty-five minutes later, my iMac is running Tiger. I haven't really explored it yet. Spotlight says it will be eight hours before my drive is indexed, so I can't play with that yet. The Dashboard widgets are neat; I've missed the Desk Accessories menu that the classic Mac OS had.
The only annoyance so far is that Safari made itself my default web browser and RSS reader, so I had to reset those to Firefox and NetNewsWire respectively.
Other than Safari's coup d'etat, I don't notice any differences. There's no fancy new UI theme, no animated agents or cartoon balloons popping up asking me if I want to try new features, no change to my startup apps, no new icons on the Desktop. It just works like it used to work, and that's what's really cool.
[UPDATE: OK, there is one big annoyance: Tiger "upgraded" Quicktime to version 7. Unfortunately, my Quicktime Pro 6 license key is no longer valid. So now Apple wants another $30 for another Quicktime Pro key. I'd be happy to stay with Quicktime 6, but that is not an option. See Jeremy Zawodny's blog for a great statement of the frustrations of Quicktime users.]
Flying Lesson #18
Things went a lot better today than on Wednesday. I wasn't as rusty, and the air wasn't so rough.
Just after takeoff, when we were a few hundred feet in the air, I noticed the instructor's hands reaching for the yoke. Uh-oh, what am I doing wrong? I looked around: the wings were level, and the nose was pitched upward appropriately. I looked at the instruments: airspeed was good, we were climbing at about 1,000 feet per minute, the tachometer showed full power, and engine instruments were all in the green. But my instructor's hands were still hovering around the controls, as if he was assisting a toddler taking its first steps. Finally, I asked, "What's wrong?"
"Nothing. I'm just messing with you," he responded. It may sound cruel the way I'm telling it, but it was funny at the time. He handed me the Foggles and took the controls while I put them on.
The hood work went fine. He had me make a few turns and change altitudes. I had a little trouble stabilizing at one altitude, bobbing up and down but staying within 100 feet of where I was supposed to be. He had me track a VOR radial, which went pretty well until I got distracted while adjusting the heading indicator and forgot about the VOR. (For you non-pilots, a "VOR" is a radio navigation aid.)
We practiced some steep turns. These went well. Then we headed back to the airport. Visibility was only about 10 miles, so I couldn't see the landmarks I usually use to find PDK. I had to navigate using the VOR "for real" for the first time.
Then back to my nemesis: the landing. My first one was too high, the next one was too low, the one after that was too fast, etc. On one landing, the instructor pulled the power to simulate an engine-out situation. I handled that fine, but wasn't sure whether I should use flaps or not (I didn't, but I should have).
Finally, on the last landing, the instructor said he would not touch the controls at all, unless safety demanded it. I made a nice stable approach, aimed right at the numbers and right down the centerline, and I was feeling really good until I realized I'd flared too soon. So I landed a little hard, but I can now say that I've made an unassisted landing. I hope he'll let me do landings unassisted from now on; I think I'll acquire the right feel faster if he's not applying corrections for me.
For today: 1.5 hours dual in N4363D, with 6 takeoffs and 6 landings, and 0.4 hours simulated instrument flight. Cost: $279.65.
Wednesday, April 27, 2005
Flying Lesson #17
It has been almost two weeks since my last lesson, so I expected that I'd be a little rusty today. We also had gusty winds and moderate turbulence, which made things extra challenging. So, in short, everything sucked today.
We spent the day practicing stalls, slow flight, and steep turns. We did a touch-and-go and a full-stop landing, both with a 12-gusting-to-20-knot 90-degree crosswind. Like I said, it all sucked.
I was pretty disappointed with myself, but the instructor had some encouraging words after the flight. He said he expected me to do a lot worse. Even with the hiatus and the weather conditions, I am still meeting the school's standards for someone at my level of experience. He pointed out that at my current rate of progress, I could be soloing in about three weeks. So after the debriefing, I didn't feel as bad as I did at the end of the flight.
For today: 1.5 hours dual in N4363D, with two landings. Cost: $285.35.
Comments Are Not More Important Than Code
Slashdot recently had a link to Jef Raskin's essay "Comments Are More Important Than Code." The use of comments is a stylistic issue that has been coming up at work a lot lately, so I've been clarifying my own thinking on the issue.
I am firmly in the minimal-commenting camp. That is, I think code can and should be readable with few comments. Code that is not readable should be rewritten, not "improved" with comments. Adding comments to bad code is like spraying perfume on a turd.
I also believe that even when code is not very self-documenting, programmers should still read it. I hate to say it, but whenever I hear someone complain that a codebase doesn't have enough comments, my gut reaction is to consider the speaker as lazy or unskilled. I've learned a lot by reading and re-writing hard-to-read code over the years, and people who avoid doing so are neglecting opportunities to improve their skills. I have a lot of respect for people who complain about poorly chosen identifiers, spaghetti structure, and other aspects of legacy code, but I have little sympathy for those who complain that reading code is just too hard. If you would rather read comments than code, please get out of the programming business.
But I'm not an extremist in my views. While I think a lot of code is overcommented, I don't claim that all comments are useless or harmful. Comments are good for the following purposes:
- Pointing out discrepancies between what external documents say the code should do and what it actually does. ("TODO" comments are an example of this.)
- Describing workarounds for bugs in the compiler, libraries, OS, etc.
- Doxygen/JavaDoc-style comments are good, as long as they don't make the code unreadable. If there are more comment lines than code lines, it would be better to maintain the documentation separately.
The following types of comments indicate problems:
- Comments that simply describe what the code is doing in plain English are useless. This is usually a sign that the code was written by a novice, or written to be read by novices. Whenever I see a comment like /* This is how we do a constructor in C++ */, I know the writer was learning a new language.
- "Summarizing" the behavior of the next few lines of code is not a good practice. If a few lines of code serve a purpose that can be summarized easily, those lines should be extracted out into a named function.
- Comments like /* Changed 2004/12/23 by RGF */ are useless. This is why we have version control systems. I guess some people just like to see their name in print.
- Comments that explain how a function used to work, before being changed, are completely irrelevant.
- Commented-out code is distracting. If you don't need it, delete it.
- Long paragraphs or essays that explain algorithms or configuration options or other complexities don't belong in the code. Such information belongs in external documentation.
- Big comment blocks in some standardized format for every single function are my biggest peeve. When I see these, I know a Style Nazi is lurking in our midst.
I agree with Raskin that external documentation is important, and it is best to write such documentation before writing the code. However, it is not clear to me what the link is between this idea and the idea that extensive comments within the code are a good thing. I like tools like Doxygen, and I think Literate Programming is pretty cool, but I don't see those as the same thing as "comments." Trying to put LP-style information into comments in a plain-old C++ file is just stupid. If you want LP, then you should really do LP.
I have strong opinions on this issue, but I try not to be a jerk about it. I work with smart people who put lots of comments in their code, and I don't complain. But I don't hesitate to delete comments that have little value.
Friday, April 22, 2005
My First Wiki
Back in 2001, I got into Palm OS programming using Quartus Forth. This was during a time when I was really hating my day job, and so scribbling some code into my PDA was a way to do some creative recreational programming.
Forth is not a popular language, and information on it is hard to come by. There is a comp.lang.forth newsgroup, but I found its participants to be a bunch of jerks (this was a few years ago; maybe things have improved). Palm OS wasn't too popular either. Quartus had its own forums where people could chat about Forth programming on Palm OS, but I found the forums hard to use - information got lost too easily, and threads usually drifted way off topic.
This was soon after I found the C2 wiki, and so, having become a rabid believer in the wiki religion, I started my own wiki: The Sleepless-Night Wiki. This was initially intended to be a a place for Quartus developers to share info, and it did serve that purpose, but I also used it for my own personal purposes.
Eventually, my interest in Palm OS waned, so I stopped participating in my own wiki. Quartus also went through a long period of no upgrades, so many of its users stopped participating as well. The wiki stagnated. Then, in early 2004, it stopped working due to configuration changes by my web hosting provider. It stayed dead for several months, and I eventually turned all the content over to the owner of Quartus. It's now somewhat active again, as Quartus is now releasing new beta versions of the Quartus Forth tool.
The original Sleepless-Night Wiki is currently up and running in a read-only state. I occasionally browse through it. It helps me remember that there have been times that I enjoyed programming enough that I would do it for hours, and then spend even more hours writing about it.
While writing in my wiki, I developed the notion that I was pretty smart and could teach other people important stuff. I wrote several Forth tutorials, which have probably never been read by anyone but which I really enjoyed writing. Looking back at them now, I think they are too difficult for the newbie audience for which they were intended, but they seem reasonably well-organized and I hope somebody got something out of them. The articles I am a little proud of are these:
The really cool thing was when other people started writing articles too. Lots of the articles on the QuartusForthTutorials pages were written by others. I learned a lot from them, and their writing motivated me to write even more.
Aside from the tutorials, I also did a lot of low-level programming, for which Forth is well suited. I wrote a multitasking system (Palm OS had no multi-threaded or multi-processing functionality). I wrote a simple debugger. I developed Forth words that made animated graphics easy. It was lots of fun, but I never really used any of these things in a real application. I just liked writing about them in my wiki.
I've set up a few other wikis. I set up the Remoting.Corba_Wiki for an open-source project. I've also set up wikis for two employers. The first one was going pretty strong at the time I left that company. The wiki I have set up at my current employer doesn't have much use by anyone other than myself, but I do see people experimenting in the Sandbox or updating the phone-numbers page, so I have some hope.
FAA Knowledge Test
My FAA written exam was scheduled at 11:00 this morning. Highway traffic was stop-and-go, so for a while I was concerned that I'd be late, but eventually we started moving well. Then, about five minutes away from the airport, I suddenly realized that I didn't have my ground instructor's endorsement with me. It was still back at home, on the kitchen counter where I wouldn't forget it.
I didn't want to drive all the way back home to pick it up, but I couldn't take the FAA test without it. I swung by the flight school at 10:55, to ask whether my ground instructor happened to be there. Nope. So I sheeplishly went into the testing center to tell them I'd have to go back home to get the document. No problem, they said, I can take the test any time before 4:30 PM.
So I hopped back in my car. Ninety minutes later, I was back, with everything I needed.
The test format is 60 multiple-choice questions, provided on a computer. Many of the questions have an associated sectional chart, diagram, or table that could be seen on screen or in a supplemental booklet provided by the FAA. I got through all 60 questions, and had just started re-checking my answers when there was a loud crash of thunder and the computer went blank. So I had to wait a few minutes while the computer rebooted and the proctor restarted the exam software, but all my answers were still recorded. The same thing happened to me during one of the Microsoft Certified Professional tests.
I double-checked my answers, distracted a little by the lightning and thunder outside. I expected the computer to go dark again at any time, as the thunderstorm activity got worse. I caught two mistakes while double-checking: on one question, which asked for the magnetic course between two airports, I had forgotten to add the magnetic variation, and in another I has misread a course on my plotter by 90 degrees (I'd wondered why none of the three answers made sense). After I was satisfied, I clicked the Finish key, followed by three more "Are you sure you have finished?" confirmations. After that, there was a short questionnaire I had to fill out before I'd get my testing results, with questions like "Did the proctor check your identification," or "Was the testing environment satisfactory?"
Then I got the results. I missed four of the sixty questions, giving me a score of 93%. I was disappointed, as I really expected to miss no more than one or two questions. The average score on the test is 78%, so I guess I did well, but being merely above average isn't enough for me. I should have studied on Wednesday instead of playing golf.
The proctor printed out my certificate, stamped it with a special red stamp and embossed it with the testing service's seal. He made the point several times that this was the only copy; if I lost it I'd have to wait 6-8 weeks for a replacement, and I couldn't go crying to him if the day of my checkride I couldn't find it.
Now I'll have to try to figure out which questions I missed. The results sheet does not tell me which four questions I missed, but gives four "subject area codes" for my incorrect answers.
The really annoying thing is that I know my flight instructor is going to poke fun at me for missing that many questions. I had hoped I would be immune from that by tying or surpassing the score of 98% he got when he took the test. I don't like taking crap from a 23-year-old, but I'll just have to learn to live with it.
Wednesday, April 20, 2005
Finally, A Real Embedded System
One of the reasons I took my current job was the opportunity to work on embedded systems. For years I've been doing desktop and server applications, and have gotten bored with them, so the chance to do some embedded stuff was attractive. Unfortunately, after taking the job, I was disappointed to learn that all of our "embedded" applications were running on Windows 98. They were essentially no different from a desktop application, except that the user input was a touch screen instead of mouse and keyboard.
Now, I've got a chance to work on a real embedded system. Yesterday we were given samples of the new single-board computers being considered for use in the next generation of some of our products. The boards have 200-MHz processors, 32 MB of RAM, and a whole bunch of serial ports. Our job is to figure out how much work will be required to port our existing application to this hardware. Our current hardware platform has a 1.1-GHz x86 processor and 128 MB of RAM, so there are concerns that we may need to re-design our application to fit into a smaller memory space and still meet the timing requirements with a slower CPU. We really don't know what the hardware requirements are, as there are no accurate means of measuring the CPU and memory usage of our application on Windows 98.
I know some developers will laugh at the idea of calling a 200-MHz machine with 32 MB of RAM an embedded system, or a "constrained platform." There are embedded-systems developers who work on machines with speeds measured in kilohertz instead of megahertz and memory sizes measured in bytes instead of megabytes. Obviously, this machine is closer to a server than to a digital watch, but it has no video, no keyboard, no mouse, and no hard drive. It has half the CPU speed and half the RAM of my PDA. So it is definitely different from what we've been using.
One big open question is which OS we will be running on this thing. The board's manufacturer recommends embedded Linux, and that's what's loaded on the boards out of the box. However, our existing applications are written for Windows, and our development staff is more familiar with Windows than with Linux, so there is some desire to go with Windows CE. I am an "OS agnostic" (I don't really care what OS we go with) but I think in this case Linux makes more sense. If we had a GUI, or needed to interact with Microsoft applications or technologies, then CE would make sense, but all we're doing is serial-port I/O, LAN and dial-up communications, and some file management, so I think Linux fits the application better.
Another concern with trying to use Windows CE is that the manufacturer has not yet provided CE device drivers for the board. They promise them by the end of the month, but they have been promising them by the end of the month every month since December. We need to have this system ready in a few months, so delays in getting full support for the OS increases our risk.
I've written embedded apps for QNX, VxWorks, Palm OS, Windows CE, and Linux. The POSIX=style environments (QNX, VxWorks, Linux) are a lot easier to use due to all the POSIX-style development and debugging tools out there. I like being able to just hook up a VT100 or telnet into a box and do everything from the command line. Unfortunately, I seem to be in a minority. Everybody else wants the fancy IDEs and emulators and other glitzy stuff that you can get for Windows CE development. They think writing apps for CE will be just like writing apps for Windows 98 and XP, and there will be little need for retraining. I think they are wrong, but I won't be able to convince them.
In theory, I am just managing and mentoring the guy who is really doing all this evaluation. However, this is my first chance to work on something that interests me, so I'm going to be as involved as I can be. I'm even thinking about going in to the office on my days off to play with the new toy. I can't decide whether that is healthy or not.
Monday, April 18, 2005
A few weeks ago, I got a notice that I was a standby juror for Fulton County Superior Court for April 18, 2005. I had to call a phone number last night to find out if I had to show up. "All groups report for duty" was what the recording said, so I had to get up at 6:00 AM this morning to be at the courthouse by 8:15.
This is the same courthouse that was the scene of last month's incident where a prisoner overpowered his guard and killed a judge and three other people before eventually surrendering. In the lobby, there was a large directory sign listing the offices of all the judges, and one entry had obviously been recently removed. Creepy.
It's been 20 years since the last time I had jury duty. I remember a tiny cramped room last time, but this time I was pleasantly surprised by the large jury assembly room. There were about 250 people in the room, but less than a third of the chairs were in use, so it didn't seem crowded. There was one guy snoring very loudly, and several annoying people with cell phones, but it really wasn't too bad.
I'd brought a book to read, but unfortunately, I left it in the car, so to pass the time I had to make due with the old magazines on the shelves in the room. First I went through the July 26, 2004 issue of BusinessWeek. Then I found a 1999 issue of National Geographic. They had huge stacks of back issues of The Fulton County Court Reporter, but I decided I'd rather just stare at the ceiling than read those. It's too bad they couldn't just put us all in cryonic suspension for the day, thawing us out as needed.
At 8:30 they showed an orientation video that told us about the importance of jury duty in protecting our freedom and way of life. Then they told us to wait while they figured out which people would go to which courtrooms.
So we waited. One group of 30 state court jurors was sent out at around 9:15. Then we waited some more. At 11:45, another group of state court jurors was told to go to lunch and then report to a courtroom at 1:15. At noon, the rest of us were told to go to lunch and report back to the jury assembly room by 1:00.
I found a Quizno's sub shop at Underground Atlanta, about two blocks north of the courthouse. Then I walked around for a while. It was a really nice day today. It's too bad I had jury duty, but otherwise I would have been working and wouldn't have had any chance to go outside, so I guess this was for the best.
We all got back to the jury assembly room at 1:00, and waited some more. At 1:30, the spokesperson thanked us for our patience, and explained that six trials had been scheduled for the day, but all but one were disposed of that morning without need for a trial. So only one group of superior court jurors would be needed, but we all had to wait around until that was resolved.
So we waited some more. At 3:00, they finally read the list of sixty names of the people who would have to report to the courtroom for voir dire. The tension mounted as the list was read, as we all knew that whoever wasn't on this list would get to go home. People had to say "here" when their names were read, and as the list went on, the "heres" sounded more and more like "goddammit." Finally, name #60 was read, and there was audible relief from everyone not on the list (myself included).
But we still had to wait. Finally, at 3:30, the rest of us were excused.
So that's what I did today to make the world safe for the freedom and democracy.
Sunday, April 17, 2005
Ground School Complete
We had our final exam in ground school today. It was a 60-question multiple-choice test, using questions from the FAA's published question database.
I missed one question. Now I'll always remember that 14 CFR §91.303(f) states that no person may operate an aircraft in aerobatic flight when flight visibility is less than 3 statute miles. My incorrect guess was "5 statute miles."
I hope to get the actual FAA Knowledge Exam out of the way this week, but I have to report for jury duty tomorrow, so I don't know when I'll be able to take a day off for the exam.
I heard yesterday that my two-year-old niece kissed a boy in school. She's getting a very early start.
My brother and sister-in-law have a tough couple of decades ahead of them.
Friday, April 15, 2005
Flying Lesson #16
It was a nice sunny day, so for the first time in about three weeks, I got to fly away from the airport.
The lesson plan called for crosswind landings, which required that we land on a runway that had wind blowing across it. Winds were out of the east-northeast, and the runway at PDK runs north-northeast, so there wasn't much crosswind there. We went to the charts and looked for other airports in the area that would have runways going perpendicular to the wind direction. We decided we'd fly to Pickens County Airport (JZP), which is about 36 nautical miles north of PDK. Its runway goes north-northwest, which should have given us a nice crosswind from the right.
While waiting for the weather report, the instructor told me that one of the other students in my ground class soloed for the first time yesterday. The instructor sat in one of the school's other planes on the ground during the solo flight so that he could listen in on the radio. The runway has a small hill in the middle, so from the position where the instructor was sitting, he could not see the landing end of the runway the student was using. On every landing, the instructor would see the plane disappear behind the hill as it came in, and then he would have to wait several long seconds before the the beacon on top of the plane's tail appeared over the top of the hill to let the instructor know everything was alright. The solo went fine.
The airport was busy, as one would expect on a pretty Friday afternoon. I had to make three calls to ground control after my runup to ask for takeoff clearance before they heard me - my other two calls were blocked or otherwise unnoticed.
The flight up to the airport was uneventful. The day was hazy, so I couldn't see very far, but the instructor had just been in this area yesterday, so the locations of things were fresh in his mind. He remarked that JZP would be the farthest north he had ever flown (he got his training in Florida, and since starting at PDK hasn't had reason to fly beyond the practice area).
As we approached JZP, an uncontrolled airport, the instructor radioed to announce our intentions. We were answered by a plane that was nearby practicing an instrument approach. Unfortunately, they did the dumb thing that a lot of instrument pilots do: they described their positions and actions in terms of the instrument procedure. Those things mean absolutely nothing to a visual-flight-rules pilot like myself. The instructor could have figured out what they meant if he had memorized the instrument procedures for this airport, but he hadn't. So we did a 360-degree turn to give them some room to do whatever it was they were going to do. We watched them make a weird low zig-zag approach, touch-and-go, and leave.
JZP is surrounded by hills, so the winds are a little strange. The wind across the runway was coming from the left, instead of from the right as had been forecast, but that's OK: they were still crosswind landings. I'm still having problems with directional control just before touchdown. The instructor demonstrated one for me again, and this time I noticed the difference between what I saw as "straight ahead" and what he said was straight ahead, so that gave me a clue about what I'm doing wrong. Then I did a low approach, where I flew 10-20 feet off the ground straight down the runway, and there I was able to stay pretty straight. But then I tried another landing, and again I went all screwy.
The good news is that, while my landings are terrible, they are getting less terrible, so I'm sure that with practice I'll eventually nail them. One annoying thing about this drill is that for every landing I want to make, I have to fly all the way around the pattern. So it takes seven or eight minutes of time to get the 10 seconds of landing practice I need. Also, I can't really experiment too much, because I have to get the plane down in one piece. In most learning situations, I try all sorts of wacky extreme stuff to figure out how things work, but here "wacky extreme stuff" could get me and my instructor killed, so I can't learn that way.
We flew back to PDK. The airport was still busy. Pilots on the ground were repeatedly keying their mikes to express their impatience with waiting for clearances, and ATC had to ask them to stop. I am often stunned at the emotional immaturity of pilots; I hope I never get that way.
Logged today: 2.1 hours dual in N4363D, with 8 takeoffs and 8 landings. Cost: $342.48.
My instructor will be out of town next week to get some training down in Florida, but will be returning the week after that. So no flying for me next week, but I hope to get the FAA Knowledge Exam out of the way. I'll be studying all weekend. After the instructor gets back, I'm going to go to a three-lesson-per-week schedule (right now, I'm only flying twice per week).
After I got home, I fired up Microsoft Flight Simulator and repeated my flight, as I often do. PDK is in a pretty flat area, so it looks pretty bland in the flight simulator, but I was surprised at the realism of the simulated area around JZP. All the hills and other terrain features I had been using as visual references in the real world were there in the sim. It even had the haze, thanks to its ability to download real-world weather conditions. All that was missing in the sim were a few buildings, and the turbulent winds.
Thursday, April 14, 2005
I got my Federal and state income taxes filed, more than a day before the deadline! I'm proud of myself; I'm usually one of the people dropping off my forms about 15 minutes before the Post Office closes on the 15th.
I used TurboTax for the Web, which was really easy to use. My tazes are pretty simple, as I have no dependents, no property, no taxable investments, and no income other than my one job. I remember the good old days when I could just file the simple 1040EZ form, but my income rose above the level where I was allowed to use that. The TurboTax web thingee makes it almost as easy: all I really had to do was enter my ID and address information, the data from my W2, and then go through a few dozen screens answering "No" when it asked if I needed various other deductions, forms, etc.
I owed the Feds $167, but got a $153 refund from the State of Georgia, so I almost broke even.
The real winner was Intuit, who got $70 from me for providing the filing service. After I did it, I noticed on my bank's web site (Bank of America) that I was eligible for a deal that would have saved me $20. I'll try to remember that next year.
Wednesday, April 13, 2005
Flying Lesson #15
As I arrived at the airport for my flying lesson, dark clouds filled the skies and the forecast called for thunderstorms over the next few hours. Those conditions made the go/no-go decision easy: it was going to be a ground-school day.
The instructor gave me some practice with the school's PCATD system. It's informally referred to as a "simulator," but as far as the FAA is concerned, it is a "flight training device." Such devices are not very useful for teaching the basics of flying, but are useful for practicing emergency procedures and instrument flight. The instructor put me through a few engine-out scenarios: on the runway, a few hundred feet after takeoff, a few thousand feet in the air, and so on. The simulator was hard to fly, because the controls are a lot more sensitive than a real plane's, because of the lack of physical motion, and because you can't see much out the "window." The graphics were very crude in comparison to Microsoft Flight Simulator, but it has a lot of features useful for flight training.
The PCATD seems like a pretty good deal for the flight school. They charge $49/hour for its use, as opposed to $86/hour for real-airplane rental. The real airplane burns about #36 of fuel per hour, so the per-hour rates are really about the same. The PC costs a fraction of what the real airplane does, and I don't know for sure but I suspect the maintenance and insurance costs are minimal. It's probably not a good deal for the instructors, as I don't think they get to log pilot time while using it for training.
After some time with the PCATD, we looked out the window and saw that the weather was getting better. The instructor suggested that we try to get some more pattern work done, so we headed out to the plane. Noticing one dark cloud over us, the instructor told me to leave the plane tied down, but to do all the other preflight activities. Sure enough, just as I was about to complete the preflight, it started raining, so we secured the plane, gathered our gear, and ran back inside. (Here's a pilot tip: If you fly a low-wing airplane, try to park next to a high-wing airplane so that you can duck under it whenever it rains.)
We had to wait about ten minutes for the shower to pass, watching weather radar and paging through aviation magazines to pass the time. Radar showed another band of precipitation forming off to the west, but it would be about an hour before it arrived, so we headed back out to the plane, re-did a few parts of the preflight, and took off.
I handled pitch and power well on the approaches, and leveled out and flared pretty well. However, my directional control was just screwy. The instructor would tell me to go left when I thought we needed to go right, and vice versa. I don't know what sort of brain damage I have, but it's just not working. The next lesson plan calls for crosswind landings, so I hope with a few more landings I'll figure out whatever it is that I'm not getting. I've ordered a yoke and rudder pedals for use with Microsoft Flight Simulator, and I hope some practice with that might help me re-wire my brain however is necessary.
I handled the radio most of the time today, with the instructor stepping in whenever ATC made an unusual request. The pattern was a little crowded, as several pilots wanted to practice touch and goes during the break in the weather, so there were several "extend downwind, I'll call your base" kinds of instructions and lot of traffic advisories. We had to go around once when the plane in front of us stopped on the runway instead of getting clear. I'm getting pretty comfortable with the radio, although there were a few missteps and a couple of times when I said "three-six-delta" when I meant "six-three-delta." After our full-stop landing, ATC actually gave us (me, really) a compliment about our nice tight patterns. (I guess they don't pay attention to the touchdowns.)
For today: logged 1.1 hours dual in N4363D, with 7 takeoffs and 7 landings. Cost: $344.98 (including both the PCATD session and the flight).
Tuesday, April 12, 2005
I've added Google Ads to the blog (see them over on the right side of the page). I don't really expect to make any money from these - the stats indicate my blog attracts only about a dozen readers - but I was interested to see what Google thinks my audience might be interested in buying.
When I first looked at my blog with the ads, I saw ads for companies with the name "Johnson" in them, and also a couple of contact lens ads. I understand the Johnson thing, but what is it about my blog that triggers the contact lens ads?
A few minutes later, I see aviation-related ads.
Monday, April 11, 2005
Sticking With Flying
I had my final ground school class tonight. Next Sunday, we'll have the final exam, and assuming I pass, I'll get to take the FAA Knowledge Exam the following week. At the risk of tempting fate, I'll say that I'm sure I'll get good scores on these tests - maybe not 100%, but at least in the high 90's. I'm a good test-taker, the test isn't difficult, and thanks to the Freedom of Information Act, all the questions and answers are published in test-prep guides. It seems that you've got to be pretty dense to not get the required 70% score. (I hope I don't have to eat those words.)
Thinking about this milestone has got me thinking about whether I really want to keep going with the flight training. I enjoy it, but I'm not finding it very interesting anymore. I've gotten past the "magic" part of it, and from here on it's just a matter of practicing and perfecting the skills. I know I can do it, so there is no challenge. I don't feel much pride in my accomplishments. I'm sure my first solo flight and the solo cross-country will be thrilling, but I expect the rest to be a chore.
I estimate that completing this endeavor will take about five more months and cost another six or seven thousand dollars. If I do stick with it, then I'll be spending several thousand dollars per year on this hobby. I have the time and the money available, but I wonder whether I could put them to better use.
I have no practical use for this skill. I don't have any family or friends a few hundred miles away that I'd like to visit. I don't need to travel around the region on business. I don't intend to make a career in aviation. I don't plan to build an airfield in my backyard. I don't think I'll get a chance to heroically defend Britain from the Nazis in my trusty Spitfire, or to join the Blue Angels. So why am I doing it?
At this point, the only reason I'm continuing is because I don't want to be a quitter. I know I'll always regret it if I stop. I want to finish because it's a goal I set for myself, not because I see any value in it. I predict that after I get the license, I'll fly a few times in the first couple of months, then I'll fly once or twice a month for a while, then one day I'll realize I haven't flown in three months and it wouldn't be safe for me to get back into an airplane without some more training. That will be the end of it, but I won't go to my grave wishing I'd learned how to fly.
So why bother? Well, today is Monday, and the above paragraphs summarize the way I feel every Monday. On every Tuesday I'm sure that I'm ready to quit. Then on Wednesday I'll have a flying lesson, and I'll love flying again. Friday's lesson will make me even happier, but then the four-day lesson-free stretch will get me doubting again. As long as I don't quit before Wednesday, everything will be fine until the next Monday. I'll be repeating this cycle for another few months, but I do expect to finish what I've started.
If my flight school would hire another instructor, then maybe I'd be able to add a Sunday lesson to my weekly schedule. That would help a lot with periods of depression between lessons.
Sunday, April 10, 2005
Saturday, April 09, 2005
Negotiation and Cooperation
I was raised in a home where politeness and cooperation were stressed. My parents were patient and generous. They didn't criticize me. They never raised their voices unless something very bad was happening. When they asked me to do something, I knew I was expected to do it, and in return when I made a reasonable request from them, it was granted. Of course, I didn't appreciate all of this at the time, believing as all children do that my parents were unreasonable tyrants who didn't want me to ever have any fun, but as I look back and as I hear stories from other people about how they were raised, I know I had things pretty good.
However, this pleasant upbringing caused me some problems when I struck out on my own. It took me a very long time (over a decade) to figure out that many people have very different assumptions about the right way to interact with others. Some people raise their voices when they are not upset. Some people will argue with you even when they know you're right. Some people ask you do do things that they know you can't do or shouldn't do. Sometimes people refuse reasonable requests. Some people won't listen at all. Some people will fight you just to see how hard you fight back. Some people will say bad things about you even though they respect and admire you. I used to think that people who did these things were horrible, evil people, but I've been learning how to deal with them.
When I was a young programmer, I would ask co-workers and managers for things, and they would say "No." To me, that was that. I assumed that "No" meant "Sorry, I've considered the consequences but it is not possible do that. This decision is final." This left me frustrated until I learned that "No" often means "You haven't convinced me yet," and it is acceptable to restate the case.
Another frustration as a young programmer was the continuous pressure to work harder and faster. If I told the manager a task would take two weeks, the manager would say, "No, it has to be done by the end of the week." I worked a lot of very long hours trying to meet the managers' demands, thinking that if I couldn't get things done by their deadlines, the problem must be with me. After all, they wouldn't ask me for superhuman performance, would they? Well, yes, they do! With some seasoning, I now have a different approach to such conflicts. Managers' requests are not "orders" that must be carried out no matter the cost; they are the opening of a negotiation. When a manager says "I absolutely must have this by the end of the week", I interpret it as "Can you do this in a week?" and respond accordingly. When I say a task will take two weeks, I don't let anyone talk me down. If I don't feel like working a few 80-hour weeks to meet the commitments the manager made, I don't do it. If managers suggest that I must not be very good at my job if it takes me as long as I say it will take, then I simply agree with them.
While I've figured out how to negotiate with managers, negotiating with co-workers is something I'm still working on. With my first couple of employers, there was a lot of cooperation among staff members. If someone asked me for help, I'd help them, and when I asked for help, I got it. I assumed all organizations worked this way, but now I've found a counter-example. In my current organization, requests are almost always answered with "Sorry, I don't have time." Often the only way to get someone's help is to make a request to their manager, which I don't like to do because it feels like I'm exerting unwanted pressure or complaining that they aren't doing their jobs. I'm not sure why the organization's culture works like this, but I think it is because everyone really does have too much to do, and saying "No" whenever possible is the only way to get anything done.
The problem is that I really do need their help. I don't ask for help just to make my job easier; I absolutely must have their assistance. While they say they don't have time, the reality is that we'd all get our jobs done faster if we worked together instead of separately. Why can't we all just get along?
I help whenever I'm asked. I go to every meeting I'm asked to attend. I accept whatever assignments I'm given. I don't take pride in these things; I just never thought of them as being optional. But in this organization, maybe my cultural assumptions really are wrong, and I need to learn the ways of the natives.
Friday, April 08, 2005
I just wasted a few hours looking at the pictures on Google Sightseeing. My personal favorites:
- Downtown Dallas (note the weird differences in perspective that make it look like the buildings are leaning toward one another)
- Niagara Falls
- The Boneyard (which looks like a big collection of tiny toy airplanes)
- Cape Canaveral
- The Concorde at JFK
Here's my own satellite sightseeing picture: Dekalb-Peachtree Airport (PDK). You can pretend that the little airplane you see taxing south down taxiway A, crossing runway 9-27, is me. If you go a bit north of the airport, you can see an airplane in flight, heading due north.
Flying Lesson #14
The lesson plan for today called for crosswind landings (that is, landings with strong left-to-right or right-to-left winds). Unfortunately, the wind at PDK was not strong and going almost right down the runway. We considered going to RYY (Cobb Country-McCollum Field), which has a runway perpendicular to the wind direction, but we checked the weather and that airport was stuck under a 1,300-foot ceiling. So we decided to just spend the time doing touch-and-goes at PDK.
Today, landings finally clicked for me. The instructor gave me some tips, and while they were exactly the same things he's been telling me all along, today I got it. As in previous days, my first two landings were good, and then they got bad, but today they started getting better again.
In previous outings, I thought I was doing what the instructor was telling me to do, but now that I am really doing it, I can see where I was wrong before:
- I was fixating way too much on the flare and touchdown. I was thinking that a "good landing" was one that was soft, a "bad landing" was one that was hard, so that last few hundred feet was the only part to which I paid close attention. Now I am looking at process starting from the top of the final approach, all they way down to the numbers, with the flare being the the end of the landing rather than the beginning. A good approach with a fair touchdown is preferable to a bad approach with a miraculous touchdown.
- To maintain the glide path on final, I was using the simplistic rules "if rising, reduce power; if sinking, increase power." I thought that would give me the stabilized approach that I know I'm supposed to have, but of course I was not stabilized at all. Today I was really visualizing the path I wanted the plane to take, keeping the runway numbers centered in front of me and making the proper adjustments to both pitch and power to keep me on the path at the right airspeed.
- I'm getting a lot better and knowing when to level out and flare. The instructor helped by pushing down on the yoke the first couple of times when I pulled back too soon.
I still have one big landing problem: as we get close to the runway, I sense that the plane is rotating to the right, so I give it a lot of left rudder in the last few seconds before flaring. The instructor kept asking why I was doing it, and all I could answer was "I thought we were heading off the runway." We talked it over and decided it must be a visual illusion caused by parallax (that is, because I sit to the left of the aircraft's center). I'll try to ignore this illusion in the future. Focusing on the far end of the runway should help with this, but it wasn't helping today.
I had to do a couple of go-arounds, one ordered by the instructor and one I initiated myself. I'm still not sure exactly what the instructor saw that made him tell me to go around; he says I was going way off center but it didn't seem that way to me at the time. It worries me that I'm not seeing things that he sees, but I hope I'll learn to recognize them as I get more experience.
The best thing about my progress with landings is that the process seems to be getting slower and more relaxed. I now know that I have plenty of time to notice problems and make corrections before it's too late.
For today: 1.3 hours in N4363D, including 9 takeoffs and 9 landings. Cost: $266.30.
Firefox vs. Blogger
All of a sudden, I can't use Firefox to access my blog. If I try to go to http://www.blogger.com, I get a "The document contains no data" error. If I go to http://kristopherjohnson.blogspot.com, I can see my blog, but the header at the top is all screwy, and the edit controls are missing.
Everything works fine in OmniWeb (which is what I'm using now). I've tried clearing Firefox's cookies, cache, and history, but it still doesn't work. Sites other than Blogger are working fine, so it may be a server issue rather than a browser issue.
So now I'm back to using OmniWeb, for the first time in a few weeks. I'd forgotten how slow it is.
[Update: Clearing all of Firefox's history for all sites got it working with Blogger again.]
Why I Am Not Anonymous
Today Slashdot had a pointer to an EFF article entitled "How to Blog Safely (About Work or Anything Else)," containing advice about how not to suffer negative consequences for blogging about your job. It got me thinking about my own approach to blogging.
What I liked about the C2 wiki in its heydey was its focus on people's experiences, not on formalized processes or abstract principles of software development. Francis Hwang summed it up nicely in The Importance Of First Hand Experience: it is valuable to share the stories and opinions of real, identifiable people. Understanding people's backgrounds and personalities helps a lot when trying to make sense of why they say the things they do. C2's culture also encouraged people to talk about their feelings in relation to work and their co-workers, rather than pretending that emotions don't matter. C2 gave me my first hints that there were other people out there who didn't want to spend their careers just being highly-paid robots.
When I gave up on C2 and started this blog, I wanted it to be identifiable as mine, and I wanted to be as open as possible about what I was thinking and feeling. Some people may respect me, some people may think I'm an idiot, and billions of people don't care at all, but at least everyone can associate this collection of writings with a real person.
As readers of my blog know, I have written about various disappointments at work and a general dislike for the organization. I'll admit that I have had self-destructive-but-immensely-satisfying thoughts like "If the bastards don't like it, I hope they do fire me." However, I've always been careful to not name names or identify particular events that might offend anyone with whom I work. I haven't given the names of my employer (although it's not hard to find), the products I've worked on, or the customers who have bought them or who may buy them. So while I'm not anonymous myself, almost everyone else mentioned in this blog is. This protects me and the others involved from guilt by association: people Googling me won't find my company, and people Googling my company won't find me.
Unfortunately, this self-censorship prevents me from writing some of the things I'd like to write. There have been incidents that gave me insights into relationships with co-workers, managers, and customers, but I couldn't figure out how to write about them without offending people or giving away internal company information. I've considered writing them up as "children's stories," where the people are portrayed as bunny rabbits, chipmunks, and squirrels working on some important woodland project, but I don't think I'd be skillful enough at hiding the true identities of the characters. I've also considered writing the incidents up as anonymous contributions to the C2 wiki, but that is not an attractive forum for me anymore.
So, while I'd hoped to be able to share some useful insights about the software development business, instead this blog contains more personal minutiae and non-specific "I hate my job" whining than I'd like. An anonymous or pseudonymous blog might let me get more interesting stories out there, but I'm not sure anyone would take my stories seriously without a real person's name attached.
Having my name on this blog has plusses and minuses. What really pushes me toward the non-anonymous side is an ever-greater realization of who I am and what I want to be. Flawed as I am, I want to take full responsibility for everything I think, write, and do. This is in sharp contrast to the younger Kris Johnson who was terrified whenever anyone asked his opinion, who was unbearably embarrassed whenever he received compliments or recognition, and who felt completely powerless over anything that happened in his life. I'm now sometimes a little shocked at the self-centeredness and arrogance I read in my own blog, but if writing about my personal experiences can help others to figure out their own true identities, then I'm glad.
If my bosses don't like it, I hope they do fire me. My name is Kris Johnson; you can find me in the company directory.
Thursday, April 07, 2005
Extending Daylight-Saving Time
Congress may extend daylight-saving time by two months. See this CNN story.
Aside from the basic stupidity of DST, I wonder whether they've considered the costs to the IT world. Most computers these days will automatically correct for DST, but if the time period when it is in effect changes, then a lot of systems will have incorrect times for two months, unless their operating systems are updated or users manually update the clocks.
Wednesday, April 06, 2005
Flying Lesson #13
The sky was clear as I showed up to the airport, but the forecast called for a 4,000-ft ceiling to move in during the course of the lesson, and thunderstorms were forecast for later in the day. Winds were picking up and temperatures were falling as we did the preflight, so the instructor decided we'd just do touch-and-goes instead of heading to the practice area to do the scheduled lesson work. That was fine with me.
My first landing was acceptable. My second landing was perfect. But then the subsequent landings were terrible (but not as terrible as before). This pattern is developing: my first landing is OK, the second landing is perfect, then subsequent landings just get worse. I'm always making too many corrections in the last few seconds, then flaring (leveling out for the landing) too soon. I know I'm overcontrolling the plane, but I'm not comfortable enough yet to "do nothing" when things aren't quite perfect. Waiting for the right time to flare always leaves me thinking we're going to smack into the ground.
During one touch-and-go, a helicopter passed over midfield as we were landing, so the instructor took over and let us roll way beyond the point where the helicopter passed over before hitting the throttle and taking off. No problems at all, but it brought to mind a sad story: a few years ago, a student pilot at this flight school was killed in a wake-turbulence accident during a touch-and-go when a helicopter pilot made a mistake. We've all been told the story, and so we are all a little extra freaked-out whenever a helicopter is flying nearby. (See NTSB ATL00FA026 for the details.)
After a few landings, the weather was getting better, so we headed out to the practice area to do the lesson stuff. Today's lesson was flight by reference to instruments, which I've done several times before, so I really just demonstrated what I knew instead of learning anything new. I did fine until I was asked to maintain an airspeed of 90 knots and a 700 ft/min rate of descent; I couldn't quite get both numbers on the instruments at the same time.
Then it was back to the airport, and another flare-too-soon landing.
Logged for today: 1.3 hours in N4363D, including 0.3 hours hood time, 6 takeoffs, and 6 landings. Cost: $254.90.
Tuesday, April 05, 2005
Since quitting and then un-quitting a few weeks ago, I've had to take a lot of good-natured ribbing from my co-workers, including higher-level managers. They feign surprise at seeing me show up at meetings, asking "What are you doing here? I thought you quit!" with a smile. Everyone seems to be happy I'm staying, and not upset at my disloyalty, but I know that my actions have had some serious repercussions on my career.
In this company, I was building a reputation for being a talented, capable guy who could be trusted to get things done. Now, I'm the guy who doesn't want any responsibilities, the guy who will only work three days a week, the guy who folds under pressure, the guy who might flake out and quit at any moment.
I don't like being thought of in that way, but that's the consequence of the choice I made. It is true that right now I don't want to work too hard, but it won't be too long before I will want to work hard again. At that point, I don't know what my options will be. I don't think I'll be offered the promotions that I turned down, or assigned to lead any important projects. I can go back to full-time work as a respected senior software engineer, but I have created a ceiling limiting how high I can rise.
I'm not "ambitious" in the sense that I want more power or money, but I do crave a strong reputation and interesting projects to work on. I like being the go-to guy, the guy managers want assigned to their projects, the guy who will handle anything you throw at him. Unfortunately, the only way to recapture that position will be to change employers, or to outlive all my co-workers.
Saturday, April 02, 2005
Holy Wars in Aviation
In the computer programming world, there are lots of endless debates about the best way to do things: C++ vs. Java, Windows vs. UNIX, object-oriented programming vs functional programming, Lisp vs. anything-not-Lisp, and so on. These debates are called "holy wars" in recognition of the fact that they are tied to peoples' beliefs and not to any objective facts or reproducible experiments.
I was surprised to find that aviation has its own holy wars. I assumed that because there were laws of physics involved, the "truth" would be easy to demonstrate. Even if that's not so, due to the fact that peoples' lives are on the line I figured the FAA and insurance companies would decide what was "true," and everybody would have to accept those decisions. But no, there are still debates about basic principles of flight and aircraft design. Aviation is like computer science in that it is only a few decades old, so the industry is still learning, each each new generation finds new ways to challenge conventional thinking. And as with programmers, what makes sense to one pilot will seem completely wrong to another.
Pitch Vs. Power
An airplane's speed and altitude is controlled by pitch, the height of the nose in relation to the horizon, and power, the thrust of the propeller. Learning how to balance pitch and power is a basic part of learning to fly. For reasons I don't understand, aviation experts are divided into two camps about The Right Way to learn how to do it.
On one side are the "pitch for altitude, power for airspeed" crowd. They say that if you want to climb, pull the nose up, and if you want to descend, push the nose down. Then use the throttle to increase or decrease airspeed as desired.
On the other side are the "pitch for airspeed, power for altitude" people. They say that if you want to climb, increase the throttle, and if you want to descend, decrease the throttle. Pull the nose up to slow down, or push the nose down to speed up.
"Pitch for altitude" is the easier one to understand for new pilots (and non-pilots). Pull the nose up and you go up; push the nose down and you go down. Increase the throttle, and the plane goes faster, just like a car. It seems obvious that this is how to do it.
So why would anyone advocate this weird "pitch for airspeed" idea? It is because of issues of aerodynamics, balance, and trim. When you pull the nose up, the airplane will start climbing, but will also slow down because some of the engine's power is now being used to increase the altitude instead of maintaining airspeed. Similarly, pushing the nose down causes both a descent and an increase in airspeed. Thus, changing pitch to climb or descend will also always require a change to power if you want to maintain a particular airspeed.
In contrast, changes to power have a different effect. When you increase the throttle, the nose will "automatically" (that is, without pilot input) rise, due to increased airflow over the tail. You end up in a climb, but the airspeed remains more-or-less as it was. If you decrease throttle, the nose will drop, so you descend but again the airspeed doesn't change. So, you can use the throttle to go up and down at a constant airspeed. You can use pitch to control airspeed, pushing the nose down to go faster or pulling it up to go slower. The airplane has a mechanism called trim that makes it easy to set the controls to lock-in a particular airspeed with this approach.
Another wrinkle is that the "pitch for altitude" approach only works well at higher airspeeds. At low airspeeds, raising the nose without increasing power will actually cause the airplane to descend, because the increase in drag at high angles of attack negates the increase in lift. This is known as the "region of reversed command," and in this environment the "power for altitude" style works much better than "pitch for altitude."
So which style is The Right Way? They both are, and I find each style useful in different situations. When trying to maintain a particular altitude while cruising, it's easy to just pitch up or down as I notice the altimeter straying away from the place I want. However, when approaching for a landing, trimming the plane for the right airspeed and then using the throttle for small adjustments to the glide path provides a nice stable approach. In the execution of the landing flare, where throttle is at idle and the pilot uses pitch control to both halt the descent and slow down to minimum airspeed, it is clear that a combination of styles is useful.
So why do people argue about it? I don't know, but I think instructors believe they are helping their students by focusing on one style or the other. Unfortunately, many pilots believe whichever style they were taught is The Right Way, and the other style is wrong.
Effects of Relative Motion to the Ground
A popular topic in aviation circles is the Downwind Turn Myth. Some pilots believe that if they are flying directly into the wind, and then turn so that they are flying away from the wind, they will lose airspeed because they suddenly have a tailwind. A drop in airspeed could cause a stall or spin, so according to this theory, turning downwind is potentially dangerous. This belief is false: the airplane's maneuvers are made relative to the air around it, so airspeed will remain constant regardless of how the air is moving in relation to the ground. The concepts of "upwind" and "downwind" only make sense in relation to the ground; they have no effect on the airplane's performance in relation to the air.
So, the Downwind Turn Myth is easily debunked, but there are some related debates that are not so clear.
In these arguments, everyone starts with an idealized physical model: the airplane is flying through a uniform airmass that is traveling at a constant velocity in relation to perfectly smooth ground. All the forces on the aircraft are caused by action/reaction with the airmass. It doesn't matter whether the airmass is stationary in relation to the ground, or moving at 50 knots, the airplane motions will always be made in the inertial reference frame of the airmass, and the ground has no effect. If the ground was not visible, the pilot of an aircraft would have no way to tell how fast the plane or the airmass wer moving in relation to the ground. Thus, wind direction and speed have no effect on an airplane in flight, except in relation to ground speed and ground track.
The problem with the idealized model, say some, is that it is not realistic. In the real world, the ground is not smooth, so as the airmass flows over it, it will be disrupted by updrafts, downdrafts, currents, and eddies. Uneven heating and cooling of the ground lead to thermal updrafts that move downwind as they ascend. Airmasses are not uniform, they contain turbulence, gusts, and other irregularities. So some argue that that a pilot with sufficient knowledge of the local topography could detect the wind direction without seeing the ground, and therefore airplane performance must be noticeably affected by wind direction. The effects of the real-world model would be most noticeable at low altitudes, such as when taking off, landing, and flying in the traffic pattern, so the idealized model is not relevant when talking about those situations, they say.
So who's right? The idealized model is useful in predicting what the airplane will do, but not sufficient to explain everything. The real-world model is correct, but it is not very useful because it doesn't provide a way for a pilot to predict exactly what is going to happen in that chaotic environment. So it seems that the appropriate position to take is to rely on the idealized model, but be aware of its limitations.
High-Wing vs. Low-Wing
Small single-engine aircraft can be classified as high-wing, meaning that the wings are attached to the top of the fuselage, or low-wing, meaning that the wings are attached to the bottom of the fuselage. High-wing aircraft include many popular Cessna models, and older Piper Cub-style tailwheel aircraft. Low-wing models include the newer Piper models (if 40- and 50-year-old designs can be considered "newer"), Mooneys, and many others.
Each design has is advantages and disadvantages. High-wing aircraft tend to be more stable, as the wings are above the center-of-gravity, but low-wing aircraft can compensate with higher wing dihedral angles. High-wing aircraft can rely upon gravity to feed fuel from the tanks in the wings down to the engine, whereas low-wing aircraft need fuel pumps to draw the fuel up from the tanks to the engine. High-wing planes make it easier to observe the ground; low-wing planes make it easier to see the sky and to watch where you are going while turning. Low-wing planes have longer, smoother landings than high-wing planes. You don't have to worry about bumping your head when walking around a low-wing plane, and you don't need to climb a ladder to fill the tanks.
So which design is better? I'm not going to even try to answer that.
Friday, April 01, 2005
Ground Lesson #3
Low ceilings and thunderstorms made a flying lesson impossible today, which was very unfortunate considering I had a five-hour block scheduled with the instructor. So we did some ground work, had lunch, did some more ground work, and called it a day.
The material the instructor covered was all stuff from my first few weeks of ground school. This was good - I've forgotten a lot of that stuff I studied a month ago, so I got to review it all and identify my weak areas. We took a tour of the Epps hanger (one of the fixed-base operators at PDK), looking at how systems of the turboprops and jets differed from those of the little Piper Warriors I fly. We also went out to the school's ramp to get a close look at the Cessna 172, which I've never flown in.
The instructor tried to get us a tour of the air traffic control tower, but due to security concerns, could not get one. This is not a 9/11 thing; there have been bomb threats made against the tower. Noise abatement in the area around PDK is currently a hot local political issue, so the officials aren't taking any chances.
We ate lunch at The Downwind, a restaurant on top of the building that houses the flight school and airport administration. Diners get a good view of all the runways, leading people to play Rate The Landing. Traffic was pretty light today, so we didn't see too many landings. My turkey sandwich wasn't bad, but the instructor said I really should have tried the cheeseburger. I'll try that next time.
After lunch, we talked about systems for another hour or so, but we were both getting sleepy so we decided to call it quits.
Cost for today: $171 for three hours of ground instruction.