AI Programmers Will Take Our Jobs!

Standard

So, this hit my newswires today:

https://www.newscientist.com/article/mg23331144-500-ai-learns-to-write-its-own-code-by-stealing-from-other-programs/

Let the panic begin! Programmer jobs are dead! Cheap programmer labour! All our software dreams are about to come true, for free, and as fast as the supercomputer can deliver them!

Mmmmhmm.

On the surface, this seems pretty reasonable. These days, many programmers will start by googling their problem and then reading what they see on sites like Stack Overflow. Programmers of all levels of experience.

So what are they thinking when they search?

Sometimes I think, “How do I solve this?” I see “answers” presented, pick the one at the top, and effectively copy it.

Sometimes I think, “How have others solved this?” I see “options” presented, check how recently it was discussed, and how well it aligns with my goals, and if it’s a fit, effectively copy it.

Sometimes I think, “How have others solved this?” I see “options” presented, check how recently they were discussed, wonder how the differences in the answers came about. I look at different ways the question has been asked, and wonder how the differences in those questions came about. I journey through the humanity of how these things came about. I laugh, I cry, and then finally settle on how I will approach the problem.

You see, the more experience you gain in this field, the more you understand that software development is for the time being a very human endeavour. It requires things like empathy, delight, things we’ve traditionally characterized as human.

Now, don’t get me wrong, I have a lot of experience but when I’m googling how to get some arcane portion of iOS to do something I’ve never done before, I’m very much a beginner, and I end up doing things that are very trusting of the folks who contribute to Stack Overflow. This is a normal thing, as a beginner I have little ability to reason about that particular corner of the technology landscape. Everybody’s a beginner about most things (for large values of most).

What makes people good software developers is more their ability to learn new and different things, because this field is nothing but chaotic change. Accelerating.

So back to AI.  How many years will it be before a computer has the pattern matching capacity of the human brain? How many years before we draw that distinction between having empathy and simulating empathy?

That’s how long we have before I fear the obliteration of the software development profession. Heck, it’s still in its larval stage, we haven’t even seen it’s most interesting advancements yet.

And by then, we may well have found that our extraterrestrial search for new life is less interesting than life that evolved in a different way here on earth.

The Long Road

dsc_0097
Standard

More than occasionally, I get asked, “How can I learn programming as a beginner?” I have many thoughts on this, and here is just one of them…

The Long Road

When I think about my own path, I’ve been learning programming for a very long time. Experience has shown me that I’ll be learning programming today, tomorrow, and again next week.

So ask yourself why you want to learn to program. Because you may be doing it for the rest of your career, and you will think many times throughout, “why did I choose this?!”

Today’s electronic devices are mostly programmed by people who started with the same thought as you are having, and they have taken a wide array of paths. Take comfort in that. In knowing that there is no “one true path.”

Learn something, every day. Write code. Throw it out. Rinse, lather, repeat. Find joy in that cycle. Toss your proudest moments up on Github to show others, and to remember for yourself. Also remember that next week, they may not seem so brilliant, but they are important. They are you in your past, being the best you that you knew how to be in that moment. Be kind to past you. Learn from past you.

You don’t need to take a course, you don’t need to obtain a certificate or degree, or jump from bootcamp to bootcamp, though those are options that might focus you. You can do this in your evenings and on weekends while you eek out a living elsewise. Decide for yourself why you are choosing this, so that you can answer future you’s inevitable question.

George Leonard in The Way of Aikido wrote about the Obsessive, the person so eager to learn that it actually got in the way of their journey. “How long will it take me to master aikido?” To which Leonard says there is only one answer, “How long do you expect to live?”

If you can stay it out, if you find that you enjoy it more than simply being able to do it, know that the world needs you.

In Memory of Nancy Diamond

dsc_0118
Standard

When I was growing up, I didn’t have a lot of friends. I had a small circle of friends in high school, and through this small circle of friends we began to congregate at one house, where there was space for us and we were always welcomed. When I first met Nancy, I thought she was “the cool mom”, though she’d been just as happy with keeping us away from the kinds of trouble teenagers tend to find I think. That was so long ago, most of my memories are just feelings now.

