Learning to code montage video

I mentioned back in february that I was working on a video montage about what the last year has been like. I really wanted it to be more of a comedy but it turned out to have more of an “inspirational” vibe. Go figure… Gotta let the art be what it wants?

It was a ton of fun to film and got me over a slew of learning curves I’d been putting off for a while; buying a nice camera, learning to use said camera, video editing, sound editing…

so…enjoy 🙂

Also, any feedback you have on the Neat Dude beanie prominently featured in the kitchen shots would be greatly appreciated.

Advertisements

presented without comment

Me: Can you help me with the S3 SDK? Trying to upload a file to S3.

Friend That Works For AWS: Did you read the tutorial?

Me: No. Not sure where to start. Can you walk me through creating a new bucket?

AWS:  AWS::S3::Bucket.create(‘my-new-bucket’).

Me: And what is that?

AWS: It’s an API. Called “create new bucket”

Me: How is that an API?

AWS: Now you’re messing with me 🙂

Me: That doesn’t make sense in that context.

AWS: API is the thing you call. The SDK has the API calls in it.

Me:  Sounds like a fancy word for a library full of functions.

AWS: Application Programming Interface.

Me: That makes no sense. You can’t “call” an “interface”

AWS: Yes, a set of methods is an API.

Me: Then it’s not really an interface, it’s a library.

AWS: KARI STFU. THE NOMENCLATURE DOESNT MATTER

Me: YES IT DOES. YOU CAN’T JUST GIVE SOMETHING A NAME THAT DOESNT MAKE ANY SENSE.

AWS: In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types.

Me: By that definition, Rails is an API.

AWS: Yes. It is actually.

Me: I hate you.

AWS: Get used to it. It’s everywhere.

Me: I’m going to make a new database and call it an application where all the fields are called methods. And you’ll query it with my_SDK and it’ll live on a server that’s called an API.

Me: #patent

Me: I’m in so over my head…

flash

today i want to give up.

today i want to leave the office, pack my things, fly somewhere warm and start a new life, never to return to tech.

if you didn’t know me today and you looked at my google searches and bash log and listened to my conversations… you would expect to find, probably, a small mentally disabled child with no programming experience or even a basic grasp of the english language.  What you would NOT expect to find a 32 year old professional, salaried engineer at a silicon valley tech company trying her _fucking _best.

today i can’t find the patterns. i can’t rely on any of the ways i reverse engineer the answers because every new problem completely changes the rules i know. i can’t ask my friends because this is internal config stuff. i’ve had a few hours of people messing about on my computer trying to help but they confused me more. trying to troubleshoot side-bar problems, then giving up, backtracking and hacking solutions before saying they had to run to a meeting. and i scramble to retrace what they did confusing myself more. and after i ask again if they can help me close the loop and it’s met with frustration. “i’m busy can’t you just figure this out” looks. So I give up and spend hours oscillating between ” I WILL do what it TAKES even if i have to read an entire book on Vagrant” then getting buried in web of CS theory, then feeling my face get flushed with the heat of desperation, then deciding to take a walk to calm down, determined to own the space between the stimulus and the response. Then sitting back down with another hour having gone by without progress, starting over again with slightly less optimism and a slightly lower breaking point.

if i were the photographer in the photoshoot of my life i’d be yelling “you’re upset! you’re inadequate! you’re at the end of your rope! show me hopelessness! show me total anguish!”

4 Diet Cokes, 6 walks, 3 peanut butter and jelly sandwiches (the true sign of a stressful day), 8 hundred million stack overflow threads, 10 thousand billion internal hackpads and i have to call it a day having made negative progress.

“you’re pathetic! show me disappointment! show me worthlessness!”

switch over to my other project as a last ditch effort to feel valuable. desperate to feel like i belong here. cut to me reading borderline condescending code review, which was probably meant to be constructive “tough love” but instead it comes off as “you don’t know what the FUCK you’re doing, do you?”

“show me a broken spirit! show me shattered confidence!”

cut to me swallowing my pride (and trying not to cry cuz god KNOWS I’d set back women in tech a thousand years if I cried at work because of a harsh code review) and blocking off some time to have someone hold my hand through this part.

“you’re useless! you’re actually making this team less productive! show me guilt! show me fear!”

