Sat 26 Feb 2022

Failing in Haskell

Recently I encountered some dubious error handling code. Not only was it failing, it was failing WRONG1. This frustrates me because doing failing correctly in Haskell is quite easy, so why was it implemented wrongly? I believe no-one has addressed failing with an opinion. Plenty people describe the various ways you can fail. But none give opinions on why certain ways are better then others. Therefore I shall share my failing expertise, and describe the correct way to fail in Haskell.

Source: Failing in Haskell, an article by Jappie Klooster.

What I Learned After Using an SSH Honeypot for 7 Days

The idea of using a honeypot to learn about potential attackers came to me while chatting with a friend that had exposed his SSH port to log into while away from home. He had mentioned that Chinese IPs had been attempting to gain access. These attacks reminded me of when broadband internet was introduced and there was quite a few firewall software apps protecting internet users. In these apps, when specific incoming traffic took place a popup dialog would alert you to a possible attack. Today's internet is a lot more advanced with several new attack vectors and running an SSH honeypot would be a great opportunity to get up to speed about the attacks and attackers affecting the internet.

Source: What I Learned After Using an SSH Honeypot for 7 Days, an article by Torrey Betts.

Building a Static Site Generator in Rust

At a high level this is how our static site generator will work.

  • Static site generator will watch content directory that will have a list of markdown files with content
  • It will read all the markdown files and create html file corresponding to them in the public directory. Names of html files will be same as markdown file names.
  • Next, it will generate index.html that will list all the content specific HTML files
  • Finally, it will watch for any changes in the content directory. If content changes then it will generate the content HTML and reload the changes.

Source: Static Site Generator in Rust.