I knew that Nancy was involved in politics, a professional woman with a degree and leadership skills. She was my earliest exposure to what I believe are the best qualities of feminism. This was so different than my family – my mom was a home maker, I never witnessed her in a leadership role other than being the matriarch of our family. That’s OK, but I knew in my heart that wouldn’t be my path. Nancy was a capable woman, navigating a man’s world, the world I was resigned to (at the time) living within. I didn’t know it then, but that boy’s view of the world given to me by society was gonna get shattered in my years to come.

I am a transgender woman. As I transitioned 6-8 years ago, I didn’t immediately realize how much Nancy had inspired my self-image.

After my business’ 10 year anniversary open-house in 2012, which followed my social transition in 2011, I finally felt comfortable telling Nancy how I’d considered her a role model since I was a teenager. Her response was plain and perfectly punctuated: “I was not thinking of myself as a role model; however, I shall just blush appropriately and say thank you.”

I had grown up falling into the patriarchy, seeing that men were leaders, believing at some level, despite reading and observing otherwise, that I could lead and conduct my professional self only as a man. I’d seen a tiny bit of how Nancy challenged that, but didn’t really understand the depth of it.

As I transitioned, it was Nancy’s immediate acceptance and inclusion that gave me the perspective and examples that shape who I am today.

She invited me to join the board of the Business Advisory Centre Durham (BACD), an organization rebuilding itself after some challenges. A place where I could see her at work. She was a regional and a municipal councillor, and I watched how she conducted herself in meetings, in rooms full of men. She knew the rules, held her ground, leaned into the work, and was the first person out the door to grab a glass of water for a presenter when they looked parched. This embodiment of a person driven by compassion for others, drives my understanding of what it is to be a servant leader. She was strong and compassionate and oh so sharp.

She reminded me often that I needed a healthy business as a foundation from which to help others. As I’d say today, you can’t pour from an empty cup. She’d look at me with that look when I described my latest venture, talking about apprenticeship, or our code retreats. A look that said “and how will you make money?”

She also reminded me how to go to a meeting. Read the materials ahead of time. Think of questions, look for problems or errors. Throw some rocks at it and see if it holds water. Then go prepared. Rarely a board meeting went by where she didn’t find an error in the previous minutes, or a by-laws question.

Nancy was an ally to the LGBTQ community, she went to every flag raising we did in Oshawa against homophobia and transphobia, transgender visibility month, she attended PFLAG galas and donated money to help us in our outreach to help the community. I could tell the groundwork she’d laid, people knew me or of me, knew what things were about. She’d give tips on navigating tricky processes, and she was nearly always there to hug when I arrived. Nancy went out of her way to be an ally for the community, and for me.

Nancy and I were about the same height and had the same shoe size, and thus the same challenges finding clothing in a world that caters to “regular size women” (whatever that means). When I saw myself as too tall, feet too big, feeling bad about my body, un-womanly, Nancy reminded me. Women come in all shapes and sizes, even mine, and every shape holds dignity.

She departed true to her nature. Insisting she was fine, continuing her work, until she wasn’t. Then, in a heartbeat, she was gone.

Nancy reminds me that every day on this earth is an opportunity to do good, or do nothing. To improve, or be complacent. To serve others, or to spectate.

I endeavour to do her spirit justice before it is my turn to leave.

2016 Big Steps Forward

img_0321
Standard

Lots of folks have been complaining lately about 2016.

Certainly, as one friend of mine pointed out, as movies and celebrities have become more prominent in our lives, and my impressionable teen years were in the 80’s, I’ve seen a lot of my childhood heroes fall away this year. This trend I’m sure will continue as I age.

But personally, since I significantly shifted my business focus nearly two years ago, 2016 has been one of the most fulfilling to-date.

Professionally, I have found my path forward into more of a consulting role with clients. This has been immensely fulfilling. I didn’t realize how much I’d picked up through my years of struggle in my own consultancy. Problems that I stopped seeing entirely because I just reflexively dealt with them. It is still hard to see them, but now I’m developing a reportoire of feedback from others who seem better qualified to put how I help into words.

