From owner-freebsd-stable@FreeBSD.ORG Mon Dec 9 01:45:18 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 31661B79 for ; Mon, 9 Dec 2013 01:45:18 +0000 (UTC) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 168C515AD for ; Mon, 9 Dec 2013 01:45:17 +0000 (UTC) Received: from Alfreds-MacBook-Pro-2.local (c-76-21-10-192.hsd1.ca.comcast.net [76.21.10.192]) by elvis.mu.org (Postfix) with ESMTPSA id 849771A3C1A; Sun, 8 Dec 2013 17:45:16 -0800 (PST) Message-ID: <52A520DE.3060002@mu.org> Date: Sun, 08 Dec 2013 17:46:06 -0800 From: Alfred Perlstein User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: "freebsd-stable@freebsd.org Stable" , Darren Pilgrim Subject: Re: BIND segway -> python -> first-class ports References: <529E8C53.6020208@freebsd.org> <20131204060246.GV2951@home.opsec.eu> <52A12843.3010204@freebsd.org> <0BFC927B-D72E-4926-BB3D-2C000F310BDD@fisglobal.com> <7271C4C4-7BAB-4DA7-9E10-49D5B2DB8964@mu.org> <52A51438.4090200@bluerosetech.com> In-Reply-To: <52A51438.4090200@bluerosetech.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Dec 2013 01:45:18 -0000 On 12/8/13 4:52 PM, Darren Pilgrim wrote: > On 12/8/2013 11:02 AM, Alfred Perlstein wrote: >> So if I were going to task the talented Devin Teske with something, >> remember you just asked my opinion, then it would be to look at >> putting Lua in the boot loader, getting python into base, or working >> on making our utilities be able to output standard machine readable >> formats such as yaml, XML and json. > > Can you cite a real-world example of a general-purpose OS where this > was beneficial? Beneficial here means otherwise impossible > functionality or automation gains without adding barriers for > low-level diagnostics, tuning, corner-case configurations and other > modes of advanced control. > > I'm not trolling here; I'd really like to see one. > I don't understand your definition of "beneficial", seriously it does not make sense to me such that I can't even aspire to fulfill that definition. My definition of beneficial would be anything that reduces the amount of code needed to get information out of the system, reduces error, reduces code, reduces duplication, and in general makes the system more plug and play. I gave a talk recently at Bay LISA where I described this and a few of the devops people in the audience really seemed interested. Do you know how frustrating it is to parse the output of ifconfig? sysctl? gpart? etc, etc. Why not just emit it in a machine friendly form and then immediately plug it into whatever system you are gathering the information for. Are you writing a web app and you need to get a few fields from vmstat? Are you graphing the output of iostat? Are you doing anything at a higher level than just the command line? Do you not think that it is just plain silly that we have on the order of hundreds (if not thousands) of lines of code to "pretty print" from our cli tools, however no code to "machine print" from them? Do you know that JUNOS has xml output from numerous utilities just to make scripting easier? (say what you will about XML, but it's *something*). Anyhow, I hope that makes sense. -Alfred