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.
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.