Perhaps it’s my perspective from my work in the trans community, but I see oppressions and micro-aggressions in many places, they are rampant in my industry. Perhaps they are in every industry, perhaps this is simply universal. My view has widened from myself, to other trans people, to people who have chosen careers in software development, to the companies that employ them. Helping folks break down the barriers they put in front of themselves, helping them see past the small shadow they see cast beneath them to the fullness of their capability and humanity. Freeing them to courageously explore new ideas and technologies, develop their craft, this is uniquely rewarding for me.

Personally, we’ve been nesting in our home up north, improving the property and house. The uniqueness and draw of this life drives me to leap towards it. As I describe to new acquaintances and clients, “I live in a log cabin in the middle of the woods.” This is who I am, who I want to be, how I want to live life. Work is fine, but is just a means to this end. This perspective has been freeing. Invigorating.

The Trump presidency may narrow my professional opportunties, if he follows through with his promise and dismantles NAFTA (management consulting is the NAFTA window that allows me to work with companies in the US). Perhaps Canadian companies have started to catch on to this new trend of bringing software skills in-house and growing local teams. I feel like my new perspective will help me locate and close opportunities here, at the very least it has given me the confidence to pursue them.

This holiday season has been one of the most fulfilling over the past 5 years as well. Having our daughters close, minimal family friction, a further glimpse of how our family will grow in the coming years, and having my spouse’s parents much closer than ever has made for a fun family filled season. Maybe this rare 10 days (in a row!) at home has inflated my fondness for being here, but it just feels good.

This year marked 5 years into my social gender transition, the time at which I began exclusively presenting to the world in my felt gender. That was an important anniversary. The initial shock of transition has given way to slow growth and self-acceptance. Undoing half a lifetime of dysphoria and male socialization is painstaking. As sure as I was, I didn’t realize then how tentative and hesitant my initial steps were in this direction. With each step over the past 5 years the feeling that I’d done the right thing has solidified. Now it’s just odd habits and mannerisms and allowing myself to accept the woman I am, in all my geekiness, weird body shape, too-deep voice, and oddly acquired mannerisms.

I feel less fragile now than I ever have. For a few years my professional confidence carried me through the turmoil, but now I feel like my personal confidence is starting to be able to take on some of that burden. I’m not sure it will yet withstand judgement from the family I grew up with, that feels like a race against time, but I’m certainly not up for a race. I won’t suffer people in my life who refuse to accept me for who I am, so I am left wondering if we will ever speak again, and wondering if I’ll ever have the strength to find out before they’re gone. If that’s to be, then so be it. Maybe it will be more comforting for them to live with the memory of who I tried to be rather than who I actually am. That is their choice to make, not mine, and I think I’ve finally stopped feeling responsible for it.

Who knows what the next 5 years holds for me, as I get back on my feet financially, as our children continue to mature, as we try and build a life more on purpose than by how the wind blows us. It feels good.

Life could still capsize us in this little dinghy we’ve built, but it’s nice to float for a while.

The Fable

Standard

There was once a family of beavers who lived in the forest in a quiet valley. They had found a stream and made their home there, a lovely lodge in the small pond that had formed. Food was plentiful, there was work to be done, and they were happy.

Occasionally the beavers would travel to the city to see their raccoon friends, who had their own lovely home and had begun raising their family.

One day, there came a fierce storm, and a pair of old trees in the forest were weakened by the winds. One quiet night, the first tree gave out, fell into the other, and then they both fell onto the beavers’ family lodge, and in a flurry of sticks and mud, it was crushed under the water.

The home was sturdy, and beavers do just fine in the water, so the family, a bit rattled, made it to shore and thought about what to do. They consulted their raccoon friends in the nearby city.

“We didn’t hear any trees fall. Are you sure that happened?” asked the raccoon family. The beaver family stood, dumbfounded.

“Why don’t you just come and live in the city?” asked the raccoon family. The beaver family tried to explain that beavers live in lovely lodges, made of sticks and mud, in the peaceful ponds formed by their dams. Besides, what would they do all day?

“Well, there’s plenty of work here! There are so many garbage cans to tip and explore!” The raccoons really enjoyed living in the city, and their enthusiasm showed!

