Ubuntu, illustrating how to utterly fail at kernel security updates
Just like last time , this is a rant.
Here's a simple procedure that you too can follow:
- develop fixes for some CVE issues in the various kernel versions thatyou maintain.
- announce and release new kernel security updates for most of yourcurrently supported distributions, but not for 10.04 LTS. Trainedsysadmins running 10.04 will ignore them, and even if they don'tthere's no 10.04 updates for them to apply.
- announce and release new
Something to remember: HTML forms are anonymous
By and large, web programming frameworks have settled on a commonmodel of handling HTML forms. You have named (or typed) formswith named and typed fields and you use the framework to renderthem into HTML and extract them from POST responses. Django programmers, for example, have afamiliar, reflexive idiom:
class MyForm(forms.Form): name = forms.CharField(...) ...def handle_my_url(request): if request.method == "POST
Ramblings on handling optional arguments in Python
Every time I think switching to Ruby, smth pops like [ Detectingunspecified method arguments in Ruby ]
This gives me a platform to spring off from. Python has the same'problem' as Ruby here, ultimately because their language designershave picked the same solutions to the problem of optional argumentsfor functions. Roughly speaking, I can think of three ways of handlingoptional arguments in a language: declare them explicitly, use defaultvalues, or explicitly handle at least some of the argument listyourself.
A
Why I'm going to be skipping Fedora 15
I've pretty much decided that I will not be upgrading my machines toFedora 15 or installing it on new machines; they will stay at Fedora14. The short answer to why is 'Gnome 3', but not quite for the reasonthat you might think.
I wrote earlier about how Fedora 15 hasa package dependency failure in the sshmenu applet that's an importantpart of my nice ssh environment for Gnome ,ultimately due to the API changes from Gnome 2 to Gnome 3. At
Some thoughts on creating simple and sane binary protocols
The best way to create a new simple and sane binary protocol is tonot do so; create a text based protocol instead. Text based protocolshave any number of advantages; they're easier to write handlers for,they can be debugged and tested by hand, semi-smart proxies are easyto write, it's easy to use network monitoring tools to trace them inlive systems, and so on. And protocols like HTTP and (E)SMTP prove thatthey are viable at large scale and high
mxiostat: second generation better Linux disk IO statistics
A while back I wrote and put up xiostat , a programthat I wrote to give us a faithful recounting of the Linux kernel'sdisk IO stats after we discovered the problems withiostat's numbers . Mxiostat is the second generation ofxiostat, in part because it will report on multiple disks at once (hencethe 'm', for 'multiple').
Because it is now 2011 instead of 2006, I have put the mxiostat sourcecode into git and published it
Some things to think about when doing polymorphic WSGI
Yesterday I wrote about a WSGI version of cat , butI left out some practical considerations (sometimes I write entries alittle bit too fast). In fact these issues are common to all uses ofwhat I've called 'polymorphic WSGI' (and I've alluded to one of thembefore in passing).
The first complication in a WSGI cat implementation is that you needto figure out how to create and load your WSGI application. As I'vebecome aware, there's actually sort of
Exploiting polymorphic WSGI again to create cat
I've written before about how I (ab)use what I call the polymorphicnature of WSGI , where a WSGI applicationdoesn't actually care what environment you run it in; anything thatwill provide a WSGI environment will do. I've used this before for various things andwas recently reminded of yet another trick I've played with WSGI.
Suppose that you have a web application and you want to inspect orcapture a rendered web page (especially if you want to read the rawHTML)
My view on iSCSI performance troubleshooting
I've been asked about troubleshooting iSCSI performance issues (ie,slow IO over iSCSI) a few times now, so here's my views. Now I needa disclaimer: this is somewhat theoretical, as we haven't really hadto troubleshoot iSCSI performance issues yet in our environment (and to the extent that we've had slowfilesystem IO, we haven't nailed down a clear cause among all of themoving parts of our setup).
As always, the first thing you need to
An interesting gotcha with Exim and .forward processing
Yesterday I described how Exim implements traditional .forwardsemantics where putting your own address in your.forward means 'deliver it to me, bypassing my .forward'. Because Eximis a mailer construction kit , this isn't a specificfeature for .forward handling, it's a generic general feature thathappens to give you this result.
So far, so good. Now, let's talk about our .forward-nonspam feature . In the abstract, this is justanother .forward-style router