Archive for November, 2007

A triumphant telescope-making turnabout

Thursday, November 15th, 2007

Two weeks ago, I found the zen in telescope making. I learned to appreciate the journey more than the destination, because I was clearly getting farther from the destination throughout that night. But this past Friday was an utter triumph. Forget the zen of telescope making; bring on the ecstasy of telescope making!

This past Friday saw me doing really short strokes for about an hour trying to fix the turned-down edge, but with little success. At this point, we collectively said “Screw it.” The turned-down edge only takes up a small fraction of an inch on a mirror that is 8″ in diameter. It’s not a big loss. After I’m completely done with figuring, I’ll simply bevel off that edge, so that all of the remaining mirror surface is correctly figured.

Once I gave up on the somewhat unrealistic goal of a perfectly figured mirror from edge-to-edge (it’s very hard to do; many ATMers simply don’t bother), I met with success after success. I switched to a wide W-shaped parabolizing stroke, doing five minute sessions interspersed with frequent Ronchi tests. I made sure not to apply too much pressure. After each five minute session, the lines in the Ronchi test were slightly more outwardly curved, thus indicating I was getting closer to a perfect paraboloid. And along the way, the abnormal hole in the center of my mirror vanished. I had the same nice curve across the entire surface of the mirror.

By the end of Friday’s session, I was so close to the correct paraboloid shape that a Ronchi test wasn’t cutting it anymore. So at the start of the workshop tomorrow, we’ll do a Foucault test, and then I’ll know where to go from there. Optimistically, I could be done with figuring by the end of the workshop tomorrow. Then, the final step with the mirror will be aluminizing it; after that, the only things left to do are — everything else! But the primary mirror is by far the hardest part, and takes more time than the rest of the scope total.

I’m so excited. All of my hard work is about ready to pay off. With any luck, I’ll be looking up at the heavens before the end of the year.

Assembly rules for constructing funny phrases

Wednesday, November 14th, 2007

I happened to get in a discussion with a friend today about why some made-up phrases are inherently funnier than others. Pick a few random words, throw ‘em together, and regardless of whether they make sense together or not, the result is most likely not going to be a funny phrase. There’s an obviously an art to putting together funny phrases. Here are some ground rules to get you started.

First, go heavy on inherently funny words. There’s no hard or fast rule about it, but some words are simply inherently funnier than others. Inherently funny words are often funny merely because of the way they sound, not necessarily for what they represent. For example, underwear and underpants mean the same thing, but underpants is inherently far funnier. A few other inherently funny words: cow, pickle, Hoboken, gazebo. Just throw some inherently funny words together and you’re already well on your way to coming up with a funny phrase. Pickled Hoboken gazebo.

Besides the choice of words themselves, the other aspect to funny phrases is how well the words work together. This is where the real humor of funny phrases comes from. The words don’t necessarily have to be thematically related — and indeed, if you’re going for absurdity, they probably shouldn’t be. For instance, let’s say I want to build up a funny phrase around the word scrotum. What word works viscerally with scrotum in an absurd manner? If you said pinata, give yourself a gold star. Now you’re thinking funny. Mmmm, Scrotum Pinata.

There are all sorts of humorous relationships that you can take advantage of when binding your words together into phrases. Above, I use the notoriously delicate nature of the testicles along with something that is known for getting the crap beaten out of it. Don’t reach too far: the relationship should be immediately obvious, like it is with scrotum and pinata. Let’s try another one. What goes with the inherently funny word cactus? Well, cactuses are sharp, prickly, and unpleasant to touch. What works well with that? If you said vibrator, give yourself another gold star. Mmmm, Cactus Vibrator.

You’ll notice that, above, I’m using a generally crude sense of humor. But don’t think funny phrases only work if they’re crude. Indeed, they can be the height of culture and sophistication. That’s just not my cup of chai. So I’ll leave you with one more funny phrase that isn’t necessarily crude, merely anatomical. And apparently I’m the first one to ever utter it online. I mean, would you believe Google doesn’t have any search results for Kumquat Sphincter?

The danger of the Nerd Handbook

Tuesday, November 13th, 2007

There’s a “Nerd Handbook” making the rounds on the nerd social news websites (e.g. Digg) that’s a fascinating read, but it takes some of its premises a little too far. I do agree with a lot of what it says, but the wrong parts are quite misleading. Let me explain.

