Hi, Before this thread gets out of hand, note that this is a canonical example of "Painting the Bike Shed". Please see
http://www.unixguide.net/freebsd/faq/16.19.shtml if you don't know what I'm talking about. With that remark made, I do think redesigning the banner is a great idea, and I'm really appreciative to everybody for contributing. I even have a few comments below... Okay, so what information do we need to include in the banner? I > suggest we vote on each item, and then worry about how to word each > item and how to assemble all of the results. I'll post suggestions, > and then I'll vote myself in a separate message. > > * Type "notebook()" for the notebook interface. (FWIW, I worry > that "GUI" isn't helpful; how many mathematicians and math students > understand what this means? Yes, I know I said that we'd worry later > about how to word each item, but I couldn't stop myself from > commenting.) Another possibility is: "Type notebook() for the graphical interface." * Type "help()" for help. (Or whatever the command is.) > > * Type "quit" to quit. By the way, "exit" and control-D also work. The first thing I did when I customized IPython for Sage was hacked it so that "quit" and "exit" would exit Sage. With IPython I think the only way was control-D (or maybe some % thing) and even then it interactively asks you if you're sure. I hate software that is hard to exit. * Type "license()" for license information. (With or without a > statement explicitly mentioning GPL.) It's very strongly recommended (required?) by the GPL. > * Build info * Very detailed build info > * Type "???" to print system information (OS, type of processor, > amount of RAM, etc.) > > Anything else we might include? > > A question: if you worry that the banner might get too long, is that > for your own use -- you might get sick of seeing 8 lines instead of 4 > -- or do you think it damages the esthetics generally? I think we > could pretty easily have an environment variable, SAGE_SHORT_BANNER > for example, which if set to "yes" would result in a shortened banner > being printed, in case it's the former problem. (We already have > SAGE_BANNER, which if set to "no" omits the banner entirely.) It's important to clarify what a banner is for, what is "useful information" and for what purpose. First, think about this -- Every time you read a question or bug report from a user, what do you often ask the user? If it is a build question: * what OS exactly? what hardware exactly? what compiler? did you customize (=screw anything up) on your OS? If it is a usage question: * which version of Sage? exactly what hardware do you have? how much RAM? what OS? precisely what binary did you install or did you build from source? For Magma they make a big deal about the random seed, which is perhaps the main useful bit of information printed in their startup banner, and which is something we haven't discussed here for some reason. Questions for a bug report probably are *not* the best questions to ask for what goes in a banner though. What is the point of the banner anyway? I wrote the current banner, and the main point of it was to provide something the user could look at while the sage Python library was imported, since it takes a second. (I even experimented a while with trying to get the banner to display a faux "sage: " prompt, so the prompt would appear instantly, and the first pause would only be when the user waited for the first line of code to get evaluated -- I wasn't able to nicely solve that seemingly trivial problem.) So I might suggest that when people think "why do I want to know that information when Sage *starts up*?" I think the banner is not for reporting bugs -- the banner is long gone by that time. The banner is for providing useful information about Sage at startup. flat:rh wstein$ sage ---------------------------------------------------------------------- | Sage Version 4.1.1, Release Date: 2009-08-14 | | Type notebook() for the GUI, and license() for information. | ---------------------------------------------------------------------- Regarding the current banner (see above), the information conveyed is: (1) the version of Sage -- by far the most important thing -- critical. (2) the date it was released -- I could care less and never look at this (3) How to start the notebook interface -- obviously I don't care, but new users find this very important, I would guess? (4) How to see the software license -- I don't care, since I know there is a COPYING.txt file in the Sage distribution. However, a new user could potentially care a lot about the license, and some license statement is on almost every major program's banner. The GPL tells one to do this, if nothing else. What is missing? (5) Is this an install from a binary -- I have sage installs all over the place, some built from source, some from binary built elsewhere, etc. Whether Sage was built from source *on this machine* or not can have a profound impact on raw performance (because of libraries like ATLAS). It would be very useful when I start Sage somewhere to have something in the banner that indicates the build status of this Sage install. (6) stats on the actual computer I'm using -- this would be very useful. If I fire up Sage on one of the 30-40 login shells I have, it would in fact be very nice to have a line telling me that this computer has 24 2.6Ghz processors and 128GB of RAM, but another has 1 1.6Ghz processor and 1GB RAM. That would be a useful thing to have summarized on startup, since it gives you a sense of how you should use Sage. It would also be useful in any virtual machine that Sage runs in, since it would remind the user that even if their computer has 16GB RAM and 16 cores, the virtual machine might be configure to only use 384MB and 2 cores. (7) something about the system load -- whenever I fire up sage on sage.math.washington.edu (say), I end up having to check top to get a sense of what is realistic given current load. So I do sage: !top to find out how much free RAM, what the recent load is, etc. (8) is this a 64 or 32-bit Sage install -- this is often very important since it impacts how I use Sage, and has a major impact on runtimes. ---- Finally, here are how PARI and GAP "bike sheds" are painted. Notice that PARI has the version but not the release date (a change I argue for above), it has the bit-ness, it has the compiler and *when compiled* (better than release date), the license statement, how to get help, and how to quit. PARI's banner is quite good, imho, though it doesn't give any info about the resources of the machine it is running on. flat:rh wstein$ sage -gp GP/PARI CALCULATOR Version 2.3.3 (released) i386 running darwin (x86-64/GMP kernel) 64-bit version compiled: Aug 19 2009, gcc-4.0.1 (Apple Inc. build 5493) (readline not compiled in, extended help available) Copyright (C) 2000-2006 The PARI Group PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?12 for how to get moral (and possibly technical) support. parisize = 8000000, primelimit = 500000 ? Goodbye! flat:rh wstein$ sage -gap ######### ###### ########### ### ############# ###### ############ #### ############## ######## ############# ##### ############### ######## ##### ###### ##### ###### # ######### ##### ##### ###### ###### ########## ##### ##### ####### ##### ##### #### ##### ###### ######## #### ##### ##### ############# ### #### ##### ####### #### #### ########### #### #### ##### ####### ##### ##### ###### #### #### ##### ####### ##### ##### ##### ############# ##### ##### ################ ##### ############# ###### ##### ################ ##### ############# ################ ################## ##### #### ############### ##### ##### ##### #### ############# ##### ##### ##### #### ######### ##### ##### ##### #### Information at: http://www.gap-system.org Try '?help' for help. See also '?copyright' and '?authors' Loading the library. Please be patient, this may take a while. GAP4, Version: 4.4.10 of 02-Oct-2007, i686-apple-darwin9.7.0-gcc William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---