And also taking a FREE seven week MongoDB course

mongodbThe other month I thought to myself, “Self,” I said. “You need to LEARN MORE.”

“Let’s schedule all the learns at once.”

Not exactly.

But it seems as much, doesn’t it? Thankfully this is “only” week two of the M101P course so the content “isn’t that hard” [famous last words?] and I’m trying to get as much of it done before this weekend so I don’t have a time crunch before homework is due on Tuesday.

No pressure.

Prepping for Rails Girls Groningen This Weekend

railsgirls-sqThis Friday and Saturday I am attending Groningen’s Rails Girls workshop where I’ll learn to install and build an application using ruby on rails. I utterly love these things because there’s absolutely no pressure AND IT’S FREE.

Plus learning. Learning is cool.

Like bowties.

Running through the Setting Up Rails tutorial – specifically, the Setup for OS X – and everything is smooth as silk.

UNTIL.

[ yes, queue that dramatic music ]

Kristins-MacBook-Air:~ kristinrainpleander$ gem i rails --no-ri --no-rdoc
Fetching: i18n-0.7.0.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

No worries, I’ll just chown the directory:

Kristins-MacBook-Air:~ kristinrainpleander$ chown 777 /Library/Ruby/Gems/2.0.0/
chown: /Library/Ruby/Gems/2.0.0/: Operation not permitted

OF COURSE it doesn’t work because I didn’t have permission in the first place, why would I have permission to chown?

I’ll forget I’m on a mac and try to switch to the root user:

Kristins-MacBook-Air:~ kristinrainpleander$ su -
Password:
su: Sorry

Then, right, just use sudo:

Kristins-MacBook-Air:~ kristinrainpleander$ sudo chown 777 /Library/Ruby/Gems/2.0.0/
Password:

Nope, still no good:

Kristins-MacBook-Air:~ kristinrainpleander$ gem i rails --no-ri --no-rdoc
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

Wait, use sudo on the gem install command. DUH:

Kristins-MacBook-Air:~ kristinrainpleander$ sudo gem i rails --no-ri --no-rdoc
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: minitest-5.7.0.gem (100%)
Successfully installed minitest-5.7.0
Fetching: activesupport-4.2.1.gem (100%)
Successfully installed activesupport-4.2.1
Fetching: rack-1.6.1.gem (100%)
Successfully installed rack-1.6.1
Fetching: rack-test-0.6.3.gem (100%)
Successfully installed rack-test-0.6.3
Fetching: mini_portile-0.6.2.gem (100%)
Successfully installed mini_portile-0.6.2
Fetching: nokogiri-1.6.6.2.gem (100%)
Building native extensions. This could take a while...

That title should probably be AWKWARDLY prepping for Rails Girls Groningen This Weekend.

Without Further Ado, I Present

the-bodyguard-cdThe unforgettable.

The enduring.

The story that made us all want to be singers. At least in the shower.

The EPIC.

The Bodyguard. The MUSICAL.

And until you see it, you’ll have NOTHING! NOTHING! NOTHING!

TLDR – Summaries of Leveraging Procedural Knowledge

about-to-go-onI know I know yesterday’s post was LONG.

You can skip through the slides quickly, but they’re a bit confusing because I don’t really know how to use slides (YET!) and just post highlights there – clues to keep me informed about what comes next rather than my speech verbatim.

But better yet, you can read summaries from people who were in the audience and wrote while I was speaking.

Many thanks to @reinoutvanrees and @mauritsvanrees and several others for live blogging / tweeting the talk AS IT HAPPENED.

And, yes, my ego was SUPER swollen from all the praise.

My PyGrunn 2015 tech talk – Leveraging Procedural Knowledge

photoPyGrunn 2015 SLIDES Leveraging Procedural Knowledge

ONE

Hello. I’m Rain.

I encourage you to send your comments, feedback, and snide remarks to my twitter handle @rainsdance during the course of this presentation.

I am a Technical Account Manager with Red Hat and I know a lot about a few specific technologies, I am a django / python newbie. At Red Hat we have SBRs – specialty based routing – it means that I know a lot about Satellite, but very little about clusters. We realize that everyone’s a newbie about something even if they know a lot about something else.

While you may not be new to django or python, this talk will show you how to leverage the knowledge you already have to learn something new.

TWO

In this talk I will define procedural knowledge. I will discuss how, in order to leverage procedural knowledge, you need to know what you know.

