# Friday, October 14, 2005

I just read the first of what will undoubtably be a long string of articles looking at the 20 year history of Windows. You can read it for yourself here. It brought back some fond and not so fond memories of my computing experience. I didn't use Windows until 3.0 but when they talk about it being slow and buggy I can remember thinking the same thing. I kept reading on with the next link until I had finished reading the interview with Bill Gates.

Friday, October 14, 2005 8:42:12 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, October 12, 2005

For a long time now I have been running the beta version of Microsoft Anti-Spyware. I also religiously update my system, run as a non-administrator, and in general try to make sure I am protected from all sorts of malware. I had noticed for a while that I was not getting popups from Microsoft Anti-Spyware about the settings in my hosts file or showing the first web site in my approved cookies list and all the other annoying little messages that used to pop up when I booted up my system. I assumed it was due to an update to the program since I regularly got those or becuase I had checked the "report to spynet" (or whatever it said) message enough times for the software to realize that the "community" thought it was a good idea to allow my particular settings. I have also seen the results of a scan on my home computer many times. I was very surprised when I made an update to my hosts file and didn't get a message asking me to approve the change. When I went to check the program wasn't running. When I tried to run it manually I got a message that my version of Anti-Spyware had expired on July 31. I had never noticed that the icon wasn't on the tray because I have Windows set up to hide inactive icons and I never really clicked on it to make it an active one.

So now I have downloaded a new copy and I will have to run a scan with it and also with AdAware to see if I have picked up something bad in the month and a half that I didn't notice that I was unprotected. I guess I will have to add anti spyware to the list of tasks that I am proactive about instead of just relying on the "automatic" protection.

Wednesday, October 12, 2005 7:52:40 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, October 07, 2005

Let me start off by saying that I don't have anything against OSS per se, I certainly spend a lot of my time contributing to the community through user groups, presentations, articles, and (hopefully) this blog, but as a person who gets paid to develop software I worry about the market deciding that they will only use OSS and I will have to find a new way to feed my family. The success of Red Hat as a company has certainly caused me some worry. When I see articles like the one here on Slashdot that says a successful OSS project has decided to close its source to keep its competitors from taking the code, repackaging it, and reselling it, it gives me hope that I will still have a job long into the future.

I think there is defenitly a place for both closed and open source development in our world. It just may take a while longer to figure out what people are passionate enough to work on for free and what things take some money to make them worth developing. From the article it seems that this particular product hasn't had a lot of community development for a while. I am curious if most OSS projects, like TV shows and on-line games, follow a pattern of a lot of activity and energy at first to get the "fun" stuff done. Later, issues of maintenance and boring features come up and people start to go off in search of something more fun and fulfilling to do until only the truly devoted people and those who still have some motivation (make money, kill competition, promised to do something and can't figure a good way to back out, etc.) are left around? I don't have any evidence either way on this, just a question I thought of.

Friday, October 07, 2005 9:04:08 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, October 04, 2005

In case you missed it, Google and Sun announced a partnership today. You can read an article at http://www.msnbc.msn.com/id/9581591/. Although the official announcement just covered including the Google toolbar as part of the Java download there is a lot of speculation about Google distributing OpenOffice. What is not mentioned in the article is that if Google does start supporting OpenOffice there will probably be a lot more people take a look at it. Although I doubt that there will be any major uptake in usage at the corporate world I think a lot of users including my parents might use if if it were very easy to use and relatively inexpensive. Of course there is also the changed UI in Office "12" that will require a new way of thinking that might make people flock to OpenOffice if it maintains the familiar menu structure.

I think the real danger for Microsoft Office is that most people don't use even a small part of the Office Suite. (I remember one of the presenters at PDC saying that over half of the requests for new features in Office are for things that are already there. People just don't know how to find them.) I mean how many people really write complicated macros or try to figure out all of the formatting options. For most people just being able to change the font, text size, bold, italics, and underline will meet their needs. If people get used to OpenOffice at home it will only be a little while before they start wanting to use it in the office. Once businesses start moving off of Office in large numbers Office could be in trouble. WordPerfect had the word processing market in hand but didn't move to Windows fast enough and they also didn't have an integrated suite for a long time. Any kind of misstep by Microsoft could mean that Office could suffer the same fate.

Whether Google starts to distribute OpenOffice and whether Microsoft will respond are both topics of conjecture but one thing is for sure. If there is competition in any area, especially around one of the "cash cows" for Microsoft they have historically responded with lots of money and developers. Any time Microsoft feels threatened by competition they do incredible things to make sure that they stay on top and we as consumers will benefit from new features.

