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: ()
I get the same thing when I try to email you through your web form. Now I’m sad.
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.
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.
Books, Learning, Practical Programming, Python
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
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
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.
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.
The JSUR Editorial Board
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:
- Report on the Second International Workshop on Software Engineering for CSE, by Jeffrey Carver (University of Alabama)
- Managing Chaos: Lessons Learned Developing Software in the Life Sciences, by Sarah Killcoyne and John Boyle (Institute for Systems Biology)
- Scientific Computing’s Productivity Gridlock: How Software Engineering Can Help, by Stuart Faulk (University of Oregon), Eugene Loh and Michael L. Van De Vanter (Sun Microsystems), Susan Squires (Tactics), and Lawrence G. Votta, (Brincos)
- Mutation Sensitivity Testing, by Daniel Hook (Engineering Seismology Group Solutions) and Diane Kelly (Royal Military College of Canada)
- Automated Software Testing for MATLAB, by Steve Eddins (The MathWorks)
- The libflame Library for Dense Matrix Computations, by Field G. Van Zee, Ernie Chan, and Robert A. van de Geijn (University of Texas at Austin), and Enrique S. Quintana-Ortí and Gregorio Quintana-Ortí (Universidad Jaime I de Castellón)
- Engineering the Software for Understanding Climate Change, by Steve Easterbrook (University of Toronto) and Timothy Johns (Hadley Centre for Climate Prediction and Research)