Preventing SSH timeouts

Depending on the environment you're working in, you may be automatically logged out from a server by SSH timeouts. Here are a few things you can do to help prevent these timeouts :

Add or modify the following in your /etc/ssh/sshd_config file :

ClientAliveInterval 28800
ClientAliveCountMax 28800

In your ~/.bashrc file, set the TMOUT parameter to something longer. For example :

export TMOUT=28800

On your client (PuTTY) set the seconds between keepalives to something like 30.

Free or Open Source MS Project Clones

If you need a light-weight Microsoft Project clone, or simply a MS Project viewer, here are a couple solutions :

- OpenProj :

- GanttProject :

Both can open MS Project .mpp files, so both can do a reasonable job if that's all you want to do. If you want to actually set up a project, OpenProj seems to be the more capable. GanttProject also seems to lack horizontal scroll bars, so I couldn't navigate the timeline well. It also doesn't seem to import predecessors and durations from .mpp files, so again the nod is to OpenProj.

Simple example of how to bind a class method to an action (button click) with JavaServer Faces

I'm learning a bit of JavaServer Faces. Its paradigm for event handling is quite different from what I've seen in "classical" MVC frameworks like Yii, CodeIgniter, Rails, or even simple PHP.

I was looking for a simple example along the lines of :

If I click a button on a JSF page, it will invoke a method in a "model" class.

This is straight forward in POP (plain ole PHP). Set up an HTML form and bind the form to a PHP script via an ACTION=myscript.php entry in the form.

Serializing data from Tcl

Tcl still is in use in a number of environments like embedded devices. However, looking at Tcl code fragments reminded me of why I gave up on Tcl many years ago. I can't really recommend spending much time in Tcl.

However, if Tcl is your only choice for "primary information", then you need to translate the information from a Tcl structure into another format. Potential candidates for this are XML, JSON, or YAML. I think JSON is a little better for most simple data structures you may find in Tcl, but pick your poison.


Using XML in Tcl

I used to do quite a bit of Tcl programming back in the mid to late 1990s. I've since largely dropped it, but Tcl still is used quite a bit in specialized use cases.

To use Tcl with XML, it seems like the most popular solution is the TclXML package :

From what I can tell, it's the best / only package for XML in Tcl, although here's a 11-year old article by Steve Ball which seems to reference other approaches :


How to apply (export/import) a patch in BitKeeper

Let's say you need to backport a fix from one BitKeeper repository to another. Here's one way to do it. I suppose there are other or better ways to apply a patch, especially if you have a lot of changesets to backport. But if you're limited to a few changesetd, this seems to work for me.

The following documentation is useful :

1. Create personal clone of target repository :

$ pwd
$ mkdir target
$ cd target
$ bk clone /share/source/code code

Dokan - sshfs for Windows

jEdit has a nice SFTP plugin which allows you to edit remote files as if they're on your local machine.

I've been working with the Netbeans IDE lately. It's nice, but lacking a decent SFTP plugin.

A little searching revealed Dokan which allows you to build a ssh file system on your Windows machine.

Setup is a bit awkward. You need two downloads. One is the needed libraries, the other is a simple app/GUI which allows you to mount the remote file system as Windows drive letters N:, T: etc.

So far it seems to work as advertised. And free!


PHP client-side GUI programming - PHP-GTK

I've been running CLI-based PHP scripts for scripting and more complex "applications" since the CLI was introduced back in PHP 4.3. As time has gone along, the applications have become more complex and varied. I only use some of these applications every few months, so it's easy to forget how to run the application without the guidance provided by a GUI.

For quite some time I've been looking for something along the lines of HyperCard whereby I can put together a simple GUI without too much work; however, this would be in the context of my existing PHP scripts.



Subscribe to RSS