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"
- 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
	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 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