I like to take plain text notes when I attend lectures, so I thought I'd start sharing them. Please excuse if the earlier ones are bit sketchy.

Computing Lectures

Grace Hopper Conference for Women in Computing


---
Sheryl Sandberg
---
- bootstrap your way up
- asking manager guys why you can't hire women
	- people told her "most women are not like sheryl. you're competent".
	- can't hire young women: wife worried about him sleeping with them
- women get asked, "should you be working?"
- events like GHC important because it _helps_
- 4800 attendees


---
Be More Strategic
Karen Catlin + panel
----
- catlin started femgineer
- Mary Fernandez - CEO MentorNet
- Ann Mei Chang (State dept)
	- take risks
	- one-sentence pitch (not even elevator)
	- clear targets/goals make it much easier to contextualize suggestions
- Meena Kaul-Basu
	- solid plan that you communicate both up and down. All of team must be very committed to what/why to everyone on the team.
	- look far ahead at what the market in your area/world would look like
	- 
Mary Fernandez (MentorNet)
	- mission, leadership, strategy are the three things required for success
	- strategy is in service to mission, set down by leadership
	- should always be prepared for cut funding, change in leadership, etc
	- you must understand the mission and strategy of your corporation
	- culture of mentoring is the foundation of diversity
	- make sure metrics are measuring the corporate goals
Christine Rimer
	- to maximize impact of what you are doing, bring people along with effective communication
	- people must understand what and why you are doing			- most people you think are working against you, just don't understand what you are trying to do
	- "I'll replace myself in 6 months if it's not working out"
Q&A
- for new techs, must have correct stakeholders at the right level (story about ad-hoc networking in mobile at AT&T)
	- if you have conviction around your work and are being ignored, you have to be loud and find the right stakeholder
- no such thing as overcomumnication
- attempt to fail every day and get feedback
- be concise
- the right message at the wrong time is the wrong message
- people won't give you feedback if they don't think you can take it
- failure at work is like public speaking
- fail more => "how can I learn something every day?"
- How to balance risk vs not getting fired?
	"So, I live on the east coast. We do have technology on the east coast"
	- look at this room. there's an equiv room full of women who worked at jpmorgan chase who also got burned out, except they have a lot of cash in the bank and are looking to invest
	- don't worry about losing your job

---
Using volunteer opportunities to drive forward your career
Lisa Schlosser (moderator + speaker), Erica Christensen (CA technologies), Josie Gillan (Salesforce), Audrey van Belleghem (NetApp)
---
- volunteering can help you gain leadership experience you may be missing
- helps networking outside of work, can also give perspective to your work
- each company gives VTO (volunteer paid time off), 3-6 days a year
- still rewarding to do opportunities tha you were asked to do -- equally rewarding, regardless what you presupposed you would get out of it
- games for children
	- two lines, people with numbers, make them sort themselves
	- "bring a friend" also helps
- two employees put together a python coding class
- coderdojo, codesavvy
- volunteermatch portal for CA tech, which lists volunteer opportunities
- during women in tech at [company], during lunch, show recorded webinars


---
Joining your first public company board
Naro M. Denzel (Intuit, 2 other boards)
---
NL has 17% women in public boards 5th place 
	- noway (41%, have a law), sweden, finland, france, then UK, denmark, south africa, NL
phases
	1: research what boards do, and understand why you want to be on a board, like a 4-5 word tagline
		can look at board bios online
	2: preparation (6-7 yrs): Understand your BVP ("Board Value Proposition"), join an advisory, non-profit or public board
		be very strategic, find boards that have board members that are also on other public boards
	3. quiet search phase: don't appear too eager
- should not go onto a board and then leave when they don't want you to
- people stay 10-15 years on a board
- 50% have day jobs, 99% are on only one board
- for full-time board members (example ex execs), 3 is really the max
- there are board events hosted by E&Y, delloite, and others
- usually 3 committees: compensation (for senior execs), audit (financials), nominating and governance (adding new members)
- maybe 100 hours a year
- non-profits can be quite large: 1.7B salvation army, 1.6B for catholic charities
- describes type of boards
- pay range, typically 25k-400k, plus stock
- should never join a board for the money
- public board is the representatives for the shareholders, since public companies are owned by the shareholders
- it's not who you know, or what you know, it's "who know's what you know"
- 91% board hirings are referrals
- when 1 woman on board, it's "gentlemen and nora", when 2, they think you're teaming together and confuse you, when 3 it changes.
- when considering a woman, people on board might say "she's qualified, but she lacks gravitas"


---
Keynote 3/10
Megan Smith
---
- someone doing project to study media bias  for careers and gender, needs more CS majors

