An AJI Software Community
BLOGGER LIST

(1304, 11/07/2009) 
(1268, 11/05/2009) 
(1111, 11/07/2009) 
(851, 10/15/2009) 
(757, 11/08/2009) 
(676, 10/19/2009) 
(638, 11/02/2009) 
(615, 10/02/2009) 
(570, 11/05/2009) 
(555, 9/16/2009) 
(526, 11/02/2009) 
(472, 10/21/2009) 
(431, 10/16/2009) 
(403, 10/19/2009) 
(398, 10/17/2009) 
(391, 11/02/2009) 
(384, 9/26/2009) 
(378, 11/07/2009) 
(367, 9/18/2009) 
(353, 11/03/2009) 
(305, 11/05/2009) 
(304, 11/06/2009) 
(292, 11/04/2009) 
(258, 11/04/2009) 
(257, 10/31/2009) 
(253, 11/05/2009) 
(248, 10/02/2009) 
(243, 10/22/2009) 
(234, 10/28/2009) 
(223, 6/24/2009) 
(213, 11/08/2009) 
(202, 10/28/2009) 
(200, 11/07/2009) 
(197, 10/19/2009) 
(196, 6/03/2009) 
(191, 11/06/2009) 
(190, 10/29/2009) 
(186, 11/07/2009) 
(178, 11/06/2009) 
(170, 9/24/2009) 
(165, 6/15/2009) 
(165, 11/06/2009) 
(164, 10/01/2009) 
(161, 9/08/2009) 
(152, 8/27/2009) 
(143, 10/26/2009) 
(142, 7/10/2009) 
(140, 11/04/2009) 
(140, 11/04/2009) 
(139, 11/04/2009) 
(138, 11/03/2009) 
(136, 11/02/2009) 
(133, 6/18/2009) 
(132, 9/29/2009) 
(131, 10/19/2009) 
(125, 7/02/2009) 
(125, 7/23/2009) 
(125, 10/28/2009) 
(124, 11/06/2009) 
(124, 8/31/2009) 
(123, 10/18/2009) 
(120, 7/19/2009) 
(119, 7/01/2009) 
(112, 9/29/2009) 
(110, 5/26/2009) 
(110, 11/02/2009) 
(109, 11/08/2009) 
(107, 9/09/2009) 
(106, 10/20/2009) 
(105, 11/06/2009) 
(105, 8/06/2009) 
(104, 11/07/2009) 
(101, 10/15/2009) 
(99, 10/23/2009) 
(98, 6/05/2009) 
(97, 8/18/2009) 
(96, 10/28/2009) 
(95, 10/11/2009) 
(94, 10/22/2009) 
(93, 8/06/2009) 
(92, 10/22/2009) 
(92, 11/02/2009) 
(90, 10/19/2009) 
(84, 11/01/2009) 
(84, 5/21/2009) 
(80, 6/24/2009) 
(80, 11/05/2009) 
(77, 8/07/2009) 
(76, 11/09/2009) 
(75, 8/12/2009) 
(74, 5/20/2009) 
(72, 10/26/2009) 
(71, 11/03/2009) 
(70, 11/07/2009) 
(70, 11/04/2009) 
(70, 10/04/2009) 
(67, 10/20/2009) 
(66, 11/03/2009) 
(66, 11/05/2009) 
(64, 8/27/2009) 
(64, 11/08/2009) 
(64, 9/22/2009) 
(63, 9/09/2009) 
(62, 8/13/2009) 
(62, 11/06/2009) 
(60, 9/22/2009) 
(59, 10/20/2009) 
(58, 5/14/2009) 
(57, 10/27/2009) 
(57, 10/01/2009) 
(56, 10/14/2009) 
(56, 5/20/2009) 
(54, 11/02/2009) 
(52, 9/16/2009) 
(52, 8/20/2009) 
(51, 11/04/2009) 
(51, 5/28/2009) 
(51, 10/22/2009) 
(51, 8/19/2009) 
(51, 8/24/2009) 
(51, 11/01/2009) 
(50, 5/12/2009) 
(49, 10/21/2009) 
(49, 11/05/2009) 
(49, 11/08/2009) 
(48, 10/13/2009) 
(47, 11/06/2009) 
(47, 6/16/2009) 
(47, 11/01/2009) 
(46, 11/06/2009) 
(44, 11/02/2009) 
(44, 11/08/2009) 
(44, 7/08/2009) 
(44, 8/07/2009) 
(43, 10/19/2009) 
(43, 10/19/2009) 
(43, 9/12/2009) 
(42, 11/05/2009) 
(42, 10/23/2009) 
(41, 8/17/2009) 
(40, 10/07/2009) 
(40, 11/08/2009) 
(39, 5/17/2009) 
(39, 10/15/2009) 
(39, 11/05/2009) 
(38, 9/26/2009) 
(38, 8/06/2009) 
(38, 9/16/2009) 
(37, 11/06/2009) 
(37, 7/21/2009) 
(36, 5/22/2009) 
(36, 10/15/2009) 
(36, 11/05/2009) 
(35, 8/14/2009) 
(34, 11/08/2009) 
(33, 6/04/2009) 
(32, 11/04/2009) 
(32, 8/25/2009) 
(32, 9/04/2009) 
(32, 8/27/2009) 
(31, 9/21/2009) 
(30, 6/18/2009) 
(30, 10/12/2009) 
(30, 11/02/2009) 
(29, 11/08/2009) 
(29, 10/21/2009) 
(29, 10/17/2009) 
(28, 9/02/2009) 
(28, 11/07/2009) 
(27, 11/04/2009) 
(27, 10/14/2009) 
(27, 10/30/2009) 
(27, 9/07/2009) 
(27, 10/09/2009) 
(27, 11/08/2009) 
(26, 9/21/2009) 
(26, 8/28/2009) 
(26, 10/25/2009) 
(25, 10/30/2009) 
(25, 10/15/2009) 
(25, 7/23/2009) 
(25, 10/31/2009) 
(25, 6/25/2009) 
(25, 9/24/2009) 
(24, 7/30/2009) 
(24, 9/04/2009) 
(24, 10/16/2009) 
(24, 10/13/2009) 
(24, 10/28/2009) 
(24, 8/19/2009) 
(24, 8/31/2009) 
(23, 10/19/2009) 
(23, 6/30/2009) 
(22, 11/02/2009) 
(22, 10/08/2009) 
(22, 11/08/2009) 
(21, 10/20/2009) 
(21, 10/29/2009) 
(21, 10/19/2009) 
(21, 9/26/2009) 
(21, 7/31/2009) 
(21, 5/14/2009) 
(21, 10/23/2009) 
(20, 10/03/2009) 
(20, 10/03/2009) 
(20, 10/19/2009) 
(20, 11/06/2009) 
(19, 8/19/2009) 
(19, 6/01/2009) 
(19, 8/29/2009) 
(19, 10/05/2009) 
(18, 7/11/2009) 
(18, 9/12/2009) 
(18, 10/07/2009) 
(18, 10/01/2009) 
(18, 10/25/2009) 
(17, 10/05/2009) 
(17, 9/28/2009) 
(17, 8/04/2009) 
(17, 9/30/2009) 
(17, 7/08/2009) 
(17, 10/07/2009) 
(16, 10/25/2009) 
(16, 10/27/2009) 
(16, 7/08/2009) 
(16, 8/28/2009) 
(16, 8/04/2009) 
(16, 6/19/2009) 
(16, 7/13/2009) 
(16, 10/28/2009) 
(16, 7/27/2009) 
(16, 9/26/2009) 
(15, 11/05/2009) 
(15, 8/19/2009) 
(15, 10/02/2009) 
(15, 8/11/2009) 
(15, 8/11/2009) 
(15, 11/05/2009) 
(14, 9/17/2009) 
(14, 5/12/2009) 
(14, 10/26/2009) 
(14, 9/10/2009) 
(14, 10/23/2009) 
(14, 9/27/2009) 
(14, 10/17/2009) 
(14, 10/19/2009) 
(14, 9/01/2009) 
(13, 9/04/2009) 
(13, 9/24/2009) 
(13, 6/30/2009) 
(13, 10/29/2009) 
(13, 10/20/2009) 
(13, 11/05/2009) 
(13, 8/19/2009) 
(13, 9/06/2009) 
(13, 8/04/2009) 
(13, 7/16/2009) 
(13, 9/14/2009) 
(13, 10/08/2009) 
(12, 8/21/2009) 
(12, 10/29/2009) 
(12, 6/25/2009) 
(12, 9/22/2009) 
(12, 7/01/2009) 
(12, 10/01/2009) 
(12, 11/05/2009) 
(12, 7/21/2009) 
(12, 8/21/2009) 
(12, 11/06/2009) 
(11, 10/11/2009) 
(11, 5/27/2009) 
(11, 10/11/2009) 
(11, 10/08/2009) 
(11, 10/20/2009) 
(11, 8/12/2009) 
(11, 11/03/2009) 
(11, 10/22/2009) 
(11, 7/06/2009) 
(11, 10/05/2009) 
(11, 6/18/2009) 
(11, 10/09/2009) 
(11, 10/14/2009) 
(10, 10/19/2009) 
(10, 7/07/2009) 
(10, 7/18/2009) 
(10, 7/21/2009) 
(10, 10/30/2009) 
(10, 11/07/2009) 
(10, 10/29/2009) 
(10, 10/22/2009) 
(10, 10/19/2009) 
(10, 10/11/2009) 
(10, 10/17/2009) 
(10, 6/29/2009) 
(10, 9/24/2009) 
(10, 10/29/2009) 
(9, 10/27/2009) 
(9, 8/21/2009) 
(9, 8/13/2009) 
(9, 7/31/2009) 
(9, 10/12/2009) 
(9, 11/05/2009) 
(9, 10/02/2009) 
(9, 9/04/2009) 
(9, 10/09/2009) 
(9, 10/13/2009) 
(9, 8/20/2009) 
(8, 10/26/2009) 
(8, 9/23/2009) 
(8, 11/07/2009) 
(8, 10/28/2009) 
(8, 7/30/2009) 
(8, 8/04/2009) 
(8, 9/24/2009) 
(8, 5/12/2009) 
(8, 11/04/2009) 
(8, 11/05/2009) 
(8, 9/02/2009) 
(8, 5/15/2009) 
(8, 9/04/2009) 
(8, 9/08/2009) 
(8, 8/26/2009) 
(7, 7/10/2009) 
(7, 7/19/2009) 
(7, 7/20/2009) 
(7, 9/03/2009) 
(7, 8/28/2009) 
(7, 10/27/2009) 
(7, 8/24/2009) 
(7, 8/10/2009) 
(7, 8/13/2009) 
(7, 10/23/2009) 
(7, 7/27/2009) 
(6, 10/24/2009) 
(6, 5/19/2009) 
(6, 6/05/2009) 
(6, 6/20/2009) 
(6, 10/28/2009) 
(6, 10/21/2009) 
(6, 10/30/2009) 
(6, 7/03/2009) 
(6, 11/02/2009) 
(6, 5/26/2009) 
(6, 5/10/2009) 
(6, 8/13/2009) 
(6, 5/14/2009) 
(5, 9/09/2009) 
(5, 9/09/2009) 
(5, 7/01/2009) 
(5, 10/18/2009) 
(5, 8/17/2009) 
(5, 10/20/2009) 
(5, 10/06/2009) 
(5, 6/10/2009) 
(5, 8/26/2009) 
(5, 10/01/2009) 
(5, 10/18/2009) 
(5, 10/09/2009) 
(5, 6/26/2009) 
(5, 9/12/2009) 
(5, 7/09/2009) 
(5, 6/07/2009) 
(4, 10/08/2009) 
(4, 7/27/2009) 
(4, 8/12/2009) 
(4, 7/08/2009) 
(4, 5/29/2009) 
(4, 7/08/2009) 
(4, 9/24/2009) 
(4, 6/21/2009) 
(4, 5/26/2009) 
(4, 8/14/2009) 
(4, 8/10/2009) 
(4, 8/31/2009) 
(4, 10/27/2009) 
(4, 10/13/2009) 
(4, 11/03/2009) 
(4, 11/05/2009) 
(4, 5/17/2009) 
(4, 7/24/2009) 
(3, 9/09/2009) 
(3, 9/23/2009) 
(3, 7/01/2009) 
(3, 6/09/2009) 
(3, 7/29/2009) 
(3, 9/26/2009) 
(3, 5/25/2009) 
(3, 11/06/2009) 
(3, 11/06/2009) 
(3, 10/27/2009) 
(3, 10/30/2009) 
(3, 11/03/2009) 
(3, 11/09/2009) 
(3, 7/18/2009) 
(3, 7/22/2009) 
(3, 10/06/2009) 
(3, 11/05/2009) 
(3, 7/19/2009) 
(3, 7/15/2009) 
(3, 10/03/2009) 
(3, 7/20/2009) 
(3, 10/16/2009) 
(3, 7/04/2009) 
(3, 6/15/2009) 
(3, 10/06/2009) 
(3, 7/23/2009) 
(2, 5/24/2009) 
(2, 7/17/2009) 
(2, 8/21/2009) 
(2, 6/24/2009) 
(2, 9/10/2009) 
(2, 6/19/2009) 
(2, 8/13/2009) 
(2, 7/29/2009) 
(2, 7/05/2009) 
(2, 10/04/2009) 
(2, 6/23/2009) 
(2, 8/23/2009) 
(2, 7/30/2009) 
(2, 10/03/2009) 
(2, 9/03/2009) 
(2, 8/14/2009) 
(2, 9/25/2009) 
(2, 10/15/2009) 
(2, 10/24/2009) 
(2, 10/12/2009) 
(2, 10/27/2009) 
(2, 11/07/2009) 
(2, 11/05/2009) 
(2, 11/06/2009) 
(2, 9/27/2009) 
(2, 8/19/2009) 
(2, 9/25/2009) 
(1, 11/02/2009) 
(1, 11/07/2009) 
(1, 11/09/2009) 
(1, 11/01/2009) 
(1, 10/30/2009) 
(1, 11/05/2009) 
(1, 10/20/2009) 
(1, 10/07/2009) 
(1, 9/16/2009) 
(1, 9/15/2009) 
(1, 9/04/2009) 
(1, 9/01/2009) 
(1, 8/17/2009) 
(1, 8/21/2009) 
(1, 9/04/2009) 
(1, 10/28/2009) 
(1, 7/21/2009) 
(1, 7/23/2009) 
(1, 8/03/2009) 
(1, 9/03/2009) 
(1, 8/11/2009) 
(1, 9/16/2009) 
(1, 7/27/2009) 
(1, 8/04/2009) 
(1, 6/19/2009) 
(1, 7/06/2009) 
(1, 7/02/2009) 
(1, 7/01/2009) 
(1, 5/28/2009) 
(1, 6/15/2009) 
(1, 6/03/2009) 
(1, 5/28/2009) 
(1, 5/28/2009) 
(1, 6/20/2009) 
(1, 6/20/2009) 
(1, 5/15/2009) 
(1, 6/10/2009) 
(1, 8/27/2009) 
(1, 6/22/2009) 
Tag | Programming Posts