what they didn’t anticipate was how the pressure not to fail at this, to never let them doubt giving me this chance, is making the learning process excruciating. it’s making me hypersensitive to the lack of social grace that’s typical in this field. it’s making it hard for me to LEARN the right way to ask for help because it feels tied to failure.

today i feel like i don’t belong here.

today i really wish someone would tell me how hard this is and it’s okay to not get it right away.

today i wish i didn’t feel like there was something wrong with me for needing some support.

today i wish i could be completely fearless.

but i’m not.

flash.

Can I call this entry “stack of shit”?

last week someone asked me what our “stack” is…

A stack is one of those abstract concepts that seems simple, but i wasn’t confident i could speak intelligently about the specifics of “our” stack.  so….off to the internet! … where no one could agree on a definition. so… off to the engineering team!!! ….who all gave different answers…

the tl;dr conclusion I reached is that a stack is all the “shit” needed to do a “thing.” And “things,” “needs” and “shit” are   open for interpretation.

After failing my OCD in trying to categorize technology types, or find some pattern in how it was being explained, I took the holistic approach and had one of our PI guys walk me end to end through everything that moves when someone clicks a button on our site.

the tl;dr of this next section (yes B, I can put 2 tl;drs in one piece of writing)- is that this is too much to fully grasp in one pass and it’s gonna have to come together slowly over time as I get more exposure. but just for fun (and because I enjoy self-deprecating humor) here’s kartarr’s insane attempt at explaining our back-end path.

********************

H’okay so here’s the user… he clicks the search button on airbnb….then you’re go into HTTP technologies land (which even tho http FEELS like a common word, i’m not sure I could explain how it actually works). something to do with servers and requests and URLs and the things…and omg proxies! which was an Out Like Pluto song… and also TCP, which was Out Like Pluto’s original band name. v important to know before moving on.

k so then because we’re grown ups, we don’t just let the “things” talk to other “things” directly! that would be madness bananas! let’s stick some more technologies in there!! so the…thing… that’s moving… the…request? yeah that! so it goes through a bunch of “things” that other engineers built so the world would be a better place and stacks would become mountains. things like Akamai, which sounds like (some Japanese paper folding video game) it just makes a bunch of copies of a website and stores it on servers closer to wherever the users is and then redirects their browser to the uh….replica?… maybe? how’m i doin? 40% sure some of of that was right (thanks wikipedia for not being a tool for once!) but it’s going downhill from here…

k so then amazon gets involved (cuz in the flowchart there’s an AWS cloud above everything) but I’m not sure what it’s really doing. cloud stuff. which is confusing. and if you think you know, you don’t. or you work for AWS (hai Dan!)

so then there’s a whole bunch of stuff that i’m thinking is internal because google doesn’t have any search results for it. unless we really do use the technology of greek gods and mythical creatures to do whatever “http technologies” things they’re doing.  things like … load balancing. obviously, loads should be balanced. if you’ve got unbalanced loads then you can suck a dick. that’s what i always say.

then (THEN!) there’s zookeepers! and synapses! and daemons! (another word i’ve seen a lot and definitely have NO idea what it is, except that it sounds evil), and also rakes, which don’t appear to be part of the rails framework according to the graphs but i don’t understand how it could NOT be? hello? rake routes? (please dear god let these concepts start connecting at some point pleasepleasepleasepleasepleaseplease) But sure, why not? fuck rails. this rake has NOTHING to do with rails rake routes. TOOOOOTALLY DIFFERENT rakes. God, Karen, you’re so STUPID! in fact it’s all part of the unicorn uh… object. (see also- everything is objects! objectsobjectsobjects!)  which do some kind of unix magic as far as i can tell… but hey, isn’t all unix magic? :::warm smile next to a fire :::

and then…Finally the path leads us to the ruby code (yaaaaaaaay i know this one!!) which is in the “language” bucket in our “shit” list (ha). and from my entry on routes files, I explained how it goes to the routes file to find the mapping of the URL to the controller + the method, goes to the controller and runs the method… but not before…

(**warning rails magic ahead**)

…it digs through a whole SLEW of built in objects like, testing services and something that caches… uh objects? (double ha)… something about memcache which feels like a redundant name? then and it uses Active Record (which —

side bar– unless I’m missing something, ActiveRecord is a library of ruby functions that lets people use SQL who don’t want to write SQL, which feels cyclical because SQL is kind of a way for non-programmers to not have to learn programming languages to get data so… by that logic… if I wrote a ruby gem that let you write HQL code using a library of functions that called active record functions…. profit?????? )

