CMU Course List

CMU Course List (Project Candela) is released (including next semester courses)! Welcome to post comments/tags/pages to courses!

Project Radiation

Background

I like using Miniflux to read RSS feeds! Miniflux has a very nice web UI to read articles and manage feeds/categories. But sometimes I’m too lazy to open a browser to read news. So I decided to write a simple CLI client using Miniflux API.

Project Radiation

With Project Radiation, you can read news articles directly in your terminal! The program uses a command prompt to select between listing entry list, displaying article content, and switching to next/previous pages. And paging is supported both on entry list and article content. The default action (empty command) is to display the first available article and its consecutive pages, so that normally the only thing users needs to do is press Enter repeatedly. You can see the command prompt being “> “ in normal mode and “(id) >” in article paging mode (activated when an article has more than one page).

External Program

Lynx is used to convert article content formatted in HTML into text strings to display in terminal, and it is called using the exec package.

Conclusion

This is my first project using Go and programming in Go is fun! Returning error is more intuitive than the exception system in C++/Java and helps me write better error handling code, there are many useful packages built-in such as net/http and JSON encoding which is easy to use, calling external program and redirecting its stdin/stdout is easier than manually fork-exec-pipe-dup2 in C, and I implemented most features in Project Radiation faster than I expected.