Process Monitoring
Brief
In linux, all the information about running processes is stored in the proc file system. This means that making a process monitoring application is as simple as navigating and parsing the information. A perfect job for haskell!
This idea is to make a process monitor, but maybe have some fun with the way that the data is presented. Here are some of our presentation ideas:
The classic option! There are loads of appliations that do this: htop, btop, gotop, etc. Feel free to make your own!
Maybe you are the admin for some important server? How about a discord bot that lets you query things like:
What's my CPU?
Which of my servers are struggling?
Or perhaps alerts you if a threshold is hit for CPU/memory usage.
"Hey siri! What's my CPU usage?"
Maybe it would be useful to browse the programs running on the system via a website? Then linux administration can be done from your mobile phone!
Extensions
Support more than one presentation option
Support more than one OS
If you implement a terminal presentation, go crazy with customisation/graphics
Helpers
Attoparsec (fast parsing library)
Brick (Terminal User Interfaces)
optparse-applicative (Commandline Parsing)
discord-haskell (Discord API Bindings)
calamity (Also Discord API Bindings)
optparse-applicative (Command Line Parsing)