Happy New Year… I spent most of January with a cough. Ugh.
The girls were delighted to get a bunk bed in their room! Audrey sleeps on top, because she is more responsible and less likely to fall (we hope). Now they have a lot of space in their room, which they have promptly filled with toys.
At work, we are trying to fill a couple of vacancies, and so I tried to get a friend into our group. The real question: is that something you’d do for a friend, or for an enemy?
I went to an interesting IEEE-embedded meeting, where they discussed Rate Monotonic scheduling. I dusted off the source code from my old “Presto” RTOS (real time operating system) to show that it handles priority inheritance, but not priority ceilings. The speaker’s advice: forget Rate Monotonic Scheduling and use Earliest Deadline First instead (it is provably “optimal”).
I published a new geocache called “Coordinate Digits Magically Appear”. In order to solve the puzzle, you have to learn how CDMA phones encode and decode their data, and you decode a short message by hand.
At the end of January, we attended “Astronomy Days” at the NC Museum of Natural Sciences. I think the girls’ favorite part was getting their picture made in astronaut uniforms.
My cough from last month dragged into February, too. After several weeks of hacking up phlegm and even pulling a muscle from coughing, I went back to the doctor. This time, he gave me some good drugs.
It’s Chinese New Year, the year of the rat. And we celebrated like we always do… pretending like it’s the year of the pig. We attended two New Year parties.
We still have vacancies at work, and I had more friends come in for interviews.
February really was a slow month… I spent most of it just trying to get back to good health.
For the last few months, Audrey has been going to “Odyssey of the Mind” meetings in our neighborhood. The kids have been working on a play about a person who falls asleep and wakes up in three different places: in the desert, on the moon and on the Titanic. They finally got to perform, once at their school and again at the OM competition in Chapel Hill.
A guy in Raleigh sent out an email saying he was moving and so he was selling all of his technical books for $2 apiece. At first, I thought I’d pick up 2 or 3, but I ended up buying 32 books! I split the loot with a buddy from work.
At the TriLUG meeting, I was elected to fill a vacancy on the steering committee. My election was uncontested. We then went on to have an excellent presentation by Mark Spencer, who wrote Gaim (instant messenger program for Linux), and later Asterisk (PBX system that runs on Linux). He talked about the formation of his company, Digium, which sells phone cards for use in Asterisk PBX systems.
A personal milestone passed – 500 geocaches in 500 days.
I wrapped up March at CarolinaCon, a “hackers” convention in Chapel Hill. We saw presentations on hacking techniques such as cross-site scripting and format string vulnerabilities. On the other end of the spectrum, there was a presentation on forensic tools and methods to use after you’ve been hacked. It was fascinating, regardless of the color of your hat. Favorite quotes from the conference: (1) “Don’t be shillin’ at my Con!”, (2) “weed and crawfish”.
In April, Audrey tried riding a bike without training wheels. She’s pretty sharp, so all I had to do was show her how to steer into the direction that the bike was leaning. She did much better going up a slight hill. But once we started down, she forgot all about steering while her feet were busy trying to slow down.
Interesting TriLUG meeting, with Paul Jones from iBiblio.
At the CarolinaCon hackers conference in March, I saw a guy with an Asus Eee PC, a tiny little laptop that runs Linux off of solid state (flash) storage. I decided that I just HAD to have one, so I ordered a 4G “Surf” (no webcam) model, and I upgraded its RAM to 2GB. It is sweet. I have been playing with the default software set-up, and then the more advanced KDE environment, and then even trying Ubuntu on it.
Although the screen is the same resolution as the Nokia 770, the two machines are worlds apart. 1. The Eee’s LCD is physically larger in size than the N770’s. 2. The Eee has three USB (host) adaptors, the Nokia has none. 3. The Eee has a usable keyboard (while the N770 uses half of your screen for the pop-up keyboard). 4. The Eee has an SD card slot, same as my GPS and camera. 5. Most importantly, the Eee has a better-maintained software repository (Xandros-based); and if that’s not good enough, you can even switch to a mainstream distro like Ubuntu.
Since Audrey was tracked out this month, we took a long weekend trip to Washington DC. We saw a lot of the usual sights (museums on the Mall), and a few unusual ones (the Teddy Roosevelt Memorial Island). I enjoyed the Mesuem of Natural History, and the kids enjoyed the “money factory”. Momma liked Mount Vernon. On our last full day in the city, we got back to the van just in time to see a tow truck pulling up… fortunately for us, he let us drive off without being towed (but still with a $100 fine).
Interesting TAR meeting: the NCSU Underwater Robotics Club is preparing for a contest (they don’t know it, but they’re doomed).
We spent Mother’s Day in Winston-Salem, visiting my mother and two grandmothers. Later in the month, we had a lunch at the home of our old childhood neighbors, the Smitherman’s.
Our neighborhood pool opened in May. Audrey and Sydney joined the swim team, the Brookstone Barracudas. They practice a lot, and I feel comfortable with their swimming, even in the deep end.
Audrey had a piano recital, where she played the Blue Danube Waltz, a two-handed piece that is fairly difficult for such a young student.
We worried about Maggie after she developed a serious pain in her neck. The vet told us to keep her confined to her box, and she gave us medicine for her pain and inflammation. Then she warned us that we would have to put her to sleep if it did not improve very soon. So for the next few days, we treated our poor puppy as if it were her last days with us. But within a week, she was her same old self – both the good AND the bad: playful and active, and running away to rummage for food.
Foong broke her leg on the first day of June, and that set in motion a series of events that lasted the rest of the month… and more.
We were taking the girls for a bike ride on one of the new greenways near our house. Audrey is just getting used to riding without training wheels, so I paid a lot of attention to her, running beside her wobbley ride. About a mile from civilization, Audrey and I stopped to look for a geocache in the woods. Foong and Sydney waited for us, riding the bikes down a long hill. The next thing I knew, Sydney (our hero) wandered into the woods by herself to tell us that Momma was hurt. We found her on the side of the trail, still laying down next to the bike.
Getting Foong back out to the car was an ordeal, but we eventually decided to let her sit on the bike and walk her out on it. We spent the rest of the night in the Emergency Room, where they decided that she would need surgery. So two days later, Foong spent her birthday at Rex Hospital, having her bones put back in place and secured with some screws and a plate.
My parents spent several days at our house, helping out while we tried to adjust to Momma being stuck at home. We canceled a beach trip that we had been looking forward to, and we cut back on a few after-school events. But for the most part, we managed OK.
Foong is recovering beautifully.
Our neighborhood swim team had a couple of swim meets this month. These might have been more fun if the team was smaller, but with 150 kids, the meets are long and each kid only gets to swim two or three runs.
We finished up June with an early birthday party for Audrey at Marbles Kids Museum (which used to be Exploris). This was a great place to take the kids, but it’s hard to keep track of them all.
Since we are on a “year-round” school schedule, our summer break is only four weeks long… and that is the month of July. We did not plan any vacations during the break, because we’re busy enough taking care of Foong’s broken leg.
We started off the month with a family trip to Regency Park in Cary for a picnic dinner, the NC Symphony and then fireworks. It was a lot of work to pack up the kids and a picnic and the wheelchair, but we needed to get out after being cooped up at home all last month. Just as we got settled in and finished supper, a thunderstorm popped up and we had to pack up and race for the exit (no easy feat with two kids, a bunch of picnic supplies, and Momma in a wheelchair). The only reason we did not get completely soaked was because we got to park in the handicapped lot, right next to the entrance gate.
Audrey spent a week at Cary Space Camp, where she blasted off a rocket, built a robot, made a telescope, played with gyroscopes, and visited the planetarium.
Foong made her transition from crutches and a wheelchair to walking on her own with a leg brace. And the doctor said she could drive again!
We were treated to a brief visit from my old college buddy, Lowell (I should note here that he is not as “old” as I am, but he’s going to be 40 soon). Somehow, we both managed to let a few years slip in between us. So it was a real treat to catch up, and to let our kids play together. More than anything, I think we just paved the way for future get-togethers.
After a very short summer break, the girls started back to school. Sydney is very excited to be in kindergarten. She is not scared, since she has her second-grade sister by her side.
My personal technology project for the month was to consolidate my web and mail servers to a single new server. My new (xen) host is at Linode.
And after only three months of using the Eee PC, I decided to upgrade to the new 900. It’s the same tiny size as the 701, but it has a larger 9-inch (1024x600) display and a 16 GB flash disk. I use it all the time, and I love the larger screen.
August was a quiet month. As each day passed, we realized that the summer was slipping away from us, and that we had not really done anything “summer-like” yet.
After five years working at Tekelec, my friend Rodney decided it was time to move to a new job. He was the one who originally recruited me to join Tekelec in 2006, and so it will be a very different place without him. His last task there was to transfer all of his DISA security work to me.
I attended another Bar Camp “un-conference”. These annual techy get-togethers bring together entrepreneurs, programmers and IT people, members of the blogosphere, and social networkers into a conference that starts with no planned agenda. People who want to give a presentation give a 1-minute pitch, and then the schedule starts to take shape during the first hour. By mid-morning, the schedule is decided and the presentations begin. I gave a short talk on encrypted filesystems. There seemed to be a lot of the usual “start your own company” talks, but the overwhelmingly popular topic this year was Ruby.
This month’s TriLUG meeting was a little different. Instead than the usual tech talk, we had a panel discussion on gender issues in the technology field. As a steering committee member, I was worried that the program might not be well received, but everyone who attended seemed to enjoy the discussion.
Just for fun, I set up an open wireless network on the outside of my firewall. I installed squid, a web proxy. And I made a plug-in that turned all images upside down. Lesson for the wifi-borrowers in the area: be careful who you trust.
We tried to remedy that end-of-summer situation with a quick weekend at the beach.
We started the month by spending Labor Day weekend at the beach. On the way back, we went to the Aurora Fossil Museum. We spent a short while seeing the exhibits, but spent most of our time digging in the pit. One of the highlights of the trip back was that our route included two ferry rides.
I was the featured speaker at the TriLUG meeting. My topic was “Rolling Your Own, building a REAL internet appliance”. I showed the group how to grow a small embedded Linux system from scratch, and then I demonstrated my system running in the TMIO oven. It was a hoot.
I suffered a triple computer failure this month:
(1) I upgraded my laptop at home to a pre-release of Ubuntu 8.10, Intrepid Ibex. In the process, I lost my wireless network (I can live with that) and my X-Windows (I can not live with that). This was right before my TriLUG talk, so I had to scramble to get everything moved over to the ultra-reliable EeePC.
(2) My home firewall, gateway and file server started locking up for no explainable reason. After blaming several software components, I finally realized that it was bad RAM.
(3) I happened to be playing with the old Ericsson “nanocube” when my firewall went down. So I placed it back in service. This time, it was using a flash drive instead of a hard disk, so it ran cool and quiet. However, in my haste to get this machine in service, I forgot that my root password was very easily guessable… and so it was guessed… within 48 hours.
In the end, I replaced the firewall with a Linksys router (I am still experimenting with Tomato and DD-WRT firmware). And I replaced the file server with a Linksys NSLU2 “slug”.
My 40th birthday came and went without much hoopla. My kids got me a movie (Nim’s Island) and a K’nex ferris wheel set.
In October, I had two back-to-back vacations.
First, my dad asked me to join him on a trip to New York. His old navy ship, the USS Intrepid, had spent the last two years in dry dock, and was being returned to its permanent home at Pier 86 in Manhattan. Former crewmembers manned the deck during the short trip, which was treated as a parade, with plenty of fanfare. Family members rode on a party yacht, which followed close behind.
After the parade, we spent the next couple of days exploring Manhattan. My cousin Allison met us for an afternoon, and she showed us Greenwich Village and her neighborhood on the upper east side.
As soon as I returned from New York, we packed up the van for a week at Disney World. We stayed on-site the Coronado Springs resort, and we enjoyed a meal plan which included several sit-down meals with Winnie the Pooh, the Disney Princesses, and other characters. We spent one full day at each of the major parks, and one final day at our favorite, the Magic Kingdom. Pops and I missed two mornings while we took our van to the local Mazda dealer, after it started running rough and stalling.
After we got home and the girls returned to school, I went with Audrey’s class on a field trip to the NC State Fair. We saw lots of smelly animals, and a great exhibit by a beekeeper. Later that night, we returned with the rest of the family for some midway rip-off’s… I mean, fun.
On Halloween, Audrey dressed up as a witch with scary hair and glow-in-the-dark fingernails; and Sydney was Sleeping Beauty, or maybe she was a fairy, or both. They were escorted by one of the guys from the Blue Man Group. All together, they raked in over five pounds of candy!
It’s election year, and so I took the girls with me to vote. There was a huge line at “early voting”, so we decided to do it the old fashioned way, at our normal polling place on election day. Before we voted, the girls and I talked about the candidates and issues. But rather than covering the usual debate topics (healthcare, taxes, jobs), we talked about 9/11, unfinished business, security, the constitution, and freedom. Big topics for little girls. At the polls, they filled out “kids vote” ballots.
The TriLUG topic was “games”, which I found educational and entertaining, since I have not been much of a gamer since the early 1990’s.
Sydney missed a week of school because she was sick. Then she passed it to Foong for a week. And then Foong passed it to Audrey, who also missed a week of school. I did my best to hide from the rest of them, so I would not catch it, too.
As part of evaluating software packages for some of the web sites that I maintain, I installed some blog software. In the process, I created a blog for myself (https://alanporter.com/blog/), where I can spout off unsolicited opinions and observations. Of course, I have been “blogging” on this page (Porter Family News) since late 2000, but that’s different. It’s a regular monthly posting, and it’s (hopefully) more fact than opinion.
Sydney had a birthday party at the bowling alley. Her friends flung those six pound balls down the lanes, landing them with a loud THUNK, and bouncing them off of the gutter guards. Somehow, Sydney managed to get one strike. We were fortunate to have a very capable teenage hostess, who led us through pizza and cake and ripping presents open and loot bags.
We wrapped up November with Thanksgiving with Mimi and Pops. I spent the entire time fixing their computers, upgrading Windows to Linux, and installing a new router. But we took time-out for the Festival of Lights at Tanglewood, and for a day at SciWorks (a nature and science museum).
For Christmas, Foong and I each got presents for ourselves, rather than trying to guess what each other wants. After all, we’ve only been married for 14 years – we hardly know each other! I treated myself to a “Fit PC”, a very small computer that can file server, print server, router/firewall, VPN server, and who knows what else. Foong’s choice was a steam-cleaning vacuum cleaner.
We spent Christmas at Mimi and Pops’s house, since that’s where Santa expects to find us. It was a good time to relax and enjoy being with family. We went to the Moravian Love Feast on Christmas eve. And later that night, Audrey stayed up very late, hoping to see Santa Claus.
The big hit items from Santa included a karaoke machine, a whiteboard and colored pens, and littery nail polish.
After Christmas, we returned home in time to see the Carolina Ballet performance of the Nutcracker.
On the last night of the year, we went to downtown Raleigh for the First Night Raleigh celebration. Sydney performed in a dance show with her Chinese school class. Afterwards, we found some place warm to eat, and then we caught a few shows: opera (yuck), a juggler, and another funny stage show. Finally, we braved the cold and gusty wind to watch the countdown and fireworks.