From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13164 invoked by alias); 12 Oct 2013 21:16:16 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 31820 Received: (qmail 28298 invoked from network); 12 Oct 2013 21:16:09 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, T_TO_NO_BRKTS_FREEMAIL autolearn=ham version=3.3.2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.ca; s=s1024; t=1381612161; bh=1qhPXyOmV1m7FgN9rdcOCnIh0FNKEihDjR1+zxQi9dA=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:X-Rocket-Received:Received:Received:Date:From:To:Subject:Message-ID:Mail-Followup-To:References:MIME-Version:Content-Type:Content-Disposition:In-Reply-To:User-Agent; b=uJU5JrU4V/u0TWAC2g7XS1PkNbNTNIeRQKmZaIgzje6pi83dxJNVwHai3uV6qsFTvDuXHY95TX1k9MujtetIG+gNb/DGctUcaRXwNsJatyeY+NC2AzoUAYho6Pf/S9WfCNYm3jkjf+wt+R5xK+FgdNmt4L47bBsjtCvQCPVRUBA= X-Yahoo-Newman-Id: 214378.68119.bm@smtp115.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: U9U028kVM1m3l4rI9mY5OLIvhbsDOXL.Xj_KEOcuhf4YyDf wMYlGPBm400AFd6fWXZViVcvfLZrnDD.f2Dcxa6cRr_bA50O6.FBWRWNulso KwyncBIpVbXJldMPJUwId7wjllVE8eYLbX4P9bzb6RRL1ahUAnPGoRZiqfI_ h9PC5Pkp8pgj73ZqnolYKCtCZT5UfRBO27wnbEhepOmdolhON04sLmMRuniQ pADjc7esy5vOnIsVt0ReJVebGy14gUE.98ZV814zIhrbuwfqRWK4lRScUVye HkwsVd5WEfGOsrbXKA3I5HDZH1_JMIefelwPVd62vEbc5P2yBYGbBOW7WZ6m bds1VNXApfRBnme_vLYCF4W.G2ofhyp7G9eZFteyYcCtiSXw4RNiyMRoGXrt a2Add2PlcQr9svDt1Km2x8Yohxtj6KFqPbybjr_Ft3F1s79gw3dCVWottnbs gjDwy6lXFmOaqMTZlYJWQRm7jh3Pt34FUfaYBIlu2gIWGwyVx7qRPpyEIWeH Z.6ORao_UZItRzgiqKGUKhE6B4a89rXQBh30CgfdXQzlpryJ4VYxhx.EwGhI - X-Yahoo-SMTP: Ll_2CwGswBCmYyy8D5vkxPEWV_RIV9L47w-- X-Rocket-Received: from node1.localdomain (opengeometry@24.212.209.79 with ) by smtp115.mail.bf1.yahoo.com with SMTP; 12 Oct 2013 14:09:21 -0700 PDT Date: Sat, 12 Oct 2013 17:09:17 -0400 From: William Park To: zsh-workers@zsh.org Subject: Re: ERP application as Zsh module -- thought? Message-ID: <20131012210917.GA5884@node1.localdomain> Mail-Followup-To: zsh-workers@zsh.org References: <20131012055552.GA24153@node1.localdomain> <131012090413.ZM12377@torch.brasslantern.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <131012090413.ZM12377@torch.brasslantern.com> User-Agent: Mutt/1.5.21 (2010-09-15) On Sat, Oct 12, 2013 at 09:04:13AM -0700, Bart Schaefer wrote: > On Oct 12, 1:55am, William Park wrote: > } > } I am developing "ERP system for small business". The underlying data > } structure is spreadsheet (ie. 2D sparse table) where the rows act like > } arrays. > } > } I would like to embed my application as Zsh module. > > May I ask, why? I don't know a lot of small business owners who know > their way around in a shell, and zsh doesn't exactly handle 2D arrays > cleanly, much less databases of them. Why? Well, it allows me to concentrate on data entry and processing, which is the business side of things. For the market in question, key characteristic is custom business logic. Each logic may be simple and short, but there are so many. And, someone has to program all these logic. To do this in C, you'd need to edit C code and run "make" every time. I actually prefer this, but people may be more comfortable with short shell scripts. I'll be adding couple of builtins for: - reading/writing spreadsheet files - reading/writing cells - pattern searching along the rows These are for "data processing", or something called "posting" and "report". Once business logic is set, there is no user interaction. "Data entry" is separate but important, because most users will interact with this menu screens. Right now, I'm thinking ncurses window, as it's closely related to POS (point of sale). I'll have to see if it can also be done as Zsh builtins. All in all, the spreadsheet file format is ASCII, so that you can use vi/awk as last resort. Filesystem serves as btree database (which it is), and shell serves as calculator and interpretor glue (which it is). Just lazy way of doing things... :-) > > (Well, OK, *I* know a number of small business owners who know their > way around in a shell, but I have to assume I'm an outlier in that > respect, and I also know a number of them who would be totally lost.) Owners will not do entire system themselves. They would first get the initial system with the business logic they need, and then customize themselves or get someone to do it. I personally think that editing C code or shell script takes the same amount of effort. Really, how difficult is it to type "vi" and followed by "make". Making the initial sale is the most important thing, because subsequent customizations tend to be simple usually. To that end, I cannot ignore "comfort factor". -- William