Merging modern software development with electrons and metal
Random header image... Refresh for more!

Blog Notes: Why look at trac alternatives?

I’ve been using trac for about a decade, and overall it’s worked well.  But I have found some annoyances over the years, such as:

  1. I have found it difficult to install, often requiring some searching for answers.
  2. I have found that upgrading to a new version can be an exciting adventure (but not an easy one).
  3. I have found migrating a trac installation to a new server to be difficult.
  4. I feel that trac development has been slow, and the trac interface has not kept up with recent advances in web interfaces.

Since my current trac installation isn’t perfect on 64-bit Linux, I will have to upgrade trac yet again or switch to something else.

If I switch to something else, it will be similar project management software with a wiki and such, because I will switch both here and at work.  Another requirement is that I need to be able to easily migrate my trac wiki to a new system, which also rules out most wikis.

I have been investigating Redmine and Gitlab.  Redmine is the most likely choice, but I need to do some more research and actually play a bit with both.  Another similar, highly regarded, project is Phabricator, but it doesn’t appear to have good support for importing trac projects yet.

November 4, 2016   No Comments

Blog Notes: Purpose of Trac Wiki Server

Since I already have this main WordPress site, why do I have a trac site too?  It’s because I’ve found that trac works better for some of the things I like to do.

Let’s take a look at where some of my content fits best:

  • Typical blog posts, which describe what I am doing (like this one).  These are a perfect fit for WordPress.
  • A series of related blog posts.  I could do this on trac (by continually updating the wiki), but WordPress feels like a better fit.
  • Directories, such as my piezo motor page or my MCAD software page.  I’ve tried both WordPress pages and trac wiki pages; over time, I’ve decided I prefer these topics on trac.
  • Reference information on topics such as my motors and my cabling standards.  These fit trac best, with its easy hyperlinking and table support.
  • Repository viewing – only trac does this well, although I haven’t made much use of it (yet….)
  • Bug tracking / project management – I haven’t used this yet, but this is where trac shines.

Why use trac instead of a dedicated wiki?  Well, I originally picked trac for use at work, and since I knew it, it made sense to use it here.  Also, I wasn’t expecting to use the wiki as much as I have.

November 3, 2016   No Comments

New: FactorySwBlog on Instagram

I’ve setup a factoryswblog account on Instagram.

My primary goal is still to provide unique, longer form content; I’m still not interested in participating in real time online arguments (been there, done that, too old for that now).

However, creating new posts typically takes a lot of time, so my plan is for the Instagram account to provide more frequent updates.  It’ll probably be more biased towards my personal interests such as pens, but I will try to include a mix of topics.

Companion Site Summary

I now have four companion sites.  I am still figuring out what works best in what format.  Also, by the summer I hope to revise this blog’s look a bit – I think it’s a little too busy, and I want to add an Instagram widget.  The sites are:

  • The trac wiki and repository viewer.  I’m using it for directories, reference information, and repository viewer.  Sometime not very soon, I will look at moving it to Redmine, since trac’s development has been pretty slow (and in my experience, it’s a pain to upgrade).
  • The subversion repository.  It holds my PCB design files and source code.  I may eventually move it to git.
  • My Youtube channel for videos.  It currently only has 1 video, but I have a few more planned.  Note that if your workplace has blocked Youtube, let me know.  If blocking Youtube is a significant problem, I’ll look for alternatives.
  • Finally, of course, my brand new Instagram account for more frequent updates with photos and a bit of text.

January 30, 2016   No Comments

Version Control for Automation Developers

I highly recommend good version control software for all automation developers, even for companies with just one developer.  I think for most automation companies the requirements are similar to these:

  • Runs well on Windows (most automation vendors use only Windows)
  • Easy to install
  • Good documentation
  • Easy to learn, including easy to learn concepts and how to handle typical version control situations
  • Good tools support such as GUI clients, support for Visual Studio and/or Eclipse, web interfaces, and links to bug tracking systems
  • Software is mature and reliable
  • Available support
  • Distributed team support is not needed

I recommend looking at Subversion first.  It meets all the requirements.  It runs well on Windows, is easy to install, has excellent documentation, and is widely used.  Tool support is excellent; highlights include the famous TortoiseSvn GUI client and the Trac light weight project management and bug tracking software.  Best of all, Subversion (like all the other projects mentioned in this post) is open source, so there are no license hassles, no limitations on named users, and no yearly maintenance fees.

Trac, on the other hand, isn’t so easy to install.  I’ve covered easier ways to install Subversion and Trac before .  Another approach I am looking at is running Subversion and Trac under XAMPP, the portable Apache/MySQL stack.  If it’s easy to do, this might be the best approach.

Distributed version control systems are definitely taking off.  Git seems to be in the lead, with Mercurial second.  They do have some major advantages over Subversion (which I hope to cover in detail sometime this year).  You should more concerned with which system works best for you, not what other developers (who probably have very different needs) are using.

Git normally isn’t the best choice for automation developers.  It doesn’t run well on Windows (you have to use cygwin (which is like running Linux) or msysgit (which is incomplete and poorly documented)), is still lacking in tool support, and appears to be harder to learn than Mercurial or Subversion.

Git does have some advantages; for example, it can reliably track CVS or Subversion repositories, and make a Subversion repository track a git one.  I will be using git for a project that requires creating a Subversion repository that tracks a CVS repository (and having a git repository that tracks the CVS repository is a nice extra).

Fossil is an interesting new distributed version control system with integrated bug tracking and wiki (similar to combining Mercurial with Trac).  It doesn’t have the tool support, documentation,  and widespread use of git, Mercurial, or Subversion, but it is much smaller (a single small executable), runs well under Windows, and has a GUI available via the browser (Web 2.0!).

