ThoughtChain
Issam Elbaytam - ThoughtChain.Serialize()

Tuesday, February 14, 2006

Zac Bowling has a post about JavaScript 2.0 [ http://zacbowling.com/blog/2006/02/13/just-cuz/ ] In it he makes a powerful comment "Embedding mono into mozilla might be a solution worth looking into." I've been thinking about this quite a bit lately and I think it is something that both the mozilla and mono teams should pursue immediately. Mozilla has created a great multi-platform infrastructure that's taking the web by storm. However, the low level programming is not main-stream because it's C++ and the high-level XUL+JScript is not powerful enough. Adding mono into the mix would give XUL a set of compiled languages, multi-platform runtime and a huge set of usable class libraries. This mix would be a great answer to XAML. This would be the ultimate solution for true multiplatform applications that use the web infrastructure (NOT THE BROWSER) sensibly and deliver fast and rich client experience. I am not a huge fan of using the browser for web applications, i see the whole ASP.NET Atlas and AJAX in general as patches that try to make the browser into something it was never meant to do. XUL was a step in the right direction but it needs a lot more support from professional programming languages and environments.

Friday, December 16, 2005

ActiveReports report documents have a default title of “ActiveReports Document”.  Many users do not change that default value and it ends up part of HTML and PDF exports.  I used this bit of information to see how our customers use ActiveReports on the web.   A simple google search for the string yielded 10 pages of results.  In those results, some cool reports that are available on the web as example uses of our popular product.  Cool.

Saturday, October 29, 2005

wow! it's a been such a long time since I blogged.  Part of it is beging extremely busy and the other being extremely lazy :) 

Anyway, I just finished downloading RTM images of VS2k5 and SS2k5.  In preparation for this I had upgraded my laptop (Toshiba Portege M200) to 2GB RAM and 120GB Hard drive.  I scrubbed it clean, installed WinXP Pro, the bare essentials (Edit Plus, Total Commander, Process Explorer, Zoom+, NetCaptor, FeedDemon).  Then I installed VMWare Workstation.  I allocated 60GB partition for Virtual Machines.   I created a base VM with WinXP pro and the latest windows updates, I had it set up with 1GB RAM and 30GB virtual hard disk.  Then I started spawning new VMs from this.  I created a clone called junk: stays clean and is used for experiments and testing install scripts on a clean machine.   I created another for Office2k3 and VS2k3, this is my main dev VM.  I cloned that one too, for junk expriments.  Now that I downloaded VS2k5 i cloned the base and installed O2k3 + VS2k5 + SS2k5 to create my new 2k5 dev VM.  Everything went very smoothly and the VMs are fast enough for development.

I have a common HD partition called Stuff where I keep all my data files (outlook, OneNote, ...) all VMs have access to this partition through shared folders.  So whichever VM i am using i can access my email, notes and files.  In addition, i used TweakUI to redirect the Shell Folders from the OS VM hard drive to this common partition so anything i save to “My Documents“ ends up shared for all VMs. 

Now I have 10 VMs for a variety of purposes.  Demo VMs (VS6, VS2k3 and VS2k5).  Dev VMs (same), Junk (same) and base.  This will hopefully keep things clean and organized.  I hate running different versions of VS / SS on the same machine, this allows me to completely isolate everything without having to reboot my machine to switch partitions.  I can also play around with new software without impacting my main dev VMs.

Why not use Virtual PC instead?  No reason really, i just like VMWare and have been using it for a while.  Everyone else at the office uses Virtual PC and they like it.  The same process can be followed with either of these products.

Sunday, June 12, 2005

MJC cannot figure out how to merge multiple reports, so he's frustrated it with it.  It's actually simple, run the individual reports, then merge their page collections into a single report.

rpt1.Run();

rpt2.Run();

foreach(Page pg in rpt2.Document.Pages)

{

rpt1.Document.Pages.Insert(pg);

}

// now rpt1 is a merged report of rpt1 and rpt2.

 
Scott recently added CAPTCHA to pingpoet blogs to reduce comment spam.  However, today I noticed that I got a ton of Pingback spam.  My guess is that some automated tool is subscribed to my feed and it automatically creates pingbacks to all my posts.  Took me forever to delete all the SPAM entries.   .Text delete operation is the worst I've seen, it does not allow multiple selection and requires two confirmations, that's three page refreshes to delete a single entry. 

Monday, June 06, 2005

Got here last night, hotel (Sheraton Studio City) is OK but not on the conference shuttle list.  The rest of the crew coming in from Columbus, OH got stuck in Atlanta all night.  They had to take a flight to Tampa this morning and drive from there to Orlando.  Of course that meant I had to get up at 7:30am set up the booth all by myself.  That sucked!   For those who know me, getting up at 7:30am WAS the hard part :)

