From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [192.168.2.90] ([108.95.88.138]) by ewsd; Fri Jun 7 01:51:42 EDT 2019 Date: Fri, 7 Jun 2019 01:51:40 -0400 From: Stanley Lieber To: 9Front <9front@9front.org> Message-ID: <237457fc-05a8-4fe6-a20f-392045d916c9@iPhone> In-Reply-To: <5DEAC230FD597FB6EFF08DF3B5054786@eigenstate.org> Subject: Re: [9front] Manpage Previews MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="5cf9fb6c_140e0f76_109b" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: storage XMPP cache method self-signing generator --5cf9fb6c_140e0f76_109b Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Can=E2=80=99t you just bind your work directory over /sys/man/=5Bn=5D= =3F =20 =20 sl =20 --5cf9fb6c_140e0f76_109b Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Can=E2=80=99t you just bind your work directory over /sys/man= /=5Bn=5D=3F

sl

--5cf9fb6c_140e0f76_109b-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eigenstate.org ([206.124.132.107]) by ewsd; Fri Jun 7 01:55:19 EDT 2019 Received: from eigenstate.org (localhost [127.0.0.1]) by eigenstate.org (OpenSMTPD) with ESMTP id e4696340; Thu, 6 Jun 2019 22:55:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=eigenstate.org; h= message-id:to:subject:date:from:in-reply-to:mime-version :content-type:content-transfer-encoding; s=mail; bh=A7Oc9/S8MVFW JhW5hFFgkOe6kiE=; b=lPTLLDRfEP8xBIBcPiyfAPgQ24UCozKrOsqzw3eN3E42 emK6Ljymxc4YEn3B4Uq6GVK9FX8uQSyOkciMsgd3OvVa/22WvdOUoAR3zeaYLseJ oR3W3mR29AClLlhls6N4An1HpP1n0Fr0eiT/N+Ay1d6Grf0i4KjTIUGuIgKigxk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=eigenstate.org; h=message-id :to:subject:date:from:in-reply-to:mime-version:content-type :content-transfer-encoding; q=dns; s=mail; b=FJlpYqbWz/Uzi1fieai NuoorQFSuoQCVRy0HdRJQWBi197c340CrISdccc3rmPGhN8XE83pZj8cuLkVbLOM /JNbDilhkw3JvTckQ254tWXaHg6yHywe+4C0591NIYCqHfQZPYD6GMrIvh7Kuc6W 6gsIhmtGYxtlU1yDstfGTIE0= Received: from abbatoir.hsd1.ca.comcast.net (c-76-21-119-139.hsd1.ca.comcast.net [76.21.119.139]) by eigenstate.org (OpenSMTPD) with ESMTPSA id 1502e03e (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO); Thu, 6 Jun 2019 22:55:18 -0700 (PDT) Message-ID: <882EDC2F9FA52D6A723AEC0A5FC84598@eigenstate.org> To: sl@stanleylieber.com, 9front@9front.org Subject: Re: [9front] Manpage Previews Date: Thu, 6 Jun 2019 22:55:17 -0700 From: ori@eigenstate.org In-Reply-To: 237457fc-05a8-4fe6-a20f-392045d916c9@iPhone MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: SQL over SSL session-oriented descriptor plugin > Can’t you just bind your work directory over /sys/man/[n]? Point. Forget that patch, then. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from yow.kvik.link ([45.32.152.219]) by ewsd; Fri Jun 7 04:23:32 EDT 2019 Received: by yow.kvik.link (OpenSMTPD) with ESMTPSA id f511c9d9 (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO) for <9front@9front.org>; Fri, 7 Jun 2019 10:23:20 +0200 (CEST) Message-ID: <0629FD2FA066BC323F1D2EEC32CCB0F1@kvik.link> To: 9front@9front.org Subject: Re: [9front] Manpage Previews Date: Fri, 7 Jun 2019 08:23:23 +0200 From: vp@kvik.link In-Reply-To: 882EDC2F9FA52D6A723AEC0A5FC84598@eigenstate.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-cajmuhnndmuliftpyfrckitbue" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: deep-learning hypervisor CSS optimizer This is a multi-part message in MIME format. --upas-cajmuhnndmuliftpyfrckitbue Content-Disposition: inline Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Binding over the system manual path is a nice Plan 9™ code avoidance tactic, which got tired really quickly for me during some sources expeditions. My solution was adding the -f flag to the man(1) utility which disables the searching behaviour and treats the arguments as paths to the troff source files, for example: man -f /sys/man/1/man The resulting diff is weird to look at since I've hoisted a big chunk of code into a function, so I attach the whole script instead. --upas-cajmuhnndmuliftpyfrckitbue Content-Disposition: attachment; filename=man Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit #!/bin/rc # man - print manual pages rfork e . /sys/man/fonts out=cat search=yes cmd=n sec=() files=() fn usage { echo 'Usage: man [-bfnpPStw] [section ...] title ...' >[1=2] exit } fn roff { preproc=() postproc=cat x=`{doctype $2} if (~ $1 t){ opts=-Tutf if(~ $x *grap*) preproc=($preproc grap) if(~ $x *pic*) preproc=($preproc pic) } if not{ opts='-N -rL1000i' if (grep -s '^\.(2C|sp *[0-9]*\.)' $2) postproc=col } if(~ $x *eqn*) preproc=($preproc eqn) if(~ $x *tbl*) preproc=($preproc tbl) preproc=`{echo $preproc | sed 's/ /|/g'} if(~ $#preproc 0) preproc=cat {echo -n $FONTS | cat $2} | eval $preproc | troff $opts -$MAN | $postproc } fn doman { cmd=$1; shift for(i){ switch($cmd){ case w echo $i case t roff t $i case p roff t $i | grep -v '^x X html' case P roff t $i case n roff n $i | sed ' ${ /^$/p } //N /^\n$/D' case b x=`{echo $i | sed 's;/sys/man/(.*)/(.*);\1 \2;'} if(~ $x(2) 0intro) x=($x(1) intro) roff n $i | sed ' ${ /^$/p } //N /^\n$/D' | plumb -i -d edit -a 'action=showdata filename=/man/'$x(2)^'('$x(1)^')' } } | $out } d=no while(~ $d no){ if(~ $#* 0) usage if(test -d /sys/man/$1){ sec=($sec $1) shift } if not switch($1){ case -b ; cmd=b ; shift case -f ; search=file ; shift case -n ; cmd=n ; shift case -P ; cmd=P ; out=page ; shift case -p ; cmd=p ; out=proof ; shift case -S ; search=no ; shift case -t ; cmd=t ; shift case -w ; cmd=w ; shift case * ; d=yes } } if(~ $#* 0) usage if(~ $search file){ doman $cmd $* exit } if(~ $#sec 0) sec=`{ls -pd /sys/man/[0-9]*} if(~ $search yes){ pat='^('^`{echo $* | sed 's/ /|/g'}^') ' for(i in /sys/man/$sec) if(/bin/test -f $i/INDEX){ try=`{grep -i $pat $i/INDEX | sed 's/^[^ ]* //' | sort -u} if(! ~ $#try 0) files=($files $i/$try) } } if(~ $#files 0) for(i){ if(~ $i intro) i=0intro for(n in $sec){ try=`{echo /sys/man/$n/$i | tr A-Z a-z} if (/bin/test -f $try) files=($files $try) } } if(~ $#files 0){ echo 'man: no manual page' >[1=2] exit 'no man' } doman $cmd $files --upas-cajmuhnndmuliftpyfrckitbue-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [192.168.2.90] ([108.95.88.138]) by ewsd; Fri Jun 7 10:09:43 EDT 2019 Date: Fri, 7 Jun 2019 10:09:42 -0400 From: Stanley Lieber To: 9Front <9front@9front.org> Message-ID: In-Reply-To: <0629FD2FA066BC323F1D2EEC32CCB0F1@kvik.link> Subject: Re: [9front] Manpage Previews MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="5cfa7026_74b0dc51_1409" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: stable DOM base locator --5cfa7026_74b0dc51_1409 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline when you get tired of doing something manually, put it in a script. = when you get tired of running the script manually, add it to your profile= , or to another script that you=E2=80=99ll be running anyway. when all th= at fails, program the shell interactively=21 making all this easy is a ma= jor feature of the system. =20 =20 i do a lot of stuff (maybe too much) in my profile, and in other scripts = that run when i setup network mounts or launch rio (both are separate and= are triggered manually); everything from polluting my environment with t= ons of utility variables (mainly, shorthand for various frequently used l= ong path names) and functions, to binding all kinds of local and remote d= irectories over non-standard locations. it eases the need for a lot of ot= herwise necessary code. thankfully, the plan 9 tools don=E2=80=99t care, = and are happy to go on with their work while remaining completely ignoran= t of how i=E2=80=99ve wrecked the place. =20 =20 here=E2=80=99s a completely unrelated example of this way of thinking: =20 =20 since there is no shell completion in rio, i=E2=80=99m constantly creatin= g tiny, single-character variables (mostly containing the results of shel= l globbing) so that i can manipulate those values in various ways without= having to type out long strings of characters. this comes in very handy = when (for instance) running a disgusting app -> ssh -> tmux -> drawter= m -G rube goldberg connection to plan 9 from a touchscreen mobile device.= =20 =20 what i=E2=80=99m advocating here may seem like simply transplanting effor= t from automation over to your consciousness, and therefore wasting more = of your precious mental processing capabilities (read: limited and alread= y stretched attention span), but consider that in many cases you=E2=80=99= d have to decide things like which flag to invoke, how to use it, and its= proper arguments anyway. =20 =20 and code that doesn=E2=80=99t exist never fails. =20 =20 sl =20 --5cfa7026_74b0dc51_1409 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline when you get tired of doing something manually, put it in a s= cript. when you get tired of running the script manually, add it to your = profile, or to another script that you=E2=80=99ll be running anyway. when= all that fails, program the shell interactively=21 making all this easy = is a major feature of the system.

