The Phantom Inker's Site  
Home | Gallery | Commissions | Tutorials | About Me | Contact Me | Links      Login

Wedded Bliss Wed., October 1, 2008

On Saturday, October 4, 2008, just as the fall leaves start to turn (and a mere three days from today), the lovely Songbird and I will be married near sunset in a little white Methodist church in the even littler town of New Milford, Pennsylvania, a pretty picture that's right out of a Norman Rockwell painting. Say hello to the soon-to-be Mr. and Mrs. Inker :)

Inker & Songbird :-)


We have about 120 guests who will be coming from all over the world (literally!). There'll be the ceremony itself (very traditional, too!), the reception, music, a sit-down dinner, dancing, and an open bar, so it's gonna be one heckuva party.

On the night of the reception, she and I will disappear around ten o'clock, to hop into our limousine to the Philadelphia International Airport to catch our early-morning flight to the sunny warm aqua waters and fresh winds of the Aloha State.

Me, I'm incredibly happy and terrified out of my knickers at the same time. I've never been good in front of large crowds, and I'm a lot more comfortable behind the scenes than being the center of attention. But I really, really want to be married to Songbird; she's the best thing that's ever happened to me, and if that means I have to spend a day scared [bleep]less, I'll do it in a heartbeat. Songbird, I love you, and I can't wait to see you walking down the aisle on Saturday.

Update and Cleanup Sat., September 13, 2008

So it's been some time since I last posted here, not because I really wanted to delay, but because the past few weeks have been pretty rough. First, I banged up my arms on the boat and could barely type for a week; then I accidentally jabbed a knife into my thumb (ow) and couldn't type for most of another week; and lately I've just plain been busy.

Part of that's because I've been preparing (gulp) to go job hunting: My current work is good, but I'm getting married really soon, and my current income and Songbird's current income just aren't enough to cover our collective bills — that, and I've been thinking for a while now that it was time to start doing something different career-wise.  Despite the fact that I own my own (very small) company, I really do feel like I'm going in the wrong direction right now.

Luckily, I work in the computer industry, and folks pay pretty well here, so we'll be okay once I find a new job, hopefully in web-dev stuff; that's been a lot of fun to work on as I've been doing it more and more over the last couple of years, and it's a place where I feel like I can actually contribute something meaningful.  But job hunting is scary no matter when or where you do it, and as it's been seven years since I last did it, I'm pretty rusty on the whole resume-and-interview process — not on my work skills, which are, as always, in tip-top shape and very current, but on my interview skills.

Anyway, to that end, I've decided to clean up this blog a little; I've removed some of the sillier postings and personal postings from awhile back, and left mainly the more recent postings and stuff about CMXpress, since that seems to be why most people are coming here anyway. Anybody who really wants to delve into my private life can find plenty of it elsewhere online.



But let's get into the meat of the topic: What's the status of CMXpress?

The answer is that it's in progress. We did a successful rollout of it to Crossworlds back in June, and Crossworlds has been running on it ever since, which is good. That said, I learned a lot during that rollout, and realized that it wasn't quite ready for the general public yet. Thom was willing to put up with some installation headaches to gain its administration tools, but the average Joe-on-the-street isn't going to be able to. (C.D. Rudds, who draws and writes SailorSun.org, has been working with it a little bit for his new site, Wolfpac, and that's also demonstrated some areas where it's needed more cleanup and end-user-friendly-ization.)

So some parts of it were pulled back into the workshop for retooling; during the Crossworlds rollout, I went through three or four version numbers in a hurry, patching and fixing and upgrading. I've since done a lot of work on the installer, and fixed a lot of interesting (and ugly) bugs in the backend, and added in some services that really should've been there since the start (like logging). It also needs documentation by the barrel; this is a huge and powerful package, and right now, I'm really the only person who understands it fully, and a lot of folks who are testing it have been griping about that fact.

And, of course, there was about a month during July when I was swapping out its BBCode parser with NBBC, because the old parser was slow and was covered under GPL, which isn't very friendly toward my preferred BSD license.

