A Simple Histogram Software (Libre Calc File) for Course Grading

After a long time, I am writing a new post on this blog. This is the first long vacation I am having after my PhD. So, I thought about learning a little bit more about spreadsheets. For a while, I have been thinking about creating a simple .ods file for course grading. Yesterday, I had some free time to ponder over it and came up with this simple file which can do most of the basic things related to grading:

https://drive.google.com/file/d/0B76qmOiQuL6NclJOYi02UWRVVEU/view?usp=sharing

Remember that this file works only with Libre Office Calc. Of course, you can re-implement this file in Excel with a little effort.

XCircuit – A Simple but Powerful Schematic Drawing Tool

For drawing vector graphic pictures, we have several open-source softwares such as Inkscape, Dia, Xfig and LibreOffice Draw. Out of all these softwares, I use Inkscape extensively for drawing vector graphics. However, Inkscape doesn’t have proper library management capability, which I think is essential when we are drawing circuit diagrams. So, I have been searching for an alternative vector graphics editor for drawing circuit diagrams. Recently I came across XCircuit, a simple but powerful tool for drawing publishable-quality electrical circuit schematic diagrams. There are some other tools for drawing circuit diagrams such as Circuit_macros and Circuitikz. Though their output quality is good, these tools do not have any GUI front-ends. So, it takes some time to write the code for drawing circuit diagrams. XCircuit addresses these drawbacks and can be customized very easily. If needed, XCircuit can generate SPICE netlists too. Here are a few screenshots of XCircuit’s usage:

Edit: Symbol library feature has been added to the latest version of Inkscape (v0.91). So, now it is very easy to draw publication quality circuit diagrams using Inkscape. You can find here a simple circuit element symbol library that I use. Just press “Shit+Ctrl+Y” (Object->Symbols) to pop-up symbol library dialog window. But, I still prefer to use Xcircuit for drawing circuits as it is optimized for drawing circuit schematics.

Drawing circuit diagrams in XCircuit.
Drawing circuit diagrams in XCircuit.
One can create their own components and add them to XCircuit libraries.
One can create their own components and add them to XCircuit libraries.
One can export circuit diagrams as .svg files and edit them further in Inkscape
Finally, export circuit diagrams as .svg files and (if you want) edit them further in Inkscape

Geany – A Lightweight Cross-Platform IDE

For the past 5~6 years, I have been using Eclipse (plus Pydev) for Python scripting.  It is a great IDE, not only for Python, but for many other programing languages such as Java, C, C++, Fortran, etc. However, Eclipse is quite a resource hungry program. Then, I found a lightweight but fully functional IDE for Python (and many other languages). It has “almost” all the features that are available in Eclipse, e.g., syntax highlighting, auto-completion, snippets, code folding, embedded terminal, so on. A few things about Geany IDE:

Generating Tag Files:

For auto-completion, you can generate tag files for any Python packages (e.g., Matplotlib) as shown below:

geany -g matplotlib.py.tags /usr/lib/pymodules/python2.7/matplotlib/*.py

You have to place the generated tag file in /home/username/.config/geany/tags/. For more information on generating tag files, see here.

Configuration File for Auto-Generating Sphinx Doc using Geanygendoc:

Download the configuration file from here and place it in /home/username/.config/geany/plugins/geanygendoc/filetypes/.

A few Screenshots of Geany IDE:

Geany IDE (with Spellcheck plugin)
Geany IDE with Spellcheck Plugin and Embedded Terminal
Geany IDE with custom colorsheme
Geany IDE with Custom Colorsheme (Tango)
Split View
Split View
Using Geanygendoc Plugin for Auto-Generating Sphinx Docs
Using Geanygendoc Plugin for Auto-Generating Sphinx Docs

MATLAB alternative ?

If you are really looking for a viable alternative, Python is your friend.

In addition to the basic Python, some important packages (similar to Matlab toolboxes !) you might be interested in:

  1. Numpy
  2. Scipy
  3. Matplotlib
  4. Mayavi
  5. Sympy
  6. mpmath

A more comprehensive list of Python packages for scientific computing:

http://www.scipy.org/Topical_Software

Most of these packages come with BSD type licences. So, you can use them even in proprietary softwares without any problem !

Also, documentation for these packages is provided in several formats (most convenient one would be Sphinx format, see, e.g., Python documentation).

You can download these searchable documents for offline use and bookmark them in your favorite web browser. So, there it is … my Matlab help alternative.

If you don’t want to install each package separately, then install pythonxy instead !

And the best part … all the above mentioned ones are platform independent or cross-platform.

Python at work:

Eclipse IDE
Eclipse IDE
A simple 2D plot
A simple 2D plot
A simple 3D plot
A simple 3D plot
Help browsing
Help browsing
Eclipse Debugging
Eclipse Debugging
Version control (SVN, Git, anything you want)
Version control (SVN, Git, anything you want)

Jumblo (VOIP service) on Ubuntu Linux using Empathy/Linphone

Jumblo is one of the cheapest VOIP service available.

Installation of Jumblo is very easy on Windows.

But, using your Jumblo account on Linux (Ubuntu) may not be straightforward (but, not difficult).

Here is some information you may need to know:

You can either install Linphone or use Empathy that comes bundled with Ubuntu. Here, I will provide instructions to use both of them.

Empathy:

  1. Install Sofia-Sip (you can find this in Ubuntu software center).
  2. Check your Ubuntu sound preferences for incoming/outgoing.
  3. Add a new Empathy SIP account with the following settings:
    • Username: JumbloID@sip.jumblo.com (replace JumbloID with your Jumblo username)
    • Password: Jumblo user password
    • Advanced settings -> Proxy server: sip:sip.jumblo.com

Linphone:

  1. Install Linphone (once again, you can install this from Ubuntu software center)
  2. Configure Linphone’s multimedia settings
  3. Add a proxy account using the settings:
    • SIP identity: sip:JumbloID@sip.jumblo.com (replace JumbloID with your Jumblo username)
    • SIP proxy address: sip:sip.jumblo.com
  4. Finally, type your Jumblo user password to login

Thats it !

Some of My Favorite Open Source or Free Softwares (not in any particular order) …

(“Python+NumPy+SciPy+matplotlib+Mayavi” almost a perfect alternative for MATLAB … you don’t have to install them separately … “pythonxy” will do everything for you …)