i do a lot of stuff = (maybe too much) in my profile, and in other scripts that run when i setu= p network mounts or launch rio (both are separate and are triggered manua= lly); everything from polluting my environment with tons of utility varia= bles (mainly, shorthand for various frequently used long path names) and = functions, to binding all kinds of local and remote directories over non-= standard locations. it eases the need for a lot of otherwise necessary co= de. thankfully, the plan 9 tools don=E2=80=99t care, and are happy to go = on with their work while remaining completely ignorant of how i=E2=80=99v= e wrecked the place.

here=E2=80=99s a completely= unrelated example of this way of thinking:

sinc= e there is no shell completion in rio, i=E2=80=99m constantly creating ti= ny, single-character variables (mostly containing the results of shell gl= obbing) so that i can manipulate those values in various ways without hav= ing to type out long strings of characters. this comes in very handy when= (for instance) running a disgusting app -> ssh -> tmux -> drawt= erm -G rube goldberg connection to plan 9 from a touchscreen mobile devic= e.

what i=E2=80=99m advocating here may seem lik= e simply transplanting effort from automation over to your consciousness,= and therefore wasting more of your precious mental processing capabiliti= es (read: limited and already stretched attention span), but consider tha= t in many cases you=E2=80=99d have to decide things like which flag to in= voke, how to use it, and its proper arguments anyway.