So where's that leave us? Right now, I'm working on the logging-and-statistical facilities, so that site owners can get a handle on their visits and visitors, which is useful for a wide variety of purposes (not the least of which is paid advertising). I've backported some of the new code to the old Wotch site, so that their database is kept in sync with CMXpress's preferred format (Lordy, Lordy, I can't wait to finally switch in the new code at the Wotch site). The search engine is in pieces right now, too, and needs some work; and I've seen a lot of evidence from the test sites that the custom-page facilities will need to be done, finis, finito before I can release CMXpress to the public too.

I know I told folks that I was hoping to have it released this summer, and I'm sorry for not releasing it yet. But I think it's better this way: The test sites have identified some places where it still needs work, and their discoveries (and my subsequent bug-fixes, patches, and upgrades) will help all of you who are waiting on it. Ideally, this thing should just be install-and-go, but it's just not quite there yet.



One other topic that arose as I was talking with Becky Heineman the other day was a simple enough question: She pointed out that she'd needed a webcomic engine for Sailor Ranko, and so she just built one in a weekend, and added most of the facilities she wanted within a week or two after that; and given that that was so easy for her to do, what was the point of CMXpress? To this question, I have several answers, and I think they're all valid:
  • Most webcomic authors aren't a Becky Heineman, for one thing: Becky's a star programmer, capable of coding anything she wants in relatively short time. Whereas a typical webcomic author knows how to write and draw, and if he's lucky he can scrabble together a few lines of PHP to help automate the site a little, but coding a solid backend is beyond him.
  • Becky's engine is no doubt powerful and well-suited to her needs, but it probably doesn't scale to other sites. That's the same problem the current Wotch code has and that many webcomic sites have: The code's acceptable enough code for the needs of that site, but it was designed to run that one site, not hundreds of others, and isn't easily customizable for another site. There's a very good reason we've repeatedly turned down requests for the current Wotch site code — it's ugly and unportable.
  • CMXpress provides sophisticated and easy-to-use administrative services. A coded-over-the-weekend system provides very minimal administration (I should know; I've built enough of those kinds of things). A good general-purpose package should be so incredibly point-and-click-crowd-friendly that anybody can manage reams of data, and the Crossworlds rollout has shown CMXpress is meeting that goal: Darin Brown, the artist for Crossworlds, is very computer-phobic but has used CMXpress to post a comic or two by himself, and I consider that a very successful benchmark.
  • CMXpress provides a solid API. The API of most backends is somewhat ad-hoc: You add stuff by altering a line of code here and there. For CMXpress, I wanted to do better than my last webcomic engine, and build a system that a programmer could love, with a clean, tight API that makes a lot of nasty stuff (page templates, BBCode, form handling, administration, etc.) really easy, and that ensures that site changes can usually be done without altering the engine. I'm tired of reinventing the wheel, and I think that even the webcomic authors who are programmers probably would rather the hardest work be done for them too.
  • CMXpress is maintained. This thing was built first and foremost to meet the exotic needs of the Wotch, and that means I still am going to be regularly adding features and patching bugs because of my involvement with them. Although I've drawn some webcomic pages in the past, I'm not a webcomic author and don't really want to be; I'm a coder, and I'm quite happy with that job. This means that you can fix bugs and add upgrades to your own site just by downloading the latest copy of CMXpress and installing it: It's a lot easier to steal my bug fixes than to make them yourself, even if you are a programmer.
  • CMXpress is needed — whether any other site ever uses it or not, Crossworlds is already using it, and the Wotch needs it very badly, and Tsel's asked several times if he can install it on Cheer! too. For those reasons alone, I will continue working on it. People want it; it has a purpose; there's the answer.
All that said, there's nothing stopping anybody from building their own webcomic engine and distributing it; competition is healthy for the market, and in the end, the users win, and the readers (like me!) win too.  I'm gonna keep working on CMXpress because people want it and need it, but if a competitor arises?   May the best webcomic engine win :-)

Oops Fri., August 22, 2008

I had a fight with a steak knife and lost today. I'm typing this one-handed right now. My hand will heal, and I (thankfully) didn't need a hospital visit, but this touch-typist is down for the count right now. So... uh... there you have it. If I'm not talking over IM or responding to your comments, now you know why.

I'm glad I knew to quickly apply a tourniquet, and I'd like to thank my Songbird for her support; I doubt I'd be doing well right now without her.

Edit, 12 hours later: I can type a little better today (still minus a finger and on painkillers), so here's what happened: Hold your hands out in front of you, palms down, about shoulder-width apart. Pretend you have a knife in your right hand, and a scrubby brush in your left hand, and that your hands are over a sink. You've finished cleaning the knife, so you put the scrubby brush behind the sink. You go to put the knife away in the rack to your left, but you miss, and the tip of the knife strikes the back of your thumb, right at the joint.

Lots of blood spurts out of the stab wound, because you hit an artery. You cry out, your fiancée comes over, and she quickly helps you apply a tourniquet to stop the bleeding while you wash it under cold water. The stab wound is small but deep, but doesn't hit the bone, thankfully. But the loss of blood is making you woozy, so you lay down. She applies antibiotics to the cut, and then a bandage, and makes you take a bunch of painkillers, and you spend the next few hours laying down and drinking liquids, trying not to pass out. Eventually, you slowly recover, but your thumb hurts like hell. It's a very small but very deep cut, so there's not much a hospital could do, so you don't go, but it still hurts.

Funny thing is, I know knife safety. I carry a swiss army knife in my pocket, and have since I was 16, and I use it all the time. I've never gotten even so much as a tiny cut from it; I get more injuries from paper cuts than I do from knives. But... all it takes is one mistake.

On the plus side, I learned firsthand that our new steak knives are really nice and sharp! :D

NBBC and open-source thoughts Wed., July 30, 2008

As most of you know, I've been working hard on a webcomic software package called CMXpress, and one of its distinguishing features is that for nearly all the places where a user can type text, it uses BBCode to allow you to format it.

I discovered around the start of this month (July) that the BBCode parser I'd been using was covered under the GPL.  This is bad.

See, here's the thing:  CMXpress is covered under a BSD license, which is about as open as open-source gets:  Free as in speech, free as in beer, you can download your copy, modify it, sell it, do anything you damn well please with it --- you just can't claim you wrote it.  Which is fair, I think:  BSD and similar open licenses have helped spur the development and the spread of a huge number of software packages.

The major competing open-source license is the GPL, which is similar in principle, except for two things:  First, you can't take the code, modify it, and not release your modifications to the public.  BSD allows you to have a private copy, effectively, and GPL doesn't.  Second, the GPL is, as Micro$oft rightly argues, somewhat like a virus:  It infects everything it touches, and overrides everything it touches.  If I had (stupidly) included that GPL'ed BBCode parser with CMXpress, CMXpress itself would have been forcibly covered under the GPL.

I don't like people telling me what I can and can't do.

So the old GPL'ed BBCode parser is out, and I couldn't be happier, really.  It wasn't really that great a piece of code to begin with; it was cranky and somewhat inflexible, didn't handle whitespace in ways I really wanted, and the original author stopped supporting it two years ago.  I did some searching, and there weren't any other good BBCode parsers out there; seems a lot of people are looking for one, and nobody's written one...

...Until now.  Introducing NBBC, a fast, flexible, well-documented BBCode parser that's covered under a BSD license.  Unlike most open-source code, it's well-commented, includes a huge user's manual, includes several examples, and is small and lightweight to boot.  It's a validating parser, meaning that no matter what broken garbage your users type in, you get XHTML 1.0 Strict out.  It runs under PHP 4.0.5 or later, and is everything that old parser wasn't.  It's long overdue.  Go download your own copy now.

NBBC will quickly replace all of the places where I used that old BBCode parser:  It's faster, more flexible, works flawlessly right out of the box, and has a nice API for adding extensions and new tags and smileys and other stuff.

NBBC is hosted by SourceForge, and I have mixed feelings about that.  On the one hand, SourceForge is a nice clearinghouse for open-source projects.  On the other hand, SourceForge seems to me to be a royal pain in the @$$ to work with, and somewhat slow.  Still, I'm giving it a try, and maybe SourceForge will grow on me over time.

And those of you who have been wondering where CMXpress is can stop wondering:  CMXpress has been inside the garage while I replace its BBCode parser and get rid of anything that smells even vaguely like the stink of the GPL.

Welcome to my site!

This is the web site of Sean W., the Phantom Inker. I'm a 32-year-old soon-to-be-married professional programmer and amateur artist.

Want to contact me? I'm friendly and I don't bite! I have a variety of contact points:

E-mail:inker2576 AT yahoo D0T com
AIM:seanofw
YIM:inker2576
MSNM:inker2576 AT yahoo D0T com
deviantART:phantom-inker
furAffinity:phantom-inker
SheezyART:Phantom Inker
LiveJournal:phantom-inker
Journal feeds:RSS, Atom

This front page is a mirror of my LiveJournal. If you're here for the art, it's over in my gallery!
Copyright © 2003-2008 by the Phantom Inker. All rights reserved.