…k so then it queries the database (in the most annoying inefficient way possible probably) which is a whole NOTHER bucket of shit that I’ll skip because… ugh data infra…

and then FINALLY, **tho not any less confusingly**, it renders the view file using … a whole bunch of front end shit, which appears to be Javascript but there’s a bunch of .js things that appear to have some **relationship** to javascript and kinda feel like a rails to ruby relationship but i’m not sure how it works and why there’s about literally 80 billion of them but everything in the code I can see look pretty much like javascript. which… is not java… totes different. way different, Karen. except they’re related.. kind of… except, no they are. well they were, originally, but not now.

then uh… step 3 WEBSITE!!!

*****************

so in conclusion, just say ruby on rails and if you work in the FBA, there’s an 85% chance you’ll be right. and if someone asks you any follow up, just recite the lyrics to any Kanye song, replace every 5th word with “object”, every 7th, 8th and 9th word with the acronym of those 3 words, pepper in “node” and “script” lightly, and chances are  you’ll probably be right accidentally.

the end.

Day 1

Screen Shot 2015-05-06 at 4.55.21 PM

so there ya go.

389 days ago i started this blog to recount my adventures in learning to program. and now i guess the real work starts.

normally i’m weary of pride, feels like tempting karma to fuck with you. but i’m gonna allow a moment.

i love accomplishing things. i like winning when the odds are not in my favor. i live for things that look “impressive” and this feels like a big win.

there are 2 moments i can recall feeling that warm fuzzy “it’s all gonna be okay” glow of accomplishment. the first was my first night in seattle. i moved from florida without a job or any money and the first night in my apartment i slept on the floor with my dog looking out at the city and felt this wave of excitement.

the second was during my band’s cd release party for our second album. we had tracked an acoustic version of a single from our first record with a full strings quartet and we played it live at the show. at that point i was pretty used to performing but something about the stillness in the room and the connection i felt while singing with the strings. no one spoke or moved or went to the bathroom or the bar. just stared at me and i felt like i was singing a lullaby to 100 of my own children. it was an insane feeling.

and at the risk of following up that beautiful artistic moment by talking about a new job…

okay moment over. time to go “crush it” as they say.

 

hipster hackers

currently at my second engineering clean-up week. This time, instead of assisting someone with the finance requirements, I’m actually assigned to fix some shit. v exciting. actually suprized how not intimidated I feel right now, given how absolutely drowning I definitely am. well, maybe not drowning, but definitely the slowest, least valuable person in the room and i understand about 50% of the idle chatter. and this is a gamified such that there’s teams and scoring for who can accomplish the most during the week. and it’s absolutely going to take me all week to do the one thing I assigned for myself.  and for some reason, I’m oddly at peace with that.

taking a break from digging to share a parallel I noticed between when I first moved to Seattle and learning programming.

During lunch today, I listened as people talked about some paper on consensus algorithms, the philosophy behind incremental version updates for Rails and a talk someone gave at a conference. I contributed literally nothing. Except that I did know the version of rails we use 🙂 But I silently made notes of all the things I was going to google later. And instead of feeling left out or overwhelmed, I was excited about all the new stuff I was gonna learn later.

I used to do the same thing when I first moved to Seattle only the subject was music, webcomics and all things meme. I remember being out with friends and they would talk about Band of Horses and XKCD and some song about George Washington. And I’d make lists upon lists. Then at night, I’d sit in front of my computer and experience the most incredible art and comedy. And I loved it.

And then I can pinpoint the day when I remember feeling “up to speed” and someone mentioned a band I hadn’t heard of. And I said “i’ve never heard of them?” and as is common in seattle, i got the hipster “seriously? you’ve never heard of them?” and I said no, and THEN got my explanation.

and afterward, a friend of mine texted me and said “i’ve never heard of them either :)”

and i remember very clearly thinking “i will approach every new culture like this. i will be silent and furious to learn and when i am ready I will never be afraid to ask questions.”

and maybe i’m not intimidated right now because i’m so excited about this entire new culture. there’s slang and  and slang and swag and elitism and it’s all so fucking exciting.