and code that doesn=E2=80=99t exist never fails.

sl

--5cfa7026_74b0dc51_1409-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f175.google.com ([209.85.214.175]) by ewsd; Sat Jun 8 10:39:35 EDT 2019 Received: by mail-pl1-f175.google.com with SMTP id d21so1927411plr.3 for <9front@9front.org>; Sat, 08 Jun 2019 07:39:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=tzzLAkQhC6MggjfXjehM7TfWSeNvPXSF+/NOXU1xFnI=; b=adl55DKNR1ZZNLWLUYhAMB+ivjJJXU2Xg2eNC/WhOvcWHr4/OFv5EJTcIj2iHEkRRQ xhX2E55WhvHnQVA8iQRnIFqLkcbpqd70XAUYZy1G+0K9dq39OeEpdXKC6fcyvM+fPbvH 7B8BWgyyOLNLSXNcyOQxxnxgROGz6SABsEqr/W1f6UQ7oFgTQKEDQwvx273YkbPwbUQW bWwgf2usDZq+Zj8zMtN4eJKqLbrqxTkTBOukE09ZlSOg0+W8osP+IvM1XGmNt5TnKB0/ bHMMoz3hdHNj/JWokhuWut6OlHQd82Q0X1cJawY3nwuvvflVqkqVwbGisQnD/enR5StF BXFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=tzzLAkQhC6MggjfXjehM7TfWSeNvPXSF+/NOXU1xFnI=; b=d4jSqWb9/v3rkONjvFET08c25K2gjdVhr5Q4UqOMeRm1dewsDNfa1Cbw0TB2qE2o9I N+/xqJujL2pD2cvPWR3GZhkCL0LNruj5+IrEL75g1WTGdmI1zZAy8SnG3L8TirmBKGOT uWfRMMAJ3SsBUgUWa3YqtdfMbeVF3WAn5VrBFqp2amR3bKZyHRoJY1VliwY9IxrpcLGq 1gXNFRc4M/w90joeJkt5Hc85UZOngMku9AHKZMREXu7lz3ZPA2iGRZ5w2KYE1p2Dvqhv 3LfvifJFBLUOPfgW0FN9cAyb8673Pkb/2x4q20Wjjl2d8yvD0WASjdKNB5ooVF7iOjEH kEKA== X-Gm-Message-State: APjAAAUloWTBvb9o8FTeQK2YpTptHmTNgCTsC21pQKPI8XsuEpIbUdJE 4YWt9zW/b1G7czVwrlhU6vpvq/AX1frncjKUi6MWJg== X-Google-Smtp-Source: APXvYqzkXpyWO00XiWHmdQ7Rvdpl3RwHSbkQ6M98BM0P0b1Z9f5Sy/kfeWylQIeFZkv7d80x/ZBa/lst/ASESZUdD70= X-Received: by 2002:a17:902:20e2:: with SMTP id v31mr57838629plg.138.1559942252625; Fri, 07 Jun 2019 14:17:32 -0700 (PDT) MIME-Version: 1.0 References: <0629FD2FA066BC323F1D2EEC32CCB0F1@kvik.link> In-Reply-To: From: Silas McCroskey Date: Fri, 7 Jun 2019 14:17:21 -0700 Message-ID: Subject: Re: [9front] Manpage Previews To: 9front@9front.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: abstract extended NoSQL-scale SQL over SVG extension method-based engine Couldn't you also just `nroff -man' directly and avoid `man' altogether? What is `man' really buying you here, if you're not searching the index? - sam-d On Fri, Jun 7, 2019 at 7:10 AM Stanley Lieber wrote: > > when you get tired of doing something manually, put it in a script. when = you get tired of running the script manually, add it to your profile, or to= another script that you=E2=80=99ll be running anyway. when all that fails,= program the shell interactively! making all this easy is a major feature o= f the system. > > i do a lot of stuff (maybe too much) in my profile, and in other scripts = that run when i setup network mounts or launch rio (both are separate and a= re triggered manually); everything from polluting my environment with tons = of utility variables (mainly, shorthand for various frequently used long pa= th names) and functions, to binding all kinds of local and remote directori= es over non-standard locations. it eases the need for a lot of otherwise ne= cessary code. thankfully, the plan 9 tools don=E2=80=99t care, and are happ= y to go on with their work while remaining completely ignorant of how i=E2= =80=99ve wrecked the place. > > here=E2=80=99s a completely unrelated example of this way of thinking: > > since there is no shell completion in rio, i=E2=80=99m constantly creatin= g tiny, single-character variables (mostly containing the results of shell = globbing) so that i can manipulate those values in various ways without hav= ing to type out long strings of characters. this comes in very handy when (= for instance) running a disgusting app -> ssh -> tmux -> drawterm -G rube g= oldberg connection to plan 9 from a touchscreen mobile device. > > what i=E2=80=99m advocating here may seem like simply transplanting effor= t from automation over to your consciousness, and therefore wasting more of= your precious mental processing capabilities (read: limited and already st= retched attention span), but consider that in many cases you=E2=80=99d have= to decide things like which flag to invoke, how to use it, and its proper = arguments anyway. > > and code that doesn=E2=80=99t exist never fails. > > sl > From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [192.168.2.90] ([108.95.88.138]) by ewsd; Sat Jun 8 12:48:15 EDT 2019 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: [9front] Manpage Previews From: Stanley Lieber X-Mailer: iPhone Mail (16F203) In-Reply-To: Date: Sat, 8 Jun 2019 12:48:14 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: References: <0629FD2FA066BC323F1D2EEC32CCB0F1@kvik.link> To: 9front@9front.org List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: high-performance SOAP reduce/map deep-learning full-stack singleton as someone who recently had to edit the man pages for print, i do heartily r= ecommend proofing changes with man -P before committing. sl From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from yow.kvik.link ([45.32.152.219]) by ewsd; Sun Jun 9 16:26:17 EDT 2019 Received: by yow.kvik.link (OpenSMTPD) with ESMTPSA id 44fece7c (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO) for <9front@9front.org>; Sun, 9 Jun 2019 22:26:06 +0200 (CEST) Message-ID: To: 9front@9front.org Subject: Re: [9front] Manpage Previews Date: Sun, 9 Jun 2019 20:26:11 +0200 From: vp@kvik.link In-Reply-To: 1A964C12F0AF31DD0A4F955763783377@prosimetrum.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: firewall scripting optimizer It only took me a weekend and a nudge to realize that: troff -man manual.man | page is all I need. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from asquith.prosimetrum.com ([125.236.209.157]) by ewsd; Sun Jun 9 16:11:39 EDT 2019 Message-ID: <1A964C12F0AF31DD0A4F955763783377@prosimetrum.com> Date: Mon, 10 Jun 2019 08:11:30 +1200 From: umbraticus@prosimetrum.com To: 9front@9front.org Subject: Re: [9front] Manpage Previews In-Reply-To: CAHjwAuy3cK50PUFfpKi_es6YCk4QmWg+hQf4abNhMjqadNhHwA@mail.gmail.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: flexible polling-oriented browser hypervisor content-driven locator > Couldn't you also just `nroff -man' directly and avoid `man' altogether? > What is `man' really buying you here, if you're not searching the index? man does some extra work to remove nroff's pagination, but yeah... umbraticus