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.

Links

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.

December 24, 2013

Donate blood & Save lives

Quite a while, it has been, since I shared something that is not only non-technical but also in sync with my blog's caption.

Being helpful to one another is the least that we could do. We should not only be mindful of not harming others but also equally mindful of helping others. This is still more relevant in these changing times.

Blood donation is one such act of reaching out and helping those in need. Regarding titling this blog post "Donate blood & Save lives" in old fashioned manner, few things are better that way! In any case, as old as it sounds, it is as much valid and important even today :)

Donate blood

Blood donation is a very special way of volunteerism. One may not always have the required resources to be of assistance to others. However, blood donation does not require anything else except your good health and willingness. While other forms of giving bring joy to you psychologically, blood donation is unique in the way that it additionally gives many health benefits and improves you physically too.

Register yourself
 
Register your willingness to donate blood at any of the noted blood donor registry sites like the following; look out for other equivalent sites or channels depending on where you reside.

http://www.bharatbloodbank.com/
http://www.friends2support.org/

http://www.redcrossblood.org/

Make a list

Build a handy list of the people you know with details like their blood group, contact number, when did they last donate etc. This is like a local repository that is available only with you and your folks. You can have different repositories for different groups like family, friends and colleagues. Having such list(s) can come in very handy at unexpected times. Get started by creating an excel with columns like below:
  1. S. No.
  2. Name
  3. Blood Group
  4. Last donated
  5. Notes
Create awareness

Being aware is one thing. Creating awareness is another altogether. Understand the necessity & benefits of blood donation; explain the same to others. Encourage your family and friends to register and come forward to donate blood. Spread the word around and ask the folks to do the same in turn.

Experience & enjoy the joy of giving and being of assistance to others!

December 13, 2013

EPIC: Eclipse-based Perl IDE

Are you a programmer? And, is Perl one of the languages you use? If so, then this Techbit is for you.

EPIC is the point to start from for your Perl programming. It is imperative that one uses IDE for programming and it is precisely where EPIC comes as aid in the case of Perl-based development activities. As an IDE, EPIC provides all the standard functionality like syntax highlighting, syntax checking, content assist, debugging aids etc.

EPIC is located at http://www.epic-ide.org/.


For a quick head start, you can go through http://web.archive.org/web/20120113222246/http://www.cs.wcupa.edu/~rkline/Ubuntu/eclipse-perl.html (archived version of the no longer accessible http://www.cs.wcupa.edu/~rkline/Ubuntu/eclipse-perl.html). The detailed documentation can be found at the official website listed above.

December 9, 2013

Process Hacker

Process Hacker is similar to Process Explorer, which was covered here as part of an earlier Techbit.

There are differences though. While there are parties taking sides on either of these as usual, it is commonly said that Process Explorer is more helpful from a process inspection perspective whereas Process Hacker is stated to excel in process manipulation. As you use both the utilities, you’ll find the use-cases that only one of them can realize or those that can be realized in a better manner though one or those that can be realized equally well through either.

This utility is homed at http://processhacker.sourceforge.net/.

December 4, 2013

Command Line Snippet Store

Straight from the words as described on the site itself, http://www.commandlinefu.com is the place to record those command-line gems that you return to again and again. Delete that bloated snippets file you've been using and share your personal repository with the world. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

December 1, 2013

Process Explorer

You tried to delete a file on your Windows system and the system complained that the operation cannot be completed as the file is being in use. Which process or processes have the file handle? Or is it due a runaway process that did not do proper cleanup before exiting, in which case system restart is the only option? How about finding out what process does an open window correspond to? And, how about then checking the details like description, corporation etc. of that process?

Process Explorer lets you achieve the above tasks and much more.


This utility was from Sysinternals and later became part of Microsoft’s kitty as part of an acquisition. This utility is hosted and available for download at http://technet.microsoft.com/en-us/sysinternals/bb896653.

November 26, 2013

Disable clicking sound in Windows Explorer & Internet Explorer

Are you irritated by the clicking sound while navigating in Windows Explorer and Internet Explorer (IE)? If so, this Techbit is for you. Are you annoyed about bad things happening to good people? To make matters worse, are you bothered about good things happening to bad people? Well, neither can this Techbit be of help nor can I comprehend the rationale. Are you miffed at why the subject of this Techbit is not yet covered? Here we go, I can help you here and jump right into the topic!

Windows XP

  • Click Start
  • Click "Control Panel"
  • Click "Sounds and Audio Devices"
  • Click the Sounds tab
  • Scroll down the list under Program Events
  • Under the Windows Explorer section, highlight Start Navigation
  • Under the Sounds box, select (None) > OK, close Control Panel

Windows 7
  • Click Start
  • Click "Control Panel"
  • Click "Hardware and Sound"
  • Under Sound, Click "Change system sounds"
  • Scroll down the list under "Program Events"
  • Under the Windows Explorer section, highlight "Start Navigation"
  • Under the Sounds box, select "(None)"
  • Click OK
  • Close "Control Panel"

That should shut it!

Note that you would normally need to do this only once. That is unless the OS is re-installed on your computer after which the defaults would have to be changed again.

November 17, 2013

How to find USB 3.0 ports?

I keep hearing people say that they get good transfer speeds while dealing with the content stored in their USB devices from their computers "sometimes" and do not in the other unfortunate times. Until a while ago, I may also be counted among such. Even though I was guessing that it had to be related to the ports or USB 3.0 vs 2.0, I did not bother to find out the details behind. Now is the time to unlock what those "sometimes" are!

