A Few Ideas That Have Been Rattling Around My Brain

SWEDISH-CHEF-psd71677

  • build a 3D printer from scratch. experiment with printing clothes and food and age appropriate toys for ProsAlpha. throw a catered fashion show. keep the toys.
  • design, build, decorate and use a badass halloween advent calendar ala https://www.etsy.com/listing/240614464/this-halloween-advent-calendar-house-is# cause badass. maybe make something similar for xmas. maybe something totally different.
  • speaking of advent calendars, organize / collect / make decorations for the holidays that we actually want to celebrate in our family (xmas and halloween and …? chocolate easter? sinterklaas? thanksgiving?) cause ProsAlpha is going to be old enough to make memories soon and little holiday shrines are cool. like bowties.
  • get back into shape walking / running. get / make a zombie morph suit. run an obstacle course in it. with friends.
  • invent something awesome. something something something. make millions.
  • take figure skating lessons. and / or hip hop lessons. and / or circus silk lessons. perform.
  • join the local toastmasters. write up more public speaking projects. CFP that shit. practice practice practice. speak at a TED event.
  • research and write more blog posts on groningenrain.nl; at least twice a week. continue to write on 750words.com daily.
  • write up the past five years of my life that i haven’t been allowed to talk about because that part of my life is almost over and decide if it’s worth posting or not. sorry not sorry for vagueness.
  • solidify the daily schedule to include exercise / morning routine / evening routine / ProsAlpha.
  • develop a python based app inspired by ProsAlpha (text based adventures ala Zork and Adventure, but you’re a baby trying to do baby things and the enemies / obstacles are the cat running away from you / not being able to walk / time for a nap / mama). upload it to github. finish howtolearnpythonthehardway.com.
  • nail down my personal sense of style. purchase a doctor who inspired watch fob. sort the wardrobe. donate clothes.
  • buy / hack a raspberry pi. integrate it into an interactive / moving costume. explore the city center in full costume. during the markt. on a saturday. invite others to join me.
  • organize an open source artistic event. a series of canvases are set up, anyone can contribute anything to any canvas for an evening. upload the results. is there a way to make this online interactive? a twitter feed that people can post to and the artists can choose to be inspired by those statements or not as they work. the live hashtag would need to be projected in the midst of the canvases during the entire event. eventually make it a twenty-four hour event.
  • create two youtube channels: one for the dancing engineer (creatively logical and logically creative projects) and one for the fierce mama (adventures in motherhood). figure out what that means.
  • experiment with baking, especially grandpa’s no knead bread. and maybe cooking. develop seven breakfast / lunch / dinner dishes. perfect them. actually cook for the family. lol, cooking. but the no knead bread thing is possible.

AND THE BIG NEWS IS (drumroll, please)

Red_HatNo, we’re not pregnant.

No, we’re not moving.

I have a shiny new job.

But first, some history.

I used to dance. And to pay for rehearsal space and costumes and performance venues, I taught myself HTML / CSS / javascript. Eventually I retired from dance and took web development seriously – interned in New York, worked with a few internet marketing companies in North Carolina.

Had a blast.

Then Red Hat changed their new hire scope – you had to have two of three requirements – customer service, technical skills, or linux. I had the first two. I was hired. I had a blast.

But when you work at Red Hat, every day is drinking from the firehose and I had to stop coding entirely.

Fast forward to a few months ago – you may have heard, I had a sweet little boy. I took advantage of the Netherlands parental leave policy and switched to part time to save money on daycare and spend more time with the new operating system.

The position I have now doesn’t allow part time work, so my main job was to find a new job. I didn’t know what I wanted to do, specifically, but I knew I couldn’t be a Technical Account Manager anymore. I started shot gun blasting anything that sounded interesting.

Fast forward to a few months ago when I took a DjangoGirls workshop and remembered how much I loved to code.

BAM!

That narrowed down my search to anything with development work.

But then it got tricky.

I’m starting over, effectively. I just started learning Python / Django / Ruby on Rails / MongoDB. But I can’t move to Brno where most of our junior developers start.

It took a few months to find the right opportunity within Red Hat.

So when I say “I have a shiny new job,” what I actually mean is “OMGOMGOMG I JUST LANDED MY DREAM JOB!”

I am a Red Hat OpenStack Software Engineer.

Zork and Adventures

zork-IThis is an open field west of a white house, with a boarded front door.
There is a small mailbox here.
A rubber mat saying ‘Welcome to Zork!’ lies by the door.

>open mailbox
You open the mailbox, revealing a small leaflet.

>read leaflet
(first taking the small leaflet)
WELCOME TO ZORK

ZORK is a game of adventure, danger, and low cunning. In it you will explore some of the most amazing territory ever seen by mortal man. Hardened adventurers have run screaming from the terrors contained within!

In ZORK the intrepid explorer delves into the forgotten secrets of a lost labyrinth deep in the bowels of the earth, searching for vast treasures long hidden from prying eyes, treasures guarded by fearsome monsters and diabolical traps!

No PDP-10 should be without one!

ZORK was created at the MIT Laboratory for Computer Science, by Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling. It was inspired by the ADVENTURE game of Crowther and Woods, and the long tradition of fantasy and science fiction adventure. ZORK was originally written in MDL (alias MUDDLE). The current version was translated from MDL into Inform by Ethan Dicks .

On-line information may be available using the HELP and INFO commands (most systems).

Direct inquiries, comments, etc. by Net mail to erd@infinet.com.

(c) Copyright 1978,1979 Massachusetts Institute of Technology.
All rights reserved.

Play ON

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.

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!