From owner-freebsd-current@FreeBSD.ORG Tue Mar 3 02:27:45 2015 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D2337D21 for ; Tue, 3 Mar 2015 02:27:45 +0000 (UTC) Received: from mail-lb0-f176.google.com (mail-lb0-f176.google.com [209.85.217.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5098DDD2 for ; Tue, 3 Mar 2015 02:27:45 +0000 (UTC) Received: by lbiv13 with SMTP id v13so15419388lbi.11 for ; Mon, 02 Mar 2015 18:27:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=ngQ+eqq78CHmlc+jbfiKm1t3V8iIQUBudHqkWMgqSf8=; b=SCQZOBm5YWHnYptfoeDx7n7L7UsEP2/TuzVilpi3Wf5xuIQX0WbkinH3wReccy2YF/ iotWRfxQAu9tUtsRTb/F8tqOQmcoavFAHNtehuEbqnqyxhiYuFJnvFCOw6TBl60Mhjxy o3Az0B5rwZvET5cOZDINMgcmFV1jJqrBp7rJR90E2WrY4xev+YkjFDHp1hrGpec9aOGr 7rftz+LOlKCvbpRbyrHWjyyIjtvfeOBd5PI5vHfHrMi/Fl7t1eC0/83D9whxFu+lpC1j m40t43V7hh31EdHHlKLLwDxXs/ynWkVkeid+zNi5kG/fgymsTXw6yYnHpAP7owhn3hMx IA3w== X-Gm-Message-State: ALoCoQnNUaMsaSdEiGlYlsvV00cCh989II11cqWkmWeERCX7/UtiyX/sWVs0mHSizOT+X6or/A8t X-Received: by 10.152.206.70 with SMTP id lm6mr27502420lac.35.1425349662633; Mon, 02 Mar 2015 18:27:42 -0800 (PST) Received: from [192.168.1.2] ([89.169.173.68]) by mx.google.com with ESMTPSA id i13sm2863961lab.38.2015.03.02.18.27.41 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Mar 2015 18:27:41 -0800 (PST) Message-ID: <54F51C1C.1050609@freebsd.org> Date: Tue, 03 Mar 2015 05:27:40 +0300 From: Andrey Chernov User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Alfred Perlstein Subject: Re: Massive libxo-zation that breaks everything References: <54F31510.7050607@hot.ee> <54F34B6E.2040809@astrodoggroup.com> <54F35F29.4000603@astrodoggroup.com> <54F429EF.5050400@freebsd.org> <54F46536.8040607@mu.org> <54F4C03F.7030704@freebsd.org> <54F4FECB.90501@freebsd.org> <197AA5DC-0591-4F71-BF10-51A5D8104C11@mu.org> <54F5103C.4020108@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Cc: Harrison Grundy , "freebsd-current@freebsd.org" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Mar 2015 02:27:46 -0000 On 03.03.2015 4:45, Alfred Perlstein wrote: > > >> On Mar 2, 2015, at 5:37 PM, Andrey Chernov wrote: >> >>> On 03.03.2015 4:30, Alfred Perlstein wrote: >>> >>> >>>>> On Mar 2, 2015, at 4:22 PM, Andrey Chernov wrote: >>>>> >>>>>> On 02.03.2015 22:55, Julian Elischer wrote: >>>>>> On 3/2/15 5:27 AM, Alfred Perlstein wrote: >>>>>> >>>>>> >>>>>>>> On 3/2/15 4:14 AM, Julian Elischer wrote: >>>>>>>> On 3/1/15 10:49 AM, Harrison Grundy wrote: >>>>>>>> Thanks! >>>>>>>> >>>>>>>> That does seem useful, but I'm not sure I see the reasoning behind >>>>>>>> putting into base, over a port or package, since processing XML in base >>>>>>>> is a pain, and it can't serve up JSON or HTML without additional >>>>>>>> utilities anyway. >>>>>>>> >>>>>>>> (If I'm reviving a long-settled thing, let me know and I'll drop it. >>>>>>>> I'm >>>>>>>> trying to understand the use case for this.) >>>>>>> >>>>>>> To me it would almost seem more useful to have a programmable filter >>>>>>> for which you could produce >>>>>>> parse grammars to parse the output of various programs.. >>>>>>> thus >>>>>>> >>>>>>> ifconfig -a | xmlize -g ifconfig | your-favourite-xml-parser >>>>>>> with a set of grammars in /usr/share/xmlize/ >>>>>>> then we could use it for out-of-tree programs as well if we wrote >>>>>>> grammars for them.. >>>>>>> >>>>>>> The sentiment of machine-readable output is nice, but I think it's >>>>>>> slightly off target. >>>>>>> we shouldn't have to change all out utilities, and it isn't going to >>>>>>> help at all with 3rd party apps, >>>>>>> e.g. samba stuff. A generally easy to program output grammar parser >>>>>>> would be truely useful. >>>>>>> and not just for FreeBSD. >>>>>>> >>>>>>> I've been watching with an uncomfortable feeling, but it's taken me a >>>>>>> while to put my >>>>>>> finger on what it was.. >>>>>> Are you sure it's not the hairs on the back of your neck standing up >>>>>> due to NIH? >>>>>> >>>>>> Juniper has been doing this for years and it's very useful for them. >>>>> I'm not saying the ability to generate machine readable output is wrong, >>>>> but that the 'unix way' would be to make a filter for it. It seems that >>>>> the noisy people don't >>>>> agree with me so I will not stand in the way of progress.. >>>> >>>> I agree. Even if someone starts with json and xml only, it will need >>>> some 3rd format soon, and adding any new format have real possibility to >>>> break all already existent (like adding json+xml breaks plain text in >>>> pipes). Moreover, it violates Unix principle 'one tool == one general >>>> function' and lots of other rules like Eric Raymond ones, making each >>>> program looks like systemd. It makes harder to merge changes from other >>>> BSDs too. >>>> Proper way to do this thing is to back out all changes and write >>>> completely separate templates-based parser - xml/json writer. >>> >>> >>> Read the library. It doesn't care what output format it needs. It is up to the translation layer to do it. You could even do a csv format or most any other structured output format without changing the userland utils. >> >> I am happy the library can do it. So please stop to change userland >> utils and back out all libxo changes from them. My concern is userland >> utils, feel free to implement anything you need/want without changing >> them in this ugly way. > > > The responsibility is on you to provide something better, both the architecture AND code. So if you want it backed out, then write something better. Otherwise step back and let progress happen. > As it seems you know a lot about my responsibility and duty, I am very surprised by your broad interests. If you let me to speak for myself a bit, I can tell what I feel. In this particular case my responsibility is just to give good advice at the road fork with one way leads to obvious hell, nothing more. I already express my opinion from the technical point of view and don't want to participate in the flame war, so continue this thread without me, please. -- http://ache.vniz.net/