Tuesday, October 04, 2005 8:15:12 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, September 19, 2005

I spent a lot of my time at PDC meeting with different people in meetings that were covered by a Non-Disclosure Agreement (NDA). The various parties in the meeting kept reminding us how seriously they take the NDAs but there is always the chance that something will leak out. Now there might be a partial technology solution. It seems some researchers have found a way to block digital cameras. That might help with some problems but won't stop others like where someone (in this case a Microsoft employee) makes a public announcement about a "product" that I later learned under NDA was still being thought about and was not to be publicly discussed.

You can read the article on the digital camera/camcorder blocker at http://news.com.com/Crave+privacy+New+tech+knocks+out+digital+cameras/2100-7337_3-5869832.html?tag=nefd.lede

Monday, September 19, 2005 6:32:50 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, September 17, 2005

The PDC ended yesterday but true to form I didn't blog the sessions last night but insead am doing it a day late. I heard that an article I wrote on the "language wars" was posted on Comnet at http://commnet.microsoftpdc.com/pdcreflections.aspx. I am not sure if you had to register to see this article or not. I will check that out and post it here later if there is a problem getting to it. I only took notes on 1 session that I attended so here they are:

DAT408-ADO.NET: Advanced Data Access Patterns
Getting data wiht a DataReader is fast, going back to the server is slower but UpdateBatchSize helps. If the provider supports it parameters will be sent in an array.
Going from the client to the server - Bulk insert to a temporary table then use DML to move the rose (one statement/type) and do it all in a single transaction.
Grouping lots of data operations in a transaction can be faster because there will be less writing of the transaction log to the disk.
Must load data into a DataTable to do batch updating.
For BulkCopy to go fast the database needs to be in simple or bulk-logged recovery mode. Tempdb is already in simple mode.
To speed it up further you can implement a custom data reader to read the data and stream it rather than reading into a DataTable (DataTable puts all rows in memory at once).
Use SqlDependency to notify of changes to the data and invalidate the cache. Use a DataSet to store the data in cache and invalidate the DataTables as needed.
SqlDependency doesn't have any granualarity control so to make it more efficient load data in chunks, when a cache miss occurs. On a notification, just delete the chunk so the rest of the chunks in the cache aren't invalidated. In the callback for the notification delete the rows from the DataTable.
If you use a DataSet for a cache you wll need to query the data in it. Joins are missing. You get the ability to filter rows now.
To create an "index" on a datatable call select for a temporary one or create a DataView for a permanent "index".
Pablo will post the code to do joins in a DataSet to the blog at blogs.msdn.com/dataaccess.

It was a fun week at PDC. I really enjoyed being there to hear about all the new technologies. I got enough DVDs to keep me busy for a long time looking at new stuff. The only real bummer was that sometime Friday afternoon I lost my cell phone. The security guys at the convention center found it and are supposed to be sending it to me but for a few days I will be without it.
 

Saturday, September 17, 2005 4:14:13 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, September 16, 2005

Here are my notes from the 3rd day of PDC. I have to admit that after 3 days and nights of going non-stop I had a hard time tracking in some of the sessions so these notes are a little more sparse and flaky than usual.

Keynote - Bob Muglia
There will be releases about every 6 months.
WS-Management submitted to DMTF for standardization.
SDM and MOM Management packs let you see the error, call stack, and source coce where the error occured.
Windows Server compute cluster Beta 1 at microsoft.com/hpc. This appears to not do anything in parallel but rather just gives you some place to run stuff when you don't care what machine it runs on just that it gets done.
MONAD - Object based command line language. Integrates command line, COM and .NET. Microsoft will build commmandlets for their servers. We should do the same.
Security Token Servic ewill provide back end for InfoCards and will shp post Longhorn server.
CTP of IIS7 and update of Longhorn server available.
TxF is an update to NTFS with full transactional support. Single digit overhead for using it.
More info in the event log in Longhorn allows metadata wo be logged as well.
Longhorn is modular. IIS 7 is modular as well. Turn on and off features in the web.config file. Metabase is dead.
New API for IIS 7 is a superset of ISAPI.
ASP.NET extensibility API leveraged so you can do things like forms auth for all pages not just ASP.NET.
Longhorn server to include some virtualization.
I had to leave early to go man a booth so I missed the end of this talk.

