Category Archives: Tools

Find out which program is locking a file with Process Explorer (Windows)

Ever wonder why you can’t delete a file? When the dreadful message appear: “Your file is opened in another program”, the stupid computer won’t allow you to delete that file!

We have just the solution: Process Explorer from Microsoft. I choose to introduce this program because it is easy to use, even if you don’t know anything about bash script and the likes. Let’s see how it works:

1. Download Process Explorer from Microsoft TechNet

2. Start the program. No installation needed

Process Explorer

3. Open menu Find/Find File or DLL Handle

Open menu Find Handle

4. Search for the file/folder name you want. Take note of the PID (Process ID)

Search file name and take note of the PID

5. Use Ctrl + Alt + Del to open task manager

6. In Menu View, enable column PID for Task Manager

Enable custom column for task manager

Enable custom column PID for task manager

7. Sort Task Manager processes by PID. Find the troublesome process and kill it

Kill the possessing process

The other scenario that this tool could prove useful:

1. To track down a “lingering” DLL that refuse to go away (eg: Visual Studio refuse to build because it cannot delete the old DLL)

2. Cannot clear an old folder “just because” it is opened in windows explorer

3. You cannot delete a file because another user has it opened in their notepad in their session

Credit: this solution is taken from many places, yet the most credible source is the question “Find out which process is locking a file or folder in Windows” in StackExchange SuperUser.

Every tool has its cost

tools,eclipse,ide,web-development

For such a fairly long time I haven’t written anything. Not because I don’t have anything to write, but it’s hard to pull complex things out of my head. But now it seems to be time for a warm-up :)

One of my senior, Mr An, has a favorite sayings: “Until you don’t depends on tools, you are not truly a developer.”

Truthfully, I don’t think I have fully understand what he means. A developer with more than 10 years in this industry may have a different view to a young one like me. But to some extent, it seems to be a good idea.

For a certain amount of time I have tackled Maven, Spring Framework, Java Serverpage, Freemarker… I end up spending most of the time trying to fix bugs, caused not only by the framework, but also by mis-configuring Eclipse & its plugins. To be honest, it’s annoying

Actually, Eclipse is such a good tool: nearly everything you think that a good IDE should have, it exists in this free solution: refactoring, navigation, source-control-supported, Maven-tools… Such many functions integrated in a single program. Pretty handy, isn’t it?

But here a problem arise: when you have too much utilities, it will be hard to have a meaningful organization. It make me frustrated when right-click in Eclipse and have a 20-items context menu pop up. Still, navigating through that menu isn’t as hard as understand why and how to use the Eclipse view, explorer, hot key, configuring it to auto-compiling… Those are also the things you need to know to speed the work up. As far as I know, there’s no simple coherent way to do all the tasks.

The same semaphore also applies to any of our developer tools, no matter if it’s an IDE, framework, libraries… or even, methods. In my view, the best tool is a tool with few familiar functions, so that we can easily master and get the best results with minimal efforts. But the fact is that, as long as people want to stuff their tools out to fit everyone needs, that goal is hard to meet.

You must master a tool before you can make it work for you, so there’s a hidden cost. Imagine, if a tool doesn’t allow you work 2 times faster, do you spend 2 weeks to master it, just for use in a 1-month project?

Let’s choose and use tools wisely.

Online Code Editors

codepad,online-editor

/** Vietnamese – Bài viết giới thiệu về một loại ứng dụng hữu ích cho các lâp trình viên: Online Code Editor **/

Well, just when I think my ideas have drained (actually, struggling to sort them out), then I  remember there’s a useful tip that haven’t been shared yet. That’s the using of online code editors.

What’s an online code editor?

An online code editor is an editor that gives you tool to compile and run code online, which means you don’t need to download & install bunch of packages, IDE, and libraries on your machine.

You may or may not hear about them: no online editor can fully replace a good IDE for your favorite programming language. The server generally doesn’t allow you to do all the things:  accessing file system is often prohibited, so does network programming… But it certainly have some value for testing/experimenting. Remember the last time that your cousin ask about Pascal? Well, now you don’t need to re-install or download the packet, just go to a Pascal-supported online editor, and show him a working version of your greedy algorithm. Pretty handy, isn’t it?

Online editors come in many languages: C#, C++, PHP, Java, Groovy… The most popular editors are those which support HTML/CSS/Javascript. This gives web developers a quick prototype tool: Copy your code into the editor, run the code, then send the result link for your boss, your peers, or your brothers. Remember, they don’t need to install & configure their machine!

This makes me remember a theory about the Cloud: sometime in the future we won’t need to buy a machine which is called PC. We only need a monitor, then connect it to the Internet Cloud  to use Office, Calculator, writing emails or playing games… The Operating System is on the Cloud, so do the applications. Will we code on the Cloud, too?

Some of the useful sites:

Zotero : A simple but useful organizing tool for documents

It’s kind of a little surprise to myself that I’m still able to be here and writing.

The first time I got my first computer, I have developed a bad habit: collecting hundreds of ebook that will never be read. Well, to me that’s not too big a problem. As time pass by, my “library” grows bigger and bigger, and the directory system no longer satisfies my needs. So I have done some research about how to organize documents.

Yeah, you may already heard about a bunch of document-organizing system. Some are tools to classify ebooks, file type conversion & collecting their information on the Internet, like Calibre. Some allows users taking note, organizing their notes by tags and category, then sharing with others (a brilliant example is Evernote). But there’s another kind of tool that people often forget, that’s the bookmarking system of every browser!

Zotero is somewhat the combination of all above things. It’s only an add-on for Firefox browser and the functions it provides, in my opinion, are not special. But its simplicity is the thing which matters:

Zotero - quick save web page

1. Quick save & take snapshot of any website you want: this things is quite good. If you are working on some kind of researching, very likely you must gather information little by little from arbitrary sources: blog posts, papers, articles… And even if you take the time to save the URL for reference, it’s a good chance that when you come back the resource doesn’t exist anymore. With this function, those problems disappear at ease (1).. Besides, you can take note with the saved documents and tagging them. Like a mini-evernote on your browser, right?

2. Share and browse the Zotero library:

Sharing to friends & the world

With a Zotero account, you can share yourdocuments with the remains of the world! Just joking, but you can do that. You can even browse the favorite documents of other Zotero users. Zotero Groups, which is formed by people that share common interests, or discipline. This maybe more useful than you can imagine: let say you have a group of friends, which are interested in photographing techniques. There are too many article on this field, good or bad, how can you tell? How can you have the time to read it all? Instead, you can browse the documents of friends who is master at photographing (or even they are not your friends); isn’t that better?

3. Sync among many computers: this maybe trivival, but to some it’s important. Like many people, I have 2 computers: one for home and one for work. This function helps me continue my research seamlessly, like a little Dropbox for documents.

Above are 3 main reason that I feels Zotero is useful. Up to now, the only thing that I complaint is some kind of javascript error when Firefox start. It’s trivial, though.

If you want to start with this great tool, you may want to take a look at here. This gives you some more details about what Zotero can provide.


(1) This is also exactly the things that Evernote Chrome/Firefox plugin provides. But to my experience, Zotero works just better and faster. Still, Zotero doesn’t require you to install a big app at client side to view the documents offline.