The beaver family tried to explain that there were few trees, and no creeks or streams that would be suitable for a dam. Besides, the raccoons in the city tended to hire mostly other raccoons, for whatever reasons. And while the beavers thought they could pretend to be raccoons for a while, if they were found out, they’d be fired for the deception. And really, they were beavers. Unmatched in their skill of felling trees and building dams. They loved the forest. It was a perfect home for them.

When the beavers left, the raccoons were distraught. They talked about the situation with the other city raccoons. Together they decided that they were responsible for providing work for the beavers, who they felt would really enjoy foraging through the garbage cans. Who wouldn’t?! There were such treats to be found!

They wanted to protect the beavers, and felt those mud and stick homes weren’t nearly as nice as their solid brick city structures, which would make much better homes for the beavers. They also talked about the forest, it was so dangerous with all those trees!

So the raccoons banded together and decided to burn the forest.

And when the forest was burned, the dams were destroyed.

And when the dams were destroyed, the city was flooded.

As the creatures fled the valley, the raccoon family and beaver family found each other along the long road of refugees.

The raccoon family was optimistic, “Just wait until we get to the city over the hill! It’s a lovely place! I hear they have lovely puzzle garbage bins – great for keeping the mind sharp, and filled with the yummiest food imaginable!”

The beaver family sighed, and hoped for a cool stream and lots of trees.

Listen to your neighbours, your friends, your family. Believe them when they tell you what makes them happy. What makes them feel true to themselves. What is hard for them.

There are people who are different from you making beautiful lives in this world. Lives to which they are entitled by their humanity. Lives that look different than yours.

Let’s learn to love each other for who we are, instead of despite.

My little writing exercise above was a simple way for me to turn this over in my mind on a quiet Saturday morning. As a software developer, I fully realize it’s a “leaky abstraction” but it was fun to write, and I hope that you found it at least a little fun to read. And I do miss my home in the forest where I hope to be again soon with my family, which probably looks different than yours.

—-

I realized this is probably more a Fable than a Parable, so I changed the title.

Retrospective on 2015

Standard

The past year has been exhausting. I’ve never felt so much like a hamster on a wheel.

This year will mark 8 years into my transition, 5 years into my social transition, 3 years since my last gender affirming surgeries.

I’m very much at peace with my body now. The change came so slowly, I could hardly tell as it happened, but looking back at myself 10 years ago? I was a mess. Gender dysphoria had me over its knee, I was constantly distracted by it, it consumed me. It was a constant buzz at the back of my skull, pulling all my thoughts in towards it.

I did some pretty awful things to myself, the worst of which was letting an herbal supplement regime mushroom out to un-supervised self-medicated HRT. I was buried in shame. I lied to everyone, including myself about it.

Today, if it weren’t for the advocacy work that I do, I wouldn’t really be thinking about my gender at all. It’s no longer a concern. It’s even a bit awkward right now to write about it, because I have to dig up how I feel. Is this what cis privilege feels like?

Being comfortable in my felt-gender role (as opposed to my physical being) is a bit further off, but I push against the bounds of this one. Maybe it’s the feminist in me. I think that this is a struggle I have in common with many women.

I find myself drawn to communities where the struggle is ongoing, launching the Durham Region chapter of Ladies Learning Code (LLC) was a hallmark event for me here.

Earlier in the year I found my “tribe” at the Agile Coach Camp Canada conference in Cornwall. This set the stage for my courage to start the LLC chapter. It was an amazing event and I learned a lot about myself that weekend. I’d been unable to express why I enjoyed my team coaching engagements until I spent the weekend with so many wonderful coaches who shared that enjoyment.

I feel accepted by the LLC community, by the agile coaching community, and that seems to drop a hand-grenade into my lifetime of internalized transphobia. How this makes me feel is impossible to express in words. Suffice to say, I feel good.

Regular life of course is still a struggle. It’s a common struggle though, and I feel better equipped to bear it.

This year marked the launch of my first software service (primr.io) in 12 years. I’m excited for it, but I have the same fears as many entrepreneurs – will it be successful, will it survive, will people care about it. 2016 will tell me that.

