Robert McLaws: FunWithCoding.NET

Public Shared Function BrainDump(ByVal dotNet As String) As [Value]

News

<script type="text/javascript"><!-- google_ad_client = "pub-4330602465258980"; google_hints = "ASP.NET, VB.NET, C#, C#.NET, WindowsForms, .NET Framework, VS2005, Visual Studio, XAML, WinFX, Windows Workflow, WPF, WCF, Atlas, NetFX3, Visual Studio Orcas"; google_ad_width = 120; google_ad_height = 240; google_ad_format = "120x240_as"; google_ad_type = "text_image"; google_ad_channel ="4997399242"; google_color_border = "B6C9E7"; google_color_bg = "EFEFEF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "002C99"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<!--
-->

You should feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever. That said, I will most likely only delete abusive, profane, rude, or annonymous comments, so keep it polite, please.

Blogroll

Cool .NET Articles

My .NET Tools

My Builder.com Articles

My MSKB Articles

April 2004 - Posts

A Simple Error Trapping Utility
Brady Gaster took my implementation of error handling in VisualBlogger 2004 and turned it into a general WinForms error handling tool. It's a lot easier to use that the Exception Management Application Block. Check out ErrorTrapper on CodeProject.
Curse You, Rob Howard!!!

I spent the past 2 weeks reverse-engineering the .NET Framework 2.0 so that I can get in-depth and understand how the Provider Model works. Then, I started adapting my knowledge to v1.1 of the Framework for VisualBlogger 2004. So then I get online today, and Rob Howard posted a new article on MSDN on the Provider Model, complete with a .NET 1.1 implementation in downloadable source code! AGGGH, Man, if I had this two weeks ago...

In all seriousness, this is a killer article, and a must read for anyone working with Providers. Thanks Rob!

Calling a WinForms app from another app?

OK. So I want to implement a new feature in VB2004 that I'm not ready to talk about yet. You may be able to infer what I want to do from the situation I'm about to describe, but I won't give any specifics until the next beta release. Here's what I need to do:

Inside an assembly, which will be loaded and executed by App#1, I need to be able to check and see if VB2004 is running. If it is, I need to be able to access the running instance, pass data to the editor, and activate the form. Does anyone have any frickin clue how to do this? I have no idea where to even begin, but I really want this feature in the next drop. Any help would be appreciated.

-Robert

VisualBlogger 2004 Beta 2 Status Report

I just spent the better part of 4 hours working on some major modifications to VisualBlogger. I heard your struggles, I felt your pain. I made configuration much simpler. Instead of using a config file for some global settings, I'm pulling from the registry. You should no longer get any errors when the application loads. The Configuration.xml file has been renamed to Blogs.config, and the default location is prespecified to be relative to the executable. Should make life TONS easier.

I've added a new system to give you feedback during the posting process. It's very simple really, after you select your blogs to post to, and click submit, you'll get a report of whether or not each blog succeeded or failed. Should help the process out a bit while I refine the multithreaded mechanism I'm working on. In the meantime, a tip for current and future builds... the toolbar buttons stay highlighted in orange while any operation is in progress. That means, if you click "Submit", and it stays orange for a minute, it's still posting to the various web services.

On the UI side, I added a few more icons in place of some of the text buttons in the UI. People said it was too hard to read the sideways text, so I put some placeholder icons in there. Some of them might stay, many will not. We'll see what happens. Also, I locked down the toolbar positions so that they cannot be changed/moved/redocked/whatever. I'm sure a few of you won't be happy with that, but oh well. I need to redesign some of the UI to be able to handle the readjustment that takes place when the toolbars get redocked. So until that happens, it's best just to disable UI customization until it works properly.

Feedback: We now remember your Name and E-mail address for the feedback form (stored in the registry). Hopefully that will coax some more people into using the online submission system for sending us bug reports and feature requests. Please keep them coming.

Oh yeah, I almost forgot. Someone asked me to make VB2004 minimize to the system tray, so this build does that by default. The icon is totally lame, and there aren't many right-click options, but it works. If you have any ideas for what options should be available on the right-click menu from the system tray, let me know.

I was going to put out the new beta this morning, but I am having a problem implementing a new feature I'm working on, which I will discuss in a separate post in a few minutes. At any rate, I won't be ready for a new drop until Wednesday.

We've had over 200 verifiable beta testers, and the response has been overwhelmingly positive. Thanks for trying it out guys... please keep sending me your feedback. it's already much more stable thanks to the comments I've gotten so far.

Responses to some VisualBlogger Feedback

