10 essential tools for Ph.D students in Information Science


This is a list of tools that I used throughout my graduate studies. I never needed any thing else (well except some food and some coffee). All these tools are available for free.


Editing and typesetting


vim [editing files]

Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.

Vim is often called a “programmer's editor,” and so useful for programming that many consider it an entire IDE. It's not just for programmers, though. Vim is perfect for all kinds of text editing, from composing email to editing configuration files.
http://www.vim.org/


latex [creating pdf files]

LaTeX is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation. LaTeX is the de facto standard for the communication and publication of scientific documents.
http://www.latex-project.org/


OpenOffice Impress [presentations]

A presentation program similar to Microsoft PowerPoint. It can export presentations to Adobe Flash (SWF) files, allowing them to be played on any computer with a Flash player installed. It also includes the ability to create PDF files, and the ability to read Microsoft PowerPoint's .ppt format.
http://www.openoffice.org/


ctags [navigation in program source files]

Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object).
http://ctags.sourceforge.net/


Graphics and figures


dia [drawing diagrams]

Dia is inspired by the commercial Windows program 'Visio', though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.
http://projects.gnome.org/dia/


gnuplot [plotting data]

Gnuplot is a portable command-line driven interactive data and function plotting utility for various operating systems. It was originally intended as to allow scientists and students to visualize mathematical functions and data. It does this job pretty well, but has grown to support many non-interactive uses, including web scripting.

Gnuplot supports many types of plots in either 2D and 3D. It can draw using lines, points, boxes, contours, vector fields, surfaces, and various associated text. It supports many different output formats (eps, fig, jpeg, LaTeX, metafont, pbm, pdf, png, postscript, svg, …).
http://www.gnuplot.info/


Empirical analysis


tshark [packet capture and dissection]

TShark is a network protocol analyzer. It lets you capture packet data from a live network, or read packets from a previously saved capture file, either printing a decoded form of those packets to the standard output or writing the packets to a file. TShark's native capture file format is libpcap format, which is also the format used by tcpdump and various other tools.
http://www.wireshark.org/docs/man-pages/tshark.html


awk [processing text data files]

The basic function of awk is to search files for lines (or other units of text) that contain certain patterns. When a line matches one of the patterns, awk performs specified actions on that line. awk keeps processing input lines in this way until it reaches the end of the input files.

Several kinds of tasks occur repeatedly when working with text files. You might want to extract certain lines and discard the rest. Or you may need to make changes wherever certain patterns appear, but leave the rest of the file alone. Writing single-use programs for these tasks in languages such as C, C++, or Pascal is time-consuming and inconvenient. Such jobs are often easier with awk. The awk utility interprets a special-purpose programming language that makes it easy to handle simple data-reformatting jobs.
http://www.gnu.org/software/gawk/


scripting and automation


bash [automating complex tasks]

Bash is the shell, or command language interpreter, that will appear in the GNU operating system. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification.
http://www.gnu.org/software/bash/


make [automation of compilation tasks]

Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.

Make gets its knowledge of how to build your program from a file called the makefile, which lists each of the non-source files and how to compute it from other files. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.
http://www.gnu.org/software/make/






Labels: , Wireless Internet Security Coding Network Monitoring

Comment

Enter your comment (wiki syntax is allowed):
IWTOT

Wireless Internet Security Performance RADIUS server Wireless Internet Security Performance RADIUS server