CRSSR - COBOL RSS Reader (NE Project)
Sat Jan 16, 2021 5:53am

In the time leading up to the baby and whatever free time I've had after, I've been working on a console based RSS reader application written in COBOL. It's been coming along pretty well so far and has been a nice learning experience creating a larger COBOL application.

I'm almost ready for the first release so I figured I would make a post on here about it.

Here's text from the NE projects page about it:

CRSSR is console application that can load and view RSS feeds from the web.
Feeds can be added and deleted as needed. They can also be refreshed on demand
with F5. Existing feeds will automatically pull and update as needed on start
up. Feed items can be opened in the Lynx web browser (if installed) by hitting
enter while viewing the item. Downloaded and parsed feeds can also be exported
to text files by hitting F8 off the main menu.

I know the RSS format is mostly dead these days but I had just implemented the
feature back into the NE Disc App site (original site had RSS feed feature) and
was also looking for a new COBOL project to work on. As both RSS & COBOL are
considered old and outdated by most people these days, it seemed like good
match for a new project on this site.

Screen shots:

Feed List:

View Feed:

Here's a short video I uploaded to YouTube demonstrating the various features of the app.

I should note that the application runs a little quicker when logging is turned off. I have it on in the video to demonstrate the logging functionality. (Logging is off by default and can be turned on and off using command line arg "--logging=[true|false]") Also, I'm sure running a following tail command on the log file doesn't help performance either.

Anyway, feel free to let me know your thoughts or ideas of what could be added/changed. I know a console based RSS reader is sort of a weird idea that most likely no one will ever want to use, but it gave me something to tinker with. :)

GitHub link to source:

    • Released v0.35 - Erik_, Thu Feb 04 2021 7:48pm
      Added a few bug fixes since the original post as well as a command line option to "reset" everything. It will go through and clear out all the dat files. (Useful in case for some reason something gets corrupted). Source & deb pkg on the GitHub release page: more
    • That's pretty cool! - Retna, Sun Jan 17 2021 12:32pm
      There seemed to be a lot of RSS feeds back in late 2000s and early 2010s. I always thought it was a cool idea and wished more websites did it. But yeah, seems like it fell to the wayside at least in the mainstream. Smaller blogs sometimes have RSS feeds. Reader+Lynx is a nice way to stay focused on... more
      • Thanks! I missed out on RSS when it was popular... - Erik_, Tue Jan 19 2021 2:35pm
        It wasn't until I added the functionality to this site that I "got" it. I now even have an account at to keep some RSS feeds! :) Having a bunch of RSS feeds is sort of like having a cross-site Reddit in a way. I'm guessing the web consolidating people more and more into a... more
        • I didn't know about the Old Reader... - Retna, Wed Jan 20 2021 11:59pm
          I might sign up for that. Our conversation got me looking for RSS feeds and I added some to Thunderbird, but I don't usually use Thunderbird and I'm not sure I like it. It's cool to try out old programming languages and see how they were used. Helps give you more perspective. And sometimes thankfulness... more
          • so far. Finding sites that offer RSS feeds are sort of hard to come by. Reddit offers one but reading Reddit in an RSS reader is like using a worse version of the site. haha I've been interested in COBOL since college but never really got into it until the past year or so. (Only ever went as far as... more
            • LISP was pretty interesting - Puckdropper, Fri Jan 29 2021 4:01am
              I got a short introduction to it in our programming languages class. You sure did get a lot of parenthesis, though! Globals can be nice (they're misunderstood) but global to the program is not as useful as global to the module. App Inventor encourages global to the program globals (it has no... more
              • Yeah, with all the parens... - Retna, Sat Jan 30 2021 12:13am
                you need to have an IDE that can help you manage them. Other than emacs I don't know what you'd use for that. That's one of the barriers to entry... you can't just learn lisp. You have to learn lisp and all the tools surrounding it. Are you talking about MIT App Inventor? That "where's my car" tutorial... more
                • It is pretty easy, but with some shortcomings - Puckdropper, Sat Jan 30 2021 3:48pm
                  I wrote a game where you tap the moving ball and it changes color and the next ball appears. When you get all the balls to be the same color, you tap them again and they'll change color once more. They disappear and if you get it done before time runs out, you move to the next level. ... more
                  • Yeah, I could see that... - Retna, Sun Feb 07 2021 12:43pm
                    It'd be cool to have a view/editor that isn't just the puzzle pieces. But having worked with WYSIWYG editors I kind of understand why they wouldn't add that. Once you let users type their own programs you introduce the possibility of syntax and logic errors that can't be shown in the UI. Or the user... more
                    • It would be faster when you knew what you wanted. - Puckdropper, Mon Feb 08 2021 4:58am
                      GUIs are great when you don't know what you want, but the keyboard is superior when you do. They just need some way to organize things to keep things reasonable. I wrote 3-4 subroutines for a high score table, found they worked properly and never needed to touch them again. But I had to scroll through... more
              • I'm not even sure I've seen Lisp code before... - Erik_, Fri Jan 29 2021 12:22pm
                Just checked out a few images. Definitely a lot of parenthesis! :) I think I owned (own?) a boxed copy of Lisp for DOS for IBM XTs... I had a whole bunch of large box 80s DOS software in the mid-2000s that I foolishly got rid of. I think I may have kept the Lisp one though. Probably in my wife's... more
                • I think I get it... - Retna, Sat Jan 30 2021 12:34am
                  Took a bit of parsing but I think I see how it works. That's interesting. Can you pass values or variable references into functions? Or maybe I'm using the wrong word. What do you call the "print-ws-values" and "print-ls-values" areas? Are those procedures? Like could you write a section that displays... more
                  • So in your example, that wouldn't work. You would have to define enthusiastic-text as a variable in either the local-storage or working-storage section and then set it before calling the print-ws-values-with-enthusiasm paragraph. You can call sub programs with passing variables. The variables accepted... more
                    • * Interesting... - Retna, Sun Feb 07 2021 1:03pm
                      So you can use sub programs or functions for code reuse.
"Forces act when not restrained" - Puckdropper