Josh, thanks for the feedback. I'll address them point by point.

  1. Right now we're only pushing data. There is no real way to get posts to be able to do anything with them. The web services that allow you to get posts have been depricated, but they are still accessible. I'm working on ways to make that happen. remember, it is primarily a tool to keep you from losing posts you're working on. Anything beyond that is a value-added thing. Remember, we're currently limited by what .Text can/can't do.
  2. Had a few comments about the sideways thing. Right now, the text is just a placeholder until I can get a UI guy to do some graphics work for me. I need icons for each of those options, and I wasn't going to even try to make one on my own, since I suck at it.
  3. Not sure why the Config UI is not working. Ping me offline and we'll troubleshoot.
  4. There are no default categories, so that's not a problem. In regards to which blog you're posting too by default, I'll look into it. The problem with adding a menu item is screen real-estate.
  5. VS.NET Add-In Mode is not available in Beta 1. Should be enabled by Beta 2.
  6. Spell check is not available in Beta 1. See my beef with ComponentOne for more details on why.
  7. Ping me and we'll troubleshoot your feedback problems.
  8. The next build will have a mechanism for saving who you are. Didn't have time to enable it in this build.
  9. Status bars will be available in the final release, once I make the UI multi-threaded. There is a lot of work that has to go into the tool before that can happen. I will have at minimum a mechanism to tell you that the post got saved successfully.
  10. Josh, I gotta tell you man, you're pie in the sky on this one. I have NO experience with shell programming, and I don't have the foggiest idea how to BEGIN adding that feature. I'll be flat out honest... you'll be lucky if you even get it in IE.
  11. .Text has been having issues with categories lately. I keep getting SQL errors on the return, meaning that there are back end issues with the web service. I need to do some more troubleshooting to see if VisualBlogger or .Text is the source of the problem.
  12. Timing is a known issue. It's a problem with the .Text web service. I'm still experimenting to see if I can correctly fix it in code. I believe the web service is adding in it's own datetime info, not using what is submitted. The web service is also not scrubbing that time based on your local timezone, so that is one of the reasons why the timing is off. I'll see if I can compensate for it, but no promises. Rest assured that it aggregates normally.

Ping me tonight and we'll troubleshoot your setup.

New VisualBlogger 2004 Beta Posted

I just posted a new build of VisualBlogger 2004. This build fixes the following issues:

  • Drop-down list of configured blogs does not update after changing blog configurations. [Brian Desmond]
  • Dialogs and subforms were not modal. [Brian Desmond]
  • Post Title box did not clear when your cursor entered the box. [Brian Desmond]
  • Feedback system did not submit your name or e-mail address.
  • DotText96 provider removed.
  • Upgraded Sandbar.dll assembly to version 1.0.8

If you've already registered, you should be automatically redirected to the downloads page from this link. To upgrade from the previous release, unzip all the files EXCEPT for VisualBlogger.exe.config and Configuration.xml. If you overwrite these files, you will have to re-configure VisualBlogger 2004 as per the directions in readme.txt.

Earlier, it was brought to my attention that VB2004 takes up about as much memory as VS.NET when running. I need to reiterate the fact that while this beta was tested for basic functionality, it is not performance tuned at all. I'm not cleaning up objects when I'm done with them. All subcomponents are compiled in debug mode, and there are 9 different dependencies, all of which load up debugger files along with the main assembly. I'm not caching any data to the hard drive. At any rate, the memory footprint will be much smaller once all subcomponents are compiled in release mode, and I do my obsessive-compulsive "Java-Powered Code Review" (that's the coffee not the virtual machine) to clean up all the code.

Please send any feedback through the built-in system (the last button on the toolbar). This goes into our central tracking system, powered by OnTime, so that I can see what needs to be done, and when features.bugs are closed.

Thanks for all the help guys!

Some Notes About the VisualBlogger 2004 Beta

Just wanted to say a few things based on the initial feedback on VisualBlogger 2004 before I go to sleep. First off, PLEASE read the readme.txt file before starting to use the program. It has very useful information about configuration and known issues. If you get an error as soon as you run it, you haven't read the readme file very thoroughly.

Also, you'll need to completely unzip the archive into it's own folder, and follow the directions in the readme file to configure the file locations in the VisualBlogger.exe.config file. Those locations were hard-coded into the app, and the .config file was the easiest way to pull them out for beta. Otherwise I would have had to build an installer, which would have delayed the beta longer. The other reason you need to unzip the archive is because there are a lot of dependencies. As it is, the app itself spans three assemblies, and there are several other 3rd party components being used. I may ILMerge some of the assemblies together... I have yet to decide on that issue.

Regarding the UI, I know it kinda sucks reading interface elements that are sideways. For that I am sorry. When you see it docked inside VS.NET, you'll see why it is that way. We will more than likely make all those side buttons icon driven with tooltips (like the ones on the code formatting dialog box)  but we don't want to have anyone do icons for that stuff until the other stuff is locked down.

Speaking of UI, I had a couple requests for file menus and what not in the design. There was a specific reason we chose to put all the UI elements on one line, and not have a menu bar. The original puprose of the app was to live inside Visual Studio .NET. It was supposed to be an add-in, and the window would dock at the bottom of the IDE. It would look kind of weird if a tool window had a menu system, so I left it out. The UI was designed to use as little space as possible, and give you maximum editing room while docked, because real-estate inside the IDE is hard to come by.

Oh yeah, and I'm sorry there is no feedback on whether or not your post made it to the server. I had some in there early on, and it got axed when I moved to the provider model. I'll put it back in the next beta, I promise.

One last tip. When configuring your blog... look at the settings to see what kind of format you should use, then click "Delete" and "New Blog" in that order. Type in your settings, then select "Save". Then your settings should be saved accordingly. And yes, I know the dialog box should be modal. It's on the list.

I may put out a new build early next week... I may wait and collect more feedback. Depends on how many more bugs get picked out. Please, keep that feedback coming.

Announcing VisualBlogger 2004 Beta 1

OK guys, here it is. The moment one or two of you have been waiting for. The VisualBlogger 2004 Beta is finally available for download.

PLEASE Read the readme.txt file in the zip archive first. You have to unzip everything and set up some options in the config file. You can't just run it right out of the ZIP, it has too many dependencies.

Also, please use your real e-mail address. We won't be able to communicate updates to fake addresses. If I get too many fake addresses, I'll take it offline and make it a private beta by invitation only.

To make sure we're all on the same page, VisualBlogger 2004 is a blog editing tool for Windows. It doesn't need Visual Studio .NET, only the .NET Framework 1.1 and a .Text blog engine to post to. Sorry guys, you won't be able to post to LiveJournal, Blogger.com, etc until Beta 2. Here are all the features that are working/need to be tested:

  • Full WYSIWYG Editing
  • Raw HTML Editing
  • Blogging ScratchPad
  • Post To Mutliple Weblogs
  • Post To Multiple Weblogs with Categories
  • Blog Credential Hashing in Local Store
  • Save Posts
  • Load Posts
  • Clipboard Access
  • Code Formatting
  • Provider Model-Based
  • 2 BlogProviders
    • .Text Simple (SimpleBlogService.asmx)
    • .Text 0.95 (AspNetWeblog.asmx and BlogContent.asmx)
  • Abstracted object model mapped to provider-specific objects
  • Central Bug Reporting / Feedback System
For Beta 2, I'm going to finish the reorganization I started on Tuesday. I'm going to move a good deal of the actual posting framework to the VisualBlogger.Framework.dll file, so that I can expose some of the API to the public. Anil Dash (how frickin cool is that?!?) offered to help me implement the AtomAPI. So that will be in there. Plus all of your feedback. So make sure you use the built-in feedback mechanism (last button on the toolbar) and help me make this tool kick BlogJet's butt.
FINALLY! The Help Integration Wizard Is Here!

Some of you may have noticed this, but a while back on MSDN, there was an article posted on this cool new toy called the Help Integration Wizard. A team at Microsoft had FINALLY made it dirt-simple to create an integrated VS.NET help collection, without making it ridiculously convoluted, aka the VSHIK.

Well, the punks teased us by posting an article without a link to the file itself. So while I was at the MVP Summit, I tracked down the VSIP guys and was all like, "WTF guys?" They laughed and assured me that the tool would be online soon. Well, two weeks later, here it is. If you do any Help work at all, this tool is a must. Find out more about it here.

One Last VisualBlogger Test Post Before Beta

Testing a fix for a bug in .Text's category posting ability. There WILL be a be a beta before the end of the day tomorrow. I spent all day today tying up loose ends, and making sure that, in most cases, posts won't get lost. I also had to move some of the settings to an app.config file. I have a lot more work to do in the "Settings" capabilities, but that will have to wait.

I still need to put together a basic "readme" file with known issues and what not. I'd really rather not get bug reports on issues I already know exist. Alright, I'm off to WallyWorld to get a little shopping done. More details tomorrow.

More Posts Next page »