Software Crafter


About me

Software crafter, Brick builder, full time Dad, Tea drinker, vi user.

I'm a passionate software engineer, with broad experiences and interests.


Simple time with Hourglass

Each time, I’ve used the time API in Haskell, I’m left with the distinct feeling that the API is not what I want it to be. After one time too many searching the API to do some basic thing, I’ve decided to look at the design space and just try implementing what I want to use.

Listing licenses with cabal-db

Following discussions with fellow haskellers, regarding the need to be careful with adding packages that could depends on GPL or proprietary licenses, it turns out it’s not easy to get your dependencies’s licenses listed.

unix memory

On unix system, we get access to syscalls that maps files or devices into memory. The main syscall is mmap, but there’s also some others syscalls in the same family to handle mapped memories like mlock, munlock, mprotect, madvise, msync.