Visual Studio Tools for Office
Office 12 Foundation Investments:
1. Managed Add-Ins
2. Custom Task Panes
3. Ribbon Extensibility
4. Office Open XML Formats
Add-In Loader and IDTExtensibility2 proxy starts add in loading
Add-ins will implement IStartup interface and inherit from a base class specific to the office product to give you strong type support.
Appliction level custom task panes. Not just at the document level.

COM325 Workflow + Messaging + Services - Developing Distributed Applications with Workflows
This one was by Don Box. I was listening and laughing a lot but got caught up and didn't take a lot of notes. If you have a chance to see this one on the DVD or via the web I would highly suggest it. It really clarified the relationship between WCF, WWF, and where Microsoft sees the platform evolving.
Contracts and protocol based integraton that is message based and opaque to implementaton runtime, IT Pro, etc. is the desired end game.
WWF - Activities (opaque code) stitched together into workflows (transparent view of state) where you send and recieve messages. Worlflow modeld in XAML. Information pushed into config files at build time.
Workflow transactions handled by System.transaction.

Friday, September 16, 2005 7:35:57 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, September 15, 2005

Here are my notes from the second day of PDC.

Keynote - Eric Rudder
Eric made the following product announcements
   Windows Workflow Foundation (WWF) for system and human workflow. I can just see it now, everytime I start a workflow there will have to be a bunch of guys dressed up in makeup yelling at each other about how they are going to beat each other up in the ring. Who thought up the acronym anyway?
   Microsoft Expression for Designers with 3 separate products: Acrylic designer, Sparkle interactive designer, and Quartz web designer.
   VSTA - Visual Studio Tools for Applications - Next version of VBA
After the announcements there were a lot of product demos. Here are the things I thought were cool.
In WWF you can set a breakpoint on an activity in the workflow and have it break into the debugger. You can then step down into other steps in the workflow and eventually down to the code that is running.
You can create custom activities to extend the workflow.
You can get WWF information at www.windowsworkflow.net
Acrylic has tools and built in styles that make it possible for even people like me to make good graphics but it will help the artistic types to do a really good job.
Quartz supports drag and drop data binding.
Quartz updates linked style sheets when you make a change to a style. I am not sure if I like this feature. If I am using the linked stylesheet in other places it might have unintended consequences. I guess I will have to get the tool and play with it.
Visual Studio and the Expression products share XAML so you can have full graphic fidelity.

Keynote - Steven Sinofsky
Enterprise Content Management - ECM - livecycle menagement for documents - More of this functionality will be built into SharePoint 12
CMS will be new for Office 12.
WWF will be integrated into Office 12.
Web parts will be built in ASP.NET 2.0 web parts.
Content types provide OO definition of documents that associate metadata and workflow.
New version of Frontpage that you can think of as a "SharePoint Designer" along with ASP.NET, Expressions, etc.
Forms server will let you create InfoPath forms that are able to be run in the browser.
There will be pre-defined form parts in InfoPath 12 so you can reuse some design.

Enterprise search has a "did you mean" functionality for when you mistype a search term.
You can define "best bets" for easily finding search items.
Search on people using Active Directory - presence information and links to the person's "My Site".
Search on customers using code and integration to a CRM system.
The list is the fundamental item in SPS that has an API. You can join lists in a master/detail relation.
RSS feed for lists and email notifications for a list. You can open lists in Access or other database tools.
Outlook 12 has the ability to host an InfoPath form as a mail message. submitting the form sends it back to the sender and you can set it up to automatically process the form and store the data in SharePoint.

I spent most of the morning in a Software Design Review. A SDR is where Microsoft shows you a bunch of PowerPoint slides and says something like "if we built this would you come?". Really they are looking to see if the scenarios and problems that they are trying to solve are real world and if the propsosed solution will work. They are really great but there is no guarantee that the ideas will even make it to an alpha product let alone a final one.

DAT312: WinFS Programming with LINQ
There are 4 layers to the object model:
1. Tables - Rows and columns
2. Reshaped Data - Custom mapping
3. Entities - Collections and inheritance
4. Objects - hydration and projection
Queries get stored in a Cannonical Command Tree that for now is parsed back into optimized SQL but in the future could be sent directly to the database.
WinFS is an extended model that uses spcializations on the core object model.
There is a WinFS blog at blogs.msdn.com/winfs

 

Thursday, September 15, 2005 7:49:55 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |