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.
It starts as a list of all the stuff I watch. It ends in a way yet unwritten.
Back in February, I wrote about creating simple apps for yourself using no-code tools. The last example was a simple automation to record everything I watch, with ratings.
I've expanded that concept a bit, and now you can see the results.
My list as of the beginning of 2024 is live now. You can see it at tv.angus.plus.
The public view is very simple – it's just a grid of stuff I watched. As the list grows, I'd like to add more ways to slice and dice it. Filters and sorting, of course. Maybe some playlists or randomizers.
I also want to add an 'equivalent rental cost' where the amount you pay for the subscription is divided amongst what you watch. I'm not sure how I'll do the math on that when it comes to serieseses.
On the backend, there's a TVDB integration and a search / add that makes it really quick to add stuff. It looks like this:
What goes in the review box isn't shown publicly yet.
Sign-ups will be enabled one day and you'll be able to create your own directory if you want.
But then...
The bigger idea would be a country-specific (e.g. Canadian-only), Goodreads, and possibly Medium combo.
Other ideas:
There are great services out there already like https://letterboxd.com and https://likewise.com and probably a dozen or more others. I haven't seen a good one just for Canada yet so if you know of one or have a good source of Canadian recommendations, lmk!
More to come.
Update: you can sign up now and create your own page!