These days I'm very much in the market for anything will cut down on manual typing. Thus I'm dictating more of what I write (using speech recognition), and today I began to explore CodeRush: a highly extensible Visual Studio plug-in Being very smart marketers, DevExpress offers a free version: CodeRush Express, which is a somewhat stripped down, but fully useful product, and they offer a 30 day trial of the full CodeRush product. The trial, however, allows you to install both the trial of CodeRush...
It has been exciting lately to work on a new project. Doxygen.NET is a wrapper for Doxygen’s documentation XML files. It allows you to access your documentation in a nice and flexible way. Imagine being able to access your documentation like this: Docs docs = new Docs(Server.MapPath("~/docs-xml"));foreach (Class c in docs.GetNamespaceByName("Ra.Behaviors").Classes) { Label nameLabel = new Label(); Label descriptionLabel = new Label(); nameLabel.Text = c.Name; descriptionLabel.Text = c.Description;...
My friend Todd Kitta and I were having a discussion on GUIDs. He said that one day he compared the number of possible GUIDs to the number of grains of sand estimated to be on all the beaches on the earth. Number of GUIDs 340,282,366,920,938,463,463,374,607,431,770,000,000 * Grains of sand 75,000,000,000,000,000,000 * I guess that's why we don't typically put in error checking to detect duplicate GUIDs. It hasn't yet, but if it can happen, it'll happen to me. Technorati Tags: Programming * Numbers...
A friend of mine Denny Boynton and I were talking at TechEd last week about green computing and it started me thinking. He mentioned that he and some other architects were discussing green computing platforms (server vitalization, cloud computing,etc...). That started me talking about: What is the responsibility of the software developer in this emerging green computing grid? Many infrastructure groups over the last few years have been moving to virtual servers and environments initially to save...
File this one under the "yet another useless error" category. I was trying to publish a form that I prevously had succesfully published to my development VPC. Every time I tried to publish it would say "the following url is not valid" when I entered the path to the sharepoint site. Doing the standard search for the error yielded several potential solutions ranging from re-installing .NET, make sure there's a site at the root "/" and make sure there's a SSP. Additional searching yielded the other...
I suppose I was naive in thinking that once I received my Microsoft MVP award, I could breathe a bit. But we've had sooo much Developer Community activity, I haven't had a chance to breathe, much less blog. I still haven't had an opportunity to blog about the MVP Summit! Needless to say, the MVP Summit was a blast (other than having a digestive track illness, where I missed the last day's keynotes). The best thing about the Summit was the ability to meet and talk directly with the product teams....
I wrote this series of data entry SharePoint web parts using Infragistics' UltraWebGrid in C#. Afterwards, the client proclaimed they really wanted everything in VB so I used one of those online converters and it didn't take hardly any time at all. The project was created with Ted Pattison's STSDEV available on CodePlex. (I highly recommend this tool ... thanks to my buddy Brendon Schwartz, SharePoint MVP for pointing me to it.) Unfortunately, the version of STSDEV I used only created C# projects...
You've been there. "It works on my box!" Our new SharePoint web parts don't work in production! This project called for a suite of data entry grids inside custom SharePoint web parts. The customer already owned Infragistics' NetAdvantage for ASP.NET so I used their UltraWebGrid. Very slick and easy to deploy with your custom web parts. The primary feature they wanted was the cool Excel-like cut-n-paste functionality but that wasn't working in our production environment. At the beginning of the project,...
I had come across an article where you can use the following line to read custom section settings from your config file (where SectionName is the name of your section) in .Net. NameValueCollection myData = (NameValueCollection)System.Configuration.ConfigurationManager.GetSection(SectionName); The advantage of this is your setting doesn't have to be in the app.config file (web.config). You can have a file named mywackyweirdfilename.config, and you use the exact same line. The beauty of it is in the...
Scott Hanselman just updated and/or added some terrific screencasts showcasing ASP.NET MVC, which just went wild as Preview 2 today. He talks about some significant changes from the December CTP and walks through several examples that make understanding and implementing the MVC simple, understandable, and (IMO) ultimately sellable to the uninitiated/uninterested. He covers, with great clarity, several methods for displaying data, working with forms in CRUD operations and helper classes that will...
Generics is a new feature in .NET 2.0 which allows us to create a data structure without committing to a specific data type. In the early age of .net 2.0 (i.e. .net 1.x), while using custom entity model in our application data architecture, we had to create a separate class regarding the collection for each of custom entity. The custom entity public class SystemUser { public string _Name, _Password; public SystemUser(string name, string password) { _Name = name; _Password = password; } public string...
Authentication and authorization is the two basic part of the user-end security in asp.net web applications. After to successful authentication of a user, authorization takes the place according to which the authenticated user are allowed to access to the corresponding resources in the web application. Role based security is very basic requirements in the current trend of web applications. Mostly there are two roles involved, which are registered user and the admin users. However in a web application...
New developers often ask me about C# delegate, as they got a bit confused about the basic concept and specially maximum of the reference contains and discussed from an advanced view. Well I think delegate is really simple, when you grab it's basic idea. So what is delegate? Basically it is similar like the old "C" age function pointer, where functions can be assigned like a variable and called in the run time based on dynamic conditions. C# delegate is the smarter version of function pointer which...
In my game programming class next week, my students will be learning about C# data types and working with variables. I have several small programs for them to program so that they feel comfortable programming in C# and working with the IDE. These are console applications and will be easy for them to master. The students will start to learn how to program a basic windows game called BRIX. Here's a description of the game. Game Design Overview As its name implies, this is a Windows-based game named...
I recently was working on a project in .NET 1.1 and needed an Ajax solution and .NET 2.0 or beyond was out of the question due to hardware and environment constraints. I found a solution I wanted to share. Maybe you have found a better one out there, but I was quite pleased with what I found. I found http://www.ajaxpro.info/. It was written by Michael Schwarz in Germany. I don't know the fellow and haven't tried to contact him, but he wrote a heck of a solution. I really enjoy the flexibility. One...
"Such and Such a grid should not be blank when there is no data, it should show the column headers with no rows." How many times have you heard that? Yeah, I've seen it as bugs in the change request system!! Seems like a simple enough request, but trying to deliver it sends you straight into the land of GridView hacking. Oh why was such a simple feature not incorporated into the GridView. Microsoft are you listening. Instead you have to jump hoops. Here are some of those hoops that help you solve...
Time to register again for this years Code Camp. Technorati tags: .net, code camp, silicon valley, programming...
One of the key new features of Windows Vista is a component called the Kernel Transaction Manager (KTM) that brings inherent support for transactional development in not just the kernel-mode but also for user mode. Infact, NTFS has been enhanced to use and support transactions such that couple of new APIs (e.g. CopyFileTransacted, MoveFileTransacted just to name a few) have surfaced up. You can get more details on Transactional NTFS here. To demonstrate the power of the new APIs, I wrote a C++ class...
Microsoft has just announced Surface. Just at first glance, this appears to be something that could change everything. I am curious about a couple of things. 1) Will it really be cost effective enough that we will be able to have a coffee table (See the Power video) that sorts our pictures and 2) How in the world is this going to run on top of Vistazilla? If they could really do that bar trick with the bubbles and stuff... dang. Pretty impressive. Link to Microsoft Surface Technorati Tags: Microsoft...
In case some of you missed it, Andrew May has a good post on how to create content type ids for feature definitions. Now as you might gather, creating features requires a whole heap of GUIDs on your hand. So a tool that can do this static void Main(string [] args){ if (args.Length == 0) { // Show GUID Form} else { Guid g = Guid.NewGuid(); if (args[0].ToLower() == "d") { Clipboard.SetDataObject( g.ToString("D"), true); } if (args[0].ToLower() == "n") { Clipboard.SetDataObject( g.ToString("N"), true);...