In October 2011 I gave a Tomcat Performance Tuning presentation at the Oracle South Africa User Group (SAOUG) conference hedl a Sun City. The confernce was attended by over 800 delegates and saw the addition of a Java track for the first time this year.
Its the end of the year again so I got some time to do complete a few projects, like build a media centre for the house. I got several TVs around the house and need a conveninet way to play movies on any TV in the house from a single source. The solution is to build a uPnP media source and then several media centres, 1 for each location.
When JPA 2 was released in 2009 it included the new criteria API. The purpose of the API was to get away from using JQL strings , (JPA Query Language), in your code. Although JQL seems like a great way to leverage your existing SQL knowledge ,in the OO world it has a major drawback namely; there is no compile time checking of your query strings. The first time you find out about a spelling or syntactical error in your query string is at run time. This can be quiet a productivity drain with developers having to correct, compile and redeploy to continue.
Usually this blog cover technical issues on Linux and Java and other kinds of geeky fun stuff but just this once I feel the need to say something about the political economy in South Africa, and how free and open source software could be used to help address the monumental challenges faced by our country.
When writing applications that need to track financial transactions most developers use BigDecimal to ensure that rounding is done properly and that there is no danger of arithmetic overflow or precision and scale being lost when performing arithmetic operations.
Using BigDecimal for tracking financial transactions is fine until you need to take into account other aspect of a financial transaction such as:
It is said Information is power, however if it falls into the wrong hands at the wrong time it can be very destructive. With the inception of the internet, billions of users got interconnected worldwide. This network of networks uses various technologies for interconnection, information resources and services, such as the inter-linked hypertext documents of the World Wide Web (WWW) and the infrastructure to support electronic mail becomes available to all.
Jumping Bean has started deploying Sogo group-ware server as solution for clients with need for sharing their CalCross Platform Groupware Solution for Linux, Mac and Windowsendars and address books. SOGo offers different capabilities to access the calendaring and messaging information. Users can either use a web browser, Mozilla Thunderbird, Apple iCal, or a mobile device to access their shared resources.
The great thing about working with Linux is the constant, serendipitous, discovery of the "best" command line tool ever. This happened to me the other day when I discovered, possibly the best ever, command line utility for network diagnostics.
"mtr" a network diagnostic tool
The mtr utility investigates the network connection between the host that mtr runs on and a target machine. Essentially it is a dynamic traceroute that constantly updates, and shows, at which router your great bandwidth pipe, gets squeezed to a trickle with a calculated mean and standard deviation.