TruerWords Logo

Search TruerWords

This is one of my journal's many "channels."
This chanel only shows items related to "Rich Siegel."

Sign Up  Log On
Thursday, November 28, 2013

Thank You

Thank you, Father, for the uncountable and innumerable blessings you've poured into my life.

Thank you Corinne for the love in your eyes and the touch of your hands and your humor and for putting up with mine and for sticking with me even when all seemed lost.

Thank you Lauren for being such a sweet, smart girl and for lighting up so brightly whenever you see us. I dare say I've learned as much from you as you have from me.

Thank you Mom and Dad for raising me, for teaching me the way I should go, for helping me to see the wonder and beauty and hope and humor in this life on God's Way.

Thank you Mikel and Shannon for adopting Corinne and I as surrogate parents, for letting us love you and Richie, Lauren and Sam, for coming home again, for letting Lauren still be such a huge part of my our life.

Thank you Katie for being one of the most wonderful people I know. Come home!

Thank you Ellyn for agreeing to be my only big sister (instead of my aunt), for forgiving me for NOT being there when you needed me a few years ago, and for loving me like only a big sister can. ;-)

Thank you Ben and Mandi for becoming more than "just cousins" to me this year. I love you both.

Thank you also to Lilly for being one of Lauren's best friends!

Thank you Steve for the excellent discussions of the truth and our life in it, for the many hours together on our bikes, for your patient and constant work to reunite something which looks permanently broken to so many others.

Thank you Mark for being there whenever anyone needs you, for always trying to be The Blessing that we seek for our brothers and sisters, and for being one of my oldest friends.

Thank you Darren for keeping me sharp, as David says, "like iron sharpeneth iron!" I've learned things from you, too, that I didn't seem to be learning anywhere else.

Thank you Frank and Bonnie for loving Lauren so much, and Frank for our new friendship!

Thank you Jim and Dee for trying to see past (or ignoring) my foibles, for being our friends, and for always reminding us to keep the Kingdom of God at the top of the list and the front of our minds.

Thank you Eric and Bonny for forgiving me for my temper (which got the better of me a couple years ago) and for everything you bring to our ecclesia.

Thank you Rich for the friendship and the work over the years. 7 ½ years!

Thank you Joseph and Andy for the work and the chance to make something(s) fun.

Thank you Corinne for the love and magic you work in the kitchen, and for how much you love to share it with our brothers and sisters (and anyone else who eats real food).

Thank you Robin for coming back into Corinne's life. She's my best friend, and you've made me happy by making her happier than I could do alone.

Thank you to Kim and Dave and Tiff and Joshua and Jed and Sarah and dozens or hundreds of other people, too many to list, who have brought love or peace or adventures or joy or laughter into my life, who have taught me something, or somehow managed to learn something from me.

Thank you, Father, for blessing us all so thoroughly, and for providing each of us as blessings to each other.

Tuesday, February 22, 2011

Trot Trot to Boston (Trot... with Lauren?)

Kissy Face for Oma I sent a text to Shannon at 8am asking if she could have Lauren's hair "pretty" for Bonnie, and then picked Lauren up at her house at a few minutes before 8:30. She hopped from their deck, past the car, and all the way down the driveway. "Lauren, the car's right here." "Oh yeah, I forgot."

Bigger Than Her Head Our first stop was at Snoopy's Diner in North Kingstown for breakfast with Rich, as I do every week. (Don't worry, I'd warned him that she'd be with me!) We arrived at 9:10, about twenty minutes early. Lauren hopped from the car, across the parking lot, up the stairs, and to her seat in the booth.

