Monthly Archives: March 2014

Review for Osanda Malith’s Browser Freak utility

Automation is a practice and a skill that every IT professional should exercise. In penetration testing and security checks, automation is more than that; it is essential. Boring, tiring, repeated tasks, and tasks with many steps, if not left to … Continue reading

Posted in Security

MasterMind solver

In July 2003, I wrote a blog post titled “An Excel VBA macro that solves MasterMind”. In that blog post, I presented a program that solved MasterMind. I wrote the program in VBA and it runs inside Excel. It is … Continue reading

Posted in Development

From SkyDrive to OneDrive

Now that SkyDrive is named OneDrive, you may have to update the HTML pages where you publish the links of everything you share from OneDrive. There is no need to change anything on your OneDrive and on your shares. The … Continue reading

Posted in Administration

Trees as Monads

We first encountered trees in Haskell in my blog post titled “Trees in Haskell”. In that blog post we studied binary trees. Then we continued our study of binary trees in my blog post titled “Examples of Functors in Haskell”. … Continue reading

Posted in Development

The difference between function application and bind in Haskell

If you have read my blog posts so far, you will have understood the difference between normal function application in Haskell and the monadic bind (>>=). What I essentially talk about, is the difference between f x and x >>= … Continue reading

Posted in Development

The List Monad

Like Maybe, [] is also a type constructor elevated into a Functor, Applicative, and Monad. The code that turns [] into a Functor follows: instance Functor [] where    fmap = map The previous code can be written equivalently: instance … Continue reading

Posted in Development

The Maybe Monad

Maybe is predefined and built in Haskell. Maybe is a type constructor whose definition is built-in as: data Maybe a = Nothing | Just a Its meaning as a type constructor is that Maybe accommodates cases where there might be … Continue reading

Posted in Development