Skip to main content

Carpe Diem!

(This is a rambling, introspective post, with no particular point to it, other than a reminder to my self to do better.)

np_phoenix_85574_000000l


Kushal Das, wrote a lovely piece on inclusivity and generosity of spirit. What hit me though, (ergo this note to myself), was his thundering twist of a climax

He goes through the post talking about how his life’s been one roller coaster of highs and lows and people pulling him down like crabs in a barrel, yet other mentors pushing him hard to do his best.

And then he ends with

You don’t have to bow down in front of anyone, you can do things you love in your life without asking for others permissions.

Like Steven Pressfield, tells Jeff Goins

At what point can someone who writes call himself a writer?

When he turns pro in his head. You are a writer when you tell yourself you are. No one else’s opinion matters. Screw them. You are when you say you are.

I wish I had learnt this so much earlier in life. In a strange fit of domain blindness I somehow translated “Carpe Diem!” as seizing the day, doing my best work, but for others!

I spent close to ten years of my life learning skills, getting better yet lacking the courage to do what I wanted to do. Maybe if I wasn’t so chicken or worked extra hard for myself, things might have turned out differently for me too, instead of me being here, all of thirty-nine, wondering where the years went.

But thanks to the wife and her courage, I was inspired too!

I realised that I could not wait for life to hand me opportunities on a platter. I could not wait for all my problems to go away, before I could make a risk free change. I have only one life to live, and I don’t want to see myself ten, twenty, fifty years down the road, once again ruing the choices I made and the chances I did not take.

And the other related thing / flaw / weakness that I got over last year, was that I stopped waiting for people to give me permission. I used to think, that if people were older, more experienced, they would automatically be more wise, in all domains of life.

Now I know through bitter experience that, that is simply not true. I am smarter, much smarter than most folks in some areas and dumber in most others. The same holds true for other folk!

So it’s all up to me, to build myself up, to learn more, put myself out there and make something of myself, trusting in myself and amor fati.1

Like Horace wrote over two thousand years ago …

dum loquimur, fugerit invida aetas: carpe diem, quam minimum credula postero.

In the moment of our talking, envious time has ebb’d away. Seize the present; trust tomorrow e’en as little as you may.

And to wrap it up even more succinctly, here’s Steve Jobs2, driving the point home (transcript below)


So, the thing I would say is … When you grow up you tend to get told the world is the way it is and your … your life is just to live your life inside the world, try not to bash into the walls too much. Try to have a nice family life, have fun, save a little money.

But life … That’s a very limited life. Life can be much broader once you discover one simple fact, and that is …

Everything around you that you call life, was made up by people that were no smarter than you. And you can change it, you can influence it, you can build your own things that other people can use.

And the minute that you understand that you can poke life and actually something will, you know if you push in, something will pop out the other side, that you can change it, you can mold it. That’s maybe the most important thing. It’s to shake off this erroneous notion that life is there and you’re just gonna live in it, versus embrace it, change it, improve it, make your mark upon it.

I think that’s very important and however you learn that, once you learn it, you’ll want to change life and make it better, cause it’s kind of messed up, in a lot of ways. Once you learn that, you’ll never be the same again.


  1. The fates will bring what they will. All I can do is accept it, love it

  2. part of my circle of the eminent dead 

An Idea to Get Me Writing Regularly

np_article-management_475174_000000


I struggle to write regularly.

Sometimes, I struggle to write, because I can’t think of anything to write. And sometimes, I struggle, because I have a deluge of ideas.

So I want to get this wisp of an idea down on the page, before I lose it. 1. If I think it is of any interest to me, I should write it down in my own words. 2. I will not pick up another book, before I write what I think of it, or write down the notes I highlighted. Even if it’s only a line, I ought to write it down, instead of just using Librarything or Goodreads to say I’ve read it. 3. If I learn it, I should write it. I’ve already forgotten, how I got a carousel installed on my personal blog. I should write shit down. 4. Drastically reduce twitter and rss use. 5. Copy Kushal and have a regular weekly cadence. That’ll give me at least fifty two posts a year.

Well, that’s the idea … written down.

All I have to do now, is do it.

User specific Inbound and Outbound Routing of Email for Google Apps

np_sign_1018269_000000

Writing this up, for future dumb me.

I wanted to be able to archive my Google Apps account (just me on my domain) to somewhere else on a sorta-kinda automatic basis. I also did not want to make domain wide changes, because I don’t want to affect any future users I might add to my Google Apps account.

What I want: Archive all my incoming and outgoing mail (on Google Apps) to another cloud account

How I did this: Incoming Mail This part is fairly easy to do. 1. Login to your control panel at https://admin.google.com 2. Go to users - click your user - and scroll down to email routing in Account sectiom 3. Click add another destination, type in your non Google archival email address and click save.

inbound-routing


Outgoing Mail Figuring out how to do this, required a little more Google-fu 1. Login to your control panel at https://admin.google.com 2. Go to apps - G Suite - Gmail - advanced settings. 3. On the first page, general settings, look for routing in the routing section. 4. Click Configure. 5. Type in a name for your route so that you remember who or what, in case you do multiple routes 6. Under messages to affect, choose Outbound 7. Choose only to affect a single address in the Envelope filter section. (type in your address) 8. Hustle down to step 3, leave it at Modify message and under “also deliver to”, click “Add more recipients”, click add and then type in the same non Google archival email address. 9. Hit Save, Add Setting, and Hit Save.

Outbound-Routing-1

Outbound-Routing-2


And tada! Bob’s your uncle :)

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 

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.