The handbook is written in the second person with the intended audience being the girlfriends of nerds. However, it seems to me that the vast majority of the readers are actually the nerds themselves. No matter. One of the author’s main points is that nerds always seem to have a project they are working on that takes up a lot of their time. I can’t argue with that. My current projects are: making a telescope (4 hours a week), exercising (1 hour a day), and writing a novel in one month (2-3 hours per day). Some of my recent previous projects included writing code for Veropedia, writing code for Wikipedia, writing Wikipedia, making a wall-mounted neon lambda sign, my computers, etc. So the projects part is right on, at least in my experience. I do have to take issue with this though:

Your nerd has control issues. Your nerd lives in a monospaced typeface world. Whereas everyone else is traipsing around picking dazzling fonts to describe their world, your nerd has carefully selected a monospace typeface, which he avidly uses to manipulate the world deftly via a command line interface while the rest fumble around with a mouse.

The reason for this typeface selection is, of course, practicality. Monospace typefaces have a knowable width. Ten letters on one line are same width as ten other letters, which puts the world into a pleasant grid construction where X and Y mean something.

That’s a huge over-generalization. Most nerds aren’t into Linux, and you don’t often see Windows nerds using the (very deficient) DOS command line. Yes, I do use the command line a lot, and thus, I do use a monospace font, but that’s simply because no other font makes sense on the command line. When I’m doing other things, like writing blogs or word processing, of course I prefer adjustable width fonts. It’s about picking the right tool for the job. The jump from using a monospace font in one of the few applications in which it makes sense to “These control issues mean your nerd is sensitive to drastic changes in his environment” is totally unfounded. He goes on to talk about “system-redefining events” that cause nerds to be frustrated and act erratically. Huh? Sounds like pop babble psychology to me.

He talks about how each nerd has a “Cave“, which frankly, I just think is reaching. I don’t know any nerd who has a “Cave”. Yes, every nerd has a computer with Internet access. And maybe some knick knacks. But who doesn’t? Everyone has a personal space that they like to keep in a certain way. There’s no sense in calling just the personal spaces of nerds “caves”.

I do mostly agree with the rest of the overall points of the blog post, especially this part: “If you’ve got a seriously shy nerd on your hands, try this: ask him how many folks are in his buddy list? How many friends does he have in Facebook? How many folks are following him on Twitter? LiveJournal? My guess is that, collectively, your nerd interacts with ten times more people than you think he does.” The parts about nerds liking puzzles and videogames, typically having warped senses of humor, having an amazing appetite for information — all are mostly true, but are trivial observations. What really gets me about the handbook is the overriding concept that nerds can be understood as if they were computers.

A lot of the terminology and examples he uses are computer-related. He talks about nerds being adept at “context-switching” as if they are changing between windows on a computer. He says nerds like monospaced font because it lets them see things in X and Y coordinates. He even says “[The nerd] sees the world as a system which, given enough time and effort, is completely knowable.”

He’s missing a huge point here. Nerds are people, not computers. Just because nerds use computers a lot doesn’t mean that they are even anything close to being like one. This should be incredibly obvious, but it needs to be pointed out: nerds are humans too; they have human emotions, human limitations, make human mistakes, etc. Trying to understand people by thinking of them as computers is dangerous. It’s the exact same fallacy that the author chides nerds as having when he says “seeing the world as a system” is “a fragile illusion”.

This emphasis on trying to understand nerds as a system strikes me as coming from someone who’s read too much about autism spectrum disorders (or, not to be mean, maybe someone who suffers from one). Autistic people lack emotional faculties, and thus try (and often fail) to understand other people logically as systems, rather than emotionally. The same fault is present in this handbook’s analysis of nerds. It’s destined to fail. My one advice to any girlfriend out there trying to understand her nerd is this: Think of him as a person. You’ll only have much worse results if you think of him as a computer and then treat him accordingly.

Debugging lethargy

Sunday, November 11th, 2007

Yesterday, Saturday, I woke up normally, but within an hour, I felt very lethargic. It was so bad that I wasn’t able to accomplish anything I wanted to get done during the day, including exercising and working on my NaNoWriMo novel. Luckily, I did recover enough by the end of the day to attend the meet-up with PZ Myers and Phil Plait. But it really had me worrying: why was I so lethargic?

