Monthly Archives: November 2008

Igor, Connect the Electrodes!

The Software Carpentry course site is still getting a fair bit of traffic, although readership is definitely tailing off:

SWC site stats

I’m hoping to run an intensive three-week version of the course in June 2009 in Toronto (details to follow); hope I can find time between now and then to finish wikifying the course notes, get the MATLAB material online, and generally freshen the site up.

VeloCity Project Exhibition

Via David Crow (who has comments on it as well), an article by Joey deVilla on the Fall 2008 VeloCity Project Exhibition at the University of Waterloo. VeloCity is a dorm reserved for would-be entrepreneurs, complete with a boardroom, a mobile device lab, high-bandwidth wifi, large flatscreens, etc. The exhibition was a tradeshow-style show and tell of the students’ ideas, some of which were as good as the best things we’ve seen at DemoCamp.  As Joey says, why wasn’t something like this around when I was in university?  (And why isn’t there anything like this in Toronto?)

My Via Experience

Tuesday: go to train station to buy a round-trip ticket to Kitchener. “Does the train have wireless?” “Let me check… yes, that train has wireless.”

Wednesday: get on the train, turn on laptop, try to connect to the Internet. 24 hours of wireless for $8.95 plus taxes sounds pretty good: I’ll have almost for hours to get some work done.  Sign up, pay, log in, start catching up on mail…

15 minutes later, the train leaves the station, and the connection dies.  I wait a few minutes (maybe they reboot when they switch to internal power?), but there’s nothing.  “Excuse me, conductor, but I’ve having trouble with my wireless connection.” “Oh, there’s no wireless on this train, sir, we don’t have the special dish thing.” “But I specifically asked…” “Oh, you’d have to take that up with customer service, sir, there’s nothing I can do.”

Ninety minutes later: as I’m getting off the train in Kitchener, I see a big Via Rail WiFi access sign on the wall. Cool—my train back isn’t ’til 9:45 pm, so after dinner, I can hang out at the train station and catch up on some work.

Conversation and lunch (thanks, Michael #1), more conversation and a guest lecture (thanks, Paul), dinner (thanks, Michael #2), and I’m back at the train station.  Turn on my laptop—nothing that calls itself Via. “Excuse me, Ms. Ticket Vendor, but I can’t get on the wireless network.” “Oh, there’s no wireless here any more, sir.” “But what about that sign?” “Oh, we haven’t been told to take it down yet.”

*sigh*

Later: Via refunded my money — apparently I’m not the first (or first thousandth :-) ) person to complain.

SECSE’09 Call for Papers

Second International Workshop on Software Engineering for Computational Science and Engineering

Saturday, May 23, 2009

Co-located with ICSE 2009 – Vancouver, Canada

http://www.cs.ua.edu/~SECSE09

Overview

This workshop is concerned with the development of:

  • Scientific software applications, where the focus is on directly solving scientific problems. These applications include, but are not limited to, large parallel models/simulations of the physical world (high performance computing systems).
  • Applications that support scientific endeavors. Such applications include, but are not limited to, systems for managing and/or manipulating large amounts of data.

A particular software application might fit into both categories (for example, a weather forecasting system might both run climatology models and produce visualisations of big data sets) or just one (for example, nuclear simulations fit into the first category and laboratory information management software into the second). For brevity, we refer to both categories under the umbrella title of “Computational Science and Engineering (CS&E)”.

Despite its importance in our everyday lives, CS&E has historically attracted little attention from the software engineering community. Indeed, the development of CS&E software differs significantly from the development of business information systems, from which many of the software engineering best practices, tools and techniques have been drawn. These differences include, for example:

  • CS&E projects are often exploring unknown science, making it difficult to determine a concrete set of requirements a priori.
  • For the same reason, a test oracle may not exist (for example, the physical data needed to validate a simulation may not exist). The lack of an oracle clearly poses challenges to the development of a testing strategy.
  • The software development process for CS&E application development may differ profoundly from traditional software engineering processes. For example, one scientific computing workflow, dubbed the “lone researcher”, involves a single scientist developing a system to test a hypothesis. Once the system runs correctly and returns its results, the scientist has no further need of the system. This approach contrasts with more typical software engineering lifecycle models, in which the useful life of the software is expected to begin, not end, after the first correct execution.
  • CS&E applications often require more computing resources than are available on a typical workstation. Existing solutions for providing more computational resources (e.g., clusters, supercomputers, grids) can be difficult to use, resulting in additional software engineering challenges.
  • CS&E developers may have no formal knowledge of software engineering tools and techniques, and may be developing software in a very isolated fashion. For example, it is common for a single scientist in a lab to take on the (formal or informal) role of software developer and to have to rely solely on web resources to acquire the relevant development knowledge.

Recent endeavors to bring the software engineering and CS&E communities together include two special issues of IEEE Software (July/August 2008 and January 2009) and this current ICSE workshop series. The 2008 workshop [http://www.ua.edu/~SECSE08 ] brought together computational scientists, software engineering researchers and software developers to explore issues such as:

  • Those characteristics of CS&E which distinguish it from general business software development;
  • The different contexts in which CS&E developments take place;
  • The quality goals of CS&E;
  • How the perceived chasm between the CS&E and software engineering communities might be bridged.

This 2009 workshop will build on the results of the previous workshop.

Similar to the format of the 2008 workshop, in addition to presentation and discussion of the accepted position papers, significant time during the 2009 workshop will be devoted to the continuation of discussions from previous workshops and to general open discussion.

Submission Instructions

We encourage submission of position papers or statements of interest from members of the software engineering and CS&E communities. Position papers of at most eight pages are solicited to address issues including but not limited to:

  • Case studies of software development processes used in CS&E applications.
  • Measures of software development productivity appropriate to CS&E applications.
  • Lessons learned from the development of CS&E applications.
  • Software engineering metrics and tool support for CS&E applications.
  • The use of empirical studies to better understand the environment, tools, languages, and processes used in CS&E application development and how they might be improved.

The organizing committee hopes for participation from a broad range of stakeholders from across the software engineering, computational science/engineering, and grid computing communities. We especially encourage members of the CS&E application community to submit practical experience papers. Papers on related topics are also welcome. Please contact the organizers with any questions about the relevance of particular topics. Accepted position papers will appear in the ICSE workshop proceedings and appear in the IEEExplore Digital Library.

Please observe the following:

  1. Position papers should be at most 8 pages.
  2. Format your paper according to the ICSE 2009 paper guidelines.
  3. Submit your paper in PDF format to carver@cs.ua.edu.
  4. Deadline for submission: January 19, 2009
  5. Submission notification: February 6, 2009.

Organizing Committee:

  • Jeffrey Carver, University of Alabama, USA (chair of the organizing committee)
  • Steve Easterbrook, University of Toronto, Canada
  • Tom Epperly, Lawrence Livermore National Laboratory, USA
  • Michael Heroux, Sandia National Laboratories, USA
  • Lorin Hochstein, USC-ISI, USA
  • Diane Kelly, Royal Military College of Canada
  • Chris Morris, Daresbury Laboratory, UK
  • Judith Segal, The Open University, UK
  • Greg Wilson, University of Toronto, Canada

A Rails Question

One of our project students has a weird problem with Rails — if you have an answer (weird or otherwise), we’d like to hear from you.

  • I want to send an AJAX request to the server using POST.
  • Rails is supposed to handle parameter passing, placing all parameters in the params hash.
  • When I use Ajax.Request using POST, the variables that I’m passing are not reaching the params hash.
  • It works with GET though!

If I do:

render :text => request.inspect

I can see my POST parameters in @parameters in the request object, but somehow these aren’t making it to my params hash.

And here’s the kicker: parameters pass just fine on my partner’s laptop. So I’ve pinned it down to either a problem with my Rails installation, or a problem with my version of OLM. A complete purge and reinstall of Rails hasn’t helped. Neither has a complete reload of the code from the repository.

Later: problem solved — it was Firebug’s fault.