Convert PDF for Kindle

Calibre vs Mobipocket Creator

Mobipocket Creator gives you more freedom. It first extracts contents from PDF and generate HTML file, then use HTML to generate .PRC file. So we have the chance to edit the HTML file before we generate the final .PRC file.

Plus, unlike what Calibre generated, PRC file's TOC is working.

Eclipse Debugging

When you debug in Eclipse, quite often, you want to put your mouse over a variable and check the value of the variable, but sometimes, this is not working, instead to show the value, it shows the definition of the variable. I did some search, some people suggests Java->Editor->Hovers, uncheck or check "Combined Hover", but it's not working for me.

I found that the problem depends on which thread you are selecting, if you are selecting the active thread, the variable value will show up, but if not, it will not.

Eclipse Debugging Problem

If you have 2 threads, and you are debugging between them, it seems the debug point always stops at only one thread, and lose the focus on the other, the trick to fix it is

Preferences->Java->Debug->Default suspend policy for new breakpoints: choose "Suspend VM"

Windows Search Replacement

Does anyone out there feel Windows' own "Search" really suck like what I feel? If you do, here is a good news:

I found Agent Ransack, which is really nice and fast.

Uninstalling Oracle 10g Manually from Windows XP

From Link

Oracle's installation utility has a nasty habit of leaving a lot of items behind. I wrote this up to document what I've found you need to do to uninstall Oracle 10g manually. This is specific to 10g and Windows XP. Removing 9i is very similar if I remember right, but who's using 9i anymore? ;-)

The first thing you should do, is go ahead and run the installation tool to do an uninstall. It probably will leave some things behind, but it's worth running. Then go through this list and remove anything it missed. This list is detailed enough though, that I believe even if you did not run the uninstallation tool, this would fully uninstall Oracle.

The most commonly missed item is to make sure you remove everything from the GAC because the uninstaller doesn't appear to. I get to that later, but if you wanted to know the largest source of uninstallation problems, it's libraries remaining in the GAC.

After running the supplied Oracle uninstallation utility (which may or may not do some or all of the following):

Stop any Oracle services that have been left running.
Start->Settings->Control Panel->Services
Look for any services with names starting with 'Oracle' and stop them.

Run regedit and delete the following keys (some may have slightly different names in your registry):
HKEY_CURRENT_USER\SOFTWARE\ORACLE
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle.oracle
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleDBConsole
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle10g_home
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OraclService

Note that the services control panel will still show the old services until you reboot.

Delete the Oracle home directory
C:\Oracle

Delete the Oracle Program Files directory:
C:\Program Files\Oracle

Delete the Oracle Start Menu shortcuts directory:
C:\Documents and Settings\All Users\Start Menu\Programs\Oracle*
Where * indicates the name of your install. Look for and remove all Oracle directories from that location.

Remove Oracle refereces from the path. To edit your path go to:
Start->Settings->Control Panel->System->Advanced->Environment Variables
Edit both of the environment variables user PATH and system PATH. Remove any Oracle references in them.

Remove Oracle.DataAccess and any Polic.Oracle files from the GAC which is at:
C:\Windows\assembly\

There, now your system is Oracle free. If you are installing a new instance of Oracle (and not just an additional DB) I recommend you do this before any new Oracle installation.
Note: I used several other websites and searches as references when developing these steps, but I was unable to find any steps that covered all of the items for Oracle 10g so I assembled them here.

Oracle Tablesapce

A tablespace is a logical storage unit within an Oracle database. It is logical because a tablespace is not visible in the file system of the machine on which the database resides. A tablespace, in turn, consists of at least one datafile which, in turn, are physically located in the file system of the server. Btw, a datafile belongs to exactly one tablespace.

Each table, index and so on that is stored in an Oracle database belongs to a tablespace. The tablespace builds the bridge between the Oracle database and the filesystem in which the table's or index' data is stored.

There are three types of tablespaces in Oracle:
Permanent tablespaces
Undo tablespaces
temporary tablespaces

Oracle XE "Database" vs "Scheme"

This is from: link

In Oracle, a database means a collection of data files and control files stored on disk. You can have only one database with Oracle XE. A database is mounted by a Oracle instance, which means all the background daemons and programs that you can see with ps.

You probably want a schema, which is what other DBMS products (e.g. MySQL) often refer to as a "database". IIRC there was no limit on the number of schemas in Oracle XE. You can create those from the APEX UI that comes with XE, or from command line (with CREATE USER -- again, confusingly, a userand schema are largely synonymous in this case).

I recommend reading the Concepts guide from Oracle documentation, most of this basic stuff (e.g. how things are called in Oracle-lingo) is covered there.