This wasn’t a new phenomenon, either. In the past few months I’ve always been a lot more lethargic on the weekend, particularly on Saturday. I never really thought of a possible explanation, except to reason that I was worn out after a week of work. But yesterday was much worse than that. And I finally figured out why.

One of the perks at my office is the refrigerator stocked full of free drinks. So, during the day, I routinely drink Diet Cokes, probably around three to four on average. And Diet Coke has a lot of caffeine in it. My weekend lethargy coincidentally started around the same time as I started working here. You see where I’m going with this. I would drink up to four Cokes per day for five days in a row, then my body would go into shock on the sixth day (Saturday) because it was addicted to caffeine and it wasn’t getting its fix.

This weekend was particularly bad because last weekend I had an energy drink in the morning on both Saturday and Sunday, thus feeding my caffeine addiction without consciously realizing it. So that made it a full twelve days in which I consumed a large amount of caffeine daily. No wonder I crashed yesterday. The reason I never ran across this problem before is because I never drank large amounts of caffeine on such a regular basis.

The most obvious fix would simply be to bite the bullet by feeding my addiction and drinking caffeine on the weekends, which is what the large number of Americans addicted to caffeine in the form of coffee do. But I’d rather not. I simply don’t like being addicted, so I’d rather fight it than give in. Fighting it will be simple; I’ll simply switch over to the caffeine free Diet Coke in the refrigerator at work. Such a simple change, but with such important consequences! I’ll finally reclaim my Saturdays!

But I will miss the taste of regular Diet Coke. I don’t know if anything in the formulation between the two is different besides the lack of caffeine, but that alone is a huge difference. Drinking a regular Coke is nice because you’re getting caffeine along with a huge sugar rush. Drinking a regular Diet Coke is still awesome because you’re still getting another hit of a drug you’re addicted to. Drinking a caffeine free Diet Coke is just … meh. There’s nothing in it anymore that makes it appealing. Maybe I’ll switch to water. That’s probably for the best anyway; all of those artificial sugars can’t be healthy.

From interviewee to interviewer in seven months

Thursday, November 8th, 2007

In April, I was an interviewee at the IT consulting company at which I am currently employed. Just seven months later, I’ve reversed positions, and am going to be the interviewer. It happens tomorrow.

It’s not quite as dramatic as it sounds. I’m not growing a tail and whiskers and going into Human Resources or anything. I won’t be the only interviewer. We bring prospective candidates on-site and have them talk to about five different people on staff. And now my turn has come up. I won’t lie, I am excited by this (whereas some people dread having to do it). I find it exciting, helping to chart the future of the company by having a say in its future employees. So I’ve been figuring out how to do the best job possible.

The most pressing concern weighing on my mind is that the majority of applicants to computer programmer positions cannot actually program. Seriously. Whether it’s people who simply don’t have any background in the field but are attracted by the lucrative salaries, or non-nerds who somehow managed to pass less-than-rigorous compsci programs without actually picking up the skill, the hiring prospects in this field are frighteningly dim. So I’ve come up with a simple programming exercise that should take someone who actually knows how to program just a few minutes, but will completely stump a faker.

Our interviews look at two main areas: whether the applicant actually has the skills to do the job, and whether the applicant will fit into our company culture (which is a bit oddball). It’s easy to do the latter; just chat with the person and see if they’re likable. That’s the problem. As I was talking with our company’s president and asking him what I should do for my first interview, he heavily suggested that I focus on the technical abilities of the interviewee. This is because most of our employees feel more comfortable simply chatting than asking technical questions that may reveal a lack of technical knowledge in an embarrassing manner. But I don’t mind having to deal with that.

My other main interrogation (err, interviewing) technique, in addition to the simple programming test, is going to be looking over the interviewee’s resume and getting into discussions about all of the technologies I see listed on it that I am familiar with (Java, C++, Perl, XML, MySQL, whatever). I put a lot of things on my resume, but I legitimately know a lot of things, and when someone asked me about them, I was able to deliver. I expect nothing less from the person I’ll be interviewing tomorrow. If there’s one thing I can’t stand, it’s a liar, and someone who puffs up their resume with all sorts of buzzwords, but can’t back any of it up with actual knowledge, will get an instant veto from me.

