I was chatting w/ my buddy Jonathan tonight over IM (most of you probably know him as the angryCoder) and he mentioned to me that he has, yet again, started up a blog. I think this is his 5th or 6th attempt at blogging but hey, who's counting? If it will get him to write more, (nudge, nudge) I'll gladly link to him.
You can find his new blog here.
Finally, after talking about it like he had signed an NDA, Jason Bock
has launched his .NET Languages website
, dedicated to .NET linguistic investigations. Should be interesting to watch it grow.
Jason also keeps a listing-style page of all the .NET Languages (not sure how up to date it is but still a very thorough list) here
I'd like to know if there's anyone out there that would be willing to part with their copy (or a
copy) of Chris Sells' Windows Forms Programming in C#
book. Let me know how much you want for it and how I can pay you (PayPal preferably). Just leave a comment or e-mail me at jason dot mauss at gmail dot com
Every now and then I read something or have a thought that affects the way I think about something so greatly that I feel compelled to tell others about it. Since this blog is the only way for me to tell those that might care, (I don't think any close friends or family care about different ways of managing SCM repositories) I'm doing it here.
Today during my lunch break I was over at Eric Sink's blog reading the latest chapter in what feels like a mini online book he's been writing lately on Source Control "How To". This chapter - on repositories - had a particularly interesting section that caused me to pause for a moment and think about what I just read:
"Best Practice: Use separate repositories for things which are truly separate
Most SCM tools offer the ability to have multiple distinct repositories. Vault can even host multiple repositories on the same Vault server. People often ask us when this capability should be used.
In general, you should store related items in the same repository. Start a separate repository only in situations where the contents of the two are completely unrelated. In a small ISV, it may be quite logical to have only one repository which contains every project."
In the two and a half years I've been working where I'm at now - where I'm actually responsible for the standardization of our VSS project structure - we've had a single repository full of all the code for all the work we've ever done. Now granted, there was plenty of logical structure built into the project hierarchy but, it's a rather messy and inflexible way of maintaining your SCM repository. I thought to myself:
Why did it naturally make sense to me to create separate databases for unrelated tables, yet it never occurred to me to create separate SCM repositories for unrelated code?
So today I decided that from now on - to the point that it makes sense - we're going to have separate VSS repositories for each major project we carry out or piece of software we build. I was immediately able to think of several advantages to doing this:
You can do a top level "GET" (/$) without worrying about dragging down a bunch of data that's got nothing to do with what you're working on.
You have more flexibility in setting working folders.
You can more easily manage the security related to which people get access to certain code.
You can perform compact/archive/backup operations on only the repositories that need it.
If you migrate to a SCM tool like Vault
- you can import only the repositories you want to be managed by Vault, and keep others managed by VSS.
In a way I feel like perhaps I've been missing the boat here and there are many development shops already doing things this way. Is that true? How do you manage your SCM repositories?
For the piece of software I'm about to build, I need a way of implementing licensing. I've read product information about XHEO's Licensing components, and they seem to fit my needs pretty well. I just thought I'd throw the question out there to others reading this post - do you know of other licensing products that work well with .NET software?
My requirements are:
- It needs to provide a "licensing server" that can dynamically generate license keys for users that purchase the software from our website.
- The licensing server also has to be able to validate a license key over the internet (TCP/IP or HTTP) from any machine with internet access.
- It needs to be able to allow the software to run for a specified period of time as an evaluation period.
I also found Desaware's Licenseing System but, it's a little on the expensive side if you ask me. Any other suggestions?