Thursday, March 21, 2013

The dangers of forking and dongles

Three days ago, Adria Richards published a blog post about an incident that happened at the PyCon conference last week. Two guys made a sexual joke during one of the lightning talks and Adria responded by taking a photograph of them and posting it on Twitter. In a separate tweet she asked the organizers to address the issue, which they did. You can read her blog post here: http://butyoureagirl.com/14015/forking-and-dongle-jokes-dont-belong-at-tech-conferences/

Two days ago, one of the guys making the joke posted an apology and an explanation to Hacker News. It turns out he was fired from his job as a consequence: https://news.ycombinator.com/item?id=5398681

There are several questions here that need to be addressed: Is making sexual jokes at a conference acceptable? If someone is breaking a code of conduct, is it acceptable to post their photograph to Twitter? What will this do to the developer community?

Is making sexual jokes at a conference acceptable?

No, it’s not acceptable. Frankly, I wouldn’t care if I heard someone make a sexual joke, but some people might find this offensive and therefore it’s a good idea to save your sexual jokes for a more private audience. As Adria states in her blog post, the PyCon conference had a pretty extensive Code of Conduct: “All communication should be appropriate for a professional audience including people of many different backgrounds. Sexual language and imagery is not appropriate for any conference venue, including talks.”

If someone is breaking a code of conduct, is it acceptable to post their photograph to Twitter?

Absolutely not, and I find this to be a much bigger offence than making a sexual joke. Public shaming is never an acceptable solution, and as we’ve seen in this case it can have terrible consequences. As Adria points to the Code of Conduct regarding the jokes made, I’d like to point out that the Code of Conduct also states that “Harassment includes […] harassing photography or recording”.

What will this do to the developer community?

This is the question that worries me the most. There are a lot of people working very hard to make more women interested in technology, and they have identified the need for more women in the business. There are, however, an alarming number of skeptics out there, and by skeptics I mean men who prefer the business to be male dominated and who don’t actually want more women to take an interest in technology.

My fear is that Adria’s reaction to the jokes at PyCon will cause the number of skeptics to increase. One of the jokes she perceived as being sexual was in fact not sexual at all. Should a male developer have to censor himself in fear of a female developer overhearing and perceiving what is being said as sexual? If that is the direction we’re going in, I’m not sure I want more women to enter the business myself. No one, neither men nor women, should have to censor themselves out of fear for being publicly shamed.

I sincerely hope Aria will apologize for posting the photography, and delete the blog post and tweets from the conference so that the man will not be affected by this when he goes looking for a new job.

Monday, March 18, 2013

Being a technical reviewer

Do you love reading books and would like to contribute to the collection of great books out there, without actually writing one yourself? You should check out technical reviewing. In this blog post I’ll give a short overview of what technical reviewing is all about and how you can become a technical reviewer.

About a year ago, I received an e-mail from Packt Publishing asking if I would like to be a technical reviewer for one of their upcoming books, “FusionCharts Beginner’s Guide: The Official Guide for FusionCharts Suite”. They had found me through a blog post I’d written about FusionCharts, and needless to say I was delighted to be asked and I immediately said yes. Skipping ahead 10 months, I started feeling a bit restless and wanted something to do. I found a couple of publishers looking for technical reviewers, and sent them an e-mail showing my interest. Some of them have continuously sent me e-mails with their upcoming books in need of reviewers, but unfortunately none of the books were in my field of expertise. Until a couple of weeks ago, The Pragmatic Bookshelf was looking for reviewers for “The healthy programmer”, coming out in June. Again, I immediately said yes, and I submitted my technical review yesterday.

What does it mean to be a technical reviewer?

The job of a technical reviewer is to read the book, comment on the content and answer questions. For example you might get a list of questions like these:

  • Who is the audience of the book?
  • Have the author left out any important topics?
  • Is the order of the content logical?
  • Are the code examples correct?
  • What could the author do to make the book more interesting?
  • If the book consistent?
  • Have the author explained the concepts clearly enough?

The questions in the list above all concern the book as a whole, but the questions can also be asked per chapter. For example: Which topic do you think should follow this chapter?

As you might have noticed, none of these questions address spellchecking or formatting, the only thing the technical reviewer should focus on is the quality of the content. A technical review is often done before the book is copyedited, which means you should expect quite a lot of spelling mistakes and some strange formatting. Luckily for you, you can ignore them all.

How does the process of reviewing work?

The two technical reviews I’ve done have been quite different from one another. For the first book, I received two chapters per week, which I had to review and submit before receiving two new chapters. So I had no idea what the topic of the next chapters were and in some cases the chapters were given in the incorrect order, for example I reviewed chapter 8 before I reviewed chapter 5. This raised some challenging questions like Which topic do you think should follow this chapter? In addition to this, the book was full of code examples which had to be tried out.

For the second book, I received the whole book at once, and I was given a week to review it. This book did not contain any code, so the questions asked were focusing more on the structure of the book, the amount of details given etc.

As you can see, these were two very different review processes. One of the things they had in common was tight deadlines. Don’t expect to be given a lot of time to complete the review, remember that this is a book the author and the publisher wants to publish as soon as possible.

How can I become a technical reviewer?

A lot of publishers are looking for technical reviewers, check out their websites to find their contact information. Here is a list of the publishers I’ve been in contact with:

Remember, you will not get paid for doing a technical review! You will however, most likely be mentioned in the acknowledgements sections of the book and receive a copy of it when it is published. Most importantly, you get to contribute to a great book!

