QOverclock 0.1

August 13, 2008 – 11:32 pm

I actually wrote this little application quite a few weeks ago, I was just contemplating whether it was worth posting or not. I had just finished building my new PC and was starting to do a lot of overclocking and tweaking. Frustrated by the fact that there weren’t any Linux or open source alternatives to overclocking calculators, I quickly wrote one up using Qt 4. It simply calculates the resulting clock speed of your CPU given the FSB and the multiplier. Who knows, maybe somebody will find it useful. I was thinking about adding some tray icon functionality to monitor system temps. as well. Although, I am going to sit on that idea for a little while.

Download QOverclock 0.1

Download QOverclock 0.1 (Win32 Binary)

Small Banshee 1.0 Status Plugin for Pidgin

June 23, 2008 – 7:27 pm

This took a bit longer to get out than I had originally expected but here it is. As a precursor to my previous post, I wanted to make a new “plugin” for pidgin that would update my music status from Banshee because as of the development versions of 1.0, they had an entirely new API in place and other similar plugins hadn’t (and still aren’t as far as I know) been updated to work with the new API. So that’s exactly what I did and its a very simple ~30 line python script that I am putting out to the world in case anyone else wants similar functionality.

Basically you just stick the file in your home directory (or at your option in /usr/bin or /usr/local/bin) and add it to your auto-started applications in GNOME or KDE or put it in your xinitrc or whatever you want. For GNOME users I happen to know that you can do this from System > Preferences > Sessions > Startup Programs > Add. For windows users this script will never run because Banshee is *nix only as well as DBus (as far as I know). Enjoy!

Download pidgin_banshee_status.py

Interfacing Banshee 1.0 with DBus and Python

June 10, 2008 – 10:35 pm

Ever since the DBUS API change (more like overhaul) during the development of Banshee 1.0 and developers haven’t yet started supporting it in their plugins so I decided that I would play around with it. From what I have seen, it seems that the perception is that DBus is hard and complicated but its actually really easy and makes things very simple. Essentially you use a DBus debugger (because in most cases, documentation for an applications’ DBus API is not available) like D-Feet to look up which interfaces, methods, properties, and signals are available to you. Then use them to do what you want.

Read the rest of this entry »

Easily create IRC bots in Python with PyBotlib

May 9, 2008 – 2:19 pm

Back when I wrote ProxyBot, I was frustrated by the fact that there was a lack of maintained and documented third party libraries for the IRC client protocol. So I essentially wrote my own implementation of the IRC client protocol for use with the bots that I write. Well I wrote the library to take advantage of OOP (Object Oriented Programming for those who don’t know) which in turn made it really quick and easy for me to throw together a bot.

So this is a simple little tutorial on how to write a basic “Hello World” bot using PyBotlib. The library itself is only a single file so I have not bothered to repackage it or write setup scripts as you will only need import that single file within your application. You may get the latest source code for the library at any time here (google code/SVN) or here (blog). So here we go…

Read the rest of this entry »

Reusing 3rd Party Libraries in Web Development

April 14, 2008 – 6:24 pm

Ever since I have been getting back into the swing of Web Development, working on one of my projects, I really took notice to something. Whenever you see a PHP application out there that is free to download and you start looking through how they did things. You start to see that generally many web application developers (particularly PHP developers) will tend to rewrite many back end libraries for things such as the templating engine or database abstraction layer (DBAL) when there are so many libraries which do exactly the same thing and in many cases, much more. So my question is, why are we as developers wasting so much of our time rewriting things which are already there for us instead of using them to reach our intended goal? I recently asked myself this question while working on one of my projects.

I realized that I had wasted several months of my time developing what I called a “framework” for PHP when it was really not very full featured and actually made things extremely hard for myself in the large scheme of things. After doing some homework, I had found really rich libraries that allowed me to do things beyond my wildest dreams before. Projects such as Smarty, jQuery, and TinyMCE just to name a few. What really gets me though is that many free (as in beer or potentially as in free speech) projects constantly fall behind because they take  forever to their own things such as rich text editors and ajax frameworks while their users are wondering why they don’t have the features they are looking for.

So  this is a call to all web developers out there. You really need to start reassessing  the libraries you write and think of how you could possibly use others’ great Open Source projects to assist you in the development of your application. Stop reinventing the wheel and start innovating, that’s what we are all about, right?

ProxyBot 0.7 Stable Released

March 12, 2008 – 4:31 pm

So there were some things that were in need of tweaking in the last version, so I have now released version 0.7. Due to popular demand I have implemented support for MySQL in addition to Postgres. I tried getting SQLite to work but it isn’t thread safe and would require a new instance in every thread which makes things messy and does not work with the current database abstraction layer. So until I can pass SQLite instances across threads, that feature will not work. I put some more details in the readme which is included with the source distribution. I am always open to feedback so feel free.

Download ProxyBot

ProxyBot 0.6 Stable Released

March 7, 2008 – 10:30 pm

Although I was finished with this about a month ago, I just haven’t gotten around to it until now. So here it is. Its the first stable release of ProxyBot, my port scanning IRC bot, version 0.6. As far as usage goes, its pretty self explanatory, simply download the tarball or zip archive and change directory into the proxybot folder and run the main.py file from the command line. For a set of command line options simply use –help or no arguments at all. As usual its Open Source and under the GNU GPL v3 and a copy of the license is included with the distribution. I currently don’t plan on addinany more features so if you have any ideas, please feel free to contact me and let me know.

Download ProxyBot

ProxyBot and PyBotlib

February 8, 2008 – 4:42 pm

Recently, some of my friends had inspired me to start looking into how to make IRC bots. Well I did, and honestly I was fascinated by it. So anyway, I made my own implementation of the IRC specification as well as my first bot in python within a day or so. Since then I’ve made a bot which I called ProxyBot which allows a user to do things like portscans or an IP range/hostname and or a port range. If the bot finds a port open, it logs it to a PgSQL database which can then be searched later on for all IPs which have a given port open. It will also do standard hostname resolution. I will be releasing the source code under the GPLv3 and it will be avalible for download shortly.

Blog Has Moved

February 3, 2008 – 2:58 pm

Yea, well I’ve decided that I wanted to move to a new blogging system as well as having the ability to use my own domain. So I’ve moved the blog and all of its previous posts over to my website at www.madsoft.org running (of course) wordpress. At the moment its all default (i apologize) but I should have something a little more unique up soon.

Happy New Year!

January 24, 2008 – 8:12 pm

Just wanted to say happy new year to everybody and welcome to 2008. I just hope I can actually accomplish something this year, heh.