A man showing documents

Filed under: Artwork/Portraits/Caricatures by Hari
Posted at 21:34 IST (last updated: Thu, Oct 24, 2013 @ 21:34 IST)

A man showing documents

Another comic attempt. A man showing his documents to an officer. What could be the backstory to this one?

Bhima the Warrior

Filed under: Artwork/Portraits/Caricatures by Hari
Posted at 20:42 IST (last updated: Thu, Oct 17, 2013 @ 21:04 IST)

Bhima the Warrior

My impression of Bhima, the warrior Prince, one of the five Pandavas from Mahabharatha. Here Bhima is challenging his arch-rival and cousin Duryodhana to battle.

A second attempt at Ligne Claire style

Filed under: Artwork/Portraits/Caricatures by Hari
Posted at 14:38 IST (last updated: Thu, Oct 10, 2013 @ 15:31 IST)

Here is my second attempt at drawing in the Ligne Claire style as pioneered by Hergé, the creator of Tintin.

Man pointing

Attempt at Ligne Claire style comic

Filed under: Artwork/Portraits/Caricatures by Hari
Posted at 12:41 IST (last updated: Thu, Oct 10, 2013 @ 14:39 IST)

I have been  a big fan of Tintin and Hergé since childhood and I've always admired the clean style of drawings employed in his work. The style is called "ligne claire" (French for clear line) and is a fairly difficult style of illustration (known for its precise lines and attention to details, including backgrounds). Here I've just attempted that style in a single panel. I have a long way to go though! There are some incredibly talented ligne-claire artists out there, and I can only aspire to reach those levels some day.

Ligne Claire style comic

Is Gnome/Udisks mounting your removable media read-only? Check fstab

Filed under: Tutorials and HOWTOs by Hari
Posted at 19:07 IST (last updated: Mon, Sep 16, 2013 @ 19:24 IST)

For some reason Gnome kept mounting all my VFAT/FAT32 external USB mass storage devices as read-only. Frustratingly, I had no idea what was going wrong. After a lot of googling around and poking for solutions, including PolicyKit and permissions related to plugdev, none of which seemed to point to the root cause, I finally edited my /etc/fstab file and guess what! I found these lines in it (I had obviously added them long ago for some reason I cannot recollect now):

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). #
#
<file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/linux-root / ext4 errors=remount-ro 0 1 /dev/mapper/linux-home /home ext4 defaults 0 2 /dev/mapper/linux-swap none swap sw 0 0 /dev/sdb1 /media/usb0 auto rw,user,noauto 0 0 /dev/sdb2 /media/usb1 auto rw,user,noauto 0 0

Commenting out the two lines at the end did the trick and automounting (with read/write) worked again:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). #
# <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/linux-root / ext4 errors=remount-ro 0 1 /dev/mapper/linux-home /home ext4 defaults 0 2 /dev/mapper/linux-swap none swap sw 0 0 # /dev/sdb1 /media/usb0 auto rw,user,noauto 0 0 # /dev/sdb2 /media/usb1 auto rw,user,noauto 0 0

Yes, this seems too obvious at first sight, but I didn't remember that I had added these entries in /etc/fstab at all and moreover, I had forgotten that /etc/fstab can play some subtle tricks with automounting tools.

Hope this bit of information is helpful to anybody else running into this problem.

Musings on Functional Programming and Haskell

Filed under: Software and Technology by Hari
Posted at 11:25 IST (last updated: Sun, Sep 8, 2013 @ 11:50 IST)

Caveat: I am not a computer programmer by profession. I am a hobbyist who loves to dig around programming in my free time. Many of the words used in this essay may not necessarily be formally correct and I invite knowledgeable people to share their feedback.

Since I've been fascinated by Haskell for a while now, I thought this would be a good time to post my general thoughts on Functional programming with respect to Haskell in particular.

To be honest, like most others coming from an imperative (procedural) programming background, functional programming was daunting. There were so many new concepts and some mathematical jargon used in Haskell tutorials that initially put me off, but then I kept digging deeper. I don't claim to understand most of the advanced concepts yet, but I have got a feel for functional programming that I think could act as a basis for future learning.

Haskell is a wonderfully abstract, pure functional programming language with features such as non-strict evaluation and a strong powerful static typing system and a rich set of useful libraries. To understand functional programming, here are some ideas I feel will help newbies (like me). There are a lot of tutorials that introduce FP in terms of purity, referential transparency etc. I assume that you have read those. Here I am going to try to condense my thoughts on how best FP can be understood without getting bogged down in theory.

Without further ado then...

Read more...