I have thirty minutes with the candidate. That’s more than enough time to evaluate his technical prowess. I’m not planning on making it thirty minutes of hell — actually, it should be very easy and enjoyable if he actually knows his stuff. But if he doesn’t, well, it’s going to get awkward for him, and I’m going to discover exactly how low the extent of his knowledge lies.

The zen of telescope making

Wednesday, November 7th, 2007

A strange thing happened last Friday at the telescope making workshop. I actually made negative progress. Yet I’m not annoyed by it at all. I think I’ve discovered the zen of telescope making. Forget the destination and just learn to embrace the process — there are all sorts of worthy things to be learned by experimenting and messing up.

Two Fridays ago I started final figuring on my mirror. My mirror was oblate (the opposite side of parabolic from spherical), so I had a bit of work to do to correct it. I experimented with a figuring stroke that was very heavy on the edges and light in the center. It put me past spherical and towards parabolic, but unfortunately, it also created a depression in the center of the mirror, a defect that can be hard to work out.

So this past Friday I tried some different figuring strokes. I did fifteen minutes of the standard one-third-over-center stroke, the same stroke I had been using for many weeks prior to get to spherical. The central hole widened and became less steep, but did not disappear. So I tried using the star method, where a paper star is put between the pitch lap and mirror and then a weight is placed on top. This is supposed to depress the center of the pitch lap, so that it hopefully won’t wear away the center as much. It didn’t seem to help so much. So I tried a classical W-shape parabolizing stroke modified to spend more time in the center and less time on the edges. My mirror just got more funky, and the hole remained a problem.

At this point I was frustrated. I foolishly decided to try and force things by polishing really hard, like I had done back during initial polishing. I also used a longer stroke, because the shorter stroke I previously used during initial polishing led to my initial oblate shape. Those of you who’ve polished mirrors before know exactly what happened — when I looked at a Ronchi test, I noticed I had developed a turned-down edge. And the central hole was still there. Thus, my mirror was in worse shape at the end of last Friday than at the beginning.

I noticed the seasoned telescope-making veterans at the workshop being very encouraging and complimentary with me. I also remember being repeatedly warned about how figuring was the hardest stage of making the mirror; there’s a whole filing cabinet in the workshop full of the mirrors of people who’ve abandoned their projects. The majority of them quit during final figuring. It’s the first stage where the sense of progress can easily disappear. You’re no longer moving onto smaller and smaller grits each week, and a minor mistake can quickly reverse weeks of prior progress. So the vets, trying to prevent another person from disappearing, never again to be seen in the workshop (and another mirror being added to the filing cabinet), were being extra nice. But I couldn’t help feeling that they were underestimating me.

I’ve learned many things about figuring a telescope mirror, far more through my failures than if I had simply met with immediate success. I’ve learned an important lesson about patience, and how it never pays to try to force things. I still have a good bit of work ahead of me. But I’m content in the knowledge that I have enough patience to see this through, so I’m not too bothered when an entire week or two are wasted. I’ll be finished eventually. That’s why the veterans of the workshop shouldn’t worry about me. I plan to use my telescope for decades, so what does it matter if it takes another month to complete it? The longer I keep working on it, the more I learn about the process, even if it isn’t immediately reflected with progress. Therein lies the zen of telescope making.

The potential pitfalls of breakneck speed novel writing

Saturday, November 3rd, 2007

Quill penI’m 7,000 words into my novel for National Novel Writing Month and I’ve already learned quite a bit. But first off, allow me to brag a little bit. 7,000 words in three days is definitely ahead of the required pace to reach the desired 50,000 words within a month, so on that measure, I’m succeeding. But the format of NaNoWriMo, having to write a novel essentially from scratch in a month, is quite different from the usual leisurely pace of novel-writing, and as such, it presents some pretty unique pitfalls.

I only wrote a couple paragraphs of notes on November 1 before I jumped right into writing the novel. As such, I had only even come up with cursory identities for my three main characters. I made up all of the other characters (including the names, which are hilariously bad) on the spot as the plot required them. Thus, my characters don’t start out fleshed out at all. I have no idea of their back story or what made them the way they are in the present, so it’s very hard writing their dialogue. I simply don’t have a good feeling of the characters’ voices, so they all just end up sounding like me, except without any hints to past experiences.