< digress >

it’s funny because most of the world approaches new relationships this way but wants to skip to the part where they fit into a new role. but i’m the opposite. totally comfortable being the new kid and love the honeymoon bubble of a new role, but hate that part of getting to know another human being. maybe it’s because i’m in control in one and not the other.

</ digress >

for fun- i’ll end by sharing today’s list of things to google:

1. Read the Raft Paper

2. what is a linter?

3. PCI’s role in eng

4. Spinal Tap (not the band)

5. What’s a trebuchet?

 

theeeeee end

syntactic sugar

ooooh time for a rant. lest i write “how to curb-stomp your macbook Part 2.” I’m also writing this before I’ve figured out the solution so should be emotional 🙂

So. syntactic sugar…fucking a.. is basically syntax within a language that makes it easier to read, so instead of having to type out

array.[](1)

you can just type

array[1]

which can be nice, but there are more “magical” examples that make it pretty FUCKING_IMPOSSIBLE for you to figure out what’s going on from existing code because the code randomly doesn’t follow the same rules in some places. And probably what’s worse, they flat out just omit code ALL_FUCKING_OVER the place.

When passing a parameter into a function, you enclose it in parentheses. Except FUCK PARENTHESES, let’s have it work without em! Sometimes!

This is at least somewhat manageable in Ruby, where you’re dealing with functions and objects etc,  but when you’re building Rails apps, the problem is an order of magnitude worse, cuz not only is more shit is hidden but it sets up half the shit for you when you run rails commands and you have no idea why some stuff works because it references code you DIDNT EVEN FUCKING HAVE TO WRITE IN THE FIRST PLACE SO YOU DONT KNOW IT EXISTS!

mother….fucker.

and while I’m ranting, would it be possible to NOT have the same FUCKING word for completely different things in a project? So I’m looking through this sample code for an app that stores a db of movies.

In it is a model file, movie.rb, with a class Movie, a controller file, movies_controller.rb, with a class MoviesController that has an instance variable @movies. Also in the functions on the view file, |movie| is used to iterate on and used as a parameter for the search functions.

So in the routes file when it says:

root ‘movies#index’
resources :movies

what do you think it’s referencing there? controllers? models? classes? variables? pizza toppings?

YEAH I DONT KNOW EITHER!

……. 5 hours later…..

okay think I got a handle on this. sidenote- another thing I hate about rails is that most of my programmer friends hate it and not only can’t help but get elitist and refuse to even try. so i have to ask coworkers, which I really hate.

okay lesson 1- root/resources versus GET

The single most helpful first thing I learned is that this:

 get ‘/’ => ‘main#index’

is the same as this:

root ‘greeter#hello’

I don’t think anyone has ever written a rails routing guide IMMEDIATELY after figuring this stuff out from scratch and it becomes so second nature that they forget what stuff can trip you up in the beginning. So then they go, oh root is your main landing page, so just use root. Well fuck you, it’s super helpful to think in terms of the URL path which is literally just ‘/’

Now that we have that, the rest of the explanation follows much more naturally.

So all the routes file does is map 3 things together:

HTTP Methods (GET, POST, PUT, DELETE) :: URL pathways (/, /movies, /movies/new etc.) :: the right controller and method ON that controller.

so get ‘/’ => ‘main#index’ in english means, when the page is requested send them to ‘myapp.com/’  then go to the main controller and run the index function.

the long way of writing a routes file for a single page looks something like this (but with all the HTTP methods and 7 standard controller methods)

GET ‘/’ => ‘main#index’

GET ‘/movies’ => ‘movies#index’

GET ‘/movies/:id’ => ‘movies#show’

GET ‘/movies/new’ => ‘movies#new’

POST ‘/movies/:id’ => ‘movies#create’

and then you’d have index, show, new and create as methods in the movies controller.

BUT rails decided you’re lazy and don’t want to type that so:

resources :movies 

will do the exact same thing. The end.

 

Lesson 2: just kidding you don’t actually need a method in your controller, cuz you’re lazy and you hate parentheses and typing and don’t want to do any fucking leg work to get your app working. 

so this:  root ‘greeter#hello’  means that the ‘/’  is requested, points to the greeter controller and runs the hello function.