USB 3.0 offers betters speeds over 2.0. Obvious but this is a point to be noted. Those "sometimes" might have been those occasions when the USB device is plugged into the computer through a USB 3.0 enabled port. The question that comes next is how do you determine if a USB port on your computer (desktop or laptop) or your USB device/cable can support 3.0 or 2.0.

Following are few ways to determine if the USB is 3.0 or 2.0:
  1. Check if there is "SS" symbol on the port or the cable.

    SS symbol on USB 3.0



    If so, then the port or the cable is 3.0 enabled.

  2. Check if there is blue color inside the port or on the cable.



    USB 3.0 ports are blue colored and USB 2.0 ports are grey although it may not be the case always.

  3. Another phenomenon seen commonly in the case of laptops and worth noting is that USB 3.0 ports are found on the left side.

  4. Follow the below procedure:

    • Right-click on "Computer" icon
    • Select "Manage"
    • Select "Device Manager"
    • Look under "Universal Serial Bus controllers"

    If you see entries with "USB 3.0" text, it means you have USB 3.0 enabled ports on your computer. Note that this does not determine which of the ports is 3.0 and which not though.

In the process of figuring out, I've found an article providing a nice summary of different kinds of ports at http://www.digitaltrends.com/computing/pc-ports-explained-get-to-know-the-back-of-your-computer-2/.

October 20, 2013

Explorer++: Alternative to Windows Explorer

Explorer++ is to Explorer as what C++ is to C! As the name itself indicates, Explorer++ is an enhanced version of Windows Explorer, which is bundled by default with Windows operating system.

Explorer++ has additional features like creating tabs, splitting and merging files etc.

You can download this quite useful utility from http://explorerplusplus.com/.

September 8, 2013

MyUninstaller: An alternative to the default Windows Add/Remove utility

MyUninstaller is an alternative uninstaller utility to the default Windows Add/Remove program. The additional features provided by this utility are the display of details like product name, company, version, uninstall string, installation folder etc. of each of the applications and the ability to export the installed applications to a text/HTML file.

Some of the use cases where the exported file can be used: for references in case of migrating to a new computer or replicating to create a similar setup, taking automated snapshots to compare what has changed between two points in time, to share the configuration setup with someone else etc.

The tool is available for download at http://www.nirsoft.net/utils/myuninst.html.

August 17, 2013

Khan Academy: Rich repository of Educational Videos

Khan Academy accessible from http://www.khanacademy.org/ has huge number of free educational videos on a variety of subjects.

Though students are the ones who can benefit most here, this site can also be used by anyone interested in dusting the mind cabinet and doing a refresh!

August 6, 2013

Unix: more or less?

Commonly seen in Unix-based operating systems is usage of the command more to view paginated outputs. However, this command is quite old.

There exists the less command which has lot more functionality (like both forward and backward navigation) and is better performing as well (by not reading the entire file contents at the time of command invocation itself).

So, next time you want to use more, be frugal and use less instead – it is not useless though :)

July 23, 2013

Unix command: script

What is "script" command?

script is a very useful command that can be used to capture all that appears on a terminal. The output thus captured from the interactive session may then be useful while sharing with another colleague or team, or even used in a variety of debugging scenarios.

Next time you find yourself in a position to grab the screen/terminal contents, make use of this wonderful utility instead of relying on ad-hoc output redirections and screenshot captures.

What is its syntax and how do I use it?

Refer to the man pages on your system for the exact syntax/details, or an online resource like the one at http://unixhelp.ed.ac.uk/CGI/man-cgi?script. Typical usage however is along the lines of:
script [-a] [-c COMMAND] [-f] [-q] [-t] [file]

Are there any interesting points to be noted?

One standard note is that interactive commands, such as vi, create garbage in the output file. Be aware of it as such and use "script" for capturing plain text.

Few oft missed aspects, though, are that it:
  • Invokes a new shell based on what is populated in the environment variable SHELL
  • Creates a new login session as can be seen from the output of last command

Why don't you show me a simple invocation and what does it result in?

Sure, I can :)

Here's a sample invocation of the command:
sh-3.2# script
Script started, file is typescript
sh-3.2# ls
bin  boot  dev  etc  home  lib  lib64  lost+found  media  misc  mnt  net  opt
proc  root  sbin  selinux  srv  sys  tftpboot  tmp  typescript  usr  var
sh-3.2# exit
exit
Script done, file is typescript
And, this is what is logged into the file:
sh-3.2# cat typescript
Script started on Tue 23 Jul 2013 04:10:04 PM IST
sh-3.2# ls
bin  boot  dev  etc  home  lib  lib64  lost+found  media  misc  mnt  net  opt
proc  root  sbin  selinux  srv  sys  tftpboot  tmp  typescript  usr  var
sh-3.2# exit
exit

Script done on Tue 23 Jul 2013 04:10:20 PM IST
sh-3.2# 

July 9, 2013

MobaXterm

I wanted to include a one-liner in the title of this Techbit than just the tool name i.e. MobaXterm - it was very difficult though. There are so many wide-ranged features integrated into one single app.

Listed below are some of the features/findings:
  1. Tabbed Console with UNIX-like interface – replacement for Console & accommodates part of Cygwin
  2. Tabbed Console with support for embedded terminal server sessions – replacement for PuTTY Connection Manager
  3. X-server client – replacement for X-based commercial tools like Exceed or Reflection-X
  4. Multi-Execution Mode – you want the same command to be invoked in parallel on several servers? Then, this is what you want.
  5. Ability to download files (SFTP/FTP) from the terminal session – In general, if you want to fetch a file while working on a terminal server session, then you open a separate file transfer app (like FileZilla) and then download it. This can all be done from the same session in this tool.
MobaXterm is free and available for download at http://mobaxterm.mobatek.net/.