Anyway, with little help from a friend at /n Software I was able to put it together.  Now I am waiting for the crew to get here, hopefully before the exhibit hall opens at noon.

TechEd is sold out this year, so it will be very busy.  I can see the crowds in the halls and outside the Orlando convention center.  WiFi is available everywhere but it is very slow.  I can barely get my email.

Saturday, June 04, 2005

  • Laptop is ready and loaded with demos.
  • Empty duffel bag, to collect junk :)
  • Have a nice dinner invitation from the VSM crew at Christini's which is an awesome Italian Restaurant, highly recommended.
  • Monday we have to get up early to set up the booth.  It will be a very long and exciting day.

Stop by at Data Dynamics' booth if you're attending.

Tuesday, May 31, 2005

“the Drebin” likes ActiveReports 2.0  however, he has a couple of pet peeves

1. Licensing: i saw the email go through the internal list today and hopefully our excellent support crew will help him resolve the licensing issue.  Many of the these licensing issues have to do with how the licenses file works in VS.  I find the most helpful hint is to add a new report to the project and that helps recreate the licenses file with the new registered key and the rest of the reports get registered.

2. Control Copy/Paste: As far as pasting a control, we followed what MSAccess does, when pasting using the keyboard we default to 0,0 because keeping the original coords would put the control on top of its original copy confusuing users.  However, pasting using the mouse (context menu) places the new control at the mouse coordinates.

3. re: the .Text property, part of this has to do with the property grid in VS, we had a feature in 2.0 list to add a simple multi-line string type editor for the text property, I'll have to check and see what happened with that.

Anyway, I am glad “the Derbin” likes ActiveReports, i get asked a lot, why should one buy ActiveReports when CR is or RS is “free”.  And my answer is always, first, they are not free, second, give it a try and be the judge, download the eval and try a couple of reports and make sure it works for you before you commit to anything.   ActiveReports is a report designer by developers for developers.

Sunday, May 22, 2005

Yesterday I took my three girls and boy to see StarWars.  LOVED IT :)  The girls seems to have enjoyed it at least as much as I did.  And Adam kept pointing to Darth Vader and saying “Mean Guy”  :)

My feeling is that this made the first two worth it, it tied everything together nicely.  CG was incredible as usual.  This will definately set a new standard for everyone else to follow. 

Anyway, can't wait to have the whole set on DVD (1-6) so I can spend a whole weekend watching them back to back. 

 

I just downloaded the new WinFX SDK for VS Beta 2.  I will install it tonight and start reviewing the changes.  I've been spending quite some time with WinFX lately and it is exciting and daunting at the same time.   It is remarkable the amount of work that went into it.  However, IMHO they've exposed quite a bit of useless stuff (from a business apps point of view)  The whole animation namespace and the 3D stuff is nice and everything but applies to select few graphics specialists.  I honestly don't see how businesses will benefit from these two features.   The good thing is that they also did an awesome job on the text formatting and document namespaces, I've always thought that's an area where WinSDK was very lacking.

Anyway, I'll be digging in over the next couple of months trying to wrap my head around all this stuff.

Friday, May 20, 2005

Another Reason Crystal Reports Sucks

That's one thing that we avoid doing in ActiveReports.  We leave database handling to the developer and simply pass the connection string and sql to the provider.  We trust that our users know what they're doing and can talk to their database however they want.

