From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3254 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: High-priority library replacements? Date: Mon, 29 Apr 2013 22:21:54 -0400 Message-ID: <20130430022153.GD20323@brightrain.aerifal.cx> References: <1367214709.30217.YahooMailClassic@web160406.mail.bf1.yahoo.com> <517EA211.1060703@barfooze.de> <1367266482.18069.188@driftwood> <20130429205337.GA20323@brightrain.aerifal.cx> <20130430015324.GA2470@Caracal> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1367288527 17112 80.91.229.3 (30 Apr 2013 02:22:07 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 30 Apr 2013 02:22:07 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-3258-gllmg-musl=m.gmane.org@lists.openwall.com Tue Apr 30 04:22:07 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1UX0Ck-0006GJ-VB for gllmg-musl@plane.gmane.org; Tue, 30 Apr 2013 04:22:07 +0200 Original-Received: (qmail 8094 invoked by uid 550); 30 Apr 2013 02:22:06 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 8085 invoked from network); 30 Apr 2013 02:22:06 -0000 Content-Disposition: inline In-Reply-To: <20130430015324.GA2470@Caracal> User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:3254 Archived-At: On Mon, Apr 29, 2013 at 06:53:24PM -0700, idunham@lavabit.com wrote: > > If something is invalid C, you simply don't do it. You especially > > don't do it in a library you intend for others to be able to use in > > applications whose requirements and deployments you have no control > > over. Even if "it works for me" makes YOU happy when running the code > > on your own system, it's not okay when party B uses your code in their > > application without being aware that it's based on broken assumptions, > > and then party C gets to keep both pieces when it breaks. > > As far as I can tell, most of the stb_* stuff is just stuff that was > written for demos and put on a web server in case someone wanted it. > > And for demos, size is the big restriction; it's not expected to handle > every use case, or be used in a context where security is an issue-- > in fact, continuing to function properly is not a high priority. > > The flip side of this is that code written for demos is most likely > unsuitable for use in regular software. Incidentally, my original vision for the "new platform" thread was for the UI/graphics interface to be much more akin to what you see in demos, old games, ancient systems, etc. than modern OO GUI libs, but actually done right, and with modern features like screen size and resolution adaptability, proper multilingual text rendering and editing, vector graphics, etc. If such a project is ever to progress, I think a good starting point may be to research the good and the bad of historical practices. Applying the principles of "library-safe code" (as yet not rigorously defined), avoiding global state, realtime considerations, etc. could serve to quickly filter out the faults of old school designs. Rich