After spending a year in beta, Microsoft has opened up their Team Foundation Service to the public. Team Foundation Service is an Application Lifecycle Management tool (also known as ALM) designed to manage all stages of software development. It provides source code version control, unit testing, even a cloud-hosted build service. It offers integration with Visual Studio and Eclipse and can even be used to develop for non-Microsoft platforms. Complete backups on “three physically-distinct servers” are made every day, with incremental backups made every hour.
Team Foundation Service appears to be a cloud-based version of the similarly named (confusingly so, in my opinion) Team Foundation Server. Team Foundation Server (also known as TFS) is a server-based management tool that seems to inspire strong opinions. Many people really like it while others despise it. It is also quite expensive and involves the additional complications of setting up a server and the hassles that go along with server management.
Among the most most important features of Vim, the popular vi-compatible editor, are the plugins used to extend its functionality. Most Vim plugins are written in Vimscript, Vim’s built-in scripting language. Support was added in Vim 7 for plugins also written in Python, Ruby, and Perl. I wanted to use a Vim plugin written in Python on my 64-bit Windows 7 system and was surprised by how difficult it was.
Although Vim versions later than 7 can support plugins written in other languages, that support has to be compiled into the copy of Vim you use. One way you can tell is to display version information by using the version command:
I remain intrigued by the concept of iPhone program development. I think that the iPhone has the potential to make a real impact in the portable gaming market (Touch Arcade is a good source for information about iPhone gaming). Plus, I think that the iPhone is a neat little device and the only cell phone design that has ever appealed to me.
Apple has a page devoted to their iPhone Developer Program, but you still need to sign up before they will tell you any details. Some are complaining about the restrictions Apple has put on native programs written for the iPhone but they don’t sound that limiting to me. I imagine that the more severe ones, such as restrictions on private API’s and open source software, will be eased over time.
I had read before that Apple intended to ban emulators on the iPhone, but I can’t find any official confirmation of that. Apparently there’s no blanket ban, at least according to this: StyleTap officially bringing Palm emulator to the iPhone / iPod touch.
I recently began a new programming project. I’m writing these programs for my own use, so I have complete control over language and methodology. I’ve been intrigued by the concept of literate programming ever since I read Donald Knuth’s book titled Literate Programming. I thought that this would be a great opportunity to give literate programming a try.
The philosophy behind literate programming is that computer programs should be written for human readability, much like a work of literature. I’m using CWEB, a literate programming tool written by Donald Knuth and Silvio Levy. I create a source file that contains both documentation (written in TeX) and source code (written in C). The CWEB terminology is descriptive: you “tangle” to create C source files and “weave” to create TeX output.
If you’ve never heard the expression, it refers to the practice of carrying programming habits to a new context, even when they are inappropriate. Some programmers who began with FORTRAN continued to write programs that strongly resembled FORTRAN after they had moved to other languages. They remained too set in their ways and didn’t adapt their programming approach to a new way.
(I should point out that I always liked FORTRAN. Many of the failings people ascribe to FORTRAN-77 are related more to bad programming than the language itself. Also, Fortran-90 later addressed most of the actual weaknesses of FORTRAN-77.)
Jeff Atwood at Coding Horror wrote an interesting post called XML: The Angle Bracket Tax concerning his dislike for the way XML is being used (or abused) by many programmers. He says: