Monday, May 25, 2015

Personal Code May 25th 2015: Toddling towards a new career.



About a month ago I got accepted into Coding House, a computer programming boot camp in the Bay Area. Since then, I have been working my way into the corners of the world (and virtual world) that web developers inhabit. And I've found, in a lot of ways, learning to be a web developer is like being a toddler again. I am suddenly, learning how to get myself around, bumping and toddling through the command line, learning to paint with my fingers all over -- using HTML and CSS to create a pretty picture of my program and I'm learning how to communicate in a new way.

Crawling with my hands   
My fingers are moving in new ways these days as I explore corners of my keyboard that I rarely touched before.  Holding down shift with one pinky while I bend the other towards the  "<" or "}" is a bit like a game twister for my digits. And like twister, it's a struggle, but its still fun. Using keyboard short cuts (command S, command shift 7, command control j etc) and typing in the command line feel unnatural. Pushing my work to git hub and pulling work back is a bit confusing, but it's exciting. Every day I feel like I'm doing things faster. Better. And I'm able to do things I never knew were possible before.

Finger-painting
HTML and CSS seem to be the least efficient aspect of web development. I doubt even the best developer or web designer realizes their vision for a page without a little tinkering to their code.  It's hard to picture exactly what something will look like when you're just typing words on a page so you do you best and then you tweak it. Adding just a bit more padding or trying a different font until all of the code that you've bent your mind working on looks just so. Nit picking is the opposite of efficiency, but at the end of the day, its the shit that sells. The end game of what I am doing when I write a program is to sell it to others-- make it accessible and appealing to people who may or may not know anything about programming. And that is about psychology-- not necessarily science.

Learning my first words
I've always loved words. Written and spoken language gives humans power beyond that of any other animals on earth. And computer languages are an evolution of language that further increase our capabilities.

There are many "languages" in programming, but programming in general is a way of hewing mathematics, logic and language together. The syntax and command words used in the various programming languages (C, Java, C++, Javascript, Ruby etc) are different, but the way every computer language is designed is based on logic-- unlike English (or any other language I'm sure). In the English language there are arbitrary conventions, redundancies and exceptions to rules that make mastery of the language an arduous task. But in computing, as long as you understand logic and learn a few basic "phrases", you can quickly and easily pick up a second or third language.

And to me, programming is beautiful. In prose and poetry, the striking lines and phrases are the ones that convey something that is both honest and poignant in the most stripped down basic language possible. Flowery language is cheesy. Bullshit. In coding there is no room for bullshit; there is only logic.

There are only a few unique commands in each programming language, but there are infinite possibilities of what you can say with them. Everything is intentional. Moving a parenthesis can completely change the meaning of a bit of code, the way breaking a line in a poem can change it's meaning. I love that. It's a challenge because you have to always be attentive to detail while you  code, but when you do it right, you can speak volumes on every single line..

A picture is worth a thousand words, but a well written function can be worth ten times as much.

My code today is my first attempt at incorporating all of my burgeoning skills at once. An interactive web site that I've pushed to git hub and pulled back again.
PetSittingLikeABoss







Tuesday, May 12, 2015

Personal Code 5/12/15

Last weekend 5 of my lady friends and I went to Prescott. 
                                   
                                                        To maternize and be merry...
until we just couldn't take it anymore.




And it got hanging-from-the-rafters cray up in our cabin.





largely because of the creative-sparkin-so-not-PC-silliness that is cards against humanity.





So my personal code for today is a mini tribute to that game.
   
 Written in Ruby:

#determine the number of players

#deal 5 white cards out to eac player
# rand (0...black_cards.length) 5.times
#create an array for each player to store their "hand"
#if 2 / if 3/ if 4... deal cards num_players .times

#randomly select a black card (random number generator).
# rand (0...black_cards.length)

#delete black_cards from array as they are used
#black_cards -= black_cards[i]

#identify how many white cards are needed to play per black card

#player selects card(s) to play. -- assign multiple choice values to each card in the players hand.

#each player plays his/ her cards

#draw more cards to replinish hand.

number_of_players = 0
while number_of_players < 2 || number_of_players > 4
puts "enter a number of players between 2 and 4"
number_of_players = gets.chomp.to_i
end

black_cards = ["That awkward moment when you realize. *_* is/are actually *_*", "Cheerios taste even better with *_*", "well why didn't you just tell me you were a *_*", "if it wasn't for *_* I never would have met your mother"]

white_cards = ["rabbit pellets", "A strong propensity for shitting myself", "Quantum physics", "A collection of Famous womens' used tampons.", "dry humping", "doing the hustle", "screaming obsenities every time I hear the song Where Its At by Beck"]