BORG is a combination calendar and task tracking system. The calendar supports all sorts of appointments and also a simple todo list. The calendar functionality is similar to that of other PIMs, such as Microsoft Outlook, Mozilla Calendar, Palm Desktop, Yahoo Calendar, etc... The Task Tracker goes way beyond todo's and might better be called a project tracking system.
BORG is basically meant to be a small self-contained Java application that you can run locally (i.e. without a network). Many users run it from a thumb drive. BORG actually stands for Berger-Organizer. Unfortunately, the name BORG seems to be a popular choice for software products, probably due to the number of Star Trek fans that write code.
The fact that BORG calendar also seems to refer to the Microsoft Outlook calendar makes things even more confusing. Oh well....
- Month/Week/Day/Year views
- To-Do list
- Repeating Appointments
- Private Appointments that do not show by default (for recording things like "rectal exam 2pm" that you don't need your friends/coworkers to see over your shoulder).
- Pop-up reminders
- Email reminders
- A Project/Task/Subtask Tracking System
- A simple address book
- H2, MySQL DB, HSQLDB, generic JDBC
- XML import/export
- Memo book with a strong encryption option (for very private memos, passwords, etc..)
Hmmm. Why would anyone want to use a home-grown calendar/task tracker when there are so many others out there, freeware and otherwise?
A potential BORG user might agree with the following:
- I use a calendar/task tracker to remind me to do everything in life that I have to do.
- I do not want to set up a web server just to see my calendar
- I do not want to access the internet to see my calendar
- Some of my data is private. I don't trust putting it on an internet server.
- I work on Linux, Windows and other OS's and would like any of my machines to run my calendar program
- I don't want to have to worry about my calendar not working if I upgrade linux, windows, glibc, mySQL, apache, <fill in any third-party software that causes things to stop working>, etc...
- I like open source software. Even if the developer(s) die, I can still build and enhance my calendar program.
I've been a developer ever since I got my Apple II+ in 1978. I programmed it to play gin rummy in the first week. (it still boots up and plays lemonade stand perfectly today). I've worked at a large software company for 25 years mainly as a lead developer for large-scale C/C++ and Java/JEE projects.
Developing BORG is a hobby that lets me program with far less rigor than the ISO-9000 software process that we use at work. If you don't understand ISO-9000, you can try to google it - although I find that the book "The Dilbert Principle" is the best source of information in this area. Besides programming day and night, I like to read sci-fi. I can't think of anything else that I do. Well, there's eating and sleeping...but nothing else of interest. Actually, most people would find the programming and reading pretty uninteresting too.
FYI - the IM name "i_flem" means nothing at all, just some random id I picked for hotmail - no reference to James Bond.
The nickname "quiet" describes how I am at parties. Actually, I don't go to parties, but if I did, the name would apply. And besides, the nickname "non-social introverted geek" was getting to be too much to type all the time.
BORG downloads are available from http://borg-calendar.sourceforge.net
BORG downloads and snapshot releases are also available on Github: https://github.com/mikeberger/borg_calendar/releases
BORG needs only Java to run, which now comes pre-installed on most systems.
If you don't have Java, you need to get the JAVA standard environment runtime version 7. It is available from java.sun.com.
The source code is available on github - https://github.com/mikeberger/borg_calendar
There are a few areas where Java has some rough edges on Linux. I'll keep a running list here so folks don't waste time trying to track them down:
1. Some text labels are truncated. They only partly appear and end with "...". No matter how the UI is resized, the labels stubbornly refuse to appear.
This is almost certainly due to bad font metrics. Some of the fonts on linux don't report their size correctly. The solution is to try other fonts until the problem goes away. I use FreeSans and it seems to work perfectly.
08/27/11 - I found that OpenJDK fails to calculate font metrics properly, but Sun Java is fine. The fix to the many font related issues is to use Sun Java.
2. The Week View is very sluggish when the option to Draw Gradient boxes is on. It is more apparent on older machines and depends on the graphics adapter.
There is no work around for this besides turning off the option. It seems that the Java/Swing graphics code is less optimized on Linux and has trouble drawing the gradient boxes quickly enough. Windows users will not see this issue.
3. There are Graphics glitches, especially when scrolling tables or using the task tree. Text is garbled and overwritten. Opening and closing the window fixes it temporarily.
Some of the graphics drivers are simply buggy on linux. The Nvidia drivers seem to have problems with Java/Swing graphics. Other graphics adapters work perfectly on Linux. This issue is specific to particular graphics adapters and there is no fix.
4. The installer does not properly set up menu and desktop shortcuts on Linux.
This is a known problem with the third-party installer that Borg uses: http://sourceforge.net/tracker/?func=detail&aid=3118450&group_id=93422&atid=604254
5. There is no sound when reminders pop up.
The Sun version of Java has problems with some of the sound servers on Linux. If you are using the sun JRE on linux and have problems, you can switch to the open-jdk version of java and see if the problems go away. Open-jdk has better support for linux sound.
6. BORG uses huge amounts of memory on Linux.
I'm not sure why the JVM decides to grab lots of memory on some systems. It may get all excited about large amounts of memory on the newer machines and decides to grab 200-300MB of it? I don't know. This is not really a problem, but if you don't like it, you can run Borg with various options to tell Java to behave.
For example: java -Xmx128m -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -Xms24m -jar borg.jar
That should keep BORG limited to 128MB or less and should get the JVM to do more frequent garbage collection.
7. BORG Crashes with Open-JDK. Pulse Audio Runtime exception appears in .borg.err
10/3/11 - It looks like version 6b23 of openjdk fixes this issue.
8. Printing is all messed up. Printouts are missing most of the text and are drawn improperly.
See Item 1 above. The font metrics are used to calculate many of the drawing parameters when printing. Switch from OpenJDK to Sun Java to fix this.