Yeah, we love taking pics of our little girl, and she’s usually a willing subject

Yeah, we love taking pics of our little girl, and she’s usually a willing subject


Yeah, I know – I’m biased. But I might also be right

Bath time!
Wifey and I went looking for artwork for the nursery, but weren’t having much luck. She was looking for floral prints, but having trouble finding just what she wanted. Nothing really fit perfectly with the image she was building in her mind. So what’s a guy to do? Make art, of course! It was a good excuse to pick up some flowers (points scored) and snap some photos. Here’s one of ‘em:
This is a slightly outdated pic, but I don’t have a new one to post. I need to pester her to pose for some new ones
But anyway — here she is at 15 weeks along.

She’s currently 21 weeks, and both momma and our daughter are doing well.
I’m sure many have read some stories about these guys, and wondered if their “almost too good to be true” colocation prices are worth taking the leap. Well, I decided why not, and gave it a whirl. I had a few non-critical sites I needed to host, and I had a nice little 1U server available. They make the process pretty simple – you sign up, they give you the network provisioning info (IP address, gateway, etc.), and you ship the server ready to plug in. They took a couple days after receiving the server to rack it and power it up, and once there I was on my way.
They are connected by Cogent, which raises other concerns for many people, but so far any outages I’ve noticed have been slight (a minute here and there, typically at off times). Since I didn’t traceroute the outages, it could very well have been Comcast or some provider between here and there. Network performance has been quite reasonable, I’m getting all of the 10MBit switch port I’m paying for.
The real praise comes in when I needed these guys, and is the fear of anyone who colocates a server. “What happens when a component in my server fails?” This is exactly what happened to me. I noticed the box wasn’t available on the ‘net, so I submitted a ticket asking for them to take a peek. The response was not what I expected — the box wouldn’t power up, suspected failed power supply. What’s worse, is they didn’t have a matching 1U supply on hand – and why would they, it’s not THEIR server to be worrying about! What came next really floored me. They actually peeled the lid off the server, stitched in a regular ATX power supply, and got it back on the network. They even ran the server opened up and running on their bandaid supply until I was able to locate a replacement supply and get it shipped out to them! This is service well above and beyond what I would have expected, and it was obviously VERY appreciated both by myself and the folks who visit the sites hosted on the server.
So if anyone at ColoPronto/ServerPronto happens to stumble across this little blog post, thanks again.
So we decided to start freshening up the house, and so far have only done really minor things — lighting, faucets, a couple trim updates. This weekend, we started our first “real” project, remodelling the guest bath.
We are not doing anything drastic like moving walls around, but it is a total refresh of the existing space. New flooring, going from linoleum to ceramic tile. New walls, tearing out the floral wallpaper in favor of freshly painted walls (even using eco friendly zero VOC paint). I’m no tree hugger, but it is pretty nice to paint without the fumes. We’re also painting the cabinets, installing some nice pulls where there were none, and installing new faucets. Finishing it up with new lighting and new towel bars and such.
We are at the mid point now — the walls are done, the cabinets are mostly painted and waiting for their final coat. There was a small water leak from the toilet, but after removing and inspecting everything around the area thankfully showed no wood damage. The subfloor has been stabilized in preparation for the tile, which will go in in the next day or so.
Long story short, we had hoped to get a bit further, but these projects always take double what you think they will
Photos will be posted when it is finished.
So I changed jobs, and I’ve had to trade in my Mac desktop environment, for Windows Vista. Don’t worry, this isn’t going to be some fanboy slam on Vista — there’s enough of those to go around
No, this is simply a comparison of a “typical” user wanting to listen to his library of music while getting a few lines of code banged out each day.
I have built up a decent collection of music over the years, bought from various outlets — CD’s back in the old days and ripped to my drive, then a VERY big lull when the RIAA went totally insane filing suits against everyone and their grandmother (literally). My multi-year pause in spending money on music was my little silent protest. Hey, it only amounted to a couple hundred bucks a year, but I felt it was the point. Anyway, once more outlets started selling non-DRM music online, I slowly started buying music again. Well this library is only as good as my ability to listen to what I want, where I want, and when I want. That’s the absolute BIGGEST reason I will only buy non-DRM’ed music now. I have some music from the iTunes store that I can’t easily listen to — like in my car, which now has a nice Kenwood radio with a USB input. It simply won’t play my .m4p files on my flash drive. Guess I’ll have to upgrade those now that Apple has the option to un-DRM the files.
So now to the real bit of this post – WM vs iTunes. Well, this one is pretty easy for me. Windows Media Player loses. Period. Sure, it works — it plays music. I’m not going to fault it for also not playing my DRM infested iTunes music, as that’s a music industry stupid. But I will definitely fault Microsoft for building a very annoying player. Usability was apparently not in the design specifications. It tries, really hard, to do things for you, like scanning for music and organizing your library. It tries, really hard, to present a snazzy interface. It tries really hard, to look stylish. It tries, really hard, to present 128 different ways to view your library of music. All of this it does however, it does in a cluttered and difficult way. I really hate to get on the Apple bandwagon. It was tough enough to talk myself into buying my MacBook Pro. But there comes a time when you just have to realize, there’s a better way to do things.
The best way to sum it up, is to NOT go into a bullet point conversion, and just point out the fact it takes one more interaction with WM11 than it does on iTunes. I attribute this really to the interface differences. iTunes is very clean, sparse, and straight forward. In one word – it’s OBVIOUS. All the advanced stuff is there, it’s just pushed down a level on the UI, and laid out in a very familiar manner. WM11 on the other hand, feels almost obfuscated. Functions and features are duplicated across the interface, and at inconsistent levels of UI menu depth. The look and feel matches, well, nothing. It’s like starting over, and I’ve been a Windows user since 3.0 and a Microsoft user since DOS 2.0.
You really don’t appreciate the differences, until you get used to something else. The switch to the Mac for a year wasn’t easy, and it really is because you have to UN-learn some really bad habits and modes of thinking. It’s the same with the move to Linux from Windows. People ask me all the time, what’s different about using Linux/OSX than using Windows? The best answer I can give, is “you spend less time f#*king with your computer, and more time enjoying it.”
I suppose it was somewhat nice pumping some heat into the office now that things are cooling off in south Texas, but the number of computers I had running in my home office was really starting to push the limits of the cooling capacity I could pump into the room. Not to mention, the power bill! I had a total of six machines running at any given time, plus the various networking gear to support them and other machines on the network. If my UPS can be trusted, I was sucking down on average 800 to 830 watt/hours, which means at todays electric rates about $1,150 per year. Plus the cooling costs. I don’t care who you are, that’s a good chunk of change being spent in one room.
So I set out to implement some server consolidation. Sure I’m all about saving the planet and all, but it has to make financial sense as well. The first step was to find an inexpensive motherboard and cpu combo that provided virtualization extensions (ie. AMD-V or Intel VT), and could drop into low power states when idle. Picked up a new AMD 4850e cpu, and an ASUS M2A-VM board, plus 8 gigs of ram, for just over 200 bucks shipped. The rest of the components I had sitting around from the plethora of other machines, and in a few minutes the machine was built. I installed Ubuntu, then Xen, and configured the drives as a big empty physical volume group for the VMs to use.
Fast forward a couple hours, and the machine is now responsible for 4 of the previous six computers’ duties. I’m still running a dedicated machine for the firewall, my MacBook Pro for my main workstation, and of course the ancillary networking hardware. Power usage is, according to the UPS, now in the range of 460 watt/hours! Not quite half, but easily a $500+/year savings, likely more counting cooling savings. A great start by any measure.
So, I’m doing a little ASP.NET coding, using Visual Studio 2008, all the fancy junk including their snazzy stuff delivered in the Ajax Control Toolkit. I want to use one of the easiest controls in the bunch, an AutoCompleteExtender. Following the examples, I drop everything in, write all the bits, and — voila !! nothing happens. WTF? I follow ‘em again, dot the i’s and cross the t’s, or so I’m thinking, but still nothing. It took a bit of scouring Google, but I finally stumbled upon my answer and promptly slapped myself in the forehead.
Since these are web service based, your function declaration *MUST* name the parameters *exactly* as the shown in the examples. Let me make it really clear. This works:
<WebMethod()> _
Public Function AutoComplete(ByVal prefixText As String, ByVal count As Integer) As String()
This does not work:
<WebMethod()> _
Public Function AutoComplete(ByVal terms As String, ByVal numResults As Integer) As String()
With web services, the function is bound to each parameter NAME, versus the parameter OFFSET like you would come to assume spending your time in a compiled environment.
Just one of those things to keep in mind when working with web services!