Wednesday, March 30, 2005

I would like to try to get a session together where developers or architects in the community could come together and come up with some best practices and hands on approaches for designing systems.  Here is my idea below.

Meetings would occur on a Saturday from 11:30 until 3:30.  The cost of the event would be $5 dollars, unless I can find someone to sponsor the event.  The $5 dollars would cover lunch from somewhere like the Atlanta bread company.  The environment would be a round table atmosphere with a white board to write on.  I would like every to give their input and suggestions so we can come up with the best solutions.  And finally we would have one or more people at the event that would take notes on what is talked about and we could put this information into a document for the users of the group.

A topic idea for the first meeting could be something like: “How to create an ASP.NET Enterprise website from the ground up”

We could also follow along with the Patterns and Practices or the Guidelines from Microsoft. .

Let me know if anyone is interested.  I was thinking about a group of 12 would be the right size, but I wanted to see if anyone else was interested in this.

-- Brendon Schwartz

3/30/2005 1:23:30 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Tuesday, March 29, 2005

Over seventy people showed up for the third .Net User Group meeting of the year, the third in the new Microsoft Offices.  There were snacks and drinks for all who attended and we got started after a few short announcements.

Doug Ware, user group leader extraordinaire, was the sole presenter of the evening as circumstances beyond anyone’s control prevented the main speaker for the evening from coming to discuss cryptography.  But Doug was prepared with a free-ranging discussion of using Visual Studio’s Setup projects to create application installers.  Beginning with a quick thirty minute overview and ending with questions from the group on conditional installation behaviors and Windows Management Instrumentation scripting with VBScript and Javascript, Doug managed to fill the entire evening with MSI installer education.  Doug has lots of experience dealing with setup applications and he shared some of his hard earned wisdom.  For example, Doug recommends that you don’t use a bootstrap setup (creates an .exe AND a .msi installer) as you are highly unlikely to find a machine WITH the .Net framework (required by any Visual Studio setup application) but WITHOUT the Windows Installer.  Doug recommends you look into Orca, the MSI editor, so that you can change some behaviors of the MSI that Visual Studio doesn’t expose to you.  Another of Doug’s tips is to pay close attention to the Launch Conditions dialog (because this badly named dialog actually includes 2 dialogs which can be used to help control conditional installer behavior).  One final note – to get at some of the global variables defined within an MSI through script, check the Session.Property(“CustomActionData”) value.  For example, to get the target install directory, you’d check Session.Property(“TARGETDIR”).

Since the main speaker for the evening was unable to show up, everyone went home after Doug finished his presentation and handed out a few prizes.

— Matt Ranlett

3/29/2005 1:17:19 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Thursday, March 24, 2005

Traffic was bad so we had a slow start to the night, but since we had 3 presentations on reporting we had to get started at 6:30.  Jim started the night telling everyone what we had in store which was Active Reports by Jim, Steve with PDFLib and XSL-FO and finally me with Reporting Services. 

Jim started out with Active Reports which gives the end user the ability to create the reports in addition to the developers.  The end users can create the report, but you will need to create the datasource in the back end ahead of time.  You can pass in classes or objects instead of a datasource for people that use things like CLSA.  Once you install active reports all you to do is add a new file from the Add New Item selection and then if you are familiar with access you are good to go.  If you know Microsoft Access, Crystal Reports, or Reporting Services you should be very familiar with Active Reports.  To add it to a winform all you have to do is create a winform and add the report to it.  Active Reports by Data Dynamics. Standard Edition is about 499 and the pro version is 1299 per developer.  All of development for Active Reports is integrated into Visual Studio 2003 so you don’t have to add anything new.  The system comes with an end user designer with the professional version and gives the users the ability to create a report without have to install Visual Studio, but gives the same look and feel.  Some things it doesn’t do well in version 1.0 is charting, they don’t give you the source, support is great, very quick and prompt,  you don’t have drill down functionality.  The features that Jim really pointed out was the fact that you can program against the entire coding model.

Although traffic was bad we still had a big crowd eventually show up.  Note to self: A good thing to do would be to do a performance test against the reporting engines that most people use today.  We had an announcement for Book247 at a discount again.  If you show up to a group you may have a chance to get this discounted cost. 

