SAGE is a new breed of software: a meta-CAS.
I’m not sure I agree with the idea– marrying together various CASes like Gap, Pari, and Maxima under one umbrella interface seems awkward and unnatural. It brings to mind early attempts to provide cross platform GUIs based on native windowing systems; most such efforts failed precisely because they tried to gloss over the important fact that different windowing systems are different in design, intent, and execution. For the same reasons that GTK is successful and Swing replaced AWT– namely, consistency–, it seems that a CAS should be designed from the ground up, not as a pastiche of codes.
At the same time, I can’t argue with the fruits of this approach: precisely because each component code was written with different target audiences, there is a definite gestalt effect. What one part of SAGE can’t do, maybe another part can. And on the practical side, probably no one is willing to invest time designing a CAS from first principles when there are mature, tested codes around that can be grandfathered in.
SAGE also has an impressive notebook interface– one that the Axiom developers could learn from.
Possibly relevant posts:
Over the break, I picked up Spin State and its sequel Spin Control, written by Chris Moriarty. I realized almost immediately that the plots, pigeon-holable as a who-dunnit and a spy thriller, wouldn’t hold me, but other aspects of the books kept me reading.
For one, Moriarty does a credible job of constructing a future in which genetic technology has become the central ideological and political issue: the Syndicates, whose populations consist of vat-grown geneered humans culled to ensure physiological and physical perfecton and conformity, are in the midst of a cold war with the United Nations, in which geneered humans are considered socially and legally to be less than human. This ideological schism is the framework on which Moriarty hangs traditional elements of hard sci-fi: AIs, faster than light travel and communication, organic-computer interfaces, …
But, similar to Peter Hamilton, Ian Banks, and Alastair Reynolds, Moriarty impresses his own style and character on these old-favorites: FTL travel is accomplished using Bose-Einstein condensates and quantum entanglement, FTL communication exploits quantum foam theory, and the AIs are (in part) emergent Kohonen neural networks. Nothing shockingly original, but nicely put together, and the expostion of the technological state of the world is enticingly spread over the course of the books.
It’s clear that Moriarty did his homework before constructing his world: he quotes Lotka, Norbert Weiner, and other relatively obscure scientists. In part because of his success at tieing in these historical figures and their various sociobiological and scientific theories, I found myself more anticipating the description of the workings of the political and social systems and the future history of his world, as well as the technology, than any plot developments.
Possibly relevant posts:
I was minding my business, practicing an algorithm for drawing Celtic knots while watching tv, when Starbury gave me a reason to be proud of being black.
Sneakers are just one of the stupid ideas in the fashion culture of black America– ugly ostentatious gold, platinum, diamond jewelry, sagging pants, trash bag t-shirts, the list goes on–, but they have a pretty iconic role– see for instance Nelly’s Air Force One, which promotes sneakers as a status symbol. I don’t see much point in spending more than $40 on a pair of sneakers; I’m glad that Starbury is trying to promote that same kind of mind-set.
Beyond the delicious irony of an NBA player promoting cheap shoes, I appreciate Stephon’s actions because they show that it is possible to avoid the pervasive pressure to conform that seems to characterize modern black culture.
Possibly relevant posts:
A friend just told me that this terms grades were posted, so I logged on and checked them out. Reluctantly, given that there was a strong possibility that I failed one of my courses because of a piss poor final– but, it turns out that not only did I not fail, I made an A in the course.
Odd, because the final was worth half the course, I skipped a forth of it, didn’t complete the calculations in the other three parts, and really screwed up a question about the van der Pol equations. I estimate that I made no less than a 40 and not more than a 60. However, I suspect the same is probably true for most of the other students, so he adjusted his grading scale or lowered the significance of the final. Either way I’m not complaining. Great for me!
Possibly relevant posts:
I’ve been restless this week– now that I have some free time, I find that I want to work on something– so even though my python books haven’t arrived yet, I’ve decided to dive in. My ultimate goal is unclear, but it has something to do with manipulating font glyphs, so after some research I determined that FontTools and TTFQuery meet my needs. It’d be dumb to start installing packages to the system-wide python repository when I’ve forgotten the little I used to know, so I resigned myself to spending hours figuring out how to install packages locally, downloading the packages, compiling them and resolving problems, etc. However, thanks to easy_install, setting up a user directory based ‘virtual python’ and installing the packages was as simple as:
python virtual-python.py
~/bin/python ez_setup.py
~/bin/easy_install Desktop/fonttools-2.0b1.tgz
~/bin/easy_install Desktop/TTFQuery-1.0.0.tar.gz
Update
Now I’m looking through the Python documentation and find that installing packages to your home directory isn’t that bad with dist-utils:
python setup.py install --home=~
I wonder if the two methods are compatible? The directory structure that dist-utils uses is the same as that the virtual python installation uses, so maybe adding a package either way is equivalent. I’d like this: the virtual python idea is neater, but it has less support than dist-utils.
Possibly relevant posts:
Now I know why Heroes hasn’t been shown the past couple of weeks, and not to expect it back anytime soon– it averages 12 days to prepare an episode, and there are only 7 days between airings. Most shows would have started shooting earlier in the year so they could have a regular season, but for some reason NBC’s doing it differently with Heroes. This sucks for those who like the show, but we can be cheered by the good news that there will be a second season.
Possibly relevant posts:
Rufus Wainwright’s incredible! Freaking lyrical soul is what he is, with an amazing voice. I just listened to Want One and Want Two– wish I could upload a couple of the songs I really got into– and loved all of it. This isn’t the type of music you can sing along to: it’s operatic at times, classical at other times (Little Sister), and always unique (Oh What a World). If you haven’t had the pleasure, I recommend taking the time to familiarize yourself with his work. I wish I had time to do him more justice, but I need to sleep now.
Possibly relevant posts:
Gian-Carlo Rota’s one of my role models. Not because I’m interested in the math he did (mostly combinatorics), but because he was a great expositor. I first discovered a vast respect for him when I read Discrete Thoughts, that deepened when I read Indiscrete Thoughts. Imagine my eager surprise at finding a transcript of a talk on ten lessons he wished he had been taught.
I especially like his suggestion as per Feynman to keep your favorite problems in the back of your mind and everytime you come across a new technique, attempt to use it on them. Now, what are my favorite problems?
Possibly relevant posts:
I’ve been seeing a lot of interest in basicCAS– a simple parser for a subset of the Mathematica syntax– lately, so I’m considering re-engineering it as I had originally intended to. As is, it could be used as the parser for a simple CAS, but it’s missing even rudimentary pattern matching support, which is I think one of the most important features of Mathematica.
Unfortunately, I haven’t done any serious programming in a while, much less used Python, so it’ll take me a while to get anything useful done. In the meantime, if any of you who’ve contacted me about it put the current version of basicCAS to good use, find any egregious errors, or make any enhancements, I’d love to know.
Possibly relevant posts: