Content-type: text/html Set-Cookie: cookiehash=D8TIX1F9GFT8JOMIESDVDC1UDL31CF7Q; expires=Wed, 15 Jul 2026 00:00:00 GMT; path=/; DMI News

DMI News

1 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 32 33 34 35 36 37 38 39 40

The First Day

December 06, 2014 19:01

The first day was primarily travel, and due to long flights and extreme timezone changes, wasn't even a whole day. For that reason, I'm going to consider the first day to end when the plane lands in Paris. Until then, onward!

The day before we spent the whole day packing up (even though we had pretty well packed already) and decided that there was just no way in hell we were going to get EVERYTHING into two carryons and a single larger checked bag (which we had planned to send mostly empty and fill up with stuff while we were in Europe. So we completely filled the checked bag, and brought all 3 bags, plus my briefcase, and a large carryon bag for Gertie (along with her purse), and about 10 hanging garments (including my suit). We also brought the two cats, some of their food and toys, and finally got out of the house about 8 pm.

Upon arriving at my mom's house, we unloaded the cats and decided that the luggage situation was unmanagable as we had planned it. So we unloaded all of our bags, and borrowed two LARGE suitcases from my mom, along with a garment luggage bag. All three bags were quite stuffed and would require checking. Not a big problem, since with our first class tickets, we were allowed 3 checked bags each. How the hell we would haul around SIX large bags, I couldn't begin to speculate. 3 was bad enough.

We had a car pick us up at 5:30am to take us to the airport. Leaving that early, we had no issues with traffic and everything went smoothly. As soon as we walked in the door, we suddenly discovered just how awesome First Class really is. There was no line for the ticket counter. We had a dedicated lane that had no people in it, while other counters all had a line. The second awesome thing was their complete disregard for how heavy our checked bags were. One of them was 17 pounds overweight, and he just told me not to worry about it. Slapped the destination tags on the bags, along with big orange PRIORITY stickers, and on they went. After checking our passports, we got our boarding passes, and off we went to the security line.

And now for the third awesome part. When you're first class, you get to skip the security line. More to the point, we had a separate line which had 4 people in it, opposed to the security line for everyone else, which had about 40. We had given ourselves a couple of hours prior to our flight just to ensure that we had time to deal with things like long security lines. We had no need to worry. Less than 60 seconds later, we were partially undressing and getting fondled, and less than 5 minutes from walking in the door, we were past security and out on the concourse. The feeling of how quick the whole process was, was practially overwhelming.

So we walked about one gate down to get to the Admiral's Club lounge. We don't have a membership to it, but we're allowed daily access since we hold a first class ticket and we have an ongoing international connection. Fourth awesome thing. :) The lounge was very nice. Nice comfy seats, free nonalcoholic drinks (and I think a free alcoholic one, although it was too early in the morning to consider indulging in that. There wasn't a whole lot of free food, mostly just muffins and bagels and a bit of fruit, but it was sufficient for a snack since we'd be eating on the plane in a couple hours. The bathrooms were really nice, and there was also a business center, which was basically a moderate sized office area, full of cubicles with a desk and computer which people could use while they waited for their flights. There was also a master printer anyone could use, and it even allowed printing directly from a cellphone or other mobile device. We had no use for any of that on this trip, but it's nice to know it's available for the future.

30 minutes prior to boarding, and an hour before takeoff, I got a weird feeling and decided we should gather up our stuff and head down to the gate. First off, I knew it was going to be a bit of a walk, since we were about 15 gates away from it from where we were. Never the less, I still felt we should hustle, just in case. Two slightly unnerving things happened on the way to the gate. First off, we get a call from Kiko that she had just had a car wreak. Yeah. Of all the times she could do that, when we're about to get on a plane and be out of touch for the next several hours. The second one was when we got to the gate and NOBODY WAS THERE. We're walking up to the gate attendant and she's issuing a final boarding call for our flight. We're there a good 15 minutes prior to the boarding time. We check in without issue and she tells us that they're closing the door in 8 minutes. Ack! Oh well, we're there, and we still have our seats, so we hike on into the plane and sure enough, it's full of people, and First Class is full except for our two seats in 4E and 4F.

We stow our bags, and that's when I notice the 5th awesome thing. The plane is already full of people, as is our section. However, when previously flying in economy, the overhead compartments are usually filled to capacity, and the last few people on the plane are usually struggling to find a place to stash their bags. Since we checked most of our luggage, we didn't really have much in the way of carry-ons anyway, but we did have the large bag of Gertie's, so I move to put it in the overhead bin and realize that the thing is practically empty. There's one other bag up there, so a full 2/3 of the compartment is available for our stuff. Thinking about it afterwards, the fact that there are only 4 seats per row instead of the 5 or 6 back in economy, and the fact that there's about a compartment's worth of space between rows, means that pretty much every 2 seats in First Class gets its own compartment. I had started to fold up my coat to stuff it up there too, when the flight attendant asks if I'd like for her to hang it up. Well, of course I would. :)

Of course, I'm sure I don't have to express that the First Class seats themselves are much nicer than economy's. They're wider. My knees are a full several inches from the seat in front of me, and I can fully stretch out my legs without standing up. When I recline, I actually RECLINE. Not completely flat, but more than enough to rest comfortably. The trays aren't on the seat in front of me, but actually fold out from the console between the seats, which is wide enough that it has its own drink tray, which can be used instead of pulling out the whole meal tray. Below that are power ports. This flight was on an MD-80, which is an older jet, and as such, it has DC cigarette lighter ports instead of the AC power ports on the newer planes, but I had anticipated this, and brought the appropriate chargers. No real surprises here.

As I was saying, they rushed us onto the plane, but we ended up sitting for a while as there were some weather issues. I learned later that the whole rush to load the plane and take off had to do with the fact that while the weather in DFW was great, the weather in Newark was pretty bad or was getting bad, and the pilots were trying to get airborne before they started issuing delays. Apparently their initial push to get out early didn't pan out, and a couple more people made it on the plane even after the 8 minute "we're closing the doors" point had passed. However, they still shut the door a few minutes before departure time, sealed the cockpit door, fired up the engines..... and then shut them back down. A minute later, the pilot announces that they just got told to wait an hour, so we were going to have to sit on the plane for another hour before takeoff. This is awesome thing #6. Upon announcing that, most of the plane (particularly those more than a few seats behind us) collectively groan. It's already a 4 hour flight, and crammed back in economy, adding another hour to that would suck. However, in First Class.... not really much of a problem. In fact, they went ahead and served us our warm nuts and a round of drinks while we waited, something they normally don't do until after takeoff. It also gave Gertie enough time to communicate with Kiko about the nature and severity of the car accident and we finally got the news that everybody was ok and the car was still drivable, so nothing too horrible. At least we wouldn't have to fret about that for the next several hours.

At some point they have to pull away from the gate, so everyone has to get belted up, and we finally take off, about an hour late, just as they said. We weren't concerned about our connection as we had a 4 hour layover in Newark. That's when I noticed that while they probably enforce the no-electronics, no-cellphones rule in the back of the plane, up in First Class, they seem to turn a blind eye to it. One guy was on his phone right up until we started speeding up on the runway, when he finally said that he was going to have to hang up now. Nobody bothered him at all. Also, maybe 10 minutes after takeoff, but long before they shut off the seatbelt sign, people in First started getting up to use the bathroom. Nobody said a word. Must be nice. Well, it IS nice. :)

Only problem I had with the MD-80, and it's less a problem with the plane, but more about me, is the fact that despite all the extra space, the tray table was still a tight fit. I'm just too huge, in every respect. It therefore didn't come down ALL the way, but it was close enough to hold the meal tray. The food was GREAT, especially by airline standards. Certainly better than a small bag of pretzels and half a can of soda. And speaking of drinks, they were bottomless. The glass (which was made of glass, not plastic) was getting low, they refilled it. The alcohol was free too, although they were limited in what they could provide. No pina coladas for me, but Gertie got a bloody mary. I just stuck with Coke. After lunch, I leaned back a bit and took a nice nap. Might as well.

Getting closer to Newark, the pilot had to go through one holding pattern, which took about 10 minutes and then we were scheduled to land. The seatbelt sign came on, and a few minutes before we landed, the flight attendant handed us our coats. The landing was pretty smooth, but getting closer to the airport, the weather got progressively worse, and it was raining pretty good when we landed. No real issues with the landing, but there was a good brake skid nearing the end of the runway. The taxi to the gate was uneventful.

Getting off the plane was the seventh awesome part of this trip. I always remember deplaning being a complicated, congested mess of people waiting for 20+ minutes to file off the thing. Not so in First Class. They hit the gate, the door opens immediately, and you immediately walk off. The seat belt signs turn off, and 90 seconds later, you're out in the gate, fighting to get through the huge crowd of people who apparently want to board that hour-late plane you just got off of. So we're in Newark now.

Keep in mind, we could have gotten a later initial flight, but we wanted a longer layover for a couple reasons. First off, you never know what could delay a flight, as we were. We now had a 3 hour layover instead of a 4 hour, but that would probably be far more nervewracking if we only had 1 hour at this point. We had to change terminals now, and that would mean going through security again. Research had told us that this was likely to take an hour, however that wasn't taking in First Class perks into account. As we had no security line to deal with, we just took the tram over, walked through security, and 15 minutes after landing, we're sitting in the British Airways lounge.

And if we thought that the Admirals Club was nice, this was a few steps up from that. First off, open bar. Second, a full deli of snacks, sandwiches, desserts, lots of bags of chips, etc. Third, at 4:30 or 5:00, can't remember, they opened their lounge restaurant which had a cafeteria style display of food, and custom stirfry, all of which was complimentary for us with the tickets we held. I had to try a bit of everything since everything looked so good, so I was stuffed. I was also unsure about what meals we were getting on the plane, and prior reports had indicated that meals served there would be light, and therefore I was filling up in the lounge before takeoff. As it turns out, this wasn't a concern, we got two full meals on the flight, but at the time, I didn't know that for sure.

After eating, we sat back down for another hour before it was time to walk down to the gate for boarding. British Airways only had a handful of gates at this airport and only half a dozen or so flights on the board at any one time, so they would announce each flight when it was time to head down to the gate for boarding. We had priority boarding rights, but since we had plenty of time, we spent a few minutes in one of the shops before heading over to the gate. Not a problem, walked right on the plane as soon as we got to the gate.

The BizBed seats on the OpenSkies jet were awesome. Sitting down, I could extend my legs fully, straight out, and not hit the seat in front. I had my own reading light, and several trays. We got a glass of champagne as soon as we walked on board, and each seat got an amenities kit, a blanket, a pair of pajamas, and possibly a few other things I've forgotten about. We got to listen to the safety announcement in both English and French, and then we took off. Shortly after takeoff, we were served dinner, and it was a nice full sized dinner. I needent have worried, but I was too full to eat much of anything, so I just had dessert. The pilots apparently got nervous about turbulance, because everytime things got bumpy, the seatbelt sign came on, and unlike the American Airlines flight, they actively enforced it on this plane. No matter.

About half an hour into our flight, we got our in-flight entertainment systems, which were iPads that had their own dedicated mount, and a set of noise cancelling headphones, which pretty much cut out all of the noise from the plane. It had about a dozen movies, the most current episodes from many of the more popular TV shows, and about 20 albums of music. I really wished they had more music, or at least more music that would have been nice to sleep to. Didn't matter, I still got a good 5-6 hours of sleep. Sleep was pretty easy to come by, considering the seat reclined the whole way down and became a bed. They offered to fix up the bed, complete with a thin mattress, but I was comfortable enough as is.

Gertie woke me up when they started serving breakfast. It was advertised as a "light" breakfast, but it was more than enough to fill me up again. About 15 minutes before landing, they collected all the trays, iPads, and we got ourselves belted back in for landing. About this time, we were able to see the lights of Paris and the surrounding area. We finally land about 7 am. We didn't taxi to a gate, but instead they parked it in what appeared to be a large plane parking lot, and rolled stairs up to the door. We walked down the stairs and boarded a bus. While walking to the bus, I turned around and snapped a quick picture of the plane, and was promptly yelled at by a contingent of airline employees, police, and soldiers that were standing nearby. I put my camera away until long after we had left the airport. After all of us had boarded the bus, they drove us over to the airport building and we walked straight into customs. Customs in France was pretty non-exciting. The guy looked at my passport, looked at me, stamped the passport, handed it back to me, and that was it. So now we're in Paris. It's about 8 am at this point, and we're both well rested and ready to start the day.

Continued tomorrow.


Continued Trip Report

December 04, 2014 17:39

Now that the flights were settled, I discovered that hotels can be had the same way. Researching likely hotel candidates in the two big cities we were visiting, plus the minimal combination of cards that would grant us 8 days of free nights, we went with 5 days at a Marriott in Paris and 3 days at a Hyatt in London. After getting the airline miles, the next card I got was a Marriott Rewards Credit card since at the time they were offering a 70000 point bonus for meeting the minimum spend requirement. We already had 10000 points accumulated through various hotel rooms we had purchased over the previous years, mostly to visit Tiffany. This meant we only needed to accumulte 20000 more points. Luckly, there are several other credit cards that you can transfer points from to a Marriott account.

To avoid hitting the same bank too many times in a row (Chase), the next card I got was the Barclaycard Arrival. It gave a 40000 "mile" bonus for $3000 in spending, plus 2 "miles" for each dollar spent on the card. I put miles in quotes because what it really amounts to is statement credits of one cent per mile on any permitted travel purchase. The reason for getting this card was to offset some of the cost of the cruise. We put a $500 cruise payment on this card, and by the time I had reached the spending requirement and spent a bit more, it was able to cover that purchase. Following this, chase had a promotion for the Chase Ink card where they were offering 60000 points, so I grabbed that one next.

All in all, we ended up taking out 9 credit cards, and while not spending any more than we normally would for our normal monthly expenses, we ended up saving about $3000 off of our initial budget. However, the total retail cost of the first class seats in the flights we took, plus all of the rooms at the hotels we stayed at, in addition to the credits we earned toward other things, was worth a total of $24185. I never would have spent that much to begin with, but I wasn't going to complain about it.

We decided not to leave our car parked at the airport for 3 weeks, so we instead planned to park it at my mom's house and use a limo service to get to and from the airport. That ended up costing less than parking would anyway, and the car was in a safer place.

Based on the planned expenses, I allocated $1655 for Paris, and $989 for London. Basically $300 a day while we were over there. The total for the cruise once the fare, tips, port fees and taxes, plus insurance, Internet, and drinks packages, the expected total came up to $3348.07. This was reduced significantly, both by taking out two Barclaycards to statement credit over $1000 of it, but also due to complications on the ship that led to us getting a lot of onboard credit, but I'll discuss that later. The grand total expected expense for the whole trip came up to $7808.26. Not cheap, but it's my vacation budget for two years, and we're going to go lean the next 2 years on vacations to offset that cost, and to prepare for the next one. :)

I'll start talking about the actual trip tomorrow.


Our Vacation of a Lifetime (up until now anyway)

December 03, 2014 18:22

As some of you know, and others may have noticed, Gertie and I took a 3 week trip last month. We spent a week in Paris, half a week in England, took a transatlantic cruise from Southhampton to New York, and spent a day in New York City before coming home. We had a great time. The only downside being that immediately upon returning, we both got really sick with a respiratory infection, probably caught on the ship, and as such it has taken a couple of weeks after getting back to properly get our lives back in order, and to organize the pictures and type up our trip reports. The pictures still require some work, mostly rotating the sideways pics and removing some of the pointless repeats. However, they are available for your perusal.

I'll start out talking about the long planning process for this trip and the numerous changes to the plans we made along the way. Everything ultimately boiled down to three basic goals. First, take Gertie to Paris. I've been promising I would take her there for years, but up until recently I couldn't justify the expense. Second, keeping the total trip expense to less than $7000. Third, spending as little time in a cramped economy airplane seat as possible. As luck would have it, the pursuit of these initial goals and later discoveries, made all of these things possible, and we ended up with a far more fulfilling trip than we otherwise might have.

After Kiko graduated from high school and started college, Gertie went back to work full time. Initially this was to cover the cost of tuition, but after Kiko got pregnant during her first semester, that resulted in us having some extra income, so now having a vacation budget with more than 3 digits meant that the trip to Paris was finally within reach. Therefore, in early 2013, I started looking into the possibilities of making the trip with two years worth of vacation budgets. Originally the idea was to fly over, spend a couple weeks, then fly back. I was not looking forward to the flights at all, especially after I had a bad experience on a flight a few years earlier, and I had pretty much decided that driving everywhere was a better option than flying. However, driving from the United States to France wasn't a reasonable option, so flying in a cramped metal can for the better part of a day seemed to be the only alternative.

Then one day I was watching deleted scenes from various movies, when I watched several from the movie Titanic. Granted, that particular historic voyage did not end successfully, but it did inspire me to look into transatlantic cruises. I discovered that the cost to take a ship would be less than the cost of hotel stays for the same period of time, AND the meals would be free, AND I would have a comfy stateroom and a whole ship to roam instead of being confined to an airline seat. Of course, it would take 7-8 days for the shortest of the trips, and there wouldn't be enough time to take a cruise in both directions, AND it would cut down the amount of time we could spend in Paris, but at least it would be a way to avoid at least one half of the flight time. I discussed the idea with Gertie and she was all for it, and so the hunt for the perfect cruise began.

This brought up the next issue. Do we cruise out or cruise back? My preferences were always on cruising back, as I would rather come back in comfort than go over, since I would have to go back to work as soon as I returned, and I figured an extremely long, uncomfortable flight back would not leave me in the shape or mood to return to work the next day. However, the decision became a more financial one. The cheapest direct flight I could find from DFW to Paris was about $1600. One way. That's half our budget. Considering the cruise would take up most of the other half, that wasn't going to leave any money to spend while we were in Paris, and at the very least we needed hotels and food. Through my research I discovered that while flights (even ones with multiple connections) originating in DFW were expensive, and flights to Paris were expensive, it was extremely cheap to fly from NYC to London, England. Like $400. The trip from DFW to NYC would only cost about $150. Now, that $400 ticket required a short layover in Iceland of all places, but at least I could get over to Europe for a little more than $1000 for the both of us, and it would be in 3 5 hour legs instead of one 12ish hour one. Maybe I could tolerate this. Of course, now we'll be in London, and we'd need a way to get to Paris from there, but the Eurostar is a thing, and not too horribly expensive. Gertie then decided that since we're in London ANYWAY, we might as well incorporate that into our trip, so we ended up deciding to stay in London for a couple days.

So, at this point, we've decided that we will fly to London, stay there for 2 days, train to Paris, stay there for 5 days, then train back to London, take a train to Southhampton, take a yet undecided cruise to New York, and then fly back home. Still extremely expensive, but if we squeeze the budget everywhere we can, we might have about $500 to spend while we're over there.

Eventually we decided on the cruise we wanted to take. Royal Carribean was building a new ship, the Quantum of the Seas, and the maiden voyage was going to be a transatlantic cruise from Southhampon to New Jersey on November 2, 2014. It was a couple hundred dollars more expensive than some of the ships we were looking at, but the staterooms were bigger, and it seemed like it would be a fun voyage, so we decided on that one and booked the trip. That became the anchor that the rest of our plans had to work around. This was early July, 2013. We couldn't even book any flights or reserve hotels for several months yet, so we still had time to put off those decisions and hope for something reasonable.

In the meantime, I managed to pay off all of my credit cards and did some credit report investigating and managed to get the single negative on all 3 of my reports removed. That's when the interesting junk mail started to arrive. Now, getting credit card applications in the mail is nothing new. I'd get several a week, and I'd look at most of them, but most of them didn't have much appeal. Then in December the AAdvantage Citibank application arrived, offering 50,000 American Airlines miles if you get the card and meet the minimum spending requirements. On a lark, I decided to check to see just how far that many miles would get me. As it turned out, 50,000 miles is exactly the required amount to get a one way business class saver fare ticket from DFW to anywhere in Europe, subject to availability. I poked around a bit and while there didn't appear to be any flights to Paris, there were plenty going to London, and the seats in business class on the British Airways jet that it typically scheduled us on were lie flat sleepers, so I figured that not only could we get a very comfortable flight over for effectively free, we'd be well rested and wouldn't have to waste a day recovering from jet lag.

Of course, 50,000 miles only got us one ticket over there. We needed two. I had two possibilities. I could either buy economy tickets with those miles, which cost half the amount of business class, or I could find another credit card that also gave AAdvantage miles, get that one as well, and then have enough for both of us. Whatever we ended up doing, I went ahead and got that card, was instantly approved, and since I got it just in time to pay both the house taxes and car insurance, there wasn't any trouble meeting the spending requirement by the due date. I also discovered that my credit score had gone up considerably since the last time I checked it. I was now in the high 700's.

Then, the unexpected happened. Gertie got the same AAdvantage credit card junk mail that I did, addressed to her. This was a bit confusing, because while I had plenty of established credit history, as far as we knew, Gertie had none, although she's married to me. However, we figured that since she got the application, she might as well try for it, since that would solve our dilemma of getting the second ticket. She applied and was also approved instantly. Turns out, despite having no credit in her name, she has a slightly higher score than I do. Apparently, since she's an authorized user on all of the cards that I carry, she gets the credit benefit from all of those, but since she didn't have several recent applications on her record, her score was higher. Isnt' that lovely. Better yet, it meant that for the purposes of this game, we could BOTH apply for cards and split the recent application score hits over both of us. However, once she got the card, and we started spending on it, I checked the flights again. This is mid February, and it seemed like all of the flights to London had dried up. Well, crap. However, before despair set in, I checked the flights to Paris and despite the earlier lack of them, now there were plenty. Of course, now we're on a different flight, and different planes, but the OpenSkies Jet that we'd be taking from Newark to Paris looked even nicer than the British Airways jets we were originally planning to take. So now we've changed our itenerary and flight plans for the second time and plan to fly to Paris on Friday, arrive Saturday, take a train to London on thursday, and spend 2 days there, before going to Southhampon on Saturday, and jumping on the boat on Sunday.

Anyway, it was another month before we had all the points we needed to book the flights. By then, there were only a single award seat available on all of the flights over to Paris. We could still both go on Friday, but we would be on different planes. Not acceptable. However, the day before we were able to book both of us on the same flight. Yay. One more schedule change. So we moved everything up a day and spent 3 days in London instead of just 2. Now our flights are scheduled. The cruise is scheduled. The total cost for each ticked ended up being $459. Now, that's considerably less free than I was hoping, even though it's still considerably cheaper than the economy route we were previously considering, and now we're flying fist class the whole way (since the business class rate got us first class seats on all the planes we flew on). So it was still well worth the effort and the money. Had I planned this further in advance, there are less expensive options, but that's a discussion for another day.

I shall continue this trip report tomorrow.


More Fun With Technology

June 01, 2014 02:36

Determined not to waste $150 that I spent on the nice new IP cam I bought, nor feeling inclined to return it and resign myself to some older, less functional, less quality option, I decided to hook the damn thing up and packet sniff until I figured out how it worked. 8 hours later, I have brought myself up to speed on a few things.

First off, the old version of sniffit I used in the distant past wouldn't compile on more modern systems, or at least, not on the firewall machine, which is where I wanted to run it to ensure I was capturing all of the webcam packets. I tried a few other options for sniffing, all of which seemed inclined to insert a lot of extra noise into the captured data stream. I eventually tracked down an rpm for sniffit and got it installed. Then I realized that some data wasn't getting captured at all, and even now I'm not sure why that is the case, but I decided to approach things from another angle. I installed sniffit on Loki, which I have a working console on, and just sniffed EVERYTHING on that computer. Launched the browser, watched the video feed for 30 seconds, then closed everything back down.

Turns out authentication is all about digests and nonce's and qop's and realms, and opaque's. A few of you might know what that is all about, others are certainly drooling in anticipation, waiting to find out. No matter, the issue is that now, as part of the authentication process, even knowing the user and password for access, it is now necessary to first request access and get denied, but part of that denial provides the means to make a second request. Sure, it's more secure than base64 encoding, but it would be nice if it could go through in a single request. That, or just disable authentication on the cam side. However, neither of these is going to happen, such is the world we live in.

The end result is I get to dredge out code I haven't worked on in years to once again make some major modifications to, just to end up with the means to support what is quickly becoming an ancient protocol anyway. At this point, it almost seems to make more sense to put my efforts into getting the H.264 working instead of just making sure MJPEG continues to work in all of it's new incarnations.

The biggest downside of all of this is the endless amount of time that it requires just to keep everything working. Several weeks of effort now have gone toward trying to get another cam up and running. I have a lot of great ideas for new features, but instead I have to waste what little free time I have dealing with issues like this. It's... frustrating, to say the least.


Well, that's Technology for you!

May 30, 2014 05:18

Some of you have no doubt noticed a significant lack of cams on the site lately, namely mine. More importantly, cams that have been around for years have suddenly disappeared and haven't been replaced. This is not for lack of trying. It would appear that sometime in the last 3 or so years since I purchased new cam hardware, that a number of interfaces have been left behind for good. Namely, if it isn't HD, served with a H.264 stream using the RTSP protocol, it's not going to happen. Worse yet, it seems to be impossible to know for sure of the lack of backwards compatibility without first purchasing the product. It's getting frustrating.

These issues aren't isolated to IPcams either. My old Orbit MP camera does not come with drivers for Windows 7 (64 bit), so as of my last upgrade, the office cam was no longer functional. I was able to find a working Linux solution, but the quality has suffered greatly, and it suffers even worse unless I keep the framerate less than 6 fps. Better yet, there seems to be a serious lack of any decent webcam serving software anymore. You're fine if you want to stream a live video feed to youtube, or twitch or whatever, but as far as it goes for simple software that serves up a single jpeg image at a time, it's getting hard to come by. What software does exist, mostly 32 bit, extremely out of date (but perfectly useful until recently), seems to be extremely buggy on later versions of Windows.

No matter, I don't like using windows for any of the critical services anyway, but Linux seems to be difficult as well, although I was at least able to find SOME working solution. Sortof. But it would appear that this is only a temporary solution, as my options for maintaining the old way seem to be vanishing quickly. However, this isn't really ideal. While H.264 DOES provide a more fluid video, at a higher framerate, with integrated audio, all perfectly good qualities in its favor, it comes with one huge downside. Bandwidth consumption. Primarily, bandwidth consumption where I least desire it.

Right now, if nobody is on the site watching any of the cams, other than the heartbeat check from the server every 10-20 seconds, there is no data transfer to speak of. For a small number of users, usually less than 7, the home network will serve up images directly. Since individual frames are being sent, it scales well with the available bandwidth and the number of users. The framerate might drop, but it keeps working. After 8 people are on the same cam, the server starts relaying the images instead, so my home network only needs to feed images to the server as fast as it can, and a high framerate can be maintained amongst all of the viewers, no matter how many there are (at least until the total throughput hits 100mbps). This works well, since USUALLY there are fewer than 8 viewers at a time, so all of the bandwidth load for the cams can be kept on my home network, which while limited on the upstream (1.5mbps), at least has no transfer cap, unlike the server which has a cap of 5 TB per month. That's quite a lot of data, but it's pretty easy to reach with the normal load on this site.

And thus my issue with more modern methods of video streaming. I would be required to ALWAYS be streaming the video (even if nobody is watching it). To have a decent quality stream, I would have to push at least 256kbps (and quite likely more), so I would be limited to 3-4 cams at most before I hit my bandwidth. There aren't any reasonable options to get more upstream (at least not where I live), and moving somewhere more network friendly isn't in the cards for another year or two at best, and with housing prices increasing where we've been looking, that might take even longer.

I'm not sure what the optimal solution might be here. In any event, it's probably going to require me to do a lot of programming to take advantage of what options I DO have.


Server Reload and other Fun Stuff

May 15, 2014 17:42

Over the last several months I've had some mysterious server crashes. It took several crashes and monitoring of logs to realize that the HD was having issues, and some more events to realize that it was dying. I decided to start doing more frequent backups and had started the process of poking the hosting provider toward getting that replaced, but since reloading the system is always a timeconsuming, tedious, and annoying activity, I hadn't gotten in a huge hurry about it.

Then one day reddit links to my site and things go absolutely nuts. I did some tweaking to the server to handle the load, and all things being considered, everything handled quite nicely. And in the midst of all of this, the HD decided this was the PERFECT time to just crash. No, really, reddit did NOT crash the website, it was just really bad timing, but I'm sure that's how it looked from the other end. Annoying, to say the least.

In my own defense, from the time of crash, through a complete fresh installation on a new server, reuploading all of the backups to the new drive, reconfiguring the new system, and getting everything configured, I mostly had everything up and running again in less than 4 hours, although some things took me a few more days. Both through the crash, and the sudden influx of traffic and online media attention, these events have spurned more site activity and encouraged me toward revitalizing the site again. Thus a new adventure begins. First, some of the quirks.

This is MOSTLY just poor planning on my part, but setting up the web server for this site is never an easy task. Although I've made an effort in recent years to reprogram the backend, there is still much that is at least somewhat reliant on 15 year old hack jobs that were required to make things work back in the beginning, when I was on a completely different network configuration, on a vastly different distribution, with older libraries, far less traffic, and practically no security concerns. First quirk is always a permissions issue. There's always a program or a database file that I keep stored in some strange place, like 3 layers deep in my home directory, while everything else is stored in the root web folder or an extra directory specified for that purpose. I'm constantly making an effort to move away from those little issues when I find them, but about the only time they pop up is during a reload, and they're so easily fixed with a change in the directory permissions, that it's really easy to once again just forget about them. Secondly, libraries. I use a LOT of them, and none of them come preinstalled on a stock CENTOS install, so I spend a couple hours running yum everytime I get a runtime error. Often it's easier to just recompile everything as well, as the header files are often missing too, and the compiler usually gives more useful error messages to what I'm missing. Remember all of those -devel respositories as well. YOU NEED THEM.

I've been avoiding 64 bit systems for some time now, mostly because I know my source code is going to have porting issues, and there's not much need to push in that direction as long as I'm using less than 4 gigs of ram, but some other providers aren't even offering 32 bit installations anymore, so I figured I had better start getting prepped for it, just in case. I have a 64 bit version of CENTOS installed on one of my home servers for this reason, and I downloaded the source and gave a shot at compiling it. It compiled just fine, but runnign it... not so much. Thankfully, most of my code is pretty conversion friendly. The long type is now 64 bits instead of 32, but int is still 32 bits, and I use that type the most anyway, so there won't be any issues there. The one that took me a day to figure out is a consequence of laziness on my part, and one I'm going to have to rectify.

When making a function call, the C compiler will look for that function defined, either implicitly in the same file, as the function itself, or explicitly through a single line that defines the types for the parameters and return variables. If neither is available, C just guesses, and most of the time, those guesses are integers. The good news is, that on a 32 bit system, almost every variable type is 32 bits. Int, long, pointers, floats, are all 32 bit variables, so casting them to integers and back to whatever they're supposed to be isn't a problem. It's bad programming, but it still works. As it happens, and what caught me, much of my code contains functions that return pointers to data, and as I mentioned, I'm lazy, and have not explicitly defined my functions of my utility files, so those functions that returned pointers were getting those pointers truncated as it tried to cast the 64 bit pointer to a 32 bit integer and back to a 64 bit pointer. So now I'm going to have to go through and type out the definitions for about 500 functions, probably only 30% of which I actually use anymore. This will probably be a grand opportunity to eliminate some cruft as well.

I'm pushing forward on some of the projects again. I had the Critter running for a few hours last Friday, and realized why I haven't had it operational for a while. So now I'm working on the authentication system so I can more easily control who has access to it and prevent abuse. I ordered a new video server so I could get the living room camera functional again, only to find it doesn't work, so I'll be sending it back, and possibly trying another one. I'm going to poke my ISP again and see what options are available for more upstream bandwidth. It's been a few years now. Will probably also check to see if DSL options have improved at all in this area. They keep sending me the propoganda saying that it has... I know better, but who knows.


Rewiring the Office

March 30, 2014 03:00

A task I have been pushing for several weeks now is finally complete. I have mostly rewired the office. This is a project that has been sorely needed for years, but I have put it off, mostly due to the fact that doing so requires me to completely shut down the network in the house. No Internet, no cable, not much of any media entertainment to be had. This is not a huge problem for me, since I will be too busy rewiring everything to care, but others, mainly Gertie, but also visitors to the site, will be horribly inconvenienced by the downtime.

I had several goals I wished to accomplish with this endevour. First off, the home network is entirely 100mbps, and most of the cabling in use is cat 5. This is usually sufficient, but I can occasionally saturate it when copying large files from one system to another, and the effect is defintely noticeable. Secondly, from the beginning I had planned to have all of the power and data cables attached to the wall via hooks. I installed a few of the hooks, and several cables utilized them, but sometime shortly thereafter, probably within about 10 minutes of setting up the first computer, I instead chose to disregard my cable management plans and just drape the cables behind the desk such that they fell to the floor. Over time, dust, dirt, and assorted junk accumulated and despite my efforts to sweep it up, it would require a major overhaul just to properly clean under and behind the desks. Therefore, one of the major goals was to get ALL of the wiring off of the floor.

The other big reason for doing this was to clean up the horrible rats nest that was my server cabinet. I had daisychained switches, numerous daisychained power strips, and cables EVERYWHERE. It was almost impossible to remove unused cabling as they frequently got knotted together.

Several weeks ago, I ordered myself parts for a new computer, and pre-crimped cat 5e cables of specific lengths, along with a 1gbps switch. Assuming a pre-cleaned office, I figured a total conversion time between 6-8 hours. Since my wife worked one day a week that I sometimes didn't, I figured that would be a good opportunity to do the switchover, since if all goes well, I should have everything up and running again by the time she gets back home. However, the first week I was missing some important parts, and the next week I had to work the same day. The week after we went to visit some people, so this last weekend became it. Thursday early afternoon I woke up, with the intention of cleaning up the office with Gertie's assistance clearing her desk, and as soon as she left, I would begin. To make it easier, I'm taking off the entire next week for vacation, so I can be sure to finish this (and many many other) projects.

Anyway, I woke up on schedule, jumped in the shower, and when I get out, I hear Kiko's voice. Kiko hasn't lived here in a while, and I wasn't expecting her to visit, so that was a bit of a thwart in the plans. Not only that, she planned on staying a couple days. Not a huge problem by herself, but she's got the baby now, so making the excessive amounts of noise I planned on was going to be awkward. Drilling and hammering would have to be kept to a minimum. Great.

So not much gets cleaned up before Gertie leaves for work, so it's a good 3 hours later before I'm ready to tear stuff down. Just shutting down all of the computers takes about 30 minutes, what with saving files and such. I then remove all of the computers, network cables, switches, monitors, printers, keyboards, usb hubs and assorted cables, hard drives, and power cables, temporarily store them in a neat fashion for later retrieval, and begin work on the room. I first moved my desk away from the wall, cleared up the remaining cables, and swept and mopped. I also took this opportunity to pull down and wash the curtains which hadn't happened in several years.

After moving my desk over to the other side of the room, I pull down the (now empty) cabinet and dust it out as well. It needed it. Badly. At this point, with the cabinet on the ground with the back side up, I permanently mounted all devices that had mounting holes or brackets. This included the two cable splitters, the cable amplifier, all of the power strips, and about 30 cable clamps. I then ran one network cable from each computer location through the clamps, to the location where the switch would be. I did the same with the coax and cords for the power strips (in separate clamps, on the opposite side of the cabinet from the data cables). I also took the opportunity to sweep and mop where the cabinet was located.

It was about 9am by the time I got the cabinet set back up and all the computers connected. I hit power on the UPS and fired everything back up. Amadeus needs a new bios battery, and HAL apparently has no working USB ports now, but otherwise, all of the servers are functioning properly. So we do another pass at sweeping, mopping, and dusting, and put Gertie's desk back in place, and I set up her computer. Annnnnnnnnnnnnnnnnnndd... nothing. It won't boot. Dead. I decide at this point, I'm too tired to carry on, and get a few hours of sleep.

I replace the power supply in Gertie's computer just to be sure that's not the problem, but no dice. I try to put the HD in another computer, but Windows doesn't really like it when you do that. So I've ordered an exact copy of her motherboard to replace the original so hopefully all will be well with the world after that. I then pushed my desk back into place, set up my computers, and got the cams and lamps functional again. All told, the controls were down for about 24 hours.

At this point, I'm waiting for the replacement motherboard to arrive. Otherwise, I have everything back to the initial condition. Now it's time to get my new computer going, set up the new media server, and get some more cams working. Stay tuned.


Critter Lives Again!

February 15, 2014 09:11

As some of you have no doubt noticed, I have repaired the critter and it is currently functional again in the state that it was prior to the last time it broke, which was quite a while ago. That being said, I am not currently allowing anyone to control it, although you can monitor it whenever I have it active. I will now explain why.

Prior to building this version of the critter, I had another one which I allowed free, unlimited access to, by everybody. As a result of this generosity, many people responded by treating it in the most abusive way possible. They would either drive it into walls or other objects intentionally, attempt to drive it under objects where it clearly wouldn't fit, and attempted to use it to damage property, such as trying to knock various things over. This was in addition to the general negligence of those who just didn't take a few minutes to figure out how the controls worked before randomly clicking buttons to see what happened.

So when I built this critter, after spending well over 100 hours of time and about $450 in parts, I spent a lot of time adding various safeguards. I also required everyone to read through an extensive list of instructions and rules for operation, in hopes that I would eliminate those who were intentionally abusive or inept. Nevertheless, I still had to repair the critter about once a week, with an estimate of 4 hours of work and $50 worth of damage to the parts each time. I had intended this period of time to let those who were careful play with it, while I spent my time working on additional hardware and programming safeguards, as well as adding more interesting features. Instead I had to waste all of my time fixing the damage caused by people who couldn't follow simple rules. Finally, I just quit fixing it.

So now that it is repaired again, I'm not going to make it avaialble to everyone until all of the safeguards are in place. This means rangefinder and proximity sensors on all 4 sides of the critter, plus a more intellegent mapping system, along with whiskers and bump sensors, to prevent or detect and mitigate any collisions. I will also enclose the top layer to prevent damage from above, along with adding additional sensors to the top. In the process of doing this, I have decided to recode the controlling software from scratch, which will delay the project quite a bit, but will allow me to more easily make upgrades in the future.

I also need to make a few modifications to the house where the critter has a habit of getting stuck or difficulty crossing over. I also need to add a bridged access point to add coverage to the area of the house that currently has dead zones. I will attempt to make all of these changes in as short a period of time as possible, all the while balancing them with an increasingly busy work schedule.


Plans for the future

July 27, 2013 09:55

I have chosen in recent years to not announce too many of my plans, as I had practically no time to work on any of them anyway, and lack of progress tends to annoy people. Furthermore, many ideas which I actually made some progress on got stalled by other issues, many related to the age of the old server. Just getting fully upgraded to the new server took several months. Of course, it's difficult to worry much about new projects when the many projects that are complete and functional aren't even in service due to the state of clutter in the house. To make it more fun, efforts to reorganize the house to hopefully reduce the clutter have actually temporarily created MORE clutter. It just keeps getting better and better.

In any event, the mess will be cleaned up in the next couple of weeks. There is also a chance, just a CHANCE, that I might be getting a new job. It will be a few weeks before I know anything about that, but when that happens, it should result in more available time to work on the site. Keep your fingers crossed.

