Re: [netconf] [Anima] Reuse of SZTP-CSR YANG definition in BRSKI-AE

"Rob Wilton (rwilton)" <rwilton@cisco.com> Fri, 25 June 2021 10:27 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A196B3A1066; Fri, 25 Jun 2021 03:27:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.596
X-Spam-Level:
X-Spam-Status: No, score=-9.596 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=illQBdrw; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=lhH24rnt
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OM6UraOhwp5I; Fri, 25 Jun 2021 03:27:23 -0700 (PDT)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E841E3A1065; Fri, 25 Jun 2021 03:27:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4546; q=dns/txt; s=iport; t=1624616842; x=1625826442; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Bqw2hz4YlrP9EjY0lgUqVPfFw8bcVqXNvUphj2naCQg=; b=illQBdrwK8UpBIjurVoZ8xUqEqFkL7oZP3Vl9wPaHgkaNLn9YAVxYSMy gHZ+zPDvNWSW2zCzsWBSDLLD1jqrDnhb4DQ6CLo9X6IGg5awKcnxOx+kR CCjZ1AwLXDi8PiWZYgQfA48v183VquPXv5e4LGkDN4GzVskrYbXlrBVXi Y=;
IronPort-PHdr: A9a23:3P730BOwApAeQOoHdUkl6nfnWUAX0o4cdiYO45wrhrZLe6Ll9J2xdEDc5PA4iljPUM2b7v9fkOPZvujmXnBI+peOtn0OMfkuHx8IgMkbhUosVciCD0CoN/fsYyE+Gc1EElRsrDm3NEFPE5P4YFvf6nS58T8VHED5Mgx4buT4E4LflYK5zee3rpbSeA5PwjG6ZOAaEQ==
IronPort-HdrOrdr: A9a23:dalVDqqmIw6kl40+jef7AzAaV5uXL9V00zEX/kB9WHVpm5Oj9vxGzc506farslkssSkb6K+90KnpewK6yXcH2/huAV7EZninhILIFvAi0WKG+V3d8kLFh5VgPMtbAs1D4ZjLfCRHZKXBkUqF+rQbsaO6GcmT7I+0pRoAPGIaCZ2IrT0JdzpzeXcGIjWucKBJbKZ0kfA33gZIF05nCviTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY9g12aUIM/Z4StUz+1yDp7KSqtP+2jjXG0XXI0phQkNz9jvNeGc23jNQPIDmEsHfsWG0hYczHgNkGmpDo1L8YqqiUn/7mBbUq15rlRBDznfIq4Xi67N9h0Q659bbSuwqTnSWwfkNLNyMGv/MFTvMcgHBQ4+2VF8lwrj6kXtNsfGD9tTW46N7SWx5wkE2o5XIkjO4IlnRaFZATcblLsOUkjQ5o+bo7bWnHAbocYaNT5QDnlYBrWELfa2qcsnhkwdSqUHh2FhCaQlIassjQ1zRNhnh2w0YR2cRaxx47hd0AYogB4/6BPrVjlblIQMNTZaVhBP0ZSc/yDmDWWxrDPG+bPFyiHqAaPHDGrYLx/dwOla2XkVwzvdMPcbH6IR1lXEIJCjbT4Py1rdR2G0r2MRCAtBzWu7ZjDrZCy8/BeIY=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AYDQDirtVg/5FdJa1agQmBV4FTKSgHd1o3MQuEPYNIA4U5iHkDgQ2ZEIFCgREDVAsBAQENAQExDgIEAQGBXoJ0AheCWAIlNwYOAgQBAQESAQEFAQEBAgEGBHEThWgNhkUBAQEDARIREQwBATcBCwQCAQgRBAEBAQICJgICAjAVCAgCBAENBQgaglCCVQMOIQEDmwMBgToCih96gTKBAYIHAQEGBASFLhiCMgmBECqCe4QOhUKBHyccgUlEgRVDgioHLz6CBIInARqDFTaCLoMcbjsID3IUEzQ5DQKRfScCgwuVQJIECoMgnikSpXyVZKRWAgICAgQFAg4BAQaBaiWBWXAVgyQJRxcCDo4rFoECAQiBb1SKXnM4AgYBCQEBAwl8imkBgRABAQ
X-IronPort-AV: E=Sophos;i="5.83,298,1616457600"; d="scan'208";a="906799766"
Received: from rcdn-core-9.cisco.com ([173.37.93.145]) by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 25 Jun 2021 10:27:21 +0000
Received: from mail.cisco.com (xbe-rcd-003.cisco.com [173.37.102.18]) by rcdn-core-9.cisco.com (8.15.2/8.15.2) with ESMTPS id 15PARHNb016987 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 25 Jun 2021 10:27:20 GMT
Received: from xfe-aln-003.cisco.com (173.37.135.123) by xbe-rcd-003.cisco.com (173.37.102.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Fri, 25 Jun 2021 05:27:16 -0500
Received: from xhs-rtp-002.cisco.com (64.101.210.229) by xfe-aln-003.cisco.com (173.37.135.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.15; Fri, 25 Jun 2021 05:27:16 -0500
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-002.cisco.com (64.101.210.229) with Microsoft SMTP Server (TLS) id 15.0.1497.18 via Frontend Transport; Fri, 25 Jun 2021 06:27:15 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i7ZCxkw0fAml++HbnQV/soOwNuwJvAYt+as9n5/y2SBNQp80fmF7rW4wgOpG/xYgNNUh9qacszHmW2ps9QwyHTma6RtNM+Ql1JE4IGw6VhIWdnmJMBpJeWJIk7RfQs2jqIxoGAyThkumxUCozA0FeFWE10ZwiKIsT96cF3miygWIP3x2kG6JBdl3cSQMmtc/qatLLGeCqC04TuYGM6LanPkYPs/ruLnModt6XW7aWnxo4Y+G3CjhTmI2aouPCfV7ZWP4PZoMcutosmUrEK4ZGVRa6hKV3D3Kca5SRUsAUJo7jGfMgpZLJCh4NSOuINf2iJ7tpY17ToCzxsC1u+do1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bqw2hz4YlrP9EjY0lgUqVPfFw8bcVqXNvUphj2naCQg=; b=BnHa67X/trQdpUjZE1KX8Qf8Zw92eEH72wkC6IYQzhRBxlJLgzWQ+jUvd4t2amuyfAG+rZlw9P0/AV2MS1752F8zolf1ynOnkv9oKwh7TjVFiO6fC2Du1AMx0XUpMxAe2ZUfmDyUSg/U/VUNMaXJ+MjhF0+O3AZXFTO532QAn1a5m23ea6uyQaA7sD4pmJIhsgQjT7/bKfAPTsESUNrwq3thYb9Cqm44ty+CE/3wih/JpSKRs/ldaYWRRSBu0UFALpCOMCFIZsF08Hasqj3d5IHI8qkGVx3W6Hd8DaJVO4ywjpmbenv1qOnpO2oSx5xt4d/+Z1w2v1/bmljZ23mBDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bqw2hz4YlrP9EjY0lgUqVPfFw8bcVqXNvUphj2naCQg=; b=lhH24rnthx5pRSiWhawDfJBQWB0AxPCLpqGZ/Rwb5K4d+xGa0bekTxcgA+EBjVECmbI4ifGh3iGzPBnKF7yFmE37OneiDEYZ4CtR7EZIX4cp1/iZ/Q/a0M0NOPCW04Hp0YrDkjAjQ63X4T6GE9zDcikTn3SHozib0JUsg2zmPVs=
Received: from DM4PR11MB5438.namprd11.prod.outlook.com (2603:10b6:5:399::21) by DM6PR11MB3131.namprd11.prod.outlook.com (2603:10b6:5:6d::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.22; Fri, 25 Jun 2021 10:27:14 +0000
Received: from DM4PR11MB5438.namprd11.prod.outlook.com ([fe80::e14c:8880:1101:bb0c]) by DM4PR11MB5438.namprd11.prod.outlook.com ([fe80::e14c:8880:1101:bb0c%7]) with mapi id 15.20.4264.023; Fri, 25 Jun 2021 10:27:14 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: Michael Richardson <mcr+ietf@sandelman.ca>, Kent Watsen <kent+ietf@watsen.net>, "netconf@ietf.org" <netconf@ietf.org>, "anima@ietf.org" <anima@ietf.org>
CC: "Werner, Thomas" <thomas-werner@siemens.com>, "Fries, Steffen" <steffen.fries@siemens.com>
Thread-Topic: [Anima] Reuse of SZTP-CSR YANG definition in BRSKI-AE
Thread-Index: AQHXaHMv02/ZyJYgBk6FQT8B+ePWr6skg4MA
Date: Fri, 25 Jun 2021 10:27:14 +0000
Message-ID: <DM4PR11MB54389BFB3A6953FC19EDF93EB5069@DM4PR11MB5438.namprd11.prod.outlook.com>
References: <3a31e33678484625b9f4f3810e673e56@siemens.com> <0100017a1b4d2e94-aeaaa06e-8dc0-4163-a747-692e72b0d75c-000000@email.amazonses.com> <8407.1624138175@localhost> <0100017a2e9f69ee-5d037ce3-62dd-4825-922c-8a08b545d166-000000@email.amazonses.com> <11325.1624482172@dooku>
In-Reply-To: <11325.1624482172@dooku>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: sandelman.ca; dkim=none (message not signed) header.d=none;sandelman.ca; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [82.12.233.180]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fb78fd65-88b5-4bde-fae4-08d937c3cd1e
x-ms-traffictypediagnostic: DM6PR11MB3131:
x-microsoft-antispam-prvs: <DM6PR11MB3131F0C120B0F4792E4528CBB5069@DM6PR11MB3131.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: iRnJB2d4Nmt3yU1YWxzIFZHy3z/teKi1H4rtRj5UaP9spBvI4fs8OHbr2o5ehQCm4BYfvGbzj25AW56ClN18neHJ/02yW9ygX2d84ZFncaezAOnoJv8OiDoiNSL9vLxOccdUiyP+qSJK78HgJTXgb5H6rA4YrnqeJlq/yxRuxxruyiFNuWI7D7w1drr/I4H1AftqGwtg8eo9hRapVycd8a4Teyfm1JgXJ6M6uCFQGkhSeRN8H9jdVWIVP6miB0RJbqLHz4QuOe/plToaybUnxNwlJSgkwoSh8mdRaQ4olfrBfKl6lAgBClvIAs+0aiiHVZgj3/3LX4CvWLJucsGt4W3yPevPT9g9T+Yxa3KOGBEK/2tKm9qVU38zpjlNv0YS//N9c7noG2OpSc3zqbWVh2oC1xF5F3WYIc0752WH89WBlx5ZLW+XQ0IXZkhGCduVzMEaINEMhv6t2+CciXvDXBi5+1mna2Viz1kmOsxyq8UwQZj8VfKriebpdpDQNsqYgqgdjUuPuj0H1IxtNEh+mLm/jS+7ueqfzn+4PWdV5X71ABq965VaYFYf7E26U8CxBnbbYUdRnScGmXg8CNBMVR7SOLVBF3CyUugDxkhxSg2mkLAXdKE65T6U0y6ss+Ja9rzkcokwr5YdhBCU0GWkQTLfhysGNE4LTPrpudvVPc4eATmCwrx7vknhVmMRWnt+SMdtLO2Kr+hGCdQsX2sM9jhCTYRoLLYifybFtIR7RMePCzlxwoa/F2/hMDm0qgZp8v/Cx3UWYXp2YpbLTsxWgg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5438.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(39860400002)(136003)(396003)(346002)(376002)(71200400001)(86362001)(38100700002)(26005)(53546011)(6506007)(54906003)(7696005)(186003)(316002)(122000001)(33656002)(2906002)(110136005)(966005)(9686003)(478600001)(4326008)(83380400001)(66476007)(64756008)(66946007)(66446008)(52536014)(55016002)(8676002)(66556008)(5660300002)(76116006)(8936002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: oyOVajvKkFsjLfmn0H0VbkAXznAkzlq1qMUmQkb2E96VCuwVP2qQv6LHQXWfWGOQxVNcIzanflEgDZtAbcBc8ArgDXtezDJco9Eqpvn0nHwaRMV+z0CvAxuRxq7My0QtSwadfAXsrPDFCnF6ZoRbsUd94Wg8bpnMY4sW61WyQ7jQuCjs6hyCC/CSFXE51Okzy+PX7OhH0SG80iRCHgcGv9pks/2R2/NkEtxKVHUbVcGHT4w0+crOhG3oEJDb7QlMP+hIqGameqpFOydyjquGydY13rNuwdJBrOpW6G+FX9u4yfaW4CbJAP/Jmm7peZJ8UAxls3yBoQr+upMzuGBhfkfNPxie5a6IyQi9rZSkwSRuBxQ0ONYrhZgom1lYHH4I4Q8IkZQrEMsk8OmyC/2KMXR1d9tEuM3EEldydzvrTNk8+bWsf9AElOVwW+aodfPsgJa/RdFjJ1kdIzqb069BeGPmUwFVJW6n4OtWvh/Cxd6Vq4bBHoc7Cd9zJk8j89vIscuysDtE0gak+wQO+qPo0RkrMJKkawYgY9ItjTEkG/3SFQN4c1SWoJQW+dTX5L700jyT6MFjMGYIPNxe51rVoAWTcCwQS2RE7TvjmsyYOnMebnLcfsTj0l1AHeHLIQmVwA0YJgPQtasWikHqLcI18Xestbr4lfPNM+QxoivVXLd8vIQ4v/4l0xoz2YkPyQSgvlDvWn2qlqnkmohvLysn3PrhF+/MqdOZGaavGsA8bMZ7jaUvOZFiisNvX2xZGpWzkLU9o2UdnPWyQkPlemQkKhK7TQ1XJMlZd1lC8yudy3VsfrTXVAEYWVq4LK3DEkw25mGVJiAAbbjUQnaYF9JInoiQXwbu997Gn6ZYLw3ubEchGKr9qla7j0STx69Y0eXXNM4gOf0uSl6cKj27gVRDbMWc7gt3fJzQkkipPVI3xC9kTLtFSfcHFw0OC4hVPmITlIz/NaysIRIB+lX7CYrq411IOjStHWfFy7Dady6G8WM1gO3ivAO+1fv4RrLVvu0IKx8/fQhEkwGxcwvbTjiZGorT7ZzZ7dOYFZryaGbwkSfiehEvYqFb6xdbvm4Zt9k+n29/IHYb0f80kwgn3QQ19WPTAE6/PR7EkEifqoF7jellBjpyxFmeEvNr2Gw7CCf8g+g9pBjZ52hAtbY3n5v2smdLxfCPMlIXHLWIdieTKDx3X7/7UthLXl0Q8OmoXAiiqGv4rvh5jpQ7tmgOb/XLy0JwtxVUEQ9cpddW69giMPVGTCcJ/nEMAuzwkLdEbaD+hCGdFaG8DcLaNKk1AkaLJJKV4qjBr7yZZo6bY7wG3IsvGW+1PmVJhiAM/nksMOjX
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5438.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb78fd65-88b5-4bde-fae4-08d937c3cd1e
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2021 10:27:14.8000 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8lvZxZLJHQq0OlB4L2EFk7yaHvswDOpGw2A5T8EgUe5R8ozK+t68vmld2tAqovlU8wYDynPxxNn96yO57O/qhQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3131
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.18, xbe-rcd-003.cisco.com
X-Outbound-Node: rcdn-core-9.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/AFFqdeYJll9IndkQfT6scXWct6U>
Subject: Re: [netconf] [Anima] Reuse of SZTP-CSR YANG definition in BRSKI-AE
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Jun 2021 10:27:28 -0000

Hi Kent, Michael,

Re:
> Is it proper to reset a NETCONF publication for another WG?  Rob?

No, but if there are simple/quick changes that we can make to the NETCONF draft to make it more reusable then I think that is a good thing.

In this case, I think that this should come down to the discretion of the sZTP-CSR authors, given that BRSKI-AE also have the choice of just copying the YANG that they need.

I would be okay seeing the csr structure put into a grouping, but I would strongly prefer that they get moved out of the ietf-sztp-csr.yang module, so that the CSR groupings can be imported without requiring any import-only import dependency on ietf-sztp-csr (and possibly ietf-sztp-bootstrap-server).

Hence, my suggestion, if you were to do this, would be for a separate ietf-csr-types.yang module defined as part of the SZTP-CSR draft.

Thanks,
Rob


-----Original Message-----
From: Anima <anima-bounces@ietf.org> On Behalf Of Michael Richardson
Sent: 23 June 2021 22:03
To: Kent Watsen <kent+ietf@watsen.net>; netconf@ietf.org; anima@ietf.org
Cc: Werner, Thomas <thomas-werner@siemens.com>; Fries, Steffen <steffen.fries@siemens.com>
Subject: Re: [Anima] Reuse of SZTP-CSR YANG definition in BRSKI-AE


Kent Watsen <kent+ietf@watsen.net> wrote:
    >> We really just want container csr-support, csr-generation, csr, ???
    >> 
    >> Maybe we could chat about this more.
    >> We have a regular Thursday 9:30 EST design team.
    >> 
    >>>> The alternative would be to define an own module modeled in a similar.
    >> 
    >>> You can do this.
    >> 
    >> I think that we can have some common mindshare here.

    > One option would be to move stuff into ietf-crypto-types…as that module
    > already defines a number of grouping statements for handy structures.
    > That said, these structures are not context-free…they are very much
    > entwined in a specific dialog that is rather specific to bootstrapping
    > processes.  [FWIW,  just adding “cmc” and “cmp" typedefs to
    > crypto-types, alongside the existing “csr” (e.g., “p10”) typedef, might
    > be a good thing]

Understood.

    > Another option would be to move stuff into grouping statements, in the
    > same module, that are immediately.  In theory this would have no impact
    > to the on-the-wire format.  However, it’s somewhat late in the process
    > to entertain this, as the draft is in the AD queue (AD-review was just
    > posted today) and no doubt we would dicker over how many groupings to
    > create and whether they should be put into another draft to whitewash
    > out the SZTP-stint.  Is it proper to reset a NETCONF publication for
    > another WG?  Rob?

If we can do this at this point, that would I think, be best for all of us.

If it's just at AD, then it hasn't gotten IESG reviews yet, and there could
be many weeks of back and forth yet to go.

The horse trading shouldn't take more than 30 minutes of real-time
discussion, maybe way less.  

-- 
]               Never tell me the odds!                 | ipv6 mesh networks [ 
]   Michael Richardson, Sandelman Software Works        | network architect  [ 
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [