We are happy to announce that troii Software is now a proud member of the BlackBerry Alliance Program. This allows us to bring an even better BlackBerry experience to our customers when creating individual BlackBerry enterprise applications for them.
It also allows us to add the BIS-B connection option to timr, our time tracking application, which make connecting to our server easy and independent from the mobile carriers around the world.
Being able to test our software on all the new BlackBerry devices is another benefit of the program that does not just make us as happy. So get ready for finding our applications in the BlackBerry Solutions Catalog and the BlackBerry App World in the future.
troii does Java and .NET Software development and Consulting. We like both “worlds” but in our opinion, one of the main drawbacks of .NET, compared to Java, is the lack of good OpenSource frameworks and projects. There are so many projects that start and after a few months they fall asleep.
In this post we’d like to tell you about a really great OpenSource .NET project called NCalc.
Last month I needed an attributed grammar for custom mathematical evaluations and started some web research to find existing projects. I came up with COCO /R and ANTLR. Both are free parser generators and can be used for C++, Java and C#. Even if COCO /R is from the University of Linz, not far away from us, I decided to use ANTLR due to the more powerful community behind it.
What we needed was a mathematical expression evaluator which calculates dynamic expressions like (2 + 5) * 3. Another requirement to the grammar was that it had to support functions like GetValue("objectName", "valueName") which does a query to get a value from an proprietary object cloud. So we needed something that evaluates an expression like GetValue("car", "throttle") * 3.
I was already designing the grammar when I found this article on CodeProject. It describes and solves exactly what I was looking for. The article is excellent and it seems that the author, Sebastien Ros, decided to provide the complete solution now as NCalc on CodePlex.
NCalc is extremly flexibly. It allows us to use functions and parameters out of the box. E.g. if we have to use a lot of GetValue("car", "throttle") functions we can create a parameter to substitute this function with a parameter. Now we can use the throttle value much easier in our expressions by (THROTTLE * 3) + (THROTTLE * 2).
Peter Mitterhauser, who created our corporate design and our logo put us in his online portfolio – check it out under http://www.bigrobotape.com/
You have to scroll a bit to right, we are currently in position six because the project was finished in January.

Lately we got a lot of spam because we bought the domain timr.com for our product and it seems like the previous owner has not been very carefully with his email address. Spam is annoying but it is even more annoying if you get it pushed to your BlackBerry. So I tried to find the best solution for adding a spam filter to our mail server.
We are using a Microsoft Exchange Server 2007 on an Windows Small Business Server 2003 because in our opinion this is one of the best solution available in combination with the BlackBerry Enterprise Server. I have a lot of experience with Linux mail servers because I run my personal mail on a Debian system with IMAP, spamassassin, greylisting and maildrop for years now. This combination removes nearly every spam mail from my email so I was looking for combining it with our company mail system.
Though there are attempts to install spamassassin on Windows and to combine it with Exchange we were not quite happy with that solution. I was already thinking about subscribing to some service like Spam Stops Here. Using these services means changing the MX DNS entry of your domain to send all emails through their server which forwards them afterwards to your mail server.
This inspired me to create our own dedicated mail filtering server. I set up a Ubuntu 9.04 machine inside a VMWare Virtual Server instance on our Windows machine and configured it like my personal mail server without the IMAP server. Instead I used the how to from knownplace to forward the filtered mail to our Exchange server. After changing the MX entry of our domains to point to the new Linux mail server the amount of spam mails dropped drastically.
Lately we found this post on the Sonatype Blog titled: The Ulitimate Java Build System. They quote Christopher Judd who writes:
“Now after all these years, I think I found the right solutions for Enterprise Java Builds. The solution involves 5 open source projects: Maven, Subversion, Hudson, Nexus, Sonar.”
And we are happy to say that we think the same! These are the components we use to build our Java applications (timr, BVW, manuality).
The IDE of choice that works best for us with these build system components is: Eclipse + Mylyn + Subversive + m2eclipse
We also have well defined rules on how to use these components together to create the most optimized development workflow. Contact us if you are interested in taking your Java development to the next level.
At the moment we are working on best practices for an equal build system for .NET with C# and C++ (managed/unmanaged) – so stay tuned for updates.
Making backups is a critical thing for everybody who uses a computer, especially if your business is based on it. But how to make sure your data is really safe?
Our optimum backup solution should be:
- able to deal with multiple notebooks and servers running on different operating systems (Windows Vista, Windows 2003 Server, Mac OS, Debian and Ubuntu Linux),
- stored on safe place outside the office,
- secure (not accessible by others without a password)
- and automated.
We decided to use online backup systems. After evaluating some of the available solutions we came up with signing up for:
- Amazon S3 web service in combination with Jungledisk – because the Jungledisk client is available for all our operating systems
- Mozy Pro – because the Mozy Pro client is able to create backups of MS Exchange and MS SQL server while they are running
Both of the systems allowed us to encrypt our data before sending it. With the jungle disk mounted on our Linux systems it was very easy to create cron jobs for backing up SVN repositories, MySQL databases and other stuff.
We are also using this solution to backup the database of our online time tracking solution for BlackBerry and iPhone – timr.
UPDATE: There is even a free 2GB backup from Mozy which is ideal for private users to backup their documents.
UPDATE2: I wrote a how to on my personal blog for using jungle disk on virtual servers.
After more than one year hard development, we are very proud to announce that timr started public open beta today! Take a look at timr and sign up the beta program to earn 3 months of free timr usage.
Today we launched the web site of our company. On this page you’ll find news concerning the troii Software GmbH, our products or other technical news in regular intervals. There are separate pages about the team behind the company, the areas of operation and our products.
Today we launched the web site for timr. It contains the most important information and allows users to sign up for a newsletter. This way every registered user will be informed about the start of the timr open beta period (which will be within the next week).
Currently we are working on improving the experience for users who are new to timr. This means we are making timr ready for new users to sign on and start tracking their time without having to read a manual or getting an introduction to the system as the closed beta users were required to do.
We are also adding an easy-to-use feedback system so that we will be able to get valuable information from our beta users.