Next up was Steve with PDFlib.  This presentation was all about creating PDF files.  The version he uses is a COM component, but there is a newer .NET version.  He pointed out that there are 3 ways to create a PDF file from a website 1) through an application like RS 2) component 3rd party product 3) XSLFO.  He went on to show us the 3rd party version called PDFLib which costs 450 bucks.  This version writes a file to disk with the information that you give it.  We were able to see some of the object model for PDFLib, but when it comes down to it there are many options out there and it just comes down to price and features.  He pointed out that these libraries do have a great place for on the fly changes and these libraries let you change options based on user input.  Finally we got to see a small look at XSL-FO which is taking data and changing them to a formatting object.  There aren’t many processors out there yet because this is still a new standard.  The one that we were shown was an apache version that we had to run from the command line.

Finally I went on to show how you can use Reporting Services in your projects and how you can use the web service to embed the information into a webpage or winform.  This is a good idea if you don’t want the end user to know the URL address or you want to have the report look like it is part of your webpage.

--Brendon Schwartz

P.S.  I promise Matt will be back soon to do the review =)

3/24/2005 11:16:33 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Tuesday, March 22, 2005

We had a great turn out for the Mobility group, but had a rocky start.  It was a cold winter day, ok so it wasn’t winter and it wasn’t really cold, but Matt and Michael were not able to make it.  They both had circumstances beyond their control, so I went ahead and ran the show. 

 

We had a great time learning about Mobility development for Pocket PC and had some great hands on demos.  The first presentation was a great introduction to the problems of the current CF.NET Framework and some of the “missing” features.  Venkat showed us how to add context menus for Cut and Paste to TextBoxes.  He showed how OpenNETCF has implemented a lot of the “missing” features for Compact Framework.  After a quick demo and showing the code required to make this work, we had our second presenter Kirk Evans come up.  He claimed he was going to show the new “missing” features that CF.NET 2.0 will be adding and the enhancements that will make it worth checking out.  If you are a mobility programmer and want to know what is coming in the next version you should have been at this meeting, I think they will post the slides on the Mobility site.  Kirk went over what is coming in Visual Studio 2005 and showed some of new IDE features like being able to skin your app for the device you are using (cool).  Even though Kirk was not feeling well he managed to give a great presentation that he claims he could do in his sleep.  My guess is that he is that smart and probably could. 

 

Once all the questions had finished we gave away some great prizes that Kirk had brought for us.  Also we had someone announce a position for a Mobility programmer and if you are interested send the Mobility leaders an email and they will put you in contact with him.

--Brendon Schwartz

 

 

update ******

Great post about the first presentation and source code

http://vpolisetti.blogspirit.com/archive/2005/03/24/enable_contextmenus_automatically_for_opennetcf_textboxex_co.html

3/22/2005 11:44:08 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Friday, March 18, 2005