BUT what there WAS NO hello function on my controller. so how did it know? and why if i changed it to greeter#index then added an index function, did it break? feels like that should be MORE right? right? rightrightright?

well, sneaky rails, turns out that if there’s no function in the controller, it sort of implicitly goes to the view files, finds the  folder with the same name as the controller and magically knows to renders the “hello.html.erb” file.

so here’s how I broke it down:

This is what I have:

Screen Shot 2015-04-24 at 11.45.20 AM

But this also works, meaning the method can be anything as long as it’s the same as the filename in the views folder.

 

 

Screen Shot 2015-04-24 at 11.50.59 AM

OR if it’s not the same name, you have to define the method that renders the file.

Screen Shot 2015-04-24 at 11.51.19 AM

 

 

I cannot tell you how much better I feel after finishing this entry. Sometimes it feels like I’m going backwards. I’m simultaneously building complicated shit that would assume I know how this all works, then in trying to replicate someone else’s code and it doesn’t work, and i can’t figure out why, I end up spending 5 hours peeling back all the layers of all this “sugar.”

Fuck sugar. And fuck rails as a first framework. One really should do things the hard way before having the luxury of shortcuts. Tho I guess you could call what I’m doing to learn this almost worse than the hard way?

oh well, I will defeat you rails, if I end up accidentally learning an unnecessary amount of computer science along the way…

 

 

The F-Word

as i get closer to becoming a programmer, my entries are becoming less tech-heavy and more topical, which I think is a good thing. if a terrifying life change doesn’t bring up some internal philosophical debates then you’re doing it wrong. one thing that’s becoming clear, is that I have to get my head straight on how i feel about “women” in “technology.” a topic I’ve long since avoided. but here goes…

earlier this year, a friend of mine suggested i consider helping with the efforts to recruit more female engineers as part of my branding efforts. and I had two very clear, very strong reactions:

Immediately, I thought, “hell if it lands me a programming role, i’d {insert radical feminist action} , i don’t care.”

Followed immediately by, “ew, what if i get a role then suddenly people think **I’m** a diversity hire?? i don’t want my name attached to that. I want my gender to be as invisible as possible when it comes to my career. so no, fuck that… and a half.”

But I was so intrigued by my violent polar reactions, I had to know more. So, I had long talks with friends, I watched Ted talks, attended conferences, read articles and blog posts. all the while dutifully not blogging publicly on the subject until i felt I had something, if not unique, at least organized to say.

In summarizing my thoughts I want to preface with a really important point that I don’t think is made enough. There’s a huge selection bias in what ideas I connected to in my research, so these are only **my** opinions on the subject.

h’okay, so here’s my list of epiphanies:

1. radical feminism != feminism

The first thing I wanted to explore was why the word “feminism” made me cringe and want to change the subject. Having adopted a svelte avoidance of gender topics, my definition of feminism was limited to a pretty perennially loaded concept. Defined most strongly by the loudest that make the best media.

Once I started digging in, I realized I’d missed and a decade of my generation on a quest to define things for themselves.  This is an important starting place because if you’re going to have an open-minded conversation about any subject, you need to first recognize your own biases. then you need to ask yourself why you had them in the first place. which brings me to…

2. my background defined my relationship with gender more than I realized. a lot more.

I am an only child, with absurdly supportive parents. my father has a PHD in engineering and my mother used to be a jet engine mechanic. growing up, there was nothing BUT drive to get me into a STEM field. i went into college to be a writer because i WANTED to. there was no one telling me i couldn’t/shouldn’t do it. so i didn’t easily relate with the notion that “society tells girls they can’t be in STEM” even tho it’s definitely there in more subtle ways.

I also grew up as a white middle class military brat, mostly in the states and parts of Europe. After reading stories about girls in other countries being subject to actual formalized rules and laws that forbade them from leadership roles, I realized I had nothing remotely similar to compare to. If I had, I would have had much more to say on the subject before today. But I didn’t grow up in a time or place where oppression was explicit and black and white.

Lastly, I grew up without any siblings, which I think defines gender roles earlier and more personally for people.  I talked a lot to women who were told they shouldn’t live alone or stay out as late, when it was acceptable for their male siblings to do so.

3. There *are*  circumstances when it’s okay to entertain gender-bias as a cause for inequality.

