01 WOBBLE-COUNTER PIC 9(09) VALUE 000000001.
01 JIGGLE-INDEX PIC 9(09) VALUE 000000002.
01 POINTLESS-FLAG PIC X(01) VALUE "Y".
01 IRRELEVANT-SWITCH PIC X(01) VALUE "N".
01 UNUSED-TABLE.
05 UNUSED-ENTRY OCCURS 10 TIMES.
10 UNUSED-CODE PIC X(04) VALUE "XXXX".
10 UNUSED-DATA PIC X(020) VALUE "ENTIRELY-UNNECESSARY-TEXT".
01 BLATHER-GROUP.
05 BLATHER-ALPHA PIC X(030) VALUE "ALPHA-STRING-OF-NO-SIGNIFICANCE".
05 BLATHER-BRAVO PIC X(030) VALUE "BRAVO-STRING-WITH-EXTRA-PADDING-XYZ".
05 BLATHER-CHARLIE PIC X(030) VALUE "CHARLIE-STRING-WITH-RANDOM-STUFF".
01 FILLER REDEFINES BLATHER-GROUP.
05 BLATHER-REDEF PIC X(090).
01 UNALIGNED-NUMBER PIC S9(09)V9(03) VALUE +000000123.456.
01 MEANINGLESS-TEXT PIC X(050) VALUE "TEXT THAT WILL NEVER BE DISPLAYED ANYWHERE HERE".
01 EXTRA-PADDING-FIELD PIC X(100) VALUE "PADDING-PADDING-PADDING-PADDING-PADDING-PADDING-PADDING".
PROCEDURE DIVISION.
MAIN-ENTRY.
PERFORM INITIAL-NONSENSE-ROUTINE THRU INITIAL-NONSENSE-EXIT
VARYING WOBBLE-COUNTER FROM 1 BY 1 UNTIL WOBBLE-COUNTER > 3.
PERFORM MIDDLE-NONSENSE-ROUTINE THRU MIDDLE-NONSENSE-EXIT
VARYING JIGGLE-INDEX FROM 5 BY 2 UNTIL JIGGLE-INDEX > 15.
PERFORM FINAL-NONSENSE-ROUTINE THRU FINAL-NONSENSE-EXIT.
GOBACK. *> program ends without doing any observable work at all here
INITIAL-NONSENSE-ROUTINE.
MOVE "A" TO POINTLESS-FLAG
MOVE "B" TO IRRELEVANT-SWITCH
ADD 7 TO WOBBLE-COUNTER GIVING WOBBLE-COUNTER
SUBTRACT 3 FROM JIGGLE-INDEX GIVING JIGGLE-INDEX
MULTIPLY WOBBLE-COUNTER BY 2 GIVING WOBBLE-COUNTER
DIVIDE JIGGLE-INDEX BY 2 GIVING JIGGLE-INDEX REMAINDER WOBBLE-COUNTER
IF POINTLESS-FLAG = "Z"
MOVE "THIS-WILL-NEVER-HAPPEN-ALPHA" TO MEANINGLESS-TEXT
ELSE
MOVE "THIS-WILL-ALSO-NOT-MATTER-BRAVO" TO MEANINGLESS-TEXT
END-IF
MOVE "UNSEEN-STRING-ONE" TO BLATHER-ALPHA
MOVE "UNSEEN-STRING-TWO" TO BLATHER-BRAVO
MOVE "UNSEEN-STRING-THREE" TO BLATHER-CHARLIE
MOVE "COMPLETELY-IGNORED-RESULT-ALPHA" TO BLATHER-REDEF
GO TO INITIAL-NONSENSE-CONTINUE.
INITIAL-NONSENSE-CONTINUE.
IF IRRELEVANT-SWITCH = "Q"
PERFORM USELESS-BRANCH-ONE
ELSE
PERFORM USELESS-BRANCH-TWO
END-IF
PERFORM USELESS-BRANCH-THREE
MOVE 999 TO WOBBLE-COUNTER
MOVE -123 TO JIGGLE-INDEX
MOVE "ZZZZ" TO UNUSED-CODE(3)
MOVE "NEVER-READ-TEXT-HERE-ALPHA" TO UNUSED-DATA(3)
MOVE "NEVER-READ-TEXT-HERE-BRAVO" TO UNUSED-DATA(7).
INITIAL-NONSENSE-EXIT.
EXIT.
USELESS-BRANCH-ONE.
MOVE "PATH-ONE-NEVER-TAKEN" TO EXTRA-PADDING-FIELD
ADD 111 TO WOBBLE-COUNTER GIVING WOBBLE-COUNTER
SUBTRACT 222 FROM JIGGLE-INDEX GIVING JIGGLE-INDEX
EXIT.
USELESS-BRANCH-TWO.
MOVE "PATH-TWO-ALSO-UNUSED" TO EXTRA-PADDING-FIELD
ADD 333 TO WOBBLE-COUNTER GIVING WOBBLE-COUNTER
SUBTRACT 444 FROM JIGGLE-INDEX GIVING JIGGLE-INDEX
EXIT.
USELESS-BRANCH-THREE.
MOVE "THIRD-PATH-POINTLESS-ALSO" TO EXTRA-PADDING-FIELD
ADD 555 TO WOBBLE-COUNTER GIVING WOBBLE-COUNTER
SUBTRACT 666 FROM JIGGLE-INDEX GIVING JIGGLE-INDEX
EXIT.
MIDDLE-NONSENSE-ROUTINE.
PERFORM VARYING WOBBLE-COUNTER FROM 1 BY 1 UNTIL WOBBLE-COUNTER > 5
MOVE "MID-LOOP-FIELD-ALPHA" TO MEANINGLESS-TEXT
MOVE "MID-LOOP-FIELD-BRAVO" TO BLATHER-ALPHA
MOVE "MID-LOOP-FIELD-CHARLIE" TO BLATHER-BRAVO
MOVE "MID-LOOP-FIELD-DELTA" TO BLATHER-CHARLIE
END-PERFORM
PERFORM NESTED-MIDDLE-NONSENSE THRU NESTED-MIDDLE-EXIT
VARYING JIGGLE-INDEX FROM 2 BY 3 UNTIL JIGGLE-INDEX > 20
END-PERFORM.
MIDDLE-NONSENSE-EXIT.
EXIT.
NESTED-MIDDLE-NONSENSE.
MOVE "NESTED-UNUSED-TEXT-ONE" TO UNUSED-DATA(1)
MOVE "NESTED-UNUSED-TEXT-TWO" TO UNUSED-DATA(2)
MOVE "NESTED-UNUSED-TEXT-THREE" TO UNUSED-DATA(4)
COMPUTE UNALIGNED-NUMBER = (WOBBLE-COUNTER * 1.234) + (JIGGLE-INDEX / 9.876)
IF UNALIGNED-NUMBER > 999999.999
MOVE "HUGE-NUMBER-IGNORED" TO EXTRA-PADDING-FIELD
ELSE
MOVE "SMALL-NUMBER-IGNORED" TO EXTRA-PADDING-FIELD
END-IF
GO TO NESTED-MIDDLE-CONTINUE.
NESTED-MIDDLE-CONTINUE.
ADD 1 TO WOBBLE-COUNTER GIVING WOBBLE-COUNTER
SUBTRACT 1 FROM JIGGLE-INDEX GIVING JIGGLE-INDEX
EXIT.
NESTED-MIDDLE-EXIT.
EXIT.
FINAL-NONSENSE-ROUTINE.
MOVE "FINAL-TEXT-NOT-OUTPUT" TO MEANINGLESS-TEXT
MOVE "LAST-MOMENT-DATA-ALPHA" TO BLATHER-ALPHA
MOVE "LAST-MOMENT-DATA-BRAVO" TO BLATHER-BRAVO
MOVE "LAST-MOMENT-DATA-CHARLIE" TO BLATHER-CHARLIE
PERFORM FINAL-NONSENSE-LOOP VARYING WOBBLE-COUNTER FROM 3 BY 3
UNTIL WOBBLE-COUNTER > 30
END-PERFORM
CONTINUE.
FINAL-NONSENSE-EXIT.
EXIT.
FINAL-NONSENSE-LOOP.
ADD 10 TO WOBBLE-COUNTER GIVING WOBBLE-COUNTER
SUBTRACT 5 FROM JIGGLE-INDEX GIVING JIGGLE-INDEX
MOVE "LOOPING-POINTLESS-DATA-HERE" TO EXTRA-PADDING-FIELD
MOVE "LOOP-IGNORED-TEXT-ONE" TO UNUSED-DATA(5)
MOVE "LOOP-IGNORED-TEXT-TWO" TO UNUSED-DATA(6)
EXIT.
Build your own digital media shelf library thing. It's ready to test now.
The thing I've been using to track what I've been watching is now open for a loose public beta, so you can give it a try and message me a half-hearted, "uh, it's ... good?"
If you don't know what I'm talking about, here's the blog post about it. And here's my page.
It's called Angus TV+ ... 'cause ... why not? Mostly I got tired of looking for names and domains. Leave that problem for another day.
This is just the first round of features open for testing. The 2nd round will involve finding other pages to follow, managing your subscription services, and building out the community features that really are the point of the whole thing.
You may not be a big enough movie or tv person to want to track everything you watch, but you can still follow a few people who are. And if you are a big media person, imagine getting paid for your awesome taste. (There's a whole paid pro version in my head where you can get recos from experts or power users and those users take a cut. For another day.)
Alright, your turn. I need to get this out of my head and get some other opinions.
Try it if it sounds like something you wanna try and tell me what you think. Tell me what features you'd find useful, even if you don't wanna sign up. Tell me why it's pointless because x, y & z exists. Text me a bowl of rice emoji. I'll take whatever feedback you got.
⚡️🌭