The Old Blog Archive, 2005-2009

Archive for the 'announcement' Category

Blog Moved

I tried Tumblr and I liked it. So my new blog entries are over there now. Here’s link.

Which also means this blog will no longer get updated. But I’ll keep the entries.

TapExpense 2.0.1 Available

TapExpense 2.0.1 is now available on the App Store. This is a minor update but fixes a nagging bug that caused trouble when you tried to add a new category (or currency, group etc.) to a reordered list. This is now fixed.

It’s good to see our app come back to the market after first a hiatus then some long weeks of rewrite. We’re doing well on App Stores Italy and Japan (TapExpense is now in the Finance Top 20 Paid Apps List in both stores), and now in the Top 5 Financial Paid Apps List on App Store Taiwan (it’s actually in the Top 100 Paid Apps, All Categories list, too). Still, software development does not stop there. Unlike a finished book or a recorded music, software is organic in the sense it continues to grow after a release version is pushed out of the door. We’ll continue working on TapExpense to make it better.

TapExpense: The Making of a 2.0

After months of working and reworking, I’m happy to announce that TapExpense 2.0 is now available on the App Store.

TapExpense is an expense tracker for iPhone and iPod Touch. Version 1 started with a simple design. It supported multiple currency (a major feature) and could export data as CSV-formatted email text. Version 2 is a rewrite. It now exports XLS spreadsheet files. It also supports income categories, vendor/payee/source field, and group/trip field. It now uses a numeric keypad to speed up entering records, and has a passcode lock that lets you show off your other iPhone apps while keeping personal finances discreet.

All the new features, while keeping the fundamental design that aims to keep the balance between workflow simplicity and feature richness.

And we have a gorgeous icon too!

The road to 2.0 was a long journey. My colleagues and I have learned a lot from the process. TapExpense 1.2 was the expense tracker I enjoy using everyday. TapExpense 2.0 is a software product I’m proud of and I want to tell everyone about it.

So if you’re an iPhone or iPod Touch owner, and if you’re looking for an expense tracker, reading this blog entry, be sure to check it out and give it a try.

We even have a lite version that has every feature of the paid version and is fully functional. It neither expires or annoys. The sole limitation is that it only shows, reports and exports the latest 7 entries in any given date range. And you can continue using it adding as many entries as you like. Later, if you decide this is the application for you and you buy it, you can always transfer all your entries in the lite version to the paid version. It’s just that easy.

In the coming weeks I’m going to write more about TapExpense 2.0, about the new features in detail, about the nuance in the decisions of adding or dropping a feature, and about what we have learned from our users and our own usage.

Before then, find out more on the App Store: TapExpense, TapExpense Lite. And Lithoglyph company website. The paid version is USD 4.99 (or the equivalent of it in Europe and other stores). Existing user gets free upgrade.

And let us know how we can make it serve you better too.

Thank you!

Installing gitosis on Mac OS X

Garry Dolley’s guide to gitosis installation is excellent and to the point. For those who don’t know, gitosis is a nifty tool that helps you host git repositories via one shared SSH account. gitosis manages access control for you, so you no longer need to rely on the capricious UNIX permission/group settings which is the major headache for hosting your own git repository using ssh://.

Garry’s guide is written mainly for Linux users. For Mac OS X developers, there are a few minor things to take care of, and a few others to skip. For example, /usr/local/bin is not the default path on OS X. On the other hand, you don’t need to install Python. Creating user account is a bit different too.

So here’s a short step-by-step instruction on how to setup gitosis on Mac OS X:

  1. I assume you already have git installed. If you don’t get the latest git for Mac OS X. The quickest way is to get the binary package prepared by Tim Charper and gcheshire. Get it here. Consider getting gitx too.
  2. Find a working directory you like on the target server, then check out gitosis:

    git clone git://

  3. Install it (you need to sudo):

    sudo python install

  4. Now, create a new user from System Preferences > Accounts. Add a standard user will do. There’s no need to make it an admin account. Let’s call it “git”.
  5. Login with the just created user account. Create .bashrc, fill in the line below:


    This is because on Mac OS X, /usr/local/bin is not in the system’s default exported path setting. We need path access to the directories above.

  6. Now, assuming you’ll be the first user and the admin, you want to use your own public SSH key to access the shared account (that’s the whole point–more on this later). Get your onto the target server, or generate using ssh-keygen -t rsa on your local machine. If you don’t know what I’m talking about, read some tutorial on SSH authentication. A quick guide like this is a good start. Be sure you already know that before you move on–this is the crucial part of using gitosis.
  7. After you get your onto the target server, login to the server with an account with sudo access (which you don’t with the standard user account we just created above). Then do:
    sudo -H -u git gitosis-init < [path of your]

  8. Now login with the standard user account “git”. In your home directory there is already a repositories/ directory, in which you’ll find gitosis-admin.git
  9. Make sure the post-update hook is executable. Do this:

    chmod 755 ~/repositories/gitosis-admin.git/hooks/post-update

From this point on, read Garry’s guide to understand how to manage the admin repository. This is where gitosis is brilliant–you also use git to fetch and update the admin settings! Once you have finish creating your first gitosis-managed repository, the rest is easy. In fact, in our cases, we simply just moved all our bare repositories to under the standard user account’s repositories/ directory. We updated the gitosis config and we got it up and running well.

Some Updates

Going to be a really short update.

Now you know that I work for (and actually own) Lithoglyph, and we’ve just released a new version of Mondrianum, a color picker plug-in that leverages Adobe kuler color theme resources. And this being a few things that we are working on.

At the same time we’re still thinking hard and moving at a slow pace on giving TapExpense an upgrade. We’ve learned a lot three months after the App Store went live, and we are working on putting them in practice. Redesigning, reforming or simply refactoring an existing app is hard, as it turns out. But we are not yielding to the difficulties any time soon.

I really want to apologize for my slowness at doing anything related to mobilesync-inspect. I believe there are (or should be, but I didn’t do research) other tools that perform somewhat same tasks, hopefully with better UI. I really don’t have time to do all the testing and try out the replace-and-restoration scenario myself.

Apparently mobilesync-inspect belongs to some of the worst kinds of the open source software, that it can’t attract enough developer interest to carry on its development, plus that the original developer (that’s me) simply doesn’t have the resource (time, energy, committment) to improve it further…

ObjectiveFlickr, on the other hand, seems to fare better. There are lively discussions on how to port OF to iPhone–cutting off the NSXMLDocument dependency that is. And I’m glad that there are people interested and enthusiastic enough to do it. My own take would be scrapping XML parsing using NS stack entirely and use libxml2 to render Flickr’s XML response block a simple dictionary. But again that takes some time to re-do a few things.

OpenVanilla is under some major overhaul. Zonble and I are working on a nearly rewritten version of the OS X loader, this time entirely based on InputMethodKit. One interesting challenge is to backport IMK-based loader to Tiger, as it turns out that the market we want to support (Taiwan mainly) still has 50%-55% users hanging on with their Tiger installations. And we actually have found a solution for that, first applied in some in-house projects that we have at our company. The solution will be released as an open source library shortly.

It’s there… OpenVanilla 0.7.2 released!

After several months of fine-tuning and some weeks of packaging, OpenVanilla 0.7.2 is finally out of beta. We should have a (functionally) stable release now, although there are still tons of things to be made. Documentation, wiki, support work, spreading the message, and we have to prepare for a list of OV’s “issues” with OS X so that we’re able to discuss with the people at Apple.

OV’s Wiki in English has been slightly updated. On OV’s Wiki in Chinese, you’ll find a more detailed description on what’s new and how to get a copy of the latest release.

A special and big thanks to davidyu. If not for his patience (and also thanks to his elfish PowerBook XD), we wouldn’t have been able to hunt down and fix one of the most mysterious and unreproducible bug that we have ever encountered. Cheers for all!

A Big Thank You–Fund-Raising Target Met, and Beyond!

Progress of the Campaign (click here to donate):

Raised USD 2,635 (NT$84,319)
Target Met–and Beyond!


Not only the target of this year’s fund-raising campaign is met (USD 1,920 / NTD 61,440), but we have actually received more!

The part of the donation that exceeds the target will be retained as a long-term fund. We will use this fund in the future to help our team members participate in future conferences and/or hold input method-related technical workshops. Because of you, together we have made it!

Once again, we would like to thank all of you for your kindness and generosity!

Letter to Users of OpenVanilla: On the Fund-Raising Campaign of 2006, and Why We Are Seeking Your Support This Year

Dear OpenVanilla Users,

We would like to seek your help in this year’s OpenVanilla Fund-Raising Campaign.

