Tuesday, December 27, 2005

SwitchTower Development Tool

I have been working on a cluster-aware .Net/VB/C++/ASP.Net/COM+ deployment system similar in concept to SwitchTower.

Friday, December 09, 2005

Uninstalling Existing StrongName Keys with sn.exe Created By Other Users

When trying to a strongname in Windows XP with sn.exe -d, we got an "8013141C" error - "Failed  to install  key  pair  -- Object  already  exists.".  This was caused by having the same key installed under a different domain, domain user, or local user account.

The hack to fix this is:
  1. Browse to  %SystemDrive%\Documents and  Settings\AllUsers\ApplicationData\Microsoft\Crypto\RSA\MachineKeys
  2. Grant rights to Adminstrators, or whatever group you belong  to
  3. Take Ownership of this folder (click Advanced under Security, and then click the Ownership tab at the top)
  4. Apply the changes to the children ("Replate permission...")

Subversion and ASP.Net

ASP.Net and Subversion have a point of contention. ASP.Net does not like files that start with "." and Subversion uses folders called ".svn". A work-around for Subversion < 1.2.6 exists in the form of a "hacked" version of SVN.exe that uses "_svn" instead of ".svn". This same hack is provided as a special (unsupported) version of TortoiseSVN that also uses "_svn". However, if you use the TSVN hack, you cannot use the SVN.exe that comes with versions < 1.2.6.
When Subversion 1.3.0 is released, this will not be an issue:

See:

Subversion 1.3 Release Notes
and
ASP.Net Hack Notes

You can, in the mean-time, download a modified 1.2.x EXE from Jonathan Malek's blog or a modified 1.1.3 or 1.1.4 modified EXE from another entry.

I am currently using the 1.2.0 binary with the TortoiseSVN ASP.Net hack until SVN 1.3 is released.

Monday, November 14, 2005

Development Links Today

If you haven't seen this,


and you use Win32 .Net applications, you should look.

Trying to use WebDAV under Windows without luck?

Sometimes, Enterprise Manager just won't load ... then what?

Thanks for visiting! Checkout my under-redesign site at http://www.frognet.net/~digital/

New Mono Release Today

The Mono team released a new version today.
 
 
Check it out.

Tuesday, November 08, 2005

Development Tools

I'm using customized versions of the following software:
A fairly simple set of modifications and Perl scripts are used to tie these tools together.

Friday, September 16, 2005

Creating New Processes in .Net and ASP.Net

Did you know that Process.Start always uses the security context of the parent ASP.NET process?
 
Need proof?  Write a simple ASP.Net application that launches "whoami.exe" and captures the result.  No matter how you configure your Web.Config file, you will always see the "ASPNET" local machine account.  You could, yes, change Machine.Config however, that will change the process owner of all spawned processes and the entire ASP.Net application framework.  Probably not what you want.
 
 
 
An alternate implementation of a method called CreateProcessAsUser() can be found in this CreateProcessAsUser blog entry on Ode to Code.
 
 
My research into this topic, for a work-related issue, led me to this Building Secure ASP.NET Applications site .  If any of the above links confuse you -- tokens or impersonation, for example -- this Microsoft Patterns & Practices chapter is very useful.  Not only does it explain a lot of the basic Win32 security concepts required for making effective use of ASP.Net impersonation and the CreateProcessAsUser() method but you can learn a fair amount related to general .Net security and secure application design.

Testing .Net Applications

A series of links to highly useful Unit Testing systems.
 

I hope these links help you explore different tools for building better Unit tests.

Tuesday, July 26, 2005

CPAN for Mono and C#

One of the reasons that Perl remains one of the most cost effective and fastest development systems available today is CPAN the Comprehensive Perl Archive Network, a public web site that maintains literally tens of thousands of Perl modules, scripts and documents. This site allows Perl programmers to re-use and rapidly repurpose existing Perl code for new projects without reinventing the wheel.

One CPAN you will find vast quantities of high quality, high performance software. If C# and Mono are expected to succeed, they will need a similar site to CPAN, PEAR (PHP's CPAN) or PyPI (Python's CPAN.)

Without a community site for sharing open source modules, Mono and C# will never reach the level of rapid development you can find in LAMPpp application development. A brave soul (Joshua Tauberer) has created MonoLibs, a directory of open-source C# libraries for Mono and Microsoft .NET.

I encourage you to take a look and, perhaps, even contribute the C# code you are working on.

Friday, July 22, 2005

Live Mono CD Images

