www.werkema.com  [About|Software|Family|Web Biz|U101|Links|Contact] 
 
About Me

My name's Sean Werkema. I'm Dutch on one side and Russian-Jewish on the other, with a little Hungarian, English, and German, and who knows what else. In other words, I'm a typical mixed-breed American. I'm from the Midwest (11 years) and East Coast (19 years). I write software for fun and profit for Windows and Unix.

I come from a small nuclear family and a large extended family. I have a sister, Trina, and my parents, Tom and Suzanne, are still happily married after thirty-two years. I have four grandparents, two in Texas and two in Michigan, and dozens of aunts, uncles, and cousins scattered around the globe. And we have a happy, smiling, rambunctious dog too.

My résumé is not yet on-line. Sorry. But you can learn a lot about me on this page if you want to, and in much greater detail than a silly one-page piece of paper.

Quick Bio

The Japanese love to sum up a person with a quickie biography that's a lot closer to a personal ad than an actual biography, but that still contains a lot of useful information anyway. I thought it might be fun to do that here, too:

That's Me Sean Werkema

Age: 32 (in 2008)
Gender: Male
Birthday: May 25 (Gemini)
Birthplace: Muskegon, Michigan
Home town: West Chester, Pennsylvania
Hair: Brown
Eyes: Hazel
Height: 5"4' (163 cm)
Weight: 130 lbs. (58.9 kg)
Blood type: O negative
Handedness: Right-handed
Voter registration: Republican
Smokes: No
Drinks: No
Marital status: Committed relationship
Favorite quote: "Don't ask me: I just push buttons."
Favorite music: Anything by Akino Arai
Favorite video game: Final Fantasy VII
Favorite TV show: Toss up between The Simpsons and
        South Park
Likes: Programming, writing, foreign languages, animation
        (both TV and movies), water sports, (inter)national news,
        RPGs, popcorn, good comedy
Dislikes: Tomatoes, telephones, commercialism, ditzy
        or vapid people or subjects, illogical rationales
Pet peeve: Grammar, punctuation, and spelling errors

Isn't it strange that the Japanese forms of these bios, no matter how short, always include "blood type?" What good is knowing the blood type, anyway?

Addendum, February 2004: Turns out that the Japanese think that someone's blood type tells a lot about their personality, somewhat akin to what some people believe about horoscopes. This is from a now-defunct Cardcaptor Sakura web site:
"In most anime, if you find character statistics, they almost always mention what the character's bloodtype is: A, B, AB, or O. This is because more than 72 percent of Japanese belive there is a relationship between a person's personality and their bloodtype. There have been a number of best-selling books in this field in Japan, and research has been done by English and French psychologists as well. There are a variety of published papers that say both that a person's bloodtype does and does not have anything to do with their personality, so you can decide for yourself."

So what does being type "O" say about me? Apparently, that I'm:

  • Peaceful and carefree
  • Can be stubborn and strong-willed
  • Easygoing, liked by all
  • Know how to take chances
  • Trustworthy
  • Intellegent, but can make large mistakes

Huh. Who knew?

Quick History

Education

In Whitehall I went to Whitehall Elementary School and Whitehall Middle School. In West Chester, I went to Stetson Middle School and Henderson High School. I have a Bachelor's Degree (4-year) in Computer Science from [WE ARE] Penn State.

I speak English natively (i.e., poorly), and have had five years or so of French (aussi souffrant). Unfortunately, thanks to lots of practice, I pronounce French well enough that people assume I know it better than I really do, since my vocabulary is marginal at best. But it's been sufficient for travel in French-speaking countries, at least. Since I now know enough French to properly annoy the natives, I've switched to studying Japanese, because I need a good mental challenge. That ought to take the better part of the next decade.

In high school I let myself be subjected to every work of fiction and nonfiction Western Civilization has ever produced, and while I have forgotten far more than I ever read, I still know a lot of little odd tidbits about literature. I have no qualms with reading or watching Shakespeare, and have actually read the Bible cover-to-cover, although I have forgotten a lot of it.

I have to credit my high school: Henderson does a good job of preparing its students for their futures. While I don't use all of what I supposedly learned, I have found far more instances where I wished I'd paid closer attention. To this day, I enjoy casually studying physics because of my high-school teacher (you know who you are).

My grade-point average in both high-school and college was never as high as it could have been. I tended to vascillate between A and C; I either love what I do and do it well, or don't care enough to work on it; to quote one of Murphy's Laws, "If it's worth doing, it's worth overdoing." If I had cared enough, I could have earned a 4.0, but I had a life outside of school, thank you.

In Computer Science

I have a degree in Computer Science, but I admit to being a poor mathematician. Yes, I can work many complicated problems and know fifty digits of pi, but compared to anybody with a math degree I'm not very good at all. I'm genuinely pathetic at statistics problems. But I know how to apply everything I understand, and know how to solve weird abstract problems as long as they don't have too much math, and am always willing to learn. I am, perhaps, a better Software Engineer than a Computer Scientist, but my degree says what it says, so officially I'm a Computer Scientist.

On the other hand, there are several interesting algorithms and data structures that I've invented, and I hope at some point to post some of the better ones on-line for the world to share. (One of the missing sections of this site is Research, and that's where those will go.) Many of them involve computer graphics, but not all. I consider myself best-learnèd in graphics and system-level software, which have nothing whatsoever to do with each other.

