Projects

Projects

Personal Projects (no particular order)

* [My Bitbucket Repository](http://bitbucket.org/rad/) – Any public, open-source project I write or participate in will be published here, or on my [Github account](http://www.github.com/radicand/). This also contains a Gentoo overlay I maintain for myself. Most of my older stuff is on Bitbucket, with some more recent work-related things on Github.
* [Katana Photo Groups](http://www.katanapg.com/) – A multi-user photo-sharing site written from ground-up by myself during college. I maintain it now, but for the most part it’s feature complete and won’t be overhauled unless I get a spurt of inspiration. It was a good learning experience with regards to distributed file storage and processing.
* [Distrocity](http://www.distrocity.com) – Supposed to be pronounced as in “”velocity””, but I’ll put up with “”distro-city”” too. The goal is to help people distribute files that otherwise do not have the resources to. At the moment I distribute close to 20TB per month for various individuals and groups via BitTorrent, XDCC, and HTTP. In the past I’ve used a handwritten QoS ruleset employing the U32 classifier (it’s great), and HTB/HFSC queues, but haven’t had much use recently due to datacenter changes. Please email sales at distrocity dot com for more information.
* CertFP patchset for Rizon IRCD – I ran across some pretty cool stuff for a hybrid-ircd based network named [OFTC](http://www.oftc.net/oftc), namely their [CertFP](http://www.oftc.net/oftc/NickServ/CertFP) patches. What these do is let IRC clients connect using a client certificate over SSL, and then provide a means to automatically identify them based on their certificate. This means auto-identification for your nickname, as well as simplifying parts of the ircd configuration related to operator authentication (you can have your oper/auth block match on your certificate as well). All in all it’s very nice. Being an operator on the Rizon network myself, which runs Plexus, a hybrid-ircd derivative, I ported the changes over to our ircd. It’s now in production mode (partially, not the services portion yet). You can grab the [IRCD patch here for r34](http://files.radicand.org/certfp-ircd-rc2.patch.tar.gz), which sets up the base, and the [atheme patch here](http://files.radicand.org/certfp-atheme-rc2.patch.tar.gz), which completes the package with auto identification. A flowchart can be found [here](http://files.radicand.org/certfp.pdf). Note that the atheme patches are old due to the speed of development, but the ircd patches still cleanly apply. As of release 523 of the plexus Rizon tree, the IRCD patch has already been incorporated. As of release 524 of the plexus Rizon tree, services authentication via CERTFP is present and working (with improvements over the original OFTC version).
* [PyIRCD](http://bitbucket.org/rad/pyircd/wiki/Home) – This is a core for an efficient and modular IRCD server written in Stackless Python. The idea is to develop a rock-solid and flexible base, and have IRCD developers just need to write their protocols on top of this, which can be reloaded and updated without restarting the daemon. In active development, with features being added / fixed daily.
* [PyPseudoServer](https://bitbucket.org/rizon/pypsd) – This is a pseudo irc server I wrote in python, using the [Twisted](http://twistedmatrix.com/trac/) network stack. A pseudoserver is infinately more powerful (and dangerous) than simply running an operator bot, as it has higher visibility to network events and in some cases, less overhead. At the moment it’s coded for TS6-compatible servers like Rizon’s ircd, ratbox, hybrid, plexus, and others. It’s entirely feasible to simply write a child class for your non-TS6 server by subclassing the PseudoProtocol class. Anyway, it should make it easier to implement network monitors without the need for weird bots etc. This is useful only if you posess the capability to LINK to an exisiting server, mind you. Supports modular addins and hooks, and is currently in production on the Rizon network.
* [Netstats-Web](http://ptest.rizon.net/) – As part of the PyPseudoServer package, I wrote a network statistics web engine that when used with the netstats module of PyPseudoServer, shows some fun details. The core of it at the moment is terribly ugly, so the source is private for now until I can find time to clean it up. I must also credit EFnet for the layout idea, though 1% of the HTML is theirs, and possibly 2% of the CSS. I rewrote much of the presentation layer simply because their HTML was ugly and unworkable, using tables instead of CSS for layout. My version as you can see is pure CSS, and works just fine. The statistics engine as well is all mine, though some categories were obviously inspired.
* TL Note – A website designed to make it easy for translators to post, share, and maintain notes on works they translate. Driving focus was for fansubs, but I made the site generic enough for just about anything. (Offline since EOY 2011 – Lack of time).
* [Mortgage Charter](http://dev.radicand.org/mortchart/) – I was asked to develop a easy to interpret mortgage charter for a friend. Using the Google Charts API for the display work, it’s pretty nice. End goal will be for the user to supply their own data (price, term, etc), and also add another chart showing P&I. It’s got some boundary bugs, but I’ll get that sorted out when I’ve got some time.
* LP – I developed and maintained code for a popular internet video download site for 7 years for hobby. I don’t want to go into specifics, other than noting it was quite fun and has greatly expanded by server administration skills, and has taught me a bit about datacenters and commercial bandwidth. The site itself was rather advanced in my opinion, using a range of technologies to virtually maintain itself, ranging from kernel inotify, YAML, JSON, Mcrypt, REST, memcached, Python and PHP; and more. While I could talk about it at end, sadly it’s time has come to and end and we put it offline. At peak popularity, we were averaging over a million page views a month.
* [RKJN AniDB Client](http://wiki.anidb.net/w/UDP_Clients#Rorikonjyanai) – I wrote an AniDB client for a project I was working on, the communications protocol is in UDP, so it was kind of fun to play around with. The protocol itself is nicely documented, which was also a plus.
* OsakaTosho – A popular Japanese media Bittorrent Index site called TokyoTosho went down for a few days, and so I published a clone I had written a few months earlier as an exercise in Django. I don’t intend for this to ever be truely used, but was fun to make. I instead collaborated with the folks at [Jishaku](http://www.jishaku.net) to unify the landscape. Site is offline since 2010, but source code is at [Bitbucket](https://bitbucket.org/rad/osakatosho).
* [Nozomu PHP Framework](http://files.radicand.org/nozomu-0.5.tar.gz) – I developed this PHP framework in house for a project that will probably never see the light of day due to logistical issues. Nevertheless, I’m very pleased with the framework itself, so I’m putting it out for public use. I’ll try to get a setup page up later, but for now you can try to figure it out on your own. **Postscript:** It’s funny really. I wrote this before I had any experience with MVC, but my framework is a pretty lightweight MVC. Having experience with some “”real”” MVC frameworks now though (Zend, Django), this was a pretty weak attempt, but it was interesting to do nonetheless.
* [Rainfall BT](http://www.radicand.org/projects/rainfall-bt/) – Rainfall is a flexible PHP front-end I wrote for the open-source [XBT Bittorrent Tracker](http://xbtt.sourceforge.net/tracker/). It supports entry classifications and metadata. Visit the project page (down for maintenance) for downloads and instructions on use.
* [Font Compressor / .ass Obfuscator](http://dev.radicand.org/ob8/) – The Advanced Sub Station (ASS) subtitle format is widely popular and well supported, one feature being the font the subtitles are shown in can be attached/forced. This test script I wrote takes fonts referenced in an ASS script, as well as the script itself, then eliminates unused font glyphs and recodes the ASS script according to the new glyph locations. The end result is you get one pretty small sized font file and an obfuscated script. Not bad. I do consider this rather dangerous if widely used, as there are many reasons why subtitle scripts shouldn’t be obfuscated, but whatever.
* [QCTool](http://files.radicand.org/QCTool-1.1.zip) – QCTool is a small application designed to make it easy to write up Quality Control reports for fansubbing purposes. It’s written in C# and interfaces seamlessly with [Media Player Classic](http://mpc-hc.sourceforge.net/) to pull timecode and file information. It can upload your reports to a server or just save them to your hard drive. Under the correct render settings in MPC, it will even properly take screenshots for you. It saves your reports in a YAML-compliant format, and also offers a “”human-readable”” TXT save option that does not save your comments in quotes (breaks YAML under this option, but easier to read). Future goals include incorporating lines from the scripts directly into the report.

[Pertelian](http://www.pertelian.com/) Plugins I Wrote (also on Bitbucket)

* [PertSNMP](http://files.radicand.org/PertSNMP.zip) – A pretty in-depth SNMP reader, with support for up to 4 hosts (one per line). Built in math operation support means you can poll network bandwidth and display it in any unit you want. Also supports various polling modes (read string, numeric counter, and numeric change). Took first place in the first Pertelian Plugin Developer contest. [More here](http://pertelian.com/forums/viewtopic.php?t=613)
* [PertTelnet](http://files.radicand.org/PertTelnet.zip) – A TCP Daemon that displays characters as on your Pertelian as they are entered in. Can be used for a wide variety of things, from piping log information to your Pertelian, to something like a teleprompter. A lot of things you can do. [More here](http://pertelian.com/forums/viewtopic.php?t=497)
* [PertOutlook](http://files.radicand.org/PertOutlook-dll.zip) – See your latest few Outlook messages on your Pertelian. [More here](http://pertelian.com/forums/viewtopic.php?t=396)
* [Pertelian Plugin Template for Visual C# 2005+](http://files.radicand.org/PertelianPlugin.zip) – You can use this to get the standard boilerplate code for Pertelian Plugins out of the way. [More here](http://pertelian.com/forums/viewtopic.php?t=801)

Leave a Reply

Your email address will not be published. Required fields are marked *