The Mono Live CD is a way for you to try out Linux, the Mono Framework 1.1.7, and the newest desktop applications without modifying your current computing environment.

You can download MonoLive here and test it out on any machine that has a bootable CD-ROM drive. The MonoLive CD-ROM also includes all the files you need to install the Mono environment in Windows XP.

In addition to Mono, the MonoLive CD-ROM also includes a number of good Linux utilities created with or supporting Mono:

  1. Develop, compile and run software with MonoDevelop.
  2. Listen to your music collection in style with Muine.
  3. Take notes with Tomboy.
  4. Manage your photos with F-Spot.
  5. Search music, photos, chats, and documents with Beagle.
  6. Explore web applications such as ASP.NET Forums, IBuySpy, and mojoPortal.

Monday, July 18, 2005

Wednesday, June 01, 2005

Creating Glade, GTK# Mono GUI Apps

To compile a "foo.cs" file using the

mcs /unsafe /resource:foo.glade foo.cs -pkg:gtk-sharp-2.0 -pkg:glade-sharp-2.0


The "foo.glade" file was generted by Stetic and used by GladeStub.exe to create "foo.cs". This complile statement, and the various requirements and meaings, are found documented (somewhat) in this gotmono page.

Stetic, GTK# and GladeStub

Rafael Ferreira created a tool, which he describes on "Mono-List" as follows:



After talking about this little tool I had written on #mono the other
day I decided to package it up and put it out for anyone else that might
find it useful.

gladestub.exe is a very simple glade xml parser that generates a .cs
file with all of the widgets and signals ready for use.

Some shortcomings include (but are not limited to):
* not able to parse thought a glade file with multiple widget-roots.
* the generated code is kinda plain
* There's only 1 template to use - this could be easily extended
* Overwrites the .cs file every time it is run
* other stuff I can't think of right now.

Of course, this works for me (tm), your mileage may vary... and please
email me any questions/comments.

- Rafael

download it here:

http://ophion.org/~rafael/static/download/GladeStub.tar.bz2




It really is a nice tool, I must agree. Combined with Stetic, a IDE-like Designer for the GTK# toolkit this generator allows RAD using C#, Stetic, and in my case, MonoDevelop.

Sunday, May 22, 2005

MonoDevelop 0.7 and Mono 1.1.7 From Source

Fact: You can build MonoDevelop 0.7 and Mono 1.1.7 from Source

What you need from SVN:

  • MonoDevelop: http://svn.myrealbox.com/monodevelop/trunk/MonoDevelop
  • gtk-sharp: http://svn.myrealbox.com/source/trunk/gtk-sharp
  • gtkmozembed-sharp: http://svn.myrealbox.com/source/trunk/gtkmozembed-sharp
  • gtksourceview-sharp: http://svn.myrealbox.com/source/trunk/gtksourceview-sharp
  • mcs: http://svn.myrealbox.com/source/trunk/mcs
  • mono: http://svn.myrealbox.com/source/trunk/mono
  • mono-tools: http://svn.myrealbox.com/source/trunk/mono-tools
  • monodoc: http://svn.myrealbox.com/source/trunk/monodoc

Tuesday, May 17, 2005

GTK# 2.6 BuildConfiguration Summary

Configuration summary
  • Installation prefix = /usr/local
  • C# compiler: /usr/local/bin/mcs -define:GTK_SHARP_2_6
Optional assemblies included in the build:
  • art-sharp.dll: yes
  • gnomevfs-sharp.dll: yes
  • gnome-sharp.dll: yes
  • glade-sharp.dll: yes
  • gda-sharp.dll: yes
  • gnomedb-sharp.dll: yes
  • rsvg-sharp.dll: yes
  • gtkhtml-sharp.dll: yes
  • vte-sharp.dll: yes
  • gtk-dotnet.dll: yes

Monday, May 16, 2005

Mono Development Environment

A little background on my current Mono setup:

  • SVN 5/15/2005 Mono [1.1.7] from Trunk
  • SVN 5/15/2005 GTK# from Trunk
  • SVN 5/15/2005 MonoDevelop 0.6 from Trunk
  • Eclipse 3.0 RC2
  • Improve's Eclipse C# Plugin
My Workstation:
  • vortex 2.6.11.8 #4 SMP GNU/Linux
  • gcc version 3.3.6 (Debian 1:3.3.6-5)
  • automake (GNU automake) 1.9.5
  • Autoconf version 2.13

Wednesday, May 11, 2005

Mono Development Blog

Hello and welcome to my mono development blog. I will be posting information regarding my Mono and .NET development activities here in the coming days and months.