About a week ago, I finished the first release-quality beta version of an application I have called Chatly. It isn’t a whole lot right now as not all features have been fully implemented, but it includes both the client (a stand alone application that uses PyQt for GUI management) and a server. Both client and server utilize Twisted under the hood for robust network communications. The project itself has been written entirely in Python. I also have a brief write-up on this site about Chatly, although you might be more interested in looking at Chatly’s Trac page that includes browseable sources!
I currently have only a Windows release available for download, although you may also grab a source-only version linked from here. The distutils/setuptools setup.py doesn’t quite work yet, but I do intend to package a functioning Python egg in the future. For *nix platforms without Python (or the necessary libraries), I’ll also be releasing a “freeze” distribution. For now, you’ll need PyQt 4.4.3 or later, Python 2.5 or later, Twisted 8.2 or later, and some patience. I’d like to build an OS X package in the future but haven’t any access to Apple hardware for now. If you can help, just drop a comment here as I may have future projects that will be Qt-based.
Chatly is released under a two-clause BSD license (no advertising clause).
Links of the Week will be delayed until tomorrow or Friday.
Today, I’d like to share with you a real treat. It happened well into the evening last night when my coherent thought processes were lost in a semi-drunken stupor induced by lack of sleep (I don’t drink, but I do have slight insomnia sometimes). What was most ironic is that in the five or so years of writing in Python (off and on) I have never encountered this particular problem.
Click that fancy link (below) to read more. This is a fairly lengthy article, so make sure you have some free time!
Some folks like to have a relationship among the development tools they use regardless of the underlying operating system. I would certainly qualify as one such individual, because I honestly don’t believe that the operating system should adversely impact the development environment of choice. Of course, there are specific exceptions to the rule: .NET development is a little painful in Mono Develop, and most people writing .NET applications are very likely going to be working under Visual Studio.
My desire to maintain such similarity first started with ActiveState’s Komodo which I once used for PHP and Python development. It amused me to no end that I could purchase one license and use the same IDE under Windows and Linux with virtually no difference in environment. (There was a bug with the color picker under X windows when it came to syntax highlighting and other preferences, but there was a really cheesy solution. More on that in a moment.) The best part, too, was that I could copy my configurations from Windows over to my .komodo directory, change the file and directory paths in one or two XML configs, and it’d work just like it did in Windows. Remember that little bug I mentioned in the parenthetical about colors? By setting your color preferences under Windows and copying the configurations over it was possible to work around such limitations. It was a kludge but it worked.
Eclipse is a whole ‘nother animal. Although it’s slightly more well-behaved with Galileo (Eclipse 3.5), it’s nearly impossible to copy a workspace from Windows to Linux and expect anything to work. However, if you’d like to maintain your open projects and files, I have just the solution. Some fair warning is in order: This little tip does take some effort to complete, and I’d highly recommend having access to Python (Ruby would work just as well). Unless you know a great deal more about Eclipse internals than I do, the extra effort of guessing data types isn’t really worth it.