Ladies Hack Day - What to Expect

Hello everyone,

I am excited beyond words about this Saturday. Nashville (and beyond) came together as a community to make this happen, and It has been a joy to watch this come together.

The biggest of all thank yous go to our sponsors:

What is Ladies’ Hack Day?

Ladies’ Hack Day is a day for women and girls (and men and boys) to come together and celebrate women in computing. Programming is not lonely, it is not scary, it is not mathematical! We’ll have a beginner course in HTML, another beginner course in JS, and an advanced course in Python. We’ll also have a separate Minecraft track to learn about modding Minecraft! You can come and go as you like the entire day.

Who can come?

Anyone! Hopefully you RSVP’d but if you didn’t, just show up, we’re happy to have you. We’ll have children as young as 5 and adults in their 50s!

What will we do?

In the beginner tracks we’ll build an interactive e-card for Mother’s Day. I’m reminded of this quote, “Biology is the least of what makes someone a mother.” - Oprah Winfrey. The card could be for any person in your life you want to say thank you to.

In the advanced track we will build a Twitter bot for good in Python (more info below).

Schedule:

9:45-10:45

Coffee by Beve, provided by Vaco and Moontoast

10:45 - 11:00

Opening remarks

11:00 - ?? Intro to Minecraft modding

We’ll have a few helpful folks available to get you started with modding Minecraft.

11:15 - 12:15 Intro to HTML!

We’ll learn about HTML, what it is, and how to write it. You’ll leave with a finished card to send to someone you love (you write the HTML, we’ll provide the CSS and JS). You’re free to Hack on this project or anything you want for the rest of the day. We also encourage you to stick around and watch the JS presentation, even if just to observe.

12:30 - 1:30 lunch!

Quiches, salads, and hummus by Whole Foods. Provided by Github and Metova.

1:45 - 2:45 Intro to JavaScript

We’ll build upon the HTML track but write the JavaScript interaction from scratch. We’ll learn what JavaScript is, what jQuery is, and how we can use both of these languages to bend the web to our will.

CUPCAKE BREAK - cupcakes from Cupcake Collection

3:00 - 5:00 Intro to Python

Together we’ll build a twitter bot, but for good! We’ll learn about Python, how a server side language differs from a client side language, and how to use Python and the Twitter API to build an optimistic twitter bot. We’ll walk through the code line by line, you just bring an idea for a cute twitter bot! (my example: @instacompliment - a bot that searches Twitter for the words “bad day” and then sends that user a compliment)

5:00 - 6:00 Show and tell

If you’d like to show off your work, this is your chance! This is definitely not required, just encouraged.

I can’t wait to see you on Saturday!

An Open Letter to the Nashville Tech Community

I realize many of you don’t know me.

I would really like you to know me, and I would like to get to know you.

I’m Martha. I’m a programmer. I desperately love what I do.

I have opinions. You might not agree with them. That is okay.

When I criticize the community, it’s often the result of a thousand little cuts that compound over time. I speak up because I want things to change. I honestly care about you. I care about this community. The women and men I’ve chosen to have deeper relationships with, I’m indebted to you and I genuinely care about you.

It’s time for me to be honest with you.

Here are things I can’t do:

  • Read sexist, gendered, racist text in tech articles or PR in Nashville
  • Listen to sexist, gendered, racist discussion in the tech community in Nashville
  • Tolerate sexist memes or comments in Nashville IRC channels
  • Feel uncomfortable at tech meet ups
  • Be sexually harassed at tech meet ups
  • Be the only woman in the room

Here are things I can do:

  • Be myself
  • Be your friend
  • Have an opinion (it might be different from yours!)
  • Speak up when I have a problem with something
  • Make Nashville Tech better for all women (and people)
  • Empower your female friends/coworkers/family members to learn to code
  • Teach you something, and learn something from you

Since we’re being honest, here’s what I want:

  • I want to act like a woman and be treated with respect for that
  • I want to feel comfortable in my own skin
  • I don’t want to feel threatened
  • I want my colleagues to back me up if I feel uncomfortable about something
  • I want to feel safe enough to be myself

Why do I want this? Because I want to live and work and play with you all and do what I love with you (more coding! And, perhaps beer drinking?). I also just want female friends, mentors, teachers, and advocates that are interested in the same things I am. I want women to feel comfortable pursuing and working in technical jobs in Nashville. Right now Nashville is an uncomfortable place to be a woman in tech.

