January 29, 2014

Freeplane: Mind mapping tool

To those who are not aware of Mind Mapping, it is a very interesting technique that promotes non-linear thinking and changes the way one thinks/organizes/presents. Google to understand more about this concept.

I started off with FreeMind, which is a free software available at http://freemind.sourceforge.net/wiki/index.php/Main_Page and can be used to develop mind maps. As is the case with many Open Source Software, it had a fork due to one of the core developers leaving the team. Result: Freeplane!

Apart from Freeplane having many more features, it is also more actively being developed compared to FreeMind, the latter of which is seeing very infrequent updates.

Freeplane is available for download at http://freeplane.sourceforge.net.

On a side note, I was shocked to learn that this technique is being taught to children nowadays at a level as early as elementary school education!

January 23, 2014

CoLT: Copy hyperlink text/details

CoLT is a very useful Firefox add-on to help you copy the text and the actual URL of a hyperlink in a variety of ways. Let me just put in the add-on’s brief straight from its homepage:

CoLT (short for "Copy Link Text") makes it easy to copy either a link's text, or both the link text and its URL in a format you specify. This non-invasive extension simply appears as context menu items when you right-click a link. Fully customizable!

The add-on can be installed from https://addons.mozilla.org/en-US/firefox/addon/colt/.

January 18, 2014

Merge, Split and Collate PDFs

Ever felt the need to take merge multiple PDF documents? How about taking just a page or two from a PDF document? Or how about updating the PDF document’s metadata? If yes or if you now want this functionality, then this Techbit is for you!

PDFTK Builder is the tool that can help you all that was mentioned in the above paragraph and much more. You could password protect a PDF document, you could add watermarks to the pages, you could rotate the PDF pages etc.

PDFTK Builder can be downloaded from http://angusj.com/pdftkb/#pdftkbuilder.

There is also a PortableApps compatible version available at http://portableapps.com/apps/office/pdftk_builder_portable. If you're unaware of what PortableApps is, check out http://spatnala.blogspot.com/2013/12/are-your-applications-portable.html.

January 11, 2014

lsof: A very useful Unix command to list the open files

lsof – shortened form for “list open files” – is the command that can be used to report the list of open files on Unix-based systems. There are a number of options available that can be used to control how the command behaves: list all the open files on a system, find out which processes and users have a file opened, see what files does a user or program have open etc.

Just to draw parallel, this Unix command is equivalent to Windows’ Process Explorer that was previously shared as a Techbit.

http://www.catonmat.net/blog/unix-utilities-lsof/ has given lot more details on the various usages of the command in a very user friendly way.

January 7, 2014

How to delete blank or certain lines in a text file?

Notepad++ is the text editor used for these tasks. Refer to this Techbit in case you're not aware of it.

How to delete blank lines?

Under the menu path “TextFX” >> “TextFX Edit”, there exists an option “Delete Blank Lines” to serve this purpose. A similar option to achieve this is present under “Edit” >> “Line Operations” as well.

How to delete certain lines i.e. lines having a specific text pattern?
  1. Search i.e. Ctrl+f
  2. Select the “Mark” tab
  3. Put in the pattern you want to search for
  4. Tick the checkbox of “Bookmark line”
  5. Select “Mark All”
  6. Select the menu path “Search” >> “Bookmark” >> “Remove Bookmarked Lines”

January 3, 2014

Unix command: screen

Consider this scenario: you’re connected to a remote Unix-based server (like Solaris or Linux); you invoke a program; the process starts running; while the process is still running and has not yet completed its execution, you lose the network; the process dies! The program you invoked could be anything like an installer which is just halfway through. How do you make sure you do not end up in b-e-a-utiful situations like this?

One way is to use nohup command that detaches the process from the terminal and makes the process ignore the HUP/SIGHUP signal (which is sent when the terminal session closes and the process usually exits as part of signal handling). This explains the origin of the command name too: no HUP ~ no hup ~ nohup. Other ways to detach include setting shell specific process control options like disown. However, this mechanism only detaches the process i.e. once detached, it cannot be attached to a terminal. This does not also handle processes that are interactive i.e. which expect input from the user where the ability to pause/resume or plug back into the session is required.

screen is a wonderful command that addresses all the aforementioned shortfalls and provides many more new features in the context of remote session management capabilities. It can be used to attach & detach sessions, share a session with another user, split the window horizontally/vertically and so on. You can create as many sessions as you want and manage as per your wish.

What the command essentially does underneath is that the process is detached from the connected terminal and rather managed by the screen process. Note that screen may not be available by default on your Unix system and may need to be installed explicitly.


Good tutorial: http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
Short introduction: http://www.pixelbeat.org/lkdb/screen.html
Official Website: http://www.gnu.org/software/screen/

December 28, 2013

Are your applications portable?

Installing software applications on your computer is one thing. However, what if you want to use them on a different system? Or how about the situation when your OS has to be re-installed? This brings up the question posed in the title of this blog post: Are your applications portable?

One solution is to use “portable” versions instead of “installable” versions – meaning, you’d be able to just extract the application binary to just a directory directly and use it from there on. Having portable versions of the programs is good. Wouldn't it be better to have an entity to manage all such portable applications? This is exactly where the solution offered by this Techbit, PortableApps comes into picture.

PortableApps lets you install various applications and manage them easily. It can be downloaded from http://portableapps.com/. Not all the applications are covered as of now but the positive side is
PortableApps is gaining popularity and we should be seeing the application repository of PortableApps ever increasing.

To summarize, following approach is what I would generally suggest in the context of installing software:
  • If the software has a portable version compatible with PortableApps, use it.
  • If not, check if a portable version of the software exists and use it if so.
  • If the software does not offer any portable version, only then install it in the installable mode.