Home > Blogs
An early Christmas present from our friends in Redmond! Beginning October 1, 2008 subscribers to VSTS Developer Edition and Database Edition will have access to the additional SKU. This was reported this week over at the MSDN VS 2010 & .NET Framework 4.0 overview page, but you don’t have to wait until Visual Studio 2010 is released.
Well that is just an awesome announcement and kudos to MS for listening to the community feedback about the multiple hats people wear on projects. I’m sure that this will lead to more teams actually using the Database edition functionality on their project which offers great source code integration for their database scripts not to mention T-SQL unit testing and test data generation.
Oh where did the summer go? Not spent blogging. My life was turned a bit upside down this summer. My expectant wife Caroline was hospitalized for pre-eclampsia (high blood pressure) for 2 weeks, and when she did get released – she was put on bed rest. Caroline has been a stay-at-home Mom for the past 9 years so I had to learn her ways of keeping the wheels moving with two busy daughters during the summer months, not to mention hospital visits to see Mom once or twice a day.
I picked up the Rogers Portable (Wireless) Internet service so Caroline and I could both keep up on email while at the hospital (no cell phones allowed). It wouldn’t penetrate our new windows in the house, likely because of the low-emissivity coating on the glass but it worked fine from the Oakville hospital.
The situation for high-risk pregnancies in Ontario was quite grim this summer. There few hospitals equipped for a high-risk/early delivery (i.e. not Oakville) were quite full and they threatened to move us to as close as Credit Valley in Mississauga, to downtown Toronto, to Montreal, Winnipeg (yuck), or even Detroit or Buffalo. I can’t believe the lack of capacity in our healthcare system – it’s embarrassing.
Anyway, after a couple of weeks at home, pre-eclampsia was turning into eclampsia so they decided to do an early delivery (just under 7 months). We picked the right day (July 14th) as we managed to get a spot at the nearby and wonderful Credit Valley Hospital. Our baby was breech so they had to do an emergency cesarean section delivery. We were blessed with another baby girl weighing 4lbs, 14 ounces, not bad for a 7-month old. As usual, we didn’t have a name picked right away so I nicknamed her Buttercup. The nurses quite liked this and made a special name card for her isolette.
Caroline’s blood pressure was still pretty high and she had a dedicated nurse bedside for the next 24 hours taking her blood pressure every 5-15 minutes as they loaded her up on various blood pressure medications including magnesium sulphate. After 24 hours she was well enough to be moved to the regular labour & delivery unit. Caroline was in the hospital for another week, which wasn’t too bad since she was able to visit Baby Buttercup as often as she liked.
Caroline had received a steroid shot for lung development when she was first admitted a month ago so that really helped with Buttercup’s lung development. Buttercup still needed oxygen for the first week or so to keep her saturation up as she breathing very rapidly and shallowly. They kept her on IV fluids and then added a nutritional supplement for the first couple of weeks before they started feeding her *** milk with a nasal tube. After almost 4 weeks in the neonatal intensive care unit at Credit Valley we were finally able to bring her home. By this time she was fully breastfeeding and was about 6lbs and gaining weight every day.
I don’t think I’ve spent as much time in a hospital my entire life as I have this past summer, but we are very thankful that everybody is now home together and healthy. Claire and Fiona adore their new baby sister – now named Maeve Juliet, and as of today' she must be well over 8lbs.
As if this wasn’t enough, I started leading a new project in July with a few of my O# colleagues. It’s a rich client in .NET 3.5, WPF front end connecting to SQL Server through a ADO.NET Data Service (formerly Astoria) sitting on top of the Entity Framework. We’re using elements of our own framework as well as portions of Enterprise Library 4.0 including the Unity IoC Container, Composite Application Library (CAL) and the Validation Application Block. Of course we’re also using VSTS including the database edition and using TypeMock here and within our unit testing.
As you can imagine, a tremendous amount of the application is declarative, not just architecturally, but also programmatically with liberal use of LINQ queries throughout. We’ve started to see some really great productivity now that the architecture is stable so I’m looking forward to resuming regular programming here with some tales from the trenches.
With all this heat, I almost wrote "perspiring". Why not beat the heat, and stay cool inside while watching these web casts from MS Canada targeting aspiring architects. With the predicted shortage in IT in the upcoming years, we're sure to see an influx of junior resources into our industry. This is a good opportunity for developers to transition into architecture roles to leverage their existing skill set.
The Aspiring Architect Series 2008 builds on last year’s content and covers a number of topics that are important for architects to understand. So it would be a great idea to watch last year's recordings if you haven't already. Links are available here: http://blogs.msdn.com/mohammadakif/archive/tags/Aspiring+Architects/default.aspx .
Upcoming sessions are as follows:
June 16th, 2008 – 12:00 p.m. to 1:00 p.m. – Introduction to the aspiring architect Web Cast series
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380836&Culture=en-CA
June 17th, 2008 – 12:00 p.m. to 1:00 p.m. – Services Oriented Architecture and Enterprise Service Bus – Beyond the hype
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380838&Culture=en-CA
June 18th, 2008 – 12:00 p.m. to 1:00 p.m. – TOGAF and Zachman, a real-world perspective
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380840&Culture=en-CA
June 19th, 2008 – 12:00 p.m. to 1:00 p.m. – Services Oriented Architecture (Web Cast in French)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380842&Culture=en-CA
June 20th, 2008 – 12:00 p.m. to 1:00 p.m. – Interoperability (Web Cast in French)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380844&Culture=fr-CA
June 23rd , 2008 – 12:00 p.m. to 1:00 p.m. – Realizing dynamic systems
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380846&Culture=en-CA
June 24th, 2008 – 12:00 p.m. to 1:00 p.m. – Web 2.0, beyond the hype
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380848&Culture=en-CA
June 25th, 2008 – 12:00 p.m. to 1:00 p.m. – Architecting for the user experience
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380850&Culture=en-CA
June 26th, 2008 – 12:00 p.m. to 1:00 p.m. – Conclusion and next steps
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380852&Culture=en-CA
Last week at TechEd I gave a talk about building data access layers with the Entity Framework. I covered various approaches from not having a data access layer at all, to fully encapsulation of the entity framework - and some hybrid approaches along the way.
I gave the first instance of this on Tuesday and then a repeat on Thursday.
To those who saw the first instance of this on Tuesday....
you unfortunately got an abbreviated and disjointed version for which I apologize. After I queued up my deck about 15 minutes prior to the talk I left the room for a minute while people filed in and while I was out, one of the event staff shutdown my deck and restarted it running from a different folder on the recording machine and didn't tell me. I was about 1/3rd into my presentation when I realized that I had the wrong version of the deck. At the time, I had no idea why this version of the deck was running so I wasn't going to fumble around looking for the correct one. Given a change in the order of things - I'm not sure if changing decks at that point would have made things better or worst. I still had no idea why this had happened when I gave the talk again on Thursday but when the same thing almost happened again - this time I caught the event staff shutting down my deck and restarting it again (from an older copy). Bottom line, sorry to those folks who saw the earlier version.
The complete deck and demo project is attached. It is a branch of the sample that is part of the Entity Framework Hands on Lab that was available at the conference and which is included in the .NET 3.5 Enhancements (aka SP1) training kit. You can will need the database for that project which is not included in my down.
Download the training kit here.
About a month ago, Live.com released an update to their search engine and I took it upon myself to write down my observations of Live as compared to Google. Although the features seemed to be a pretty good leap in many areas, I concluded that the only way to see which one was better was to change my default engine to Live.com for a week or two and give it a try.
Well, it's been a month now and Live.com is still my search engine. It's not like I didn't stop using Google however. I would say that perhaps 10% or less of the time, I felt frustrated by not finding what I was looking for on Live.com and cross-searched Google.com. Of those cases, I would say only half of the time, I found something useful on Google.com that wasn't found on Live.com. These aren't hard numbers, just an anecdotal feel of my experience. When Google.com was my default search engine, my failed searches were likely in the same order as was Live.com's ability to result in something useful where Google.com did not.
So the verdict for me is that in the area of core test searches, the differences were negligible. At no time did I feel that live.com's performance was slower and I always found the image, video & map search to be superior in Live.com. These features alone for me are reason enough to leave Live.com as my default for the time being.
ObjectSharp is going to experiment with some Live.com ads. I'm not expecting any kind of serious traffic to come through ads on Live.com so this is mostly a research project to get familiar with their ad engine.
Are you a design & mac user in a Windows Development Shop? Are they eyeing your Mac and measuring your desk to outfit you with a new PC? Over your cold dead corpse I bet. No worries. You owe it to yourself to check out the Microsoft Expression Professional Subscription. Yeah, you could run Bootcamp but then you'd loose the OS X & Quicksilver goodness while you paid the bills.
This annual subscription's most important piece of software isn't made by MS: Parallels Desktop for Mac. Parallels will let you run Windows Vista or Windows XP (also included with the subscription) without leaving OS X - better yet with Expose, your desktop will be unified. And with the SmartSelect feature, you'll be opening Mac or Windows files in the OS of your choice automatically. Edit XAML files in Expression Blend (also include) in Windows, but open JPEG's in Photoshop in OS X - regardless from which OS you launched the file from. Very cool.
Here's the complete list of included software
- Expression® Studio
Which includes Expression Web for aspx/css/html stuff, Blend for WPF/Silverlight/XAML stuff, Expression Design for illustrations & graphics, Expression Encoder for media encoding, and Expression Media for asset management. - Visual Studio® Standard
Just in case the .NET guys make you check stuff into source control. - Office Standard
- Office Visio® Professional
For those workflow diagrams and ugly mock ups that the dev guys send you. - Windows® XP
- Windows Vista® Business Edition
- Virtual PC
- Parallels Desktop for Mac
And just to make things even easier, they've already included some pre-configured virtualized servers in the box as well - that will save you some time. Current pricing is about $1000 USD for the first year. This won't be available for a few weeks, but visit here to learn more.
And if you're trying to learn more about WPF and Silverlight, check out our new Windows Presentation Foundation (WPF) for Developers & Designers course. Rob Burke, our User Experience (UX) practice lead talks more about this course here. And finally, check out Rob Windsor's post on our Summer Seat Sale to learn how to save up to $500 on our training this summer.
Well it's just 1 week since DevTeach came to Toronto for the first time. What a great conference and it was my pleasure to be involved as a speaker, track-chair and attendee. The conference organizer Jean-Rene Roy just sent me a note with some of the comments from the overall evaluations. If you didn't attend this year, here's some reasons why you may want to next year:
Great conference! I especially enjoyed the up and personal nature of the conference. I was able to talk with the presenters. I spent most of my time at the agile track. Having topics that are rarely dealt with at user groups was a bonus. I enjoyed all the sessions I attended. The venue was great and the attention to little details, e.g., afternoon ice cream was appreciated.
Jean-René, thank you SO MUCH for bringing DevTeach to Toronto. It was fantastic and I will go again. Your tech chairs did a great job choosing sessions for each track. While I especially enjoyed the Agile sessions, I attended something from each track and the variety was good.
An outstanding conference! All the speakers I saw were terrific — affable, down-to-earth, talented, incredibly knowledgeable. The sessions were entertaining as well as in-depth and honest — no BS, no company line. I also met many people and had many interesting and thought provoking discussions outside the classrooms, and came away with new knowledge, ideas and inspiration. “Training you can’t get anywhere else” is an understatement.
Most of the speakers tell us 'why' and 'so what' instead of 'how'. This is what I expected and is good for developer in the long run. Please let speakers know this is good.
This is an excellent conference. I feel I updated my skills intensively effectively during these 3 days. I believe it will become a key event in .net area.
DevTeach was an amazing experience, especially for first timers. It was a good way to network with people in the industry, learn new techniques, make friends and bring home stories.
This was my first DevTeach and if I have any say in the matter, won't be my last. I had a great time, the sessions that I attended were top notch for the most part. Jean-Rene and his team deserve a hugh pat on the back for their efforts. What-ever they're getting paid - isn't half enough
What can I say. You'll definitely see me next year. I hope its still in Toronto. This was one of the BEST training conferences I've been on in quite some time. The "take-away's" from all the sessions were astounding. My mind is still spinning. Anyway, great job, nice prizes, great orgranization, absolutely no negative thoughts or comments.
This was a fantastic experience, MUCH better information than what I got from TechEd last year. TechEd's information was very visionary, things I can talk about now but not use for a few years out. DevTeach taught me things and gave me ideas I can use NOW! I LOVE THAT! The presentators were awesome, professional and very gifted at presenting their material. The only suggestions I would make are to have hot food every day (cold cut sandwiches are fine, even suggested for people at the Pre/Post Con but not for the actual event). More evening sessions (like at TechEd). I would have liked to have seen a presentation on MSBuild. PS You should have a value for the drop down of NA for hotel and accomodations if you didn't stay at the hotel.
It's been awhile since I've posted any updates on my Toshiba M400. Over the past year, my experience running Vista has improved greatly and I've been surprised with my efforts on extending the useful life of this machine. For the record, it's > 2 years old for me now which is starting to breaking records for me now - I normally can't go much more than a year without an upgrade. The bottom line is with things the way they are now - I'm quite happy with the machine and haven't really envied anything on the market.
- I'm running the latest 3.60 bios which is pretty stable now, having not been updated since it's release in July 2007. Although I can't get to page 3 in the bios settings (it locks up when I do that) things are working quite well.
- I upgraded to 4Gb of Ram. A little over a year ago I looked into this and it was going to set me back $1500+. This past march, it only cost $100. This probably had the single biggest improvement on usability in Vista. I was surprised that going into vista's Computer properties screen - it actually showed 4gb - and yes, running under 32-bit. I could tell in Task Manager that I was only getting 3.25 - but I was still surprised. At some point a windows update came through and now it only shows, correctly, 3.24gb. The bottom line here though is that for $99 - nobody should hesitate - the pay back was huge in terms of responsiveness.
- I also upgraded the internal wifi from 802.11g to 802.11n. This installation is not much more difficult than replacing the Ram and involves removing the keyboard which is quite simple. The only tricky part is getting those bloody antennae wire's snapped onto the circuit board. This upgrade cost $40 for the intel 802.11n card and installed in less than 30 minutes. I also upgraded my home router in conjunction with this upgrade. The throughput improvement was huge. My signal strength also improved greatly. My home office is in the basement (where my router is) and when I'm not in there, our family room is 1 floor up and somewhat diagonal from the home office. There are 2 or 3 walls through a stairway and a floor between where I normally sit and the router so signal strength was always marginal. No problems now and speed is at least doubled.
- I had purchased 2 100gb sata drives (7200rpm) to replace the internal drive and to put in the HDD Adapter tray. This is great for running VPCs. I've just ordered a new 7200rpm 320gb drive since I was finding 100gb a bit tight. I was hoping that performance of SSD would have come along faster (and the price too) but I'll have to wait for that. New drive is still a week or two away.
- I had my two laptop batteries refurbished at Ink Jet Sales. They take your batteries - put in new cells, for $85 and a 1 week wait. I wouldn't say they are as good as when I first bought them, but they are pretty darn close. Compared to the $200 Toshiba wants for new ones, this was a good deal. I also purchased an external toshiba charger that can charge 2 batteries externally from the laptop.
- As you may have recalled, my CMOS battery had mysteriously died and my clock was never right. This happened around the upgrade to Vista so I was a bit suspicious. It's amazing how many bad things happen when your clock is a day or two old. Many servers won't let you connect to them, VPCs get all wonky, etc. It was really hard to find a replacement battery - and this being a US laptop, living in Canada - the warranty fix was going to take close to a week. I could never do without my laptop for that long. Yesterday however, a battery showed up and our trusty IT magician, Max, took apart the laptop and got it back together. The RTC battery is nestled under the motherboard so he literally had to take apart everything. The step-by-step instructions here were invaluable. It took him about an hour and all things went smooth. I wasn't 100% convinced it was the battery that was causing the clock issues - but 24 hours later and it seems to have been the fix that was required. A nice side effect is that this repair requires the LCD and the hinge to be disconnected. After reassembly - the hinge is now as tight and firm as it was the day I bought it. It had become a bit loose over the past couple of years.
- I picked up a new 28" monitor a few weeks ago for the home office and had not stopped to think if the M400 could drive the 1920 x 1200 resolution until I started unpacking it. I hadn't used an external monitor for over a year and the last time - I couldn't get it to drive the 1600x1200 resolution of the monitor I had at that time. A bios update fixed that - but I still couldn't run Vista with Aero Glass when both displays were active. Much to my surprise however is that it has no problems with the full 1920x1200 resolution with Aero Glass. I suspect that new graphics drivers from Intel + the left over ram between the 3.25gb used by Vista and the 4Gb available has something to do with that.
All in, I'm very content with this laptop these days. Performance is great and you can't beat the package size. I still have troubles finding a 12.1" laptop with 1400x1050 resolution these days. Heck, I have troubles finding this in 13 and 14 inch models as well.
I use just about all of the features of this machine on a day to day basis including the tablet functionality and I've fallen in back in love with this machine.
My only complaint - and it's my fault, is that the screen is quite scratched up and pitted these days. If somebody has a M400 with the 1400x1050 laptop that isn't working (but the screen is in good shape) I'd love to buy it off you. I know a lot of MS employees have (or had) this machine - so if any of you have one lying around and they want to get rid of it - drop me a note at bgervin@objectsharp.com.
Live Search got a refresh recently and it's actually pretty good, dare I say may be even better than Google.
- Performance: The load times are very snappy now and it feels pretty much on par with google performance.
- Image Search: Functionality on Image Search has been superior for some time with the ability to size the thumbnails and I quite like the "add to scratchpad" feature but wish it was available for video and web content as well. The ability to refine the search by size, aspect ratio, colour, Style (photo vs. illustration) and Face (i.e. head & shoulders, just face, etc.) is brilliant. It's not 100% accurate, but it is still quite useful. Google can do a subset of this, but frankly, never noticed it until I went looking for it. These features are more discoverable in Live. I have to say that I'm in love with the fact that I can preview the context of the pages split screen so I don't leave my list of results. As far as relevancy goes, I'm going to have to give it a try for a week. Google does a better job finding pictures of me, but Live does a better job of finding black & whites of Darryl Sittler. Live found 12 good b&w's of the Sitler while google found absolutely nothing of relevance. Unfortunately, Live fails my vanity image search and google prevails with more pictures of me.
- Video Search: I honestly have never used video search on live or google until this blog entry. Live has a nice feature where it can play videos from the results page by just hovering over the thumbnails. It can't do it for every video type, some you have to click on but it is a lovely feature when it works which from what I can tell is about 60% of the time. Google only manages to get 10 thumbnails per page where live gets twice that. Live brought back a few extra total results. It seems like google favours primarily youtube.
- Map Search: Mileage seems to vary greatly depending on where you are searching. Live has the great integrated 3D maps with buildings, contoured terrain and birds eye view vs. google with street view as it's killer feature. For Canadians, google hasn't made any of these features available yet. Live has thrown us Canadians a few bones with birds eye view available in Vancouver, Calgary, Toronto, and Montreal. Live also gives us some traffic in Vancouver, Toronto, Montreal, and Ottawa.
Live maps has some great directional tools as well. I like the feature where I can just click on a point and ask for 1 click directions - which will give me generic instructions on coming to a location from all major available directions/arteries. This is great if you want to include directions on an invitation but you don't know where everybody is coming from. The Live Map collection editor and the ability to easily add pushpins and draw (with distances) on the map is great.
One thing I do like about Google maps is the ability to take a set of directions and drag segments around to tell it how I really want to get somewhere. All in all though, I much prefer (as a Canadian) Live Maps as the most
- Plain Old Web Relevancy: Plain old web results are perhaps the most important criteria. I think this will be impossible to provide any meaningful observations after spending < 1 hour using live search. I'm going to give live a shot as my default search engine for the next week and see how it does but a few immediate observations:
- Live wins on relevancy for the "Barry Gervin" vanity search, easily. By the bottom of the first page (items 7th-9th), Google is showing results that are irrelevant - in fact, no mention of Barry or Gervin on any of those pages.
- Searching for some things that I know are on MSDN Forums - posted yesterday, google seems to be crawling that site faster than Live. Google still has a dedicated newsgroups search engine. I used to use this a lot more than I currently do so I have mixed emotions about live search. In fact, in some of my tests for searching things that I knew were known to exist in newsgroups, live search actually referred me to google groups - so it does appear that live is indexing the google groups search engine. I think the thing I find most appealing about google groups is not the content that it finds, but the way it presents it, showing me what group a result was found in, and then making the detailed results essentially a web based NNTP client. Live could do much more than they are doing now that's for sure, I'm just not sure that it really matters.
- I'm making more and more use of google alerts to have things I am constantly tracking or researching searched and emailed to me. Live has no equivalent to this.
I'm going to give Live Search a trial as my default search engine for the next week or so and see how it goes. I'm optimistic.
A quick heads up to let you know that VS 2008 Service Pack 1 is now available (links below). It typically takes a couple of months from this point before we'll see a final release.
This Service Pack includes new cool feature:
One interesting point is that MS is going to simultaneously ship SQL Server 2008 which actually has a hard dependency on SP1.
I thought I’d take a moment to highlight some new features that Dev’s would care about in SQL Server 2008.
- Change Data Capture: Async “triggers” capture the before/after snapshot of row level changes and writes them to Change Tables that you can query in your app. They aren’t real triggers as this asynchronously reads the transaction log.
- Granular control of encryption, right through to the database level without any application changes required.
- Resource Governor – very helpful when you allow users to write adhoc queries / reports against your OLTP database. Allows a DBA to assert resource limits & priorities.
- Plan Freezing – allows you to lock down query plans to promote stable query plans across disparate hardware, server upgrades, etc.
- New Date, and Time data types, no longer just DateTime types that you have to manually parse out the time or date to just get the real data you want.
- DataTimeOffset – is a time zone aware datetime.
- Table Value Parameters to procs – ever want to pass a result set as an arg to a proc?
- Hierarchy ID is a new system type for storing nodes in a hierarchy….implemented as a CLR User Defined Type.
- FileStream Data type allows blobish data to be surfaced in the database, but physically stored on the NTFS file system. ….but with complete transactional consistency with the relational data and backup integration.
- New Geographic data support, store spatial data such as polygons, points and lines, and long/lat data types.
- Merge SQL statement allows you to insert, or update if a row already exists.
- New reporting services features such as access to reports from within Word & Excel, better SharePoint integration
Personally, haven't spent any time with SQL Server 2008 but that's a great set of new features that I can hardly wait to start using in real-world applications.
Downloads
· VS 2008 SP1 : http://download.microsoft.com/download/7/3/8/7382EA08-4DD6-4134-9B92-8585A5B07973/VS90sp1-KB945140-ENU.exe
· .NET 3.5 SP1 : http://download.microsoft.com/download/8/f/c/8fc1fe13-55de-4bf5-b43e-375daf01452e/dotNetFx35setup.exe
· Express 2008 with SP1:
o http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vbsetup.exe
o http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vcsetup.exe
o http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vcssetup.exe
o http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vnssetup.exe
· TFS 2008 SP1: http://download.microsoft.com/download/a/e/2/ae2eb0ff-e687-4221-9c3e-9165a942bc1c/TFS90sp1-KB949786.exe
Feedback Forum: http://go.microsoft.com/fwlink/?LinkId=119125