It’s tempting to go back through what the characters have previously said each time I have a revelation in my own mind about them to change their voice or add allusions to past events, but in that way lies madness. It’ll be a lot less work to just go through the process of finishing the 50,000 words, thus learning everything there is to know about my characters, and then going back through later to unify all of the speech, and add some foreshadowing, with what I have learned. This one pass approach should be significantly more efficient than repeatedly going back to edit.

Another pitfall is that of inconsistency. Because I haven’t planned out any of the plot in advance except for a two sentence summary of what I roughly planned on having happen within the first 10,000 words, I’m hitting lots of problems with inconsistencies. I write or describe something one way, then realize later on that another situation requires something to have happened earlier that didn’t, or worse, that I got the order of events wrong.

I’m trying to go back through and edit my previously written text to resolve these inconsistencies as I continue writing, but it’s really bogging me down. And as the body of text that I’ve written grows larger, the problem is only exacerbated further, as I thus have even more plot points that could potentially be inconsistent. My basic resolution is just going to be to ignore the inconsistencies for now. I need to reach 50,000 words first. Editing can come later.

The last big pitfall is that a breakneck pace leads to sloppy writing (no surprise there, huh?). I simply don’t have the luxury of writing out carefully planned prose and beautifully descriptive narratives. My writing is following a more basic pattern: A says this, B replies, C happens, etc. Great works of literature have a much more rich use of language, especially in their ability to paint a mental scene through the use of descriptive prose. I’m seeing the scenes perfectly fine in my head right now, but I’m failing to write out all of the rich details of them into my text editor.

The flow suffers as well. I tend to have multi-paragraph chunks of expository back story interspersed with the main narrative. This is just a result of me figuring out things as I go along, and at least wanting to write all of it down. It takes more effort to smoothly integrate these chunks into the narrative, dropping hints within every paragraph of the story instead of extruding it in chunks. It’s effort that I don’t have to spare right now. My story thus suffers from not following the prescriptive maxim “show, don’t tell”. I’m constantly telling when I should be showing.

Luckily, there’s a single panacea that solves all of what ails my story: comprehensive editing, from start to finish. But I don’t have to start doing that until December 1. And therein lies the beauty of NaNoWriMo, the whole point of which is, essentially, “Dammit, I’m finishing a novel.” It doesn’t have to be good, it just has to be finished. The biggest problem with trying to become a serious writer is finishing that first lengthy work. The problem is not at all with editing; everyone has a natural tendency to want to go back through what they’ve written and compulsively edit to make it better. But the editing can always come later. Better now to just finish. And at this rate, I will, making it only the second novel I’ve ever written.

Making progress on NaNoWriMo, and a GNU Emacs tutorial

Thursday, November 1st, 2007

I’m making good progress on my novel for National Novel Writing Month, about my participation in which I’ve previously blogged. Incidentally, that previous sentence is a good example of why it isn’t a good idea to always obey the “no prepositions at the end of a sentence” rule, a rule I’m planning to make lots of violations of.

And now for something completely different. I’m writing my novel entirely on the command line in GNU Emacs. Why? Because I can. Oh, and because it allows me to work on my novel from anywhere with Internet access, as all I need to do is just ssh in. Thus I don’t have to worry about only being able to write from one computer, or having to carry around my novel as a file with me. Unfortunately, GNU Emacs is optimized for editing computer code. The default way it treats long lines isn’t very friendly to prose; it wraps on any character instead of only on spaces, and movement across long lines is unpleasant. Luckily it can be customized. Here’s the code I added to the .emacs file in my home directory. Modify (or create) yours accordingly and you can be writing long-form prose on the command line in no time.

;; Create a new minor mode called story-mode that will be
;; automatically loaded any time a text file with the .story extension is opened.
(add-to-list 'auto-mode-alist '("\\.story\\'" . text-mode))
;; Set longlines-mode to load as a hook whenever the text-mode minor mode is activated.
(setq text-mode-hook '(longlines-mode))
;; Set it so that the line length at which long lines wrap is adjusted to the size of the window.
(custom-set-variables '(longlines-wrap-follows-window-size t))

If you have GNU Emacs version 22 or higher, that’s it, you’re set up! Longlines-mode is included. If you have an older version of Emacs, you’ll need to download longlines mode separately. This configuration sets the mode to only fire automatically for files named *.story. If you want to use longlines mode for other types of files, either adjust your configuration accordingly, or load it manually on a case-by-case basis.