What I find most interesting though, is that for years I’ve strived to figure out a product that I could build, and after the turmoil of 2014 what arose seems a merging of my social justice advocacy and my software skills, two worlds I didn’t see colliding, yet in hindsight it seems so obvious.

I fear for the social entrepreneurship bubble, it feels a bit like the popular kid in the fickle startup community. Like it was created to capture people with my core values and draw us in to the startup community and its constant search for the new megastar, constantly taunting us with promises of venture capital and government assistance. I have no interest in that endless chase.

Honestly, the reason I have what these folks call a social venture has nothing to do with their bubble and everything to do with my core values.

In the meanwhile though, it’s nice at a business level to be in the same room with others that hold these values, more than superficially. Startup practices like honing your pitch and cash management skills are universal and important, so for now it doesn’t feel too far wrong to be here. I do anticipate a falling out with the crowd though. That capitalist startup smell is present, and oh so unappealing.

At least nobody has suggested to me so far to offshore my development work. That ought to be an entertaining “conversation” for onlookers.

I still have far too much on my plate. In addition to my business demanding more of my time than it has in 10 years, launching Gender Journeys Durham, joining the CMHA Gender Journeys team in Peterborough, and launching the LLC Durham chapter, I feel like over the past few years I’ve filled far beyond the extra capacity I’ve gained with my gender congruence. I need to let go a thing or three, but focusing on the things that bring me the greatest joy will also bring me financial ruin, so I continue to sit on the fence. My latest two  joys at least cover their own costs (CMHA and Ladies Learning Code).

Thus is the lure of a social venture, work that is good for the soul AND pays well. It does still feel like I’m refusing to make this decision doesn’t it?

On the family side there’s not much change in 2015. I did attend a family picnic hosted by a cousin, none of my immediate family came (that would have been “interesting” – still estranged from my family of origin). Our oldest daughter is slowly re-engaging with us after a year of isolation. Our youngest still struggling to complete high school though she’s aging on. Our middle is past the middle of her University undergrad.

My spouse and I continue our journey, still reconciling our relationship, now with my physical changes. That’s a rough road, and not one I’m ready to share.

I don’t get to see many friends, or grow many acquaintances into friendships, but that’s OK. I have a couple friendships that blossomed in 2015 and help keep me energized, and I’ve always been a quality over quantity person when it came to friendships.

I don’t know what 2016 will bring me, but change is not only inevitable but required. My cash position needs to improve, and continuing on my current path isn’t going to do it. That’s OK though, I think it’s going to be fun!

Signed and Encrypted Email on OSX and iOS

IMG_0128
Standard

I’m writing this as much for me as I am for you, my fellow netizen.

Signing and encrypting email on iOS is a black art. Get your incense and candles ready.

To start with, I usually use the free email certs from Comodo – https://www.comodo.com/home/email-security/free-email-certificate.php

They’re, well, free. That’s about all I can say about them.

Each year, when your cert expires, you are issued a new “private key” along with a new certificate. Every fibre of my being screams against this, but hey, most folks don’t know how asymmetric cryptography works, so I can forgive most folks for not having this same reaction as I. In my world, your private key is your golden egg. You keep that private, handle it with great care, and never, ever, ever lose it. That private key is your personal identity in digital form.

OK end of rant on that. Moving on.

When you complete Comodo’s process, you will download to your computer a file, for some reason they call it CollectCCC.p7s and that’s how it hits your downloads folder. This file holds both the private key they just generated for you, and a certificate signed against it issued by Comodo.

On OSX, when you double-click that file it opens up Keychain Access and installs nicely. At that point, Apple Mail is pretty much ready to start signing and decrypting messages from others. In fact, the simplicity here is a bit deceiving because all kinds of things are happening behind the scenes that you might not be aware of, that give you a glimpse at why the h-e-double-hockey-sticks iOS seems convoluted as frak.

In order to get that private key and certificate to iOS you’re going to have to do something that I’m still washing off in the shower. You’re going to have to email it to yourself.

Here’s how:

  1. Open your Keychain Access program (it’s in Applications / Utilities – I just use Spotlight, command-space and start typing keychain… it’ll show up there)
  2. Go to Category: Keys and find secure.comodo.com
  3. One of them (you may have a few) has an arrow that you can fold down to see your email address certificate. Make sure the certificate isn’t an expired one if you’ve been doing this for a while. And for the love of all that is holy, keep those expired certs and private keys otherwise you won’t be able to decrypt messages sent to you in years past!
  4. Right-click on the secure.comodo.com listing with the unexpired certificate underneath it, and go to Export “secure.comodo.com”. Choose Personal Information Exchange (.p12) which is actually a PKCS12 file. Enter a good password – when it exports, that’s your private key all out in the open there for anyone to peek at and steal your identity.

OK, now you’re going to have this shiny .p12 file. I hope you’re at least using SSL / TLS for SMTP and IMAP/POP, but that’s yet another story. Email that file to yourself so you can get it to your iOS device(s).

IMG_0104

When that email arrives on your iPhone / iPad / iPod you’re going to tap it, and install it. You’ll need to enter that password you entered on your Mac, and I do hope it’s as inconvenient for you to type as it should be. I fact I also hope you mis-enter it a couple times because it’s so complicated. And I really really hope you didn’t write it down, and I only kind of hope you had to do this process more than once because you forgot what it was between saving the file and getting that email. I’m not that much of a jerk, very often.

Here’s what the screens look like as you install your certificate…

IMG_0105IMG_0106IMG_0107

You can verify that the certificate is in place if you go to Settings / General /

IMG_0108IMG_0109

IMG_0110

IMG_0111

Now, go to your Settings, then Mail, Contacts, Calendars, then choose the account for which you had Comodo issue that certificate, then tap Account, tap on Advanced, turn on S/MIME, tap Sign, and make sure your email cert is selected. It’s fairly safe to leave Sign to ON and sign all your emails that go out, but once in a while someone may complain about the signature attachment if they don’t understand what it is and their email program is dumb and shows it to them.

You might want to encrypt your messages by default, but don’t worry – Mail only knows how to encrypt for the people for whom you’ve explicitly imported signatures… so you won’t all of a sudden be sending encrypted email to people that can’t read it.

Here are some screenshots of that process:

IMG_0113IMG_0114IMG_0116IMG_0115

And now, you’re ready to go into Mail. There’s a couple gotchas and things that just aren’t that obvious.

IMG_0117First is when you get emails from people who have signed and encrypted it, you get these two little symbols – the seal with the checkmark means it’s signed (and you can grab their signature – which you have to do before you can send encrypted email), and the lock means it’s been encrypted (only you can read it and only  where you’ve installed your key and certificate).

Email is encrypted specially for each recipient against their signature. If I want to respond to this email, I must install this person’s signature. To do so, tap on their name, then tap on View Certificate, then tap Install. Here are some screenshots:

IMG_0118 IMG_0119 IMG_0120And now, when you’re writing an email to someone you can indicate that you want it encrypted. Just tap on their name, and tap the Lock symbol that appears.

If you get the messages below, this is where things get a bit funky:

IMG_0121 IMG_0122

So what’s actually happening here, is it doesn’t know what key you want to encrypt the message using, and/or it doesn’t have their signature/certificate installed. Make sure you’ve done the procedure above to install their certificate.

Now, go to your Advanced email settings again, go to Encrypt by Default, turn it on and pick your email address.

IMG_0116 (1) IMG_0125 IMG_0126Now go to Mail, create a new email to your friend whose signature you’ve installed, tap their name, and tap the lock symbol again. This should work now.

IMG_0128

Now you can go back to your email Advanced settings and turn off Encrypt by Default. You shouldn’t have any trouble from here on in.

So there you have it, it’s a bit of a complex dance to do this, but once you’ve done it things should work pretty good for you.

Don’t forget to drag that .p12 file to your trash, and empty your trash, and delete that email both from your sent-items on your Mac, and from your inbox (and, of course, empty your email trashes)!

Through the iOS and OSX versions, Apple has tinkered with how this all works a bit, with each release sometimes introducing a new set of quirks, but hopefully this will do us at least until the fall.