Okay, this one was always my biggest hang-up. One mantra, that’s a big part of who I am, is that blaming failure on something you can’t control or change is weak. “I didn’t get the job because I’m a women,” or “I get paid less because I’m a woman.” Hearing things like this always made me want to shake people and scream “take responsibility for your own shit! if it’s a boy’s club, then go make friends with the fucking boys!”

But- I had not considered a small, but important, benefit to finding balance here, and it’s all about maintaining your confidence. If you feel like everything is in your control, failure will drive you insane (I can personally attest here).  If you think gender-bias is within your control, it can cause weird sense of self issues and paralyze you from kicking up shit that needs to be changed. Granted, I still think people abuse this… a lot, but I’m slowing coming around to the idea that maybe I’ve been subjected to some unfairness that was just out of my control and I shouldn’t always blame myself or try to “learn how to better myself” from it.

4. Anyone is entitled opinion on this subject

This seems obvious but it’s the main reason why I never explored things until now, and I have to imagine other women feel the same. Most literature you read on “women in tech” are written by  successful women who have amazing stories and nestle their opinions behind their accomplishments. Who wouldn’t want to know Sheryl Sandberg’s stance on gender equality? And every blog post I read on the subject seems to preface with a “here’s why I’m qualified to talk about this subject.” And, I never thought I was. Yes, I’m a woman and yes, I’m in tech, but I also don’t have this shit figured out.

There’s also a zeitgeist of “kill the messenger,” especially on the internet. Can I even say “woman” or do I need to say “person who presents as a female?”  Does my experience represent anything useful? Where do I actually stand on the issues?

5. role models are hard to find and the mainstream pretty much sucks.

Another idea I had to get my head around was that not only was I going to disagree with a lot of popular theory, but it was going to be downright hard for someone like me to find a person, in whom I could believe and model myself after.

Mainstream feminism makes it feel like money and sex are the only things that matter for women and it’s also extremely bias toward white, western women. “Lean In” basically criticizes everything women naturally do in the workplace and tells us to act more like men. And even tho I worship artists like Madonna and Margaret Cho, the sex-positive movement doesn’t help me at work.

6. i can benefit from sexism, and so can you!

there’s a fascinating pressure for women to divorce themselves from femininity, that i subscribed to very early on. to not be one of “those” girls. so many who claim “i get along with guys better” and “all my best friends are guys.” i grew up hearing men complain about all the things, both annoying and wonderful that make us women. being “one of the guys” made me fearless to compete in areas that can be intimidating. at every job, i’ve always been friends with more engineers than finance people. and i’ve always secretly enjoyed how just doing “guy things” like riding motorcycles, playing the drums or drinking scotch makes you a “bad ass.” because i like those things. and it’s worked out well for me. and this idea doesn’t just come from men. female leaders who advise anti-feminine behavior as a success tactic at work add to the pressure.

one of the things that makes sexism so complicated is that it’s so easy to point to the tangible benefits of being a woman. i got a fairly decent scholarship in college that was only given out to women. and I hesitate to admit this, but i think since there’s a stereotype around women being less technical, sometimes it helps  because my accomplishments are weighted differently. i guess i’m arguing that a low bar is easier to cross and no one seems to care where the bar is, it just matters whether you get over it or not.

but probably the most i benefited, and with almost no guilt, was being the lead singer of my band. the music industry is as male-dominated as most STEM fields. and being a female-fronted punk band gives you a competitive edge when you’re marketing yourself. we got more gigs just because i was a girl. and how am i to feel about sexism when the status quo seems to be giving me a huge advantage?

7. sexism is fucking eeeeeverywhere once you start paying attention

the final epiphany I had, a pretty sobering one, was just how rampant sexism is when you start paying attention. Gender roles are defined all over the damn place. and i’m not just talking about exploiting sexuality for marketing purposes.

just like… sigh, this:

Barbie ht_barbie_engineer_2_FLOAT_kb_141119_4x3_992

and this:

image

and this:

lrgscaleKANTY302_plastic_cleaning_set_2

and this

Screen Shot 2015-04-21 at 4.14.24 PM

okay now I’m just having fun googling sexist products 🙂 THERE’S SO MANY!

okay, that was a long entry. but now that it’s out of the way, i can move on and continue ranting about stupid, frustrating nerd things that make me want to curb stomp my macbook(again), like rake routes, keyboard elitism, syntactic sugar and why I’m mad at Yelp.