If I give criticism of the community, it’s because I want something better for everyone.

I made a comment like this.

I was shocked to see this response:

  • “can I still use the word ‘human’ to describe homo sapiens of all genders?”
  • “human does have ‘man’ in it”
  • “womyn if you ask my sisters”
  • (when asked to meet at a bar referencing this situation) “good. [this bar] it is. I’ll be sure to bring my vagina.”
  • “stand down. If you wanted to make a point then you were free to make your point. He made his. He doesn’t need you to validate or “correct” it. Stay on topic fer chrissakes.”
  • “[He wrote that word] because that’s the word he chose to use. It’s not about this topic. Grind elsewhere.”
  • “You are the problem, not the solution here.”
  • “Don’t expect anyone to support you when you can’t be cohesive and want to elevate you own agenda at the expense of the core issue.”

For the record, I received a heartwarming amount of encouragement (in private).

The honest truth is I don’t feel safe or happy here.

So, I’m creating a community on my terms. Nashville Women’s STEAM Group is my microcosm of what I want Nashville to be.

The last Saturday of every month we’re opening up Code Day to everyone. Our inaugural meeting is March 30th (more details to come).

Everyone is invited. We’d absolutely love to have you.

We do have ground rules, and they may seem familiar.

1) no saying “well actually” 2) no feigning surprise 3) no backseat driving 4) no subtle sexism, racism, or any discrimination

I hope to see you there.

Authenticity

I found that my lack of authenticity actually prevented people from getting close to me. I wasn’t vulnerable. I didn’t want others to see my mistakes or flaws, and I did everything I could to cover them up. I would lie if I thought the truth would hurt. I even had two online profiles – my work profile and my real profile.

And then everything changed.

I don’t know if it was an efficiency thing (maintaining 2 separate identities was hard), or if I just decided that I was tired of trying to project “awesome”, and since reality was “pretty darn good” people would just have to accept what I had to offer. I was going to be me.

But to my surprise instead of the world settling for me – they embraced it.

How Browsers Work

You know a bit about HTML, CSS, and JavaScript but do you now how a browser gets and uses these files to display a website?

A browser has a UI (user interface) that most commonly includes an address bar, back/forward button, and reload button. Sometimes developers refer to this as the “chrome” (little “c”, not Chrome by Google) of a browser. When you navigate to a URL in the address bar you are making a “request” for the content at that URL.

That URL you typed into the address bar maps to an IP address. This is called a DNS lookup. DNS stands for “Domain Name System” and it maps numeric computer addresses to human readable names. All computers have an IP address. You can find out your personal computer’s IP address by typing “ifconfig” into your terminal window and looking for the number that is displayed in dot decimal format, such as 000.000.000.000. (Note that 127.0.0.1 is used in your computer internally to refer to itself).

For example, one IP address for Google is 74.125.134.102. You can enter 74.125.134.102 in the address bar and it will show the contents at www.google.com.

Once the browser has the IP address it sends an HTTP request to the web server at that address. HTTP stands for “Hypertext Transfer Protocol” and is used to facilitate requests from your client (the browser) and responses from the server. In our case the response is HTML from the web server at www.google.com.

As this HTML response is being sent to your browser, the browser’s rendering engine is displaying the requested content on your screen. To accomplish this the rendering engine “parses” the HTML and creates a DOM tree.

To illustrate this, the rendering engine takes this HTML response:

// Simplified Google.com markup
<!DOCTYPE html> 
<html> 
    <head> 
        <title>Google</title>  
        <link rel="stylesheet" href="css/style.css" 
            type="text/css" /> 
    </head> 
    <body class="home"> 
        <h1>Google</h1> 
        <img alt="Google" src="/logos/google.jpg">
        <input>
        <button>Google Search</button>
    </body> 
</html> 

And turns it (conceptually) into a DOM tree like this:
(photoshop is being a PITA! I’ll try to add an appropriate graph later)

The browser then parses style data (CSS or inline styles) and together with the HTML it constructs a render tree. The render tree displays rectangles (that represent divs, paragraphs, headlines, etc.) with a few visual attributes such as color and size dimensions. These rectangles are displayed in order on the page. Next, the browser lays out the contents in the position they will appear in the browser. The last step is “painting” where the elements are drawn on the screen.

As the browser is rendering the HTML it will find tags (like our link tag and our img tag) that require files from other URLs. The browser will send a request to the web server to get each of these files.

