Archive

Archive for November, 2009

Dear Synkronizer

November 30th, 2009

I’d really like to buy your Excel compare-and-merge tool, but when I try to submit a purchase request, I get:

Warning:  mysql_pconnect() [function.mysql-pconnect]: Access denied for user
'synkroni'@'localhost' (using password: YES) in
/home/synkroni/public_html/synkronizer/php/inc/db_mysql.inc on line 73
Database error: pconnect(localhost, synkroni, $Password) failed.
MySQL Error:  ()
Session halted.

I get the same thing when I try to email you through your web form. Now I’m sad.

Uncategorized

Nothing to See Here, Folks—Move Along, Move Along

November 29th, 2009
Comments Off

Like a lot of people, I received email a few days ago from Ivar Jacobson about SEMAT (Software Engineering Method and Theory), a new initiative whose “…goal is to re-found software engineering as a rigorous discipline.” I can’t think of a better response than Jorge Aranda’s.

Research

Feedback on the Python Book

November 26th, 2009

71 people have answered our questionnaire about Practical Programming. Here’s some of what they told us; I’ll summarize the questions about use of online programming resources and what we could do differently next time in a subsequent post.

Read more…

Books, Learning, Practical Programming, Python

Writing About Reading

November 24th, 2009

It’s been a busy three months—I was dropping balls left and right even before I got sick. In amongst all of it, though, I managed to get through a few books.

The first, and most disappointing, was Mills’s Practical Formal Software Engineering. It’s meant to be a textbook on formal methods of software development (think Z, statecharts, and all that), but it reads like the notes someone might take in such a course if the second half was rushed through. The first few chapters on counting and basic logic are littered with gnomic utterances (“Leibniz observed that all precise reasoning is like this.” Did he? When, and why, and most importantly, so what?). The middle chapters on UML, Z, and OCL are probably only comprehensible to someone who already knows what’s in them, and while the extended exercises at the end might be useful, I suspect most people will, like me, have lost faith by then.

Next is IEEE Computer Society Real World Software Engineering Problems: A Self-Study Guide for Today’s Software Professional. This is meant for people studying toward the IEEE’s certification exams for software engineers, and is definitely old school in its approach. A lot of the questions have to do with process (I really should use a capital ‘P’ there to reflect the reverence with which this book treats it), engineering ethics, and the like. It isn’t the kind of software development I do, but that’s more a reflection on me than on the book, and I expect to mine a lot of future exam questions from it.

Number three is Qian et al’s Software Architecture and Design Illuminated. It’s in the same family as the other software architecture books I tried, and discarded, when I was teaching a course on the subject at U of T. The authors do a good job of explaining the basics of UML, and of taxonomizing and describing a variety of architectures, but dammit, where are the real-world examples? If you were writing a book about mid-century American architecture, it would be littered with photos, sketches, and blueprints; no such book exists (yet) for software architecture. If anyone wants to take a crack at it, please let me know—I’ll be your first and best customer :-)

Books

Amen

November 24th, 2009

Greatest Hits

November 24th, 2009

The list of contributors to the upcoming O’Reilly book on evidence-based software engineering seems to have settled down—we’re very grateful to everyone listed below for agreeing to take part, and hope that the book will be available in the summer of 2010.

  • Jorge Aranda: radical collocation vs. doors that close
  • Tom Ball and Nachi Nagappan: how to predict software failures
  • Victor Basili: a retrospective on the Software Engineering Lab
  • Andrew Begel: problems new developers encounter
  • Christian Bird: effect of organizational structure on development
  • Barry Boehm: cost to fix vs. time, and how much architecting is enough
  • Marcelo Cataldo: managing dependencies in distributed software development
  • Steven Clarke: the usability of APIs
  • Jason Cohen: effectiveness of code reviews
  • Rob DeLine: time spent communicating
  • Khaled El Emam: the effect of code size on code metrics
  • Hakan Erdogmus and Burak Turhan: test-driven development
  • Mike Godfrey: copy-paste as a principled engineering tool
  • Mark Guzdial: computer science education
  • Jo Hannay: the effect of personality on pair programming
  • Ahmed Hassan and Israel Herraiz: the constants of software
  • Barbara Kitchenham: the value of aggregate studies
  • Andrew Ko: epistemology
  • Steve McConnell: productivity differences among programmers
  • Audris Mockus: similarities and differences between open and closed source
  • Gail Murphy and Neil Thomas: the modules developers work with are not the modules expressed in code
  • Dewayne Perry: the underlying causes of faults
  • Marian Petre and Lutz Prechelt: credibility
  • Lutz Prechelt: effect of programming language choice on productivity
  • Elaine Weyuker and Tom Ostrand: providing evidence of defects before they happen
  • Andreas Zeller and Kim Herzig: mining project histories
  • Tom Zimmermann and Rahul Premraj: beautiful bug reports
  • Dieter Rombach: to be determined
  • Diomidis Spinellis: engineering requirements drive code quality
  • Forrest Shull: to be determined
  • Janice Singer: navigation in information spaces
  • Walter Tichy: the evidence for design patterns
  • Gina Venolia: what developers draw
  • Laurie Williams: pair programming

Making Software

ICSE 2010 Co-Events

November 24th, 2009

The International Conference on Software Engineering (ICSE) is being held in South Africa next year. Their web site is already up, and they’ve just announced all the workshops and whatnot that are being held along with it. It’s quite a list, and some of the acronyms are very impressive too :-)

The odds are against me being there (can’t afford it, and it starts before the end of my self-imposed year-long no-fly pledge), but we’re hoping to have an early draft of the O’Reilly book on evidence-based software engineering ready in time to review there.

Making Software, Research

Reverse Engineering a Bibliography

November 23rd, 2009

Dear lazyweb,

I’ve been handed a file with the authors and titles of approximately 140 scientific papers, and would like to construct a proper bibliography (complete with journal titles, publication dates, DOIs, etc.). If there were just 20 entries, I’d do it by hand, but with 140, I’d like some kind of script. How would you do this? It can be as ugly as it needs to be…

Thanks in advance.

Uncategorized

Serendipitous and Unexpected

November 22nd, 2009
Comments Off

Via Ryan Lilian:

Most research effort does not produce what is thought of as a traditionally publishable result.  That doesn’t mean, however, that nothing was gained by conducting the research.  These results, whether they are failures or merely perplexing, can provide valuable insights into open problems and prevent other researchers from duplicating work.  We started a journal that focuses on serendipitous (I have no idea why this worked) and unexpected (it seems like this technique should work on this problem but it doesn’t) results.  The goal of the journal is to provide a venue where ideas can flow and be debated.

The Journal of Serendipitous and Unexpected Results (JSUR) is an open-access forum for researchers seeking to further scientific discovery by sharing surprising or unexpected results. These results should provide guidance toward the verification (or negation) of extant hypotheses.  JSUR has two branches, one focusing on Computational Sciences and the other on the Life Sciences.  JSUR submissions include, but are not limited to, short communications of recent research results, full-length papers, review articles, and opinion pieces.

Recently, we launched the beta version of the journal site at http://jsur.org.  We would love to get your feedback and even better, a submission for the first issue.

To get the journal started, we’re looking to collect a large number of short (2-4 page) reports. I know you have something to publish.  Please help us spread the word and forward this information to interested colleagues.

Sincerely,
The JSUR Editorial Board

Uncategorized

Special Issue

November 18th, 2009

A special issue of Computing in Science & Engineering that Andy Lumsdaine and I edited, devoted to software engineering in computational science, is now available. We’d like to thank everyone who contributed:

Computing in Science and Engineering

Announcements, Research