finally fix most (all?) layout issue: 2 column layout! - tgtimes - The Gopher Times
 (HTM) git clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tgtimes
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
       ---
 (DIR) commit 52422671e3a49499d7e840af9a03e1f6df6cd9b0
 (DIR) parent 43c62ad11347dd5b2b0a2d58a67da6be23867486
 (HTM) Author: Josuah Demangeon <me@josuah.net>
       Date:   Fri, 22 Apr 2022 20:48:39 +0200
       
       finally fix most (all?) layout issue: 2 column layout!
       
       Diffstat:
         M opus4/article-20h-interview.mw      |       2 +-
         M opus4/article-announce-open-admin-… |       2 +-
         M opus4/article-bitreich-2022-03-06T… |       2 +-
         M opus4/article-bitreich-2022-03-07T… |       2 +-
         M opus4/article-bitreich-2022-03-25T… |       2 +-
         M opus4/article-bitreich-2022-03-26T… |       2 +-
         M opus4/article-bitreich-2022-03-27T… |       3 ++-
         M opus4/article-bitreich-2022-03-29T… |       3 ++-
         M opus4/article-tgtimes-bbc-reviving… |       2 +-
         M opus4/article-tgtimes-bistromatik.… |       2 +-
         M opus4/article-tgtimes-carrying-the… |       2 +-
         M opus4/article-tgtimes-st-lazare-tr… |       2 +-
         M opus4/article-tgtimes-what-on-mars… |       2 +-
         M opus4/article-tmpout-2.mw           |       2 +-
         M opus4/tgtimes4.pdf                  |       0 
         M opus4/tgtimes4.txt                  |       6 ++++--
         A opus5/article-tgtimes-fft-hack.mw   |      90 +++++++++++++++++++++++++++++++
         A opus5/article-tgtimes-maemo-leste-… |       4 ++++
         M tmac.w                              |      19 +++++++++----------
       
       19 files changed, 123 insertions(+), 26 deletions(-)
       ---
 (DIR) diff --git a/opus4/article-20h-interview.mw b/opus4/article-20h-interview.mw
       @@ -1,6 +1,6 @@
        .SH 20h
        Breaking free from medical devices
       -.2C 50v
       +.2C 125v
        .
        .PP
        Unlike most USB gadgets around, medical devices require a specification
 (DIR) diff --git a/opus4/article-announce-open-admin-position-in-france.mw b/opus4/article-announce-open-admin-position-in-france.mw
       @@ -1,6 +1,6 @@
        .SH announce
        Linux Sysadmin Job Offer
       -.2C 12v
       +.2C 20v
        .
        .PP
        The web is hiring over and over.
 (DIR) diff --git a/opus4/article-bitreich-2022-03-06T21-20-12-652045.mw b/opus4/article-bitreich-2022-03-06T21-20-12-652045.mw
       @@ -1,6 +1,6 @@
        .SH 20h
        2022-03-06 GangBAN aftermaths
       -.2C 15v
       +.2C 11v
        .
        .PP
        This Sunday was a fun one.
 (DIR) diff --git a/opus4/article-bitreich-2022-03-07T13-00-00-133769.mw b/opus4/article-bitreich-2022-03-07T13-00-00-133769.mw
       @@ -1,6 +1,6 @@
        .SH Hiltjo
        sfeed 1.4 released
       -.2C 50v
       +.2C 33v
        .
        .PP
        I want to thank all people who gave feedback.
 (DIR) diff --git a/opus4/article-bitreich-2022-03-25T18-22-39-498139.mw b/opus4/article-bitreich-2022-03-25T18-22-39-498139.mw
       @@ -1,6 +1,6 @@
        .SH 20h
        New Bitreich Project: rfcommd
       -.2C 15v
       +.2C 13v
        .
        .PP
        There is a new project on bitreich: rfcommd.
 (DIR) diff --git a/opus4/article-bitreich-2022-03-26T19-55-05-578948.mw b/opus4/article-bitreich-2022-03-26T19-55-05-578948.mw
       @@ -1,6 +1,6 @@
        .SH 20h
        Memecache atom feed
       -.2C 5v
       +.2C 8v
        .
        .PP
        Thanks to the innovation from the Netherlands,
 (DIR) diff --git a/opus4/article-bitreich-2022-03-27T20-00-55-040395.mw b/opus4/article-bitreich-2022-03-27T20-00-55-040395.mw
       @@ -24,7 +24,8 @@ git://bitreich.org/rfcommd
        Just attach a serial2bluetooth dongle and some bluetooth dongle in your linux machine, then use the new added filter:
        .
        .FS
       -gopher://bitreich.org/1/scm/rfcommd/commit/9b77ca90e9cf4ca7cd9521e6756dc2b833cdefce.gph
       +gopher://bitreich.org/1/scm/rfcommd/commit/
       +9b77ca90e9cf4ca7cd9521e6756dc2b833cdefce.gph
        .FE
        .
        .PP
 (DIR) diff --git a/opus4/article-bitreich-2022-03-29T17-17-55-362953.mw b/opus4/article-bitreich-2022-03-29T17-17-55-362953.mw
       @@ -7,7 +7,8 @@ Bitreich is always ahead in its structure, organisation and technology.
        So is our democracy:
        .
        .FS
       -gopher://bitreich.org/1/scm/bitreich-council/commit/f43daad938405d966c158a12b6fcb8f13a9d1868.gph
       +gopher://bitreich.org/1/scm/bitreich-council/commit/
       +f43daad938405d966c158a12b6fcb8f13a9d1868.gph
        .FE
        .
        .PP
 (DIR) diff --git a/opus4/article-tgtimes-bbc-reviving-the-radio.mw b/opus4/article-tgtimes-bbc-reviving-the-radio.mw
       @@ -1,6 +1,6 @@
        .SH tgtimes
        BBC Reviving the Plain Old Radio
       -.2C 32v
       +.2C 31v
        .
        .PP
        BBC, one of the earliest if not the first radio broadcasting ever,
 (DIR) diff --git a/opus4/article-tgtimes-bistromatik.mw b/opus4/article-tgtimes-bistromatik.mw
       @@ -1,6 +1,6 @@
        .SH tgtimes
        Beerware: Hardware for Beer
       -.2C 20v
       +.2C 16v
        .
        .PP
        Retreated industrial robot hardware recycled into a bartender.
 (DIR) diff --git a/opus4/article-tgtimes-carrying-the-cross.mw b/opus4/article-tgtimes-carrying-the-cross.mw
       @@ -1,6 +1,6 @@
        .SH tgtimes
        Carrying the Cross
       -.2C 20v
       +.2C 19v
        .
        .PP
        Walking on the streets, slowly, slowed-down by carrying a huge
 (DIR) diff --git a/opus4/article-tgtimes-st-lazare-transforms.mw b/opus4/article-tgtimes-st-lazare-transforms.mw
       @@ -1,6 +1,6 @@
        .SH tgtimes
        St-Lazare's Paris Train Station
       -.2C 30v
       +.2C 24v
        .
        .PP
        Ah! The \fISaint Lazare\fR train station. Emblem of the Parisian
 (DIR) diff --git a/opus4/article-tgtimes-what-on-mars.mw b/opus4/article-tgtimes-what-on-mars.mw
       @@ -1,6 +1,6 @@
        .SH tgtimes
        What really happened on Mars?
       -.2C 10v
       +.2C 34v
        .
        .PP
        What can possibly go wrong while sending a device entirely controlled
 (DIR) diff --git a/opus4/article-tmpout-2.mw b/opus4/article-tmpout-2.mw
       @@ -1,6 +1,6 @@
        .SH tmpout
        TMP.0UT Volume 2 is Out
       -.2C 10v
       +.2C 14v
        .
        .PP
        In the sytle of the Phrack online resource, tmp.0ut publishes its
 (DIR) diff --git a/opus4/tgtimes4.pdf b/opus4/tgtimes4.pdf
       Binary files differ.
 (DIR) diff --git a/opus4/tgtimes4.txt b/opus4/tgtimes4.txt
       @@ -743,7 +743,8 @@ ____________________________________________________________
           [1]
           git://bitreich.org/rfcommd
           [2]
       -   gopher://bitreich.org/1/scm/rfcommd/commit/9b77ca90e9cf4ca7cd9521e6756dc2b833cdefce.gph
       +   gopher://bitreich.org/1/scm/rfcommd/commit/
       +   9b77ca90e9cf4ca7cd9521e6756dc2b833cdefce.gph
        
        
        
       @@ -928,7 +929,8 @@ ____________________________________________________________
        
        
           [1]
       -   gopher://bitreich.org/1/scm/bitreich-council/commit/f43daad938405d966c158a12b6fcb8f13a9d1868.gph
       +   gopher://bitreich.org/1/scm/bitreich-council/commit/
       +   f43daad938405d966c158a12b6fcb8f13a9d1868.gph
           [2]
           https://lwn.net/Articles/889444/
        
 (DIR) diff --git a/opus5/article-tgtimes-fft-hack.mw b/opus5/article-tgtimes-fft-hack.mw
       @@ -0,0 +1,90 @@
       +.SH tgtimes
       +Relics of Fast Fourrier Transform from the past
       +.
       +.PP
       +In 1967, the Kooley-Tukey FFT algorythm (the one we all use now) was written in Fortran.
       +What the hell were they running it on, and what damned data were they feeding into it?!
       +.
       +.DS
       +      SUBROUTINE FOUR1(DATA,NN,ISIGN)
       +C     THE COOLEY-TUKEY FAST ROURIER TRANSFORM IN USASI BASIC FORTRAN
       +C     TRANSFORM(J) = SUM(DATA(I)+W**((I-1)*(J-1)). WHERE I AND J RUN
       +C     FROM 1 TO NN AND W = EXP(ISIGN*2*PI+SQRT(-1)/NN). DATA IS ONE-
       +C     DIMENSIONAL COMPLEX ARRAY (I.E.: THE REAL AND IMAGINARY PARTS OF
       +C     THE DATA ARE LOCATE IMMEDIATELY ADJACENT IN STORAGE, SUCH AS
       +C     FORTRAN IV PLACES THEM) WHOSE LENGTH NN IS A POWER OF TWO. ISIGN
       +C     IS +1 OR -1, GIVING THE SIGN OF THE TRANSFORM, TRANSFORM VALUES
       +C     ARE RETURNED IN ARRAY DATA, REPLACING THE INPUT DATA. THE TIME IS
       +C     PROPORTIONAL TO N*LOG2(N), RATHER THAN THE USUAL N**2. WRITTEN BY
       +C     NORMAN BRENNER, JUNE 1967, THIS IS THE SHOURTEST VERSION
       +C     OF FFT KNOWN THE THE AUTHOR, AND IS INTENDED MAINLY FOR
       +C     DEMONSTRATION. PROGRAMS FOUR2 AND FOURT ARE AVAILABLE THAT RUN
       +C     TWICE AS FAST AND OPERATE ON MULTIDIMENSIONAL ARRAYS WHOSE
       +C     DIMENSIONS ARE NOT RESTRICTED TO POWERS OR TWO. (LOOKING UP SINES
       +C     AND COSINES IN A TABLE WILL CUT RUNNING TIME OF FOUR1 BY A THIRD.)
       +C     SEE-- IEEE AUDIO TRANSACTIONS (JUNE 1967), SPECIAL ISSUE ON FFT.
       +      DIMENSION DATA(1)
       +      N=2*NN
       +      J=1
       +      DO 5 I=1,N,2
       +      IF(I-J)1,2,2
       +1     TEMPR=DATA(J)
       +      TEMPI=DATA(J+1)
       +      DATA(J)=DATA(I)
       +      DATA(J+1)=DATA(I+1)
       +      DATA(I)=TEMPR
       +      DATA(I+1)=TEMPI
       +2     M=N/2
       +3     IF(J-M)5,5,4
       +4     J=J-M
       +      M=M/2
       +      IF(M-2)5,3,3
       +5     J=J+M     
       +      MMAX=2
       +6     IF(MMAX-N)7,9,9
       +7     ISTEP=2*MMAX
       +      DO 8 M=1,MMAX,2
       +      THETA=3.1415926535*FLOAT(ISIGN*(M-1))/FLOAT(MMAX)
       +      WR=COS(THETA)
       +      WI=SIN(THETA)
       +      DO 8 I=M,N,ISTEP
       +      J=I+MMAX
       +      TEMPR=WR*DATA(J)-WI*DATA(J+1)
       +      TEMPI=WR*DATA(J+1)+WI*DATA(J)
       +      DATA(J)=DATA(I)-TEMPR
       +      DATA(J+1)=DATA(I+1)-TEMPI
       +      DATA(I)=DATA(I)+TEMPR
       +8     DATA(I+1)=DATA(I+1)+TEMPI
       +      MMAX=ISTEP
       +      GO TO 6
       +9     RETURN
       +      END
       +.DE
       +.
       +.PP
       +And no, you \fBcannot\fR get the IEEE document because IEEE broke it up into pages and sells each page individually.
       +.
       +.DS
       +"PROGRAMS FOUR2 AND FOURT ARE AVAILABLE THAT RUN
       +C     TWICE AS FAST AND OPERATE ON MULTIDIMENSIONAL ARRAYS WHOSE
       +C     DIMENSIONS ARE NOT RESTRICTED TO POWERS OR TWO."
       +.DE
       +.
       +.PP
       +But, this code was easy to port because it was small, so, to this day, we use it.
       +It was ported from Fortran to BASIC, then to C, then to C++ and everything else.
       +.
       +.PP
       +Nobody ever actually understood it, so they didn't fix anything.
       +You see, Fortran has no bitwise operateors, so alot of the acrobatics
       +in that code are just doing bitwise operations in regular math.
       +Its absolutely amazing when you tear it apart.
       +.
       +.PP
       +I got the code from a bad scan of a document off a military ftp site.
       +What I love, and find halarious, is that this code has been ported and hacked a million times since it was written.
       +.
       +.PP
       +But, from the comments, it, itself, is a hack.
       +It is a mash up of cooley and tukeys code.
       +It is a hack, from 1967.
 (DIR) diff --git a/opus5/article-tgtimes-maemo-leste-update.mw b/opus5/article-tgtimes-maemo-leste-update.mw
       @@ -0,0 +1,4 @@
       +
       +.FS
       +https://maemo-leste.github.io/maemo-leste-sixteenth-update-november-and-december-2021-january-april-2022.html
       +.FE
 (DIR) diff --git a/tmac.w b/tmac.w
       @@ -36,7 +36,7 @@
        ..
        .
        .de #1 \"single-column mode
       -.        #p
       +.        #p 1v \\n($Vu
        .        if \\n($C>1 ' sp \\n(.tu        \"run into the trap
        .        ll \\n($Lu
        .        po \\n($Mu
       @@ -46,25 +46,23 @@
        ..
        .
        .de #2 \"two-column mode
       -.        #p
        .        ll (\\n($Lu-\\n($Mu)/2u                \"decrease line length
        .        mk                                \"mark this place as top of column
        .        ie \\n(nlu+\\$1>\\n(.pu \{ .
       -.                ch #B -\\n($Mu
       +.                ch #B -\\n($Mu                \"span over multiple pages
       +.                nr $c \\$1-\\n(.tu        \"height after the next trap is over
        .        \}
        .        el \{ .
       -.                ch #B \\n(nlu+\\$1
       +.                ch #B \\n(nlu+\\$1        \"enough room before the bottom
        .        \}
        .        nr $C 1                                \"1st column begins
       -.        nr $c \\$1                        \"set column length
        ..
        .
        .de #B \"bottom of page trap
        .        ie \\n($C=0 \{ .                \"no column
        '                bp
        '                sp \\n($Mu
       -.                nr $B (-\\n($Mu)
       -.                ch #B \\n($Bu                \"reset bottom trap
       +.                ch #B (-\\n($Mu)        \"reset bottom trap
        .        \}
        .        el .ie \\n($C=1 \{ .                \"1st column ends
        .                nr $C 2                        \"2st column begins
       @@ -75,12 +73,13 @@
        .                nr $C 1                        \"1st column begins
        .                po \\n($Mu
        .
       -.                ie (\\n(nlu+2v)>(\\n(.pu-\\n($Mu) \{ .
       +.                \"if we are at the bottom of a page
       +.                if (\\n(nlu+2v)>(\\n(.pu-\\n($Mu) \{ .
        '                        bp
       -'                        sp \\n($Mu
       -.                        mk
       +.                        #2 \\n($cu
        .                \}
        .        \}
       +'        sp \\n($Vu
        ..
        .
        .de #E \"expand footnotes