When contained in a small space (like the car or the diner's booth), she'd talk non-stop. When not so constrained, she hopped.

Corinne called at 9:30 to talked to Lauren. Lauren was loud, and had everyone in the restaurant laughing at her silliness. (“HELLO OMA!”)

(Thank you, Rich, for being so patient with Lauren's constant interruptions.)

On the Train to Boston Our next stop was the South Attleboro, MA, commuter train station. The commuter lot was FULL so we had to park at the far end of the mall's lot, past McDonalds. I think Lauren hopped at least a third of the quarter mile from the car to the train stop.

Lauren loves trains, and this was her third ride (the previous two were just short, fun trips from Westerly to New London). She watched the land zipping by most of the time, or chatted with our neighbors, or with the conductor. Or me. Or her Minnie Mouse. Or the train itself.

Mixing Up the Water We disembarked at Ruggles Station, and she hopped all over the place while I waited in line to buy a sandwich at Dunkin Donuts ("Opa I'm hungry again!"). After we ate, we went out to catch a cab.

Pat pat pat Waiting for a cab took thirty minutes, five hundred hops, and about twenty loops around the square, raised flower box on the sidewalk that she pretended was a "balancer" (balance beam). In that time I flagged down six full taxis and two police cars before finally finding an empty ride.

Bonnie was surprised to see us! I was sure Frank or someone would have told her we were coming up, but that wasn't the case.

She put a pillow over her stomach as soon as we walked in. I thought she was just being self-conscious, but later I realized it was self-preservation, as Lauren patted the pillow to ask if that's where "she was cut".

Lauren prattled, hopped, pestered, skipped, chattered, and dumped water the whole time we were there. (She wasn't being naughty, just young and easily bored.) Oh, and she kept pulling the dividing curtain further and further, because she couldn't understand that she was also pulling it away from the wall at the other end.

Cheesey Bonnie looked good, and seemed to be rather eager to get out of there and go home.

The original plan had included leaving the hospital for a trip to the observation deck at the top of the John Hancock building. Towards the end of visiting Bonnie, though, I noticed little bags developing under Lauren's eyes. Instead, we visited Au Bon Pain in the hospital lobby (after making one mandatory trip up-and-down the "stairs you don't have to walk on"), and then grabbed another taxi to take us back to the train station.

Where... we waited. For almost an hour.

No, let me rephrase that. I waited. Minnie waited. Lauren hopped. All around the platform. By the time the train arrived there were forty or fifty people waiting with us, but she was oblivious. Hop hop hop around the big bench installation, then lunge for my leg and hang on to it, panting, catching her breath... and hop hop hop to the big, aluminum trash can and back to my leg, pant pant pant, catch her breath, and then back to hopping.

She wasn't the only kid on the platform, and she wasn't being embarrassing. Lots of people would stop what they were doing and just watch her, smiling and shaking their heads. Not once did she ever bump into anyone (though she came very close to ramming her head into a large man's butt at one point, she caught herself just in time). Finally, she hopped back to me one last time and stumbled onto her stomach. She wasn't hurt, but ran straight to me blushing and just huddled with me to warm up for a minute, and then the train was there.

On the Train Home Apparently that stumble came when her gas tank finally ran dry. Five minutes after we boarded the nearly full train, she was fast asleep on my lap.

She didn't wake up when we switched to an empty bench after lots of people left at the next stop. She didn't wake up when we left the train, nor as I carried her all the way back to the car (and thought my arm was going to fall off).

She woke up (a little) at one point on the highway, yelling, "I never want to see that bad train again, it wanted to hurt you!" Seconds later she was out again. Mike came out to get her when we pulled into their driveway, and she barely woke up enough to give me a hug.

Saturday, January 1, 2011

Happy New Year!

Ten years? Really?

In 2001 my work life was all about Conversant, my personal life was all about Corinne, Shane, and a house full of cats and birds.

I don't remember much about 2002, except that I reconnected with Steve Davis, someone I've known practically since I was a baby. We've always had our faith in common, and found that now we also have our bikes.

Two years later Shane was gone. That's all that year (2004) was about. Nothing else mattered. Hanging on to Corinne, propping her up, making sure she understood how much I love her and need her still, and trying to help her cope with a pain that defies belief.

2005 was a pretty big year. It included the release of Firefox Hacks (my first time in print!), tutoring the Pride kids (Avonlee and Ethan) in math, the PMC and its software auctions, the main author of Firefox Hacks (Nigel McFarlane) committed suicide, Corinne and I met the crew of the Atlantia, Jed moved in with us, I made friends with Jimmy Lehn (morning DJ at a local radio station), and we celebrated Thanksgiving at the Westerly WARM shelter. Finally, 2005 was the year I first started playing with Prototype. (Wow, i can't believe it was that long ago.)

In 2006 I met Greg Pierce years after he had worked for me at Macrobyte, my friend Darren and his wife Angi brought home their adoptees from Nepal, I wrote the "custom events" code for JavaScript that is *still* being used on Apple's web pages, attended the first Rails Conf, and I finally got to meet and begin forming a friendship with Rich Siegel and started working on language modules for his company's main software product, BBEdit. Jed left us, and headed for British Columbia and the woman he would eventually marry. Finally, we met Mike and Shannon late in the year.

2007 was unreal. If not for the pictures, most of it would be forgotten. I helped man the booth for Bare Bones at MacWorld Expo. Mike and Shannon moved in with us. Lauren was born! Mike and Shannon went away for a while. We did our best with Lauren and truly, completely fell in love with her. Visited her parents a lot. Finally met Jim Roepcke and Sean McMains at the second RailsConf (while Corinne stayed home with lauren). Jed married Alycia (and I got to attend, way out there in B.C., while Corinne AGAIN stayed home with Lauren), my grandfather turned eighty, Jed and Alycia came out for a visit (and haven't been back since), Corinne and I celebrated our tenth anniversary, and my sister and brother-in-law had their third daughter.

Shannon came hom again in January of '08. Lauren started walking and talking, and turned one. We got news (on the day Shannon came hom) that the house was being sold so we'd have to move (after ten years). Corinne, Ellyn and Lauren went to FL (Lauren's first plane ride). Richie (Shannon's eldest) came to live with us. My parents came to live with us, for a few months. I went to FL in October with Ellyn and the grandparents to pack them up and move them to Ellyn's house. The year ended with a terrible sprained ankle and a move from Mystic to Westerly.

In January of '09, Mike came home and the family was all back together. Unfortunately, in June they all left again. The relationship slowly thawed, but then in September they disappeared to North Carolina without warning and we thought they (especially Lauren) were gone forever. We got a ten day visit with Lauren in October, but taking her home was the second most difficult and painful thing I've ever done.

2010 started out with a brief visit from the Deanes, but after that the contact (via Skype or telephone) dwindled to nothing within a few months. I entered a serious depression (my first), which I tried to fill or bury with World of Warcraft. In March a rainstorm tried to wipe RI off the map, and in May I was brutally attacked by some blood clots that came from nowhere and landed in my left lung (killing part of it). In June, the Deanes moved back to the area, and we got regular visits with Lauren again. It took her a few minutes to remember us, but once she did it was like we were never apart.

As I write this, Lauren and Corinne are sleeping in my bed, above my office, just a few feet right over my head. I don't know what changes are coming our way next, but right now we have joy and I'm taking nothing for granted.

Happy New Year, everybody.

Monday, March 31, 2008

Other BBEdit Language Modules

Rich read the Why I Wrote a JavaScript Module for BBEdit story, but like everyone else at Bare Bones decided to respond to me directly instead of posting something on the site. (Jim Correia has been guilty of this so many times it's now an old joke.) Anyway, he suggests that list the other languages/modules I've added to BBEdit since the JavaScript module

They are, in no particular order:

  • Strings (for MacOS X developers)
  • Python
  • Markdown
  • SQL (five flavors)
  • Ruby
  • Java
  • TeX
  • Lua
  • YAML

My favorite is still the JavaScript module. My least favorite is definitely the Markdown module (see's source code and look for the author's comment, "This is an aspect of Markdown's syntax that's hard to parse perfectly without resorting to mind-reading" and maybe you'll understand my issues with it.)

My second favorite is the Python module, because Guido van Rossum wrote the gold standard of language specifications. He doesn't just describe the language syntax with near perfect clarity, he also has implementor hints! It's like he was in the room with me when I wrote that module, telling me what I should do here or there. His work made my work better, and there have been very few bugs reported in the Python module since its release.

My second least favorite module is YAML, for the same (or opposite) reason. The specification is obtuse, repetitive, unclear and unrealistic. It's full of internal language which you can only comprehend by looking for definitions elsewhere in the document, and inevitably those definitions have more internal language. (I'm working on an update to the YAML module, and the authors of YAML actually admitted to these problems in several IRC chats we had in the last few weeks).

I have various other unfinished language modules sitting around on my computer, waiting for me to make time for them, but all of the above have been released with BBEdit 8.5, 8.6, or 8.7.

A New JS Mode for Emacs, and Why I Wrote a JS module for BBEdit

Stevey's Blog Rants: js2-mode: a new JavaScript mode for Emacs

For the OOD-loving and API-minded among you, the "beautiful" way to do syntax coloring would have been to finish parsing, then walk the AST using a Visitor interface, applying the coloring in a second pass. I tried it, and it was, as they say, "butt slow". In fact (perhaps not surprisingly) walking the AST takes exactly as long as parsing, so it was twice as slow as doing it inline.

So I bit the bullet and moved my syntax-coloring to happen inline with parsing. Fortunately it only introduced about 30 lines of code to the 4000-line parser/scanner, because most of the coloring happens in the scanner, at the token level. Go figure.

Steve Yegge describes (at length) his new JavaScript mode for Emacs. For much of the article he's talking about (trying to) parse the JavaScript file at the same time that he's applying syntax coloring. It's absolutely NOT a simple task, not by a long shot. He had the benefit of direct access to Brendan Eich (the author and maintainer of JavaScript itself) at least twice so far, but still describes how difficult it was. And this is someone many people consider a superstar programmer who has been working at Google for years.

Well, next to Conversant, my favorite-ever project is/was the JavaScript module in BBEdit. I won't go into all the technical details like Steve does, but I will say, "I feel his pain."

Thinking about this, I realized that I never wrote the story of how I came to be contracted with Bare Bones. With all the explosives experts, martial artists, photographers, and "connected" individuals at BB I need to be careful not to cross the lines of my NDA, but I think I can tell this story safely. ;-)

How It All Started

In early Spring of 2006 — almost exactly two years ago — I was doing a lot of work with JavaScript. Prototype was my new favorite toy, but 1.0 hadn't yet been released. My editor of choice was BBEdit, but I was frustrated that it didn't list the functions in Prototype.js (follow that link for more details, including pictures). I wrote to Bare Bones tech support to ask if they knew of any third-party, BBEdit, language modules for JavaScript.

The answer was "no," but I was told that a couple other people had asked about improvements to their JavaScript support. I wrote back to say that I'd like to take a crack at it, if I could only see "the source to the current syntax module." Hah. Yeah, like that was ever going to happen. "Could you send me some of the source to your app, so I can write something better?" (That's NOT what I said, but that's probably what it sounded like.)

After lots of email back and forth, on May 10th we had only reached the point where Bare Bones was "planning to update it in a future release." I'm a developer, I know what that means. So I wrote again, and said I was going to start my own language module (based on BBEdit's public SDK for language modules), and could they just send me their current list of language keywords?

A month later, Rich himself finally sent them to me. That was June 12th. I wrote back with a better list of keywords, and told him I was going to start working on my own module unless they told me I shouldn't bother because they already had one under development. They didn't, but Rich seemed to be trying to call my bluff: you go ahead and start working on it, and if you come up with something good maybe we'll work something out. (I've been on both sides of this discussion, and I know that usually nothing happens.)

Three days later, I sent them a copy of a fully functional JavaScript language module, written in C++. (Looking back, I'm all impressed with myself!) When I'm telling this story in person, especially if Rich is nearby, I like to say that they tried to call my bluff but found I wasn't bluffing. I still think there was a little of that, but mostly I think they just dealt with this nagging, mostly-unknown customer the best way they could: "go ahead and do your thing, and yes, maybe we'll work something out."

A few days after that I sent them another one, with some more features and some bugs fixed.

A few days later, I went to RailsConf in Chicago, and found out that lots of Rails developers were using TextMate. I'd barely heard of it! (Probably because I don't go looking for new toys very often when I have work to do.)

While at the conference, I talked to other JavaScript devs about their editors, and showed them what I'd done for BBEdit. I even showed Sam Stephenson, Prototype's author, at the same time that I was showing him what I'd done for custom events in javascript. Everybody liked it, and it was definitely better than anything else out there. I also asked people why they were using whatever editor they were using. Most of the Rails folks who were using TextMate were using it because that's what the top Rails guys recommended, and because it had really good integration with Rails itself.

I wrote up all this "research" and sent it to Bare Bones when I returned home.

Writing the language module, peppering them with lots of email, and sending in the research I did at RailsConf were enough to really get their attention. In early July (can't remember... July 3rd or 5th), Rich came down here and we had lunch at Costello's Clam Shack, right on the water. I got an early look at BBEdit 8.5, we talked about my 1,001 feature requests, and I signed an NDA with a handshake (and later with pen and ink).

Perhaps as import as the business that was done that day, Rich and I became friends (and have had a casual breakfast almost every Tuesday morning since then).

Tuesday, November 6, 2007

A Day Off for Everyone

Rich lost a fine feathered friend last night. it's been tough.

He said, "The world is one bird in the "minus" column and that's no good." I replied that it's no good that the world doesn't even notice. It doesn't even notice when a child dies.

So, I propose that we *all* take the day off whenever a loved one dies. With pay. And, at Rich's suggestion, "with donuts."

December, 2018
Sun Mon Tue Wed Thu Fri Sat
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31  
Nov  Jan


Channel RSS: RSS Feed for channel

is Seth Dillingham's
personal web site.
Read'em and weep, baby.