song of the software developer – 1

dear faceless bro of mine
i talk to you silenty
through the software
that i write

dear faceless bro of mine
i talk to you silently
through the software
that i write

i strive to reach silently
to you through the
code i write

at times i swim in one small box
a pixel high a pixel wide
and i am lost
semi lost colon lost
dark color coded screens
breaks in code
error screams

i forget

there is a human on that side
my bro my user
he gets lost
from my mind

UI UX they remind
and i rewind

why am i doing this?

to be one
with you faceless bro of mine
to be one
an interwoven world divine
to be one
with my own soul that shines

~ vani murarka

The Apprehensions and Satisfaction of Contributing

On the psychological experience of contributing one’s effort in another’s initiative.

Recently I contributed a few changes to two technical initiatives / GitHub repositories. Huh what?

GitHub is a place where people can collaboratively build code and content. Kind-of like Wikipedia but these are creative initiatives (as compared to information). It is a service used by software developers to maintain and build their code together. The together can be with just about anyone anywhere on the globe (human beings, dolphins not supported yet).

I have been using GitHub for a few months now to maintain my code of OurLib and Geet Gatiroop – but recently I made a few contributions to other peoples’ repositories. The process was psychologically rather interesting (rewarding).

The Apprehension
Am I doing it correct? Am I doing it in keeping with the creator’s overall style of work? It was quite fascinating watching these concerns in me as I went about offering a tiny addition to the technical documentation of a software I have come to admire. It also felt like I am butting-in into someone else’s work!

So one just tries to do one’s best. Observe what is already there and try to offer the change in keeping with the overall approach taken. Then the creator of that initiative can always accept/reject that contribution. Absolutely no hard feelings whatever. How beautiful.

The Satisfaction
It is subtle but immensely satisfying – to have the means to directly help improve a human initiative and make it that tad bit more beautiful – and to go ahead and do it. Then if the offering is accepted, it is a wee bit more satisfying – but the bulk of the satisfaction comes from the doing and offering itself.

One does not have to be perfect. If there are errors (or room for improvement), no issues – someone else can always come along and improve upon your tiny bit.

This is what we are all here for. To hold hands and be one. The साथी हाथ बढ़ाना (saathee haath badhaanaa) ethos.

Helping-Hands

Image credit: Lutheran Church of the Resurrection website.

What Are Your Needs? Explicit Self Communication

… Whereas if you take time to actually sit down and think about, okay for me, personally—and for my family—what is “enough?” … So I explicitly asked myself in a notebook: “What Are Your Needs?”

Explicit Self Communication

Some days back I carried out an exercise in explicit self-communication that was very satisfying.

What do I mean by explicit self-communication?

I write down an explicit (life) question in a notebook and then write the first answer that comes to me. If the answer does not seem to be coming from my authentic self, I just write exactly the same question again. Somewhat like The Little Prince who would not let go until you answered his question. Such an exercise has proven to be very very helpful to me a few times in the past too. Helpful in bringing clarity and comfort to my mind.

For example, the first time I think I communicated with myself in this manner was when I asked myself (and answered), explicitly in writing: “What is my deepest intent?” I do not remember exactly what I wrote first, but for the first few times I kept writing things that did not ring true to me. “To be happy” or “To contribute to society” quite possibly might have been some of them. So I kept repeating the question again and again to myself [in writing]. Finally what came out, as I pushed myself more and more, rang true. I knew completely that it was the true and complete answer (at least at that moment).

The answer that came out was this:

now i am in the middle of the forest

i want to call out to me

i don’t want to use the name the world has assigned to me

yet, i want to call out to me.

here in this forest
i am there somewhere
i can sense myself

yes, that is my deepest intent

to meet me
to embrace myself

yes
yes

I do not perform such an exercise very often (though I do tend to be in the need for mental clarity much more often! ). I do it only when it comes naturally to me to do so. If I do it deliberately, because it is a wise, sensible and effective thing to do and maybe it will help, it invariably fizzles out in no time.

The actual physical writing of the question and answer, in a notebook – I suppose I find it so helpful because:

– there is just so much we can hold in the RAM of our brains, in trying to fix our life problems only by thinking
– a physical act is very helpful, rather than just gallivanting inside the mind only. It gives the feeling that the answer is flowing from somewhere through me, through my arms, fingers and pen onto the paper.
– it gives a sense of conversation which is very satisfying in the end. It feels one has been heard, understood and guided. Heard, understood and guided by one’s own self! How wonderful is that!

While in the example that I cited above, I kept repeating the question to myself, often it is also a matter of accepting the first answer that comes. What is the best choice? We alone are the best judge. This is an exercise that is totally personal. There is no one else involved to say what is right or wrong. I suppose the best indicator of such an exercise is if ultimately it leaves one feeling comparatively much more peaceful and settled than before starting the exercise.

Such an exercise is invariably very friendly, filled with an environment of trust and support. It is almost always carried out due to some frustration, struggle etc., so those feelings are there in the environment of the exercise. But someone [me] is accepting those feelings. In general, it is not easy to accept my frustrations and struggles in a friendly, trusting, supporting manner, when I am trying to just deal with them in my mind. But turning to the notebook, for a conversation with myself, somehow changes the dynamics and atmosphere.

So that was about explicit self communication. A life tool which I have found to be immensely helpful many a times.

But the title of the article starts with:

What are your needs?

Some days back I carried out an exercise in explicit self-communication, where I asked myself, in writing, in a notebook: What are your needs?

The motivation for asking myself this question was because I was at a particular stage of life, at career crossroads. It brought its own generous share of the unknown. The second motivation was a wonderful interview I read. I quote the relevant passage of the interview below:


Pancho: … it’s finding out what is enough? Once you find what is enough in your life, then the rest is abundance. …

AC: … you have to set limits to have a surplus. Our culture does everything it can do to prevent us from defining what enough is in our lives. Because if we don’t set limits, then we always feel like we need more.

RW: Right.

AC: Actually abundance is created by limits. Most people don’t understand that. If you don’t have limits, you’ll never have abundance, because you’ll always need more. Whereas if you take time to actually sit down and think about, okay for me, personally—and for my family—what is “enough?” Once you can be clear about that, then anything you get beyond that, you don’t need. At that point, right then and there, it becomes more than enough—by definition. And when you have more than enough, it’s a surplus—and you can share that, which is wonderful. Right? It actually makes it quite clear.

RW: I’m guessing that “enough” isn’t some stringent kind of austerity, but includes, let’s say, happiness, some kind of meaningful feeling.

AC: Well, yes. I would say “enough” is some way to meet our fundamental human needs. And our fundamental human needs include community and belonging and beauty and spaces that bring us to life—and an engagement with the world that is responsible and healthy. All these things are fundamental human needs, not just “did I eat something today?”


So I explicitly asked myself in a notebook:

What Are Your Needs?

And this is the answer that flowed out –

  • a comfortable pleasing place to live
  • good food to eat
  • decent clothes to wear
  • conveyance
  • health
  • enthusiasm
  • a sense of belonging
  • fulfilling work to occupy my hands and mind
  • companionship. connection and interaction with people.
  • a feeling of having made some satisfying contribution
  • appreciation
  • color – means to travel and do things that bring color and music to my heart and life
  • security – an assurance that my needs will be fulfilled – that what i need will come to me
  • freedom – to do what my heart says, freedom to be myself
  • freedom – from resentment, self-doubt, what-will-he-say/think and other mindsets that prevent me from moving
  • a fulfilling exchange of love and respect with the people in my life
  • connection to nature
  • connection to an internal ठहराव

For the curious reader who does not know Hindi, the best way I can translate “connection to an internal ठहराव” is: a connection to an internal place of stability / an internal home.

Well so my intention is not really to share what my needs are with the world. I just shared this actual list here (and all the other examples here), because I feel authentic examples are important to this article. It is about a true communication from me to you. But they are merely examples, the actual content of which are merely incidentally relevant for the purposes of this article. Your needs dear reader, how you answer this or any other question to yourself, may be somewhat similar and may be in many ways very different. Explicit self-communication is totally about our own self.

My intention is to share this exercise that I did and the experience of it with you, because I found it very worthwhile. Kind of like, I ate a tasty nourishing mango – maybe you would like to eat one too? Or, there is this nice place I visited. Here is the travelogue. 🙂

It sure felt very good and satisfying when I finished writing, when I finished answering: “What are your needs?”. It felt full and complete. There is nothing that I wished to change. Over the course of my life, 2 weeks 2 months later, it might change, but at that moment it was full and complete. At that moment, it just made me feel so “ok” to have said out all my needs explicitly. Rather than live with that constant fuzzy grating sense of not-having and neediness, to know clearly, explicitly, what are my needs.

Here itself in a way was a completion of the exercise. A sense of satisfaction filled my chest as I looked at my writing in the book. The reward was received.

I think explicit self-communication in this manner gives this satisfaction because one expresses oneself freely to someone in a trusting environment and feels the assurance of having been understood. That is something we all seek. The specialty is, one expresses herself to her own self and feels understood by her own self. Now that sure is a nice place to be!

With this particular “What are your needs” exercise, I continued with three more stages, which were also very interesting, revealing and satisfying. I share those with you too.

Where Do I Stand?

After feeling nice and happy and satisfied with myself for some time, I got curious. So where do I stand with respect to each of these needs right now? So I typed it all in Excel, and marked out where I stand with each one of my needs. This is what I came up with.

Green indicates that I feel I do have that “thing”. The length of green indicates the extent to which I felt the need has been fulfilled, with a maximum length defined indicating 100% fulfillment. For example, at the time of exercise, I felt my need for decent clothes to wear had been completely fulfilled. Red indicates that I feel I do not have that “thing” in my life. The length of red indicates the extent of scarcity that I feel. How critical the scarcity is.

Once again, the benefit of marking out where I stand with respect to my needs, was clarity. Right here, in front of me, I could see clearly where my “problem points”, or actually, “scarcity points” were. The red lines and the very short green lines, but specially the red lines. It helped to have articulated it clearly, to get a clear picture for myself – what exactly needed to be addressed. Somehow just a clear awareness of a “problem” many a times sets the ball rolling and the solution seems to happen by itself.

Where Did I Stand?

Then I became curious again. I wanted to see where I felt I was, with respect to these needs, at a particular painful time in my past. A time that still troubled me.

I re-marked the list as per my present perception of where I was at that time in the past.

The result

Now, that is really really nice! Look at the difference, then and now (now meaning the time when I carried out this exercise).

ntnt

I did feel that I have come much further ahead in life (not just in years, but in self-growth) since that time of painful past, but to see it like this sure was a ratification for my own self and my journey. Something to keep on one’s work board as a reminder of one’s strengths and the gifts received from life. Like graduate students are suggested that they keep a copy of their acceptance letter on their work board for times when they are sinking in self-doubt and feelings of inadequacy.

It helps to remind our self that we have made progress.

What can I conceive? What can I receive?

This part was interesting because it revealed the subtle thoughts inside me linked with the fulfillment of my needs.

So of course I want all my needs to be fulfilled. I wanted to see everything in green. However, everything in green of the 100% length conceptually seemed too unreal and plastic. I started marking out each item – to what extent did I consider them to be possible, feasible.

As I did it, this stage held other meanings: What can I imagine/conceptualize is possible for me? What am I comfortable to receive and hold in me?

This was the result. I have marked out the length indicating 100% complete fulfillment for your clarity.

These questions – “What can I imagine/conceptualize is possible for me? What am I comfortable to receive and hold in me?” are significant. They are equivalent to the questions: “Are your doors open?” or in Hindi: “आंचल कितना फैला है?”

If I cannot even imagine something is possible for me, or if I do so with a lot of trepidation, chances are that that itself contributes tremendously from keeping it away. Like, if I cannot imagine coming 1st in class is at all possible for me, chances are almost 100% that I will not, even if I harbor wishful desires for it. So maybe the first thing about the fulfillment of a need – do you think it is at all possible for you? If so, to what extent?

The second: What am I comfortable to receive and hold in me? Our needs or desires being fulfilled has a lot to do with whether our heart and mind is open enough to receive it. When I think of receiving appreciation, if my heart sinks back with sadness, that is an indicator. It is a pointer to something that is there in my heart/mind which likely comes and stands in the way, so that even if appreciation is coming to me, I do not receive it fully. Maybe I feel almost embarrassed and uneasy about it, if someone appreciates me. That indicates something to be looked into a bit deeper.

That is what I felt was the value of this part of the exercise – to mark out what I could conceive was possible for each of my self-professed needs. While I negotiated the length of green against each item that “felt” correct, I became keenly aware of thoughts and feelings inside me which were determining the “correct” length.

Some of the thoughts were almost comical or ironic in a way. Some very revealing to me of my own personality and knots in my heart/mind. For example, I was unable to make the “sense of belonging” any longer because it seemed marking it any longer would mean I am agreeing to merge and sacrifice my individuality. A greater fulfillment of having a sense of belonging seemed to demand that I would have to sacrifice something that I strongly value and have worked hard to freely express. Whether one indeed has to make such a sacrifice for feeling a sense of belonging as a fact or not, is not the point here. That it is an avenue into one’s own thinking pattern, that is the point. The sense of a give and take with an underlying tension that arose while arriving at the extent of fulfillment that I was comfortable with, was interesting, revealing and of value.

This part of the exercise I feel is also valuable as an explicit declaration for one’s self – what can I realistically aim for, as per where I am right now. Later of course, one may update one’s aims. For example, if you earn Rs. 2000 per month right now, conceiving earning Rs. 10,000 may seem more feasible, and something that can be realistically worked towards, than straight-away conceiving earning Rs. 100,000 per month. From that perspective, a diagrammatic representation of seeing all one’s needs fulfilled, to the extent that one is comfortable with, makes for a nice pin-up for one’s vision board.

So I happened to eat a tasty nourishing mango dear reader. Maybe you would like to eat one too? Maybe you would like to ask yourself explicity: “What are my needs?” Or use this manner of explicit self-communication some time, to ask yourself whatever you need to.

With love …


Resume Visualization

A company asked me recently to send them my updated resume.

I enjoy data visualization. Also, I am now trying to simplify my life towards essentials.
So this is what I came up with –


Click on the image for the full hyper-linked PDF version.

I like it for the following reasons:

  • It is one page and elegant.
  • The main information contained in any resume (the education and employment history) is presented as a data visualization. The information is arranged in a manner which visually facilitates the easy assimilation of the information, apart from explicitly reading the text. There are specific reasons why I like this data visualization which I will discuss below.
  • There is room for customization [such as the interests and skills], to tailor the content as per the intended audience.
  • It seems to be more in line with my personality, specially compared to my earlier run-of-the-mill resume.

    Now, a bit more regarding the visualization.

    Various forms of resume visualizations are there on the internet today. Below are some thumbnails. Click on them for the full view of these and other examples.

    In comparison to whichever resume visualization that I have seen on the internet so far, and independent of them too – these are the specific reasons why I like the one that I cooked up:

    • Bereft of excessive visual stimuli, it follows the KISS principle. Thus the objective of a more effective communication does not lose out against the agenda to impress. Infact it is so simple that it may hardly seem like a data visualization, but it is. The layout in fact is essentially the same as the left side of the first thumbnail [if you click it and see its full view]. However, it seems to me that, being visually simpler and more in line with conventional writing of text, makes this layout easier to assimilate.
    • The spatial and color coded arrangement of information has the following impact
      • gaps in education or employment are highlighted
      • relative time spent at each engagement is more clearly apparent.
      • provides space to write about each engagement in keeping with the amount of time spent at that engagement. Thus it encourages one to keep things brief.
      • enables one to see simultaneous engagements. Normally these are listed separately in resumes.
    • Gaps in history and relative time spent in engagements are derived information from resumes that HR specially looks out for. I suppose people in HR become adept at mentally identifying these when they glance through resumes. Such a layout would facilitate things for them.
    • The information that the visualization highlights would be largely apparent even in smaller thumbnail-type versions. Two examples are given below.
    • Lastly, it is made using MS Excel. So anyone can make a similar one using any spreadsheet software. No special visualization tool is required.

    The layout can be tailored to specific individual trajectories and on the choices made of what one wants to highlight. Here are some possibilities:

    • Many people first finish their official education which is followed only by work life. In such a case, a long empty left column may be a waste of space. One can either then keep the learning and working entries in the same column, with different color coding, or use the learning [education] column to mention other professional trainings, certifications, workshops during one’s work life, that the individual may want to highlight.
    • Two ways come to mind for including awards and recognitions.
      • By including an icon [like a star] and relevant text, in the box of the relevant engagement. In this case however, there may not be enough space for mentioning the award/recognition completely, or against the correct year.
      • If learning and working are merged into one column, with different color coding, then space is available for a separate awards and recognition column.

    I offer this layout to you dear reader, in case you want to use in your own resume or in your organization.


  • florence nightingale: an inspiration for art

    In my last post, I shared with you this painting of mine and said that it took shape by itself as I let my hand move any which ways it felt like.

    Its a rather unusual shape for a tree, isn’t it? As it took shape, I realized it was a sub-conscious inspiration from Florence Nightingale.

    How so?

    Florence Nightingale was one of the pioneers of Data Visualization – of presenting statistics as images to make a point emphatically. She collected meticulous data on the cause of soldiers’ death during the Crimean War and created this visualization below. This was way back in 1854! Blue indicates death due to preventable causes, mainly lack of hygiene. Red indicates death due to wounds in war. Black indicates other causes such as accidents.


    This image taken from GuideStar International’s Blog.

    Thus via this data visualization she clearly showed that the majority of the deaths that were occurring seemingly due to war were actually totally preventable by practice of better hygiene. This made a persuasive impact on the British government of that time. It laid the foundation of incorporating hygiene as an intrinsic policy in hospitals. Here is a lovely short video on this topic, which tells us more about this somewhat less known aspect of Florence Nightingale.

    http://www.open.edu/openlearn/body-mind/health/health-sciences/the-joy-stats-the-lady-data-visualisation

    The painting above was made during the days when I was a student of Data Visualization at the university. Regarded as a classic and pioneering example of the efficacy of data visualization, this image of Florence Nightingale’s work came up often in stuff that I read and talks that I attended. Not surprising that it meandered into a painting one day.

    So what is the point of this post? It is this.

    The way art takes shape when I just let it flow – at times it feels divine. The myriad ways in which what I see and encounter in life has an impact on me is fascinating. The impact is many a times not in a manner and direction that one would conventionally expect. That itself makes life so much more richer.

    ~ vani murarka

    Of Languages, Animals and the Kitchen

    a light-hearted take on the visual character of programming languages …

    One of the things that I like about computer programming is to simply just look at the code. To see just what it looks like visually …

    a light-hearted take on the visual character of programming languages …

    One of the things that I like about computer programming is to simply just look at the code. To see just what it looks like visually. No, I am not talking of software visualization, though I enjoy that too.

    When I started programming, every once in a while I used to pause and just see the code, simply for its visual appeal. It was text composed of the same characters that I had learnt since childhood, but looked so different. I did not think of it like that then. Now while writing, I realize that that might be one of the logical sources of my fascination.

    As I discovered programming I wanted to share this wonderful new discovery with others in my life. When I showed my working program to them, I used to want to show the code too. It was so amazing! See, this is what results in this kind of a screen and functionality. It was like seeing the beautiful intricate inner arteries of a body. What an incredible transformation if you considered what the source and result looked like.

    It took no time to notice that people were not interested in inner arteries. The text was too weird to them and they failed to see the fascinating visual beauty of the code. Possibly, seeing the same characters they knew for years looking so foreign was too unsettling. After all, it is not like seeing Spanish for example. The same letters but the words do not make sense. Yet, the words still look like words and the sentences still look like sentences. That is not how it is when looking at a computer program code.

    The way different programming languages look visually, makes me liken them to animals. Their visual look itself lends a character to them and evokes a certain kind of unique feeling-environment when working in a particular programming language.

    In my first job in the computing world, my first project assignment was as a maintenance and documentation person in a COBOL project. I spent the whole day looking at screens that looked like this.

    cobol
    COBOL code sample. Image source: Jeff Whelpley’s Tech Blog

    The whole screen almost completely filled with text. Everything in caps. Aligned vertically. There was no color-coding in those days. Bright green screen, white text, that’s it. It looked so different from C/C++, which was the main language I had learnt in training.

    As I looked at the COBOL screen day after day it seemed like an elephant to me. The heavy (caps) text vertically aligned seemed like the thick legs of the elephant. It seemed so excessively verbose too. The whole program felt visually heavy, like an elephant.

    Looking at C instead was such a stark contrast. So breezy and airy with lots and lots of “whitespace”. The “{“s and “;”s here and there looked like beautiful feathers. The indentations of “if-else”s, “for”s and “while”s seemed like dance steps. C/C++ looked like a peacock to me.

    c code
    C code sample. This code is a token in honor of Dennis Ritchie, the father of the C programming language, written upon his death. Sorry, I lost the image source!

    Good old Assembly Language looks like a snake with its narrow vertical structure. Just the long long list of opcodes and operands. And just as tricky as a cobra mind you!

    assembly language code
    Assembly Language code sample. Image source: here

    These days all my programming time is spent working in Javascript. So what does Javascript look like to me?

    Well when one first starts with Javascript one uses it to do nifty little things on a webpage. Invariably the Javascript code is mixed with HTML. That frankly does not look anything elegant to me. COBOL, even with its heavy look had its own kind of elegance to it. If I had to choose an animal for a code file comprising of Javascript and HTML mixed together, I would choose an ostrich. But come on, an ostrich is appealing. I find nothing aesthetically appealing about Javascript mixed with HTML (or PHP mixed with HTML for that matter). It looks like a cluttered unkempt kitchen to me!

    The HTML tags (or XML tags, or SVG tags, for that matter) look like ugly kitchen jars (the kind that I would never buy if I saw them at Ikea) and the rest of the code is all other kitchen stuff strewn all about. Utensils, vegetable peelings, cleaning rags, what have you.

    Yes when one is doing somewhat more hard-core Javascript programming one creates code files that are only Javascript. That is beautiful. More so when rendered with the beautiful color coding of Sublime Text. This, here, I would say, looks like a gorgeous parakeet.

    javascript code sample
    Javascript code sample from my computer.

    That is why I would any day generate SVG via D3, rather than write SVG itself!

    ~ vani murarka