= Things that I have repositories for on Github This is a quick index of everything interesting that I have on Github in [[my account https://github.com/siebenmann/]]. * [[MXiostat]]: [[siebenmann/mxiostat https://github.com/siebenmann/mxiostat]], a better _iostat_ for Linux. * [[/blog/python/PyMilterTools]]: [[siebenmann/python-milter-tools https://github.com/siebenmann/python-milter-tools]], a pure Python implementation of the Sendmail Milter protocol. * [[python-netblock https://github.com/siebenmann/python-netblock]], a Python module for sets of IP address ranges (and a module for sets of integer ranges in general). Comes with a bonus netblock calculator. * [[portnanny https://github.com/siebenmann/portnanny]], a powerful inetd-like frontend for a single TCP service, with a great deal of filtering power. * DWiki: [[siebenmann/dwiki https://github.com/siebenmann/dwiki]], you're soaking in it. The software that runs this thing. See also DWikiCode. * [[siebenmann/cspace-skeleton https://github.com/siebenmann/cspace-skeleton]], the DWiki templates and utility files that are used to set up, lay out, and style WanderingThoughts and CSpace (to the extent that they have any style). This may be a useful illustration of template and renderer tricks, although they aren't well documented. They go on top of the templates and so on in the main DWiki codebase. * [[cks-dtrace https://github.com/siebenmann/cks-dtrace]], an assortment of DTrace scripts that are currently focused on NFS v3 server, ZFS, and iSCSI initiator stuff. I used (some of) them to diagnose [[our fileserver performance issues /blog/sysadmin/MailProblemAnatomy]]. * [[call.go https://github.com/siebenmann/call]], essentially a relatively basic netcat-like program written in [[Go http://golang.org/]]. It will talk over a wide variety of socket types, including Unix domain sockets, and it can act as a TLS/SSL client. * [[smtpd https://github.com/siebenmann/smtpd]] is a starting Go implementation of the server side of SMTP ([[net/smtp http://golang.org/pkg/net/smtp/]] basically only handles the client side). It doesn't handle high-level issues like what addresses should be accepted and rejected; its purpose is simply to handle the grunt work of a reasonably RFC compliant but cautious SMTP server, taking care of things like proper command sequencing and TLS. {{ST:strike:It comes with a 'sinkhole' SMTP server that accepts most everything and (at most) just writes it to disk; this is suitable for things such as catching spam. Of course the SMTP server also serves as an example of how to use the package.}} * [[sinksmtp https://github.com/siebenmann/sinksmtp]] is a vastly over-complicated 'sinkhole' SMTP server that at most just accepts email and writes it to disk; this is suitable for things such as catching spam. It uses [[smtpd]] as the underlying SMTP server engine. It has plenty of features that are designed to basically limit what it accepts so you get more interesting spam and less [[boring spam /blog/spam/MySpamIsBoring]]. * [[ffox-remote https://github.com/siebenmann/ffox-remote]] is lightweight [[remote control /blog/unix/WeirdFirefoxRemoteControl]] for Unix Firefox ([[see also /blog/programming/GoLowLevelX]]). It may also serve as an example of doing low level X things in Go. * [[go-kstat https://github.com/siebenmann/go-kstat/]] is a Go package to read Solaris (Illumos, OmniOS, etc) kstat(s), so Go programs can have access to all of those tasty kernel statistics. * [[netvolmon https://github.com/siebenmann/netvolmon]] is a Go program to report network device utilization on Linux and Solaris. It has various crazy features and some sensible ones, and replaces my [[Linux script /blog/linux/SeeingNetworkBandwidth]] and [[Solaris script /blog/solaris/SolarisNetworkBandwidth]] for doing this. Unsurprisingly, it uses [[go-kstat]] for access to network bandwidth information on Solaris; on Linux it reads _/proc/net/dev_. * [[exim-attachment-logger https://github.com/siebenmann/exim-attachment-logger]] is the Python code we use for [[our logging of MIME attachment types from Exim /blog/sysadmin/EximOurAttachmentLogging]]. === Repos that are my versions of other people's programs All of these are likely to be rebased periodically. * [[dmenu-cks https://github.com/siebenmann/dmenu-cks]] is my hacks on top of the official version of [[dmenu /blog/sysadmin/ToolsDmenu]]. * [[liferea-cks https://github.com/siebenmann/liferea-cks]] is my hacks on top of the official version of the [[liferea http://lzone.de/liferea]] syndication feed reader. * [[sam https://github.com/siebenmann/sam]] is my hacks on top of [[the updated, Xft-enabled version of _sam_ https://github.com/deadpixi/sam]].