From owner-freebsd-hackers@FreeBSD.ORG Tue May 20 17:00:00 2014 Return-Path: Delivered-To: freebsd-hackers@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 5D25B5C0 for ; Tue, 20 May 2014 17:00:00 +0000 (UTC) Received: from mx1.mail.bg (mx1.mail.bg [IPv6:2001:67c:16b8:1::2:17]) by mx1.freebsd.org (Postfix) with ESMTP id 19C9929DC for ; Tue, 20 May 2014 17:00:00 +0000 (UTC) Received: from [10.1.1.159] (unknown [95.87.254.225]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mx1.mail.bg (Postfix) with ESMTPSA id 52D2E60005E3 for ; Tue, 20 May 2014 19:59:54 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mail.bg; s=default; t=1400605197; bh=7K8/6jIHIk4Ro3uHVjJ8Wqv7iF/MY/LiQURlJvM46k8=; h=From:Content-Type:Content-Transfer-Encoding:Subject:Date: Message-Id:To:Mime-Version; b=hZwBuFiwfosfw/SErY5BKCQJvcSUGNkW3pOtUzydHagLO5hCSCqEk6Wdff7nU0AJ0 2pdkPQ5fQXhIiVh2edxjLtrvBtuhD7PtRxwGpLULzRVMTwet/iYUzFIEfZMYhvGBPn M1VVu8H5JYTO57AT5w+AcNclqmMI/hQu0+rDB6a4= From: Zaro Korchev Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: [GSoC] Machine readable output from userland utilities Date: Tue, 20 May 2014 19:59:43 +0300 Message-Id: <49E9736E-AD14-4647-8B15-30603D01360C@mail.bg> To: freebsd-hackers@freebsd.org Mime-Version: 1.0 (Apple Message framework v1283) X-Mailer: Apple Mail (2.1283) X-Mailman-Approved-At: Tue, 20 May 2014 17:44:13 +0000 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 May 2014 17:00:00 -0000 I'm working on the project "Machine readable output from userland = utilities" and I want to share my ideas and thoughts. Here is the wiki page of the project: = https://wiki.freebsd.org/SummerOfCode2014/MachineReadableFromUserlandUtils= I'm planning to create a unified output abstraction in the form of a = library. The tools supporting the machine-readable output feature will = write output exclusively using the library. The exact output format will = be customizable. Several backend libraries (like libucl and libnv) can = be used to implement different formats. Such library can either be compiled statically into each application or = linked dynamically (depending on space/performance/versioning and other = considerations). Each tool will have to be modified to support the new output mechanism. = These modifications could trivially be turned on and off using a macro = switch. One issue that must be considered is how to manage long outputs since it = may not be possible to store all data in memory. This would happen = rarely but can still be a problem. Probably the easiest way to solve = this is to add streamed dumping capability into the underlying = libraries. Do you have any suggestions or ideas? Thank you, Zaro=