Monday, May 09, 2005

Recently Google released Web Accelerator add-on that prefetches pages based on links in the page you're viewing.  This might work well in news site or something, but in a browser web application it had a negative effect.  A link might be to some application function that should not be fetched automatically such as “Add Record” or “Delete”.  I know it's not completely Google's fault and that there are proper ways of writing code instead of a simple hyperlink to avoid this.  But the fact is many web apps are written that way and it back-fired with Google's add-on.  

I think this is really a fundemantal flaw in using the browser for writing web applications.  The browser never made sense to me as a web application host, as a developer you spend more time fighting the platform(s) than focusing on your own application logic.

Here at Data Dynamics we're working on something that we hope will fix that.  It is very top secret now.  However, rest assured that I will have a lot more to say about it in few months :)

Friday, May 06, 2005

Brendan Tompkins posted a candid interview with a Crystal Reports guru.

Interesting insight into Business Objects strategy “Keep up with Cognos”  and their VS integrated product “It wasn't designed to be scalable”

I guess Crystal is not focused on developers and it shows in their recent releases.  We created ActiveReports specifically because CR ignored developers and it seems they only wanted to use them as a stepping stone into the Enterprise market.  They've always wanted to play with BO, Cognos, Microstrategy.  I guess they got their wish :)  It amazes me that they are still considered a developer tool vendor.

Wednesday, May 04, 2005

I travel quite a bit and I enjoy watching the MSDN and Technet webcasts on the plane and at airports during long trips.  MS has been great in offering such a wealth of information on their web sites.  However, the download process for offline viewing really sucks.  I have to login using passport, register a couple of times before I can start the download.  And, here is the rub, I have to do this every time for every webcast.   This sucks!  Why can't they just put the downloads in a simple list where I login once and it remembers who I am and allow me to download all that I need at once.   Why jump through all these hoops to get something that they want us to download.

anyone else has similar issues with this?

Friday, April 15, 2005

Thursday, April 14, 2005

I've been silent lately because I am swamped with two major releases and starting two new projects.  I cannot say anything about the new project except that they are VERY exciting :), so I'll mention the new releases..

Tomorrow (Friday April 15th) we release a major upgrade to ActiveReports for .NET and add a new product to our line.  Both products have been long in development, qa and documentation.  We've put a lot of effort to correct many issues with ActiveReports, this version is the most tested version we ever had.  And we added a Chart control, made pdf vector image quality much better with EMF support and added IList data binding - a frequently requested feature-.

SharpGraph is a new product that will prove very competitive with existing charts on the market.  I have big plans for this one :)  This initial release is just to get us started, it supported all the popular chart types and has extensive styling options to make charts look awesome. 

Make sure you download your evaluation copies from our web site - www.datadynamics.com

Sunday, February 27, 2005

Scott Hanselman provides a great tip on making use of debug symbols in a release build and still running applications at full speed.

Friday, January 21, 2005

I picked up the Pity the Nation book after reading about it in Migeul's blog, I started reading it last night.  It is an eye witness report by Robert fisk of the civil war and the 1982 Israeli invasion.  It started off as an intriguing read because I recognized many of the places that he talks about, I was born in Beirut.

To my shock or horror, I get to Chapter 9, pages 282-285 and they detail an eye witness account - by Terry Anderson, the AP reporter and hostage in lebanon for a number of years- of the death of three second cousins of mine during the 1982 Israeli invasion.  I had heard of their death - I have not lived in Beirut since 1979- at the time, but it was horrific to read about how they died.  He describes the death of Ahmad Baitam 3 year old from resporitory failure caused by phosphorus burns in his lungs.  His two five-day old twin brothers and 4.5 year old brother died of similar wounds the day before.  The doctor treating them said: “I had to take the babies and put them in buckets of water to put out the flames, when i took them half an hour later they were still burning.  Even in the motuary, they smoldered for hours".  When they took them the next morning for burial they again burst into flames. 

Phosphorus artillary was first used in WWI, the phosphorus smoke lingers and causes internal burns that continue to smolder and are almost impossible to treat once it gets into the lungs.

 

This post will help us in recruiting for  QA positions.  We get a lot of resumes from people who want to be developers (dev-dev).  However, as this post shows a test-dev position offers challenges and rewards in seeing the quality of a product improve as a result of the QA effort.

via: SteveRowe

           

Friday, January 07, 2005

via: ComputerZen Scott Hanselman

This one is for Scott and Luc, they seem to make more use of their M200s than I do with mine :)

 

Digital Mars 

Digital Mars C and C++ Compilers for Win32, Win16, DOS32 and DOS. Fastest compile/link times, powerful optimization technology, Design by Contract, complete library source, HTML browsable documentation, disassembler, librarian, resource compiler, make, etc., command line and GUI versions, tutorials, sample code, online updates, Standard Template Library, and more.

The D Language native compiler for Windows and Linux for a C/C# like language with garbage collection, templates, mixins and contract development.

 

Thursday, January 06, 2005

Even by today’s standards FoxPro’s indexing is still impressive.  Calvin Hsia shows details about the indexing and compression techniques used in FoxPro indexes.
 

Collection of links and articles for future reference

 

Links to blog posts and topics I wish to revisit in the future.

 

 

Dan Sullivan shows how to use Common Table Expressions  to query hierarchical data in SQL Server 2005. Hierarchical queries combine recursive SELECT commands to provide the functionality to query self-referencing data.

Hierarchical queries are useful in HR apps for employee->boss representation, in financial applications for accounts chart hierarchy and in inventory applications where parts can be assembled from other parts.

Tuesday, January 04, 2005

Scott writes about his very strange experience with Avalon, I was there and saw him struggle with this.  I was dumbfounded with the results he was getting.  This certainly was not a very good first impression of Avalon.  I am glad and amazed that he found the culprit.  Hopefully someone tuning in to my blog or his would be able to shed some light on this.

Thursday, December 16, 2004

Tracking down managed memory leaks (how to find a GC leak)  — Rico Mariani

Hardcore debugging tips for those days when everything else fails.

Wednesday, December 15, 2004

Testing Windows Forms (or, code road from dev to test)

I wish MS would show us how are they utilizing VPC in creating all these test environments.  I  heard that the whole thing is fully automated, all you have to do is specify the image spec (OS, Tools, …) you need and it is created and made available to you.  That’s something that many of us can make use of.

Currently, we have created many VPC images for the common environments we have to test with. and we’re slowly moving towards Virtual Server.  However, it is a hassle to keep these images up to date and clean.   This would be a great MSDN Universal add-on to make available tools and environments available as VPC images in addition to the ISO files.

Sunday, November 14, 2004