My job involves working with lots of config data, conveniently stored in the system registry.  Now, there are all kinds of ways to get at the registry.  You can:

  • use regedit and a .reg file.  To silently import a registry file use the /s switch.  To remove a key, prepend the registry key name with a ‘-‘.  This is really great for large amounts of data and works well with batch files
  • use VBScript or JavaScript and the Windows Scripting Host or WMI for full access to the registry (and the rest of your system
  • use the REG command line interface.  Check out this list of options: 

C:\Documents and Settings\Matt>reg /?

Console Registry Tool for Windows - version 3.0
Copyright (C) Microsoft Corp. 1981-2001.  All rights reserved


REG Operation [Parameter List]

  Operation  [ QUERY   | ADD    | DELETE  | COPY    |
               SAVE    | LOAD   | UNLOAD  | RESTORE |
               COMPARE | EXPORT | IMPORT ]

Return Code: (Except of REG COMPARE)

  0 - Successful
  1 - Failed

For help on a specific operation type:

  REG Operation /?

Examples:

  REG QUERY /?
  REG ADD /?
  REG DELETE /?
  REG COPY /?
  REG SAVE /?
  REG RESTORE /?
  REG LOAD /?
  REG UNLOAD /?
  REG COMPARE /?
  REG EXPORT /?
  REG IMPORT /?

Before today I didn’t even know this tool existed for me.  I’ve used the other two methods frequently for unattended installs on remote machines, but this new tool looks very promising.  I learned about it from this post by Scott Hanselman (note the first comment)

— Matt Ranlett

3/18/2005 11:59:53 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

New Scientist magazine recently published an article of 13 things that do not make sense.  These are 13 things which so dramatically violate the laws of physics and chemistry as we know them that we might find ourselves reconsidering the universe.  For example, does cold fusion work?  In 1989 an experiment said it did.  200 US Navy experiments later and we’re not sure one way or the other.  What about Dark Matter – the stuff that supposedly makes up 90% of the mass of the Universe and is the only thing that prevents galaxies from spinning apart.  According to our understanding of physics, it MUST exists, but no probe or telescope has EVER seen a single sign of it, aside from the fact that it MUST exist!

My personal favorite is from the medical field, concerning the placebo effect:

“DON'T try this at home. Several times a day, for several days, you induce pain in someone. You control the pain with morphine until the final day of the experiment, when you replace the morphine with saline solution. Guess what? The saline takes the pain away.

This is the placebo effect: somehow, sometimes, a whole lot of nothing can be very powerful. Except it's not quite nothing. When Fabrizio Benedetti of the University of Turin in Italy carried out the above experiment, he added a final twist by adding naloxone, a drug that blocks the effects of morphine, to the saline. The shocking result? The pain-relieving power of saline solution disappeared.

So what is going on? Doctors have known about the placebo effect for decades, and the naloxone result seems to show that the placebo effect is somehow biochemical. But apart from that, we simply don't know.”

This means we might be able to make real medicine from nothing!  Also consider this one:

Belfast homeopathy results

MADELEINE Ennis, a pharmacologist at Queen's University, Belfast, was the scourge of homeopathy. She railed against its claims that a chemical remedy could be diluted to the point where a sample was unlikely to contain a single molecule of anything but water, and yet still have a healing effect. Until, that is, she set out to prove once and for all that homeopathy was bunkum.

In her most recent paper, Ennis describes how her team looked at the effects of ultra-dilute solutions of histamine on human white blood cells involved in inflammation. These "basophils" release histamine when the cells are under attack. Once released, the histamine stops them releasing any more. The study, replicated in four different labs, found that homeopathic solutions - so dilute that they probably didn't contain a single histamine molecule - worked just like histamine. Ennis might not be happy with the homeopaths' claims, but she admits that an effect cannot be ruled out.

So how could it happen? Homeopaths prepare their remedies by dissolving things like charcoal, deadly nightshade or spider venom in ethanol, and then diluting this "mother tincture" in water again and again. No matter what the level of dilution, homeopaths claim, the original remedy leaves some kind of imprint on the water molecules. Thus, however dilute the solution becomes, it is still imbued with the properties of the remedy.”

This means we might make water think that it is some kind of medicine!

Check out the entire article: http://www.newscientist.com/channel/space/mg18524911.600

— Matt Ranlett

3/18/2005 4:02:45 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

Remember a while back I talked about what is required to increase your rank in Google?  I found this interesting article in Wired Magazine where a Search Engine Optimizer is interviewed.  In the article, Greg Boser talks about how his company, WebGuerrilla manipulates Google’s PageRank software – the software responsible for ordering the list of search results.

Per Google, "PageRank relies on the uniquely democratic nature of the web by using its vast link structure as an indicator of an individual page's value. In essence, Google interprets a link from page A to page B as a vote, by page A, for page B. But, Google looks at more than the sheer volume of votes, or links a page receives; it also analyzes the page that casts the vote. Votes cast by pages that are themselves 'important' weigh more heavily and help to make other pages 'important.'"

The gist of the article is this – if you want your site to rank really really high, get lots and lots of people to link to you.  Link exchanges DO work, but you need lots of them.

— Matt Ranlett 

3/18/2005 2:54:17 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

Michael Hyatt writes a working smart blog with all kinds of helpful time management and productivity tips.  I like to read them even if I don’t implement most of them.  But this particular tip, with regard to presenting using PowerPoint, is very cool:

“display your slides through the projector as usual while simultaneously viewing the slide on the projector, your upcoming slides, your notes, and a timer—all on your laptop. It took about 60 seconds to setup.”

http://michaelhyatt.blogs.com/workingsmart/2005/01/powerpoints_pre.html#more

— Matt Ranlett

3/18/2005 11:39:41 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
3/18/2005 12:09:52 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Thursday, March 17, 2005

At the book club meeting tonight there was a short discussion about being a Microsoft MVP.  This got me to thinking… do we all know our MVPs?  Do we even know what an MVP is?  For those of us who don’t know, an MVP is an outstanding member of the technical community.  These outstanding people are recognized by Microsoft for their willingness to participate and help other community members.  These are the smart people around the world who write the interesting articles, newsgroup postings, and websites that we all read when we need help.  *MVPs are not tested for their technical skills, this award recognizes only their community service efforts.

We have a ton of these folks in the Atlanta/Georgia area.  I wanted to try to list a few of them out, but this is going to be an incomplete list as this information is not necessarily easy to come by.  My apologies in advance for anyone who got left out or mistakenly credited for living in Atlanta.  If you know something is off in this list, please comment on this post and I’ll update the main list.

Jim Behning – Small Business Server

Dave Bernard – Visual Foxpro

Tom Bishop – Tablet PC

Dana Coffey - ASP/ASP.Net

Thomas Divine – Windows Embedded

Mark Dunn – Visual Basic.Net

James Hambleton – Windows Embedded

Geoff Hiten – SQL Server

Teo Lachev – SQL Reporting Services

Dennis Rice – Tablet PC

Michael Sanford  – Windows Server SDK

Jerold Schulman – Windows 2000

James Shaw – ASP/ASP.NET

Shawn Wildermuth – C#

Paul Wilson – ASP/ASP.NET

— Matt Ranlett

3/17/2005 11:46:32 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

The Atlanta .Net Book Club got together at 5 Seasons Brew pub tonight for the last time.  Not the last time that the book club will meet, it’s just that we’re not going back to 5 Seasons.  Don’t get me wrong, I have nothing against the place, it is just time we find a new home nearer the other UG meeting locations.

Tonight we doubled our membership when SIX people showed up.  That may not sound like a lot, but it’s actually a fantastic start.  We made sure that everyone who came had a copy of Dino Esposito’s Introducing ASP.Net 2.0 book and we planned out our schedule of how quickly to read it.  We all want to read about half or more of the book by the next meeting.  We hope to have some interesting questions and maybe even some sample code to look at.  The meeting in May (2 months from now) will be our final discussion of the book and the prep for the next book.

— Matt Ranlett

3/17/2005 11:45:53 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
If you get this before it's too late, we hope to see everyone out at the 5 Seasons brew pub on Roswell Rd (just inside the Perimeter) at 6:30 for the Atlanta .Net Book Club
3/17/2005 11:13:52 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Tuesday, March 15, 2005

Everyone has something to complain about with their various RSS aggregators, so it is a really good thing that there are so many of them out there.  Should we add Microsoft to the list?

— Matt Ranlett

3/15/2005 5:10:39 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Monday, March 14, 2005

Doug gave the announcements and talked to the group about SQL Connections and PASS – upcoming SQL conferences.  Lots of jokes, a little bit of complaining about how salesy the last presentation was, and some thanks to our sponsors from Lumigent.

Harvey Parnell from Lumigent gave us a presentation on database auditing – an “essential business practice for Sarbanes-Oxley compliance”.  Did you know that SOX compliance requirements within organizations have actually changed from the first year to the second year?  In the first year of government regulated auditing, a lot of companies scrambled to meet the requirements.  Frequently those requirements just couldn’t be met easily because there aren’t any products on the market which meet the needs.  Basically, the Sarbanes-Oxley act dramatically changed financial reporting rules for public companies.  In the second year (this year) there is a lot of focus on forcing accuracy of data down to the individual database level through automated tools and manual processes.  The goal is to avoid future Enrons and Worldcoms (accounting scandals).  As far as databases are concerned, the data contained inside of the financial applications are critical to the public organizations.  Auditing attempts to prevent unauthorized access from both external and internal threats from happening, and if they happen they need to be monitored.  Basically there are many auditing controls which are either violated or deficient.  For example, development staff can run transactions in the production system.  This brings to light the need to apply database auditing to all types of data access.  That way, if something goes wrong, you know what the data was before the problem, what it is after the problem, and how to prevent the problems in the future.  While tonight’s presentation focused on the Sarbanes-Oxley Act, there are other legislative requirements for auditing including the HIPAA (medical patient records), Graham Leach Billey Act and Basel II (personal financial records), and other regulations which require data retention for periods of time, such as seven years.  After showing us how difficult it really is to monitor a database system as completely as one needs to be monitored, Lumigent’s staff told us how their application, the Entegra Auditing System meets as many of these needs as possible, with more features on the way.

Next Month – Shawn Wildermuth talking about CLR integration between Visual Studio 2005 (Whidbey) and SQL Server 2005 (Yukon).  After several DBA-centric presentations, I personally will be happy to see something which speaks a little more to the concerns of the developers in the audience.  Those who have seen Shawn present at the main .Net User Group or the Atlanta Mobility User Group know he is an engaging speaker.  Come refresh your understanding of how the CLR integrates with the new Yukon database engine.

— Matt Ranlett

3/14/2005 9:59:40 PM (Eastern Standard Time, UTC-05:00)  #    Trackback