---
Looking for bugs in all the right places
Elaine Weyuker (Rutgers, parttime at Swedish university)
---
Tom Ostrand (husband)
- determine whih files are likely to contain the largest numbers of bugs in the next release
- if you know the bugs, what would it tell you?
	- who you want to work on the project, use more expensive resources on these small parts of the code
	- 
- system, .5 million LOC, quarterly releases
- first looked at distribution of bugs, to verify the 80/20 assumption
	- found that beyond first release, 100% of bugs were in 20% of the files
- 2 years to get to the point where you could start making predictions
	- empirical software engineering is very slow
- correlations:
	- KLOC
		- KLOC best predicter as fault density OR total # bugs
	- # changes to file in prev 2 releases
	- # bugs in file in last release
	- age of file
	- language file is written in
**Q: thoughts on companies that do continuous deployment?
*Q: how exactly do you determine which files actually caused bugs
- used negative binomial regression for prediction
Q: thoughts on why negative binomial regression performed better, and did you try decision trees?
- two parts: back end extracts data needed to make predictions, front end makes predictions
- assessing success: percentage of actual bugs that occurred in the N% of the files predicted to have the largest number of bugs (N=20)
	- prioritize files
	- compare, estimated 87% of the bugs would be in these files, actually was 83%
	- looked at other ways to measure, but practitioners couldn't understand them
- while comparing to the accuracy among different systems, found very consistent accuracy (% faults, top 20%, 75%-93%)
	- 90% => accurately predicted where 90% of the bugs were => top 20% of the the files contained 90% of the bugs
- what are we missing? 
	- incredibly skewed, one file has tons of bugs, then decreases quickly
	- graphs: files ranked by percentage vs number of bugs in that file
- initially built severity into the model, but severity is very inaccurately reported, mostly for political reasons
- if fixing bug changed 3 fieles, then 3 bugs
- for continuous integration, make fake releases
	- Q: but new files, or deleted files?
- tool configuration
	- name of system, which release to predict for, which file types.
	- then shows ranked files by number of predicted bugs (%faults)
	- written in python