Thursday, March 14, 2013

Fifteen minutes of fame

Aftenposten
Last week a journalist and a photographer from Norway's largest newspaper, Aftenposten, came to visit me. They were interested in the how I’ve been keeping myself updated while I’m on maternity leave. The article was published in todays newspaper, and as it was not published online I’ve simply included an image of the article.

Update: The article was published online the next day: http://www.aftenposten.no/okonomi/Hun-har-verdens-beste-larere-hjemme-i-stuen-7148423.html

Friday, March 8, 2013

Do not take affirmative action towards women in technology

I’ve never seen myself as a major feminist. I support a lot of feminist views, but I don’t feel the need to participate in demonstrations for women's rights. In fact, one of my main “feminist” concerns is the lack of female developers, and I think that says a lot about how lucky I think we, the women, are in Norway.

A lot of people are working very hard in order to attract more women to technology related jobs, and I applaud these people. Your work is very important, unfortunately this blog post is not about you. This blog post is about thoughts and ideas that rise for the same purpose, but might give the opposite result. In other words, this blog post is a plead against well-meant measures which in the end might make women step back from technology.

Do not take affirmative action

(Before I begin my plead, I would like to point out that this is strictly my point of view, other women in the business might not agree with me.)

There was a discussion recently on the lack of female speakers at conferences, and one of the suggestions was to take affirmative action to increase the numbers. For example, if there are 100 timeslots available at the conference, 25 of these should be reserved women to ensure that 25% of the speakers are female. Would this result in the number of female speakers at the conference increasing? Absolutely! But what would probably happen over time? If women were accepted as speakers just because of their sex, we risk the quality of the conference. I’m not saying that women are inferior to men as public speakers or as technology specialists, I believe the same thing would happen if we were to say that 25% of all speakers should be redheads. Or 25% of all speakers should be shorter than 175 cm.

The action is well-meant, but the result might be catastrophic. If I was interested in submitting a talk to a conference, and I found out that 25% of the timeslots were reserved for women, I would probably not submit my talk after all. The wish of all women in the business is to be accepted because we deserve it as individuals, not because we deserve it as a group. I would never accept a job if I got it “just because I’m female”. I would never speak at a conference if my talk was accepted “just because I’m female”. I want to earn my place through blood, sweat and tears, in the same way a man does.

Happy international women's day!

 

Friday, March 1, 2013

Review of “Microsoft Dynamics CRM 2011 Customization & Configuration (MB2-866) Certification Guide” by Neil Benson

“Microsoft Dynamics CRM 2011 Customization & Configuration (MB2-866) Certification Guide” is a book meant for preparation to the MB2-866 exam. While the book covers the skills measured in the exam in great detail, it is not one of those books you can simply read and then expect to pass. As the title portrays, the book covers configuration and customization of a CRM system which means that in order to fully understand what is going on, you need to try it out for yourself.

If you don’t have access to a CRM installation or you don’t have System Administrator privileges, the preface of the book will give you the necessary information in order to obtain this. As large parts of the book require you to try out the customizations and configurations yourself, it’s not your typical “read on a bus” book. A good example is the “How to create a user” section which outlines step by step where you need to click and what information is required in order to create a user. Because of these sections, I spent most parts of my time with the book next to a computer so I could click wherever the author wanted me to click.

After finishing the book I went through the list of skills measured by Microsoft to see if I thought all them were covered in the book. In my opinion the book covers these very well, but I found the order of the chapters in the book to be a bit confusing while reading it. A lot of the concepts that were explained at the end of the book were referred to in the earlier chapters, causing trouble for those who are not familiar with the concepts. This means that the book shouldn’t necessarily be read from front to back, you might have to jump between chapters if a topic you are not familiar with is mentioned but not explained. That being said, flipping through the book is not as easy as it should be. There’s something about the size of the headings that makes it difficult to see if a section is the child or the sibling of the previous section, making the table of contents the only logical way to navigate through the book.

The one thing I absolutely love about this book is that each chapter contains a “Test your knowledge” section with multiple choice questions similar to the questions you can expect to find on the exam. The answers to these questions can be found in Appendix B, but unfortunately the number of answers for a chapter does not always match the number of questions. This means that you might have to dig up the correct answer yourself in some cases. In addition to the “Test your knowledge” sections, the book ends with a “Sample Certification Exam Questions” chapter containing 75 sample questions with answers and explanations to these answers. Luckily, all the answers for this chapter are not only present, but they are also explained in case you chose the wrong answer.

There are some annoyances while reading this book, spelling mistakes for example. First edition books often contain spelling mistakes and we simply have to tolerate that, but this book contains too many of them. An example is a complete diagram explaining the components of a form, where ‘form’ is spelled ‘from’ a large number of times. This can create some confusion as parts on the form are marked "from header” and “from body”. Another annoyance is the author supplying us with incredibly bad mnemonics in order to help us remember the concepts. I appreciate all help I can get in order to remember, but in this case the mnemonics were not helpful at all (at least not to me). In my opinion, a mnemonic is something you have to be able to relate to, and therefore should create for yourself.

Ok, I’m done complaining now. All in all, this book is great when it comes to explaining the concepts of customizing and configuring Microsoft Dynamics CRM 2011 and I would recommend the book to anyone taking the MB2-866 exam. However, I do not think that only reading this book is enough to make you pass, at least not for me. You will need to have tried out the customizations and configurations in real-life scenarios in order to fully get the hang of it.