(Note: some interesting things happen in regards to caching but I’m overlooking them for now. I’ll include them in a later post).

Notes About Major Browsers

Firefox uses the Gecko rendering engine, a Mozilla product. Both Safari and Chrome (and now Opera on mobile?) use Webkit as a rendering engine, which is an open source project. IE uses the Trident rendering engine.

If you’re curious (as I am!) here’s the world wide browser market share in 2012:

IE, 54.13%
Firefox, 19.99%
Chrome, 18.55%
Safari, 5.21%
Opera, 1.63%
Other, 0.49%

That was a quick and dirty overview. As the weeks go on I’ll dive deeply into each component, even getting down through the deeper layers of the network reference model. If you’re not sure what that is, you’ll know soon! (Hint: it’s how all those 0s and 1s travel over the wires).

Sources:
http://taligarsiel.com/Projects/howbrowserswork1.htm
http://bgr.com/2012/11/01/browser-market-share-october-2012-chrome-internet-explorerer/

Many Tamagotchis Were Harmed in the Making of This Presentation

I’d like to introduce you to one of my newfound heros, Natalie Silvanovich.

Natalie Silvanovich is a “professional hacker” and Security Researcher. She tests RIM products to prevent attackers from getting the information of BlackBerry users. She studied Electrical Engineering in school (although she claims it’s been a long time since she’s been in school), and in her spare time she hacks Tamagotchis.

Natalie is super clever, persistent, and funny. Not to mention my main motivation in signing up for Fundamentals of Electrical Engineering which starts in only 10 days. Now, who wants to take the course with me?

Check out her posts/projects/hacking at Kwartzlab and follow her on Twitter @natashenka.

Where Have You Been??

Why, adjusting to (and just soaking in) Etsy life of course! It has been an astonishing amount of time since my last post, and I’m happy to report it’s been for great reasons.

Let’s catch up

Nashville Women’s STEM group is going strong. We’ve been meeting regularly and have big plans for 2013:

  • Special fundraising to bring in leadership training
  • Kate Matsudaira blog post discussion series
  • Open Sourcing an Arduino project guide for young women and men
  • AP Computer Science test prep for young women

BREAKING NEWS!! I’m organizing Nerd Nite Nashville! What is Nerd Nite you ask?

We all know that learning is more fun when you’re drinking with friends and colleagues. Thus, Nerd Nite is a monthly event held in more than 50 cities across the globe during which several folks give 18-21-minute fun-yet-informative presentations across all disciplines – while the audience drinks along.

Here are a few of my favorite Nerd Nite presentations:

Do you like 1) drinking with friends and colleagues 2) presenting and nerding out while drinking in front of your friends and colleagues? 3) are near Nashville? If so, email me: mk.girdler@gmail.com

Lastly, If you haven’t already seen this consider it required reading - “On Being a Senior Engineer” by John Allspaw SVP of Technical Operations at Etsy.

Notable soundbite:

You don’t wake up one day and you are “senior” just because your title reflects that upon a promotion. Senior engineers don’t know everything. They’re not perfect in their technical knowledge, and they’re OK with that.

Soon I’ll be able to write up some technical JS posts, and I’m starting to dig into Go. Are you doing interesting things with Go? If so, let me know about it!

Things I’m Into Lately

1) hovding

This is an “invisible” bike helmet developed by two Swedish Industrial Designers, Anna Haupt and Terese Alstin.

2) Changing the Ratio: Why Should You Care? - Rachel Sklar

Notable soundbite:

Sklar warned against “pattern recognition,” which she described as a “preconceived idea of what a boss, an entrepreneur, an anchor or a president look like.” This can be a good thing, she noted, as it allows a person to “see areas in which positive things emerge,” but if a person’s preexisting notion is the only standard with which to view the world, that person is “shutting off opportunities for innovation across a multitude of other sectors.”

3) Snow Crash

Snow Crash is Neal Stephenson’s third novel and is a story interweaving history, linguistics, anthropology, archaeology, religion, computer science, politics, cryptography, memetics, and philosophy. I’m totally enthralled by the two awesome protagonists Hiro Protagonist and Y.T.

4) Bluegrass Playlist on Spotify

Bluegrass (new and old) is just in my blood, guys. I can’t shake it, I don’t want to.

5) Making (and eating) this pecan pie

You may not have my secret recipe!

6) GoldieBlox, the Engineering toy for Girls

