svnsync, like its doc says, is the Subversion remote repository mirroring tool. We may need to have a mirror for backup, or for faster checkout/update in a remote datacenter.

There are lots of documentations and articles about how to set up a mirror using svnsync. But in a situation that connection between mirror and master is really bad, svnsync fails frequently and leaves the mirror locked. Then we have to manually unlock the mirror repository to get it recovered.

Is there an alternative? Short answer – YES:

Read the rest of this entry »

Getting compiled binaries is easier but sometimes it just isn’t a choice. It was 2007 when I last compiled subversion, it was still 1.4. I remember that I had a tough time figuring out the apr/apr-utils compatibility issues, and installing neon.

Now it’s 1.8. The new version deceptively gave me an impression that things has become much easier – on a CentOS 6.3 box it compiled, installed and worked with Apache 2.2 (installed by yum) perfectly! I didn’t realize it until I started checking out a repo from it. The checkout was successful but with a tiny warning – post commit FS processing had error: Couldn’t open rep-cache database.

This message was also deceptive. It made me think of permission problems. But it turns out to be a sqlite3 issue! It has the same cause with another problem – when I tried to checkout the repo on the svn server itself through file protocol, it failed with this message: SQLite compiled for 3.8.2, but running with 3.6.20.

Install with sqlite3

Since the sqlite3 version shipped with CentOS was lower than required by subversion, I downloaded the sqlite3 amalgamation, compiled it, and copied the binary and header files to correct locations. Then the configure script stopped complaining about it. I thought that fixed it but obviously it didn’t.

The correct way of installing subversion with the correct version of sqlite3 is like this:

./configure –with-sqlite=/path/to/sqlite-amalgamation/sqlite3.c

HTTP support for client

Later I noticed that the svn client didn’t even support HTTP.

Now subversion uses serf as client HTTP library.

To compile it, you need a build tool called scons. Then just follow serf’s README file.

Enjoy.

After upgrading Evernote to version 5 on Mac, I found that they completely revamped the interface with a new sidebar and a new shiny editor. It looks more beautiful but I felt confusing because it’s too different from last version.

Evernote snippet view

The first thing I did was to close the guide and switch to the old style snippet view. This way it looks a bit familiar to me. But the new sidebar is nearly useless. I used to switch to different notebooks from the old sidebar because there’s a list of all notebooks. Now the new sidebar only lets you choose recent notes, and switch among notes, notebooks, tags and other views. If you want to switch to another notebook, you have to click the notebook title above the notes list – one more click!

Read the rest of this entry »

Recently my organization started to use Trello to track our projects. We already had many tools to help manage our ongoing/planned projects and related issues. We even developed several tools ourselves to do various jobs such as time tracking, request queue processing, etc.

I was a little resistent when they let me put my projects into it. With so many tools messing my mind, I don’t know where to look for information that matters. But Trello is the kind of product that you can’t help using, as it presents a brand new way of project management, tracking and team collaboration. Like iPhone reinvented smart phones. Like flickr introduced a new approach to online photo albums.

Read the rest of this entry »

We have a test environment with real user data, and during testing, the servers may send emails to these real users. But we definitely don’t want our users to receive those test emails, since they’ll be totally confused and get a bad feeling about our service. Yet we want the emails sent to our company’s domain to be delivered successfully, so we can test with our work email address.

One solution is update the database and change all user emails to dummy ones. However this requires one more step each time the development database is refreshed with real data.

Read the rest of this entry »

Evernote Mac upgrading

To the left is a screenshot I took when Evernote Mac client was upgrading itself. Quite stupid isn’t it?

It also bothers me that searching is not so convenient. I don’t know if developers of this software actually use it or not. When I need to search for something, I need to use mouse to set focus to the search box, and then enter the phrase I want to search.

When I want to stop searching and clear the search box, I have to move my mouse and click the cross icon to the right of the search box.

I mean, for productivity’s sake, why not give it a shortcut key? In Adium, I can easily search contacts by directly typing, and stop searching by pressing ESC. That’s the key feature that allures me even if it’s less stable than the Messenger made by Microsoft.