Being a "dumb" girl in Computer Science - <AUTHOR> http://rewritingthecode.com/2016/03/27/hello-world/ <comment><USER2> Full disclosure: I'm a working female software developer, blah blah blah...

> I want to be that girl who no one thought she could, who had all the odds > against her, that everyone thought was dumb, and yet she becomes incredibly > successful in computer science. Then I want to turn that success around and > use it a pedestal to expose every wound, every failure, every painful > vulnerability I have, even with my hands trembling, because that is what I > believe is what motivates women and gives them the strength and personal > recognition of 'if she can do it, so can I', which then lights the spark to > explore the field and helps women find their inner-strength to go for it.

I think this is a great sentiment, but....and maybe I'm just not hanging out in the right parts of the internet or whatever...but I see women writing about these meta-topics of "being a female programmer" far, far more often than any actual technical aspect. Maybe they just aren't upvoted to the top of HN or r/programming, heh. I've had a hard time articulating why I feel so prickly about promoting specifically "getting more women into tech", because I feel like it's starting to become this giant show pony. I think it's great that this lady is going into this field, but I feel really weird about this characterization that CS is supposed to be so super scary and women need special hand-holding and encouragement to attempt it.

I started programming when I was a kid because I wanted to make stuff. Nobody told me it was supposed to be hard or supposed to be for boys or whatever. I think we're doing a huge disservice by promoting this idea that programming is some super elusive thing - if we want more women in programming, then let's talk about how cool it is to build stuff, instead of how we can be role models or whatever. Just the opinion of one "woman in tech", I don't speak for anyone else but myself.

<comment><USER3> > if we want more women in programming, then let's talk about how cool it is > to build stuff

I really agree with this.

Girls just don't seem to be interested in programming when they are young.

Then they go to university, and largely avoid CS because a) they haven't developed any prior interest in it and b) it is perceived as a difficult and male-dominated field.

The ones who do enrol in a CS course often struggle because it's their first foray into programming and they aren't familiar with any of the concepts, unlike many of their male peers who have done it before and cruise through all the 100 level courses

If we want to see more women in CS, get them interested at a younger age and suddenly CS will seem more appealing and they will find it just as easy as the other experienced students.

We need to show girls that programming is a good outlet for their creativity and foster their interest at a younger age

<comment><USER4> > it is perceived as a difficult

It is difficult. Why would that impression be problematic?

<comment><USER5> Expertise in computer science probably isn't intrinsically more difficult than any other field, like medicine which now has more women than men.

<comment><USER4> Sure. But would it make sense to get women interested in medicine by downplaying how difficult it is?

</comment></comment></comment></comment></comment><comment><USER6> > When he started to explain the assignment it quickly became aware that I > wasn't grasping a thing he was saying. He tried again, and again, and again > to explain basic concepts to me. He started to become visibly frustrated and > impatient with my lack of understanding and everyone in the room kept > looking at us.

This is sort of the unspoken problem in computer science. Most people aren't doing it for the first time. It's not uncommon for many people to have started programming on their own in middle school or even earlier. First year computer science is more of a refresher.

Then there's everyone else starting an entry-level class as beginners and getting completely demolished. "How does everyone get this so much better and faster than me?" The answer is because they're not beginners.

<comment> Trill-I-Am Do you think it's possible to major in computer science in college if you have absolutely no prior experience in programming?

<comment><USER7> Of course it's possible but it seems a little odd. Programming is something that anybody can do with a very modest investment. If you're interested in programming, seems strange to have absolutely no prior experience before getting to college.

It's sort of like deciding to be a music major when you've never played an instrument before. How do you know if you even enjoy it before starting down the long path to getting a degree in it?

<comment><USER8> >Programming is something that anybody can do with a very modest investment.

