Archive for the ‘Archive’ Category
No backwards compatibility in Visual Studio?
Thus far, I've been avoiding installing Visual Studio 2008 on my desktop for one reason… I am dreading going back to the dual Visual Studio version days. I hated back when Visual Studio 2005 came out and used to constantly be switching between 2003 and 2005. There were 3 main annoyances:
- Accidentally open a source controlled 2003 project in 2005 and have to upgrade, then get nagged with checking it in, or having to close 2005 and re-open 2003.
- In CS 2.x, we actually had separate projects for 2003 and 2005… it was a pain when someone added a file to one and not the other.
- VS 2005 was a big improvement over 2003, however for a lot of projects at the time, I was stuck still using 2003 for a while when I would have liked to been using 2005.
Really, you would think the Visual Studio Team could address this. 2008 allows compiling to previous versions of the framework, so why can't it open and re-save older project files? At the very least, allow it to use 2005 project files without upgrading. Comparing them, there isn't a whole lot of difference. However if you upgrade it to 2008, 2005 won't open it.
What alarms me most is the following:
- Developers like being cutting edge, so they know we're going to want to upgrade.
- Company policy often won't let products jump to the latest and greatest right away. IE, CS 2008 is committed to .NET 2.0 already, and we'll want our project files for the SDK to work in VS 2005. We'll likely go to .NET 3.5/VS 2008 by CS 2009.
- Developers use (or should use) source control. One can't upgrade unless all the developers upgrade.
- No backwards compatibility hinders adoption.
Office does this flawlessly. Office 2007 introduced new document formats, but it still work seamlessly with older versions. A Office 2003 user can send me a Word document, I can open it, make changes, save it, and send it back to them with no problems. It doesn't force me to update the document.
So why can't Visual Studio offer the same thing?
Revisiting Visual Studio experience
With the release of Visual Studio 2008, I went and installed it on my laptop and have been starting to play around with .NET 3.5, LINQ, and also doing some IIS7 managed modules. The recent upgrade and prompted me to re-evaluate some of the tools I use with Visual Studio.
In the past, I've been an avid ReSharper user. I've been using ReSharper for about 3 years now. Currently, I'm still on their 2.5 release, since 3.0 wasn't really a compelling upgrade to pay for. And right now, I'm not really sure if I will continue to use ReSharper. They currently don't support the new extensions in C# 3.0, and have posted they will have support in January with their Early Access Program. This is kind of disappointing. Sure, January isn't far, but would have to use an EAP release? Most of their EAPs are pretty good, though I've always avoided the ones early on in a new version. Also, it would be a v4.0, and not yet known if I pay for 3.0 now, would I get 4.0 for free.
On the flip side, I've been starting to look at Devexpress's CodeRush some more. I had played with it before, though not used it that much. At times, the templating can get in the way, but just a matter of tweaking the type of code the templates enter and what templates you have enabled to your particular coding style. Visually, CodeRush is awesome. I love its color coded identation indicators, its options for things like code analysis, and warming up to the templating.
However, there are a few things I still find holes in. Namely:
- ReSharper's on-the-fly syntax checking was awesome. I fat finger things a lot, and it covers my back so it doesn't halt me at compile time.
- Automatically adding namespaces. I hate typing something up, then not getting intellisense since I realized I need to go to the top and add the System.Xml namespace or something
- Its code generation is at times better than templating. IE, to create a bunch of properties for private variables, ReSharper rocks. Alt+Ins, Read+Write Property, and it adds them all at once.
- Close All? Hello, I don't know why Visual Studio doesn't have this by default. Right click on a document tab and can Close All… all VS has by default is Close All But This.
- "Find Usages" and "Find Usages Advanced" absolutely rock in ReSharper, beats Visual Studio's Find All References.
- "Find by type" and "Find by filename". Community Server is a big ass project, so like heck do I know which folder a particular class is in. I just hit Ctrl+N, start typing User, hit enter, and boom, it loads the User class.
These are the things I haven't been able to find a replacement for. Some things I could get used to… the code generation could get used to, the Find All References I probably could, but some of the others like error checking, namespacing, and type finding, that would be hard to go with out.
So looking at two options:
- Switch to CodeRush, get TestDriven.NET (for unit test runner), find some add-ins for the can't-live-without from above.
- Upgrade to ReSharper 3.0, find some add-ins to add similar indent highlighting.
So my question to those of you out there… anyone know of any add-ins for Visual Studio that cover any of the above?
The Grinch Strikes Again
In the past, we've always gone to this nice musical Christmas light show up in Sacramento. We had been looking forward to going this year and taking Nick, and also wanted to get Trish's sister and our nephews to go with us. Their website hadn't been updated yet with this year's schedule, so we were curious when they were going to be up.
This morning, I finally got an email from their newletter with an update, and unfortunately, they were not going to be doing it this year. A couple of their neighbors didn't like the traffic congestion it caused, and there was a good amount when we went there, and had threatened them with a lawsuit.
Overall, find things like this very disappointing. I mean, it is Christmas, where is the Christmas spirit? Second, it is cool! It is an amazing thing to see. And they do it to raise money for Food for Families, a local charity. Last year, they raised $15,000.
This happened to this house in San Jose that used to do a large light arrangement. Their neighbors petitioned the city to force them to stop. As a result, the next year, they put up a giant Grinch pointing over at their neighbors.
The update for the place in Sacramento says they might be looking for commercial space next year to do it at, though it just wouldn't be the same. Such a shame.
Nick Bits for November 16th
In the spirit of Dave Burke's normal "Bits" posts, figured I'd have my first "Nick Bits" to give quick updates on the happenings in his eventful life.
As a given, this post is going to be littered with links to pictures. Can't really help it.
- Seven weeks! Where has the time gone?
- No longer in newborn diapers! His newborn diapers no longer fit! We finally had to move it up to size 1 diapers… so much bigger than the newborn diapers, though I know he will continue to grow even more.
- Hanging out on his own. He has gotten to the point now where we can set him down in his little papasan chair by himself and he'd be ok. He likes to grunt and kick a lot, but is content hanging out on his own for awhile. We usually stick around and talk to him and all, though sometimes he just wants to be held and will raise a little fuss.
- Starting to smile! Ohh yes, he is starting to show his smile. He has a pretty cute one too.
- Nice walk. Took some time off yesterday and today, so yesterday we went for a walk to a park nearby. He was looking pretty good (extra word).
- In his crib! Today we had a little experiment to see how he was in his own crib. Not going to have him sleep over night in it, but want to get him used to being in it. So start putting him in there some while he is awake, then put him in there for some naps, and get him used to being in it before putting him in it overnight.
Value of site monitoring
As it has been previously establish, I handle a couple of servers and a small network in a Sacramento datacenter. I had set up all kinds of internal monitoring on bandwidth, server health, etc. But one thing I never did before was to setup external monitoring. Site monitoring can be invaluable to help manage your site and the services you use.
The reality, things do go down from time to time. Most of the time it is for maintenance purposes (or at least, it should be). However sometimes, things do go wrong. Having quality site monitoring gives you instant notification (if it is something you can handle), history of information on outages, and can even help you keep a provider tied to their Service Level Agreement.
I recently signed up for monitoring with Pingdom, which offers attractive pricing for multi-site monitoring (since one location is never enough), and also monitoring with checks at 1 minute. These are two important points.
First, most others will offer ever 5 minutes standard, or you can pay extra for 2 minutes. 1 minute resolution gives you the absolute fastest notification, and can pickup the smallest outages. With 5 minutes, you could almost reboot a server in that time. That is a definite outage, but it could completely miss it.
The second important thing is multi-site monitoring. This is a necessity. Over the weekend, my server had its first actual network issue. It was outside of my control, but basically, I get access from two providers: Qwest and Verizon Business. Verizon was having some network issues in the Sacramento area that was causing traffic coming in through them to be dropped, but traffic from Qwest was fine. This caused a sort of brown out. Server was accessible depending on which route traffic was coming in from. With site monitoring that only checked from a single location, it could show the site as operating just fine. However Pingdom offers like 7 worldwide locations they check from. This allows for high certainty of its accuracy.
On top of that, you can purchase additional service checks for only $0.50/month, so I have all my main services monitored, and even several of my upstream provider's services monitored, so in the event this happens again, I'll clearly know if it is within my network, upstream, and narrow it down right away.
May sound like a commercial, though Pingdom really is quite cool. They even give response times on all checks for some basic historical performance data.
Most unusual side effects
The other night, was watching TV with Trish when one of the dozens of prescription drug commercials came on. Normally just ignore them, but one part of caught my ear.
It was a commercial for Miraplex, which treats restless leg syndrome. The side effect was that users "may experience increased urges for gambling". Gambling?
I think that one is easily explained. Someone in their trials went out to Vegas, Atlantic City, or somewhere like that, lost a bunch of money, and then came home and said the drug made him do it in order to get out of the dog house with his wife.
They have two other interesting side effects: compulsive eating and increased sex drive. Interesting. Is one of those really bad? I mean for some people, Miraplex could take the place of Viagra.
First Eggnog Latte of the season!
Ohh yeah, one of the main things I love about this time of the year is Starbuck's holiday drinks, including their eggnog and gingerbread lattes.
In store, I was told they weren't going to have them until November 8th, but I think that was when they're officially offering them, with signage and all. Luckily, my sister works at a Starbucks down in Fullerton (by LA) and she had told me that her store was supposed to have all the stuff for them on November 2nd.
So this morning I figured it'd be worth a shot, so I went in and asked if they had them yet, and sure enough the barista said they do! Now I am enjoying my first taste of the holiday season with my venti no whip extra hot eggnog latte.
Disappointing Blackberry
I must say that this morning, I was rather disappointed in Blackberry that they still haven't straightened out the whole daylight savings system. I mean come on, you would have thought that was solved back in March.
Woke up this morning, just like any Sunday, got ready, headed out to church, and then afterwards we went by Starbucks for some coffee and a bagel with my wife's parents. Before heading to Starbucks, I remembered hearing my father in law telling my mother in law that it was just after 10am, which made sense since mass started at 9:15 (they are quick). But then while sitting in Starbucks, about to leave, I check what time it is on my Blackberry and it says 9:45am. I'm like, ok, what the hell? My father in law looks at his phone and it says 10:45am. Now we're all confused. Which one is right. Did we change time today? No, no way we could have, we were on time to mass, we would have been an hour early if it did. Ok, so why did my phone decide to change today?
Low and behold, 7 months after the whole fiasco with the new dates for daylight savings, Blackberry still seems to have missed the mark. Today was the normal day for the time change, however with the new dates, it is actually next weekend.
This was a rather annoying flash back to March, when on the day the time changed, my less-than-intelligent phone didn't automatically update, so I had to manually set it ahead an hour, and then two weeks later, when the old date would have been, it jumped ahead another hour.
And so now, I need to manually set my phone ahead an hour so that it remains accurate, and then remember to change it back again next weekend for the actual time change.
I am rather disappointed that Blackberry doesn't seem to have gotten this resolved. Will I have to deal with this next year, assuming I still have this phone? I know the phone regularly downloads updates through the network, since I've seen it wake up and restart in the middle of the night before (including once before a flight in the morning to Dallas, which made me nervous since I was using the phone as my alarm clock).
Now I know this post will invite a bunch of "get an iPhone comments"… inevitably. I would like an iPhone, except: (1) only Cingular/AT&T (can't make their mind up on who they are), and their coverage is not the best here, (2) no 3G, only EDGE, (3) from what I've heard, it is a little underpowered. Maybe I'll get a 2nd gen, which by now is only 6-8 months away.
Until then, just be stuck with my Blackberry and bad daylight savings roll over dates.
Moved to Windows Home Server
It was not even a year ago that I setup my home NAS server complete with RAID, however now I am abandoning it. Previously, I had disliked Windows Home Server's idea of redundancy, however some recent events with my not-as-trust Infrant ReadyNAS NV have changed my opinion.
About two months ago, I had a little issue with my NAS storage box. I was out over town over the weekend and when I came home, I found that the unit was off. No power had gone out, since no clocks were blinking, but the box was off, and when I pushed the power button, it wouldn't turn on. Took it out from behind my monitors, blew out the dust, and then it worked. Was confused why that fixed it, but hey, it was working again. However, over the next week, I started smelling something occasionally in my office that smelled like burning potatoes. It smelled like it was coming from my ceiling fan (though turns out it was the ceiling fan blowing down the bad smell it pulled up from the NAS area)… after a week of having the NAS back up, it was broke again, and this time for good.
It turned out it was just a blown power supply, and it was somewhat common the model I had. I ended up fixing it by popping out its proprietary PSU and replacing it with a normal big-ass ATX PSU, since I found all you needed to do for them to be compatible was snip a little wire it didn't use (used a cheap spare PSU I had laying around). This brought up several problems with this type of box though.
First, it is entirely proprietary. Custom power supply, custom hardware, custom build of some Linux distribution, integrated RAID controller… nothing is end-user swappable. Compare that with a home-PC based storage system. Dead PSU? Ok, run to Fry's, by a new one, done. Dead motherboard? Get another. Dead CPU? Get another. Some may be bigger headaches to get up and going, but for the most part, no need to RMA the entire unit.
While it supports RAID for hard drive redundancy, everything else about the unit is a closed box. When the unit was broken, there was no way for me to access my data. I couldn't plug the drives into another system. I couldn't pull the controller out and access the array on another system. Nothing. Your data gets locked to that device. To get access to your data, you have to get the device running again. This sucks when you store all your important data on there.
All this made me take another look at Windows Home Server. Its idea of redundant storage is to just keep two copies of the file. Have a hard drive die? No problem, it can rebalance its storage and ensure another copy of that data is somewhere. Want to add more drives? No problem, plug them in (can't exactly do that once you have all 4 drives in on the NAS solution). With its "two copies" idea, it is basically RAID1, but without the dependence on a RAID controller. Say you have a total system failure with WHS and need access to some of your data. All you have to do is plug that drive into another system. It is just a regular NTFS partition with some special directory structure. Just go to the drive, Shares, Photos, and boom, there is the Photos share. Additionally, even though you will get 1/2 your drive capacity with the "two copies" method, you have to face one ever growing reality… storage is cheap! Run out of space? It is pretty easy and rather inexpensive to add another drive. You can get a 500gb hard drive for ~$100 nowadays… so for $200, you have 500gb of redundant storage with WHS. $0.40 a gigabyte? Not too shabby.
On top of that, I can now backup all the PCs in my house nice and easily (as opposed to buying several copies of Acronis TrueImage).
What's next? Maybe when I find some free time, I'll write up a little add-in to WHS to support remote off-site backups with rsync or some other continuous backup software.
Microsoft Money online service expiration?
Lately I've still been using Microsoft Money 2007, however I had never installed their stupid internet update patch and I'd noticed some issues lately with not being able to download updates. I figured they were phasing out the old service, so I would need to finally install the updates.
Then I was searching online to find their instructions for installing the updates and ran across their Online Service Policy, which states:
Microsoft® Money 2007 includes up to two (2) years of Online Services. You will be able to use the Online Services in Microsoft Money 2007 for a period of two (2) years from activation of the product or until September 1, 2009, whichever is earlier. After expiration, if you elect not to upgrade to the then-current version of Microsoft Money after the Online Services period ends, you will not be able to automatically update your accounts and investment values in Microsoft Money 2007.
Now that nuts. I know they had phased out some of the earlier versions, but it never really hit me that they'd be phasing out my version, or that it was actually already planned and enforced based on my purchase date. So based on this, I can only update my accounts online for about 10 more months? And then I'm cut off unless I do their forced upgrade? That is just ridiculous to me. I have no interest in upgrading at this time, and I don't really want to have to in the future. Each version of Money gets incrementally worse not better.
Goodbye Money, hello Wesabe, and I mean for good. I am done with Microsoft Money. I don't care how painful it is, but I am 100% done with MS Money from now on. Tonight, I'll switch over all my online bill pay from Money to my bank's website, export all of my accounts, and import them one by one into Wesabe. Then over time, I'll be sure to get all the transactions named and tagged.