Today was the first day of the training portion of BizTalk RFID solution days (see day 0, 1 and 2). The instructors are Mick Badran of Breeze Training, and Ram Venkatesh from S3 Edge (Ram was the software architect for BizTalk RFID and recently left Microsoft). The class is held on the Microsoft Campus in the Conference Center, Building #33. This is my first time at Microsoft and I'm impressed with the campus so far. We started out with the obligatory introductions and moved right into the student manual to go over the agenda for the class. We will be designing a solution for a "parking garage" with enough features to get a good understanding of BizTalk RFID. Similar to other classes I have taken, we will be using virtual machines for the labs, and there are already completed solution files for each lab. We have been provided with a HF (13.56 Mhz) RFID reader from DLP Design to use in the labs and to take home with us. Module 1 - Introduction to RFID and BizTalk RFID This was an introduction to RFID, RFID technologies and BizTalk RFID. The first couple of slides were designed to make sure everyone had at least a basic understanding of RFID. I would wager that this was review for most people. The remaining slides went into an overview of BizTalk RFID. RFID Tags: - Low (< 135 Khz) - Short range, more reliable for liquids and metals
- High (13.56 MHz) - Short range, less expensive, reliable, slow bps
- UHF (868 to 915MHz) - Good balance between range and performance and pretty cheap.
- Microwave (2.45 GHz, 5.8 GHz) - Fast but expensive. Example is highway tolls.
Microsoft RFID Goals: - Encourage widespread RFID adoption
- Standards
- Best Practices Architecture
- Build an RFID infrastructure
- Event Processing
- Device Abstraction and Management
Key Benefits of BizTalk RFID: - Abstraction of device handling
- Rich RFID event processing model
- Reduce data "noise" and increase data relevancy - Use the BRE to create filters, alerts and transformations
- Robust framework to support agile processes
Additional Notes: - The DSPI has both an application and management contract interface.
- Ram brought up the LLRP in response to a question about standards based protocols between hosts and RFID readers. I talked briefly about this in my Day 0 post. LLRP is a EPC standard, and I would expect to see more and more readers beginning to implement this. As such, it should be pretty easy to find a DSPI that will work with multiple readers. I know Impinj is using LLRP, or is planning to.
Module 2 - Installing BizTalk RFID Services The student manual contains some basic slides on minimum requirements and installation stuff. Nothing really exciting there. The lab was very interesting and provided some great information. Instead of having you waste an hour installing BizTalk RFID, the VM comes pre-loaded with it already. The lab focuses on showing you where things are installed, command line tools, configuration, registry settings, etc. - Default install directory is %Program Files%\Microsoft BizTalk RFID\bin, I will refer to this as %App%.
- It looks like everything you can do in the RFID Manager MMC, you can do from the command line RFIDClientConsole in %App%\Bin
- We were shown how to export the server configuration to XML and and import from xml.
- Server listens on port 7891
- Notable stuff in %App%\Bin
- clusrfid.vbs - Script that returns health of BizTalk RFID service
- RfidServices.exe - Main application which run as a service
- RfidTray.exe - Monitoring utility which runs in the SysTray
- Web.Config - Mainly defines WCF configuration
- Registry
Module 3 - Examining Physical Devices This module was focused around an introduction to the DLP Design's RFID1 HF reader. We setup the USB redirector software which will enable us to connect to the USB based reader in our VM for all future labs. We were also supposed to write a .Net Application using the native drivers in order to illustrate how difficult it is to program devices. I decided to skip that example and move onto lab 4. Module 4 - BizTalk RFID Device Providers This was a pretty easy module where we went thru, registered a provider and established a connection to our DLP RFID1 device thru BizTalk RFID. A sample application was written to "register" a customer with a RFID tag for use in our parking garage solution. So far so good, so far so-so. I would have preferred writing the provider versus the .Net application. An extra lab was provided in this module which showcases the "flexibility" of the provider model. The extra lab implements a file system provider, that is, it "reads tags" from the file system. Basically the tags are just files in side a directory tree. I don't remember the exact story told, but apparently a race team wanted to be able to capture sensor data from a race car. Looking at how the example is implemented, it's trying to force the solution in the BizTalk RFID domain (square peg into a round hole). Don't get me wrong, it's a cool implementation, but it just doesn't seem right. Module 5 - Building BizTalk RFID Processes Processes are respond to events raised by devices in an asynchronous manner. In the lab we created a process that dumped event data into a sql database. This is out of the box functionality and was pretty easy to configure and setup. Once that was done, we created a very simple report in reporting services. Module 6 - Custom Event Handlers One thing you would notice if you were completing module 5 yourself, is that while the storing of data to SQL is powerful, as implemented, it wasn't practical. You stored pretty much the same tag read data 100 times by just holding one of the test tags up to the reader for 1-2 seconds. This is were custom event handlers come in. From the student manual, lab 6, custom event handlers can: - Filter duplicate events (terminate event processing)
- Enrich events with custom data
- Cleanse event data before further processing takes place
- Integrate with downstream processes and services
- Insert tag events into a database and/or call a downstream service.
All of the out of the box functionality in BizTalk RFID at the process level is implemented on top of the EventHanlder model. This model is fully exposed as indicated in this module, and is the supported way to add additional functionality. There are some samples in the SDK and a Code Plex project started by Microsoft with additional event handlers (MSMQ, File, etc). In this lab we created a custom event handler component, add the custom component to an existing BizTalk RFID process and finally explore the use of the Import Process feature. Again, the programming was pretty straight forward. Naturally the incorporation of DAL code in my component brought a frown to my face. While I understand this is just a simple lab, since the DAL code was already written for us, adding it as a separate assembly to promote n-tier design would have been welcome. I finished up the lab with my tag read events getting queued into a Message Queue after getting enriched (matching tag Id to customer information in our customer DB). Now I'm sure we'll get to this at some point, but I wanted to go a step further so I implemented a simple CBR scheme in BizTalk to dump the data to a file location. Miscellaneous Notes - BizTalk RFID server uses MSMQ for "routing" events to processes
- What is ALE - Application Level Events, part of the EPIC standard? A way to publish and subscribe events. Doesn't sound like there is ALE support out of the box, you would have to roll your own.
- Using a piece of 3rd party software called USB Redirector to bridge the USB based reader plugged into the physical host to the VM.
- Review functionality of BizTalk branch edition. It's only $1800 retail down from $8500 retail.
- There is a device simulator in the full SDK of BizTalk RFID.
- Computer Specs used in the class:
- Dell Optiplex 745 (Vista Experience rating of 4.5)
- Intel Core 2 - T6600 @ 2.4 Ghz
- 3 GB of RAM
- ATI X1650
Today was the second day of the conference and it started out on the same foot as the end of the first day. While there were two official tracks, the 3rd track consisting of talking to the vendors, seemed to draw as many people as the presentations themselves.
The first 3 presentations were:
Augusta Systems
This presentation talked mainly about their sensor bridge, a piece of hardware which allows you to connect multiple devices and peripherals to the sensor bridge. The Sensor bridge was then the only piece of middleware you had to deal with in terms of application and communication support.
Lowry
The presenter stated that he wasn't going to do a sales pitch, I think he ended up doing so anyway. At one point there was a slide which talked about the challenges an adopter of RFID must face which included: What labels and tags to use; where to apply the labels and tags; what hardware to use; compliance standards set by DoD and Wal-Mart. Of course Lowry can help you address all that. At the end, there was a slide with all the customers of Lowry, and an audience member was from one of the companies and asked what Lowry did for them. The presenter had no idea. Note to presenters, make sure you can talk about the stuff you put on your slides.
Avery Dennison
Avery Dennison talked about a solution they implemented for a supplier of Boeing in order to drive RFID down from the Tier 1 suppliers to the Tier 2 and beyond. They also touched on their customer focused initiatives which include RFID FastTrax (RFID process improvement and consulting), and their RFID System laboratory.
Freedom Shopping
The lunch time presentation was done by Freedom Shopping, who have implemented an RFID retail POS solution to allow for unmanned stores. I was impressed by the presentation and solution presented by Freedom Shopping.
Freedom Shopping has 7 patents pending covering their RFID checkout process, and 2 "products". The first is a turn key solution, which allows new store owners to get up and running quickly. The second is an OEM solution which is more suited for existing stores to slowly transition into RFID.
Some interesting facts I found out about their solution:
- Running Windows XP on their Kiosks. Their demo running at their booth was actually running on Vista.
- Retail cost of their Kiosk (I'm not sure if this is for the full or 1/2 size) is $20,000, compared to $70,000 for a bar coded self service checkout
- Mentioned the cost of their tags were around 13 cents and use a modified Alien Squiggle
- They are tagging everything in the store, down to a pack of gum which sells for 99 cents.
Cathexis
After lunch I moved from the main room to the secondary room to hear Cathexis talk about their RFID-based Event Management System. The presenter was by far the best of the conference and kept me interested from start to finish. While he was ultimately pitching thier product, it really wasn't mentioned until 30 minutes in.
The presentation started off with the conclusion (first time I've seen that), which had 4 points: Change Happens, Solutions are deigned to encourage specific attendee behavior, Trend analysis is at the heart of finding ROA in RFID, Solutions are tailored from small to large scenarios. Some of the benefits of their solution include: Real time traffic management, real time notifications, automated floor traffic analysis, promotions and data driven advertising.
Unfortunately I did not win the Xbox 360/Guitar Hero 3 combo they were giving away (and I walked past their booth so much).
The End
The last presentation was by Daenet, a German software company specializing in SOA, and RFID on a Microsoft Stack. They are also a member of the VSTS Inner Circle which I had never heard of before. What I took away from this presentation, was that my interpretation and implementation of SOA is shared by this company, which means I'm probably getting it right.
Tomorrow starts the hands on training and I can't wait. We even get our very own RFID reader to practice with and take home. I have no idea what time the class starts. I got an email stating we were supposed to be informed at the conference, but I must have missed that. I'm guessing we won't start before 8, so that's when I'll try to get there.
Today marked the official start of the BizTalk RFID Solutions Days conference. Showing up for the pre-conference reception was a good idea as the registration table was packed in this morning. Breakfast, lunch, afternoon snacks (including ice cream treats) and dinner were provided. There was no free WiFi available. It is possible that if you had a room at the hotel that you got access, but I saw plenty of people paying for WiFi though out the day.
Anush opened up the conference with a short welcoming presentation. His key point was that the goal of BizTalk RFID was to make it as easy to hook up RFID hardware, as it was to attach a mouse or other USB device. That is a pretty lofty goal, but from what I have seen and read, they are well on their way to accomplishing this. I will be able to comment more on this after I complete the training classes on Wednesday and Thursday.
Key Note
The keynote was delivered by John Fontanella from AMR Research, a company that specializes in researching technology for it's customers. This was a very good presentation about RFID as a technology, process and it's uses in business. John provided some good information which indicates that RFID will really start growing in another year or two.
Like RFID, barcodes faced a slow adoption process, going back to 1975 where an article in a grocery store industry magazine had a quote asking where the value was in barcodes. Now barcodes are everywhere and I doubt my generation even remembers a world without barcodes and from the numbers presented, we are headed the same with RFID.
One of the key points in the presentation was a claim that we have reached the "tipping point" of RFID, but that no one has really noticed yet. The evidence to support this is as follows:
- AMR is seeing an increase in the number of RFID inquiries
- Big Technology companies are back in the hunt for RFID solutions. Compare the list of attendees at this years RFID Live conference with years past and you should see an increase in large, well know companies
- Not dependent on Wal-Mart.
- Companies beginning to understand the value of RFID. In 1994, how many companies understood the value of a corporate web site?
- Large customer facing companies are starting to adopt RFID. An example I've seen, and that was brought up by an audience member, is the Ford RFID enabled pickup truck bed targeted at construction workers and companies.
Several slides in the presentation dealt with what is expected in the future, and how it will continue to drive RFID. For example, item level tagging is supposed to really take off starting in 2009, and one of the categories of targeted projects is Point of Sale, which depends on item level tagging. Terso has been doing item level tagging since it's inception a couple of years ago, so mass customer acceptance and familiarity with item level tagging is a positive development.
John made a comment on how in today's supply chains in the United States, that we have a 60 days supply worth of products, and that RFID and improved processes could help reduce how much back stock is in the supply chain, thus increasing efficiency. He asked if we really need a 60 days supply, and speculated we could get down to 7 days worth of back stock.
I actually find some re-assurance in that 60 day supply, as we are all extremely dependent on these supply chains for our survival (we are not exactly a country of farmers anymore). In the event of a wide spread terrorist attack or some kind of flu epidemic, that 2 months of supply chain back stock might actually equate to survival. Perhaps I've watched one to many end of the world movies lately.
Charles Johnson from Microsoft
The highlight of this presentation was the movie that Charles showed at the beginning, in which a product innovation was shown in an end to end solution starting with envisioning to the end consumer. The video starts out showing a formula one race car being monitored (Charles pointed out that Microsoft software is actually used in racing), and the focus shifted to the driver's seat, which is the product that was going to be developed.
The video changes to show a product management team working on a project plan on Microsoft Surface, both mounted on the wall, as well as in the table. Now Charles said that what we were seeing was real functioning software and hardware. Surface was showcased through out the video.
Some other highlights from the video included wearable headsets which overlayed assembly directions on the production line and RFID tracking of products, parts, and tools in the factory. The video concluded showing a end-customer building (on-line) and ordering a new car (which included the new seat), and the CEO using a Surface enabled desk to review sales data.
The rest of Charles's presentation was focused primarily on supply chain visibility and highlighted some Microsoft partners and the solutions they had developed. Some interesting things I picked up on was a hosted service provided by HP that allows BizTalk to talk to SAP via web services, and it sounded like Microsoft used SAP internally rather then Dynamics, but I'm not 100% sure on this.
There was an audience question at the end asking about the cost of BizTalk server (not the RFID version), and also commented that he thought it was too expensive. Charles responded that when you look at a TCO across an entire solution, BizTalk is a small portion of that. He also added that Microsoft is willing to work with companies to define a pricing model that will work for them.
Other
The rest of the presentations where done by some of the sponsors, and pretty much turned into sales pitches and statistical bragging. It's amazing how many different ways you can cut up the RFID solution space in order to claim you are a #1. While there were foot notes on the slides to "independent" 3rd party research, no one used the same company. Therefore, I will make the unsubstantiated claim that I am the number one blogger at BizTalk RFID solution days based on a set of criteria only known to me.
Companies presenting included Xterprise, who I thought was a systems integrator, but is actually a ISV, HP, Motorola, and Impinj. To be fair, the HP presentation was a 50/50 split between their implementation of RFID in manufacturing and supply chain and their enterprise services department. The Impinj presentation wasn't too bad, I liked the way they designed their firmware upgrades, and if their claims on power consumption (27W active power) are true, that would have some benefits.
We'll see what Day 2 holds.
I arrived in the Seattle area today to attend the BizTalk RFID Solution Days conference and hands on training, hosted by Microsoft. I was delayed in Madison due to ice for about 1.5 hours and barely made my connecting flight in Minneapolis, but everything worked out, and my baggage arrived with me.
I'm staying in downtown Bellevue at the Courtyard Marriott, which is a pretty nice hotel. It has free wired hi-speed Internet in the rooms, is there any other measure? The conference itself is about a 1/2 mile away at the Bellevue Westin. I'm just walking to avoid having to deal with parking and a rental car. I guess the weather here today and the next couple of days is unseasonably nice (sunny and a high of 50).
Bellevue seems like a city in the midst of an identity crisis. There are probably 10-15 hi-rise construction efforts underway, with signs indicating another 10-15 will be started soon. I have no doubt that if I were to return next year, I wouldn't recognize the city at all. I guess it's a good sign from the point of view of the economy. I also saw someone showing off a Lamborghini by revving it's engine and weaving in and out of Traffic. What can I say, we don't see many exotics (just our share of Honda Civic's) of those in Wisconsin.
The only other non-conference related note, was a commercial I saw for a place called Dave and Busters. It looks like an adult's version of Chuck E. Cheese, but with allot better food and better games. We defiantly need something like this in Madison, as there are some people out there who prefer to do something other then drink.
Tonight was the pre-conference reception and registration which was a good chance to hit up the vendors in a little less chaotic environment. Registration was easy and straight forward, and we got a really nice Ogio backpack (stylized with company logos). I was actually thinking about getting a small bag for my return flight, as my primary backpack with my 17" laptop was a little too unwieldy for 3 across seating on the plan.
Vendors
First vendor I talked to was Intermec, a manufacturer of RFID hardware including stationary readers, mobile readers, printers, and rugged tags. I spent most of my time talking about the Intermec IF61 (link), a new stationary reader running on top of a Linux OS. While a Linux OS is nothing new, it does come out of the box with Mono, which should allow it to run .Net Framework applications. On the hardware side, it can handle 95-264 V AC power, and has built in B/G Wifi. Intermec is releases a set of web services as part of a firmware upgrade to help with the management of the reader.
Next up was Impinj, another RFID hardware provider and tags. What I liked about them was that there reader API is based off LLRP, and open source project focused on RFID applications. Impinj's implementation of BizTalk DSPI wraps the LLRP (low level reader protocol) implementation. They are presenting on Monday, so I will have more about their speedway reading in tomorrow's post.
Zebra was my next stop and they had two printers on display. the first was a print and apply demo unit which had a clear side so you could see what was going on inside. The second was a standard label printer enabled with RFID. When I asked them about the printer API, they were quick to point out DSPI support, which wouldn't always work for me. Their DSPI implementation wraps the ZPL (Zebra Programming Language) so it is available if BizTalk RFID isn't. Both printers have support for checking the RFID tag to make sure it's readable. For the standard label printer, if a tag isn't readable, it will print VOID on the tag (or anything else you configure).
Cathexis is one of two companies with a drawing for prizes (Guitar Hero 3 and an XBOX 360) and is based out of Canada. Signing up for the drawing incorporated RFID and some of their products, including a HF pen reader, and a long range HF antenna. The pen reader, is an RFID reader about the size of a dry erase marker and in addition to an HF RFID reader also has blue tooth. Our name badges have an HF tag imbedded, so it is scanned by the pen reader and stored in a database. Every time you walk past their booth the long range HF antenna picks up the tag and enters you again. Needless to say, their booth is usually very busy. I think my biggest take away is an idea on how to setup a promotional give away for Terso. Don't get me wrong the Bluetooth pen reader is pretty cool just not very applicable in my current situation.
Three items were the focus of my attention today. Well, rather 2, and the 3rd I just saw over on daily tech and it got me very excited. MSF for CMMI I have been reviewing the process guidance for MSF for CMMI version 4.2 which ships with TFS 2008. I plan on using this process as the foundation on my next software development project. While out of the box it is a bit of an overkill for my team, project and company, I prefer to start with more (process) and remove what I don't need. I also feel that CMMI is a great compromise between management, who is used too, and wants a more traditional software development approach, and the developers, such as my self who are advocating a more agile process. The great thing about MSF for CMMI is that it is written around agile concepts, yet still has processes in place for oversight. The process guidance, is written in HTML, making it very easy to edit and customize it after the project is created to meet your needs. There is a way to edit the template so that it generates the new project to meet your needs, but I figure this way is easier for the first go around. My plan is to make changes to the HTML as needed, and then create a new template. In addition to tracking my changes, you can use a tool like WinMerge to compare your modified document library with a default one. You can access a document library via windows explorer by going to the document library and choosing open in explorer from the actions menu. This creates a UNC path in the form of \\SharepointServer\Sites\SiteName\Process Guidance, which you can supply to WinMerge. I have spent some time going over the default tasks that are created with a new CMMI based project to see what workstreams and activities they relate to, and I think I have a pretty good handle on the first two tracks. I plan on documenting this in a future post. Requirements Oil and Water, Superman and Kryponite, Me and Requirements. I am having some difficulties in creating a formal software requirements specification, using this book as a guide. It's not the books fault (although I wish it hand an end to end case study of a project), but rather a differing of opinion on some of the definitions (which that end to end case study might help with). - Where is the line between Use Cases and Functional Requirements? Use cases look a lot like test plans to some people, and have a tendency to add test plan like information to them, which I feel is incorrect.
- Where is the line between systems and users in the use cases?
- How much detail is the right amount of detail?
Similar to my quest to gain a better understanding in the use of TFS and the MSF for CMMI, I'm going to have to put some time into researching (primarily looking for examples) software requirements. In addition to the book, which we now have 6 copies of at work, I found this website with some additional templates, as well as fairly detailed article on writing requirements from the perspective of a technical writer. There appear to be some good articles over at wikipedia as well, such as Requirements Analysis and Use Cases, and Use Case Diagrams. Someone today asked the question about how do all the use cases get related, and I believe the answer is the use case diagram (at least one use for a use case diagram), as illustrated in the example on Wikipedia. I hope to be able to report back with some answers to my questions sometime in the future. NVidia Application Processor Daily Tech had an article on the NVidia APX 2500 application processor which is designed to add hi-def capabilities to mobile devices. The article states that NVidia has been working with Microsoft, so once can assume (as does the author of the article), that this is destined for a Windows Mobile application. I've really been giving my HTC Mogul a work out and have always wanted a all in one device (video, mp3, phone, PDA, etc), so I am very excited about this. Since I have a bias against Apple, I am not a fan of the iPhone, although I can appreciate and respect what it is. This gives me some hope that my next Windows Mobile phone will be a force to be rekon with. In addition to smart phones, I can also see this making it's way to other embedded systems, especially something like a mall kiosk. This brings me to the second reason that I am excited, and that is, my current software project is all about embedded systems running Windows CE. I have some future customer requirements that could take advantage of the functionality provided by this chip.
Back in September I wrote a blog post title Collaborate with Myself, in which I talked about various ways to write down and store information, as well as syncing that information between multiple computers. I wanted to take some time to write an update. Of all the software I blogged about, OneNote, Groove and Live Writer are probably the one's that I have used the most in the past 5-6 months. What am I Using Groove Currently I have 5 workspaces: IE Favorites, KeePass, Live Writer (Drafts), OneNote Notebooks, and Work Documents. I have had very few problems syncing between 2 computers, and only a couple of times were there were conflicts, primarily a result of groove not running on one of the computers. IE Favorites are kept in sync, although sometimes the order in which they are displayed is not the same. The first time this happened, I thought that syncing wasn't working at all. KeePass is a great program to store passwords in. I maintain 3 password "databases" and all 3 available at work and home. With Live Writer, I sync the My Weblog Posts folder, which contains drafts and recently posted. Having the drafts sync is great. I can start a post at work, and finish it at home or vice versa. One Note syncs just fine, and if there is a conflict it's pretty easy to spot because you get a new tab that has the word Copy in it. Finally, I just started syncing my work documents, as it's nice to have them available at home without requiring some sort of remote access. It's also my way of backing them up (DTA = Don't Trust Anybody). Live Writer Not much to report on Live Writer, other then it works as advertised. I added a plug-in to format source code in posts, and that's about it. The only thing I have to log into my blog for is if I want to add a track back. I'm up to 89 posts, and except for a couple of posts I've brought over from a different blog, all of been created with Live Writer. One Note OneNote is a great program that I have started using on a daily basis. I have the quick launcher in the system tray so all I have to do is press Shift+Windows+N to bring it up. I'll write something down, close OneNote (as my task bar gets so full during the day) and can bring it back up with ease. I've used OneNote to record meeting notes, project ideas, book notes, track trouble shooting steps during my on-call rotations. I have a Personal and Work notebook, each with several tabs, and Groove keeps everything in sync. Looking back at my first post, I am not even using the features I blogged about, but am still finding great value. This is the perfect opportunity to revisit some of those features and see if I can make use of them. Unfortunatly I still haven't gotten a tablet PC. I was looking on Ebay again today, but just couldn't pull the trigger on buying one as I have some other expenses coming up, including a possible roller hockey tournament in Cincinnati, OH. I need to put some thought into how I can justify it as a work expense. On the one hand, it would make taking notes during meetings more efficient, but I'm really trying to limit the number of meetings I'm in, as it means I'm not getting much development time in. What I'm Not Using (yet) Wiki I did finally get some Wiki software installed on the website, but there is no content on it yet. I still need to get backups setup and play around with the software a little more before I commit any serious time to writing content for it. I have chosen ScrewTurn Wiki as it's an asp.net file based Wiki, which also has support for running offline. With the launch of http://wiki.asp.net I am a little more encouraged to move forward with my own Wiki, although I am interested to see if Telligent does in fact release a community version of the Wiki software, although I suspect the data store will be SQL which I think is overkill for my needs. One thing that is lacking from ScrewTurn is page level, or category level security. While I realize that a Wiki is all about collaboration and public involvement, some of the pages I would want to restrict access to. The reason for this, is that I see the Wiki acting as somewhat of a CMS for my site in certain instances. Sharepoint (at home) I did finally get Sharepoint installed at home, if for no other reason then to try out the 40 some Sharepoint templates provided by Microsoft. Currently I'm playing around with the Stock tracker template (not the official name), and Lending Library. I defiantly like Sharepoint and the templates, but it's hard to get too excited when you are the only one using the Sharepoint Site. Even though I have changed the wife's home page to the Sharepoint site, she still doesn't read the announcements and calendar. I bet if I put the project management template on there and told she would use it ;)
I am adding my name to the list of developers who have not heard about the InternalVisibleTo attribute. I came across this while checking out Derik Whittaker's blog in response to the email I got saying that Derik will be presenting at this month's Milwaukee area .Net Users Group. The InternalVisibleToAttribute was added in .Net 2.0 and most people seem to be using it in order expose internal methods to external unit test classes. However, there is nothing to prevent you from using it in non-testing situations., although I have not seen a good reason other then unit testing to use it. The MSDN documentation talks about the special case of applying the attribute to a strong named friend assembly. This is also a C# only attribute.
Scott Hanselman today announced the Asp.Net Wiki (Beta). "The idea is that folks spend a lot of time trolling the blogs, googling live-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost." I think it's a great idea and I hope to see other product groups at Microsoft follow suit. Since it's linked off http://www.asp.net, and a Microsoft entity, I see it quickly becoming the one stop shop for Asp.Net information. If you jump on and contribute to the wiki right now, you could be a top contributor, at least for a couple of days.
|