I wish MS would make the MSDN TV and WebCasts available on cable networks as an actual TV program.  They could buy the "Paid Programming" on some channels or use the public access channels to provide the webcasts and MSDN TV episodes.  This would be better than the small sized wmv files (which they don't make easy to download - i know about NetTransport trick).  I can record them using TiVo or MediaPC.

Friday, November 12, 2004

Tom Friedman sums up the life of Arafat in this op-ed column.  I personally never liked Arafat because of what he's done (or not done) to the Palestinian people.  While we may never know the truth about his millions it is a fact that his tenure in the occupied territories has not improved the lives of the millions living there.   Friedman sums it up perfectly in his column when he says

His obsession was with Palestinian ‘‘land’’, not Palestinian ‘‘life’’

Arafat has created more security apparatuses and built more prisons than schools and hospitals.

Today, after watching his final send-off, I grieve for what he represented NOT the person he was.  I hope the millions of Palestinians keep their cause and plight for freedom alive by choosing wisely and demanding a better and more responsible leadership that cherishes their lives and gives them the future they deserve.

 
Akhune lists guidelines to help debug CLR memory and performance issues in .NET.  Good list to keep handy.

Thursday, November 04, 2004

http://www.openhardware.net/

just like open source but for hardware.  cool

 

I got an email from a colleague who worked on getting out the vote for Kerry on Tue.   I was startled by his account of a couple of incidents he saw while going door-to-door.

Going door to door I talked to a man who thought the United States should nuke Iraq. When I tried to explain that there were a lot of innocent people in Iraq, he told me that they were all terrorists and that that is what they get for attacking us on September 11th.
Also my Aunt is a proud Bush supporter (Ohio) because he is liberating Iraq from the Communists.

Whoa!

Overall, I think this election was for the democrats to loose.  I voted for Nader because I did not think the democrats offered a good alternative.  They need to reflect and focus their message to gain support in one of the close states, I think their best bet is in the southwest and possibly one of the close ones in the mid-west.  The south is most-likely lost forever.  The northeast and west elite democrats will never reach people in the south.

 

Tuesday, November 02, 2004

I just got back from voting.  As I mentioned before, this was my first time voting and I didn't know what to expect.  However, it was very easy, I did not wait in line at all.  In an out in 10 minutes.

I don't know what the fuss is about with the voting process.  It couldn't have been any easier.  My county uses optical scanners for voting where you connect the two ends of a line, very straight forward.

There were few Bush supporters outside, didn't see any for Kerry.  My state -NC- is going solid for Bush.  As I also mentioned before, I did vote for Nader (I had to write it in, he is not on the ballot here)  , on principle.  Nader -I think- was the only honest vote in this race.  I feel good about my first vote, I didn't have to compromise and vote for Kerry just because I am against Bush.  It was easy because NC is pretty much Bush-country.  I would have thought harder about it had I lived in any of the battle states such as OH, FL, MI, ..

Saturday, October 30, 2004

ScottGu provides detailed answers to questions about ASP.NE 2.0 testing process.  Questions like:

How do you build and track 105,000 test cases and 505,000 test scenarios?  How big is the test team in relation to the dev team? What tools do we use to write and run them?   What is the process used to manage all of this?  Etc, Etc.

Sunday, October 24, 2004

Scott Guthrie provides a Whidbey Update and offers an interesting insight into how MS teams approach the bug fixes, check-ins and beta process.

Saturday, October 23, 2004

Philip is wondering about last-minute-voters and makes an interesting point.  I heard an impressive speech from Ralph Nader once.  He said that if Americans used sports-fan methods for the election this country would be a hundred times better.  He said that sports-fans keep so much information about players, teams, managers, stats and so on, but voters are more casual about the most important decision a citizen makes for the country.

This year will be my first time to vote and I've spent so much time over the past year listening to debates, researching the candidates and hearing from others.  I think I understand what Nader was talking about.  The pundits spend hours talking about a single irrelevant sound bite instead of focusing on the issues.  And candidates get away with answering almost nothing on where they stand and spend more time on attacking the other candidates.

Thursday, October 21, 2004

now I can read my gmail inbox using FeedDemon.  I set up a channel as follows:

http://user:password@gmail.google.com/gmail/feed/atom/

 

I uninstalled google desktop and reinstalled X1 

I've tried X1 in the past and liked it but it suffered from frequent crashes.  Now I have an updated version and it is going much better.  I can find anything in my 9GB+ source code collection in a blink.  I have set to index once a day instead of every hour.  The files are mostly static and few change daily, so that works well.

I do not use it to index outlook or anything else because outlook is a pain as it is, i don't need the added headache of dealing with add-ins.

Wednesday, October 20, 2004

[via: Blake]  Thanks!  Very cool.

Woody Harrelson's Thoughts From Within

Check out this great poem by Woody Harrelson

There is a nice animation that goes along with it

http://www.voiceyourself.com/03_thoughtsfromwithin/03_movie.php

Tuesday, October 19, 2004

p2p-politics released the ads made by citizens for move-on.org,  some of these people are extremely talented.  These are my favorite:

 

 

In his letter Ralph tells the story of an Israeli pilot who refused to contribute to the killing of Palestinian civilians.  This quote is very telling of the views and policies of the IDF.

In the discussion of my dismissal, I asked General Halutz if he would allow the firing of missiles from an Apache helicopter on a car carrying wanted men, if it were traveling in the streets of Tel Aviv, in the knowledge that that action would hurt innocent civilians who happened to be passing at the time. In answer, the general gave me his list of relative values of people, as he sees it, from the Jewish person who is superior down to the blood of an Arab which is inferior. As simple as that.

In Palestine and in Iraq thousands of civilians have died, they are never officially counted and are referred to as "Collateral Damage".  They are not counted because they don't matter.

 

Saturday, October 16, 2004

Jon Stewart of the Daily Show - which I love to watch- was on CNN's CrossFire -which I also like.  The exchange was absolutely hilarious.  Jon raised an issue that is important to all pundit shows, they don't really have constructive debates, instead they bring these people to mouth off their standard sound bites and never answer a question.   They should keep hammering until they get an honest answer.  Chris Mathews does some of that on HardBall but we need more, much more, we need straight answers.
 

I like it but I want more

  • Limit search to specific folders.
  • Index my cs (csharp source) files.
  • An API to access the search results.  I don't like the fact that the only thing I can do with my results is to see the list and launch the default app.  I might want to copy, move, delete or view in notepad.  That would be possible if I could write a small app to search and display the files list with "context menu" to take action on those files.

 

 

I am very glad MS is adding this to Whidbey, it makes so much sense.  Thanks.

Thursday, October 14, 2004

Google finally released the answer to searching local machines.   Google Desktop is awesome!  It is so fast, it makes me wonder what the hell is MS doing, they cannot get half decent search for MSHelp2 files in VS.NET, this is really pathetic.  Sorry, but MSHelp2 and the weird "merging namespaces" thing is a huge pet peeve of mine.  No, I just plain hate it!

Monday, October 11, 2004

Jeff Key posted a link to his NCover browser, this might be very useful to browse code coverage if you're using NCover.

Features:

  • Nodes in tree show aggregate completeness. Anything less than 100% is colored red.
  • Clicking on a class displays the class visit info, clicking on a member displays only that member's info.
  • Visit information is colored red if visit count is zero.
  • Unvisited lines have the familiar red squiggle under them.
  • Drag & drop file on app to load, File|Reload to reload.
  • Print source files.
 

Rob Relyea writes about some changes that the Avalon team is considering to the XAML syntax.  Scott and I got into some heated discussions with the team when we were first introduced to XAML at a VSIP lab. 

I am glad they are thinking about changing the "*Bind" syntax to be more extensible.  I see this as an area where ISVs can modify or improve property and data binding in XAML.  

In addition, decoupling XAML from the presentation framework would help make it a reusable object graph persistence framework that we might be interested in for some future product scenarios we're thinking about.

 

[via: MaximumPC -Nov 2004]

Three hacks to upgrade your Linksys WRT54G router with very cool features.  Now I wish I didn't switch to DLink last year.

  • SveaSoft -  Adds static DNS and bandwidth shaping -quotas-.  $20 for a full year of upgrades.
  • WIFIBox -  Adds static DNS and is open source.
  • OpenWRT - Adds static DNS, bandwidth shaping and WiFi sniffing.  Extensible using plug-in packages.  Free.

Wednesday, October 06, 2004

Hi, my name is Issam, and I am a political junkie.   This election season is a great opportunity for me to feed my addiction.

I just watched the VP debate and the pundits commentaries that followed.  It was amazing how the pundits saw the debate.  Most saw Dick Cheney as the victor and all I saw is continued evasiveness and absurd logic when responding to questions about Iraq.  I thought that Edwards at the very least stood his grounds against the VP and I think the average American believed him more than they did Cheney. 

I checked the instant polls on all news sites (CNN, CBS, fox, msnbc) and it seems that many people share my opinion in declaring Edwards as the winner despite what the pundits say.

 

Thursday, September 23, 2004

Friday, September 17, 2004

Rick Strahl summarizes my discussion with him on XmlDocs in source vs repository.  

I wanted to clarify few things about how we (at DataDynamics) develop and document our components. 

  • We typically have a team of 2-3 developers working on different parts of the project.
  • Developers are not necessarily in the same location and they would not be connected to our network all the time, they check out the code they're working on and code away whether they are at the office, at home or traveling.  They connect back to the network to check in their code (and documentation) into StarTeam.
  • Developers are required to document the headers of public types and members using xml documentation standards introduced by the C# compiler.  The C# compiler generates warnings in our release build if we're missing any documentation.  And it generates the XML files required for intellisense in VS.NET.
  • The XMLDocs compiler checks are great, however, the format and location of the comments are a mess.  The documentation written by developers has to be edited by our documentation personnel.  They do not have -and shouldn't have- access to our source code repository.
  • XMLDocs has a special tag that allows storing the comments in a separate file.  <include>.  The format of the file is open and it can be any xml that produces valid content from an XPath expression.  We chose to create an .xmldoc file for each source file.  Each node the xmldoc file would represent a type or a member in our source code file.  Think of it like pairing the cs/resx in the case of winforms.
    • Rick's example is different from how we write our files, we do not keep a node for the project because some of our files can be used in multiple projects.  Also, we do not have a node for the namespace either.  Each node has a unique id that is "namespace.type.member"  if the member is overloaded we simply add a #1..n at the end.  The xpath would be '@name="namespace.type.member#1..n"
  • Keeping the xml content in separate files allows us to work with it just like we do with the code, write it in a distributed independent fashion, version it, and control access to the source code repository.
  • Once our developers have completed their part of code/doc, our documentation persons edit the documenation before we generate the assemblies/intellisense xml.   We use the same xml to generate the library reference help and integrate those topics with our user guides to create the final MSHelp 2.0 files and PDF manuals.  We are currently using DocumentX and HelpStudio from InnovaSys for this final step.

What I described here is very similar to how Microsoft documents the framework.  You can see the <include> tags in the Rotor source code.

 

All this works great, however, editing XML non-WYSIWYG in a separate file (without a schema) is error-prone and can be made a lot easier if there was a simple add-in that popups a dialog to edit the comment and place it in the proper associated file and place the <include> tag in the source code.

 

wwHelp and DocumentX both have nice add-ins to edit the comments but they miss the piece of how important keeping the source separate from docs is and the need to keep the xml comments sync'ed to the code to make use of the compiler generated warnings.

 

They are both great products and we do use them on different projects to write our user guide and how-to topics and for final integration of the xmldoc with the user guide to create the final mshelp files.

 

Rick (of wwHelp) and Richard (of Innovasys) try to fit the xml docs directly with their products.  I think what they should do is two things:

  1. Simple add-in like I described above to allow WYSIWYG editing the xmldoc and optionally inserting the comment or the include tag into the code.  Various options can be made as part of the project properties, i.e. where to place the documentation (code vs include) and location of the include files.
  2. The repository would come into play after the C# compiler has generated the XML intellisense file and it would simply import the file into the project.

Both products do #2 very well, so I am hoping they would introduce a good solution for #1.

 

Hilarious. LOL

[Via: Todd Berman]

Although these are numbered, they are in no particular order.

  1. You wake up in November hating the entire world.
  2. You always wanted to move to Canada, and the draft could be just the impetus you needed.
  3. You determine the leader of America based on how good they look in a fireman's hat.
  4. You need to know just how long his administration can go before it turns Powell into it's latest scapegoat.
  5. You want to see just how high this deficit can get before someone in the White House admits we have a problem.
  6. You can't get enough of that wacky National Security Advisor's latest hijinks.
  7. You live in Florida, because you figure if your vote isn't going to count, you might as well vote for the predetermined winner.
  8. Your hope that maybe if he wins this time, his father will jump out of the plane without a parachute this time.
  9. Another four years of neo-conservatives can't be worse than the first four.
  10. You think future presidents doing cocaine at Camp David is totally a good idea, and want to make sure Bush's daughters get more chances to prove how 'presidential' they can be.
  11. For some reason, the youth of America has always bothered you, and you would like to see more of their innocent lives lost in a pointless conflict.
  12. After 4 years of wonderfully funny flash animations, you have no idea how you can spend 8 hours at work without humour at George Bush's expense.
  13. He may have caused most of the rest of the world to lose what little respect it still had for America, but at least he didn't sleep with his intern.
  14. If George Bush is good enough for Jesus, he is good enough for you.
  15. You live in Tennessee, just got your thumbs, are relatively unsure how to use them, and missed the button to vote Yes on Prop 742 - Alien Sterility/Dentistry Program (Homage to the late master of comedy).
  16. Baby killing is good. Jodie Foster told you so.
  17. Pat Buchanan isn't running and you want the next best thing. Helms/Buchanan in 08!
  18. You are scared shitless.
  19. You are unable to resist the temptation to vote for Dick/Bush...
  20. Dick Cheney promised to show you his underground lair.
  21. Only thing better than one car wreck is two car wrecks.
  22. You were born mentally retarded.

 

Saturday, September 11, 2004

This is awesome.  I downloaded PearPC  and started installed Mac OS X (Panther).  It took 7 hours to finish the installation and lo and behold, i have OSX running on my Windows XP desktop.

I LoVe IT

Panther on WinXP

 

 

[Via: Andru's WebLog]

Two custom transports for WSE:

  • Memory Mapped Files:  intended to be used as an "pseudo-inproc" transport for communication between process of the same machine (something that the "soap.inproc" transport included in WSE2 cant' do) without the use of a network transport. Download
  • Named Pipes: isn't very useful but with some luck someone can use it and take advance of named pipes security and reliability. Download

References:

Thursday, September 09, 2004

[via: .NET Languages Weblog]

Wesner blogs about iterators in C#. It's short, but it shows you what the C# compiler is doing for you to handle the yield syntax.

Nice article.  Demonstrates some interesting use patterns for iterators.

 
[via: Michael Swanson's Blog]

I had planned to post my own article about slipstreaming the recently released Service Pack 2 with your original Windows XP CD media, but it looks like Tom's Hardware beat me to it. By following the instructions in the article, you can create a single bootable CD that installs Windows XP along with Service Pack 2. If you're like me and you like to refresh and reinstall your system every six months or so, having a CD like this is very handy. Here's another article with similar instructions.

Sunday, September 05, 2004

As I mentioned before I have a TiVo and I love it.  I just bought a portable media player AV340 from Archos (www.archos.com) -they have a newer model now, even cooler.  Anyway, I use TiVo to record shows then use the Save to VCR function to move the content to the AV340.  This sucks, because it takes a long time, i have to play all the recorded shows one by one and rename the files on the AV340.  TiVo needs to get it's act together and create the ultimate PVR, here is a wish list.

- Allow access to Tivo drive from my home network OR recognize external hard-drives connected through USB and allow copying content to them.  I should be able to encode and compress the content with DivX.   Or if that's an issue, team up with Archos and get this to work, it is brilliant.  MS is doing this with Creative and iRiver.

- 2 Tuners in a TiVo and PiP (picture-in-picture) support.

- Coordinate multiple TiVos in the house so I can record conflicting shows.

- Why the heck should I need a cable box, can they put something in to get rid of that.

- A TiVo server and mini Players: I would love to have an expandable multi-hard-drive, multi-tuner Kick-Ass TiVo server in the house and I can access it from any number of smaller access points (mini-TiVo). 

- Open up the SDK so I can add home-automation, caller-id, IM, weather, RSS, email, and whatever the heck I want to that server.

TiVo can own the digital home entertainment if they make their box and software more expandable.  I spent $500 on TiVo and would be glad to spend a lot more if they create a platform that they and others can build on.

Wednesday, September 08, 2004

Justin Rogers lists uses of CustomAttributes in Whidbey.  A good article to go over once before you start getting into coding with Whidbey.

[Update: Justin now says CustomAttributeData in NOT for performance in the current Whidbey release.]

Thursday, September 09, 2004

[Via: TheServerSide.NET]

Microsoft has released a new tool to help identify authentication and access control issues in ASP.NET for Web sites, FTP sites, virtual directories, Web directories, and files. This tool not only will help to identify current issues but can be used to monitor authentication failures as they happen.