Manage Eclipse plug-in externally

Usually, our eclipse based IDE consists of two parts: Eclipse SDK and Plug-ins. Different plug-ins combines together and work as an IDE for different purpose. IDEs for different purposes also share some common plug-ins. If we are using CDT and WTP, we have to include not only the basic Eclipse SDK but also some plug-ins like Subversion Plug-in, EMF-SDO in both these two IDEs. Usually, we maintain several copies of the Eclipse SDK and some common plug-ins for different IDEs. However, if we need to update some parts, we have to update in every Eclipse copies.

We can use another approach to install plug-ins. We put link files which point to the location of plug-ins in the links directory, and when Eclipse starts it will look for those locations and load proper plug-ins. Many developers leverage this method to maintain their Eclipse Environments.

I developed a small utility and hope it will make this approach more easily. At first, you need to download a copy of Eclipse SDK and those plug-ins separately.  Then, make directories like below:

d:\eclipse

       |_____base

                    |______eclipse (Eclipse SDK)

      |______bundles

                    |_______WTP
                    |               |_______eclipse
                    |               |                 |_____features
                    |               |                 |_____plug-ins
                    |               |_______.bundle
                    |_______EMF-SDO
                    |_______m2eclipse
                    …………
                    (Some other plugins)

“Base” is the directory storing basic Eclipse SDK and bundles are for plug-ins. In each plug-in directory, create a plain text file named “.bundle” and write the name of the plug-in into it (Actually, this file is unnecessary, I will improve this later). Finally, put following two files under the top “eclipse” directory.

File1: LunarPhase

File2 LunarPhaseHelper

And then launch the LunarPhaseConfig.exe.

main

new a profile by specifying plug-ins and workspace.

profile

and then you can click the launch button, or click the shortcut button and then run the corresponding “bat” file to raise your customized Eclipse environment.

Still some bugs, I will fix them and add some useful features (example: downloading from update sites) later.

Focus on one thing for 30 minutes

Dumb Little Man’s 5 Simple Steps to Power Up Your Productivity gave a good approach to help us improve productivity.The essential part of the article is “30 minutes high performance time”. It means you’d better focus on one thing for 30 minutes, and after the 30 minutes, hang about with your notebook, have a rest and try to review all you have done.

The translated version (Chinese) at mifengtd.cn (Chinese) recommend two countdown tools to help us implement this approach. However, I am not so satisfied with those two utilities. I took about 1 hours and made an own application to count down the 30 minutes. Probably, in future, if time permits, I will add some other feature into it, for example the integration with Outlook tasks.

This tiny application is developed with Visual C#, you can just download the application file (LaserConvex.exe) and run it directly, or download the setup file, go through each step and you could run it from your start menu.

Program: LaserConvex.exe
Setup: Setup.rar

Pause iTunes after a specified interval

I like listening to music before falling into sleep, but as I know, iTunes doesn’t provide such feature to pause iTunes after a specified interval. I wrote a small C++ program to do it. Binaries and source codes are attached below.

Actually, it should be much easier to code such program with VB, C# or even JScript and python. But I haven’t written C++ program for a long time, I’d like to pick up this skill.

some materials:
iTunes COM for Windows

Binary: iTimer.exe

Source Code: TimerTune.7z