The Caboteria / Tech Web / TechBookmarks / ProgrammingBookmarks (revision 16)

CVS is the Concurrent Versions System, a tool for source code revision control. The CVS home page is at http://www.cvshome.org/ and the User's Guide (also called the "Cederqvist Manual" because it was written by a guy named Per Cederqvist) is at http://www.loria.fr/~molli/cvs/doc/cvs_toc.html. A book called "Open Source Development With CVS" is partially online. The parts that are online seem to overlap substantially with the Cederqvist book but might be useful: http://cvsbook.red-bean.com/cvsbook.htm

CVS is fundamentally a UNIX program, but there are several different clients available. WinCVS is the most commonly used, but it's not very easy for non-technical people to use. At a couple of shops I've worked at we used CVS for code and Microsoft's VSS for documents. This is a bad idea for a lot of reasons, not least of which is that it requires you to use Windows to access version control. That's why I'm really excited about TortoiseCVS http://www.tortoisecvs.org/ which is a very well-designed Windows interface for CVS. It plugs into the Windows File Explorer so there's no new UI to learn; you perform version control operations from within a tool that everybody already knows how to use. Cool! (You can make TortoiseCVS play nicely with Cygwin if you tell TortoiseCVS to use your Cygwin home directory as its home. That way you can check out a directory tree using TortoiseCVS and then do cvs operations in Cygwin without having to login again. right click->CVS->Preferences... then click on the "Quirky" tab)

arch is another version control system that attempts to fix the problems in CVS while adding new features. It's had an interesting life so far; the primary developer went bust while writing it and it's since been picked up by other folks. http://www.fifthvision.net/open/bin/view/Arch

darcs is a patch-oriented version control system. It's interesting in that it doesn't look at code in terms of a tree that evolves over time, but in terms of a set of patches that product a desired result. http://abridgegame.org/darcs/

Project Life Cycle - is a collection of very useful info regarding the various phases a software project goes through over its life cycle. It also includes some template documents which are useful for interaction between the client and consultant. http://www.cratchit.org/dleigh/plc/plc-index.htm

Software Architecture - is an extremely nebulous term in the context of software. Everyone agrees that it's important, but nobody really agrees on what it is. This site is a useful resource, though. http://www.bredemeyer.com/

Extreme Programming - is a recent fad methodology, and I've pretty much hated the various programming fads that preceded it (TQM, ISO9000, CMM, etc). XP has some very good features, though, some of which I've incorporated into my day-to-day work. One is a strong belief in unit testing, which has definitely paid off for me. Another is working closely with the customer and setting very small, visible goals that you can easily track. Worth an hour or two at their web site: http://www.extremeprogramming.org/

How To Ask Questions The Smart Way - Eric Raymond has written many interesting papers about programming in general, and especially Open Source. This one is great - it explains how someone can ask questions of programmers in a way that's most likely to generate a successful response. If you're a user then you should read it; if you're a programmer then you'll probably find it handy to point people to: http://www.tuxedo.org/~esr/faqs/smart-questions.html

How to Report Bugs Effectively - http://www.chiark.greenend.org.uk/~sgtatham/bugs.html

RFC's - are the documents that describe internet protocols. There are many ways to get them; among them are raw and cooked.

Binary Arithmetic Considered Harmful - It's not commonly understood that binary numbers are imprecise to the right of the decimal point. http://www-106.ibm.com/developerworks/java/library/j-jtp0114/ is a good intro to floating point and its problems. Although Java-centric, it has a good introduction to the topic and good references.

Financial Calculations - http://quantlib.org/ is an open-source C++ library for sophisticated financial calculations.

Linux in the Workplace - http://linuxpip.org/ is a book that talks about how to use Linux in a business environment.

Communicating Sequential Processes - http://www.usingcsp.com/ a theoretically sound approach to concurrent programming.

Agile Manifesto - http://agilemanifesto.org/

Edit | Attach | Print version | History: r54 | r18 < r17 < r16 < r15 | Backlinks | Raw View | Raw edit | More topic actions...
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding The Caboteria? Send feedback