Text Expander for Windows

In my past blog posts I blogged about chrome extensions that improve your browsing experience. One of the extension: Popchrom a text shortcut tool was so useful I want to use it anywhere

For Mac there is a popular app called Text Expander from smile software that gives your text shortcut capability. In Windows it is more difficult to find alternatives, until I found Phrase Express; a cross platform application that does exact that and more.

Phrase Express

Phrase Express is free for home use and it have paid upgrades for some additional functionality. It have a few neat features that can be very useful.

Text Snippets Management

The most common problem Phrase Express solves is help you quickly enter text phrases. Similar to Popchrom, you can type in a keyword and Phrase Express will replace it with the defined text. Phrase Express added the ability to customize shortcut key so you can choose any configuration you like. You can manage text phrases by folders, and it allows you to quickly change shortcut key and text replacement behavior for all text in a folder. There is also a search bar to find any text you created and you can also specify which application can use a given phrase. The interface is a little difficult to get started but once you get familiarised, it’s a very powerful to use.

Clipboard management

Phrase Express have another neat function that work as a clipboard manager. The native clipboard in the operating system only store the latest text content. And traditional clipboard manager requires you to make multiple clicks for pasting text and since you need to take your hand off the keyboard which making it cumbersome to use. Phrase Express have a really neat solution: use shortcut keys, once activated it opens up a popup menu contain all your past clipboard history, you can use shortcut key or up and down arrow to pick. Your hands stays on the keyboard thus improve your productivity greatly.

How do I use Phrase Express?

Personally, Phrase Express helps me a few places in my day to day life. I have 3 different email one for work, one for personal use and other for signing up newsletters and services I’m not sure I’ll use. Phrase Express helps me fill in signup, login forms in a snap. When I write an email, I have different signature base on the receiver, Phrase Express make that simple by using autotext.

Phrase Express is a very useful productivity application that everyone should have. If you type your email in multiple places for login or need to manage multiple email signatures, Phrase Express can help you speed up your process and type less.

j j j

5 must have Google Chrome Extensions

I’ve been using Google Chrome ever since it was released, and I loved it. It is the fastest browser in the market, nothing else even come close. One key part of user experience for chrome is it’s extensions, they are applications that run in your browser to improve your user experience, productivity and have fun. I want to share a few of my favorite extensions that can improve your day to day browsing life. The list is not sorted in particular order.


This is a text short cut extension that help you speed up enter form data such as long email addresses. My email address is over 20 characters long, by simply create a short cut using Popchrom, now all I have to do is type two letters. This extension help you speed up login into websites and signing up to websites.

Xmarks Bookmark Sync
If you use chrome in multiple computers, you can find that Chrome bookmark sync is often buggy. It often fail to detect removal of bookmark and if you try to organize your folder, sync can duplicate the moved foldrs. Enter Xmark Bookmark, the extension come in two part, a sync app that perfectly sync your bookmarks cross any Chrome instance and a service that store your synced data. I’m not sure if there are better products out there, but once you start to use it, you’ll stop look.

Chromium Wheel Smooth Scroller
Ever tried a Mac? Love the smooth mouse scrolling? Now you can replicate that experience in chrome with Chromium Wheel Smooth Scroller, simply install it and start scrolling away smoothly.

I don’t mind ads, but some ad is just too much for me, that’s why I uses AdBlock. It’s customizable to target specific domain or ad on a specific website.

If you love to read article on the web, then you will love iReader. This extension extract article text and format them with clean layout and large font. I love read new articles online, and this is my go to app.

Readability is a article bookmark service that offer similar feature to iReader. Like iReader it’ll clean up any article you want to read, but if you don’t have time to read the full story, you can save it in Readability service and read it later. There is also a free iOS and android app let you sync your articles and read offline.

j j j

How to add external libraries in Maven

While I was working on dropbox writer, I run into this problem. I have a maven based project that to use dropbox java SDK, but dropbox java SDK is not in any well known Maven repository. So I did some research on add dropbox sdk dependency to maven. After two days of trial and erros I’ve found a few ways to approach this.

First thing I found was to add system path property under dependency configuration, but this solution excludes the library from maven build.

Also I found people suggest that I should create my own maven repository. If you are interested this blogs have details on how to create maven repository in github. While this is a workable solution, I don’t really want to maintain a dedicated maven repository.

The best solution I found was to create an in project repository. The idea is your will create a library folder inside your project. You’ll configure your pom to point to the repository and it will act as a normal maven repository.

To get started first you need to create a library folder under your project, I’ll call this folder libs (make sure it’s in the same folder as your pom). Then you create a sub folder structure under libs and name your library using the following convention.

I’ve created the following structure for dropbox sdk library

groupId = dropbox
artifactId = dropbox-sdk
version = 1.3.1
the library file = dropbox-sdk-1.3.1.jar

Next open your pom.xml and add the following block under repositories

This will point to you in project repository. The name field can be anything.

Now in the pom.xml you can add dropbox dependency as following

Notice the groupId, artificatId and verion follows the pattern described above.

You can add multiple dependencies by creating them in separate folder structure under libs.

j j j

Hobby project

I started a new hobby project three weeks ago. I had a play with iA writer on my iPad and I loved it. The app is great but I would like to blog in front of my computer. So I headed out and started to build my iA writer inspired web app.

Right now It’s not 100% completed, but the website is up, so check it out dropbox writer.

It’s still early stages and I’m still making a lot of changes. Stay tuned signup should be open soon.

j j j

Backup your wordpress

One of the burdens of hosting your own blog is BACKUP. Since I’m using a free php hosting service, my site can disappear and remove at anytime. So I need to make sure I have adequate backup strategies to be able to restart rmy site somewhere else.

First I want to figure out what I need to backup and how often I need to run the backup? My blog consist of two main part; blog content and wordpress files. My blog content include blog entry and uploaded files such as images and videos. Since I store all my images in picasa and videos in youtube, I don’t need to back them up. The blog entries are in database, since I blog once or twice a week, at minimum I need to backup my database once a week. Then there are the WordPress files which include themes and plugins. These files are static and stored on the server, at best I should run backup for them once a month.

WordPress is one of the most popular blogging engines in the world, there are many backup plugins I can use. The problem is how to figure out which one to use. I’ve spent a week testing a few popular backup plugins. The goal is to find a system that can backup both files and database. And preferably the two system can run with different schedules. The last part is find a place to store the backup. I would like to backup the data to either Dropbox or box.com, so I would perfer plugins that can facilitate this.

But after a few days of testing I was very disappointed; most of the plugins lack key features such as schedule backup, others simply does not work. I suspect my hosting provider might impose a few limitations that can cause the failure. So In the end I decided to use everything I’ve found and created a workable solution.

First I installed BackUpWordPress for backup my database. The plugin creates MySQL dumps and can run on a set schedule. It have an email your backup function but unfortunatily it didn’t work for me. I’ve set it to run on daily basis then once a week, I manually pull down the backup. I can write a automation script in the future to download the file automatically.

Then I need something to backup my files. The bad news is there is no working system that can automate this process. The good news is my files doesn’t change all that much. So I just use my ftp client and pull down every single file once a month.

I would love to see if there is a working backup plugins that can automate my backup strategy, but for the time been this solution will do for me. Maybe the second step I could take is write a native ftp client that pull down all my files and zip it up.

j j j

Why jailbreak ?

This is what the creator of jailbreak app have to say about jailbreaking:

There are multiple reasons to jailbreak, including :

  • changing the iOS experience with powerful tweaks that can’t ever exist on the AppStore : SBSettings, WinterBoard, IntelliScreenX, LockInfo, and lot of others…


The jailbreak is not meant for (and we are totally against it) :

  • pirating AppStore applications

Just have to say SwipeSelection Keyboard teak has really changed the way I use on screen keyboard

j j j

How to use basic http authentication in c# web request

We have to implement basic http authentication in one of our projects at work today. I did a quick search on the web and it looked simple:

The only problem is it doesn’t work. The issue is webRequest.credentials works for basic authentication under IIS. However we are using spring security. The real solution not much more complexed, it’s just hard to find. The solution is to add credentials inside request header.

This should also work for other systems such as .htaccess and security setup under PHP.

j j j