I backed GoldieBlox on KickStarter and I’m very impressed with Debbie Sterling.

First Nashville Women’s STEM Group Meetup

I’m happy to report the first Nashville Women’s STEM Group meet up was a crazy amount of fun. The highlights included conversations on skepticism, nuclear pharmacy, minecraft (complete with a demonstration), infectious diseases, and really intriguing discussions on our shared experiences as females in technical fields. It was really nice to have a few beers with so many funny, brilliant women.

talking points for reflection

“I’m not asking for special treatment, but i’m not one of the guys. It’s not too much to ask for this consideration.”

“I’m not very girly, but I’ve had to act even more girly just to draw the line.”

“It’s never the fact that someone said something that one time, it’s always that one last time that pushes you over.”

Things I can’t stop loling over

“That sign says, ‘Our high gravity beer is out of this world’, I think we should ask them to change that…”

“The Committee for Skeptical Inquiry is having a conference in Nashville…I was doubtful they would ever come here.”

Next meeting

Our next meeting is Nov 14th, most likely at 12th S Taproom. The interest I’ve seen from people who couldn’t make it last time is exciting. I’m also happy to announce we’re vetting sponsors, and some really fun events are coming our way in the new year!

My Actual Response to the Anonymous Idiots on the Internet

My previous post was a bit tongue in cheek, and honestly, it was just so absurd I couldn’t halp myself but share it with you.

After some reflection this is my actual response. My response to the anonymous idiots? No, friend. This is my response to you. These are a few things I’d like you to remember if you find yourself in a similar situation as I did in the Coursera forums today.

Don’t waste your energy trying to educate or change opinions; go over, under, through, and opinions will change organically when you’re the boss. Or they won’t. Who cares? Do your thing, and don’t care if they like it.”

Tina Fey Bossypants

“So, my unsolicited advice to women in the workplace is this. When faced with sexism, or ageism, or lookism, or even really aggressive Buddhism, ask yourself the following question: “Is this person in between me and what I want to do?” If the answer is no, ignore it and move on. Your energy is better used doing your work and outpacing people that way. Then, when you’re in charge, don’t hire the people who were jerky to you.”

Tina Fey Bossypants

The best thing you can possibly do with your life is to tackle the m!therf&$ing sh!* out of it.

Sugar therumpus.net

Help Craft My Response to an Anonymous Idiot on the Internet

Sometimes you see an anonymous post on the Internet that makes you 1) spit out your coffee 2) weep silently for humanity 3) hold a kitten while you gain your composure 4) Ask your friends to help you write a hilarious response.

Leave the response you’d like me to give this person in the comments below.

Is this an exercise in futility? Most definitely. Does it temporarily make me feel better? Absolutely.

All of this is completely irrelevant to the class! However, since some feel it’s necessary to call, “sorority girls,” “women” because referring to them as “girls” is disrespectful, and “all about power.” Let’s do a reality check and see if you, “professional women” actually deserve the respect you demand.

Homo Sapiens Sapiens are a dimorphic species that evolved each gender differently and complimentary to facilitate survival. That arrangement worked successfully for millions of years. Along comes our cooperate masters, who see women not only as a whole new group to whom they can sell their products, (Cigarettes initially) but a whole new potential workforce as well. So, they facilitated the “women’s” movement, and here we are decades later. What was the result? Organizations led by homosexual women, who pat themselves on their bra-burning backs for their accomplishments of getting a little closer to what they really want, which is to be male! Congratulations!

You also got a decrease in life expectancy, which is getting ever closer to the man’s. Generations of latchkey children growing up in empty homes without their mothers to guide and nurture them as nature designed YOU to do! You bought into the hyper-reality and left our most precious assets to be raised by strangers! Congratulations!

The consequence of this has been generations of children, who have little or no manners, can’t utter or write an intelligent sentence, have little sense of belonging to anything, and who are consequently no longer competitive in the world. Congratulations!

Did Dad take over the job of raising the children? Of course not! Women don’t want that either! At the end of the day it is still all the same evolved traits and mechanisms that drive you to find men who have good genes and are good providers and to look down your noses at men who don’t “hunt.” When a woman stays home, she is a mother and housewife. When a man stays home to raise the children he is a bum!

In the final analysis, you are all nothing more tools for our cooperate masters, who with the promise of power, manipulated you into denying the truth of what you actually are, and into to sacrificing our most precious assets, our children, and consequently our future!

Now, you girls deserve respect for what again?