Contents tagged with Tools
-
A VS.NET Macro to Generate Machine Keys.
I needed to create a new machine key for an asp.net site. I found a couple of command line utils out on the web that would create a new key but I thought it would be easier to just have it avail in VS.NET. So, I threw together this little macro that will generate the machine key and insert it. Just run the macro while you have you web.config open in VS.NET. If you already have a machinekey it will find it and replace it. If not it will just add it right after the <system.web> node. It should do the proper indents and everything too.
-
Parallels adds "Express Windows Installation"
I just ran across this over on parallels site:
-
Suggestions for distributing CTPs as VirtualPC images
I finally got around to trying the Sept. CTP of Orcas. I loaded up the VPC images on VPC7 Beta (which seems to perform much better than VPC2004). If this is going to be the way that MS is going to release CTPs in the future here are a few suggestions:
-
Convert Thunderbird Email to Windows Mail
I've been converting my thunderbird email boxes to Windows Mail on Vista. To do this you need to use a tool that convert the mbox format to .eml format. I found this free one that seems to work pretty well: http://www.broobles.com/imapsize/th2outlook.php
-
New version of LearnVisualStudio.NET launched
-
Remote workers and Agile/SCRUM/XP
Andrew raises the question: What is the impact of the remote worker on Agile approaches?
A couple of months ago I started working with Bob on LearnVisualstudio.NET. We are just about ready to launch a major redesign of the site. The development process for this redesign may not have been text book Agile but there were moments where we were definitely pair programming. Now what I havn't mentioned is that we were never in the same room. He is at his house and I am at mine. Both of us are in Dallas and the web design guy, Dustin is in Chicago! So how is this possible? Well, heres what we did:
I set up a VMware image with Win2k3 server + dev tools. This image was configured pretty much the same as the production server. Dev SSL certs and all. I installed Tight VNC so that we could easily share the desktop. I installed shortcuts in the VM that would allow each of us to connect to the others version of the web site as well as connect to thier desktop with VNC. Source control was preconfigured in the VM to connect to our Vault server. This setup has created a consistant dev enviroment for each of the team members.
We pretty much exclusively use google talk to do text and voice chatting. When we have to have a voice conference with Dustin we use Skype. Looking at my google chat logs I can see several occasions where one of us would say something like: "Hey can you come on over to my VM?". This usally initiates a little pair programming session or a design review etc.
This setup is working very well for our small team (2 devs, 1 web designer). To some degree this is working better than when I was in an office sitting right next to other devs. I can't really say how well it would work for larger teams or more complex projects. But I can say that is very easy to try out. All you have to do is install some software and give it a try.
Tools Link-o-rama:- VMWare / VPC / Parallels
- Tight VNC
- gtalk / skype
- Source Gear Vault
- backpackit.com (usefull for keeping track of shared documentation files etc)
-
Rails Live CD
Just found this on digg.com:
http://www.brianketelsen.com/articles/2006/06/20/progress-isnt-just-for-breakfast-anymore
It's a Live CD with all the stuff you need to try out Ruby On Rails! This looks like it could be a pretty slick way to try out Rails. Maybe even better would be to create a VMWare Player image to try Rails with. -
A great article on functional programming...
http://www.defmacro.org/ramblings/fp.html
This article was a great overview of many of the aspects of functional programming. With what Micosoft is doing to the CLR and C# and VB it would seem that functional programming is making advances into the main stream. His article has imaginary Java samples and if you squint your eyes when he creates a class to hold a function you can see delegates.
I studied functional languages such as LISP and ML in college but quickly lost track of them after years of programming in corporate IT. To catch back up I've been spending the better part of a year studying functional programming concepts. While its been challenging at times, there have been alot of aha and oh yeah moments.
Since I have a great comfort level with C syntax I started my ride on the functional wagon with COmega. This is where I really began to "get" things like closures. I even found myself purposfully writing my own code to mimic a closure in good ol C# 1.0 for certain situations like Regex match evaluators. Once you see the "patterns" that higher order functions exhibit you can write them in plain imperative code. This will make you hunger for language constructs to do this work for you. Its like writing OO code in assembly language.
C# 2.0 Added true closures to the language with anonymous delegates. Woo hoo no more private nested classes to hold lexical context! (at least not that I write).
At PDC I got to see the preview of C# 3. This takes anonymous delegates a step further with "lambdas". There's lazy evaluation galore with LINQ. It would seem that MS has been bitten by the functional bug. Even the Atlas client APIs make good use of the functional elements of JavaScript.
I've also ventured out into IronPython and Ruby. These are great places to practice functional programming techniques.
The real challenge moving forward is finding the right balance. Theres no doubt in my mind that functional programming techniques are headed to the main stream. With the populatrity of Ruby and Rails and Microsoft adding functional capabilites into C# and VB the winds of change are blowing.
Link dump so I can keep track of what I'm researching:
COmega: http://research.microsoft.com/Comega/
LINQ: http://msdn.microsoft.com/data/ref/linq/
F#: http://research.microsoft.com/fsharp/fsharp.aspx
IronPython: http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
Ruby: http://www.ruby-lang.org/en/
Ruby.NET: http://www.plas.fit.qut.edu.au/rubynet/
IronRuby: http://wilcoding.xs4all.nl/Wilco/IronRuby.aspx
RubyCLR: http://www.iunknown.com/articles/2006/06/19/rubyclr-drop-4
Atlas: http://atlas.asp.net/Default.aspx?tabid=47
#Smalltalk: http://www.refactory.com/Software/SharpSmalltalk/index.html
brianbec's blog:
http://weblogs.asp.net/brianbec/default.aspx
http://weblogs.asp.net/brianbec/archive/2006/06/01/Lambdas_2C00_-Closures_2C00_-Currying_2C00_-and-All-That.aspx -
Team Explorer available for FREE !?!
A friend of mine (Preston Ridley) just alerted me to this blog that says Team Explorer is available for free download now. This is for use with codeplex. This is great news! Thank you MS! The pondering has already started on how this effects CALs for users that need just TFS access. My guess is that the free version is only for use with codeplex.
-
My portable thumb drive toolbox as of May 2006
Here's a list of my current usb thumb drive build out of portable apps and tools:
- Locknote - for all my little secrets (passwords and such)
- Portable Firefox
- Extensions:
===========
- Tabsidebar
- Gmail notifier
- Copy plain text
- Google toolbar
- Tiny url creator
- Tag editor
- DeepestSender
- Answers
- Web Developer
- Tabmix Plus
- CoLT
- Javascript Debugger
- Google Notebook
- Extensions:
- OperaUSB
- PortableThunderbird (email + rss aggregator)
- PortableSunbird (Calendar)
- Portable FileZilla
- PortableGAIM
- Notepad2
- SciTE
- Microburner
- Portable ClamWin
- ColorCop
- Lutz Roder's Reflector
- SnippetCompiler
- uTorrent
- TightVNC (server and client)
- Media Player Classic
- Autoruns
- DebugView
- FileMon
- RegMon
- Process Explorer
- Rootkit Revealer
- ZoomIt
- Bluescreen Screensaver
- Portable GIMP
- XAMP
- Instant Rails
To tie it all up I have an autorun for PStart, a nice launcher that sits in the tray. Lets me assign hotkeys to the most commonly used apps.