I am a Unix/Linux geek hiding in a corner of Bangalore, India’s Silicon capital. I had in the past created the 2nd OpenSolaris distribution called BeleniX and the first one to get a full-featured GUI (also see: Init 5) based on a near-complete KDE 3.x/4.x port. It also brought in fundamental features into the OS like a compressed loopback device, CDROM layout optimization algorithm using DTrace, I/O Scheduler in the CDROM filesystem LiveCD toolkit and infrastructure which were directly used by SUN in it’s official OpenSolaris distribution. I gave a talk about all this at the First OpenSolaris Developer Conference at beautiful Berlin. You can find my slides here. A report on The Register here.

I was part of the core team in SUN that developed the official distro. Unfortunately none of these were acknowledged and I was completely sidelined. Due to whatever transpired both with OpenSolaris, my life and career changes, this distro sadly is no longer active.

While solving some client issues @ SUN I have also had a good fortune of interacting with the Unix Legend called Brian Kernighan and found a fix for one of the most convoluted pieces of code in the AWK interpreter implementation. A bug with the AWK finite state machine initialization that was present from the day AWK was born and fixed by me after 25 years when a SUN client failed to parse some database logs using it. You can find the patch integrated into Brian’s One True Awk Implementation (see the change log).

I have now moved onto other things like this very interesting Data Compression, Deduplication and archival store project called Pcompress: http://freecode.com/projects/pcompress. I generally have broad interests in Computing covering areas like Operating Systems internals (Unix/Linux), Optimization and Performance, Parallel and Vector computing, Storage etc. I have been in the industry for around 15yrs now and have worked with a bunch of languages like C/C++, Shell/Awk, Tcl/Tk, Java and Python.

Also check out my linkedin profile: http://www.linkedin.com/pub/1/aba/876, my Twitter handle: @moinakg.

Some other interesting bits and pieces:

Myself with another erstwhile BeleniX developer and Aaron Seigo from the KDE project @ Foss.IN 2006

The poster we made when SUN participated @ Foss.IN 2006

A userland NFSv2 server I hacked for read-only access to NTFS and EXT2FS from Solaris.

OpenSolaris LiveCD internals

Hacking the Solaris boot and ramdisk code to support compression Which was lifted again without acknowledgement.

Shady Internals of the X-Server.

Coverage of SUN India Engineering Center with a reference to my BeleniX work.



15 thoughts on “About

  1. Sean Hassett

    Hi Moinak, While following your instructions for installing Solaris SXDE on a system that already had Windows, I accidentally found an easier method. Once I had already installed SXDE on a second partition, before I found your blog. Windows was now unavailable and my HP laptop doesn’t come with a real Windows disk, so repairing wasn’t an option. I didn’t have an MBR backup for Windows, so my plan was to restore a backup. I did the installgrub command in your point 7 and then backed up the MBR. I figured at that stage that I needed to restore Vista from backup and start all over again. I restored my Vista partition, then when I booted, I was totally surprised to see the grub menu offering SXDE and Vista. It even worked, and it was very easy. I now have dual boot, but Vista is not the active partition, Solaris is. I have since installed OpenSolaris on the partition where I used to have SXDE and it worked straight-off without having to tweak anything to keep Vista working. It’s pretty cool to have OpenSolaris and Vista dual-boot on my laptop. Feel free to write to me with any questions.

  2. Sudipto Chanda

    Hi Moinakg,

    Read your profile on LinkedIn, pretty interesting. I too started with the BBC micro in school and the first PC I owned (1990) was a 286!! Been a ‘computer worm’ since then, but have also included behavioral science in my interest area – so maybe I have stopped qualifying as a geek.

    Anyway, it will be good to connect to you.


  3. Matt Garcia

    Hi Moinakg,

    I’m interested in using Belenix, but I had come across some problems. I posted this in the Belenix bug tracking.

    I’ve just installed Belenix on an Hp mini 2133, the installation was
    correct, but when I tried to connect to the Internet assuming that Belenix
    was going to detect my connection automatically it failed. I tried to
    configure it manually, but it seems that Belenix doesn’t support the
    Ethernet device on my Hp mini 2133.

    When I insert an USB it is not detected. Without an Internet connection
    and USB it’s not possible for me to work. What would you recommend me? How
    do I uninstall Belenix?

  4. Ali AYEN

    Hi Moinak,

    I was looking for this file to use NTFS on my OpenSolaris but belenix.org web site was not reachable.

    I did a long search for this file but was not able to locate it from mirrors or personal archives.

    Can you please send this file to me if you have access to? In addition, what can be done to get this distribution available for download again?


  5. Chris Williams

    Good morning. Do you still have a copy of the zsvcadm++ script you did years ago? I am trying to find a copy and Oracle lost it when then did their blog move. Thanks!!!

  6. Bgm0

    You know Pcompress is soo awesome that it could become a FS . Btrfs is trying to include features present in Pcompress. How about a merge of the two ?

    1. moinakg Post author

      Thanks. Though Pcompress is far from being an FS actually a few of the core ideas can be leveraged in existing filesystems like Btrfs. For example the scalable segmented deduplication idea can be leveraged in the volume layer for offline dedupe. The variable-block sliding-window chunking I am using has performance close to fixed-block chunking so it can be used as well among other things.
      So one is welcome to leverage stuff for Btrfs if it helps. I could help anyone willing to do that. I have intentions to evolve Pcompress into a deduplicated archival/object storage appliance with the features sitting within the lower level block I/O layer with some existing filesystem on the top.

  7. Pasquale Puzio

    Hi moinakg,

    I would like to use pcompress as deduplication utility for an academic project. More precisely, I would like to use it from an external program in order to get the sequence of chunks computed by pcompress.

    I’ve already tried to run the following command pcompress 2005.csv -c none -D -EE -B 0 -v but the only I get is an output file which is identical to the input file.

    May I ask you to give me a hint? Is there an “easy” way to do so?


    Best regards

    1. moinakg Post author

      You might want to try this: pcompress -c none -G -B0 -v 2005.csv
      If you do not get any data reduction, then it is likely that no duplicates were found.
      However if you just want to get the chunks computed and displayed, it would need changes to the program. I will add a debug feature to dump a list of chunk boundaries for a given file.

      1. Pasquale Puzio

        Hi moinakg,

        the debug feature you mentioned is exactly what I need. This way I could easily get the chunk list by parsing the output. I hope it won’t take long.


      2. moinakg Post author

        This capability is now available in the git repo. Example use:
        pcompress -c -l1 -G -CC

        You can add ‘2> somefile’ to output the list into a file.

  8. Pasquale Puzio

    Hi moinakg,

    thank you for the fast update. I’ve just tested the new feature and it seems to be exactly what I needed 🙂
    One last question: in the output I’ve seen that some offsets appear more than once. For instance, block offset 0 appears at the first line and in other points of the output (with a different block length). What does it mean?



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s