- other factors studied
	- counts (#ppl that worked on code), individuals
		- individuals really did not work at all
	- dependencies, are dependencies nwe/changed/faulty
	- lines added and deleted changed
	- none were very significant
		- only one that hepled at all was total # ppl that touched file over time
- would like to do it later with clearcase

---
Computing on Wheels (Ford Research and Advanced Engineering)
reates curry, jayanthi rao, pramita mitra
---
- open XC platform for apps (Ford)
- three types of infotainment apps
	- built in (expensive)
	- brought in: apps run on brought-in devices and run on video (emergency, internet radio)
	- beamed in: apps run in the cloud, rendered in vehicle
                                     

---
ABI Lean-In Circles

---
- research based
- ~60k participants
- facebook page, and leanin.org
- Berlin geekettes
- recommend about 10x per year meetings
- two types of meetings
	- education meetings: watch expert lecture, discuss, commit to one action
	- exploration meeting: members share experience/challenge, rest of circle shares own stories
- college track ("careers in" series, role models) and career track teams (power and influence, presenting, climbing the technical ladder)
- power and influence, body language
- demo of a circle with people sitting next to us. met girl who also doesn't have role models and just picks features of others to adopt, seems interesting
- mightybell (social networking for small groups)
- leanin.org/anitaborg
	- UI for events, virtual meetings, collections of material
- circles@anitaborg.org

---
Keynote 4/10
Tella Whitney - President and CEO Anita Borg
Valerie Taylor 
---
- 2:30 plenary panel awards
- Systers, see communities page
- mediation: guide two parties to come up with a solution. (each party must take ownership of the solution)
- Tapia conference in diversity (cultural and disabilities)
- takethe time to learn about others' background and experiences and embracing it by using it to enhance what you are doing
- asking others about themselves/their background helps start the dialogue and get rid of stereotypes
- on feeling powerless in a meeting: you should think, if you _are_ in a meeting, you should already feel powerful
- if someone considers you an anomaly, can go back and give them more resources just like you
- most companies offer "microinequities" or implicit bias trainings
- to deal with people who see diversity as a buzzword, talk to them, get to know their priorities, and talk about how diversity can contribute to their goals
- realize that many solutions for combating bias are not one size fits all. Talk to people.


---
Lightning talks on scalable software
---
- project on finding bottleneck methods by generating data which takes the longest to process
- "Scaling = replacing all the components of a car while driving it at 100mph" Mike Kreiger cofounder Instagram
- highscalability.com, Irina's slides have some more blogs

---
Why are we still geeks? Correcting media images of Computer Science
Shloka R. Kini, Maria Klawe (Harvey Mudd), Brenda Laurel, Kim Surkan
---
- Klawe has been working on this for twenty years, and made 0 progress
- not many law jobs, pay is lousy, high debts from school, yet many women. Also in forensic science, which is boring (more supports the media argument)
- Institute for gender in media, Gene Davis
	- big bang theory
	- not just about women. Think about nerds in TV (NCIS) where they dress guys really nerdy.
	- "and then there's the girl with the dragon tattoo. I mean, she's great with computers and really quick...  But she's really _weird_."
- klawe got an estimate for a show, raised enough money to write the pilot, but about halfway through realized it was not going anywhere (unrealistic, people jumping out of helicopters)
- magic wand: tv series with computer scientists that did exciting things with hot women and men
	- bob quinn, wrote a script, Rush about a silicon valley startup (DARPA competition)
	- sent it out to people in media, but despite good connections, didn't get a channel willing to produce it
- Klawe doesn't know what else to do...
- Brenda: Purple Moon, Telepresence research, books
- alters previous grace hopper photo, to amke them look more normal / less business
	- need to put out our own self-representations, refuse models/spectacles which perform need-creation
		- inverse relationship between income and desire fora LV bag
	=> don't have to look great to be a role model, need to look normal
		- get noticed for _actions_
- hates how star trek (esp 2) butchered Ahura
- Think about Numbers -- that was about a _mathematician_
- FemTechNet femtechnet.tumbler.com , DOCCS, distributed alternative to MOOCS
- Kim
- 2010, children watch on avg 7 hours of TV/internet
- paper: decreased self-esteem in women (Martins and Harrison, 2012)
	- even affects performance
- while women in engineering and any other STEM field is increasing, CS is decreasing (see nsf website)
- nerd stereotype is probably the largest reason for low female participation
- decline is largely attributed to sexism and culture
- study on yale university researchers, given same application for lab position grad student, just diff name. rated lower, less money (26k vs 30k)
- startups are especially bad to cater to brogramming (booth babes, etc)
- example at hackathon, where air-masturbating and an app for looking at tits were presented, and a 9 yr old girl presented her own app
- example about Anita Sarkeesian who was cybermobbed after asking for fundraising for a video about depiction of women in games
- Marrissa Mayer "I don't think I'd consider myself a feminist" with video, says she wants to focus on positive energy instead of negative
- gawker "This is why there are not awomen in tech"
- Klawe would just appreciate if we all commit to calling out when women are underrepresented

---
Award winner plenary session
---
- be the change you want to see in the world
- 65% women in congress in... Rwanda? started as 30% quotum.
- to deal with apathy, try to educate others on your position

---
Scalable architectures, from rapidly-growing startups
Tracy Chou (Pinterest), Barba Raitz (airbnb), Ketaki Deo (pulse/linkedin), Vida Ha (square), Bethany Macri (etsy)
---
- SOA, caching, pooling (multiple slaves that can do the same things and use a load balancer), sharding
- etsy - 200 engineers (of 450), LAMP
- square: rails and java, java bc of sophisticated threading
- pulse: objective C, google app engine (due to good monitoring tools), AWS for logging/user data patterns
- airbnb: AWS, was ruby originally, backend in java, moving towards mobile (javascript/backbone) 
	- 8.5 million stays this year
- pinterest: AWS, python, django (website) and flask (API), mysql, java (services that need to be more performant), memcache and radis (caching, where memcache only retrieves blobs, and radis retrieves data structures)
- choosing a language: 
	- start with use case (stability, performance, etc) then look up metrics
	- dev community is important
	- also consider how good the coding practices
	- testing tools are very important
	- also consider your team's expert areas
- ruby vs python vs java
	- ruby and python easy to prototype
	- java more mature, more libraries, support
	- python has a lot of machine learning (square uses it for learning a model)
	- C++ older and private companies have developed a lot of tools, so startups don't use it too often
- service discoverability is cool
- zookeeper: distributed systems library
	- consensus, leader election
- split databases into a service
	- safer, more reliable
	- service finds the correct shard
- avoid adding columns
- at etsy, each shard as side A and B, so things written to side A are eventually written to side B (replication in case side A goes down)
	- a db tickets server generates globally unique IDs for shards, use two ticket servers one for even IDs one for odd
- square uses fusion IO (expensive crazy hardware)
	- hspace in addition to mysql
- really need to convert monolithic app to layered/tiered architecture
	- service layer, about data, common in Java (HHTP + credentials + locale => json)
	- API layer, focused on data format, fetch and format (nodejs)
	- application layer, business logic, (nodejs, backbone)
- etsy uses scalding for some parts (DSL on top of java)
- etsy also does "bug rotation", where an engineer does pair programming for one day a month
- pulse used code reviews, and feature owners which are responsible for all coders on that code