Developer Tools Blog

Evolphin, Version Control, Visual Workflow, Collaboration software, Version Cue, Subversion

Evolphin Software releases a major upgrade to Zoom

March 6th, 2011 by rahul

We  released a major upgrade to Zoom, our flagship Digital Asset Management and Versioning product for Creative Professionals.

Over 500+ new features & enhancements have been incorporated to our Zoom version control product editions. Major focus of this release has been simplifying version control for the creatives, enhanced usability, tighter integration with popular tools, large previews and a new MacOS X Snow Leopard Finder plug-in. Visit our web site link here to  take a  look at the top ten new features in Zoom.

Mac Folder Coloring via Zoom

Posted in DAM, Evolphin | No Comments »

Stopping beagled service on Fedora, SuSE Linux

March 8th, 2007 by rahul

When you install Fedora Core, it appears the beagle indexing service is started in the background automatically. On my machine, beagle was consuming too many resources. In order to stop the damn thing, I had to tear my hairs!

The beagle daemon for one is not installed as a normal /etc/init.d or xinetd service. The following recipe worked for me, might need to scipt it and launch it from the bashrc when loggin in:

  1. $ beagled –disable-schedule ( this would disable the scheduler)
  2. $ beagle-settings (This brings up a GUI to stop it from indexing, just deselect the options, see the screen shot below)
    beagle Screen Shot
  3. $ beagle-shutdown (now the damn service should be gone)
  4. $ beagle-info –status
    Could not connect to the daemon.

If you see the last line, you are set!

Posted in Server Side | 1 Comment »

Fixing yum hangs on Fedora Core 6 (FC6)

March 8th, 2007 by rahul

The fabolous thing about upgrading to Fedora Core 6 has been that the yum package manager now routinely hangs on my machine. This does not make for a fun experiecne. For me it typically hangs hard after a pop-up message:

Retreiving software information

A little bit of detective work in another terminal indicates why:

# ps -leaf | grep `cat /var/run/yum.pid`

This number is Pirut’s yum process ID. Let’s see what it’s stuck doing:

# strace -p `cat /var/run/yum.pid
[root@rahul ~]# strace -p 2524
Process 2524 attached – interrupt to quit
ioctl(4, FIONREAD, [0])                 = 0
poll( <unfinished …>

Check, this out; it is waiting in a poll system call. This usually implies that the process is waiting for a network IO event to happen. If the previous pirut process is gone, well, things can get to this mess. By the way, it is possible to nuke pirut yum at this point; you just have to be brutal.

# pkill -9 pirut

Once this is done, a little digging around often shows a couple of __db.* files in /var/lib/rpm. Let’s nule all of these:

# rm -rf /var/lib/rpm/__db.*

At this juncture, retrying the hung yum/pirut command should work. At least, it does so for me. Sometimes, I need to run “yum clean all” after cleaning up the above mess before yum can make progress.

Posted in Server Side | No Comments »

Howto get CVS user name inside a CVS Loginfo trigger

March 5th, 2007 by rahul

THE PROBLEM

CVS allows you tp specify a run-as user-name in the CVSROOT/passwd file. So for example if we use the following syntax in CVSROOT/passwd file:

john:12$2#&65:cvsadmin
greshim:ac2$2#&65:cvsadmin

The above tells the CVS server to launch/fork the CVS process with the effective user-id as ‘cvsadmin‘ instead of say CVS user ‘john‘ who may have executed the commit command. This allows the CVS administrator to maintaina separation between system user and the CVS user. It allows the admin to avoid polluting UNIX file level permissions inside the CVSROOT.

However the problem is how does a CVS trigger like Loginfo get hold of the actual CVS user on whose behalf the run-as user is executing the CVS command ? If the trigger script uses ‘whoami’ to query the user it would get the effective user-id like ‘cvsadmin’ instead of ‘john’.

THE SOLUTION

Read the rest of this entry »

Posted in CVS, Software Configuration Management | No Comments »

Subversion Network Protocol De-constructed

March 25th, 2006 by rahul

So I have been chewing the FUD on Subversion site lately. Now don’t get me wrong I think Subversion has many a positives going for it (more on this latter) but what beats me is the following – for an SCM whose sole objective was to be a replacement for CVS, how can it regress on things that CVS does well (I am not making this up see – http://subversion.tigris.org/faq.html#why :

Read the rest of this entry »

Posted in Software Configuration Management, Subversion | No Comments »

Fix for CVS Keyword Expansion Bug

October 28th, 2005 by rahul

This bug and a proposed patch was submitted to the CVS community by me. It ran into religious hurdle w.r.t keyword storage in SCM repository, it has not yet been accepted by the CVS community but nevertheless has been available for download. Here is the original submission by me:

THE PROBLEM
The cvs server will automatically (or, more accurately, as part of the update run that automatically happens after a commit) expand valid keyword strings in a text file as part of the commit operation. In other words it is the responsibility of the ‘server-side’ of cvs to fill in the appropriate values for the RCS keywords.

Currently where this breaks down is when the end-user modifies the content of the RCS keywords. For example, let’s say a file contains:

Read the rest of this entry »

Posted in CVS, Software Configuration Management | No Comments »

CVS zlib.c implementation in 1.12.13 broken

October 21st, 2005 by rahul

This bug was submitted to the CVS community by me and fairly quickly fixed. Here is the original submission:

The cvs1.12.13 tree’s zlib.c has compatability problems with several Java based cvs clients – SmartCVS, WANdisco, JetBrains Ideaj etc. This manifests via cvs commands will hang for some files. See the bundled test file (add.c from cvs src dir)

We have tested with cvs1.11 tree right upto 1.11.21 and has no problems interoperating with the cvs server’s zlib implementation.

Read the rest of this entry »

Posted in CVS, Software Configuration Management | No Comments »

Thread per connection : NIO, Linux NPTL and epoll

June 18th, 2004 by rahul

This article was originally posted by me on theserverside.com, it is reproduced here

I have been benchmarking Java NIO with various JDKs on Linux. Server is running on a 2 CPU 1.7 GHz, 1GB RAM, Ultra160 SCSI 36GB disk

With Linux kernel 2.6.5 (Gentoo) I had NPTL turned on and support for epoll compiled in. The server application was designed to support multiple disptach models :

  1. Reactor with Iterative Disptach with multiple selector threads. Essentially the accepted connections were load-balanced between varying number of selector threads. The benchmark then applied a step function to experimentally determine the optimal # of threads and connection per selector ratio.
  2. Also a simple concurrent blocking disptach model was supported. This is essentially a reader thread per connection model.

Read the rest of this entry »

Posted in Server Side | 1 Comment »