I've written code to do just about anything. A high-speed numerically accurate 3-D texture-mapped polygon renderer. A simple raytracer. FTP clients and servers. Telnet clients and servers. An HTTP client. A generic XML parser. A high-speed HTML renderer (web browser). System utilities galore, a few of which can be obtained from this site. The "region" abstract-data-type. A full window system, with events, and up to an infinite number of windows, child or sibling. Input/output drivers for most hardware devices, including keyboards, mice, video displays, joysticks, and printers. Data-compression code for LZW, Huffman, and LZSS. A complete vector/matrix toolkit, with rebalancing computations for numerical accuracy. Lexical analyzers. Language parsers. Small compliers and interpreters. Several high-speed bézier-curve renderers. A small operating-system kernel. Probably several more things I've forgotten, too, but that list is long enough. Suffice it to say I can write what I want to write.

For what it's worth, a lot of that knowledge (and a fair amount of that code) wound up in SpaceMonger v2.1.

I know lots of programming interfaces / libraries / APIs. The Windows SDK, MFC, and DirectDraw, for example, as well as the old MS-DOS interrupts. The Unix system calls. The PalmOS traps. The Standard C Library. Berkeley Sockets. Raw X-Windows Xlib. Zlib. Some OpenGL, although I'd rather just have a frame buffer and draw the polygons with my own code. MPI. Lex and Yacc. Perl. Probably several more. I've rewritten some parts of Linux that I don't like (my copy, anyway), and, although I know MFC, I have vowed to never use it in another piece of software again. I know the PC hardware well enough that one of these decades I'll probably write my own operating system.

I use Linux, Windows 2000, XP, and 98, and the PalmOS. I am not proud of that statement. Linux would be great if they'd break some of the ancient Unix compatibility (the file system's layout is pathologically bad, for one thing). Microsoft Windows would be great if they threw out most of its internals and rewrote them from scratch, and neither Windows NT nor the CLI stuff in .Net is enough of a rewrite to count. Neither one of these very necessary changes will ever happen, although I'm starting to look longingly at Mac OS X, where even though I disagree with some of Apple's design choices, I have to at least give them credit for trying and mostly succeeding. The only system that I use that I've grown fond of is the PalmOS, not because of its brilliant internals --- they're nice, but not brilliant --- but because of its simplicity and reliability. It's the most reliable computer I own, hands down.

I know lots of languages. I work most often in C or C++, but have years of experience in 80x86 (Pentium) assembly. I fondly remember classic BASIC and 6502 assembly. I don't like Java, but I know it. I like working in Lisp and Scheme when I can find a reason to. I intimately know Lex/Flex and Yacc/Bison, and feel very comfortable with them. I know and like Perl, and use it whenever I need scripting. I've worked some in Pascal, some in SPARC assembly, a little SML I've forgotten, and many scripting languages, like AWK, Sed, and Unix shell script. I know bits of Objective C, Smalltalk, and Python, and wish I had a good reason to know more. I probably know others too, but those are all I can think of offhand. I don't like Visual Basic; while the user-interface stuff is nice, the language itself is junk. I don't do C#, simply because it doesn't match any of my needs and probably never will.

I also design languages. I've hacked several scripting languages together for various projects, but there are a few real ones I've built, too. Most have gotten shelved at one point or another because of some deficiency (in my opinion); doubtless many of them would have been practical, but I'm on the search for the ultimate language, not an ugly compromise. I will find it someday, but there's no hurry.

Sports and Entertainment

For casual reading, I tend to focus on Science Fiction and Fantasy. Yes, Piers Anthony and Jack Chalker are on my shelves, but heavier fare is there too, like Arthur C. Clarke, J.R.R. Tolkien, and Isaac Asimov, with a little C.S. Lewis and Michael Crichton thrown in for good measure.

I've seen a lot of movies, and have missed an awful lot too. I usually remember the ones I've seen, though, and their plots and characters and actors. I'd much rather fill my head with useful things, but that's what sticks.

Yes, I watch Star Trek, but I'm not a fanatic, and I don't ever go to those conventions. I've seen most of The Next Generation, Deep Space Nine, Voyager, and Enterprise episodes, and can tell the difference between a Ferengi and a ferrule, between Warp Nine and Worf's wine, but that's as far as it goes.

I love cartoons, childish though they sometimes are, and still watch every Saturday morning, taping the channels I can't watch. I can converse perfectly with an eight-year-old about Pokémon and Digimon, Yu-Gi-Oh, Superman and Batman, Animaniacs and (narf) Pinky and the Brain (should I be proud of this?). I can sing every word of "Yakko's World," "Wakko's America," and "Yakko's Universe." I've seen every episode of South Park and the Simpsons, and can quote many of them. I love Japanese anime, and I'm now learning the language so I can watch it the way it was intended to be seen.

In the summer, I water-ski. In the winter, sometimes I bike, although I honestly don't get enough good exercise. And year-round there is golf, which I play poorly but often, and at least enjoy when I play.

And if nothing else, I at least catch Penn State football on T.V. every season.

Travel

I've traveled some. Outside of the United States, I've been to the Philippines (1980 & 2002), Israel (1992), France (1992 and 1999), Germany (1999), Switzerland (1999), and Japan (2002). I got to use a little of my French in France and Switzerland, but sadly, far too many of the people spoke English. We've had vacations in the Caribbean, including the Cayman Islands, Puerto Rico, Saint Thomas, Saint Martin, and Aruba. In the USA I've been regularly to (or lived in) Pennsylvania, New Jersey, Delaware, and Michigan; and taken trips to Illinois, Florida, Virginia, South Carolina, Missouri, New York, Texas, and California. My parents claim I've been to a few more, but those are the ones I remember clearly.

Incidentally, if you ever get the chance, visit Mackinac Island (pronounced "Mackinaw") between Michigan's two peninsulas. They don't allow any kind of motorized vehicles on that little island, but they make the best fudge in the entire world there, hands down. It's worth the trip.

 
Copyright © 2000-2005 by Sean Werkema. Comments? Questions? E-mail webmaster@werkema.com
Click here for this site's Privacy Policy and Terms of Service.