Expanding on ALT.NET

Dave Laribee started it.

Kar points out some attributes of the ALT.NET developer.

I’d expand and say ALT.NET also means some other things.

  • An ALT.NET developer has written in Boo, IronPython, F# or some other out of the mainstream language.
  • An ALT.NET developer has used Mono on Windows or elsewhere (Linux, OSX, Solaris, etc).
  • An ALT.NET developer uses a Mocking framework.
  • An ALT.NET developer would be using Castle Windsor before Enterprise Library’s ObjectBuilder.
  • An ALT.NET developer has written code to talk to a database other than MSSQL.

What are you doing right now to become more ALT.NET?

Kar posses the question. I never feel like I do nearly enough. My Mocking Framework usage skills are weak. I don’t contribute to Castle nor Mono as much as I wish I did. What I’m doing right now is creating a DisplayShelf component for MonoRail. I was inspired to do this by CodeMash and I finally had the itch when I took photos of my newborn daughter.

TFS woes

A few months back, or maybe a year+ ago right after Visual Studio 2005 was released, Dianne had mentioned to me that she didn’t like that her team wanted her to use Team Foundation Server. I didn’t know much of TFS at that time. I shrugged and said Subversion and Trac work great for me. In fact my team was afraid of Trac and they opted to buy OnTime for bug tracking and live without integrated SCM. Working with the technology of 1997 was better than that of 1987

An ongoing blog discussion made me think of Dianne and her woes.

It started here:
http://ayende.com/Blog/archive/2007/04/29/CodePlex-TFS-and-Subversion.aspx

It escalated here:
http://ayende.com/Blog/archive/2007/04/29/TFS-Zero-Friction-and-living-in-an-imperfect-world.aspx

Roy kept responding:
http://weblogs.asp.net/rosherove/archive/2007/04/29/what-source-control-tool-do-you-use-and-more-on-tfs-vs-open-source-tools.aspx

So did Oren:
http://ayende.com/Blog/archive/2007/04/29/TFS-Vs.-Open-Source-tools.aspx

It seems to have digressed into an Open-Source vs. Closed-Source discussion at this point. Honestly, I can’t see any of Roy’s points. They all seem to be excuses. I tend to agree with Oren on every point. Of course, I am biased toward the open-source world as well.

I’m the Daddy

Many Dad’s have told me how special becoming a Dad is, but its kind of like mastering perl. You must experience it yourself to truly understand what those who are telling you are talking about.

On April 17th, 2007 at 3:14pm Lillian Grace Wren completed a journey down a long dark tunnel toward big bright lights. She weighed in a 7lb, 5oz (3317 grams). Mom and Baby are doing very well and are healthy. Janice never even swore at me or got mad at me the whole delivery time. I encouraged her by saying things like “You can do it Doug, err, Janice” and other paraphrases from the most inspirational movie of all time Iron Eagle.

wrenfam.com

Camel Humping

Ask and I shall receive.

I linked to Scott Cate’s Resharper praise on Friday. Today I’m greeted with a pleasant surprise. Someone else must have been reading Scott Cate’s blog because that crazy guy over at Developer Express seems to have implemented the feature. Happy day!

Oh No! I may have to get Resharper just for this one feature

Oh No! I may have to get Resharper just for this one feature.

http://weblogs.asp.net/scottcate/archive/2007/04/13/resharper-don-t-develop-with-out-it.aspx

Are you listening Developer Express? I tend to prefer CodeRush/Refactor!Pro to Resharper. I’m just choosy like that (my mom didn’t choose Jiff).

I’m talking about the CamelHumps feature that gets used in the Find search boxes, specifically for GoTo File or GoTo Type. This feature is basically like its identical feature from IDEA. I first saw it demoed at CodeMash and I started to druel a little bit. I’m not sure but maybe SonicFileFinder could be improved to support this feature. I’m also not sure that CodeRush doesn’t support it already and I just don’t know it.

According to this I can get ALMOST the same feature using sonic file finder by typing just a few more keystrokes M*S*T for MySearchText instead of just MST. But these features are pure cake and * is an expensive keystroke. I want my pure cake to be moist and smooth. I don’t want to have to type these wildcards.

GAH! According to this, SonicFileFinder already supports what I am asking for. Why has this not worked for me? I swear that I have tried it.

*GASP* I am a fool. I’ve been confusing CodeRush’s Quick Nav feature with SonicFileFinder. SonicFileFinder is VERY nice.

I’m not afraid to admit I’m foolish, so I’m posting this anyway.

Mono SVN repositories moved

Mono finally closed their main SVN for anonymous access and added a new host for anonymous access. I have a bunch of different mono projects checked out in my /opt/mono/src directory and honestly I like to follow trunk for a number of them. I don’t want to recheckout all of them again so I came up with this little shell script/oneliner.


for i in `grep myrealbox */.svn/entries | awk -F/ '{print
$1}' | uniq` ; do pushd $i ; FROM=`svn info | grep URL | cut -d' ' -f 2 ` ; TO=`echo $FROM | sed -e 's/svn:\/\/svn.myrealbox.com/http:\/\/anonsvn.mono-project.com/'` ;svn switch --relocate $FROM $TO ; popd ; done

I hope this helps you.

Extract a password from a saved .rdp file.

I choose complex passwords and I quickly forget them. I save them in rdp files so that I can just click the file and it will automatically log me into a remote desktop connection.

Recently I forgot a password and I really wanted it back. I googled.

Then with some knowledge, I made a stupid and ugly Windows Forms application which lets me extract the encoded password crypt from an rdp file, paste it into a TextBox and click a button to decrypt.

Ok, so the data is fake. All zeros does not decode and decrypt to “thisismypassword”. But it works 🙂

The interesting bits are very short after pulling together the p/invoke and hex encode library.


int discarded;
byte[] bytes =
Utility.HexEncoding.GetBytes( input.Text, out discarded );
System.Text.ASCIIEncoding acsciiencoding = new ASCIIEncoding();
System.Text.UnicodeEncoding lUnicodeEncoding = new UnicodeEncoding();

byte[] lDecryptedBytes = dataProtector.Decrypt( bytes, null );

string decrypted = Utility.HexEncoding.ToString( lDecryptedBytes );
output.Text = "decrypted:"+decrypted + Environment.NewLine +
"unicode:" + lUnicodeEncoding.GetString( lDecryptedBytes, 0, lDecryptedBytes.Length ) +
Environment.NewLine +
"ascii:" + acsciiencoding.GetString( lDecryptedBytes, 0, lDecryptedBytes.Length )
+ Environment.NewLine
;

I like it when things are simple.