now we run jug status againwe can see that the two initial double operators are running at the same time after about secondsthe whole process will finish and the output txt file will be written by the wayif your file was called anything other than jugfile pyyou would then have to specify it explicitly on the command linejug execute myfile py this is the only disadvantage of not using the name jugfile py by the way reusing partial results for examplelet' say you want to add new feature (or even set of featuresas we saw in computer vision-pattern recognition finding related poststhis can easily be done by changing the computation code feature howeverthis would imply recomputing all the features againwhich is wastefulparticularly if you want to test new features and techniques quickly@taskgenerator def new_features(im)import mahotas as mh im mh imread(fnameas_grey= es mh sobel(imjust_filter= return np array([np dot(es ravel()es ravel())]hfeatures as_array([hfeature(ffor in filenames]efeatures as_array([new_feature(ffor in filenames]features task(np hstack[hfeaturesefeatures]learning code now when you run jug execute againthe new features will be computedbut the old features will be loaded from the cache the logistic regression code will also be run again as those results also depend on the features and those are different now this is when jug can be very powerfulit ensures that you always get the results you want without wasteful overcomputation