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.
Woah, the theme changed. This site got a custom rebuild and a lot more varied content, including different looks for each section. And there's more!
So I guess this is my contribution to improving the whole internet ... thing.
In a world trying to turn you into a zombie by feeding you AI slop through an algorithm designed to keep you angry and addicted, I’m going in the opposite direction. A good ol’ giant pile of bullshit just for those who know about it.
This is a site that you can open now and then, kill a bit of time, see nothing important, and go on with your day without feeling like you need a shower.
The last iteration of this site was a basic blog about startups and projects. But the initial reason I chose the .plus domain and name was to have different topics after the 'plus'. Angus + Dinner. Or Angus + Crushing Existential Dread. And as you can see by the title at the top of this page, I'm finally realizing that vision.
And, ok, it was also called Angus+ because all of the streaming services were doing it and I either wanted to mock them or be them. Hard to tell sometimes.
But it was also about being a better person. Me, but one better. Like Angus++ but the second plus was still to be determined.
Anyways, I'm combining all of that now. Multiple, distinct topics. More content of many varieties, serious and not. And a place to talk about levelling up. (A self-improvement section will surely follow at some point, but not just yet.)
As you may have seen from the front page, there are four sections right now. More will hopefully follow. (I left space!) The first four are:
Business of Tech. This is what the old angus.plus was, mostly. Short blog-style articles with ideas for startups or thoughts on software, the internet and how we can make it all better.
Words, Code and Colours. ← You Are Here Less big picture and more nuts and bolts. What I’m building, why I’m building, and how I’m building. This is where I can think out loud, but also talk about the details of projects or programming or design without worrying if anyone cares or gets bored. Only walk in here if you want to see the frog cut open.
Stuff. My take on product reviews. You know those reviews where the reviewer got the thing for free and only used it for a few days? Not that. Or those 'best of' lists with generic copy combined with affiliate links? Not that either. Expect reviews on stuff I've actually used for a while as a real human person, for one. And pre-purchase rundowns of alternatives I won't buy, and why.
And then there's one special / temporary / experimental / wtf-is-that section:
Exhibition G. The first Special Exhibit. This one is a kind of take on micro-blogging. Think early 2010s Twitter if there was only one person using it. There will be something new here every day for its duration but each post fades a little each day and after ten days, poof, they're gone never to return.
So ... it's a blog? And a social network on which I'm the only one with write permissions? And also an entertainment website? And there's a museum vibe as well, where you have permanent collections, and temporary exhibits. It's all over the place and that's the plan. I want the creative freedom to try new things and see what sticks. And most importantly, it's a place I can enjoy myself on the internet. Because anywhere else you can post content is, uh, not ... fun.
Whenever I posted something new on the old site, an email went out to many people. Not many many people but many people. More people than I'm generally comfortable speaking in front of. (More people in front of which I'm generally not comfortable speaking? That can't be right.) Because of the email list, I sometimes never posted topics because I didn't think they were formed well enough to take up a spot in all those inboxes.
To solve that problem, I've moved to a digest-style newsletter thing. It'll go out probably monthly at most and have all the new content in it. If you were on the list for the old emails, you'll get these now instead. If you're reading this, you probably already got the first one.
If somehow you got here and you're not on the list, you can keep tabs on everything new by signing up for the monthly-ish newsletter here.