Comments on: unbump.
http://www.metafilter.com/86262/unbump/
Comments on MetaFilter post unbump.Fri, 30 Oct 2009 11:17:24 -0800Fri, 30 Oct 2009 11:17:24 -0800en-ushttp://blogs.law.harvard.edu/tech/rss60unbump.
http://www.metafilter.com/86262/unbump
<a href="http://sagemath.org">SAGE</a> is a free, open-source computer algebra system. <br /><br />SAGE is notable for bringing together a number of existing (and extremely fast) <a href="http://maxima.sourceforge.net/">open</a> <a href="http://www.gap-system.org/">source</a> <a href="http://www.singular.uni-kl.de/">projects</a> under a single umbrella, and religiously avoiding redundant code.
The idea is to create a free alternative to closed-source systems like Mathematica, Maple, and MATLab. In spite of its buffet-style approach to computation, it already runs <a href="http://sagemath.org/tour-benchmarks.html">considerably faster</a> than Mathematica in many situations.
Importantly, open-source software is easier to ethically cite in academic papers, since the code is available for review. As a result, a number of researchers (including me) regularly use SAGE in their work, using its massive computational power to find new results to prove.post:www.metafilter.com,2009:site.86262Fri, 30 Oct 2009 11:11:50 -0800kaibutsusagemathsagecomputeralgebramathopensourceBy: wrok
http://www.metafilter.com/86262/unbump#2803538
SAGE is fantastic for solving <a href="http://www.projecteuler.net">Project Euler</a> problems. <3 SAGEcomment:www.metafilter.com,2009:site.86262-2803538Fri, 30 Oct 2009 11:17:24 -0800wrokBy: xbonesgt
http://www.metafilter.com/86262/unbump#2803550
<i>unbump</i>
I see what you did there.comment:www.metafilter.com,2009:site.86262-2803550Fri, 30 Oct 2009 11:23:04 -0800xbonesgtBy: signal
http://www.metafilter.com/86262/unbump#2803551
Awesome. Plus, Python!comment:www.metafilter.com,2009:site.86262-2803551Fri, 30 Oct 2009 11:23:18 -0800signalBy: Blazecock Pileon
http://www.metafilter.com/86262/unbump#2803552
This looks interesting. I don't have too much experience with MATLAB, but Mathematica and Maple are pretty buggy and crash-prone, to the extent that I'm genuinely shocked they are still in business.comment:www.metafilter.com,2009:site.86262-2803552Fri, 30 Oct 2009 11:23:31 -0800Blazecock PileonBy: delmoi
http://www.metafilter.com/86262/unbump#2803557
There's also <a href="http://www.gnu.org/software/octave/">GNU Octave</a> which is an open source matlab clone.
<blockquote><i>This looks interesting. I don't have too much experience with MATLAB, but Mathematica and Maple are pretty buggy and crash-prone, to the extent that I'm genuinely shocked they are still in business.</i></blockquote>
I've done a little bit with an old version of matlab (6.0) and I didn't have any trouble with it. Are you using the Mac versions of Mathematica and Maple?comment:www.metafilter.com,2009:site.86262-2803557Fri, 30 Oct 2009 11:27:03 -0800delmoiBy: Blazecock Pileon
http://www.metafilter.com/86262/unbump#2803560
Yeah, Octave is pretty good. And free.comment:www.metafilter.com,2009:site.86262-2803560Fri, 30 Oct 2009 11:28:47 -0800Blazecock PileonBy: jedicus
http://www.metafilter.com/86262/unbump#2803579
I administered a Mac-based Mathematica & MATLAB computer lab for a couple of years. For me the biggest problem with Mathematica was the licensing system. What an unbearable headache in the institutional environment. You have two choices: either manually enter unique license keys for every machine every so many months, or run your own licensing server and maintain the keys from there. The server sounds appealing until you realize that the software is incredibly braindead: you can DoS attack the server by simply opening up a telnet connection on that port and leaving it open. The server would happily refuse all other connections forever.
So, anyway, hooray for competition, especially ones that don't have licensing headaches. Hopefully Wolfram will be spurred not only to improve the software proper but also the licensing scheme.comment:www.metafilter.com,2009:site.86262-2803579Fri, 30 Oct 2009 11:41:38 -0800jedicusBy: hermitosis
http://www.metafilter.com/86262/unbump#2803592
<a href="http://www.sageusa.org/index.cfm">Services and Advocacy for GLBT Elders</a>comment:www.metafilter.com,2009:site.86262-2803592Fri, 30 Oct 2009 11:46:57 -0800hermitosisBy: molecicco
http://www.metafilter.com/86262/unbump#2803597
One can hope. The licensing for Matlab is also a complete nightmare. However, if you are performing simulations and doing control design, such as with Simulink, there aren't many options. Matlab is an absolutely fantastic, very powerful program, and the toolkits for Simulink are really great. I looked into using Scicos but it was sorely lacking in the needed functionality.comment:www.metafilter.com,2009:site.86262-2803597Fri, 30 Oct 2009 11:49:39 -0800moleciccoBy: kaibutsu
http://www.metafilter.com/86262/unbump#2803610
Yeah, the Mathematica licensing is an incredible pain. All of the closed-source alternatives are expensive and a bit of a pain to maintain. As a result, almost no one uses them outside of the computer lab setting, which really keeps people from using these systems as learning tools.
If you give smart people tools like this that they can play with in their free time, then the chances of getting cool results outside of the academic mainstream greatly increases. Professional math-heads under the publish-or-perish regime tend to stick to familiar areas where they know they can get funding and results. Giving massive computational power to the masses along with a bit of time for play allows people to try things out free of institutional pressure, and maybe see things that really draw them into the subject, or achieve understanding outside of a class context.comment:www.metafilter.com,2009:site.86262-2803610Fri, 30 Oct 2009 11:57:50 -0800kaibutsuBy: jedicus
http://www.metafilter.com/86262/unbump#2803611
<em>The licensing for Matlab is also a complete nightmare.</em>
Is it? We were using a pre-OS X version that had to run under Classic, and its licensing was fairly straightforward. I guess the licensing has gotten worse since then, despite competition from Octave, which is kind of disheartening.comment:www.metafilter.com,2009:site.86262-2803611Fri, 30 Oct 2009 11:58:16 -0800jedicusBy: haltingproblemsolved
http://www.metafilter.com/86262/unbump#2803625
<a href="http://en.wikipedia.org/wiki/Semi_Automatic_Ground_Environment">Semi Automatic Ground Environment</a>comment:www.metafilter.com,2009:site.86262-2803625Fri, 30 Oct 2009 12:06:48 -0800haltingproblemsolvedBy: Hello Dad, I'm in Jail
http://www.metafilter.com/86262/unbump#2803644
And for free, open-source statistical computing (and publication-quality plots), there's <a href="http://www.r-project.org/">R (or "GNU S")</a>, an extensible environment based on S from Bell Labs. Back in the day, they talked about S for "exploratory data analysis."comment:www.metafilter.com,2009:site.86262-2803644Fri, 30 Oct 2009 12:16:17 -0800Hello Dad, I'm in JailBy: squorch
http://www.metafilter.com/86262/unbump#2803662
<i>Importantly, open-source software is easier to ethically cite in academic papers, since the code is available for review.</i>
What?comment:www.metafilter.com,2009:site.86262-2803662Fri, 30 Oct 2009 12:26:07 -0800squorchBy: molecicco
http://www.metafilter.com/86262/unbump#2803693
Depends on the licensing structure you are under. I was at a university where our division only had a limited license, and we had to go through a complicated procedure to purchase the license for any specific toolkits we wanted. And then they were only usable on one computer in our network at a time. Although, if I closed down Matlab and a colleague wanted to give Model Predictive Control a whirl, we often had to wait until the next day for the license to free up (even after I rebooted). Admittedly, half of the complication was from the's school's own administrative structure.comment:www.metafilter.com,2009:site.86262-2803693Fri, 30 Oct 2009 12:41:00 -0800moleciccoBy: jedicus
http://www.metafilter.com/86262/unbump#2803698
<em>'Importantly, open-source software is easier to ethically cite in academic papers, since the code is available for review.'
What?</em>
The argument goes something like this: If I find that something is statistically significant using a closed-source program, how can you be sure it's actually significant and not the result of an error in the program? For some things it's easy to check, but for others it can be time-consuming to check the result in another program, preferably an open source one.
Where the argument breaks down, of course, is that if I cite results found using an open source program, it may be theoretically possible for someone to formally verify that the program produced the correct result in that instance, but it's highly doubtful that any given reader ever will or indeed that anyone ever will. There is not much evidence that open source development results in better or more correct programs and there may never be; there are just too many confounding variables: popularity, project maturity, language used, development style (agile, waterfall, etc), involvement of paid programmers, project size, etc as well as too few good apples to apples comparisons like Matlab vs Octave.
Of course, just because there isn't any proof that open source development tends to lead to better programs doesn't mean there aren't or can't be good open source programs or even ones that are better than their closed source competitors. It just means that statements about the ethics of citing a result from a closed vs open source program are interesting in theory but not in practice.comment:www.metafilter.com,2009:site.86262-2803698Fri, 30 Oct 2009 12:44:22 -0800jedicusBy: sophist
http://www.metafilter.com/86262/unbump#2803706
Cool, I saw this mentioned by Paul Lutus (yeah,<a href="http://www.atariarchives.org/deli/cottage_computer_programming.php"> that Paul Lutus</a>) on a <a href="http://www.reddit.com/r/IAmA/comments/9xgnd/iama_little_difficult_to_describe_designed_part/">Reddit IAmA</a> a few days ago when he was asked what he was currently working on. Apparently he is an active contributor.comment:www.metafilter.com,2009:site.86262-2803706Fri, 30 Oct 2009 12:49:37 -0800sophistBy: sophist
http://www.metafilter.com/86262/unbump#2803716
How far down do you need to go to verify it? The open source criticism does always apply fully to things like MATLAB, as many researchers use custom packages or open source programs built on top of existing closed source platforms for the algorithms that are relevant to the research. For instance my lab uses <a href="http://www.fil.ion.ucl.ac.uk/spm/software/">SPM</a> for much of our fMRI data analysis, which is a GNU project built on top of MATLAB. You can go in and look at the routines in SPM and verify those, but not all of the underlying MATLAB routines they are calling. By the same token however, if you are running it on Windows or Mac then they are eventually going to be calling computational routines in the kernal (even if they are trivial) that you cannot go in and verify either.comment:www.metafilter.com,2009:site.86262-2803716Fri, 30 Oct 2009 12:56:06 -0800sophistBy: kaibutsu
http://www.metafilter.com/86262/unbump#2803722
I forgot a really important link in the post:
<a href="http://sagenb.org">sagenb</a> is a good sandbox where you can try out Sage without downloading and installing.
A couple pointers for trying stuff out:
1) Tab-completion rocks. So if you type 'mat' and then hit Tab, you'll get a list of stuff that might be what you're looking for. (In this case, math, matlab, matrix, mathematica, matlab_console, matrix_plot, etc. I was thinking of 'matrix', but I guess there's a some matlab and mathematica interoperability available if you want it.)
2) To get help and examples on any given command, you can type the command followed by a question mark:
matrix?
gives the documentation on the matrix function and a bunch of examples.
To see the source executed by any given command, you type the command with two question marks:
matrix??
good luck!comment:www.metafilter.com,2009:site.86262-2803722Fri, 30 Oct 2009 13:08:16 -0800kaibutsuBy: sebastienbailard
http://www.metafilter.com/86262/unbump#2803742
You can use sage as a web browser interface as well as rpy support for R. (According to wikipedia, at least).
---------------------------------
According to
$ sudo apt-get -s install sagemath
it's in the ubuntu package repositories. I need to go find 827MB of space, now.
---------------------------------
(On preview, this point has been addressed:)
<em>
'Importantly, open-source software is easier to ethically cite in academic papers, since the code is available for review.'
What?</em>
It means you can present a result, and the source code you used to get there, and other people can replicate the work without:
1) Buying Maple, Mathematica, or Matlab
and/or
2) Looking damn carefully at the source code for Maple, Mathematica, or Matlab
to make sure it's not lying/broken.
It's not just "Did the Mathematica notebook work out right?" but ALSO is the Mathematica kernel right?comment:www.metafilter.com,2009:site.86262-2803742Fri, 30 Oct 2009 13:25:35 -0800sebastienbailardBy: ikalliom
http://www.metafilter.com/86262/unbump#2803751
I've been using Matlab for ten years, and still do some stuff with it at work. As a programming language, Matlab used to be really horrible. For example, its for-loop was so incredibly inefficient that "optimizing" code meant writing matrix algebra operations only and doing several orders of magnitude more actual computation which, lacking a JIT compiler, was faster. Unfortunately, at the time there was nothing better available and Matlab got quite popular, despite its bad programming language design. The language has gotten better over the years and now even the for-loop is quite efficient, but it suffers badly from being grown and not actually designed. Python is far better and covers the same features.
My background is in computer vision, where Matlab is still pretty much the standard for everything non-realtime. For academic institutions, it is quite cheap (as in beer) and mostly the incentive for using Octave, NumPy, Sage and/or R instead has been ideological. But as the open source alternatives are actually becoming faster and better than Matlab, things could change quite soon.comment:www.metafilter.com,2009:site.86262-2803751Fri, 30 Oct 2009 13:34:30 -0800ikalliomBy: delmoi
http://www.metafilter.com/86262/unbump#2803753
Well, if you do your research in matlab, you should be able to run your code in GNU Octave, if you're worried about the unverifiability of the closed-source matlab.comment:www.metafilter.com,2009:site.86262-2803753Fri, 30 Oct 2009 13:35:47 -0800delmoiBy: mccarty.tim
http://www.metafilter.com/86262/unbump#2803768
As a person too <a href="http://www.youtube.com/watch?v=2h6seJ3xjWA">stupid</a> to do math beyond prerequisite calculus courses, I will <a href="http://www.youtube.com/watch?v=VCYgtkAbCCU&feature=related">post</a> the <a href="http://koentmnd.ytmnd.com/">one thing</a> related to Matlab that I <a href="http://ytmnd.com/search?q=KOENTMND&o=|0|all|SV|D|0|">know of</a>.
<small>Sorry</small>comment:www.metafilter.com,2009:site.86262-2803768Fri, 30 Oct 2009 13:51:54 -0800mccarty.timBy: Ogre Lawless
http://www.metafilter.com/86262/unbump#2803769
<i>SAGE is a free, open-source computer algebra system. </i>
<a href="http://www.sage.org">SAGE</a> is a <a href="http://www.usenix.org/membership/classes.html#sage">moderately inexpensive</a>, <a href="http://www.sage.org/ethics/">open-ethics</a> computer system administrator group.
<a href="http://en.wikipedia.org/wiki/Lamiaceae">Sage</a> is a <a href="http://herbgardening.com/growingsage.htm">freely growing</a>, <a href="http://en.wikipedia.org/wiki/Common_sage">open growing season</a> <a href="http://allrecipes.com/Recipes/Herbs-and-Spices/Herbs/Sage/Main.aspx">food flavoring system</a>.
<a href="http://www.sageusa.org/support/membership.cfm">SAGE</a> <a href="http://online.sagepub.com/">SAGE</a> <a href="http://www.sage.com/">Sage</a> <a href="http://www.sageworld.com/">SAGE</a> <a href="http://www.sagepublications.com/">SAGE</a> <a href="http://www.sagesf.org/">SAGE</a> <a href="http://www.sage-ec.com/">SAGE</a>
<a href="http://www.sageproerp.com/">Sage...pro?</a>comment:www.metafilter.com,2009:site.86262-2803769Fri, 30 Oct 2009 13:52:14 -0800Ogre LawlessBy: ikalliom
http://www.metafilter.com/86262/unbump#2803778
Most of the time, research code written in some version of Matlab works just barely after some fidgeting in your version Matlab. Running it in Octave will require some work, after which you'll discover that plotting the results does not work or that the code uses a single function from a toolbox which does not exist in Octave. It is all very demotivating, although not difficult as such.
mccarty.tim, that was hilarious!
<small>disclaimer: I'm a member of the facebook group "I ♥ MATLAB"</small>comment:www.metafilter.com,2009:site.86262-2803778Fri, 30 Oct 2009 14:01:14 -0800ikalliomBy: The Power Nap
http://www.metafilter.com/86262/unbump#2803788
Don't forget <a href="http://maxima.sourceforge.net/">Maxima</a>comment:www.metafilter.com,2009:site.86262-2803788Fri, 30 Oct 2009 14:16:44 -0800The Power NapBy: The Power Nap
http://www.metafilter.com/86262/unbump#2803792
Crap, I guess I should mouse-over the post, carry on...comment:www.metafilter.com,2009:site.86262-2803792Fri, 30 Oct 2009 14:22:26 -0800The Power NapBy: lenny70
http://www.metafilter.com/86262/unbump#2803823
As a bonus, after installing SAGE, you also get a fully functional installation of Python (including all the cool and often hard to install packages such as SciPy, PIL, MatPlotLib, etc). Just write
./sage -python
in the command line.
In my experience, installing SAGE can be the easiest method to get SciPy and friends working on some configurations.comment:www.metafilter.com,2009:site.86262-2803823Fri, 30 Oct 2009 14:44:33 -0800lenny70By: DU
http://www.metafilter.com/86262/unbump#2803986
<i>Where the argument breaks down, of course, is that if I cite results found using an open source program, it may be theoretically possible for someone to formally verify that the program produced the correct result in that instance, but it's highly doubtful that any given reader ever will or indeed that anyone ever will.</i>
However doubtful it is, it's still infinitely more probable than anyone inspecting and verifying a closed source program, which is impossible.comment:www.metafilter.com,2009:site.86262-2803986Fri, 30 Oct 2009 17:10:43 -0800DUBy: sebastienbailard
http://www.metafilter.com/86262/unbump#2804072
<em>Where the argument breaks down, of course, is that if I cite results found using an open source program, it may be theoretically possible for someone to formally verify that the program produced the correct result in that instance, but it's highly doubtful that any given reader ever will or indeed that anyone ever will.</em>
I think it reflects a general attitude of mathematicians; they just don't want proofs with a chunk marked [trust mathematica on this bit] or [for this step, you and your students will have to buy software]. It would be like presenting a physicist with test equipment that he or she isn't allowed to analyze, test, modify, or reverse-engineer. It would start to get to you after a while.
By taking this stance, mathematicians are shaping what kind of world they want to live in.comment:www.metafilter.com,2009:site.86262-2804072Fri, 30 Oct 2009 19:06:31 -0800sebastienbailardBy: HTuttle
http://www.metafilter.com/86262/unbump#2804086
I prefer my alga braless.comment:www.metafilter.com,2009:site.86262-2804086Fri, 30 Oct 2009 19:26:33 -0800HTuttleBy: aniola
http://www.metafilter.com/86262/unbump#2804123
Unbump? No entiendo.comment:www.metafilter.com,2009:site.86262-2804123Fri, 30 Oct 2009 20:18:11 -0800aniolaBy: twoleftfeet
http://www.metafilter.com/86262/unbump#2804183
<i>they just don't want proofs with a chunk marked [trust mathematica on this bit] or [for this step, you and your students will have to buy software].</i>
And people shouldn't have to depend on proprietary software for the kind of basic mathematical computations these packages provide. I say it's a right, a right of all people, to be able to do basic calculations without paying somebody else to do them.comment:www.metafilter.com,2009:site.86262-2804183Fri, 30 Oct 2009 21:35:51 -0800twoleftfeetBy: pwnguin
http://www.metafilter.com/86262/unbump#2804200
<a href="http://www.metafilter.com/86262/unbump#2803698">jedicus</a>: "<i>Where the argument breaks down, of course, is that if I cite results found using an open source program, it may be theoretically possible for someone to formally verify that the program produced the correct result in that instance, but it's highly doubtful that any given reader ever will or indeed that anyone ever will.</i>"
If I might give that argument a bit more life, I think there's an important thing being overlooked here. Source code is the preferred input for doing <em>automated</em> formal and informal verification. You can already run source code through tools like splint for simple error analysis, though formal verification is still something of an open problem. It seems to me that SAGE would be an ambitious and interesting target for automated verification. I think computing power is growing faster than academic publication, so it's not a forgone conclusion that all software used in pursuit academic publication might be verified. <small>Just maybe not within your lifetime.</small>
The other challenge is that academic publishing today isn't compatible with software. If you write a paper and write your own software to support it, your journal offers no support in publishing the software you wrote; the end result is poorly archived source code that disappears quickly. I've seen some downright atrocious Perl code emitted by biologists in support of a finding; you can't even download it anymore. In this case, I think the ACM and IEEE need to show a good faith effort and lead the way; far too many of our own papers focus more on the output of an unpublished toy program intended to demonstrate some algorithm than the algorithm itself.comment:www.metafilter.com,2009:site.86262-2804200Fri, 30 Oct 2009 22:14:20 -0800pwnguinBy: sebastienbailard
http://www.metafilter.com/86262/unbump#2804447
<em>Unbump? No entiendo</em>.
'Sage' sort of means 'make this go away' on image bbs-es like 2chan or 4chan (NSF?).
Because normal comments 'bump' the thread and keep it alive, while 'sage' has no effect or the opposite effect.comment:www.metafilter.com,2009:site.86262-2804447Sat, 31 Oct 2009 09:57:42 -0800sebastienbailardBy: kaibutsu
http://www.metafilter.com/86262/unbump#2804537
On the bright side, though, it's easy to publish code in preprints on the <a href="http://front.math.ucdavis.edu/">Arxiv</a>, which is quickly becoming the goto-place for math papers. Dead-tree journals don't have the space to publish code, but the arxiv has effectively infinite space. So I can say, 'Here's the code I used to generate my base cases, and here's the code that checked that the theorem is true in those cases. My induction argument takes over from there.'
Another strong argument for opening the source code is that a broad base of research mathematicians can often just find better ways of doing things than a handful of corporate coders tasked with writing tools for the researchers. We really do look at the code (matrix??), and occasionally see a better and/or faster way of performing a calculation.
An unnamed researcher I know did a bunch of work with an unnamed closed-source computer algebra system, developing a free extension of that system. In that capacity, they worked with the closed source of the original system, and by all accounts made a huge number of improvements. Keeping the source a secret keeps such improvements from happening.comment:www.metafilter.com,2009:site.86262-2804537Sat, 31 Oct 2009 12:23:52 -0800kaibutsuBy: abc123xyzinfinity
http://www.metafilter.com/86262/unbump#2804814
<i>I say it's a right, a right of all people, to be able to do basic calculations without paying somebody else to do them.</i>
Well, you don't <i> need</i> software to do any of the calculations these programs do...comment:www.metafilter.com,2009:site.86262-2804814Sat, 31 Oct 2009 20:42:27 -0800abc123xyzinfinity