I will talk about one of the first time I leveraged procedural knowledge – when I was initially hired at Red Hat I had to drink from the firehose.

Then I’ll share lessons learned at a recent Django Girls workshop and what I’ve done since. And finally share my next steps as a django python newbie.

THREE

There’s procedural knowledge and declarative knowledge and it’s sometimes easier to understand declarative before procedural.

Declaractive knowledge is that Amsterdam is the capital of the Netherlands. J is the 10th letter of the ISO basic latin alphabet. It rains in Groninge ALL THE TIME.

But procedural knowledge is HOW to ride a bike. HOW to prepare for a marathon. HOW to learn a new language. You may know the importance of a perfect arm stroke and the use of coordination while swimming, but drown in the pool.

There are two schools of thought – one is that declarative knowledge precedes procedural knowledge. You need to PRACTICE for hours, days, weeks, years before you can DO without effort. The other school of thought is that you need to know the theory before the substance.

Both are correct.

You do need to practice, but you can also use procedural knowledge to make practice more efficient.

FOUR

But first, KNOW THYSELF.

In order to leverage procedural knowledge, you need to know who you are and what you know.

My first computer was a TI-99/4A, a clunky keyboard thing you connected to a television to program BASIC. I love languages and logic puzzles and math. I danced and choreographed for twenty years and didn’t have money for rehearsal space or performance space or costumes or lighting rental. Therefore I taught myself HTML and CSS in order to barter web and graphic design for goods and services. I have a Master of Information Technology.

This is who I am.

FIVE

I heard of Red Hat back in 1993 from a friend who taught me about open source. I thought, “Wow, cool.” And then finished my degree in dance.

Years later I ended up moving to North Carolina, right near Red Hat headquarters and they changed their hiring policy for frontline support. You had to have two out of three of the following criteria: customer service, technology ability, or linux experience. I had customer service and technology ability – I was hired.

At the time, you had to pass the Red Hat Certified Engineer test within ninety days or you’re fired.

No pressure.

I applied logic and my afinity for languages to learning linux command line.

I passed the RHCE within sixty days.

SIX

A few months ago, I was looking through the devconf.cz presentations and came across the Django Girls talk.

Before joining Red Hat, six years ago, I had a blast as an HTML / CSS / PHP / javascript developer with several internet marketing companies.

I googled “django girls groningen” and there was a workshop in two weeks.

I applied.

I got in.

The day before the workshop.

Part of the workshop is a two to three hour preparation with a Django Girls coach – but with only one night notice, there wasn’t a coach available. Time to drink from the firehose.

The email to prepare for the workshop was something along the lines of:

– install python3
– install django
– set up a virtual environment
– introduction to html
– read the first few chapters of tutorial.djangogirls.org

Have you ever taken that ‘trick’ quiz with about a hundred steps – the first step is read all of the steps before doing *anything* then the 99th step is don’t do steps 2-98 and step 100 is put your name on the quiz and hand it in? It’s evil, but effective and the end result is you learn to read. And maybe patience. But mostly read.

Also, are you familiar with RTFM?

It means ‘read the … manual’.

I did not read the manual nor patiently peruse all the steps before beginning and therefore went down the rabbit hole and created a virtual Red Hat Enterprise Linux seven machine. It wasn’t until I got to the last step, read the first few chapters of tutorial.djangogirls.org, that I realized that setting up a virtual environment is part of coding with django.

Learned that lesson the hard way.

A little aside, I also installed python2.7 because RHEL7 doesn’t offer python3, it backports the stable functionality of python3 to python2.7 as long as it’s secure / doesn’t conflict because when RHEL7 was released python3 wasn’t enterprise ready yet.

At the workshop I zoomed along, troubleshooting and figuring out my own issues until [queue dramatic music]:

“OperationalError at /admin/ no such column: django_content_type.name”

I googled, I searched, I hacked, I raised my hand and asked for help. My coach googled and searched and hacked, he raised his hand and asked for help. Another coach googled / hacked and shrugged.

We let it go.

That night I rebuilt the app, saving constantly, and it worked.

http://leanderthalblog.herokuapp.com/

Which is not a Good Thing ™ because I don’t know *what* broke it in the first place nor *how* I fixed it, so if it happened again… [more dramatic music]

SEVEN

After the workshop I did the Django Girls Tutorial Extensions https://www.gitbook.com/book/djangogirls/django-girls-tutorial-extensions/details which includes adding more to your website, creating a comment model, and postgreSQL installation.

A colleague challenged me to deploy on OpenShift. I tried.

