Tuesday, August 27, 2013

{Women in Technology} Thoughts #1

Over the last year, a few people have asked if I was worried about going into this “male dominated” field and I really didn't understand what they were talking about.  I spent the last 8 years working in the construction industry, which was a male dominated industry, so I have no fear of finding my place in the programming world.  I have read articles about women in tech being treated negatively, naming discrimination as the cause, but I'm kind of oblivious to things like that.  I'm not saying it doesn't exist, but I work pretty hard to know my stuff and I NEVER pretend to know stuff I don't.  I also enjoy helping other people feel good about themselves, so typically my coworkers and bosses love me and treat me kindly because they appreciate my help.  

Over the summer, I attended Codestock (which was AWESOME) here in Knoxville.  At the conference, I never received any negative comments about being a female programming student. The conversations I had at the “after party” were a little more interesting… alcohol is great for that.  So, I will share a couple of the conversations I found amusing.

Before the party started, Rachel and I were sitting at the bar talking to a couple guys.  When she told them she was a programmer, one of them asked, “So, where do you  work? Jewelry Television?”
She laughed and I thought it was a little strange that they would try to guess where she was working.  I can’t remember ever guessing what company a person worked at when they told me their field.

Downstairs, I was asked a few times if I was a recruiter… which I also found strange.  Later, I was informed that could be taken as a compliment, because "usually the only pretty girls at a coding conference are the recruiters". I can see how maybe a veteran female programmer might get upset about being asked if she was a recruiter, but not me!  I chose to take that as a compliment... because I love compliments. :)

I did have one awkward conversation with a guy, which left me slightly offended.  I don’t get offended easily… but he said to me, “You will never get a job wearing stuff like that”.  (The dress I wore is at the cleaners, or else I would post a picture of it here)
I thought to myself, "Ummm, excuse me… but this is BCBG I’m wearing!"  I mean, it’s not Versace, but this is Knoxville.  He went on to enlighten me on what I "needed to wear if I wanted to be taken seriously" (which he described as cargo pants and a long sleeve tshirt).  He suggested that I look up the women CEO types of Facebook and Yahoo to see the "appropriate" way to dress.  So, I did as soon as I got home!  



I was relieved to see these famous women in tech looking fashionable in their cute dresses and stilettos.  Just for the record, you will never see me show up to work in cargo pants.... well, actually I have a pair of white cargo pants from Guess that scrunch up on the sides with little ties.  I would totally wear them if they still fit me.

So, guys, please... Rule #1: Don't give girls fashion advice - especially if we don't ask.

I'm happy to say that my experience meeting people in the industry has been positive so far.  Everyone at Codestock was super nice and I can't wait to go again next year!   I hope to make another Codestock post with useful information... like all the links to the cool sessions I took.  But school is starting this week, so I'm not making any promises.  

     

Monday, April 29, 2013

JAVA: Genetic Algorithms {Week 12}


Chapter Nine in our text book, Nature of Code, the author discusses 3 strategies to implement genetic algorithm theories in software.  
  • The traditional computer science method
  • Interactive selection
  • Ecosystem simulation   

From my understanding, these theories are used mostly in the research side of the computing field, especially in AI and evolutionary computation.   After our class trip to ORNL last week, I imagine that most of the fields using the super computers also use evolutionary computation somewhere in their research. 



I think the fact that this chapter was my favorite chapter in the whole book, is a strong indication that I would have a lot of fun working on a team doing simulations in astrophysics at ORNL.  Or maybe in their brand new 3-D visualization lab…..  If I could just keep my head out of those clouds.  **Sigh**  

My Project for WEEK 12:  Sexy Lady Creator

Method:  Interactive Selection

Heredity and Variation:  Value ranges assigned by me (using the Nature of Code algorithm)

Selection:  "Fitness" levels are chosen by the user (after all, beauty is in the eye of the beholder)




Existing Variables:
Body Curvature
Body Height
Breast Radius
Smile Curvature
Smile Length

Other Possible Variables:
Eye Size/Color
Eye lashes
Lip thickness
Hair length/Color/Thickness
Skin Color
Personality

Notes:
This project was inspired by several subjects I have studied over the past few years including, Art History, Psychology, Statistics, and (obviously) Programming.  The basic idea I was forming with this project was an application that could be used for fun or to gather data on what people perceive as beauty.  The idea of gathering data on people's opinions of beauty is nothing new, but for some reason it never seems to get boring.   Maybe because the variables seem to change with every culture and generation.  I have read studies where scientists use pictures of real faces to survey what we think is attractive - based on overall measurements or bone structure.

My project is quite different, mainly because I use basic shapes that are "drawn" and merely imply a female figure.   I chose to use the female figure for this project (in my class of ALL guys) in hopes that I would get extra credit for the use of boobs.  :)  HaHa.  An application like this could have a much wider range of use though.  The basic concept of organizing shapes and lines in a way that is aesthetically pleasing is useful in every industry - architecture, marketing, advertising (print and web), manufacturing - people want to see beautiful things.  In my project, I was trying to focus more specifically on figuring out what design elements are aesthetically pleasing in animation.  Considering the recent reports that the global animation industry pulled in over $222 Billion last year, a fully developed application of this kind could be useful.   

I haven't done much research yet on the animation industry, but I'm sure there are studies out there on what users find pleasing in animation.  I have heard that eyes are a major factor in animation.... In fact, even Dr. Doofenshmirtz tried to use his "Big Sad Eye Inator" to rule the tri-state area in this Phineas and Ferb episode.   Here's a clip of the show for anyone who is not familiar with this hilarious series...



  

Monday, April 22, 2013

JAVA: Fractals {Week 11}

Moving right along in this Java class.... fractals.   Last semester was the first time I had ever knowingly been introduced to recursion and fractals.  At the time, calling a function from inside itself seemed messy, complicated, and cannibalistic.  I hardly understood what a function was, so I was not ready to think about how I could use recursion in my code.  I still found the Mandelbrot Set interesting and I thought the colors and patterns were very pretty, but that was as far as I could go with it at the time.

I found a random quote on Instagram one day that I don't completely understand, but for some reason it reminded me of me.  I had forgotten about it, but coincidentally, I thought of it again while looking at these fractals in class this week....
"Easily attracted, dangerous to distract me."
What does that even mean?  I don't know, but I'm sure there was a good reason it popped into my head that day, and I'm sure it relates to fractals... well, because, doesn't everything?

After this chapter, my new thoughts on Recursion: it is beautiful, powerful, and magical.  This time, looking at a section of the Mandelbrot set, I was completely intrigued by the patterns that were forming in the background space with one of the color combinations.


The strange thing is, I guess that's not really the background.... it's all fractal code, there is no background, it goes forever.  When we zoomed in and I saw the 3 dimensional effect, with the varied wobbly overlapping petals I just had to try and draw it!  I couldn't even come close.  I haven't kept a sketch book in years, and it shows. I probably could render something close (in greyscale with a pencil) if I spent some time on it.  





If I spent even more time, I could probably create a similar effect with acrylic paint too.  That's the thing though - I already know I can do those things.  I will always love working with materials with my hands, but I am in complete awe of how this effect is being produced with pixels on a screen.  That's actually one of the reasons I chose programming - it's all brand new to me.


In some ways, a screen doesn't seem that much different from paper.... except  paint is a pigment- it's a layer.  Pixels are light?   Anyways, seems like a fun new hobby for summer... you loose some you win some.



Local Fractal Artist:
I ran across the website of a fractal artist in East Tennessee - Steven Lareau - He has been working with Mandelbulbs - a 3-D version of Mandelbrot!  I thought it was pretty cool and I love to share the work of local artists, so check it out if you can.


Fractal Tree Branching

(click picture to see in action)



 My fractal field needs more work.  This will be all for now.




Monday, March 25, 2013

Python Chatbot

This week, I have a really fun assignment of creating a chat bot in Python.  When I took 1110, I spent probably a whole day looking at different chat bots online and watching the funny videos (Are you a unicorn?), so I thought I had a pretty good idea on how the program should behave.  I also knew the basics about the Turing Test and that ultimate goal of the Loebner Contest is to create a computer program that is indistinguishable from a human.  My initial thoughts were, that the computer would require huge amounts of knowledge to accomplish this, along with some really good speech patterns.

Today, in our Java class, we watched a TED talk on Stephen Wolfram .  In the video he shows the Wolfram Alpha application, which appeared to be way smarter than Google!  It has an incredible amount of information about math, physics, science, history, tons of other things, and even linguistics.  I say it's smarter than Google, because the Wolfram is not just producing a list of web pages (half of them spam) for the user to hunt through to find the information they requested.  The Wolfram contains highly detailed, specific information about the subjects.  - like a universe size reference book.  I thought, man, if anything could pass a Turing Test, surely that thing has the ability.

But, after second thought, no... not really.  First of all, no human has all the knowledge of that thing!  It also occurred to me that "book knowledge" might help a computer appear more human like, but it's still missing something critical.  I guess compassion and understanding would be the main thing a chat bot needs to pass a Turing Test.  It's not just responding to answers with knowledge, it needs to respond with feeling and emotion.  It would need to be programmed to have beliefs on things that are good and bad and moral.  Just being able to figure out if someone is talking about something they have negative feelings about or positive feelings about could take a chat bot pretty far.  One variable that will play in the chat bot's favor is that so much emotion is already removed when communicating via text, and people continue to increase their amount of text based communications.  I can't even count how many times I've gotten email replies that I swear could have came from a robot.  I ask a multiple choice question and I get "yes" for a reply.  #soAnnoying.  Anyways, I'm sure there are lots of smart people out there working on chat bots with feelings and moral standards.  :)

I'm trying to program my chat bot to respond in a peaceful state of  zen to hide the fact that she has no emotion.  <3