Uhh it seems that someone got hold of a power cord … and did a bad bad thing:
The Team Foundation Server 2008 Feature list is finalized and available… read it here:
“Administration, Operations & Setup
- Share Point 2007 support
- Enable use of Sharepoint on any server and any port
- Support for MOSS 2007
- Enable support for Reporting Services on any server and any port (new) (RTM)
- Support for SQL Named Instances – This will allow customers to share a SQL server between multiple TFS instances, or with other applications. This has been a commonly requested feature by enterprises.
- “Longhorn” server support – TFS will support the next version of the server (and corresponding new version of IIS) that is currently under development.
- Sync Large Groups – This is a set of work to improve the performance and robustness of TFS’s handling large groups of users (~30,000 or more) granted permission to a TFS instance. Today this can result in a support call to recover from it.
- Non-default ports – We’ve gotten a bunch of feedback from enterprise customers about TFS’s limited support for alternate web sites and ports running afoul of data center policies. We are going to be improving TFS’s configurability in this respect in Orcas.
- Simplify installation – In Orcas, we will be doing a variety of things to attempt to make installing TFS easier and quicker than it is now. Improvements include eliminating the separate data-tier installation, simplifying the requirements around required domain accounts by supporting the built in machine accounts (like Network Service) where we can, etc.
- Official testing and support for more configurations – This includes clustering, mirroring, log shipping, Virtual machine deployment, and more.
- Support for client certificates
- Upgrade from TFS 2005
- Support for SQL 2008 (aka Katmai) (new) (RTM)
- TFSDeleteProject now permanently deletes (destroys) version control content (new) (RTM)
- New role for many operations activities (new) (RTM) – You don’t have to be server administrator to run many of the admin utilities any longer.
- Enhancements to tfsadminutil (new) (RTM) – New capability to configure accounts, connections, etc on both TFS and the TFS proxy.
Build (more detail)
- Support multi-threaded builds with the new MSBuild.
- Continuous Integration – There are many components to this, including build queuing and queue management, drop management (so that users can set policies for when builds should be automatically deleted), and build triggers that allows configuration of exactly how when CI builds should be triggered, for example – every checkin, rolling build (completion of one build starts the next), etc.
- Improved ability to specify what source, versions of source, and other build properties.
- Improved extensibility of the build targets – such as ability to easily execute targets before and after each solution/project is built.
- Improved ability to manage multiple build machines.
- Stop and delete builds from within VS.
- .NET Object model for programming against the build server.
- Simplified ability to specify what tests get run as part of a build.
- The ability to store build definitions anywhere in the version control hierarchy.
- Scheduled builds – You can schedule builds to happen at specified times.
- Improved build agent communication – We replaced .NET binary remoting with WCF web services, simplifying some configuration and security aspects.
- Ability to run GUI tests as part of a build – Automated builds used to run tests in such a way as to prevent access to a GUI desktop.
- New checkin policy for broken CI builds – Preventing checkin while the CI build is broken.
- Support for HTTPS communication to the TFS server (new)
- Continuous Integration build checkin policy (new)
- Support for incremental gets and builds (new)
- Add support for checkin policy overrides to the warehouse – an oversight from V1.
- Migration toolkit – A toolkit for building conversion and mirroring solutions between TFS and other systems. In addition, we will release one or more new tools to integrate with popular alternative systems.
- Annotate – This is based on the TFS Annotate Power Tool but includes numerous improvements.
- Folder Diff – Also based on the TFS Tree Diff Power Tool with numerous improvements.
- Destroy – The ability to permanently delete version control files/folders from TFS. It can also be used to destroy the file contents while preserving the change set history.
- Get Latest On Checkout – There have been many requests for this feature (which was a change in behavior from SourceSafe). There is now an option that allows you to specify that you want TFS to download the latest version of files when you check them out.
- Workspace improvements – Workspaces will now support mapping a folder or file under a cloaked folder and wildcard mappings so that you can map all files in a folder without mapping sub folders. Based on experience with large projects, this will simplify workspace definitions for many people.
- Performance improvements – A variety of Version Control performance enhancements that will improve virtually all aspects of version control performance. The gains for smaller servers/projects (< 10,000 files) will be modest. The gains for larger projects (particularly where the file count approaches 100,000’s) will be substantial.
- Scale improvements – Fixed out of memory problems on the server when operating on more than a few hundred thousand files at a time.
- Offline improvements – We’ve signficantly improved the experience going offline and integrated the tfpt online capability into the IDE for going back online.
- Extranet support for the TFS Proxy – allowing you to access a local TFS proxy with a different set of credentials than the TFS server.
- Command line help – You can now type “tf command /help” and get a console dump of the usage of that command. This is much more convenient than always being launched into the richer GUI hypertext help when you just want to remember what the options for a command are. You can still launch the GUI help by running “tf msdn”. You can get a console dump of available commands by just typing “tf help”.
- Source Control Explorer refresh improvements – This includes less redrawing and reloading but even more important it enables updates based on changes made in other instances of TeamExploror or the command line. That’s right, if you checkout a file from the command line, any instances of TeamExplorer you have running on the same machine will automatically refresh.
- Async loading of the Source Control Explorer (new)
- The SCE local path can now be selected and copied (new)
- Merge improvements (new) – Improved the logic that detects merge conflicts to generate fewer false positives and handle more scenarios.
Work Item Tracking
- Performance & Scale improvements – A variety of improvements that will make both the work item server and client faster and able to handle larger servers.
- Query builder usability improvements – Drop down filtering based on current project, better MRU lists, column drag & drop, shift-click mouse based multi-column sorting, etc.
- Attachments improvements – Save button, drag & drop for adding an attachment, multi-select for attaching files.
- Tooltips on field names contain the field name used for querying
- Server side support for deleting work items & work item types – We didn’t have time to do client UI support for it but we plan to release a Power Tool that will take advantage of the new server side feature.
- Support for security on the iteration hierarchy (new)
- Adding Web Access UI to TFS – As you’ve seen many places, we acquired devBiz and their TeamPlain Web Access product. We are releasing it as a Power Tool in the next few months and plan to release it as an official product in the Orcas timeframe. We have not figured out how the release date will line up with the Orcas date but it will be in the same general timeframe.
- In addition to all of the feature work, we’ve spent months testing the product and fixing any bugs we’ve found. We expect Orcas will have even better stability and robustness than TFS 2005.
Compatibility (no change since last time)
As Orcas is an adoption focused release, we have put a lot of emphasis on compatibility with VS2005. We are striving for near 100% compatibility. The Orcas client will be able to work with a VS2005 server and a VS2005 client will be able to work with an Orcas server. There are only a few compatibility issues.
- Client side VS add-ins will need to be recompiled (or have policy changed) because the TFS OM assembly versions will change and add-ins will need to bind to the new assemblies. The APIs themselves are generally not changing, so we don’t expect much in the way of code changes – just recompilation.
- Build is the only area where we plan to have some compatibility disconnects. In general, most build operations – listing build definitions, starting and stopping builds, examining build reports, etc. will work both with 2005 client -> Orcas server and Orcas client -> 2005 server. However, here are a few caveats:
- An Orcas TFS server will only work with an Orcas build server – so you’ll need to upgrade your build server when you upgrade your TFS server.
- For an VS2005 client to start a build on an Orcas server, the build definition needs to be stored at $/
/TeamBuildTypes/ . In Orcas, you have more flexibility as to where to put them.
- Changes made to properties in the .proj file that are in the database in Orcas will not be updated in the database and will no longer be in sync.
- VS2005 will be able to start a build, but it can’t queue a build, see the list of builds in the queue, see the list of build agents, etc.
- An Orcas client will not be able to create a new build definition on a TFS2005 server.
- When starting a build, an Orcas client will not be able to change any parameters in the dialog for a TFS2005 Server.”
Ahzf took some pictures… coooooool:
Everybody needs more than one job these days and so does FeM. One team at the Chaos Communication Camp 07 and one at the Hockenheimring, recording and live streaming the events.
You may ask what “Formula Student” is…:
“Students build a single seat formula racecar with which they can compete against teams from all over the world. The competition is not won solely by the team with the fastest car, but rather by the team with the best overall package of construction, performance, and financial and sales planning.
Formula Student challenges the team members to go the extra step in their education by incorporating into it intensive experience in building and manufacturing as well as considering the economic aspects of the automotive industry. Teams take on the assumption that they are a manufacturer developing a prototype to be evaluated for production. The target audience is the non-professional Weekend-Racer, for which the racecar must show very good driving characteristics such as acceleration, braking and handling. It should be offered at a very reasonable cost and be reliable and dependable. Additionally, the car’’s market value increases through other factors such as aesthetics, comfort and the use of readily available, standard purchase components.
The challenge the teams face is to compose a complete package consisting of a well constructed racecar and a sales plan that best matches these given criteria. The decision is made by a jury of experts from the motorsport, automotive and supplier industries. The jury will judge every team’s car and sales plan based on construction, cost planning and sales presentation. The rest of the judging will be done out on the track, where the students demonstrate in a number of performance tests how well their self-built racecars fare in their true environment.”
As soon as the Live-Streams are available I will keep you updated…
Source 1: http://www.formulastudent.de
As ususal here’s the schematic overview of the things behind the curtain:
“The Chaos Communication Camp is an international, five-day open-air event for hackers and associated life-forms. The Camp features two conference tracks with interesting lectures, a workshop-track and over 30 villages providing workshops and gettogethers covering a specific topic.”
Chaos Communication Camp 2007
The International Hacker Open Air Gathering
8|9|10|11|12th August 2007
Finowfurt near Berlin, Germany (Old Europe)
“You can participate! Bring your tent and join our villages. The Camp has everything you need: power, internet, food and fun. The 100.000 square meter areal features enough space to camp, cozy places to hang out and a nice pool and lake to swim and do nautic experiments.”
There are two lecture halls called “foo” and “bar”:
There was this update. My 360 died right after it. Well: Coincidence?
The support / repair experience is quite good so far – besides the fact that I have to get a coffin by myself and that they won’t add the lost Xbox Live Subscription Time to my account….
Now this is my second 360 that craps out. If you want to know what happened in 2006 to my first 360 go here.
I am currently involved in a very interesting project which utilizes a massive load of threads and in-memory data structures. The downside if this is of course: how on earth do I make that thread-safe?
Along the journey I stumbled upon Ralf Westphals thoughts and code on that matter. Ralf comprehensively writes about a technology called “Software Transactional Memory“. “What’s that?” you may ask. And here’s the answer provided by the wikipedia:
“In computer science, software transactional memory (STM) is a concurrency control mechanism analogous to database transactions for controlling access to shared memory in concurrent computing. It functions as an alternative to lock-based synchronization, and is typically implemented in a lock-free way. A transaction in this context is a piece of code that executes a series of reads and writes to shared memory. These reads and writes logically occur at a single instant in time; intermediate states are not visible to other (successful) transactions. The idea of providing hardware support for transactions originated in a 1986 paper and patent by Tom Knight. The idea was popularized by Maurice Herlihy and J. Eliot B. Moss. In 1995 Nir Shavit and Dan Touitou extended this idea to software-only transactional memory (STM). STM has recently been the focus of intense research and support for practical implementations is growing.”
It seems that this different approach to in-memory data management could a solution for most of the difficulties I and maybe you might have with thread safe programming. Even better: it make the code easier to read and is completely written in C#.
Since I am still in the evaluation phase if or if not to use the NSTM implementation, I will keep you posted on that matter in future updates.
Source 1: http://weblogs.asp.net/ralfw/archive/tags/Software+Transactional+Memory/default.aspx
Source 2: http://en.wikipedia.org/wiki/Software_transactional_memory
Source 3: http://www.codeplex.com/NetSTM
So here’s the problem I had: There is an Exchange 2007 server I am forced to use for some of my daily work and that’s where the problems start: Due to the work of some evil geniuses there’s a load of user and security policies associated with that server. That’s not a problem per se: It’s just that things like “forward all mails to this account” don’t work. You have to use Outlook Web Access or the heavyweight Outlook to get to your mails… Till today I had an Outlook 2007 running on my private IMAP mailserver machine just for the purpose of downloading all the mail from the Exchange server to the local harddisk. I had setup a client-rule to copy all the mail to my IMAP server but despite the fact Outlook is running on the exact same machine as the IMAP server it just did not work for more than 1-20 messages… connections were lost and stuff screwed up. So I had to move all the messages manually (Select-All -> Drag-n-Drop onto the IMAP folder inside Outlook) which took me quite some time each month.
Two days ago I read an article where namenlos wrote about his journey with his employers Exchange server. He wrote a Python script that did the job for Exchange 2003 by using the WebDAV features. These features unfortunatly are deprecated in the current 2007 release of Exchange. So I decided to write a tool in C# that does the trick and uses the brand-spanking new Exchange 2007 Web Service.
The Exchange 2007 SDK is a wasteland to say the least when it comes to documentation. It took me some time and a good search engine to get to something useful out of it. But I think it’s worth the pain: When you got over the first annoying steps you’ll just like me will start to love the possibilities this Web Services give you.
In my case I am using the webservices to do these things:
allocate my inbox and obtain a listing of messageIDs
get the complete messages out of my inbox
reformat the messages and send them via smtp to my own mail server
What I’ve written is not feature complete (as in: no attachements, …) but it’s a great and working start and does the 3 point-trick from above quite well. I will refine the code and add the missing features (e.g. attachements and stuff) in the future… or maybe you are faster than me. In that case it would be well appreciated if you send me your code/a link to the code (find my email in the sourcefile…)
Source 1: http://blog.slash-me.net/archives/235-fetchmail-fuer-MS-Exchange.html
Source 2: http://msdn2.microsoft.com/en-us/library/aa562613.aspx
Source 3: http://www.schrankmonster.de/content/binary/Exchange2IMAP.zip