Tales and thoughts from the founder of NormSoft (maker of Pocket Tunes), working and living in St. Croix, USVI
Wednesday, June 27, 2007
Anyone who knows me knows that I detest Windows Vista. Yet I use it on my laptop because that's what it came with, and I need a Vista machine for testing compatibility.
Here's my latest gripe; I call it the Vista Shuffle.
We use a Windows VPN at NormSoft. Windows Vista has a new method of connecting to a network. When I'm traveling, I use WiFi or a Sprint mobile broadband card, so I have to go to the "Connect to a network" screen. I enable the Internet connection, and then I open the same screen to connect to the VPN.
Here's where the fun starts. About 50% of the time, next to the NormSoft VPN entry, Vista says, "This connection requires an active Internet connection", and the Connect button is grayed out. Well, I do have an active Internet connection (I'm posting to this blog, aren't I?). Typically if I disconnect my main connection and reconnect once or twice, the NormSoft VPN entry will eventually be enabled, and I can connect. But sometimes, like this morning, I can never get it to show up.
Even worse, sometimes the VPN entry becomes enabled for about 2 seconds. If you don't click on the Connect button in that short time window, you're SOL. Hence why I call this the Vista shuffle. (Imagine a heavily-drugged psychiatric ward patient shuffling down the street. That's how I feel.)
Friday, October 13, 2006
Verisign - just a pretty name?
Wow... Our credit card processing gateway just went down. It is rejecting all charges and authorizations with some obscure error message. I tried calling their tech support number, and they're closed. They have a $500/month support service that gives 24/7 telephone support, but there's no way to buy it off-hours.
You might guess that we're using some mom-and-pop discount gateway. Nope, it's Verisign.
I don't understand how a company like Verisign can let this kind of thing happen...
Wednesday, October 04, 2006
My Treo is on the Sprint network. Lately they have taken to calling me once a day on my cell phone as "a courtesy call to see if we can save you money on your phone plan" (i.e. upsell me on their new services). When I complained that I didn't want them calling my cell phone unless there is a problem with my particular account, they got defensive and said, "It's a free call, sir."
I don't care if it's a free call! You are interrupting my time on my cell phone, which is only used to receive important calls! The fact that it doesn't cost me anything on my Sprint bill does not affect the fact that I do not want to be interrupted.
This is compounded by the fact that, most of the time that I receive these calls, there is no operator on the other end. So for 3 days now, I have gotten a call from their 800 number, only to be hung up on as soon as I answer it.
Sunday, August 27, 2006
Currently I'm in the Frankfurt airport waiting for my connection to Nuremburg. My data connection seems to work here, but I'm sure it is costing and arm and a leg...
My lunch consisted of a sandwich that looked (and tasted) like a big piece of pretzel shaped like a bun with some salami and pickles in it. There was also some kind of spread, butter maybe. It was quite yummy. They call it a Laugenbr�tchen Salami, which, for all I know, simply means salami sandwich...
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Wednesday, July 26, 2006
Well I am finally the proud owner of a VI driver's license and plates for my car that I shipped down. If you have never had the pleasure of registering a car in the Virgin Islands, you are probably unimpressed. If you happen to live here, you are probably amazed that I am still sane (or am I?).
Before I begin, please understand that I tell this story not as someone complaining and fed-up with the process but as someone amused and bewildered by the inefficiencies of the system. Luckily for me I could see the humor in the whole process, so I had a smile on my face most of the time (and I still do).
It all started a few months ago when Gerald and I decided that we should probably get our driver's licenses. Should be easy, right? Well...
First, you have to go to the main police office, which is about a 20 minute drive from our house. There, you pay $2 and pick up an official photocopy of the driver's license application form. No, you can't download it off the Internet, and no you can't have it mailed or faxed to you, and no there's nowhere else on the island where you can get it. It's just a regular photocopy, but you're not allowed to make duplicates. Not too hard, and the woman at the police office was very friendly and helpful. (In fact, almost everyone I met during this process was friendly and helpful, but extremely rigid on the rules; no exceptions!)
Next, you have to go get two 2x2 passport photos. They don't actually use these photos for anything; they are just tossed in a filing cabinet with your paperwork and then they take a digital picture of you for the license. Getting the photos was easy. There's a popular photo shop in the main shopping plaza on the island, and they take 5 minutes to take your photos and have them ready in a half hour.
Next, you have to go to your doctor's office to get your application stamped, saying that you are not insane, have corrective lenses, etc. etc. When you go to the doctor's office here, there are almost always 4-5 walk-ins waiting to be seen. Luckily our doctor takes appointments, so we were sure to make one. But due to squeezing in the walk-ins, you always have to wait. And because our doctor is an honest sympathetic kind of guy, he didn't charge us for the appointment.
Now you have to go back to the police station. But wait! The driver's license application asks for your blood type (nobody knows why). What if you don't know your blood type? Well, you have to get a blood test and get it typed. So back to the doctor to order you a blood test. Then off to the Island Medical Center to have the test done. The waiting room is like most waiting rooms on St. Croix. You walk in and take a ticket from the ticket dispenser. Then you sit down and wait for your number to be called. Then you tell the receptionist why you are here. She then tells you to have a seat, and you wait for your name to be called. Once the blood is drawn, they inform you that the results will be ready in about a week. A week for a blood type test?! Yes, they have to send off for it. But the hospital is right next door, and they can do blood typing in minutes in the ER. Shrug...
So now the whole process has ground to a halt. I can't proceed until I get the blood type results. Oh well... Luckily my Massachusetts driver's license is still valid. Technically it's only valid for 90 days after moving here, but no one's called me on that yet...
So a week later, I was in Rhode Island with my car that I wanted to bring to St. Croix. In order to get it there, I had to drive it down to Tropical Shipping in West Palm Beach, Florida. So I'd planned my road trip to Florida and my flight back to St. Croix. The trip went well, and I enjoyed the drive in my car. When I got to West Palm Beach, I once again remembered what it felt like to be bewildered and bemused.
I drove to the container port. Straight in front of me were two guard gates with clear signs indicating that no one was to enter without a valid container port ID. To the right were 5 lanes of trucks next to a small unmarked trailer. Since I didn't have a container port ID, I parked next to the trucks and walked into the building. There were two other people waiting. After a few minutes, someone came in and started creating IDs for everyone. I got my finger prints (from both hands) taken for the first time in my life, and my photo taken and printed out on a small ID.
Tropical's shipping location was a small unmarked trailer (sound familiar?) sitting in a parking lot. I found my way there and entered and waited for the right person to show up. She came in and reviewed all my paperwork. They then checked my car, and I removed all my luggage. They then pointed across the street and said to go to Customs to get my documents stamped and then I could go.
Across the street was a huge warehouse and a parking lot, all behind a fence. With my 3 bags in tow, I trundled across the road, dodging trucks and cars entering the container port. There was no entrance door in the fence, so I had to go around. I saw someone behind the fence and asked him which way to walk around; he pointed right. So I walked about 100 yards, trying to keep from tripping over my luggage. I finally arrived 2 feet from where I started but behind the fence. I walked into the large warehouse to find no one there. I again asked the person where to go, and he shrugged his shoulders. Hmm, okay. Finally someone showed up and demanded, "What are you doing here?" I explained my plight, and he said, "You have to go all the way around the building and go to the unmarked door at the end for customs." He must have sensed my exhaustion at this point (maybe it was my sweat-drenched shirt that gave me away; did I mention that it was 100 degrees?), and he looked around conspiratorily and said, "Follow me".
He led me through a door marked "Authorized Personnel Only" and pointed to the unmarked customs door 30 feet away. I thanked him and walked into Customs. They stamped my paperwork and said I was ready to go.
This all went fairly quickly, and I had asked for a cab to show up before I started. Sure enough, the cab was waiting to pick me up, after I trundled back up to the container port entrance gate with my luggage. I had two options to get to the airport; I could take the Tri-Rail, which arrived only 1 hour before my flight. The cabbie told me that I wouldn't make the flight because you have to take a tram from the train station to the airport, and you need to check in 45 minutes prior to departure. The other option was to pay the cabbie $180 to drive me 65 miles to the Miami airport. After agreeing to this outrageous fee, I thought of a third option too late; it would have been cheaper to rent a car.
Back in St. Croix, I awaited for the arrival of my car. Thanks to a friend with connections, I found out that the car was ready to be picked up half a week earlier than estimated. The bad news was the list of TODOs looming ahead of me to get the car in my possession...
Knowing that I would need to have insurance on the car, I first drove to my insurance agent and got the car added to the policy. This was easy enough to do but took an hour to complete.
I then drove to the container port in St. Croix. The woman at the guard gate told me, "Just drive straight ahead and you'll see the signs for Tropical." Easy enough. I drove until I saw the signs for Tropical (only vaguely aware of the signs that said "Authorized Personnel Only"; I was authorized by the guard gate, right?) and parked in the rear of the trailer. There was my car! It must be the right place. I went to enter the building when someone waved frantically at me through the window. The security officer came out and told me, "You can't park back here. You have to park over there." She pointed to the parking lot 20 feet away from where I'd parked. "Do you want me to move my car?" "Yes."
After my scolding, I came back with my tail between my legs. She checked my ID and said I could go in. When I entered, no one was there, so I looked through my paperwork and waited. Someone came in and greeted me. When he saw that I was there to pick up the BMW, a huge grin appeared on his face, and he told me how much he liked my car. He then told me that unfortunately, I was in the wrong place. He then went down the list of tasks I needed to complete and said, "And then you can come see me! You've got a long day ahead of you." Indeed.
My first task was to go to the other Tropical building. The one before the "Authorized Personnel Only" sign. The one that you couldn't see unless you happened to have made a right turn at an unmarked parking lot. A very friendly woman checked my paperwork and gave me a form that listed all of the day's tasks. She then gave me a form that I had to fill out, where I hand-wrote my credit card number and name. "We don't have a swiper; we use the Internet," she explained. The woman next to me was less trusting than I. She refused to write down her credit card number and insisted on leaving and returning with a certified check instead. Her day was bound to be longer than mine...
Next I went to pay my excise tax in a trailer several doors down. The woman there went through my paperwork and asked me how much the car was worth. I gave her an estimate, and she said, "I need to have something in writing. You can go on the Internet and look it up. My blue book only goes up to 2001." I had no intention of going all the way home to go on the Internet, this early in the progress! So I asked her how else I could get her a price. She said that I could go to Customs next door and see if their blue book had the price. I checked my watch: 11:45am. Her sign said, "Closed for Lunch 12-1".
I hurried over to Customs and told him my story. He checked through my papers and told me I didn't need to pay any import fees because my car is made in South Carolina. But he had some paperwork for me to fill out. He then looked in his blue book, wrote down a price, and stamped it with his Customs seal. He then told me I'd better go next door before she closed. I made it with only a few minutes to spare. She took my official Post-It note and finished up my paperwork. I paid my excise tax with my Mastercard; I was relieved to see that she had a swiper. She tried to derail me one last time, "That's an expensive car, mon. Are you sure you don't want to look up the price on the Internet and get it cheaper?"
Next I headed over to the Virgin Islands Finance building. This is a white building hidden behind the loading docks near K-Mart. As usual, there were no signs about where to go, so I wandered through the building, trying to find the most-travelled paths. When I reached a receptionist, I showed her my paperwork, and she politely pointed to a cashier window. I filled out some paperwork that she gave to me. One of the fields was "Vehicle Weight". Oh crap, I hope they don't have to weigh it. I left it blank. I honestly expected that she would tell me I needed to go back to shippers and get a bill of lading to get the weight. Instead, she looked up the weight in a book and entered an estimated 3,000 lbs. Close call...
One final task remained before I could go home for lunch and get Gerald to help with the retrieval of my car. I drove to the main police station and walked in the building. I asked the woman there where to get a temporary moving permit. You need this to allow you to drive the car out of the container port and back to the police station to get it registered. She said, "Oh yes, I can help you with that. But first you need to go over to the cashier and pay for it. Then come back with your receipt." She gave me some paperwork and told me to go outside and look for "Cashier #3 or #4". I walked in the direction she indicated and found several unmarked trailers. There was no one around them so I assumed they were unused and kept walking. I finally came upon something that could not possibly be the cashier's station. It was an open-air building with several benches with a dozen people sitting on them. Next door were several student drivers apparently taking driving tests.
Uncertain, I walked up the bench area and looked around. There, I saw 4 windows: #1, #2, #3, and #4. This must be it afterall... There was one person each at windows #3 and #4, but no line. Were the people on the benches in line? If so, it must be some incomprehensible system. I lingered for a minute and someone finally queued up behind one of the people at the window. Aha, that's how it's done! I joined the line and suddenly someone sprang up from a bench and made it obvious that he was in line too. I guess I didn't completely understand the system yet.
Once at the head of the line, the cashier took my $5 and paperwork and gave me a receipt. I took this back up to the police station, and the woman signed the paper and said I was all set to go.
Now I needed Gerald to drive the truck back home while I drive my car. So I went home to meet him, and we headed back out to the container port, armed with an arsenal of mangled papers that looked more like a hairball than official import paperwork. We drove into the port and past the "Authorized Personnel Only" sign; this time we really were authorized. We parked in the correct parking lot, and I walked towards the building where I had started the day.
There's an interesting thing I've learned about Crucians. Once you get scolded by someone, you create a kind of rapport. Upon returning to the woman at the Tropical building, she gave me a huge smile and waved me in. "Do you need to see my ID?" "No," she waved her hand, "just pretend I checked it." I received a similar smile from the man in the building, and I smiled back just as big; I was about to finally get my car. He checked over all my paperwork and looked impressed. We then chatted about cars for a bit, and then we headed out to inspect mine. Everything looked fine, so I took the keys and drove off.
After 10 yards, I noticed that the flat tire light was on in the car. Oh no... The car has run-flat tires, so you can't tell if they're flat by looking at them. Instead, the computer monitors the rotation differential for all the wheels and notifies you if one of them is rotating at a different rate than the others, which indicates a drastic drop in pressure. Since I had purchased insurance on the car, I decided I'd better tell them about the problem. Luckily, they said they could air up the tires to the correct pressure to see if they had a leak. After 10 minutes, they showed up with a pickup truck with a huge engine mounted on the rear. The engine was attached to a compressor and a hose. Sure beats the car-battery-powered compressor I had.
The tires looked okay, so I reset the tire monitor computer, and headed off. It was 3:05, and the Tropical guys had told me that the car registration building closes at 3:30. It was only 10 minutes away, so I could make it, and then my journey would be complete! However, upon arriving, a friendly gentleman told me that they had closed at 2pm, and he handed me some "homework" and told me to come back tomorrow morning.
This morning, I resumed my expedition in earnest. I had my car, and the end was near; I could taste it! Feeling ambitious, I also retrieved the partially-completed paperwork for my driver's license. I would get that finished today as well. First, I needed to get my blood type.
I called the Island Medical Center and asked for my test results. "I can't give out results on the phone due to privacy issues, but I can tell you that it's ready." Not wanting to argue, I agreed to stop by in a few minutes. On arrival I repeated the usual steps (take a number, sit, wait your turn). Turns out my blood type is O+. So there! I have defeated the medical center's privacy measures by posting this publically on the Internet.
Next stop: the registry. I pulled in to find the parking lot nearly full. I found a spot and walked up to the gentleman who had given me my "homework". He looked it over, stapled a few things together and mumbled something about needing the original title. He then pointed me over to the receptionist. This time I walked up to Window #2 (having learned that this is the correct window by listening to what other people were asking the cashiers) and handed in all my paperwork. The young man took my paperwork and motioned for me to sit down.
After a minute, the young man came out of a door and waved to me. I got up, and he pointed to a line on the form where he had added an "X". The line read, "mailing address, if different from above". I had left it blank because it was the same address I had entered above. I tried to argue that but he stuffed the form in my hand and closed the door. Puzzled, I duplicated the information and handed the form back through the original window.
I sat for a minute and then a great idea occurred to me. I knew that I would have to pay for my driver's license eventually, so why not use this idle time to wait in line to pay it. I got up and entered the line for Window #3, which I guessed would be where I would pay for the license.
I was right! When I got to the cashier, she took all the paperwork and asked for my payment. I handed her the credit card I had used all along. She came back a few seconds later and pushed the card back to me, explaining, "It was declined." (The credit card company had called the previous evening to make sure that all these charges to various VI government offices were authorized. I told them they were. I can only assume that the credit card company did not believe me and has locked my card.) I handed her another card, and it worked. She told me to go back up to the police station to finish up.
Meanwhile, a woman handed me the certified copy of my title and explained, "Your registration is complete but we can't give you the plates until you give us the real title." I did not want to argue, so I said, "Okay."
Before leaving, I went to the police station and greeted the woman at the front, who had gotten to know me; this was afterall my 4th trip there. I obtained my driver's license (which entailed having my finger prints taken for the second time in my life) and walked down to my car to go home and get the title. While leaving the police station, a police officer waved me down. I opened up my window to see what he wanted. He pointed at my plates, still the Massachusetts ones, and asked why my car was not registered. I explained that I needed to get the title to complete the registration process. He looked dubious. I then said, "I have a mover's permit." That did the trick. Without asking to see it, he nodded and waved me off. The $5 mover's permit had come in handy afterall.
Finally arriving back at the registration office, I handed in my original title at Window #2 to the young man whom I had originally spoken with. He looked at me funny and said, "Who asked you to bring this?" I sighed and pointed to one of the women behind him, and he waved me off. I then sat down to wait for my name to be called. A few minutes later, I was summoned to Window #3. I paid my bill using my other credit card, and received my vehicle registration and plates. I'm done!, I thought. "Next, you will need to go to the police station to get a copy of your new title." But, but...
After my run-in with the cop, I decided that I'd better install my new license plates before leaving. So I asked the gentleman outside for a screwdriver and put them on. I then went back to the police station and greeted my friend for the 5th time. Getting my new title was effortless.
Easy, right? I'm off to our favorite restaurant for a rumrita...
Tuesday, March 21, 2006
Friday, February 03, 2006
The Best Mojitos
It's often hard to find fresh mint on St. Croix. The fresh herb section in the supermarket is often lacking. Some of the restaurants here grow their own herbs because of this.
However, mint seems to be available in abundance recently. We picked some up at Plaza Extra and experimented with mojito recipes until finding just the right combination! The key to a good mojito, we learned, is to use a pestle to grind the mint and lime wedge on the bottom of the glass. The mango rum is just sweet enough (but not too sweet) so you don't need to add simple sugar like other recipes call for, and has just enough fruity flavor so you don't need lemon juice. Here is the recipe, for your enjoyment.
4 fresh mint leaves
2oz Cruzan Mango rum
4oz soda water
1 lime wedge, plus 1 for garnish (optional)
1 sugar cane stick (optional)
Squeeze 1 lime wedge into a cocktail glass. Using a pestle, muddle the mint and lime wedge in the bottom of the glass. The mint leaves should be well bruised, but not broken into little pieces (which get in your teeth, etc.) Add the rum and soda water. Garnish with another lime wedge and sugar cane stick or sprig of mint leaves (optional).
If you make a second (or third... or fourth), re-use the same glass with the left-over mint (and optionally the lime). They'll get better each time!
Monday, December 12, 2005
Phone's Dead
Well apparently we've been lucky. Since we've gotten here, our phone has never been out. All of our friends who are also newcomers to the island have been complaining about how often and how long their phones go out for. Well today we finally got hit, and our phone is dead.
Luckily we've been preparing for this ocassion, and we have 3 backup plans (before we go to smoke signals, that is). Gerald and I have two cell phones on different networks (which are working great). Plus we have an Internet phone number through Skype.
Tuesday, December 06, 2005
4,000 lbs of stuff
We recently decided to sell our house in Millis and move to St. Croix full-time. (If you're interested in a beautiful 3 bedroom, 1.5 bath house on a private lot with a gurgling brook in Millis, MA, send me an email, and I'll hook you up with our realtor!)
Part of that meant moving all our stuff. We decided not to move any furniture (except for one piece). So we expected that there wouldn't be very much stuff. Well, after piling up books, computers, games, CDs, treadmills, TVs, and kitchen appliances, the total rang in around 4,000 lbs!
We used Allied Van Lines to move. They came to our house in Millis and carefully packed up every piece. The movers were phenomenal; very careful, friendly, and professional. They packed everything into large wooden boxes, which would then be placed into a cargo container and put on a ship. Then the ship sails from Boston to St. Croix, and they unload it when it arrives and bring it to our house.
It's just arrived, so now we have cardboard boxes all over our house waiting to unpack.
Monday, December 05, 2005
How Not to Change a Tire
This one's from Gerald...
Every once in a while. Just every once in a while. Why can't a simple thing in my life be simple???
Tim and I have been planning to put new tires on the truck for about a month, then Brien and Susan came down. We all know what happened then! Woopie, new baby!
Last night we went out to dinner at Cheeseburgers in Paradise with some friends down from MA for the week. Gravel parking lot. Screw in the tire. Ok, made it home safely with no flat. Scotty (one of the friends from MA) was going to come by this morning, run to the auto store to pick up a patch plug kit. He came by but the tire was holding air so we decided it would probably be ok if I drove on it again to go buy new tires. So I did, but...(here's where it starts to get complicated!)
The guy who sells tires doesn't mount tires. This is St. Croix. You go to the tire guy, buy your tires, then go to a tire "shop" to get them mounted. Seems simple enough, right? Simple unless you have a screw in your tire.
I made it to the tire guy, bought 4 new tires. Headed off to the tire shop to get them mounted. Got less than a mile and had a flat. How on earth did that happen you might ask? Well, dumbass me was driving with a screw in the tire (I really thought you'd get that one.).
So I pull into a shopping plaza. Called Tim. Asked him to call Scotty to come help me. He couldn't reach Scotty by phone, so he rode his bike down to their house. No one home. He rode back to our house to call me. I told him to call our friend Julie. Surely she could help or know someone who could. Her assistant Jill picked Tim up and brought him to me so we could change the tire. Oh...but we couldn't find the tool you use to lower the spare from under the truck! Yeah, ok, still with me?
So Jill calls Honnie, our realtor here. Honnie has this woman who changes her flats for her, so she called the woman to come help us. Woman calls me on cell, I tell her where to find me. She comes but it took her over an hour to change the tire. I swear, it must have been the first truck tire she'd ever changed. She didn't have a clue. But imagine if you will, Tim and I standing there watching this woman crawl around on the ground changing our tire...there's a picture for you!
Anyway, she finally got the tire changed so we got on our way to the tire shop. He got us in relatively quickly, put the spare back under the truck, mounted and balanced the new tires in about 45 minutes and we were off! Finally! Headed home to clean up, relax, and figure out what we would do for supper.
About a mile from the tire shop we go around a curve and hear a sound like we had clipped an aluminum can and sent it scurrying off across the road. Hmmmm. Ok, next curve same sound, except much louder and this time accompanied by some very alarming clacking noises. Oh yeah, this is Gerald's life. So I whip into the parking lot of a closed Feed store before the tire could fall off. It nearly had. The lug nuts were barely hanging on. So Tim gets out the lug wrench and proceeds to tighten down all the lug nuts.
Yes, we actually DID make it home and are about to go have some supper. But an hour or two errand turned in to an all day affair for me with drama at every turn, literally. Such is my life. Please...trade me???
Wednesday, November 30, 2005
Blowout party in St. Croix
Gerald is planning a huge party for my 30th birthday. He's got space reserved at the Cormorant Beach Club in St. Croix for hors d'ouevres and drinks. And, he's reserved B & the Buzz, a phenomenal high-energy jazz band! The party is scheduled for 8pm-12am January 15, 2006. Guests can arrive around 7pm. If you'd like to come, send me an email, and I'll send more details!
Tuesday, November 29, 2005
Crucian Baby
Well I really ought to be writing in here more often. You'd think that we're having a nice quiet life down here. On the contrary, it's been an exciting rollercoaster ride!
We recently hired Brien Wheeler as the Vice President of Engineering at NormSoft. We're very excited to have him on board, and we're sure he'll do a great job managing our engineering resources.
We decided to fly him down to St. Croix for his orientation two weeks ago. His wife Susan was seven months pregnant at the time but decided to come along as well to get some good relaxation in before the baby was born.
Everything started out great, and we were having a great time coming up to speed on business and relaxing in our spare time. Then on Tuesday night, we went shopping to make dinner. When we returned home, Susan was not feeling well. After a call to her doctor, they decided that they'd better go to the hospital to have her checked out. So I drove them a few miles down the road, and they spent an hour in the ER. They hooked up a baby monitor and everything looked fine with the baby, so they told her to go home.
A few hours later, Susan was not feeling any better. They finally asked me once again to take them back to the hospital. Nervous and concerned, I drove as safely and quickly as I could. Upon arriving at the hospital, Brien put Susan in a wheelchair and whisked her away. I parked the car and waited in the ER for 20 minutes, worrying about what was happening. Finally, someone there told me that they didn't know Susan's status because they had taken her to Labor & Delivery.
At this point, I was still in disbelief that Susan was having her baby. One of the security guards showed me over to the main hospital entrance. I said to him, "I can't believe she's having her baby now!" He responded simply in his Crucian accent, "Believe it."
When I saw Brien a few minutes later, his face was red with mixed concern and joy. He said, "We're having our baby! You'd better go home; we'll call you." I was dumbstruck and walked out of the hospital like a zombie. I don't remember the drive home, but I do remember that I didn't get much sleep. Finally, Brien called me shortly after midnight to say they'd had a baby girl, and they'd named her Greer. Everyone was doing well. He would call me in the morning. I finally caught a few winks.
As it turns out, the neonatal intensive care unit at the hospital on St. Croix is top notch. Greer had excellent care, and the nurses were warm, friendly, and knowledgeable. Greer is fully expected to make a full recovery. However, Susan was having a few complications, so they kept her in the hospital for a few days' observation.
Susan's parents quickly made plans to fly down to visit. Dan and Dianne were excellent guests and were relieved to finally see Susan and the baby doing well. Feeling a bit helpless, Gerald and I did the best we could to make everyone feel at home. We knew that Brien and Susan were likely to be here 6-8 weeks until Greer was ready to fly, so we started making long-term arrangements.
Things progressed for several tense days, and then Susan was told she could go home. Greer would be kept in an isolette in the hospital until she could breathe and eat on her own. Everyone took turns joining Susan going to see the baby over the next several days. Susan was still feeling ill, and eveeryone was concerned, including the insurance company.
Amazingly, a representative from Tufts Health Care called Susan and asked if she'd like to be medflighted back to Boston, fully covered by the insurance. After some discussion, they agreed that would be the best option so that they could be with their family and regular doctors. They started working on the arrangements, and Susan, Brien, and Greer were finally flown back to Boston on Thanksgiving day.
We're now without guests and without excitement. We feel enormously relieved that Greer is back home with family and doctors that they know. But we can't help but feel a bit saddened that our Crucian baby has left us. Brien and Susan proclaimed us Uncle Tim & Gerald, not honorary, but real uncles.
Brien and Susan have since let us know that Greer and Susan are both doing wonderfully, and Susan was released from the hospital in Boston with a clean bill of health. Greer will be going home in a few weeks as well.
We've had lots of other excitement as well, but I'll leave that for another post.
Friday, October 07, 2005
Thursday, October 06, 2005
Thursday, August 25, 2005
My Bike Arrived!
I shipped my bicycle through the US Postal Service parcel post on Friday 8/5. It just arrived yesterday, 19 days later! I am eager to go for a ride.
I spoke with Jamie at the bike shop, who is the mechanic there and apparently does really well in the local races. The biking on St. Croix is supposedly very good. There are lots of local road races and triathalons. The terrain is mountainous in areas and flat in others. I went for a quick spin near my house and found that the hills are quite steep. I should get back into shape pretty quick! I'm hoping to start riding every morning before it gets warm and before the traffic gets bad.
Wednesday, August 24, 2005
Shipping warning
If you ship something to us down here, go way overboard on the packing protection, please. USPS Priority mail is the fastest way to get stuff here, but they are exceptionally rough with the packages.
We just received a gift today that included very well-wrapped and packed margarita glasses. Unfortunately, 6 out of the 8 had broken stems, and a heavy duty 3-4mm thick plastic serving tray was completely smashed. Amazing!
Sunday, August 21, 2005
Cheap cigarettes
Without taxes, cigarettes are amazingly cheap in St. Croix. At Cost-U-Less, the local warehouse store, a carton (10-pack) of Marlboro's is $16. A carton of Pall Mall's is $7! When we were in Massachusetts, a carton costs around $50 or $60 because of state taxes. Unfortunately, this doesn't help people who want to quit...
And no, we're not taking orders!
Saturday, August 20, 2005
Electricity is fun
So we're in the midst of our first power outage on the island. Supposedly these are fairly frequent, but luckily our house came equipped with a 21kW generator powerful enough to run the whole house. It's got a 500 gallon oil tank, good for a month or more. It's a bit noisy, but it's nice to have the power on!
Visit us in St. Croix
We'd love to have our friends and family visit us in St. Croix. I've set up a web-based calendar where you can book your time. Email me for the web address and login info.
The Conclusion
Everyone's been emailing me, asking how the story ends. Sorry for keeping you in suspense.
The next morning, I drove down to the service station, and they had a receipt hanging by the cash register. "Oh yeah, here it is," he said. And I gave him my credit card, and we were good. Simple!
So how did we get money? Well, the ATMs were still not working, so we went over to the Cormorant Beach Club hotel, where we've stayed on both trips to St. Croix. We had been eating there almost every day this time because we hadn't gotten any food in our house yet. So the lovely manager of the hotel told us she acts as "banker" for a lot of the local regular diners, and she'd be happy to cash a check. So there you go! We still haven't been to an ATM that works!
We had dinner with our realtor Honnie (www.honnie.com) a few nights ago. She planned a dinner with some of her staff and 3 couples who had recently purchased homes on St. Croix. We had a lovely dinner and made some good friends. We took one couple to our favorite island restaurant, Savant, last night. Its cuisine is a mixture of Thai (coconut-based curries), Mexican (fajitas, etc.), and Caribbean (fresh fish, Caribbean spices, etc.). It's always fantastic, and their bartender Cheryl makes incredible rumritas. The yellowfin tuna is fresh off the boat, same day, from local waters and is perfect ordered rare.
Speaking of rum, it's cheap here! The Cruzan rum distillery is on the island, and there is no duty charged on any alcohol. All the grocery stores have the Cruzan dark and light rum for about $4 a bottle (750ml), and I've heard you can often get it for as cheap as $2. They also have a great selection of flavored rums that are really tasty, and a key component in the raspberry or pineapple rumrita. Since Coca-Cola is sometimes over $2 per bottle and some imported juices are really expensive, you can imagine that the bartenders here tend to overpour the liquor in the mixed drinks!
I'm working on putting up a calendar web page so friends and family can reserve the guest house. I'll send out an email when it's ready.
Monday, August 15, 2005
Island Living
Everyone is so laid back on the island that it's sometimes quite surprising!
A few days ago we spent our last cash, thinking that we'd just go to the ATM to get some more. Well, 4 ATMs later, and 2 of them were out of service, and the other 2 said, "Could not process transaction. Temporary error. Try again later." So okay we'll use our credit cards.
On the way home from dinner, we stopped to buy some gas. "Do you take credit cards?" "Nope." Hmm, okay. Next station. No credit cards. Next station, "No, but go down the road to Everybody's Service Station. They take cards." Woo hoo!
So out of the car to fill up the tank and get some cigarettes for Gerald. "Do you take credit cards?" "Sure! Visa and Mastercard." Great! So we started filling up. After about 11 gallons, suddenly all the lights went out and the pumps went dead. We'd been hit by one of WAPA's infamous power outages. WAPA is the Water and Power Authority on the Island, and everyone complains about their inefficiencies and frequent outages.
So now we're thinking, "Okay, we don't have any cash. Our checks are back at home, and the power's out, so we can't pay with a credit card. Uh oh!" "Do you have a generator?" "Yeah, but it's busted." Okay, we'll just wait for the power to come back on.
5 minutes later, and no power. The service station owner finally said, "Well it's probably not going to come back on, so I'm just going to close up. Come back tomorrow and pay me. Here's a pack of cigarettes; I'll add it to your bill." "We can go get you a check." "No, don't bother. Just come back tomorrow." Stunned, we said, "Okay...", then introduced ourselves, shook hands, and off we went.
Stay tuned for the exciting conclusion to find out how we eventually got some cash!
Monday, August 08, 2005
Today was our flight from Boston to St. Croix. We're in the San Juan airport now waiting on our layover.
When we unloaded our 10 bags at the curb, we needed a porter. I asked someone rolling a cart and he quickly emptied it and said, 'See that long line over there? That's for this luggage service. But stick with me and I'll take care of you.'
He loads our 6 bags and says, 'You know you only get 2 bags per person.' Gerald said, 'No, AA told us that we get 2 bags per seat, and we purchased 3 seats.' 'Okay I'll go check.'
Turns out he was right. So he says, 'Play along... You're very upset because you were told incorrect information. I can get you to the front of the line, but you'll have to pay for the bags anyway.'
With some guilt, we skipped ahead of the dozens of people in line while he demanded a manager on our behalf and got our tickets in just a few minutes. We gave him a good tip!
Two of our carryons are our cats. Going through security, they said, 'Take the cats out and walk through.' Ack! It was hard getting them in those carriers. Luckily the drugs had kicked in and 2 groggy kitties put up no fight getting back in their carriers.
Temperature: 88F in San Juan, PR. Sunny and humid. Calm.
More later...
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Thursday, July 14, 2005
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Wednesday, April 27, 2005
Time to try Firefox?
I've resisted trying Firefox so far, but a few irksome problems with IE have recently pushed me over the edge.
1) We installed a wiki for internal collaborative use, and IE ocassionally hangs when trying to load the wiki's page.
2) I recently sent this rant to everyone at NormSoft: Download a large file using IE. Meanwhile, go back to typing email. As you know, email includes lots of spaces, so I hit the space bar all the time.
Suddenly, the download finishes, and the freaking download window pops to the foreground, intercepting all my keystrokes. When this happens, the active button on the download window is "Cancel". So as soon as I type the space bar key (which is very common - see above), it cancels the fucking download.
Now I have to go back to the web site and download the freaking 250MB file again. And then I forget it's downloading and start typing spaces again and I end up cancelling it a second time. Argh!
NowI'mwaryoftypingspaces.Anyonegotabettersolution???
3) There's some kind of limit on how many downloads you can do at one time with IE. It fluctuates. Right now it's 2, but I remember a few days ago I could do 6. Seems like a ridiculous limitation since I have a 4MBit cable modem connection.
4) IE does not download files directly to the destination - it makes a copy. Why?
Thursday, March 10, 2005
Hotels.com Cracked
I just got an email from hotels.com about a recent hotel I booked to North Carolina. I'm not going to North Carolina! I called them up, and they confirmed that someone actually placed a reservation on my hotels.com account! They flagged my account as fraudulent and disabled it. They weren't super helpful, but they did confirm that the person did not use my credit card to reserve the account. Very strange...
As many of you know, I'm super vigilant about security (see CryptInfo). So I can't imagine anything that was my fault that would have leaked my account information. I recommend avoiding hotels.com; they either have poor security or flaws in their system that allow other people to place reservations with your account.
Thursday, March 03, 2005
Another Case Against Blacklists
This was just too good to pass up. Our customer support person just received this bounce and sent it to me for diagnostics:
Subject: failure notice
Hi. This is the qmail-send program at mail01h.rapidsite.net.
So, if you'll follow me here: 131.103.218.175 is blacklisted. That IP address is mail01h.rapidsite.net. But that's the mail server that's receiving the email (and relaying it to someone else - presumably one of the ISP's customers). So it's refusing to deliver mail because it is blacklisted, itself!
Thursday, February 24, 2005
Real Semaphores on PalmOS 5
It turns out it's fairly easy to implement real binary semaphores on PalmOS 5. This is really handy for folks that want to perform synchronization between their audio callback thread and their UI thread, for instance. Unfortunately, you have to access the semaphore from ARM-native code.
The trick is the SWP ARM instruction. This instruction swaps the contents of a register and a memory location, and it guarantees that this will be an atomic operation.
Here's some sample code in ARM assembly:
@ initialize a 4-byte word value to 1. That initializes your semaphore.
@ wait
@ r4 should contain an address that points to the semaphore.
.Lacquiresemaphore:
mov r5, #0
swp r5, r5, [r4] @ try to set the semaphore to 0
cmp r5, #1 @ if the previous value was 1, then we got it
beq .Lgotsemaphore @ this is a busy wait, but you could insert
@ an OS call - perhaps SysTaskDelay - to make it better
b .Lacquiresemaphore
.Lgotsemaphore:
@ do stuff
@ signal
mov r5, #1
str r5, [r4] @ reset the semaphore
Of course you can extend this example to implement more complicated semaphores as well.
The advantage of this versus a spin lock is that you don't need to know which thread you are executing in. With a 2-slot spin lock, you need to know if you are user #1 or #2.
Enjoy!
Saturday, February 12, 2005
Pretty cool piece of software. Gerald's been using it to do some customer support, and it really speeds up entering canned responses, etc. You basically can assign any set of keys to do certain tasks (using an optional action key to trigger the task). Tasks are very flexible and can include things like running programs, web pages, pasting contents of text files, etc.
Tuesday, January 25, 2005
SPF has problems
I thought I was doing a good thing by adding SPF to my email server. Unfortunately, I am now finding that there are some serious problems with this scheme. The biggest one has no solution (that I know of) other than to disable SPF: If your ISP forces you to send email only through their SMTP server (lots of ISPs do this now), then your emails will all fail the SPF test because they originate from your ISP's SMTP server instead of your own. This also occurs when you are travelling and hook up to a random WiFi hotspot. Many of them funnel email through their SMTP servers.
Someone's written an article about these types of problems. He's a bit extreme but has some good points.
Monday, January 10, 2005
Sunday, January 09, 2005
Saturday, January 08, 2005
Monday, January 03, 2005
There's little that pisses me off more than poor customer service. Twice I have reported a pricing error to www.pricegrabber.com and twice they have responded with a completely irrelevant answer and have taken no action. Seeing as their core business revolves around having accurate price listings, this is inexcusable, and I will switch to using other price comparison web sites.
Sunday, December 26, 2004
[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
Monday, December 13, 2004
ROTFL
I just had to share this support request... I'll withhold the name to protect the ... err ... not so innocent.
"I just want to know if I can set Pocket Tunes to vibrate mode so my tunes will vibrate to the beat instead of playing music. I want to drop it down my pants and be happy all day! Rock on dudes!"
Sunday, December 12, 2004
Pocket Tunes Update
Pocket Tunes 3.0.6 is now available with lots of nifty new features, including support for M3U playlists.
I've also updated the Pocket Tunes automation API and the Pocket Tunes skin compiler.
Wednesday, November 17, 2004
Tuesday, November 16, 2004
Don't use blacklists!
Today we sent out a newsletter to all of our users. It's a perfectly legitimate email sent to existing customers with clear unsubscribe instructions, and we completely honor all subscription/unsubscription requests. We even process all bounce requests and remove emails that bounce 3 or more times.
Several hours later, SpamCop blacklisted us, and we got a slew of complaints from customers who weren't getting their order confirmations. This is a perfect example of why blacklists are bad. Do not use blacklists on your server! If you use blacklists, you are likely blocking legitimate email because most of these blacklists make ill-informed decisions based on over-zealous user reports of spam. There is no oversight and very little recourse for valid companies to contest the blacklisting. For all we know, it could be one of our competitors reporting the spam.
All the user has to do is click the unsubscribe link, and we'll NEVER email them again, but yet they'd rather go through the trouble of filing a bogus spam report. Go figure.
Friday, November 05, 2004
Don't Install the T3 DIA Compatibility PRCs on a T5
We've had half a dozen customers angrily email us that the DIA is no longer working on their T5 after installing Pocket Tunes. It turns out they installed the T3 DIA compatibility PRCs. The only solution that I know of is to perform a hard reset and restore your files except for those 2 PRCs. Two problems here:
1. Why the hell did PalmOne let the T3 compatibility PRCs screw up the T5?
2. Why do customers insist on installing files for devices that they don't have? (In the past, we've heard from customers who installed these files on their iQues and Zodiacs, too!)
If you're a Palm developer, it's another support nightmare to worry about. Have fun!
Saturday, October 30, 2004
NormSoft Acquires HBlogger
Well, this announcement is a little old, but I've been quite busy lately. NormSoft recently acquired a suite of software products from the PalmOS company Hexlet LLC. Among these products is HBlogger, a very nice PalmOS app for posting messages and photos to your blog.
We've also acquired TrafficStat and DialStat, two tools to track your data and voice usage on your PalmOS smartphone.
To see all of NormSoft's products, visit http://www.normsoft.com/products.shtml
Saturday, October 09, 2004
Wednesday, September 29, 2004
Mark and I are now headed over to downtown Munich for Oktoberfest. We'll have a few beers for Pocket Tunes!
[Posted with hblogger 2.0]
Sunday, September 12, 2004
Tuesday, August 24, 2004
I found an interesting meta-search engine for travel called SideStep. I just booked a flight to France for the Orange Code Camp and I decided to give them a try. I have mixed feelings so far.
Their flight search engine found a great deal on American Airlines for 50% of the cost of what Expedia or Travelocity could find. It's offered from airfare.com, which seems to be a low-budget travel site with strict cancellation policies. So far so good.
I also found a hotel in Paris for the last night of my trip. It was a decent hotel within my price range, so I picked it. It was offered by PlacesToStay.com, apparently powered by WorldRes. Less than 24 hours later, I received an email from the hotel saying that they are cancelling my reservation because WorldRes has not been paying them on time, but if I'd like to book the hotel directly, I should contact them. That's not a good sign. Granted, it could be that the hotel is trying to side step (pun intended) the commission from WorldRes, but it seems like they could only do this for so long before they were delisted. So my bet is that the hotel is telling the truth and WorldRes is delinquent.
I contacted SideStep and told them about my incident. It's not in their interest to partner with financially irresponsible companies, so I hope that this will improve over time. At present though, I'd say to be cautious whom you book through.
Monday, June 21, 2004
Oppose Discrimination
Help oppose this ridiculous constitutional amendment. Besides the fact that it's discriminatory, it's giving the federal government power to legislate things that should remain the domain of individual states. I don't understand why people want their lives to be more regulated. Even if you happen to agree with what this amendment says, consider that you may not agree with the next amendment that comes along. Ask yourself if you want your rights to be dwindled away by overzealous politicians eager to be re-elected.
Monday, June 14, 2004
Saturday, June 12, 2004
Pocket Tunes 3.0
Pocket Tunes 3 is finally out. We're now dealing with the usual flood of emails, questions, comments, etc. that follows a new release. We'll be busy all weekend, it looks!
New Spam/Virus
Apparently there's a new virus going around in Germany that will make people reconsider their catchall email accounts. It makes up a bunch of email addresses, presumably by random or by looking at the local name of addresses in your address book, and then it sends them all to each mail domain in your address book. So a few times an hour, I've been getting batches of 20-50 emails from the same zombie computer. Looks like I may have to start filtering out dynamic IP addresses with our mail server. :(
Thursday, June 10, 2004
FntDefineFont gotcha
Beware if you use FntDefineFont on the Tungsten T3. You should be prepared for other applications popping up and redefining your fonts! In particular, the clock application (which pops up when pressing the select button on the 5-way nav while the device is turned off) redefines the font fntAppFontCustomBase. When your app gets control back, if you try to use that font, you will get garbage on the screen or your T3 will crash.
The fix that we've implemented is to re-call FntDefineFont whenever we get a winEnter event. This seems sufficient for this particular case, but theoretically, there could be another background app that redefines the font without even opening another window. (ack!) In that case, you should call FntDefineFont before using any custom font. But I'm not going to go that far.
(Even that, if you want to be absolutely safe, is not adequate. There could be another thread (e.g. an audio callback thread) that calls FntDefineFont, causing a race condition on your code. This is so unbelievably rare that I think it's ridiculous to worry about.)
The conclusion is that FntDefineFont is broken at the OS level because it allows other applications to mess with your resources. Custom font IDs should be dynamically allocated. This has probably been addressed in OS6, but I haven't been paying as much attention to OS6 as I should.
Monday, May 24, 2004
Stock Price Manipulation in action
I've been getting spams all weekend for the OTC stock TTTP.OB. They've been trading at around $0.08. This morning they've spiked to $0.12. Someone's making a killing on that spam...
Sunday, May 23, 2004
Pyrotechnics
Cool, I was building a PC out of spare parts, and it blew up. It was sitting there at the Windows 2003 Server setup screen (some people might argue that was my problem) and all of a sudden there was a loud bang and crackling noise. The circuit breaker tripped, and the room filled up with smoke.
I still haven't plugged anything back in yet, so I don't know if it was the monitor or the power supply on the PC. My guess is the monitor; I haven't used it in a few years, and it's been sitting on the floor of a damp basement...
Thursday, May 20, 2004
Fundraising Ride
I signed up for the Mass Reb Ribbon Ride in August. I have been a supporter of Community Servings in the past, and this seemed like a good way to support them again. We'll be riding 225 miles across Massachusetts in 3 days, which will be my longest ride yet. Help support me!
Tuesday, May 18, 2004
Pocket Tunes 3.0 Beta
The Pocket Tunes 3.0 beta program is finally underway. We've got a good number of users signed up, and we're getting some great feedback so far. Everyone's been excited about the new features, particularly the tag-based song browser and the Windows Media Player interface. There have been some good bug reports, but we'll get those ironed out. Hope I can keep up with the beta emails!! I'm a bit worn out, now.
Thursday, May 13, 2004
Another Time Trial
I raced another time trial (my third so far) last night. I did pretty well; I shaved 18 seconds off my time, bringing me just about to an average 23mph for the 9.75 miles. As I crossed the finish line, I passed my 30-second man, who was using aerobars, so I felt pretty good about that. :) The ride was tough; I was really struggling to keep going, particularly on the flat sections, where I couldn't get aero enough. I took one hill too quickly, and my lungs were burning for a few minutes afterwards. On the last hill, I gave it everything and easily caught my 30-second man. He caught me on the downhill, and then I passed him again right on the finish line, as I sprinted up the small incline. Overall, I felt good. Today I'm off to the bike shop to get a set of aerobars!
Stupid me, I forgot my helmet at the race. Doh! I went back later, and it was gone. I emailed the race organizers, but no word yet. Might be time to get a new helmet today...
Friday, May 07, 2004
My first Time Trial
Okay, I'll post something that should be a little more interesting...
A few weeks ago, I did my first bicycle race - a time trial in Dover, MA. A time trial is a race against the clock; each rider sets out at 30 second intervals and tries to finish the course as fast as possible. You're not allowed to draft (ride close behind) other riders because that gives you an advantage in a race that's supposed to be all about your own effort.
I started off at a little under my maximum effort; I needed to save some energy for the upcoming hills. The race starts going up a few stair-step hills, and I was feeling like I was having a little trouble. Just ahead of me was a girl on a bike. When I started to pass her, she suddenly swerved to the left, struggling up the hill. I yelled, "Look out!" and gave her plenty of room. That got my adrenaline going, and I picked up the pace.
I reached the top of the hill, surprised thinking that it was not as tall as I'd remembered. There's a nice steep downhill section afterwards, and I got down as aerodynamic as I could and got close to 40mph; it felt great! At the bottom of the hill is a hairpin turn; I looked around and there was no traffic, so I took the whole lane to get a good line around the corner to keep up my speed, just tapping my brakes a little.
After that is a less-steep climb. I started grinding away, and I heard the whir of wheels to my left. The guy who started 30 seconds behind me was passing. You can't draft in a time trial, but the mental advantage of having someone to chase (your "carrot") is big. I picked up the pace again and tried to keep him in sight.
After that hill is a short descent with a blind 30 degree right-hand turn. It always makes me nervous. I saw the rider in front of me speed around the corner and briefly thought about slowing down for the turn. But I looked around - no traffic - so I moved left and took the turn wide. Still no traffic, so I was still making good speed.
I saw the rider in front of me hit the last big hill. I used to commute on these roads, so I know this hill quite well. I knew that I could climb it quickly because it's short, and it's the last hill. So I gave it everything I've got and sailed past the guy who just passed me. I looked down at my speedometer: 19.5mph UP HILL. I was smoking. :)
At the top of the hill is a flat section. I was feeling pretty beat at this point, but still going strong. Then I heard the whir of wheels again. Another rider zoomed by me with his special time trial bike with disc wheels and aerobars. He was out of sight while I was thinking, "That's not right". :)
On the last downhill section, I was fighting the wind a bit. The rider whom I'd just passed had aerobars (I don't) and was able to catch me again and got about 5-10 seconds ahead. There's one last short, but steep, hill before the finishing line, and I made up a few seconds there, using up the last bit of energy, then I yelled my rider number as I crossed the finish line and sat up and tried to catch my breath.
22.48mph was my average speed. My previous maximum speed for any ride was 21.2mph. All the riding on the trainer this winter (and down in Florida) is paying off. :)
That's it. It was exciting. Can't wait for the next one!
Here are the results. Scroll to the bottom for the most recent.
Sunday, April 11, 2004
Bike Racing
Well, I was going to try to enter a few bike races this year, so I went to go watch a criterium this morning. It's supposed to be one of the safest criteriums around, so I figured that I should be okay to race in it. (Don't want to get hurt and miss my trip to France!) Well, there was a nasty crash midway through the race; someone flew into a telephone pole. No one was hurt too bad, but I think that's too much excitement for me! :) The race director told me they should call it a crashterium. I'll probably do some time trials, though.
Tuesday, April 06, 2004
Back in Business
Well I just wasted the past 2 days re-installing all the software on my laptop. For some reason, it was just rotting away. My sound output was really low through the built-in speaker, and the hard disk access was painfully slow. Perhaps there was some driver I installed that caused these problems, but they're all fixed now.
On the plus side, I got to update all my applications with the new MSDN subscripiton we just got. Outlook 2003 is quite nice; I think I could get used to it. :)
Back to work!
Tuesday, March 30, 2004
Saturday, March 27, 2004
Baaba Maal
I went to see Baaba Maal at the Sommerville theater last night. It was absolutely incredible. I first heard his music on Napster 2, but I had no idea what the live performance would be like. It was extremely up-beat; I think I worked off 1,000 calories just watching it! They did some amazing dances and dueling (between a drummer and vocalist), and they really got the audience involved in the music. It was quite improvisational, and a few audience members joined them on stage for a short bit of dancing and music-making. Overall, I enjoyed it immensely, and I highly recommend seeing his band if they're playing locally.
Tuesday, March 16, 2004
Stolen Credit Card Verification
So apparently someone decided that my web site would be a good place to verify their stolen credit card list. He placed about a dozen orders with obviously false information. Since my shopping cart is automated, it can't tell that "khkljhl" is any different from "john" for someone's name, so it just processes the orders.
I ended up blocking the entire C class of IP addresses where he was coming from (somewhere in .ae United Arab Emirates), and I'll have to keep an eye out for crap like this in the future.
I'd like to limit orders to 1 or 2 per day for each IP address, but that would mess up people behind big firewalls. I could store their last order in a cookie, but that's easily circumvented by deleting the cookie between each order.
Can't think of a great solution except to keep blocking addresses when people do this kind of thing...
Monday, March 15, 2004
Breaking Away Bicycle Tours
Okay, I found a replacement for my bike tour: Breaking Away Bicycle Tours. I talked to Greg Hogan, its directory, on the phone, and he was very accomodating and managed to squeeze me into their almost-full tour. The dates are almost the same, so I can keep my flight. Sweet, I'm going to France afterall. :)
Discover Card
Someone allegedly from Discover card just called me (the caller ID said "Unknown number") asking me to fax them a "proof of address" like a bill or something, plus my Discover merchant account number. We've been a Discover merchant for about 8 months now. Yeah, that sounds legitimate...
La Corsa Tours
Well, La Corsa Tours just cancelled my bike tour on me. Great! Time to go searching for another tour at the last minute. I called them up, and spoke with Lori, and at first she was a bit rude and defensive, which really put me off. But I insisted that she help me find another tour to go on that matched what they were offering, and she became much more friendly and gave me some good advice.
Sunday, March 14, 2004
Trek 5200
Test rode a Trek 5200 at Wheelworks today. Man, that thing rides smooth! Also looking at the Specialized Roubaix Comp, but I'm not sure about those gimmicky inserts. Rides nice, though.
Gotta have a nice bike for my trip to France this summer!!
Wednesday, March 10, 2004
ARGH!
What the hell! Microsoft's new SP3 for Outlook XP now has even stricter blocking of access to the address book. This breaks all kinds of things, like SpamNet. This is getting ridiculous!
Tuesday, March 09, 2004
USB Hell
I'm in USB Hell right now. I bought a USB hard disk (it also has a Firewire interface, but the stupid makers of Firewire decided to have two cable standards, so I have to wait for the right cable to arrive). I can't unmount the hard disk for some unknown reason (Windows says to "try again later". Thanks!). So out of desperation, I unplugged it, and now I can't use that USB port for anything else.
Add to the fact that I just bought a D-Link 7-port USB hub, which ocassionally (5-10 times per day) flakes out and needs to be unplugged and plugged in again, and it's USB Hell. How many USB devices do I have? Let's see. A mouse, hard disk, 2 card readers, USB->serial cable adapter, and numerous Palms. Argh!
Monday, March 08, 2004
Windows 2003 Server
Dr. Dobb's came with a Windows Server 2003 CD this month. The CD package is called "Essentials of Windows for UNIX Developers". Interesting; seems Microsoft realizes that they want to convert UNIX developers over to Windows.
Personally, I'll program for whatever OS there's a market for. (That doesn't quite explain why I'm writing low-priced consumer apps for the Palm, but hey; I like to have fun, too!)
Friday, March 05, 2004
Tree Removal
Going back to my first post in this blog, the construction workers are now removing several trees from the road in order to complete the bridge work. I've never seen anything like it. They have a small crane that they drove up in front of our driveway. They extend the crane all the way, drop the hook, and send someone up on it. He ties a rope around the tree and ties it to the hook. Then he slides down his rope, and ties himself at a lower point on the tree. He then releases his rope from the crane, pulls out his chainsaw, and cuts the trunk. The tree then gets pulled up with the crane and deposited in the road. Then it gets thrown into a chipper. Repeat for all major branches and finally the main trunk, and they're done. Next tree.
I'm curious to see how they do the bik oak tree in our front yard. They have to go over the electric lines somehow. Initially, the contacted us and wanted to put the crane in our front yard, but we told them "No way" because we have a septic tank there. They also wanted to cut our electricity for a few days, which we also vetoed; how can NormSoft operate without electricity :)
Weather.com Gold
So weather.com just started offering a Gold service for $20/year. You get no ads, faster maps, blah blah blah. I've always said that I would sign up for such a service if it existed, so I felt obliged to do so.
It's a good idea, but so far it's plagued with problems. The web interface is really confusing to use. It took me 15 minutes to figure out how to customize my main page. And it doesn't offer as much functionality as the free version! For example, you can't click on a particular day in the 10-day forecast and see the detailed forecast for that day.
I wrote them a letter of complaint; I'll probably never hear back from them.
Thursday, March 04, 2004
Virus Block
Hmm, my blog is turning into a list of complaints about email. I promise to post something Palm-related soon!
So I finally get fed up with all the viruses I've been getting via email lately (several hundred per day; it makes my Treo 600 nearly useless for receiving emails), so I wrote a Perl script and filtered all my email through it. Any email with an attachment that ends with .com, .exe, .scr, .bat, or .pif will be blocked. Unfortunately, that doesn't cover the new viruses like Netsky that send ZIP files. After some thought (and copious searching of CPAN for useful modules), I added code to extract ZIP attachments from all emails received and parse the contents. Here's the algorithm I used:
- If the ZIP file contains a .com, .scr or .pif file, it's blocked. No one sends those files these days.
- If the ZIP file contains a .exe file, then check to see if it has a double-extension (e.g. ".htm.exe"). If so, block it.
Thursday, February 26, 2004
Monday, February 23, 2004
Something New For Me...
So this is something I haven't done before. I've been talking to a few independent artists to try to find ways to use Pocket Tunes's success to promote their music. I met with Lori McKenna this weekend, and I spoke with Geoff Byrd last night. Both amazing artists, and I'm trying to think of things I can do to get them more fans.
As a business person, I obviously want to be successful by selling Pocket Tunes. But as a music lover, I feel I should take the opportunity to give something back and promote great music like this.
Sunday, February 22, 2004
Blogger API changed
Apparently the blogger API changed, so I had to update Newsgator to point to the new URL: http://www.blogger.com/api Hope that doesn't happen too often...
Friday, February 20, 2004
Apparently there are quite a few things you can't do from within a sampled sound callback on PalmOS 5, I mean Garnet. As you may be aware, the callback runs in a separate thread of execution from the rest of the application. Therefore one of the things you need to be careful of is synchronization with your main thread. There are no synchronization constructs available to 68k apps or PNOlets, so you've got to implement your own. (Open up your favorite operating system book and look up spin locks. With audio callbacks, you can modify spin locks in such a way as to avoid pegging the CPU. I'll leave this as an exercise.) The other option is to avoid doing things that require synchronization between the threads, which is probably a good idea anyway.
Besides the threading problems, there are also problems with certain OS functions that appear not to be thread safe. We've run into the following functions that seem to have problems:
- DmDeleteDatabase - calling this from the audio callback on some devices causes resource-management functions (e.g. DmGetResource) to later fail in catastrophic ways.
- PrefGetPreference - calling this from the audio callback at precisely the wrong time (i.e. when another thread is accessing the system preferences DB) causes a Fatal alert because the system preferences DB can't be opened.
- FileClose - just found this today. Calling this from the audio callback corrupts something and leads to hard-to-track-down crashes sometime later (possibly after leaving your app and coming back, which is kind of scary!)
I've been remiss in posting here due, in part, to going to the PalmSource 2004 developer conference last week.
Pocket Tunes was given a "Powered Up" award from PalmSource! I got to give a quick 2-minute demo in front of about 1,000 people at the keynote address.
It was my first time at a PalmSource conference. It was quite a lot of fun; I highly recommend it for all developer types. I made quite a few contacts and friends and received a boost of energy for Palm development. :)
Wednesday, February 04, 2004
Tapwave DRM
Tapwave has an interesting DRM scheme for licensing software on their devices. It looks like they thought it out pretty well so that applications can be reasonably sure they haven't been tampered with and are registered to the current device. Too bad our software has to run on other devices as well; otherwise we could take full advantage of it.
I wonder how long until someone cracks it...
Monday, February 02, 2004
I Smell Spring
Well, maybe I'm just being overly optimistic, but it was a balmy 40 degrees F today. So I went for a bike ride. Yes, I was bundled up and it was chilly, but it was still fun to get out there! I got a few strange looks, but that made it more interesting.
Next week I'll be out in California for PalmSource. I'm planning to do a bit of mountain biking with some friends while I'm there. I'm looking forward to the warm weather...