OpenVanilla has made lot of progress in the past two years. Since October 2004, it was transformed from a proof of concept to a real thing that serves thousands of users. We have received comments and feedback from both Traditional and Simplified Chinese users, and have even heard that some retailers in Taiwan are installing OV as an offer to Windows “switchers.”

Right now OpenVanilla is at version 0.7.2 beta. During the past quarter we have become universal–0.7.2 beta runs on Intel Macs. We have fixed a number of difficult buges, and a stable 0.7.2 is coming along the way. Certainly there are still lots to be done. We’re planning a better Uninstaller, a Module Manager, even a .cin-Table Editor to make it easier for you to customize your favorite input method.

We need to be up to the front of the development of OS X to make OpenVanilla better. This is why we are having a Fund-Raising Campaign this year.
Apple is expected to announce its OS X 10.5 Roadmap at WWDC 2006 in San Francisco. We have learned that Apple is planning a redesign for the Text Service Manager (TSM)–on which all input methods of OS X depend. The current TSM is a legacy from the pre-OS X era and the form of many API calls date back to 1998. This will mean a sea-change of the inner structure, and we need to catch up this shift.

In addition, Apple Asia is holding an Input Method Workshop in the first week of September in Beijing, China. Apple Asia has invited many developers to join this event. The OpenVanilla Team is invited too.

We need your help to make these two trips possible.

We are expecting to send lukhnos (who is in charge of the core of OpenVanilla’s OS X version) to WWDC 2006. Zonble is planning to fly to Beijing in September (lukhnos will happen to be in Beijing in September, so he won’t need to fly).
We are raising a fund of USD 1,499 (NTD 47,968) to cover the entrace ticket for WWDC 2006 (which costs USD 1,295) for lukhnos and a part of a roundtrip ticket Taipei-Beijing for zonble. Lukhnos is willing to pay for the ticket to San Franciso on his own expense, and part of zonble’s ticket will be covered by the donation we have received for the past year.

As of June 6, 2006, OpenVanilla has received USD 461 (NTD 14,756) as donation. A roundtrip ticket Taipei-Beijing usually costs around USD 625 (NTD 20,000). That’s USD 164 shorter. Plus the ticket of WWDC 2006, and that’s how we have come up with the figure.

This year’s fund-raising campaign will end on July 31, 2006.

Being a community effort, OpenVanilla has already been a free software in both sense of the word–it’s free as in free beer and free speech. Its source code is open under the BSD License, and anyone can use the code freely under the terms of the License. Personally, I would like to promise that the OS X version of OpenVanilla will always be free of charge as long as I have a job–which means it will always cost nothing in the foreseeable future–and OpenVanilla’s commitment to the free/open source software will not change. Because of this, we rely more on the support of our users, so that we at the OpenVanilla Project will keep up the fast paces of the change in the big world–and bring back what we have learned and share it with you.

On behalf of the OpenVanilla team, I would like thank you for your support of this project and this campaign. Your help will be greatly appreciated!

Best regards,
Lukhnos D. Liu

OpenVanilla 0.7.2 (beta) Released

After six months of polishing and refactoring work, OpenVanilla 0.7.2 (beta) is released. There are two installation packages for 0.7.2-beta, the Base and the Extra. The Base consists of the OpenVanilla Loader and the Standard Set of Modules (including a number of popular Chinese input methods and output filters), whereas the Extra consists of many useful plug-in’s which extend OpenVanilla. Many of the modules in the Extra serve beyond East Asian languages.

Major improvements include:

  • A “Phrase Management Tools” saves repetitive text entry efforts and facilitates translation and many writing tasks.
  • Improved reliability and loading speed for the input methods generated by Generic Input Methods Module.
  • OpenVanilla is now a “Unicode” input method listed in the Input Menu tab (under the International settings within System Preferences). This makes inter-language text entry less confusing and more consistent for certain script-sensitive applications (such as Microsoft Word).
  • Customizable “input menu” icon.
  • Extra modules and data tables can be installed into special directories within your home directory now. No more need to fiddle with system folders.
  • Hanyu Pinyin and Wubizixing, two Simplified Chinese input methods, are make part of the Standard Set of Modules.
  • A collection of tools, such as Unicode IME and Unicode Decoder, are provided via an “Extra Pack” download package.
  • A pestering bug that disabled numeric keypad whenever OpenVanilla was in use has been fixed.

For more information (where to download, how to install, activate, or uninstall it), please refer to our official site at: , and yes, it’s in two languages. :)