Tag: programming

trac rocks

spurred on by dani, i gave trac a try for a project i am working on.

Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission; to help developers write great software while staying out of the way. Trac should impose as little as possible on a team’s established development process and policies.
It provides an interface to Subversion, an integrated Wiki and convenient report facilities.
Trac allows wiki markup in issue descriptions and commit messages, creating links and seamless references between bugs, tasks, changesets, files and wiki pages. A timeline shows all project events in order, making getting an overview of the project and tracking progress very easy.

i’m in love. trac beats the crap out of bugzilla (no UI to speak of), RT (UI?), jira (likes to crash your servlet engine, not free), collabnet (slooow, not free), sourceforge (very poor integration, 1997-era UI), basecamp (useless for projects with both suits and coders) and a couple others i have tested (and forgotten about over the years). while some of the competition is stronger in certain areas, none are as well-rounded and tightly integrated between bug tracking, wiki and scm, or have such a pleasant UI. trac is the kind of application that makes me want to pick up python for real to play around with it (sorry, but plone never had the same effect for me). trac will go far.

Tool mavens

ever since i started using eclipse, i moved from language to tool maven. with every new eclipse build, i learn new tricks, and eclipse performance improves. one thing i did wrong for nearly 2 years until now was to get the SDK when i really want the platform plus JDT. the difference is nearly 50MB, 50MB that do have to be paged in and out of RAM. in the same vein, i just discovered the handy regexp tester plugin. good thing jonathan edwards is looking out for me 😉

redefining simple

looks like 50% of the industry is fighting the complexity monster, while the other half is busy adding more. i hope this isn’t turning into a cultural revolution that throws away what we have learned, only to rediscover it later. i have spent the last few months refactoring an application that commits crimes in the name of simplicity (business logic in XSL anyone?) and have therefore a rather jaded view of ‘simple’. chances are, not 2 people will agree on what simple means.

Bridging the X-O-R impedance mismatch?

looks like a worthwhile effort on the road to eventually unifying the dominant 3 data models of today, XML, objects and relational. at a first glance, it seems to sidestep some of the really hard problems by defining a zoo of new types to accommodate these 3 worlds. the eventual solution will have to do better than this, but it’s a start. groovy seems to have similar features for the java world.

RAIDb

just learned about RAIDb

RAIDb stands for Redundant Array of Inexpensive Databases. This acronym has been used in reference to the RAID (Redundant Array of Inexpensive Disks) concept that achieves scalability and high availability of disk subsystems at a low cost. RAIDb aims at providing better performance and fault tolerance than a single database by combining multiple inexpensive database instances into an array of databases.

C-JDBC is a database cluster middleware that implements RAIDb, LGPL licensed.

jdk 5.0 performance tools

Tool Name Brief Description

jconsole
Experimental: J2SE Monitoring and Management Console –
JMX-compliant graphical tool for monitoring a Java virtual machine.
It can monitor both local and remote JVMs.

jps
Experimental: JVM Process Status Tool –
Lists instrumented HotSpot Java virtual machines on a target system.

jstat
Experimental: JVM Statistics Monitoring Tool –
Attaches to an instrumented HotSpot Java virtual machine and collects and logs
performance statistics as specified by the command line options.

jstatd
Experimental: JVM jstat Daemon –
Launches an
RMI server application that monitors for the creation and termination of
instrumented HotSpot Java virtual machines and
provides a interface to allow remote monitoring tools to attach to
Java virtual machines running on the local system.