That's highly debatable. A lot of people including my old compsci professor seem to believe it's largely something someone either can learn to understand or can't. I've noticed myself that students seemed to either "get" programming or not, both in a class I took in high school and the compsci class at my first college. This article on the issue is worth reading: [http://blog.codinghorror.com/separating-programming-sheep- fr...](http://blog.codinghorror.com/separating-programming-sheep-from-non- programming-goats/)

<comment><USER9> The author of the study linked in that blog has retracted it and apologised for it and said he was wrong.

[http://retractionwatch.com/2014/07/18/the-camel-doesnt- have-...](http://retractionwatch.com/2014/07/18/the-camel-doesnt-have-two- humps-programming-aptitude-test-canned-for-overzealous-conclusion/)

<comment><USER10> It'd be good to have another large-scale study to try to replicate, because, while the results where, err, politically incorrect, they fit too well with what an extremely large number of people have observed...

</comment></comment></comment></comment></comment></comment><comment><USER11> To offer a counter point, why does the girl seem like she needs or wants someone to guide her along in each class?

Asking people to help is one resource, but so is reading the textbook, doing introduction tutorials, looking stuff up online, etc. The author doesn't mention she spent time doing these sorts of activities.

> Not only that, but other people in the room jumped in to help explain

I've definitely seen guys line up to help people in labs.

Maybe the take-away is that CS is traditionally taught in a very individual way and should be more group-oriented.

<comment><USER12>
      > why does the girl seem like she needs or wants someone
      > to guide her along in each class

Probably for the same reason that people enjoy personal assistance with questions on IRC or discussion forums. Sometimes you literally don't know enough to know what you don't know well enough to know where or how to look it up.

<comment><USER13> That seems like a cop out to me. Textbooks are by far the best resource you have available for your class work and even though they take the most effort, they tell you exactly what you need to know enough to know what you don't know.

<comment><USER14> Sorry, what? Literally the first time I've heard anyone claim that textbooks are better than in-person one-on-one tutoring by an educator, which is what we're comparing to, right? (Getting help in-person from the TA.)

Like sure, certain exercises may be more ideal with a group of peers, or may be more ideal if the student does it while the instructor stays hands-off; but if you had to pick just one of all the possible ways to learn something, until I read this comment I thought it was quite universal that everyone would say yeah, one-on-one in-person tutoring with someone trained in the subject matter is the single best way to learn something. Which is why, in spite of being the most expensive option, tutoring is still a thriving industry.

<comment><USER15> > Sorry, what? Literally the first time I've heard anyone claim that textbooks > are better than in-person one-on-one tutoring by an educator, which is what > we're comparing to, right? (Getting help in-person from the TA.)

A huge number of software developers are autodidacts. The implication is you don't know many people.

<comment><USER14> I know plenty of autodidacts, and arguably was one. I'm almost certain not a single one would say that if they could've afforded to be tutored one-on-one instead of reading on their own, they would've still chosen reading on their own instead. They learned from textbooks because the cost and inconvenience of tutoring was prohibitive, not because they're like "pffft, the tutor was just _slowing me down_ , in the time spent with them I would've learned way more from a textbook".

<comment><USER16> OK, here is one counterpoint.

I actively do avoid asking questions even when it is free.

Not only in computing. I really did not do to well on piano lessons. My siblings who where just taught the basics (IIRC) and then left to their own ended up playing the piano (and other instruments) because it was fun.

Of course in computing this is reinforced from time to time by e.g.:

\- by visiting stackoverflow and see how many (IIRC again) of the questions that has helped me most are closed as not constructive,

\- or by a colleague who seems they will use any opportunity to talk about something being junior-level stuff and then go on to waste a lot of everyones time by rewriting the whole thing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Here's the thing. While there are absolutely some pervasive, sneakily awful female-specific problems in computer science, this is emphatically not one of them. The experience described in this article has exactly nothing to do with being a woman.

Computer science is an extremely difficult subject, and everyone sucks really hard at it when they're getting started (or very shortly thereafter). That experience is universal to computer scientists. I will absolutely guarantee you that there were plenty of men in that class who were going through the exact same thing at some point in their academic career, if not right then.

The Problem in computer science education is a combination of the spotlight problem (once you know something, especially something abstract, it's hard to imagine what it's like to not know it) and the No True Scotsman problem (if you ever struggle with anything in computer science then you'll never be a Real computer scientist).

In situations like this, where a large percentage of the population is at a fragile stage of development, we need to be very clear that we're addressing the actual core problem. Namely, that everyone feels that they're the dumb one in a room full of brilliant effortlessly successful people, and that if the coursework is not easy and a little boring you should quit because it only gets worse from here.

This needs to be a large chunk of lecture time early in the semester. You are going to hit The Wall. Everyone does, there's no shame in it. When (not if) you do, ask for help. Say "I don't know". This is an important life skill, and a large part of being a functioning adult.

<comment><USER18> > Namely, that everyone feels that they're the dumb one in a room full of > brilliant effortlessly successful people, and that if the coursework is not > easy and a little boring you should quit because it only gets worse from > here.

So I self-learned CS, my degrees were in applied math, and it was similar in the math world. Although more like:

"everyone feels that they're the dumb one in a room full of other dumb ones... "

But where I studied, we did receive that sort of lecture early on. That "a wall" as you've described it is normal, get used to it.

It's served me well, being comfortable with "not knowing" something. You could argue that it's something every student of ANY subject should be told but I guess many subjects are easy enough that simply working at X% effort is enough to never get stumped.

</comment></comment><comment><USER19> I guess I don't fully understand the scenario being described. She writes that the T.A. tried to explain "again, and again, and again", then after she said "I DON'T UNDERSTAND", he was "eager to help us".

It seemed like the T.A. was already aware she wasn't grasping the concept because he explained it repetitively. I'm just wondering what feedback she was giving up until that point.

Regardless, clear communication from everyone in any learning setting is essential. Saying "I don't know" and "I don't understand" are a huge part of that.

<comment><USER20> I think the point she was making was being very public about the fact she didn't understand. Stating it loudly, rather than sheepishly speaking with the TA and being ashamed.

Being upfront about it and basically letting everyone in the room know she was having a problem broke the ice. There can be a palpable pressure in social situations to conform, like being in a library... the silence of everyone almost has a presence of its own.

In a computer lab, it can be like that. Who knows why the TA changed their tune, maybe they were themselves shamed by their own lack of ability to convey understanding. But for the rest of the lab, once the taboo was broken, apparently the innate desire many people have to lend a hand surfaced.

I can't say why, I wasn't there, but in this case it worked out. People act differently in the anonymity of a crowd, and that is what you basically have in a hushed lab environment. Her plea for help / public admittance of vulnerability was apparently enough to shatter the crowd psychology and the innate desire of individuals to help other individuals came forward.

</comment></comment><comment><USER21> > _I would like to create learning software that emphasizes pride in failure > over success. That the end is not the goal – continuous effort to try again > and fail again, and try again and fail again is._

This reminds me of a study by Claudia M. Mueller and Carol S. Dweck of Columbia University - 'Praise for Intelligence Can Undermine Children's Motivation and Performance' [1].

They said praise for the effort and not results.

They found that children who were praised for their intelligence, as compared to their effort, became overly focused on results. Following a failure, these same children persisted less, showed less enjoyment, attributed their failure to a lack of ability (which they believed they could not change), and performed poorly in future achievement efforts.

Children praised for effort chose problems that promised increased learning, they had continued interest in mastery by preferring to receive strategy- related information.

[1] PDF: [https://psychology.stanford.edu/sites/all/files/Intelligence...](https://psychology.stanford.edu/sites/all/files/Intelligence%20Praise%20Can%20Undermine%20Motivation%20and%20Performance_0.pdf)

<comment><USER22> Praise is just a factor, and not even the most important one. You usually won't turn a lazy child successful by just switching from praising intelligence to praising effort. If the child is hardened in his/her intention to avoid effort, then you can't reach them with or without praise, until they develop an internal motivation. Nowadays school work has to compete with mobile games and other super addictive stuff that just overflows on the internet.

</comment></comment><comment><USER23> Great post.

A good thing to remember: no one knows what the hell they're doing, no matter what stage of life they're in.

<comment><USER24> Spoken like a true parent

<comment><USER25> Not to be that guy, but I've become a lot more comfortable with not knowing what the hell I am doing since I had a kid. Most people are winging it, you just don't get to see their failures.

<comment><USER26> As a counterpoint, I've become far more worried about life in general since I realised that medical and legal professionals are just winging it too.

<comment><USER18> Well, doctors are just "practicing medicine" after all...

</comment></comment></comment></comment></comment><comment><USER27> > The T.A.'s had to explain over, and over, and over again the simplest > concepts.

As a TA, I want to say that this is literally my job. If that's what it takes, then that's what it takes. My entire purpose is to help students. If other people need my help, I might be limited in the amount of time I can spend, but I'll give you every bit of help I can in the time I have.

When I was an undergraduate, I worried about the TA judging me for not knowing things. I'd even skip tutorials if I was too far behind. Now as a TA, that seems so silly. My goal is to just get you the best mark I can, regardless of where you're starting from.

Anyways, this was a well-written post. Lots of great stuff in there. I think the issues it touches on are also something a lot of students can relate to.

I would caution, though, there's also 'that guy' who speaks instead of thinking. There is a balance to be struck. In lectures, at least. Listen, think, ask.

<comment><USER28> You say:

> _As a TA, I want to say that this is literally my job. If that 's what it > takes, then that's what it takes. My entire purpose is to help students._

And:

> _If other people need my help, I might be limited in the amount of time I > can spend, but I 'll give you every bit of help I can in the time I have._

But that's the point – you don't have infinite time. I think it's unfair to the faster to students if the majority of your time is spent on the slowest ones. Unless it's your explicit goal to teach the lowest common denominator, the better students also have a right to get help and support in their learning.

<comment><USER29> Sure, but that assumes that the extra time being taken here came at the expense of someone else's time. The original article showed two people gaining from this at the same time, at least.

If they require more time than can be allocated and it cuts into time other students need, then alternative arrangements need to start being made, sure. Just assuming that taking more time than others to get something makes you unworthy of getting that help isn't right.

</comment></comment></comment><comment><USER30> While this is a very moving story and I hope the author finds a rewarding career in CS, one big problem I have with this is that there is going to come a point in time where she has to figure out a hard problem on her own. It might be in grad school, it might be on the job, or in an interview, or for a side project. But there is going to come a time when there's a very difficult problem to solve and there is nobody there to turn to for advice because you are doing something new. And if you haven't built up the resources to research the problem on your own and work it out, that might be a very difficult experience.

<comment><USER29> Sure, but if you fail at the beginning, how are you meant to build that skill?

If the author continued to require in-depth explanations of the core concepts again and again over the entire length of their education, sure, that could be an issue. The reality is that over time, most people are going to learn how to approach the issue, how to best self-teach, etc... and get past it.

</comment></comment><comment><USER31> I have found that embracing being dumb can be very useful even later on. I don't struggle with programming anymore, to the point where that "out of my depth" feeling is surprising and scary.

Occasionally I run into some new concept I have no experience with and I sit there staring at it like an idiot thinking "why do I not get this?" It takes a little while to remember that I'm comparing many years of experience and study to something I just started learning, and the feeling of being overwhelmed is natural.

I suspect many people get used to feeling competent once they've developed competence in one area. The problem is that, as described in the article, the need to feel competent gets in the way of developing competence in anything new.

I think one reason children learn so well is that they haven't yet developed competence in any area, so it's hard for them to expect competence in every area. I have no end of admiration for the way a child will look you dead in the eye and say "I don't know what that means" like it's the most natural thing in the world.

</comment><comment><USER32> It seems like the author is at risk of breaking an arm patting herself on the back too hard. Yes, computer science can be a hard field. There are many hard fields. These require hard work. Sometimes you don't understand the material in class. Sometimes you need to work really hard. Sometimes you feel silly or need to ask your prickly, overworked TA a bunch of questions when he or she would probably rather be doing other things. I'm not sure why the author seems to think this makes her deserving of special commendation, or what her experiences have to do with gender, but most of all the incredibly self- serving, west-wing-horn-section-playing-in-the-background tone in which this piece is written really grinds my gears.

<comment><USER33> Lemme guess, you got by without needing a lot of handholding and now watching this girl pat herself on the back for figuring out how to get tons of help while your accomplishment goes unheralded has you rattled?

<comment><USER34> or he just read the story and that's his opinion of the situation. i feel the same way and i didn't have an easy time in school.

</comment></comment></comment><comment><USER35> I'm particularly infamous among my peers for asking questions, and most of the time I'm not asking on my own behalf. Asking a question because you don't understand is what you can do for yourself. Asking a question because you don't expect others to understand is something more.

This pretty much applies to all disciplines, particularly when a subgroup of people are more likely to feel intimidated by the learning environment.

<comment><USER6> That sounds dangerously close to "asking a question because you want to look smart"

I like people like you in principle, but not in meetings.

<comment><USER36> I can't speak for OP but I would say asking somewhat obvious questions and making peoples' mental gears go through the effort of thinking things through has been beneficial for me. There is a guy on our team, possibly the smartest one, who constantly asks what could initially be construed as "dumb questions", only to later uncover some flaw in our reasoning or potential pitfall we hadn't thought of. I've come to deeply appreciate his dumb questions.

<comment><USER37> It's the same principle as rubber duck debugging: It's harder to take shortcuts in your reasoning when you're trying to explain something.

</comment></comment></comment></comment><comment><USER38> I wonder if about 10 years from now, we're going to see a lot more young women entering CS and similarly technical majors, and sticking with it through a degree and a career, because they've grown up watching Twilight Sparkle and the other ponies expressing vulnerability -- "I don't understand" and "I need help" and similar sentiments.

I don't think girls necessarily need mentors they can identify with (which, for many girls, means "women") in their exact chosen fields, in order to choose those fields. But I do think they need mentors they can identify with who display the character traits needed to be successful in those fields -- the sort of confidence and perseverance expressed in this article.

</comment><comment><USER39> I like the article, but one thing caught my eye there.

"Right then and there, I said loud, confidently, and clearly so everyone in the room could hear me, "I DON'T UNDERSTAND.""

I don't understand why this would make people more eager to help you. If I was trying to explain something to someone and they started to raise their voice, I would just get irritated and probably refuse to help anymore. But then again I have to admit that I'm not always the most patient person in the world.

<comment><USER29> I think you are reading a more hostile tone into that - I read it more as a slow paced, clear 'I. Don't. Understand.' \- not shouting in the guy's face - to try and get the point across that they didn't get the core concept, and the explanations being given were not helpful. I could see how that would cause you to shift your attempt to another tack, see more success and therefore the explained scenario.

</comment></comment><comment><USER40> It's difficult to separate out the all-important "I did/didn't spend a bunch of time in my teens programming" factor, and if she is getting some attention to fix the _temporary_ deficit that this causes, so much the better. As someone else points out, a lot of people come into CS with a huge head start (often one that stops working some point in 2nd or 3rd year, in my experience on both sides of the classroom).

The question becomes: when does the strategy of being the one person in the class saying "I don't understand. Please explain again/better" start to be problematic? When you're still consuming 40% of the attention of your TAs in a 2nd or 3rd year course? When you're asking questions about things all of the rest of the class understands and things are grinding to a halt for everyone else? When you're the team member who needs someone else to design your algorithm for you for every single task? There has to be an end to it somewhere.

<comment><USER10> I have been in classes with that person that asks questions constantly, because they "don't understand". After a half-dozen sessions, you're about ready to chuck your laptop at the back of their head. Sure, dude, suck up 25% of the lecture time asking questions about things your should understand if you read the assigned reading. It's not like the other 40 people in this class aren't paying through the nose to be here - take your damned questions offline, and let the professor give their lecture, so we might actually be able to cover the material we're here to cover.

</comment></comment><comment><USER41> This is an excellent story. Really getting over the fear of ignorance and learning to manage how much the opinions of others get in our way are real life improvements.

<comment><USER42> Very true. I tried to jump into some higher-level math classes in college after finishing my major, and though I didn't completely fail, I would have learned much more if I had gotten over my fear of looking "dumb" by asking basic questions, or by talking to the professors during office hours.

</comment></comment><comment><USER43> Neatly sidestepping the gender issue (not understanding is non-gender specific)

Publicly saying I don't understand, in a room full of people that _appear_ to understand is incredibly difficult. However clearly knowing your limits, and crucially being honest about them makes you a much better programmer.

There is nothing worse than someone who bullshits or FUDs they way through things. Most arguments on t'internet/programming office can be summed up as:

Person 1: I don't think this is a good idea Person 2: _This is an attack on my knowledge_ LIES YOU ARE RUBBISH, HERE IS SOME FACTS, SOME OF WHICH ARE MADE UP/OVERHEARD etc etc etc.

More people need to say "I don't understand" women or not.

</comment><comment><USER44> Why do women in CS constantly seem to feel the need to tell everybody else they're a woman? Nobody cares.

<comment><USER45> > Why do women in CS constantly seem to feel the need to tell everybody else > they're a woman? Nobody cares.

Because there is a fair amount of inherent sexism in many companies when it comes to female programmers.

My ex was the brightest (by a long way) on our undergraduate CompSci course. She topped the class of 250 students and got a 1st with honours. She received one of the highest grades in the department's history.

She was invited to start a Phd directly after the BSc. No masters was required. The university could see her potential and decided to embrace it. She published a number of papers related to script and language identification from document images, primarily focused on Asian writing systems.

After her Phd she went to work for a large US automotive company. It was a nightmare for her. Shitty sexist comments on a daily basis. A real toxic work environment and after 1.5 years she quit. She had no desire to go back into job in computer science.

To me that is a huge waste of talent and resource.

<comment><USER46> So she just gave up and threw 30 years of her life down the drain ? Where's the persistence ?

It's like "geeks" weren't ever ridiculed and harassed decades ago, before CS got "trendy and cool".

That's also a price of equality, sometimes you just eat shit at a certain job.

<comment><USER47> > > Shitty sexist comments on a daily basis. A real toxic work environment

> That's also a price of equality, sometimes you just eat shit at a certain > job.

You can't be serious. Not only is sexism the opposite of your supposed equality, it should _never_ be tolerated in the workplace.

</comment></comment></comment></comment><comment><USER48> Who would have thought that asking for help in class would help you out

<comment><USER49> For many students, it's not easy to be the first one to speak up. It interrupts the lecture and tells everyone you don't know what's going on. Of course, a _lot_ of people might be just as lost as you, but none of them can be sure that others are lost.

<comment><USER50> I used to ask loads of questions during lectures - feedback I got from my classmates was half saying "thanks for asking the question, I was wondering about that too" and the other half was "why do you ask soo many questions".

I just liked making sure I understood things properly.

</comment></comment></comment><comment><USER51> It's almost as if there are two separate types of people. People who learn by reading books and people who learn by asking questions. They do not always understand each other and maybe it's bad.

However, I can attest that reading books (also, googling these days) and never asking basic questions is a perfectly valid way to learn.

</comment><comment><USER52> From experience, I can say that university is a place that creates an atmosphere of fear in asking questions.

Ask a question in a lecture? The 100+ other people in the room are now staring at you like you're an idiot, despite the fact that most probably have the same question.

Ask for clarification on something the lecturer said? You've interrupted their flow now, and want you to sit down, shut up and ask after class.

Go to ask after class? 12 other people have questions they were too afraid to ask during class or couldn't and the lecturer doesn't have time to attend to all of you, and tells you to send them an email they won't read.

Ask a TA? Most of them are overworked and underappreciated which leads to them having a very low tolerance for "I don't understand" questions, which can lead to a brush-off answer like "just re-read the lecture material."

Ask other students? They either don't know themselves or cannot explain it in an appropriate or correct manner, or simply cannot be bothered to help you because "this is too easy, why don't you get it!?"

Now of course, not every lecturer/TA is like this, and I had some wonderfully helpful and open teachers while I was in university, however, both myself and other people I know from across many different schools have had numerous experiences like this.

And here's the other thing, as a student I've been guilty of doing the exact things I describe above, either out of arrogance or simply down to the fact that I was slammed with other classes I just didn't have the time or patience to help others. Is it something I am proud of? Of course not, looking back now I can safely say I was a dick.

It gets even worse for women, when you differ from the majority of others in your class simply by genetics, it creates a feeling of not wanting to stand out or give other people a reason on top of their sub-conscious bias to think you "don't belong here" or "aren't as good as the rest of us."

<comment><USER53> > Ask a question in a lecture? The 100+ other people in the room are now > staring at you like you're an idiot, despite the fact that most probably > have the same question.

I always ask the question anyway. The lecturers don't mind answering questions -- they're there to teach you (though since I talk to them outside lectures, I might have a different view of how lecturers feel about students). Even if it's a dumb question, just ask. People who judge you for asking a question are assholes and aren't worth your time.

<comment><USER52> See, I agree with you, but look at it from the average person - they now have to stand up in front of a crowd which will probably freak them out due to public speaking, plus the self-consciousness of being the odd-one out in a room full of your peers plus the embarrassment of interrupting the lecturer can compound into a situation that most people would rather avoid.

And yes, there are lecturers who don't mind answering questions, but there are very few students who have never met the grumpy, tenured "I don't give a fuck, I lost faith/hope a long time ago" professor who will go out of their way to make sure they aren't bothered with questions while they talk.

</comment></comment></comment><comment><USER54> As a teacher, a bigger problem that I have is not that people don't understand it, but that people _don 't care_ when they don't understand it. Many students seem to be just attending to a class because of peer pressure or something. They can just glide it when it doesn't click. If you feel sad when you don't understand something, I'd say you're already very motivated.

Very rarely, a teacher can press a student's button to make them actually interested in the subject (or anything related to the subject), but I feel this mostly happens only randomly.

</comment><comment><USER55> People are scared to sound stupid but there is no stupid question. Even after 10 years of software engineering, I still learn new things everyday.

Whenever I join a new company, I'm the dumbest person there at the beginning... Until the next recruit arrives :)

Putting yourself in the position of always being the dumbest person in the room is the smartest thing you can do.

You never want to be the smartest person in the room... EVER. Sure, it feels great, but you don't learn anything.

By always putting yourself in difficult situations, you become more adaptable and better rounded as an engineer.

</comment><comment><USER56> There's nothing wrong about being dumb as long as you want to do something about it.

Here's a couple of women that have made me feel exceptionally dumb (and want to do something about it) with the fascinating things they've had to say:

[1] - [https://vimeo.com/109380788](https://vimeo.com/109380788)

[2] - [https://vimeo.com/109380802](https://vimeo.com/109380802)

(disclaimer: I co-run the con these talks come from, but I still think they're great talks)

</comment><comment><USER57> Disregarding gender, I think this story is more about people that weren't into computers and tech trying to get into it. Comparing it with my own experience, my dad got our first computer when I was 3, we grew up with it; I got computer basics (besides what I already knew by then) and skills like typing between ages 12-16; I learned how computer hardware and software and operating systems and networks and such worked age 16-19 in school, then at the end of that started with basic software development, which was another (bachelor degree) education from age 19-23.

I don't know what exact path the author followed, but judging by the opening paragraphs, it had nothing to do with computers until she tried to get into software development. I'm also going to assume that her classmates were not completely new to the subject - or were afraid to admit they didn't get it.

What I'm saying is / TL;DR, getting into software development will be hard for anyone if they don't have much prior experience; you can't just join up with a class and expect to catch up on half a lifetime of prior knowledge. That's probably also why the schools I attended had a wide range of classes, going from history to hardware to operating systems to networks to office tools until finally going to e.g. browsers and the web and the basics of software development.

TL TL;DR, programming isn't easy

<comment><USER58> You are correct most people in software development have had an interest and experience for long before adulthood. However that prerequisite doesn't have to be that compulsory. We teach rocket science and brain surgery in universities, and don't expect the students to have experience in such before entering the course. Art, however, may be an exception (see below).

I think it's about how Computer Science is taught. A subject can be taught effectively and learnt by enthusiastic learners. Anyone should be able to turn up to a university and get taught how to program, with no prior experience.

What is essential is an enthusiasm and dedication to learn, and the skill of being able to learn to learn.

Now - the above standing, Fine Art degrees and such often require the learner to do a Foundation Year. This year (from my limited understanding) is mainly a year of technical skills to bridge the gap between art at school and art at university level, and a year where the student tries all forms and mediums to choose the one they want to specialise in. If educators at university level see that there is a need for such basic education, perhaps a foundation level in basic computing could be an option.

</comment></comment><comment><USER59> one thing I noticed about just about any industry, and this is not gender- related, is a tendency to live in a bubble and to expect that other people live in this same bubble and speak the same particular bubblese language.

I recall my high-school math teacher was very methodical, but even he "cruised over a few points" or wasn't completely explicit about all the mechanics of a given transformation/equation/formula, or perhaps wasn't clear about what the desired product was of the particular set of manipulations we were studying. It's all fine and good if YOU understand what you are explaining, or of a couple top students can follow you and nod, but perhaps the bulk of the class isn't getting it, and it would be extremely helpful for someone to stand up and say exactly what this author said "I don't understand" as this would provoke the necessary review and examination of the subject in question.

I think that closed cultures can be more welcoming of outsiders by being willing to re-examine the basics often. too often we scorn basic questions that would also be helpful in determining areas for future optimizations, or would provoke the needed work to overcome pain points.

For example: inventions and optimizations often come from naive outsider questions applied to "solved known done finished" problems

</comment><comment><USER60> I earned perfect scores on my CS classes at a large state university. I was also a T.A. for a computer architecture lab where students had to write 68000 assembly. (Aside: when I took that class, the T.A. was a woman.)

Now this was the mid-90s and there were not many women in my classes. I search my memory for the experiences described in this article, of T.A.'s mocking students, of getting frustrated with students, of "dumb" girls. I just can't remember anything like that. There were a handful of students like myself for which certain subjects just clicked. And there were a handful that it seemed like they just were never going to get it. But for most, it was this middle ground of having to work hard to understand. Not everyone of my classes was a breeze either. I must've pulled my hair out in my compilers class three times over.

Mostly, this just sounds like the struggle of being a student. But I guess everyone focuses their experiences through a certain lens. I hope I'm not criticising here... mostly just thinking out loud.

</comment><comment><USER61> When i read something like this it always brings up some memories back from the college times. Back then i had some interesting experiences and knowledge, while most of the students were interested in fields different from anything CS-related. To my surprise, when i got into assembly class i had a very weird feeling of being dumb just because it was not always clear to me how the this whole machine world was operating. Other students got it right away. But i was confused. I wasn't really interested in speaking up, so i just studies, but it took me some time to finally "get it" as in really understanding how the machine worked. But it took more than that. A lot of students were still confused even though they understood the basics, so i took i tried to help out and it turned out to be so much fun. It does not have to be that hard, it all about your interests and intentions.

</comment><comment><USER62> That's real bravery. As a prof, I meet so few students who are willing to back the the very bottom of what they don't understand and work up from there. It's not what we're taught to do. How many of us have skated on over something without really getting it? This is a great and honest post.

<comment><USER63> Very timely I was having a personal dilemma about keeping regressing to basics and building backup from blank page or not. Very timely.

</comment></comment><comment><USER64> I am male, and I am (too often) an arrogant jerk.

If I'm trying to learn something, I assume that I'm smart enough to learn it, no question. If I don't understand it, it's because you didn't teach it well enough - it's your fault, not mine.

So I have no problem saying "I don't understand", because I have no self-image at stake. It's not enough to penetrate my arrogance. And when I say "I don't understand" in a group, I'm often not just speaking for myself. There are others there who don't understand.

That's what this lady is doing, only (hopefully) without the arrogant jerk part. She's decided that she can admit when she doesn't understand, without it threatening who she is. It's very freeing.

I got it as a side effect of being arrogant, but she got it by being brave. More power to her.

</comment><comment><USER65> I think the title is misleading, you say dumb girl but then you get into the top level, not an easy jump. Also if I was a professor I would like those asking questions to be prepared before hand in basic concepts, just to no slow down the class. There are certain type of questions that can arise naturally when discussing certain topics, but if you ask many times and your questions are of basic topics or greatly miss the topic you are giving a disservice to your class.

I think being a girl give you the opportunity to coach other girls, and help them, if you can prove that your personal experience can motivate others. But not everyone is ready to put the necessary effort to get to the top level. I think that mastering a subject requires some passion or being interested and excited by the subject and to be prepared to put in the effort.

</comment><comment><USER66> It is really important to abandon your ego when learning programing. The "smart" students who get everything immediately have spent hours on their own learning the material. That probably is the best way to learn the basics but the next best thing is to do as the author did.

<comment><USER67> Some subjects are just intuitive to some people without them secretly spending hours of extra study on them.

</comment></comment><comment><USER68> >Right then and there, I said loud, confidently, and clearly so everyone in the room could hear me, "I DON'T UNDERSTAND."

The room became instantly quite and the T.A. had a look on his face as if a spell that had been cast over him was broken. After that his whole demeanor changed. He became eager to help us. Not only that, but other people in the room jumped in to help explain and even the girl grew visibly more comfortable and started asking questions. Everyone became so eager to help – it was rowdy, exciting – people left and right were neglecting their own work to try to help us, it became a major group effort and everyone was so passionate to jump in and help.

The field may be "male-dominated". That does not mean it is unfriendly to women, generally speaking.

</comment><comment><USER69> Great post and great advice for anyone studying anything difficult.

We are trained to get everything right and be embarrassed if we don't know something. This makes it hard to practice pushing the boundaries of our own knowledge. It comes to the point where people can't even recognize when they don't know a thing!

I don't know what the solution is but I think that schools should become better at pushing people to the edge of their competency. To do so we must become more tolerant of ignorance so the teacher and the student can learn strategies to find the shape of it strategies on how to push themselves into that unknown. Right now we generally wait until grad school to really do such things and it is holding us back as a society.

</comment><comment><USER70> > I strongly believe that the continued and constant emphasis in taking pride > in failure is EXACTLY what women need to be exposed to in order to let down > their walls and break through the well-known façade that 'you need to be a > genius to be a computer scientist'.

Maybe that's my poor understanding of English but I feel that "taking pride in failure" is a strange choice of words. I would say you can be proud of making the effort but why be proud of failing?

OTOH you shouldn't be ashamed of failing to understand something straight away, and more importantly you should not be afraid of asking loudly for a better explanation.

</comment><comment><USER71> The author's courage in admitting that she doesn't understand is admirable, although I think it would have added more to her story to talk about what made her more willing to put this level of effort into CS as opposed to her original major.

As an aside, I think hacker culture extends itself into university CS culture in the sense that it's pretty much mandated to figure out a problem on your own and RTFM before asking IRC/forums. I guess that kind of thing works on the internet but not so much in real life - I struggle from time to time at work to admit that I need help.

<comment><USER72> An approach worth trying here is to find a friend at the office who knows more than you about things generally, then ask them privately. You can spur this on by offering your help when they seem to be stuck, but doing so without making a big scene or talking loudly about it. If you are seen as someone that quietly helps people when they need it, you will reap immediate rewards when you run into problems.

</comment></comment><comment><USER73> "Unlocking the Clubhouse: Women in Computing" (by Margolis & Fisher) is an excellent book on this topic.

MIT Press page: [https://mitpress.mit.edu/books/unlocking- clubhouse](https://mitpress.mit.edu/books/unlocking-clubhouse) Amazon page: [http://www.amazon.com/Unlocking-Clubhouse-Women-Computing- Pr...](http://www.amazon.com/Unlocking-Clubhouse-Women-Computing- Press/dp/0262632691)

</comment><comment><USER74> Is this really a problem specific to computer science? Medical, biology, physics.. all subjects have some harder parts. There is always someone who does not understand.

<comment><USER75> In an academic environment, there is nothing special about CS that makes it different from any other subject as far as the experience of the OP is concerned.

In the field, however, I have found more than a few "computer professional" environments which are clearly hostile to beginners/newcomers. I suspect this is because people tend to think that the way they learned is the "best way" to learn a topic. In computer-related professions you have a lot of self-taught folks who got to where they are by hard knocks and constantly facing a profound lack of guidance. These same people often feel that newcomers should undergo the same suffering they did. It's human nature, but it doesn't have to be way.

</comment></comment><comment><USER76> I study through a uni in Melbourne but purely online (minus exams) so this is an interesting side of on-campus study that I had not thought of much. I have found collaborative learning via the student forums is a great way to help people out, and there are lots who do seek help which is great (myself included). I'm just over halfway through my CS degree and now wandering how different my progress & grades would be if I studied on-campus.

</comment><comment><USER77> When I was younger I worked at a top private secondary school for a number of years in the IT department and one of the Social Studies teachers there was very good and had an effect on me. She would tell people who had that attitude of dismissing people's questions as stupid:

"There is no such thing as a stupid question. Only stupid answers."

When you think about it, it is both completely obvious, but also very profound. It has stuck with me to this day.

<comment><USER78> I often tell people that the only stupid question is the one you didn't ask. In other words, it's stupid to not ask questions when you don't understand something.

</comment></comment><comment><USER79> This was a great read and applies to as many comp sci / tech heads who are more comfortable behind a keyboard than interacting with others.

Faking it till you make it always comes out in the wash.

Saying I don't understand, and acting on it in a "I want to understand' by putting in the required work to ask, and learn is what makes a developer - someone who is able to develop their skills, forever, as needed.

</comment><comment><USER80> Reading through the comments on here, it seems as if the post has been misunderstood:

It is not about being a girl in computer science, it is about overcoming your own fears of being perceived as dumb for not understanding, and then being open about not understanding. When the author got over those fears, she clearly states there were benefits for her and others for whom she taught this technique.

<comment><USER18> Title: Being a 'Dumb' Girl in Computer Science

Contents: What you said

Title should be: Being 'Dumb' in Computer Science

</comment></comment><comment><USER81> To me this article relates to the idea of pair-programming. In pair- programming you should also pair lower-skilled with higher-skilled people to lift the beginner's skill. Empathy and Patience required. The problem with teamed-up programming is that it is very much relying on the groups culture and switching between cultures might turn into a hard challenge.

</comment><comment><USER82> Would have been nicer, if she had given specific details in the article e.g. languages, specific algorithmic examples. Almost everything she learnt (overcoming her struggles) is just termed as _computer science_ , the only other detail is of a 'robotics club'.

That said, generic lesson of overcoming fear of being seen as not- understanding-dumb holds very well.

</comment><comment><USER83> Great article! In it you mentioned the Laramie Robotics Club. As the founder of a social robotics company, I'm wondering if there is something specific about robots that makes them a good medium for learning to code. I have some ideas about this but I would like to see what others think.

</comment><comment><USER84> It sucks when someone is not naturally gifted at something, and can't just grok it.

On the other hand, neither lab time or class time is the place to learn something. That's the place to be exposed to new concepts and theories, and work on something in a controlled environment with peers.

Most real learning is supposed to be done through homework and self motivation to apply (new) skills to creative tasks.

So while someone is floundering in class to grasp the material -- I ask, how much _extra_ time outside of class time are you spending to fully grasp, ingest, and understand concepts through-and-through the stuff you find so impossibly difficult.

All kungfu is hard to master -- but with enough practice, blood, sweat and tears and perseverance anyone can acquire great kungfu. [https://www.youtube.com/watch?v=iIieUmp0aZ0](https://www.youtube.com/watch?v=iIieUmp0aZ0)

</comment><comment><USER85> Tangent: if you want to tutor someone, don't tell them things, ask questions. Tons and tons of questions. A majority of the sentences you say should end in a question mark.

Answer questions with more questions. It's annoying, but it works.

</comment><comment><USER86> [https://www.ted.com/talks/reshma_saujani_teach_girls_bravery...](https://www.ted.com/talks/reshma_saujani_teach_girls_bravery_not_perfection?language=en)

</comment><comment><USER87> Not sure that this only applies to women, but for people in general. Also, those TAs at the begining of the article don't seem to understand the learning process – going from not knowing to knowing.

</comment><comment><USER88> Why would girls voluntarily submit to development drudgery with zero status from management amongst people they don't find attractive at all (more like stupid nice ones that can be taken advantage of)? They have other options given to them by nature, especially when they are younger that men don't have. I known an entrepreneur who sold his company to one of the most known brands in the world and his wife immediately quit her job, that she doesn't want to deal with that nonsense anymore as her husband is now super rich. How many guys can afford to do the same?

Many women really perceive developers as weirdos they don't want to have anything with, only if they are forced to settle down by their age.

<comment><USER89> What you say might be true for a few but, "Many women" does not mean "all women". A lot of women I know would not marry if they had to leave their jobs afterwards, they love what they do.

</comment></comment><comment><USER13> I'm sorry, but I think this just has to do with bad study habits. I may be wildly off base here (I don't know the author's habits) I just have the quotes in the article:

> I just couldn't understand a word that the teacher was saying

> T.A.'s had to explain over, and over, and over again the simplest concepts

> I wasn't grasping a thing he was saying

> He tried again, and again, and again to explain basic concepts to me

> I DON'T UNDERSTAND.

As a student, understanding terms and basic concepts is _your_ responsibility. The professor and TA's are there to enhance and solidify the basic concepts, they're not there to explain basic concepts to you over and over again until you get it. That's the job of reading and studying. If you don't do the reading and study the material you need to know _before_ the class it's covered in, then of course you won't understand what the professor is on about and of course you'll fall behind. You're starting from behind and don't have any way to catch up.

I saw this over and over as both a TA, teacher, and classmate. Lecture is not the time to learn terms and concepts for the first time. Lecture is the time to connect newly learned terms and concepts to your existing knowledge and reinforce and enlighten it. If you get to the class on class instantiation and you don't know what a constructor is already then you're going to have a bad time--and you should.

So you must study beforehand and you just have to study it until you know it. I appreciate that it's harder for some than others, and commend the author for aspiring to inspire, but at some point there needs to be some personal responsibility.

<comment><USER90> Let me gently disagree with you. First, much of what she comments on (TAs, etc.) happens in recitations or office hours, which _are_ the time to go over things until they're clear. (She mentions this: "Being hopelessly lost in lab"). Labs are typically smaller and are often taught by less-experienced people - grad students or even senior undergrads.

Second, while it's possible to take it too far, I love it when students are forthright about not getting it, even in the primary lecture session. First, because for every student who asks the question, there are a dozen sitting there being quietly confused -- and often feeling like crap about it (c.f., impostor syndrome). Second, because it gives me an excuse to explain the same concept in a different way -- which may reach some of the _other_ dozen students who incorrectly think they get it, and won't figure out they've missed something until they sit down to do the homework. And third, because that's what learning is about - learning the things you don't know. Any experienced teacher should be able to defer when the questions are getting in the way of the material, and _holy cow_ is it better to have a classroom of students asking you to explain something than to have a bunch of drooling post-lunch zombies.

Your point about when to study & learn things depends a lot on the class. In my intro class, I don't expect the students to have done the reading beforehand, because we don't have any reading. I expect them to have worked through all of the stuff resulting from the previous lecture, however. Other classes operate in the way you mention. But it varies highly from class to class.

The author _was_ taking personal responsibility by being forthright about what she was having a hard time understanding. It's harder to do than it seems.

<comment><USER13> I think we agree but differ in how we perceive the author's level of understanding.

I didn't mean to imply that there should be no questions in lecture or that students should understand everything by lecture. I also should have commended the author for getting TA help, though I've noticed that students do this as a replacement for studying rather than a supplement--which can fuel learned hopelessness (i.e. "I'm trying so hard and just can't get it").

But I still learn towards bad study habits here. The author felt so helpless that they screamed "I DON'T UNDERSTAND" in the middle of lab. I think that if you're at that point then there's something deeper going on there then just needing more help/clarification and in my experience that has to do with poor study habits.

It's interesting that you don't assign reading before hand in your intro class. If I were taking that class, I would read ahead any way. What advantage do you think your students get by _not_ having an opportunity to look over terms and concepts before you discuss them in lecture?

<comment><USER90> It's also possible that it was the scenario others have mentioned -- there's a _very_ wide range of incoming abilities in intro cs classes, from complete newbies to high school students who could out-program half of the HN crew. (Seriously - I had one working for me for the summer before he started as a freshman at Berkeley who was the equal of many Google engineers when it comes to C++. Yes, quite unusual, but there's at least one such person.) As a consequence, it can be easy to lose 20+% of the class, and when they get lost early in intro classes, they _stay_ lost, because the concepts build upon each other so rapidly.

Oftentimes, the students don't even realize they're lost until a few weeks later, and by then, it's a big problem. I've seen this a lot - a large amount of our TA effort is dedicated to helping bring those students forward once the "oh shit" moment happens.

Why no reading:

(a) Haven't found a book worth its salt for the class. We have lots of optional texts that they can use, and we encourage students who want to read ahead to peruse How to Think Like a Computer Scientist (python).

(b) It's mostly a structure thing. 15-112 (www.cs.cmu.edu/~112) is at present structured as "go to class, get the big picture view and some details, and then go practice the living daylights out of it afterwords". It's very effective for students new to CS. I can't claim credit for it - my many- awards-winning-astoundingly-beloved colleagues Mark Stehlik and David Kosbie created the beast. The core of it is that students just learning CS need to get the "muscle memory" down so that when you tell them to implement merge sort, they don't spend time puzzling out how to append an item to a list. So the focus of the class is a fairly daunting amount of practice, in the form of exercises, homeworks, and quizzes.

It's a truly brutal class, FWIW, but the students come out of it having accomplished something really amazing. Here's a vide of some of the project highlights from last semester - [https://www.youtube.com/watch?v=fkiK_cqSOwI](https://www.youtube.com/watch?v=fkiK_cqSOwI) . Keep in mind that these are projects by people who, in many cases, have never programmed before the start of the semester. Full project gallery is [http://www.cs.cmu.edu/~112/gallery.html](http://www.cs.cmu.edu/~112/gallery.html)

<comment><USER91> With such a wild variance of incoming skill levels, what is the way to make lectures efficient? I know this isn't a new problem but I see it frequently in training / classes in the industry where things are 10-100x too slow for some people, while others are lost. There is clearly a failure in assigning people to the correct course level (or offering courses at appropriate granularity), but the more scalable thing I see is offline learning where you first check out slides, then check out accompanying documentation / videos, then check google or IRC, and as a last resort you launch the nuclear option of stopping your life for 2-16 hours to sit in a room and learn synchronously. Is anywhere innovating like this?

</comment></comment></comment></comment></comment><comment><USER92> I have long chosen to own asking dumb questions. It's helped me, no doubt about it. This girl will go far with the attitude of looking to understand.

</comment><comment><USER65> I don't see anything specially related to females. The author is just offering couching and suggestions like ask in class.

<comment><USER93> I do. If I as a male would pretend to be dumb in class, I doubt all males would jump to help me.

<comment><USER94> In my experience the response depends much more on the person being asked than on who is making the question. In general, the people who actually understand the subjects will try to help others, while those who are hiding their own ignorance will look down on whoever is asking "dumb" questions.

</comment></comment></comment><comment><USER95> > I made the decision to raise my hand in class and admit publicly that I was > completely lost. To my surprise, I found that not only the teacher, but also > other students in class were eager to help and went out of their way to > speak to me. So I decided that I would try the same thing in lab.

Nothing gets the attention of neck beards like a woman in need of computer science help.

</comment><comment><USER96> Being unafraid to ask the 'dumb' questions is very powerful for anyone.

</comment><comment><USER34> tl;dr claims to have a solution, writes 5 paragraphs about feelz

</comment><comment><USER97> Literally see this every year in the lab

<comment><USER98> In the CS lab at my uni as well.

</comment></comment><comment><USER99> Man or woman, this is an awesome story.

</comment><comment><USER100> Great post. You go Cat!

</comment><comment><USER24> This isn't gender specific. As a guy I have worked in teams where asking for help is terrifying. To the point I stared at code for hours lest I ask how the uber-abstraction and hack soup worked.

<comment><USER101> Gender and race are hot-button topics because those who claim to be victims of discrimination always fall back to an impossible-to-falsify assumption of impure intentions, if not in the individual specifically, in the amorphous "institution" behind "institutional bigotry". Every time someone brings it up, the discussion is one person saying "I bet that wouldn't have happened if the victim were [white/male]!", another person saying "Uh, I think it would've happened", and the original person saying "Well you're just ignorant", and then a cacophony of voices supporting or opposing the side they're more inclined to agree with, seemingly never calling out the absurdity or futility of it.

This happened with me in real life when I expressed some questions about the veracity of the clock kid case to an associate. "You think that [being charged with possessing a hoax explosive device] would've happened to a white kid?!" \- "Uh, yeah. I was almost arrested for installing VNC on the school computers..." \- "That's such an ignorant white thing to say!" No way to win.

Maybe we can stop allowing these conversations here, because this is an infinite loop that I don't see us escaping any time soon.

<comment><USER102> There are plenty of things worth discussing that aren't falsifiable. There's also plenty of actual data related to those unfalsifiable anecdotes.

Individual instances of biased decision-making are impossible to prove, but that doesn't mean we should stop bringing up the possibility. I'm sure you check yourself against common biases when you think they might be relevant. Prejudice is a common bias, and we should keep talking about it.

<comment><USER103> We should keep talking about it, but there isn't much of an point when the discussion is limited to fit existing biases.

A while back I read a study that found that work culture inside a company is primarily made from gender culture if a single gender become dominant. The minority gender, be that male or female, then has to choose between assimilate or leave. Both men and women tend to chose the later option, which result in profession becoming more homogenic in regards to gender. Only work in professional environments where there is a fairly equal amount of both genders do unique work cultures become dominant.

But that model does not fit common biases. It models _both_ women and men as pushing each other out and discriminate against each other. As such, we don't see such models being discussed, and we don't talk about it. The only model that fits in our existing biases is men as the eternal aggressor and women as the eternal victim, and there isn't much worth to discuss within that limited space that hasn't been discussed to death already.

<comment><USER102> This seems to be a case of the "all lives matter" fallacy. It's true that the men-bad-women-good bias is harmful. It just doesn't strike me as worth spending much effort on compared to the biases that are making our industry significantly harder for people to succeed in. I'll start paying attention to other issues when I can't remember the last time I worked on a ten person, single gender team of engineers.

<comment><USER103> Which results in the predictable model where the underlaying causes are ignored, the problem remains, and thus: There is common biases, but we should not keep talking about it if we aren't willing to fix our biases.

If you don't want 10 person teams with the same gender, ask yourself this: why has those men being pushed to work there and excluded elsewhere? Why are women being excluded to work there and pushed elsewhere?

The Swedish institution of education made a report that noted that as gender roles are being made more equal, work titles has gotten more gendered in the process. The correlation seem to imply that men and women project gender roles onto work as an reaction to having their gender roles being made less distinct in home and society at large.

The same report also noted than in 15 years of efforts to get women to take up more male typical classes like engineering, only very minor progress has been made. No efforts (their exact wording) has been made to make men go to areas dominated by women, and the report predict that no major change in gender equality in education is going to occur until both genders starts to compete to get into classes dominated by the other gender. You need to pressure both side at the same time in order for gender lines to break.

But again, people aren't really interested to talk about this since it doesn't match current biases. It easier to just assume that men are evil, women victims, and try to fix problems under those assumptions. Next time you say that "There are plenty of things worth discussing", here was a explanation why there won't be a worthwhile discussion.

<comment><USER104> Do you know what that report is called?

<comment><USER103> I bookmarked it, and I can post it tomorrow when I get back to that computer.

<comment><USER103> [https://sverigesradio.se/diverse/appdata/isidor/files/95/618...](https://sverigesradio.se/diverse/appdata/isidor/files/95/6180.pdf)

I can strongly recommend page 33 if you don't have time to read the whole thing. If you do have time however, it's references are as significant as the report itself. I also strongly recommend reading some anecdotal stories from people that are minority in professions where the gender inequality is 90%:10% and over.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER105> "I strongly believe that the continued and constant emphasis in taking pride in failure is EXACTLY what women need to be exposed to..."

I'm gonna disagree. It seems like you were so close to understanding "the secret sauce". I'll lay it out for you explicitly: Learning requires humility. You succeeded because you had the humility to admit you weren't understanding, not because of pride.

</comment><comment><USER106> Breaking news: Woman realizes that she has to get over her own ego to admit difficulties and learn stuff, which is a good but obvious insight. However, she has not let go of her ego fully since she cannot prevent herself from letting her feminism flow into the blog post despite it being completely unrelated.

<comment><USER107> Please don't be uncharitable. This thread managed to be fairly civilized despite the strongly divergent views HN users have. Posting comments like this only tears the community back into war of all against all, and to quote my son from when he was two, "that what we not do".

<comment><USER106> My apologies. My affinity for sarcasm got the better of me. I will contain it in the future.</comment></comment></comment>


Photographer.io is now open source - <AUTHOR> http://blog.photographer.io/posts/2013/07/08/were-now-open-source/

<comment><USER2> I love it when I get to see first-hand how other people have made great things. I really appreciate the author opening the code up for Photographer.io.

<comment><USER3> Couldn't agree more.

Was just going through the Gemfile, and I love how he broke out the gems in the various categories - from debugging, to databases, to search, to caching to everything else.

It just makes the code so much easier to read and understand.

As a result of this repo, I looked into Slim - but the official docs are awful, so I won't be adopting that any time soon.

But this app is very interesting to read through.

You can tell a lot of work was put into this.

<comment><AUTHOR> Slim is a bit weird as their old documentation (which I learnt on) was miles better than the current lot. I'd still recommend it though, and feel free to ask me any questions if you do give it a go as I've been using it for at least a year now.

I've only recently started organising my Gemfile like this as I was really struggling with redundant gems lying around. I'm glad you like it :D

<comment><USER3> Congrats on the wonderful job.

So I guess my first question about Slim is how does it work?

For instance, I am trying to figure out how on your home page, you have the following copy:

 _Upload, organise, and share your photographs alongside others, like Robert May did with this superb image._

Where 'Robert May' and 'superb image' are dynamic links - that correspond to the image below it (although maybe you may want to change the copy to "the superb image below" or something of the sort, because it took me a while to realize that image showing on the page is the same image you were talking about and linked. I thought they were 2 different images).

So, I guess just to start off...where is the actual copy of "Upload, organise, and share your photographs...." actually stored. I don't see that copy in the .slim file at all. It seems to be abstracted to 'home.blurb' \- [https://github.com/afternoonrobot/photographer- io/blob/maste...](https://github.com/afternoonrobot/photographer- io/blob/master/app/views/pages/home.html.slim#L19)

But I have no idea where that is.

Sorry if this changes the topic a bit, but I am curious.

<comment><AUTHOR> Ah ha, that's actually not the doing of Slim but rather my usage of I18n, the localisation system used in Rails. Whenever you see t("something.stuff") or I18n.t("something.other.stuff") it's looking for those keys in YAML files under config/locales, primarily in en.yml at the moment. So the text you're looking for is here: [https://github.com/afternoonrobot/photographer- io/blob/maste...](https://github.com/afternoonrobot/photographer- io/blob/master/config/locales/en.yml#L102)

I'm not sure my way's the best, but I'm passing two generated links into that t() call which are then interpolated into the string in the YAML file.

If you've not used I18n before then it can make the views really confusing to read through without the text to reference! :)

<comment><USER3> Ahhh....right.

I haven't used it much...but that's an interesting take on it.

I've seen it used for date & time localization - not for such heavy copy usage like this.

Do you profile the site - with say Rack-Mini-Profiler to see what the performance hit of using I18n like that would be? I don't see it in the Gemfile, but maybe you are using something else to see what the hit of all those choices are on your performance?

It seems that it may be an extra tax - even though it is clever and I like it...just curious what the cost is...and would love to know other non-I18n ways to achieve that, with say ERB.

<comment><AUTHOR> I must admit that I haven't looked into the speed side of it too much! I suspect it's not too bad as the YAML file is loaded once on initialisation into a hash, which the t() function then retrieves the values from. I'm not sure if that differs when using a database backend.

One benefit of using Slim here is that it's a bit faster than ERB/HAML (as you can see in my token biased benchmarks: [https://speakerdeck.com/robotmay/a-simple-introduction-to- ef...](https://speakerdeck.com/robotmay/a-simple-introduction-to-effective- caching-in-ruby-on-rails?slide=22)) so it probably negates any extra time that might be added by using locales.

There's two main reasons I use locales so heavily:

1\. I like my views to be small and largely free of logic

2\. I'd like to translate the site into other languages, and using locales from the start makes it much simpler!

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> Wow, I somehow missed this project. Awesome work.

Have been urgently needing an alternate to Flickr/Picasaweb/500px lately and really haven't liked most the other options out there.

I've signed up for a proper play.

<comment><AUTHOR> I hadn't been promoting it too much until now as I was waiting to get the terms of service sorted out (as lots of photographers are rightly protective of their images).

I'm always keen to hear any feedback you have, and obviously now you can also help contribute to making it the site you want too :D

<comment><USER4> Absolutely. Where did you want suggestions submitted? For example it definitely needs to let you change settings (license, comments on/off/comment- topics, etc) on multiple images at once. Like Flickr's batch uploader/editor.

<comment><AUTHOR> I agree! There's a sorta multiple-editor at the moment but it only lets you switch collections right now. I'm happy for suggestions to go in GitHub issues at the moment; I'll tag them appropriately and it'll help me see what needs doing :D

</comment></comment></comment></comment><comment><USER5> Oh, this is very nice -- maybe what I need to finally kick the tires of ruby/rails.

What is the minimum to get this up and running locally for test/dev? I know this isn't exactly meant for ruby/rails newbies -- but according to a few searches, (and the readme) it looks like I need:

        * postgresql 9+
        * redis
        * memcached
        * solr (is it needed for test/dev?)
        * ruby 2.0 and rails 4.0

It looks like a sane way to get a rails 4 dev environment for the local user (on a recent Debian system) is:

        \curl -L https://get.rvm.io | bash -s stable --rails

So, with the various servers installed, should the line above, paired with a checkout of the repo allow me to do:

        rails serve

And have a look at a local install of this thing?

<comment><AUTHOR> Sorry for the slow reply! I somehow totally missed this one.

I've just pushed up what are hopefully some useful instructions on getting it running, so the README should now be a little more helpful: [https://github.com/afternoonrobot/photographer- io#developmen...](https://github.com/afternoonrobot/photographer- io#development)

It's not entirely straightforward to set up, and I must confess that it has been a while since I did it from scratch. Assuming you already have Ruby installed, then you would definitely need the following: PostgreSQL 9+ (probably 9.2+), Redis, Memcached. Solr probably won't break anything if it doesn't exist, except for the search.

If you have any trouble getting it going or need a hand, give me a shout on Twitter (@robotmay) and I'll open up an IRC channel to help you through it. I might need to do that anyway actually, as I suspect there'll be a few people with issues :D

</comment></comment><comment><USER6> This is perfect, thank you so much. Two-fold: I opened my site up, too, though for different reasons. I'm glad to see I'm not the only one. Mine isn't anywhere near this awesome, though, and it's just starting! And, I think I'll be able to learn a lot about the proper way to do things by seeing how you did things, like different code patterns and development decisions, etc.

Thanks!

<comment><AUTHOR> If you have any questions then don't hesitate to ask! Some of what I do is a little different (like using Slim or locales everywhere) and I'm happy to help explain.

</comment></comment><comment><USER7> Congrats on making the decision to open source this. I'm interested to see how the community will help drive the development of new features. As I'm sure everyone here knows, saying "no" is crucial. It may be a lot harder to say no when a pull request is sitting in your inbox. I would suggest spending some time hammering out a wiki for contribution guidelines, and a development roadmap. I just signed up for an account, and am very excited to see how this progresses!

Edit: One other thing - right now, invites get you more uploads. Depending on how heavy-handed you want to be about good contributions, it might help to require the invitee to upload at least one picture or recommend at least 3 pictures before the inviter gets their additional uploads. That might slow the growth too much though. It's definitely a balance.

</comment><comment><AUTHOR> If anyone's interested in localising the app for their native language then please let me know (@robotmay). There's near-complete support for I18n throughout the entire app and it should, in theory, be quite straightforward.

<comment><USER8> I recommend putting it up on [http://transifex.com](http://transifex.com) for translation, we use that for ownCloud too. There's a command-line tool to update strings and to import new translations, and Transifex is open source as well.

<comment><AUTHOR> Sweet, I've not come across that before. I'll sort out an account on there this evening as it looks really neat. Thanks!

</comment></comment></comment><comment><USER9> nice,that's an awesome project !</comment>


Ask HN: which linux is better for web devs? - <AUTHOR>

I have decided to move from Windows to Linux after facing issues with many tools like Yeoman. previously i worked on Ubuntu. But heard about LinuxMint from a friend so which is better? <comment><USER2> No reason not to use Ubuntu. Huge community, up-to-date packages, every dev tool should work out of the box.

You might want to take a look at [http://elementaryos.org/](http://elementaryos.org/) (it's based on ubuntu too, so almost everything will just work the same). Not stable yet though.

</comment><comment><USER3> The differences are pretty minute. It's boils down to a different default install and most likely a different desktop environment. If you're using the same applications -- and as a web dev, that's quite likely -- it's not that much different than modifying your Windows setup a bit (different start menu, theme maybe, small launcher app). Although those tiny differences matter a lot for people, so it's always worth checking it it, maybe in a virtual machine or a second PC. But switching to Mint really wouldn't change your daily work habits, and the system underneath is virtually identical.

As opposed to e.g. CrunchBang (desktop-wise) or Arch (system/packages)...

</comment><comment><USER4> I personally prefer Ubuntu, my brother uses Linux Mint. I haven't found much difference between the two in terms of workflow, but Linux Mint does keep the Linux ethos more closer to it's heart than Ubuntu does, as Ubuntu has taken the direction of trying to create an easy-to-use-for-the-non-technical OS that can serve as a replacement for the likes of Windows/Mac (while not quite exactly there just yet).

</comment><comment><USER5> I run Ubuntu, the web service packages are well represented and are reasonably up to date and the setup is nearly no-brainer (well, as no-brainer as webserver setup can be.)

The clincher for ubuntu over others, for me, has been the community support - it is such an active community googling ubuntu and your issue usually finds you effective answers in minutes; not always so easy on some of the other ones.

</comment><comment><USER6> Depends on the server you will use. If its DebianLinux Mint LMDE is nice and if you use Ubuntu then, Ubuntu.

</comment><comment><USER7> Among my circle of nerd friends, we generally believe that if you aren't even considering a custom distribution, Ubuntu is the only way to go.

But on HN, I'm sure 'them's fightin' words'.

</comment><comment><USER8> I use linux mint cinnamon. It is a bit cleaner and lighter than unity.

You might also like xubuntu or linux mint xfce. They use the lighter weight desktop environments xfce.

</comment><comment><USER9> It may be too big of a transition, but I really like crunchbang. I would just spin up a VM for each ubuntu, mint, crunchbang, and centos, and see what floats your boat.

<comment><USER10> I switched to crunchbang when I got a new laptop and it's a pleasure to work on and has been useful for getting more experience in terminal. Building your own menus has also helped me keep everything very streamline, I only add what is actually necessary, rather than having tons of programs I used once or twice waste space.

For vps/server I prefer centos/debian.

edit: also wanted to add that crunchbang has run much faster for me than lubuntu which I previously was using. Generally ~200-250mb ram, boots extremely quick as well. It will run great on an old junk pc, or a new workstation.

</comment></comment><comment><AUTHOR> Thanks all for suggestions..After many of you suggested I decided to go for Ubuntu only since there is no much difference..

</comment><comment><USER11> Linux mint is definitely the best transition from a lifetime windows user. Its like a sleek robust XP.</comment>


Are Bots Hijacking Your Marketing Budget? - <AUTHOR> http://techcrunch.com/2014/10/03/are-bots-hijacking-your-marketing-budget/

<comment><USER2> I long ago started blocking _all_ ads because they are one of the largest vectors for malware. I don't like being tracked and my data sold without my permission. This is an old argument, but it's widely agreed upon that there is no implicit agreement that I view ads online, even on a site funded in full by such ads. I record my TV shows and FF thru all commercials as well. I already pay to access the WWW, I will not pay with my privacy.

I use Adblock + with no ads allowed, plus Disconnect, plus I ban DOM storage, shunt LSOs to /dev/null, and filter some of my Internet use thru an offsite proxy server. In addition, I disallow HTTP/S referrer, CSS history, ban sites from seeing my font collection, disable media peerconnect, and a number of other things. I am, for all intents and purposes an enemy of most marketing companies.</comment>