Skip to main content

On Resilience and Persistence

resilient

Kushal Das, on developing his writing chops …

It boiled down to one thing. One has to write more. This is no short cut. So, I tried to do that throughout 2017. If I just look at the numbers, I wrote 60 blog posts in 2017, which is only 7 more than 2016.

Austin Kleon, on trying to get his son to draw …

Several times a day since October, ever since the Halloween decorations went up, my two-year-old son Jules has asked my wife or me to draw him an “x-ray.” (That’s his word for skeleton.) … We’ve drawn hundreds of skeletons for him, over and over and over again. He flat-out refuses to attempt drawing one for himself.

Seth Godin, on doing the work

Slow and steady The hard part is “steady.” Anyone can go slow. It takes a special kind of commitment to do it steadily, drip after drip, until you get to where you're going.

Several times, during my programming journey, I tear my hair out over things I just do not understand. I fall off the wagon due to ill health. I’m old; no match for today’s young, smart, kids I feel so dumb, like I’m not cut out for this.

Yet, I have dreams. I have ambition. I’ve loved the way software has changed my life and I’d love to solve people’s problems by doing the same thing I have my back against the wall, literally, in terms of the risk, this current change entails. I want, nay, yearn to do this.

And the three wise men above, give me hope.

Here’s Kushal, on the results of his year long writing journey

Did your writing skill improve a lot?

The answer is no. But, now, writing is much more easier than ever. I can sit down with any of my mechanical keyboards, and just typing out the things on my mind.

If I just look at the numbers, I wrote 60 blog posts in 2017, which is only 7 more than 2016. But, the number of views of the HTML pages, more than doubled.

And Austin, on when his little one, started to draw

What happened? What convinced him it was time? The construction paper and the markers have been there at his disposal for months. Was it that we had visitors in the house for Christmas? I can’t come up with any convincing external factor that might have caused him to finally pick up the marker. He just decided he was ready.

As is so often the case with parenting, you do the same Sisyphean, seemingly meaningless task over and over again, wondering when the heck it will add up to anything.

And then, one day, often without warning or fanfare, the meaning arrives, and you still can’t believe it.

After all, you don’t get to blog post 7000, in a day. You do it one day at a time, drip after drip after drip.

The secret to writing a daily blog is to write every day. And to queue it up and blog it. There is no other secret.

And so, I grind away, filled with hope.

Do You PEP?

Short new series for me. Quick and Dirty Programming Posts They’ll be tagged qdpp. They’ll be raw, error prone and mostly works in progress.

A few reasons - to help me write for a few minutes (publicly) daily. I’ve realised slow and steady is a good way to build a body of work, (Godin, Kushal). Even if the beginning is slow and shitty. - to save myself searching the web for stuff I need to have handy. - these are primarily for me, and me alone. If they help you as well, that’s a bonus!


Let’s start with PEP.

I’ve learnt that to learn anything well, it’s best to learn from the source. Go to the well. Don’t read about the Black Swan, or try to figure out from blogs what Antifragility is. Go read the darned Incerto! So when it comes to programming, I should do the same.

use-the-source-luke1


And everytime I learn something new with Python, I’m referred to a PEP as the source.

  • When is Python 3.7 out? Check the PEP.
  • What on God’s green earth are docstrings? Check the PEP.
  • Will PyPI crumble under its own weight? Or will there be redundant options? Check the PEP.
  • How do you write Python so that it’s comprehensible? Readable? Is there a style guide of sorts? Check the PEP.
  • A short treatise on what Python is about? Its Zen if you will? Check the PEP.
  • What is a PEP? Go, check the PEP!

So, a PEP (Python Enhancement Proposal) is a design document, - providing information to the Python community, - or describing a new feature for Python or its processes or environment. They’re worked on, one itty bitty version at a time. You can see how they come alive and grow here. They describe standards, share information, and describe processes on things other than code too (like PEP-8)

And as to why, the very first one explains it much better than I ever could.

So if you must know, where the Python rabbit hole conclusively ends, it most probably does in a PEP.


  1. Image source: https://adastraerrans.com/archivos/use-the-source-luke.png 

Dad, 75 Years, In Memoriam

_MG_9564


Dad was what Brett McKay calls, both a good man and good at being a man.

I could write reams about my father, but I wouldn’t know where to start.

He gave me life and then has been my sustenance ever since.
He’s the source of everything that’s good in me.

His deep baritone, echoed in our fledgling church as we sung hymns every Saturday.
When I close my eyes and remember my early years, it’s his voice that sings me rhymes and lullabies.
Our love for music and song flow from that voice.

He was an artiste and master craftsman.
While he plied his trade as a carpenter, he could build a beautifully functional anything.
Our home used to be filled with carvings of little animals he made.
Speakers, he built, filled our home with music and song.
School books used to be adorned with his sketches (as was my homework)

mickey-1


There’s a Mickey on my bookshelf door that smiles at me, everyday.
I write these words on a table he built 25 years ago (as he did everything else at home.)
Mom never had to worry about knives or dressing tables.

If there was anything that needed doing, he’d do it.
A grassroots worker, he helped build up two little church congregations.
He helped people around in our little chawl.
“Uncle” was always helpful with time and money and chocolates for little ones who always seemed to find him, wherever he was.

He was a giver and a doer.
A Good Samaritan of the highest order, he’d give the shirt off his back if he could.
Be kind to those in need is something he lived and imbued in us.
Folks call me a sentimental fool at times.
And I’m proud! My father taught me that.

The more I live my life, the more I realise I’ve imbued so much of him.
The curiosity to always learn something new.
The strength to endure whatever life throws your way.
Valuing family over everything else.
Being kind.
Amor Fati.

And to paraphrase Brett again, as I think of the life my Dad led, as I think of the shade he sheltered me in, I’ve a painful yearning to return home.
The Greeks called this nostalgia.
And while my heart aches for that time, it’s a good ache.
I’m glad I have those memories and I’m indebted to Dad for giving them to me.


On My First Project

noun_1067223_tiny


Being laid up sick in bed is never fun. Yet, serendipitously, it was the being laid up, that gave me time to focus and complete my first Python program.

We were to make a project, that combined what we’d learnt so far at DGPLUG.

So to me that was: - Markdown (or RST; I chose Markdown) - Git (my bugbear. I still can’t quite wrap my head around it) - and Python.

So I created a spanking new repo for my crazy, one off projects at Github. Created a license, because, well because Anwesha says you ought to, and even shows you how to. (and it’s generally a good thing any way :)

That, out of the way, I used my ninja Markdown skills (honed by writing here :P) to whip up a little README

And then started the slog.

While I have been learning the basics of Python, like a child learning shapes; moulding what I have learnt into some semblance of a logical thing is darned hard.

I’d read somewhere about the Golden Mean and it’s relation to the Fibonacci sequence, so I thought I’d write a mini text adventurish romp as my first project.

It took me the whole day! I typed and it did not run. I fixed typos. I fixed colons. I fixed quotes. I tore my hair out. And I typed some more. And I fixed some more. Oh, and all the while, I was trying to push it up to Github as well. (with varying degrees of success)

But in a lot of ways, it reminded me of the time, I spent learning photography and basic editing. I was moving sliders and figuring curves and creating needlessly large TIFFs all over Lightroom

And gm.py reminds me of the first time a photo came out right. I don’t quite know how I did it then and I don’t quite know how I did it now. The recipe’s ugly. But the photo looked good. And the program does run.

Which brings me to how I look at a photo today. I can instinctively tell, what needs cropping, if I need to make white balance adjustments, whether the exposure needs tweaking, if I can pull detail out of the shadows. And my newbie-ness wasn’t that long ago.

I wish myself the same level of competence when it comes to programming. Onward!

You can find the repo and my first program here.


On Free & Open Culture; Some Resources

Note: This is for the Student Planet.
Please read this on the blog.

At the dawn of computing …


Last night, over at DGPLUG, Kushal gave quite a heart rousing talk on the history of Free Software, covering quite a bit about Richard Stallman and the events leading up to him (RMS, not Kushal) launching GNU & the FSF.

If you’re interested in reading more about that sort of thing, here’s a few more books & resources.

Free as in Freedom

The seminal book is of course, Free as in Freedom, on RMS’ life and the massive base he built, upon which we all stand today. Reading this made me realise what a debt we owe to him. So the next time we hear about how old & weird Stallman is, maybe we could cut him some slack.

The Groklaw Archives

Did you know, that the SCO Group once brought a case against IBM, suing them for using Linux? It was a large, long drawn out affair, 1 drawing old heavyweights such as Novell and new upcoming ones like Red Hat, into the fray. If SCO had won, it would have been the end, of the just barely decade old Linux and our landscape would not have been as rich as it is today.

We know all this, because of the daring and intrepid, Pamela (PJ) Jones, who started up one of the earliest blogs on the internet. It was called Groklaw, and it was …

a place where lawyers and geeks could explain things to each other and work together, so they'd understand each other's work better1

It brought awareness of the case to a wide swathe of people and Linux into the mainstream. The bar on the left of the site, gives you access to a whole lot of cases threatening Linux, and the news and views of the people in the know

A Quarter Century of Unix

A short, really influential book on Unix History by Peter Salus.
I don’t quite know how you can lay hands on a copy, but if you do, it’s fascinating. Nearly every article, every blog post, every book that needs something on the history of Unix, pulls a quote from this one.

The Daemon, the GNU & the Penguin

Salus’ follow up book, following Unix History on to Linux, is available to read on the Groklaw website. You can think of it as an expanded version of Kushal’s talk last night.

Open Sources

Want to hear from the people involved in the free software movement?
From the horse’s mouths themselves? Open Sources is a collection of essays from the folks who were there. Marshall McKusick, author of the BSD filesystem narrates how BSD went on to be free from AT&T ownership and Free as in Freedom.
RMS tells us about GNU himself.
Bob Young, founder of Red Hat, expounds on how the company set itself on the path to becoming a business on the back of free software.
Linus, tells us of the edge, Linux had, to become successful.

Producing OSS

Karl Fogel’s book, on why we write free / open source software and how to pitch it in your organisation

This is all that comes to mind, right now. If you know more, let me know or write about and I’ll update the page or link to yours.


Updates:

In the Beginning was the Command Line

Neal Stephenson’s essay on why Free Software would eventually win. (chock-full of history and analogy)
It’s dated and hasn’t quite panned out as he wished, but is still a fun read!


  1. from the FSF article at http://www.fsf.org/news/2007_free_software_awards 

Struggling with Git

Git png


Just went through the second chapter of Git Pro. Slowly getting the the hang of this.

Love the fact that most git commands are just unix commands prefixed with git

git rm git mv

and so on.

My head’s still mush, but more practice should help.

Onwards

On Whether I Should Buy That Expensive (or Cheap) Book

“When I get a little money I buy books; and if any is left I buy food and clothes.”

Erasmus

Most of my tech knowledge, I taught myself. Ok, small correction. I have been taught. By people. By people, living and also the eminent dead.

I learnt philosophy is just thinking intentionally, and a good way to live, from a Roman Emperor. I learnt about personal finance from a guy who distilled his own life experiences and 20+ years on radio. I learnt about investing from some guy. And then I went and learnt about the importance of Mental Models in life, from the same guy (as did the CEO of Dropbox.) I’ve learnt about the importance of community and giving recently, from a guy I’m in frequent touch with. The only reason you’re reading this, is because I learnt Markdown from the guy who wrote it.

So, yeah, reading is important. Books help us do the work required to have an opinion.

That brings us to whether I should be buying that book I’ve been eyeing or not. The best reason to buy, like Taleb points out, books let us learn and you never know what you’d want to learn

… a private library is not an ego-boosting appendage but a research tool. Read books are far less valuable than unread ones.
The library should contain as much of what you do not know as your financial means, mortgage rates, and the currently tight real-estate market allows you to put there.
You will accumulate more knowledge and more books as you grow older, … — Nicholas Nassim Taleb (Antifragile)

And as to whether you should do it, that can easily be explained, like Ramit Sethi does in a 140 characters

Slightly more detail in Rule 3 of this article. Like the ad says, “An idea can change your life!” Books unequivocally, are the best source of ideas.

So what are you waiting for? If there’s a book you’ve been wanting to read, go buy, beg, borrow or steal it!

On Starting Summer Training at #dgplug

I started out with a very vague idea, of learning programming last year.

I went to Pycon India, fell in love with the community, decided to learn software, and came home all charged up. (Btw, I was so intimidated, I did not speak to a single soul.)

The plan was to sort personal issues, tackle a couple of major work projects so that I could then focus on learning, clear the decks and go full steam ahead come April.

While I made headway, I was also missing the hum and bustle of Pycon that had so charged me, but I did remember one session I attended, that had left me smiling was a sponsored talk of all things, by a certain Mr. Das. Off the cuff, naturally, warmly delivered.

So as I was looking for … someone to talk to, somewhere to belong, who comes along but Santa Das.

While that trip didn't quite happen due to personal reasons, we still kept in touch. (Why he would do that with a newbie-know-nothing like me, I don’t know. The man has a large heart.)

And when the new session of #dgplug was announced, I jumped at the chance!

To those not part of the dgplug summer training, read all about it here. The brave1 souls at the Linux Users’ Group of Durgapur take in a bunch of kids (and adults) who want to learn all about the magical world of software programming and give them tools with which they can paint on that vast canvas.

Our goal is to bring in more upstream contributors to various FOSS projects.
Through this training we show the path of becoming an upstream contributor.

— from the DGPLUG summer training page

Communication skills, free software projects, documentation, system administration, source code management, time management, conference proposals and obviously basic programming – the whole gamut is covered here.

So while any odd duck can learn on their own, the DGPLUG summer sessions will help you become a well rounded individual who can code and contribute to the world. A software finishing school, if you will :)

Kushal and the training and it’s successes have been featured in opensource.com time and time again.

A look at the guest speakers (including the all father of Python and the cream of the Indian Developer community) should be enough to convince you to come join.

It’s only been a week, and I’ve been having a ball! We covered communication skills, touch typing and the vi editor this week! If you hurry, you can catch up and work with us.

And for my new #dgplug family, here’s a little something, something2 about me to close this post with …

  1. Yes, I am obviously hiding my big, fat tummy in the pic. :) 3
  2. I’m like a poor man’s, still failing James Altucher.
  3. Yes, I’m a lot older than most of you. :) 4
  4. I’ve been at this IT thing a long time. (since 1997, in fact.) 5
  5. And yes, only now do I get the bright idea to learn software.
  6. I love the fact, that I get you to be my plus-minus-equal.
  7. You folks make me feel all warm and enthusiastic and welcoming and make me feel like I found my tribe!
  8. I’m still head over heels in love with my better half, and live with her in a cozy li’l Thane (Mumbai) home, not far from my parents :)

I look to learn so much from you and know so much more of you over the coming months. I wish you all make good art!


  1. (& foolhardy, dare I say :P ) 

  2. My grandma says that :) 

  3. dropped 7 kgs to 89. Only another 20 to go! 

  4. not necessarily wiser :P 

  5. land line telephone fixer boy, hardware tech support at small firm, hardware tech support at huge firm, freelance engineer, consulting engineer, consulting manager. 

Why Choosing an Appropriate License for Your Project Is Important, Anwesha Das’ Talk at PyCon India, 2016

Anwesha Das, over at Law Explained India, was one of the speakers at PyCon India 2016.


(Update: Anwesha rocked Pycon 2017 in Portland. The awesome folks there, seem to have put up the talks in near real time! Anwesha’s talk is here. Check out the rest, here. End update)


And she to me, is a shining beacon of hope, when it comes to actually making it as programmer in this community. All she does, and the way the community responds is heartwarming

A lawyer by trade and a nerd at heart, she along with her team of bravehearts rocked PyLadies at Pycon India. From what (admittedly little) I’ve seen, this fearless group seems to be the only active PyLadies group in the country.

More power to them! And I really, really pray, may their tribe grow! India could do with lots more women, who in my opinion are better at programming than us lads. (And were in fact the first members and drivers of the profession)


Anwesha Das.


Her talk involved around generating awareness about the various software licenses in existence and their application to out software projects.

Being well aware of the ignorance, apathy and/or the strong dislike programmers have towards anything that is not coding, she walked through the various licenses that we could use, illustrating each one with examples.

Notable, was the amount of work she put into a project, where she grabbed and sorted the various licenses for the top few thousand packages on PyPI and used that map to make her points regarding licensing. You can go have a look-see here. Not just that, she’s been filing bugs to push developers to adopt a license, in case they did not have one :)

The last third of the talk, (in fact, the meat and potatoes) was on Best Practices for Developers when it came to choosing licenses for the project.

You can actually go read all about it here

Her point, in summary, (besides the how to) was to be intentional about what license you’d choose, to be aware of it’s ramifications, not just on you, but on the users as well.

I hope, PyCon India puts her video (and also the others) online soon.

Thank you, Anwesha. You were awesome!