The first order of business is to get the functional things active again. This includes the critter and the other cams. At least the Living room and IPcam cams will be reactived. Hopefully in time I can also include the kitchen and hallway ones. I eventually want to add cams to cover the front porch and the backyard, partially for security, and partially for doorbell logging, motion capture, and sprinkler control. Next, I'm going to clear the projects list and start it over. I created it as a means to track my own projects, along with allowing other to submit ideas. Most of the ideas presented were either pointless, or rehashed ideas that I had already had or based on projects I had already done. So for now I plan to just use it to post my own projects and allow others to view the plans that are in the pipeline (a question that is very frequently asked and for years left mostly unanswered), and track my progress on them. It will also allow me to help focus some of my efforts.

For quite a while now, I have not allowed people to add new cams. For a while, I shut down the ability to create new accounts as well. You can thank the spammers. I still have about 10,000 bogus accounts that I need to remove, and in the progress of removing them I have made a few database modifications and I need to make several more to speed things up. Nobody really notices when it takes 5 seconds to delete an account, but it's VERY noticable when you're trying to delete 100 at a time. I need to repeat some of that process for the cam database, as well as clean it up. Even of the legitimate cams, more than 75% of the cam accounts created have NEVER been used.

As for cams, I'm looking into ways to improve that feature as well. As you well know, the popular cam portal sites are using flash applets to stream the cams (and audio). While this works great, the backend for that operation (flash media server) is quite expensive, and I'll have to purchase more bandwidth capacity on the server to serve any significant amount of streams, or streams of any decent quality. Not only that, my upstream here isn't horrible (1.5mbps), but it's certainly not great, and wouldn't support several decent quality streams. On top of that, I would have to upgrade most of the cams I'm currently using to something that can stream to that format. Sticking with motion jpeg like I'm using seems horribly dated, but it works well, it's low bandwidth, and it scales nicely. It also costs me nothing extra. Still, to improve in some of the ways I'm planning in the near future, some of these upgrades will be necessary.

I've got plans for a new sign. One much larger and possibly in full color. The size I'm proposing would be 8' x 2' and would have 96 by 24 pixels. Right now it appears it would cost about $250 in materials and would take about 72 hours to build, not including R&D time.

I'm investigating the option of installing a computer in my car permanantly (instead of using the laptop like I'm doing now). Ideally it would replace the stock radio in the dashboard and provide a 7" touchscreen. Since I need to run a real operating system on it (either windows or linux) in order to do my car broadcasting, available options in a ready state are very scarce, very expensive, and from very iffy sources. I will likely assemble my own which won't be much cheaper, but at least I'll be able to source the parts from more reputable suppliers. Interfacing it with the car's electronics might be a challenge. Interfacing with the power and audio won't be too much trouble, but it would be nice to also interface with the buttons on the steering wheel, the honda i-mid display on the dashboard, and possibly also the obd2 interface. I'll also need to have usb jacks set on the dash for the camera and usb to plug into, and something front mounted for my phone.

Raspberry PI seems all the rage, and it IS a pretty powerful little computer for the price, and I can likely use it for a lot of projects, but it's lacking in a few features that the TS7200 I'm currently using makes available. It also runs a lot faster (but also uses quite a bit more power as a result). If I can reduce the power consumption down to what the TS7200 has, along with increasing the number of I/O and ADC ports available, I could use that on the critter, and also add audio capabilities to it. I may have to design stage 3 of the critter project to be in a larger weight class so it can haul a heavier battery. I've also looked into different types of batteries which might provide more energy per weight. They are, of course, far more expensive, but it would solve some problems. A docking station (or several) for the critter need to be built as well, which will allow 24/7 critter availability (with downtime while charging) and will not require human intervention to charge the batteries. Future versions of the critter may also have appendages or the ability to play lasertag type games with each other. Also working on SLAM algorithms to allow the critter to draw accurate maps of its environment and know where it is and how to pathfind to other locations on the map. This will allow people to click on a map to move the critter to that location, and allow the critter to find its charging stations.

I'm also adding some other more "social" features to the site. I won't be creating a new facebook or anything like that, nor do I want to be another cam portal, but I have some ideas to make the site itself more entertaining beyond just lamp, critter, and other device control. I'll reveal those plans when they're closer to being ready.



July 21, 2013 06:29

Work has continued to keep me busy. In other news, we cleaned out our storage buildings, which means that there's a lot of extra stuff in the house, which results in a mess, and that prevents both additional cameras and having the critter avaialble. However, I have not been idle.

One of the items pulled from storage was an old metal desk. It replaced one of the tables in the office. Since it was a foot less wide than the table was, I built an extra cabinet of the same height with an area below for the computers which before had been either on the floor or on the tables. Clears up space.

Since all of the kids have moved out now, I decided to claim Marjorie's room as a organized storage area. First I broke down her huge bedframe, modified it for a king mattress, and built a new headboard bookshelf and moved it into our bedroom. I then moved all of the bookshelves and bookcases that had previously been in the dining room, upstairs into Marjorie's room, along with all of the books. Now it's just a matter of gathering the other loose bulky items that are scattered around the house, and pack them in there.

I've got the camera working in the car again. The truck had a nice armrest to set the laptop on, whereas the new car has no such feature, and a lot less space. I had hoped eventually to purchase and install a computer into the dashboard, replacing the stock radio, but researching that has been an excersize in futility. It's certainly possible, but it seems like it would be a nightmare to get working properly, and so I'm putting that off until later. For now, I'm just setting the laptop on top of the drink carrier and plan to stash it away most of the time and only bring it out occasionaly to check the connectivity. We've got a trip coming up soon, so there will be a good chance to see how well that will work out.