so until the next hot button issue,

night nerds

programming and the art of zen

epiphany of the week: programming is fantastic practice for being zen.

Each problem is like a mini version of some life event. You start out daunted but excited. You dive in  (or at least I do) and immediately feel a sense of growth and satisfaction. Then your first wall. But you’re high on endorphins from you first 5 wins, so you break through. Then you hit a second wall. And that one means your first 6 wins mean nothing and you have to start over. Then your second idea doesn’t work. Then your third. Then you start doubting yourself. Then guilt. Then fear. Then frustration and anger. And you feel like you’ll always feel this way. Then distraction. Then it’s like that scene in Neverending Story after the Nothing destroys everything and it’s just Bastion and The Childlike Empress and that tiny pebble of hope. And it’s small, so you proceed cautiously, not wanting to get your ahead of yourself. But something feels right. So you go explore, and things start clicking. And you add more and more things click. Then you stand back with a black and green screen full of fucking OUTPUT and it’s the most beautiful thing you’ve ever seen. And you sit back feeling the glow of accomplishment. but it’s fleeting and your next problem taunts you. so you start the whole process over again, determined, THIS TIME to remember that you’ll get through it. to hold on to the good feelings and skip the bad ones.

but you can’t because that’s not how things work. and zen isn’t about being happy all the time, it’s about accepting things as they are now and knowing they will change. and that’s not happiness, that’s presence.

oh and also this cycle happens every 2-3 hours, depending on the problem.

but in life things like, new jobs, breakups, just a DAY, take much longer and it’s harder to see the ebbs and flows. so i’m diggin the metaphor.

also accomplishments of the day: making a custom newsfeed using the reddit API (hello hash iterations) and making a number guessing game (hey there nested loops).

feeling so effing proud and excited and… trying to be okay with knowing this won’t last and tomorrow i’m going to start on objects and momentarily entertain the thought of going back to bartending 🙂

who knew engineering was so full of EMOTIONS?

everything is objects!

so how are things this month… you know that scene in terminator 2 where the T-1000 gets blown into a bunch of pieces and then slowly starts pooling together before forming that cop guy again? I’m past the blown up part and have moved on to the… “pooling” …part.

What I’m trying to say is 1- things are coming together and 2- the better I get at programming, the worse writer I become.

I’ve been getting faster at writing algorithms, having been contributing tiny little fixes to the code base, spend about half my time in engineering and am building a realistic yet still confident picture of my future.

The short of it is, I’m going to be a slow, inexperienced and generally crap engineer for a while. And then I’m going to be good. And then great. the kind of great that comes from fear of being an impostor, that motivates you to learn faster and work harder to keep up and compete with people you have no business comparing yourself to, but really can’t help it, because it’s what you want.

In other news- I started my Ruby class last night. Trying not to get cocky but I ended up helping the TAs help people install everything, since I’d already done it. And the book that the syllabus is based on, I’ve already read. Regardless, I’m still looking forward to having a bunch of humans at my disposal to bother with questions. More on the bootcamp when I’m further in.

In more fun news- I’ve started filming a parody montage training video, that shows all the phases of learning to program. Mostly, I think it will be funny. But also a start to developing my “brand”. It’s becoming evident that what i’m trying to do is somewhat unique and could possibly serve to help other people figure this ish out.

If i’m being honest about what *actually* motivated me to really give this a serious go, it was an offhand comment from a girl i had one conversation who she quit her job in marketing, took a bootcamp and got a job as an engineer for twitter 6 months later. All it took was for me to hear about *ONE* person doing it and it gave me the push I needed. So I’ve been considering making it a public part of who I am and thus a video. It’s being shot chronologically, and i’m hoping to end it on a close up of a title change in linked in or something, so it won’t be done until… well, it’s “done” 🙂

what else… what else…

oh! I keep putting off an entry about my thoughts on “women in tech” but I am going to my first woman-y conference next week, so the short of it is, i’m slowly embracing it… with caution. more on that later.

okay off to unnecessarily changing algorithms to leverage objects and classes, thereby increasing the lines of code ten-fold with no real benefit except learning how to use objects and classes which is impossible to see in small examples but the only way to start because designing an entire code base isn’t exactly an option so yeah. learning. yay!