I’d love to try out and do a detailed comparison of Subversion, git, Mercurial, and Fossil, but my realistic plan is:

  1. Get Subversion and Trac running under XAMPP
  2. Get git running for the CVS repository tracking project

and then, of course, write some posts about my experiences.

April 2, 2009   No Comments

Easier ways to install Subversion and Trac

I haven’t had time to test most of these, but here are some ideas for installing Subversion and Trac:

  • Read the manuals carefully and do a manual install. In my experience, Subversion isn’t too hard, but getting Trac working can take some tinkering.
    • The Subversion and TortoiseSVN manuals are excellent (if you’re a Windows user, you may find the TortoiseSVN manual more useful, since the Subversion manual is all command line).
    • I’ve found the Trac documentation a little harder (more spread-out, probably because it’s all wiki pags), but for Windows the key is the TracOnWindows page. I’ve found it useful to browse the TitleIndex list – you can find some stuff you’d miss otherwise.
  • Try installing Trac 0.11 beta – it’s supposedly simpler to install (I haven’t tried yet).
  • Try the TOW (TracOnWindows) project installer. I haven’t tried it yet; on the plus side, it’s a single installer for Trac, Subversion, and dependencies, and it’s been updated recently so the versions are current. OTOH, it appears to want to install everything in a fixed location (C:\TOW).
  • You can try a VMWare Appliance (using the free VMWare Server) with Subversion and Trac already installed. I’ve looked at this; most appear to be somewhat out of date (e.g. Trac 0.9x), and for licensing reasons always use a open source OS (Linux, BSD) which might not be the best choice for everyone. Similar appliances might exist for the competition.
  • You can use a hosting service with an installer (such as Webfaction) – that really does make installation easy, but upgrading can take a bit of work.
  • It’s worth considering installing to a virtual machine (whether on Linux, Windows, etc) so you can move the Trac server around, or just to experiment without installing lots of programs on the host OS.

Finally, it’s always important to setup the server correctly, with the desired access rights and user log-ins.

Comments 4/23/2011: the TracOnWindows installer hasn’t been updated in a long time.

I still really like the VM approach; VirtualBox is another option (with images available), but check the licensing terms (using VirtualBox as a server might require a commercial license).

VisualSvn Server makes installing Subversion on Windows a breeze.  Trac can still be tricky.


March 25, 2008   No Comments

Subversion Hints

Well, actually some Subversion/TortoiseSVN/Trac hints.

I find the TortoiseSVN repository brower clunky. In fact, I often find it quicker when checking out a repository to find the path first with the svn web interface, and then cut and paste the path into the TortoiseSVN SVN Checkout dialog.

For browsing source, I normally use Trac’s Browse Source instead of the svn web interface. It has syntax highlighting for many programming languages and it’s easy to see the differences between revisions. If I need a quick look at code that I haven’t checked out (different project or older revision) on computer I’m using, I use Trac.

One neutral feature is that svn stores its information in hidden .svn directories. So, if you copy a svn working project from computer A to computer B, svn knows right away where the repository is, etc. If you delete the .svn directories, the project is effectively no longer under version control.

But, if you have a large directory tree, and need to get rid of the subversion information (to package up for an installer, etc), then all those .svn directories are a pain. I wrote a Python script to recurse through all the project subdirectories and remove them.

Comments 4/23/2011: the current TortoiseSvn repository browser seems much faster.


March 4, 2008   No Comments

Trac and Subversion sites are up

Webfaction dramatically improved their hosting plans, making it easy for me to add more applications.

So I’ve added a Subversion (svn) repository and a Trac site to this site. Right now they are pretty empty, but I will be adding to them over time.

The svn repository will host my blog project files, and will be used for posts on using version control. The Trac site contains additional information related to this blog. Both sites are read-only – I don’t have time to deal with link spam, wiki spam, or polluted repositories.

The svn site is It will redirect a web browser from http, but not a client (such as my choice, TortoiseSVN ).

The trac site is It will redirect from http.

Note that since I’m not paying extra for my own SSL certificate, you’re going to have to trust me (accept the browser pop-ups) if you want to use the sites.

Note 4/20/2011: my svn and trac sites are http; https was a fun experiment, but not necessary for this site.


January 16, 2008   1 Comment

Trends to use – Open Source Software

Open source software is a great resource. If you’re going to use and modify open source code in your machine, then you have to look at licensing issues very carefully. But there is another way to take advantage of open source software – by using open source projects such as Subversion to enhance your development process with no licensing worries.

Even if the majority of open source software can safely be ignored, there are many rock solid, high quality, well documented, Windows-friendly projects. Examples include:

  • Subversion for version control with TortoiseSVN client for Windows
  • Trac for project management and bug tracking
  • Apache web server
  • xUnit for unit testing
  • Wix for MSI installers (OK, its documentation is a little weak, but it’s still what I use to create Windows installers)
  • Programming languages such as Python, IronPython on .NET, and Lua.

What are some of the advantages of these top notch projects?

  • High quality. For example, Subversion has a better reputation than Microsoft’s SourceSafe.
  • Low cost, both in money (nothing) and time (due to good documentation).
  • Ease of deployment – with Subversion, I don’t have to worry about how many users there are. Adding another user costs exactly $0.00, unlike adding a user on a commercial version control system
  • No licensing hassles; there are no hardware keys, no software keys, and no chance of any software license audits.
  • More stable path – no forced upgrades (upgrade when you’re ready), no worries about the vendor going out of business, no vendor agendas to worry about.
  • Often commercial help is available if desired – so far I’ve done fine with the documentation and Google.


June 14, 2007   No Comments