http://django-leanderthal.rhcloud.com

And I got the EXACT SAME ERROR MESSAGE “OperationalError at /admin/ no such column: django_content_type.name”. I walked away from that error message in order to prepare for the PyGrunn 2015 conference.

I am reading “Learn Python the Hard Way” which told me not to use vim because only people who want lots of control and have big beards use vim.

I beg to differ.

I highly highly highly recommend this tutorial for those new to python, though, seriously, as it’s thorough and breaks things down perfectly.

EIGHT

What’s next? I WILL finish the OpenShift deployment. Dangit.

Django Girls recently switched their deployment from Heroku to PythonAnywhere – I’m going to tackle that deployment, too.

Lots of practice.

I will contribute to the Django Girls community.

I am building a couple of applications with a friend of mine who is also new to django and python.

Girls Who Like to Code, a group of people from the March Django Girls Groningen workshop is getting together on June 19th to hack a bit.

And Django Girls is having another workshop in Groningen on September 19th which I will join as a coach.

NINE

This talk was written on and presented using Red Hat Enterprise Linux release 7.1 and LibreOffice 4.2 Impress.

Please be sure to leave any feedback, comments, questions, snide remarks on my twitter account @rainsdance.

Thank you for your time.

Narrowing Down the Brand Already

11204902_10101734441202971_8607086743512969266_nAfter sleeping on it for one night I realize I can define myself even more simply – with only “Dancing Engineer” and “Fierce Mama” – because feminist and baker and public speaker are not as much part of my soul.

MY SOUL.

Do you hear the angelic choir? DO YOU?!?

[ appearance –> customize –> set title & tagline –> edit –> save ]

Stay tuned for tomorrow when there will be more cowbell.

Jack of All Trades Master of None

1743566_10101043400404271_1932748396_nPart of the relaunch of this site is in an attempt to brand myself. Not so much in the cattle branding way, but ala Red Hat’s fedora or Twitter’s bird. And, sure, it’s not common for individuals to have a brand. Or maybe it is. But I haven’t done it.

Until now.

Queue dramatic music.

Part of moving around your whole life (as I have) means you adjust to your surroundings like a chameleon. And aren’t really sure who you are. Or what you want to be when you grow up.

Which, I realize, is a bit odd to say at age thirty-nine.

But part of branding is figure out who you are and who you want to be and I’m starting here with that phrase up top, “Dancing Engineer. Feminist Baker. Fierce Mama. Public Speaker.”

Over the next few days, besides sharing the slides / recording from my recent Python 2015 talk, “Leveraging Procedural Knowledge”, I will write about how these four aspects relate to who I am.

And hopefully become less of a JILL of all trades, master of none.

And more of a well defined brand.

A Few Proposed Team Building Activities

A little roleplay.

A little something to eat. Mebbe gluten-free. Mebbe sugar-free.

A little something more to eat. With water. (Go, Joey!)

Escape to the great wide open.

And return to work with a bit more pep in your step.

Kermis the Frog

295698_356601701117370_1666523173_nI really must learn to make these myself and I’m sure it’s something quite simple like:

1. melt chocolate
2. dip cold fruit in chocolate
3. resist eating fruit until chocolate can harden
4. eat chocolate covered fruit

As it is, I met a friend at the carnival to ride OUR ride – a spinny rollercoaster thing – and then, of course, we MUST have chocolate covered fruit because chocolate covered fruit.

CE_ZR73WoAA7ZW4

But the American in me giggles everytime I talk about about the carnival. Kermis in Dutch. Which triggers kermis the frog. Which triggers It’s not easy being green. Which is very odd to think about while screaming as the coaster drops and spins and rushes about.

I am speaking at PyGrunn 22 May 2015 – COME LISTEN

11140249_10101740531248471_1478972152288265857_n

If you’re in and want to leverage procedural knowledge to learn your next language – come check me out on May 22nd!

“What is procedural knowledge and why would I want to leverage it?”

I’M GLAD YOU ASKED

Procedural knowledge, as opposed to declarative knowledge, is knowing HOW to do something versus WHAT something is – knowing how to ride a bike versus what is the capital of the Netherlands.

I attended a Django Girls workshop here in Groningen and applied procedural knowledge to prepare for the workshop, to use the limited time I had within the workshop as efficiently as possible, and to move forward with django and python afterwards.

On May 22nd, I’ll share the specific steps as well as lessons learned in this process at PyGrunn 2015 – hope to see you there!