The obvious and simple way to plot spikes from a randomspike or spikegen element is to simply send the state field of the spike generator to a graph with a PLOT or PLOTSCALE message. This is the method used in the example Scripts/tutorials/tutorial4.g. Although this method is often acceptable, it isn't ideal, because a spike lasts for only a single time step. Therefore, you will have to use the simulation time step as the time step for plotting (using up a lot of memory to store points that are mostly zero), or risk missing spikes which fall between the plotting intervals. Also, when viewed at a high resolution, the plotted spikes will be triangles, rising linearly from zero at the previous time step, and falling linearly to zero at the next time step. The solution, suggested by Dieter Jaeger a few years ago, is to use a script_out element to check for a spike at every timestep, and then draw a vertical spike by calling the ADDPTS action of an xplot element when a spike occurs. This is ilustrated by the following script spikeplot.g, which should be included after the rest of Scripts/tutorials/tutorial3.g, or modified to fit your own simulations. This directory also contains spikebeep.g, a simple example of the use of script_out to produce a "beep" whenever a spike is detected. A more elegant solution would be to create an extended object based on an xgraph object. This could receive a PLOTSPIKE message from the spike generator to correctly plot the spike, as well as PLOT and PLOTSCALE messages for plotting continously varying quantities. (A prize will be given for for the best implementation submitted to babelnews.)