June 30th, 2007 — 09:41 am
I previously published a list of podcasts I listen to, but since then I found several new ones:
- AudioPill - Technical podcast in Hebrew
- Ted Talks - Influential people talking about their vision
- Manager Tools - Management related, but also useful for any developer
I also started enjoying DotNetRocks (show 244 was great), by fast-forwarding 8-12 minutes, to the point where they actually start talking with the show’s guest.
Comment » | Podcasts
June 26th, 2007 — 09:00 am
Inbar Gazit published a post on “Converting the Non-Generic Collections” in the BCL Team blog.
He had this handy little table:
| Non-generic |
Generic replacement |
| ArrayList |
List<T> |
| BitArray |
List<Boolean> [note that this isn’t stored as compactly as BitArray but represents the same information] |
| CaseInsensitiveComparer |
Comparer<T> |
| CaseInsensitiveHashCodeProvider |
Comparer<T> |
| CollectionBase |
Collection<T> |
| Comparer |
Comparer<T> |
| CompatibleComparer |
Comparer<T> |
| DictionaryBase |
KeyedCollection<K,V> |
| DictionaryEntry |
KeyValuePair<K,V> |
| Hashtable |
Dictionary<K,V> |
| KeyValuePairs |
KeyValuePair<K,V> |
| Queue |
Queue<T> |
| ReadOnlyCollectionBase |
ReadOnlyCollection<T> |
| SortedList |
List<T> |
| Stack |
Stack<T> |
Comment » | Useful .Net classes
June 24th, 2007 — 01:46 pm
Browsing through code is always a lot easier using regions, and I keep grouping methods/fields/properties in my code in regions.
Now it seems I found the perfect tool for me:
Regionerate lets you define regions in your code and determine the way members (fields, methods, properties etc.) should be placed inside them.
Regionerate is a zero-friction tool - when setting up, you can choose a Code Layout (the way you want your code to look) or just use the default Code Layout. From that moment on, Regionerate will make sure your code follows that Code Layout.
You can see a very short screencast here.
(Thanks to Roy Osherov for the link)
Comment » | Tools, Visual Studio
June 23rd, 2007 — 11:28 am
One of the major advantages of the “Shelf” feature in Team System is the ability to backup all your current code the the central server for backup, even before checking in complete changes.
To do this programmatically you first need to get the name of the TFS server, and get the version control service:
TeamFoundationServer tfs = new TeamFoundationServer(tfsName);
VersionControlServer versionControl = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
Now you can call the VersionControlServer.QueryWorkspaces method, which receives 3 parameters (WorkspaceName, WorkspaceOwner, WorkspaceComputer) when each of them (or all) may be null.
Using the workspace you need to call the Shelve method, supplying the pending changes with the GetPendingChanges method.
Here is the complete code:
public static void ShelveAll(string tfsName, string workspaceName, string workspaceOwner, string workspaceComputer){ TeamFoundationServer tfs = new TeamFoundationServer(tfsName); VersionControlServer versionControl = (VersionControlServer)tfs.GetService(typeof(VersionControlServer)); foreach (Workspace ws in versionControl.QueryWorkspaces(workspaceName, workspaceOwner, workspaceComputer)) { PendingChange[] changes = ws.GetPendingChanges(); if (changes.Length > 0) { Shelveset set = new Shelveset(versionControl, DateTime.Now.ToString("yyyyMMdd HHmm"), ws.OwnerName); ws.Shelve(set, ws.GetPendingChanges(), ShelvingOptions.None); } }}
Comment » | VSTS
June 23rd, 2007 — 11:22 am
For Hebrew speakers only, Guy Burstein recorded several short (7-15 minutes) screencasts showing some of the application blocks inside EntLib 3:
- Logging application block
- Exception handling AB
- Validation AB
- Policy injection AB
For English speakers, I found several screencasts here.
And there is also a new Team System screencast site: “How do I?“.
1 comment » | VSTS
June 23rd, 2007 — 11:13 am
As it turns out, there is a file called ExpansionsXML.xml in your “local settings” folder, which gets written by VS a lot, thus slowing down the application - marking it as “read only” solves the problem.
(Thanks to Kim’s post)
Comment » | Visual Studio
June 23rd, 2007 — 11:06 am
How many times you saw an advertisement featuring a model who’s photo got improved by photoshop experts?
Now you have this option available to you, through the FixMyPhotos web site, allowing you to upload your picture and pay (1.5-10$) for enhancement of the photos.
Some things, like gamma correction and cropping is easily achieved using a common software, by removing things like pigmentation takes greater skill.
I got the link from Guy Kawasaki’s blog - just take a look at work they did with his picture.
2 comments » | Technology