![]() |
Michael Gilfix Online |
Navigation |
ProjectsThis page contains links to various projects of mine over the years, each in various state of activity. The motivation behind each of these projects is both complex and mysterious, so I can't tell it to you. Open Source ProjectsFtpCube - A graphical (S)FTP clientFtpCube is a multi-platform, graphical (S)FTP client written in Python, using the wxPython graphical toolkit. The FtpCube interface is based on LeechFTP by Jan Debis but its codebase has been developed from scratch. FtpCube aims to provide a high quality user interface, as well as a rich feature set. The FtpCube project was born out of my search to find a good, capable unix FTP and SFTP client that offered an intuitive and attractive UI. Also, Python was just starting to gain popularity and I liked the idea of having an FTP client written in Python. FtpCube is an open source project released under the Artistic license. Check out the project homepage at: http://ftpcube.sourceforge.net. wxPyColourChooser - a wxPython colour chooser widgetwxPyColourChooser is a pure-python implementation of a colour chooser dialog in wxPython. It can be embedded inside other widgets or used as a drop-in replacement for a platform's native color dialog. Using wxPyColourChooser also allows the developer to have a consistent look across platforms. This work was integrated into the wxPython toolkit as of 2.4.x. The wxPyColourChooser widget is available under the wxWindows license at: http://www.sourceforge.net/projects/wxcolourchooser. Notify Perl ModuleThe Notify package aims to simplify applications that need to be able to communicate remotely with users in a reliable fashion over various kinds of medium, such as via Email or pager. The package provides a definition for notification objects, transport objects for sending and receiving notifications, and a notification pool manager for managing the creation, update, and resolution of notification transactions. This package manages transport and the underlying transaction mechanisms for communication. It does not, however, dictate the notification protocol, which is left for application implementation. Notify can be obtained from CPAN at: http://search.cpan.org/search?dist=Notify Python DevelopmentFor a brief period as an undergrad, I participated in the Python open source community as time allowed. Two mailing lists I frequented were: python-list and python-dev I also submitted a patch to the core python socket library that allows timeout operations on sockets. The patch involved rewriting and reworking a significant portion of the socket module in the python core library. You can check out my patch here. These changes were included in the 2.3 release of python. Other patches have included a rewrite of the socket regression suite, a patch to fix socket typing in Windows. PyQuota ModuleThe pyquota module provides a python interface to file system quota. The module allows for turning on/off the quota system, as well as retrieving and manipulating user and group quotas. The module can be obtained from its project homepage at: http://www.sourceforge.net/projects/pyquota. Python Blowfish ModuleThis is a pure Python implementation of Bruce Schneier's Blowfish cipher algorithm. While perhaps not as speedy as a C implementation, this module is easy to understand and completely portable. You can get this module here.
Research in a Past LifePeep: The Network AuralizerPeep (The Network Auralizer) is a tool which provides an alternative to current network monitoring solutions. Peep creates an audio representation of network activity using natural sounds, providing large amounts of information in a compact, non-intrusive, and soothing form. Use of Peep to monitor your network is based on the concept of normalcy, where your network is functioning correctly if Peep 'sounds right'. The Peep framework is also flexible enough as to be applied to any other sort of real-time monitoring applications, as well as to address distributed monitoring needs. A current project is to auralize the stock market - providing a sense of the constant fluctuations in price at all times. This project was funded by a USENIX GRANT in 1999 to get the project underway. The grant was later renewed in 2000. The Peep Auralizer project is open source and is available on sourceforge: http://www.sourceforge.net/projects/peep. Maelstrom: Network Debugging via 'ineffective' ProceduresI assisted Prof. Alva Couch with the development of Maelstrom. The Maelstrom is a substitute for make specifically aimed at network troubleshooting tasks. Input to Maelstrom is a set of script invocations. Maelstrom tries to make each script 'succeed' (as indicated by an exit code of 0). Scripts to be used by Maelstrom should exhibit three properties:
If the scripts have the properties of 'awareness', 'convergence', and 'homogeneity', then Maelstrom will make all of them succeed if they possibly can, even if there are unknown dependencies between their effects. Maelstrom discovers these dependencies by executing the scripts in all possible orders and recording successes. To find out more about the project, visit Prof. Couch's Maelstrom page at: http://www.eecs.tufts.edu/~couch/maelstrom. Rules Based Self-Examination in System AdministrationThis project explores Mark Burgess' dream of Computer Immunology in which network servers become self-repairing and correcting by use of a rule-based self-examination. Born of a need to define more complex operating policies than those supported by CGEngine, the Prolog System Administration Project attempts to redefine the limits of configuration management and dynamic monitoring by providing a scripting language that:
Please visit Prof. Alva Couch's documentation on the project. |
SearchRecent blog posts
|