technology

A GUI is worth a thousand keystrokes

I tend to live in the shell when working on programs, so much so that I run Ubuntu’s Server Edition and I’ve also opted for the GUI-less version of Emacs. Paired with GNU Screen (Byobu), I can essentially do work by connecting to my machine with any device that can run SSH and provide a decent software keyboard if a hardware version isn’t available.

Here at Jana, we are a Python shop. When delving into code there’s no tool more trusty than a debugger. But one thing I’ve noticed is that some of my colleagues that also live in the command line with me use the standard library debugger that ships with Python (pdb) with no problems at all. It serves its purpose without fanfare and that’s cool. That is exactly what I like about software I use, hence my utilitarian approach to my development environment. When I look at how the other side lives, those who work with full-featured GUI IDEs using feature laden debuggers, I’m not going to lie I get a little jealous. Visible stack traces in windows, ability to jump to definitions or stack trace calls,  easy to see state and values of variables, and more. Yes you can do most of that with pdb but not without effort.

1__tashafa_ubuntu__192_168_4_12__-_byobu__ssh_

Use of pdb to set breakpoints

1__tashafa_ubuntu__192_168_4_12__-_byobu__ssh_ 2

Somewhat archaic interaction when a breakpoint is reached

 

In comes PuDB and I’m not so envious anymore …

1__tashafa_ubuntu__192_168_4_12__-_byobu__ssh_ 3

Setting of a breakpoint using PuDB

1__tashafa_ubuntu__192_168_4_12__-_byobu__ssh_ 4

Breakpoint reached with detailed information at the forefront plus option to enter the classic shell mode

1__tashafa_ubuntu__192_168_4_12__-_byobu__ssh_ 5

Lots of preferences to choose with regards apperance, behavior, and what type of shell to use

Discussion

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s