Sage Days in Bobo-Dioulasso debriefing; Sage in developping countries

349 views
Skip to first unread message

Nicolas M. Thiery

unread,
Nov 11, 2012, 4:00:20 AM11/11/12
to sage-...@googlegroups.com, sage-comb...@googlegroups.com, bobo...@lirmm.fr
Dear Sage devs,

The fall school on Discrete Mathematics in Bobo Dioulasso, Burkina
Faso, aka Sage Days 43, just finished. For two weeks we had courses
(combinatorics of words, dynamics, tilings, ...) interspersed with
on-hands tutorials using Sage. The public consisted mostly from
graduate students, from subsaharian Africa and some further away
countries.

That was a good occasion for a real-life evaluation of a claim I have
been desiring to make for a long time: �Sage, being open-source, is
well adapted for universities in developing countries�.

Let's see about this.

A couple words of context:
--------------------------

- 70 participants total; in average 40-50 were there.
- Most participants had a laptop (or netbook for a few of them):
- 90%: windows, 5% mac, 5% Linux Ubuntu (usually in double-boot with Windows)
- Laptop age ranging from 2003 to 2012; 4 years on average
- RAM: 500k-6Gb; 1Gb on average?
- Network: one ADSL line for 60 persons in the conference center
Well, when it actually worked, which was not that often.
We finished using a cell-phone shared over wifi.
The local wireless network itself was down quite often.
No network at the university itself or nearby
- Among the organizers were Sage devs with good experience on running
Sage workshops and doing system/network administration, ...
- Sam had brought a big bunch of power cables. I screwed up not
bringing my own wireless router to at least guarantee a reliable
local network.

Strategies we tried or considered:
----------------------------------

(a) Installing Sage on Linux/Mac with the binaries from Sagemath.org
(b) Installing Sage on Linux/Mac from sources
(c) Installing Sage on Linux from a custom built fat binary
(d) Installing Sage on Windows with the virtual machine
(e) Running a Sage server on my laptop (8 cores, 8Gb)
(f) Using a remote Sage server
(g) Installing Linux and reducing the problem to (a-c)
(h) Booting on a live Debian USB key, custom-build by Thierry Monteil
with Sage, self-cloning and persistence.
(i) Using a local PC lab after installing Sage on them

I would like to use the occasion to send my kudos to all those who
strive hard at making Sage easier to use one way or the other.

How it went:
------------

(a) Went smoothly on Mac when appropriate binaries were available. We
had to recompile a few of those binaries.

(a) failed most of the time on Linux by lack of gfortran. Since we did
not have a reasonable network, apt-get install was not an option.
We did not have iso's of all the Ubuntu versions that were in use.
3D plotting was usually not available (by lack of appropriate Java
plug-ins).

(b) Compiling from source was not a viable option on Linux for the
same reason as above: build-essentials was usually not there. On
Mac that was ok, provided we had under hand the appropriate
version of XCode.

(c) This fat binary was built by Thierry Monteil on an old pentium 3
(!) with a minimal Debian install. Installation and usage went
smoothly, except that 3D plotting was usually not available.

(d) Virtual machine: Installation went smoothly on about 20 machines
(with close guidance). It failed on 2-3 machines due to resource
limitations (disk, ...).

However, except for about five recent machines, the memory
footprint was just too high: any non trivial calculation or plot
made the laptop swap and become simply too slow to use.

The french keyboard was not properly self-detected. Due to the
network, we could not look up on the web for help. We ended up
finding how to configure it from a shell. I'll create a ticket.

The Sage version available was a bit old (5.1) though that was not
an issue for us this time (but it could have been).

The usage was on the complex side for most participants. They
typically tended to reclick on the ova, creating a new virtual
machine each time. Also uploading worksheets was tricky; it would
be much simpler if the virtual machine was setup to access the
user directory on the host machine or if the web client was
running on the host.

(e) Running a local Sage server: This is a priori good short term
solution, except that participants don't leave with Sage running
on their machine. My laptop easily handled the dozen people using
it. However the unreliability of the local wireless network ruined
the game more often than not. We have no data for how this would
have scaled if all participants had gone this way.

(f) Using a remote Sage server: given the network situation, we did
not even bother trying.

(g) Installing Linux, 3-4 machines: we were of course all favorable
to encourage participants to switch to Linux. However, installing
a new system always means taking a risk, especially since most
participants did not have backups (or even did not have a clue
what a backup was ...). Besides we did not want to spend too much
time on system administration.

(h) Live USB key, ~30 machines: this worked smoothly on most PC's
after fighting a bit with the BIOS to boot from USB. Some HP
laptops resisted. Pro: we could include some extra documents
(tutorial files, ...) on the key. Con: it forced people out of
their usual work environment. The self-cloning was an important
feature to quickly replicate updated versions of the key (log(n)),
and promote future diffusion around the participants.

(i) Local PC lab: we ended up dropping the idea because the available
PC labs either lacked network or electrical power. Potential pros
and cons: more consistent hardware simplifies the
installation. But the hardware tends to be older. The room can
possibly be used for running Sage in the long run. But the
participant don't leave with Sage running on their machine.

Summary:
--------

- The two main bottlenecks were network and available memory.
- The virtual machine seldom was a viable option.
- The Live USB key was by far the most robust option, though not ideal
for long term use by the participants (and it does not work on Mac,
or at least not easily).
- We really had to plan for multiple strategies to ensure that at
least one would work for each participant.
- It seems unlikely that someone without serious Sage experience would
have a chance to setup a Sage tutorial in similar (and alas typical)
conditions.

Altogether, and for what it's worth, this experience suggests that
Sage sill has quite some way to go before we can claim that it is
indeed well adapted for universities in developing countries.

Recommendations:
----------------

Of course one could rightfully argue that things would be *much*
easier if Linux was more widely spread in universities with little
resources (which would make a lot of sense as well). But since we
can't do much on that front at the Sage scale, here are some tentative
recommendations for improving Sage itself:

- Sage on Windows: there *is* an important use case for having a
native port of Sage on Windows. Over time, the virtual machine *may*
become a viable option as memory limitations become less
stringent. For this, it is crucial to reduce the memory footprint to
its bare minimum. Using the host web browser is the most obvious
step.

- Precompiled binary for Linux: besides the usual distro-specific
binaries, it would be very helpful to have two (32bit / 64bit) fat
Sage binaries that would work without dependencies on as many
distros and processors as possible. Even if this means a slightly
larger archive and lack of optimizations on recent
processors. Compiling on a Pentium 3 was probably overkill, but
Pentium 4 would be good at this point in time. If there is a way to
include Java plugins that would be great as well.

I let Thierry Monteil comment more on how he built those binaries.

- Having more Sage mirrors in Africa (although the network issues were
more in the last kilometer).

- Keeping on reducing the Sage's startup time and memory by lazy
importing more stuff in Sage.

Again, kudos to all who strive and will strive at improving the
usability of Sage!

Cheers,
Nicolas
--
Nicolas M. Thi�ry "Isil" <nth...@users.sf.net>
http://Nicolas.Thiery.name/

Mike Zabrocki

unread,
Nov 11, 2012, 11:07:06 PM11/11/12
to sage-comb...@googlegroups.com, sage-...@googlegroups.com, bobo...@lirmm.fr, Nicolas M. Thiery
Wow! Nicolas fantastic report.  That was a challenge to do.  I hope
you managed a convert or two in Africa.  My experience with computer
classes as part of a summer school (in Ghana, Kenya, Tanzania and
Madagascar) is similar except I never had a wifi network and most 
of my students didn't have regular computer access.  

Most of my students were complete novices
to the computer, but willing to learn.  Installing sage was several
steps beyond what we tried.  I would say that most of the infrastructure
that we had access to would not support sage (most computers were
dated pre-python, though I did not have the expertise to make this work).

I think to break the barrier and make a true sage days really productive,
I think that you would need to partner with some organization like OLPC 
(one laptop per child) or arrange to minimize the problems with 
your hardware.

-Mike

On Sunday, 11 November 2012 04:00:34 UTC-5, Nicolas M. Thiery wrote:
        Dear Sage devs,

The fall school on Discrete Mathematics in Bobo Dioulasso, Burkina
Faso, aka Sage Days 43, just finished. For two weeks we had courses
(combinatorics of words, dynamics, tilings, ...) interspersed with
on-hands tutorials using Sage. The public consisted mostly from
graduate students, from subsaharian Africa and some further away
countries.

That was a good occasion for a real-life evaluation of a claim I have
been desiring to make for a long time: �Sage, being open-source, is
well adapted for universities in developing countries�.
Nicolas M. Thi�ry "Isil" <nth...@users.sf.net>
http://Nicolas.Thiery.name/

 

Jan Groenewald

unread,
Nov 12, 2012, 12:22:12 AM11/12/12
to sage-...@googlegroups.com, sage-comb...@googlegroups.com, bobo...@lirmm.fr, Nicolas M. Thiery
Hi

I also work in Science in many countries in Africa [1]. My preferred single
solution is a standalone Ubuntu desktop (laptop) installation. As it dual
boots, it is minimally invasive. The procedure is simple. "AIMS-desktop"
currently only needs network for the install, and if it reaches network afterwards
it can updated through the usual graphical means [2]. This method
overcomes the problems with system administration by simplifying
everything to one system [3] and overcomes problems with regular electricity
and network outages, as each user has a laptop battery. A small UPS
for the data projector is advisable to minimise frustration. It is also
non-negotiable to me that each participant leaves the workshop
with the software in working order.

On the road to this the main obstacles were PPAs for rstudio, sage,
and casapy (another huge python-based source-tree-cum-kitchen-sink
piece of science software, like Sage!), which is now done simply by
repacking upstream debs or binaries -- while debian-ugly it really
turned out to be by far the easiest.

Future work on aims-desktop becoming a standalone installer include perhaps
rebranding to something generic like science-desktop (brought
to you by AIMS ;) and refactoring it so that science-desktop-minimal
fits into 4G, in order to use relinux (or remastersys) [4] to make an install
CD which includes Ubuntu (2G), Sage (1.6G), and dependencies like
tex (1+G).

We may have a different flavour or install method to overcome this 4G
limitation as we really want the science-desktop-minimal to inlcude
scipy, gedit-plugins-extra, rstudio-desktop, texlive-full, texmaker,
openjdk, and barring licensing/distribution problems, non-free codecs
as well, or separately. science-desktop-standard is currently around 12G and
science-desktop-extra around 20G.

The eventual aim would be an easily maintained (minimal variation from,
mostly just metapackages with dependencies) science flavour of Ubuntu,
like kubuntu, xubuntu, etc. I'm not sure of the technical details yet, but this
might be a 16G USB installer, with the usual 1-2G installer and all the extra
packages loaded onto that memory stick. As I am working on this alone,
and mostly because my day job keeps me busy, it's taken years! to get this far.

I'll have time within the next quarter or so to update aims-desktop
from 12.04 to 12.10, or to decide to support LTS only; and to
build a sage buildbot slave for 12.10, or to build a LXC/KVM machine
to provide builbot slaves for many Ubuntu versions.
It does look like this is becoming more part of my day-job,
officially; it doesn't mean other administrative work is reduced
though...

If anyone wants to help out, do let me know though.
Two opportunities now include 1) investigating a minimal
install with ubuntu + sage PPA for relinux, which will
produce a downloadable ISO (though with the username/pass
already set) and 2) writing a script to download a few packages
onto a standard Ubuntu USB installer so that sage, gfortran,
and a few other things can be installed after an Ubuntu install
by a one-liner.

AIMS centres can also act as regional hubs. Unfortunately due
to bandwidth costs, public mirror hosting is unlikely, but hosting
for internal use is likely; proxies are commonly deployed.
At AIMS South Africa we install hundreds of laptops annually
for our students and regional students who heard about it.
AIMS Ghana and AIMS Senegal is poised to do the same.

In the meantime speak to me about hosting sage days at
an AIMS centre, where you will arrive with Sage already
installed on all computers, and the most reliable internet
you can find in an African university.

If someone knows where to get the funding, I would look
forward to a July 2014 Sage days in Cape Town.

[1] http://www.nature.com/news/education-africa-s-counting-house-1.11757
[2] https://launchpad.net/aims-desktop
[3] http://hplgit.github.com/edu/uiopy/uiopy.html
[4] http://relinuxkit.org/, http://www.geekconnection.org/remastersys/ubuntu.html

Regards,
Jan

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
 
 



--
  .~.
  /V\     Jan Groenewald
 /( )\    www.aims.ac.za
 ^^-^^


Jeroen Demeyer

unread,
Nov 12, 2012, 4:28:02 AM11/12/12
to sage-...@googlegroups.com
On 2012-11-11 10:00, Nicolas M. Thiery wrote:
> (a) failed most of the time on Linux by lack of gfortran.
Since sage-5.4, gfortran is no longer a requirement (see #13515), so
this will become easier in the future.

Jeroen Demeyer

unread,
Nov 12, 2012, 4:31:47 AM11/12/12
to sage-...@googlegroups.com
On 2012-11-11 10:00, Nicolas M. Thiery wrote:
> - Precompiled binary for Linux: besides the usual distro-specific
> binaries, it would be very helpful to have two (32bit / 64bit) fat
> Sage binaries that would work without dependencies on as many
> distros and processors as possible.
The pre-compiled binaries *should* work on old processors. If not,
that's a bug which should be reported. Supporting more distros is
possible if and only if somebody contributes a buildbot slave machine
for building the binaries.

Nicolas M. Thiery

unread,
Nov 12, 2012, 4:52:22 AM11/12/12
to Mike Zabrocki, sage-comb...@googlegroups.com, sage-...@googlegroups.com, bobo...@lirmm.fr, Jean Thiéry (Papa)
On Sun, Nov 11, 2012 at 08:07:06PM -0800, Mike Zabrocki wrote:
> Wow! Nicolas fantastic report. That was a challenge to do.

Thanks :-)

> I hope you managed a convert or two in Africa. My experience with
> computer classes as part of a summer school (in Ghana, Kenya,
> Tanzania and Madagascar) is similar except I never had a wifi
> network and most of my students didn't have regular computer access.
> Most of my students were complete novices to the computer, but
> willing to learn. Installing sage was several steps beyond what we
> tried. I would say that most of the infrastructure that we had
> access to would not support sage (most computers were dated
> pre-python, though I did not have the expertise to make this work).

I could hope for 4-5 that will use Sage in the long run, and 20 that
definitely see the point but will get stuck by lack of infrastructure
and expertise.

But as you said: �if our problem was only network, we were in pretty
good shape to start with�. We had a selection of students that were
definitely computer-literate (somehow, the main difficulty was to
prevent them from running to facebook&all and eat up all the bandwidth
whenever the network was working :-) ), even though most did not have
programming experience.

> I think to break the barrier and make a true sage days really
> productive, I think that you would need to partner with some
> organization like OLPC (one laptop per child) or arrange to
> minimize the problems with your hardware.

Well, I have a good contact for that: dad :-) We actually already used
Sage on our home OLPC, although only through a remote Sage server. I
doubt the old models can support running Sage locally, but for the
upcoming models we certainly will have a shot (at least running in a
terminal).

Of course, the real thing would be to integrate a resource-optimized
version of Sage within the Sugar activities. This probably won't be a
priority for OLPC, since their main target population is children of
age 6-12, but as you say we could explore other organizations as well.

Cheers,
Nicolas
--
Nicolas M. Thi�ry "Isil" <nth...@users.sf.net>
http://Nicolas.Thiery.name/

Nicolas M. Thiery

unread,
Nov 12, 2012, 4:57:05 AM11/12/12
to sage-comb...@googlegroups.com, sage-...@googlegroups.com, Jean Thiéry (Papa), bobo...@lirmm.fr
Hi Andrey,

On Sun, Nov 11, 2012 at 08:37:50PM -0800, Andrey Novoseltsev wrote:
> Thanks a lot for such a detailed report!

:-)

> Is it possible to have step-by-step instructions for
> self-replicating USB sticks posted somewhere?

Thierry Monteil, who worked hard on that key and should get all the
credits for it, is in CC. He is planning to advertise it shortly.

> I think these may be a great way to use Sage even in developed
> countries. Last summer I used USB sticks for our summer school, with a
> hope that students may use them in the lab (I got our IT guys to open
> USB boot) and then on their own computers. To make sure that results
> are preserved between sessions, I've installed Linux on a USB
> partition together with Sage and LaTeX, tinkered with GRUB to mount
> only the stick by label rather than UUID, and then used Clonezilla for
> duplication (which fortunately support 1-to-many image restoration and
> I had a computer with 8 ports available).

Thanks for reporting the use-case!

> I also hit the problem that Macs don't boot from USB, which IMHO is
> completely retarded, but that's just life.

Yeah. Besides, installing on Mac is not so much of an issue.

> It also seems to me that memory consumption is the main bottleneck
> of running Sage servers - when users are playing with basic
> calculus/ linear algebra, there isn't much demand on CPU, but every
> open worksheet or interact worker consumes quite a bit of virtual
> and resident memory. I hope to run a class with ~2k students next
> year and it is conceivable that most of them will do something a few
> hours before the homework deadline. We'll see how it goes (if it
> goes at all, of course).

Wow, 2k? That's quite a few!

Nicolas M. Thiery

unread,
Nov 12, 2012, 5:16:24 AM11/12/12
to sage-...@googlegroups.com
Great! One problem crossed out of the list. Kuddos to those who worked
on #13515!

Nicolas M. Thiery

unread,
Nov 12, 2012, 5:24:01 AM11/12/12
to sage-...@googlegroups.com
On Mon, Nov 12, 2012 at 10:31:47AM +0100, Jeroen Demeyer wrote:
> The pre-compiled binaries *should* work on old processors. If not,
> that's a bug which should be reported.

Ah, good to know!

I don't remember myself if we had issues with the processors
themselves, or only with distro-related issues (like glibc version).

Thierry?

> Supporting more distros is possible if and only if somebody
> contributes a buildbot slave machine for building the binaries.

Ok.

Note that, in the discussion at hand, it would be more about testing
generic binaries rather than building distro-specific binaries.

Thierry: in case the *working on old processors* is confirmed, what
about running a virtual machine with your minimal Debian as buildbot
on the sage-combinat server?

Nicolas M. Thiery

unread,
Nov 12, 2012, 5:55:44 AM11/12/12
to Jan Groenewald, sage-...@googlegroups.com, sage-comb...@googlegroups.com, bobo...@lirmm.fr, Jean Thiéry (Papa)
Hi Jan,

Thanks for all the information and all your work making Sage easier to
install! On the next similar occasion, we should also investigate
aims-desktop, either through DVD installs or by running a local Ubuntu
+ PPA mirror. There still is the problem that installing a dual boot
requires some resources (disk space) and can take some time to be done
in a safe way (when the notion of backup is weak). One fine point as
well, for the many older laptops, is to run Ubuntu with a light window
manager.

On Mon, Nov 12, 2012 at 07:22:12AM +0200, Jan Groenewald wrote:
> In the meantime speak to me about hosting sage days at
> an AIMS centre, where you will arrive with Sage already
> installed on all computers, and the most reliable internet
> you can find in an African university.
>
> If someone knows where to get the funding, I would look
> forward to a July 2014 Sage days in Cape Town.

Hmm, I don't have ideas on the top of my head for funding, but this
sounds attracting :-)

Cheers,
Nicolas
--
Nicolas M. Thi�ry "Isil" <nth...@users.sf.net>
http://Nicolas.Thiery.name/

Andrea Lazzarotto

unread,
Nov 12, 2012, 8:10:37 AM11/12/12
to sage-...@googlegroups.com
I don't understand where this quote came from because this is being cross-posted ( =.= ) through mailing lists, and I don't follow all of them, but...

2012/11/12 Nicolas M. Thiery <Nicolas...@u-psud.fr>

> I also hit the problem that Macs don't boot from USB, which IMHO is
> completely retarded, but that's just life.


One could simply burn a PLOP boot manager CD and then use it to boot from USB. The only exception to this would be the Macbook Air without an external SuperDrive.


BTW Nicolas is there a specific reason you're planning to use the "hackish and dirty" Remastersys instead of a pure Ubuntu editing tool like UCK? Results are usually better with it and it's quite easy to customize the system in every aspect before creating an ISO.

Best regards,

--
Andrea Lazzarotto - http://andrealazzarotto.com

Nicolas M. Thiery

unread,
Nov 12, 2012, 9:27:31 AM11/12/12
to sage-...@googlegroups.com
On Mon, Nov 12, 2012 at 02:10:37PM +0100, Andrea Lazzarotto wrote:
> > I also hit the problem that Macs don't boot from USB, which IMHO is
> > completely retarded, but that's just life.
>
> One could simply burn a PLOP boot manager CD and then use it to
> boot from USB. The only exception to this would be the Macbook
> Air without an external SuperDrive.

Thanks for the pointer!

> BTW Nicolas is there a specific reason you're planning to use the "hackish
> and dirty" Remastersys instead of a pure Ubuntu editing tool like UCK?
> Results are usually better with it and it's quite easy to customize the
> system in every aspect before creating an ISO.

That's a question for Jan Groenewald :-)

Cheers,

Andrea Lazzarotto

unread,
Nov 12, 2012, 9:33:09 AM11/12/12
to sage-...@googlegroups.com
2012/11/12 Nicolas M. Thiery <Nicolas...@u-psud.fr>
That's a question for Jan Groenewald :-)

Yes I'm sorry, I didn't look at the conversation list very well!

Jan Groenewald

unread,
Nov 12, 2012, 9:45:45 AM11/12/12
to sage-...@googlegroups.com
Hi

Yes. The reason is I have not started looking closely enough to know about UCK.

Reference: http://sourceforge.net/projects/uck/

Do you know much of it? Does it allow
1) to surpass a 4G limit?
2) to do a standard install from the ISO, including creating users, it simply adds extra packages transparent to the user?
3) allow adding of new sources.list.d files to the install target easily?

Regards,
Jan


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
 
 

Andrea Lazzarotto

unread,
Nov 12, 2012, 9:53:23 AM11/12/12
to sage-...@googlegroups.com
2012/11/12 Jan Groenewald <j...@aims.ac.za>

Do you know much of it? Does it allow
1) to surpass a 4G limit?

Do you mean the size of the ISO? I think yes. The distro I made as a project for my high school graduation stays under 4 GB so I can't confirm it, but you can check it to see a lot of customizations including software, themes, the "default home contents" for new users and so on. http://www.itislinux.it/
 
2) to do a standard install from the ISO, including creating users, it simply adds extra packages transparent to the user?

Do you mean "pre" creating users or creating a single user following the standard installation procedure of Ubuntu? For the former, I think yes but haven't tried, for the latter I can assure you the installation is the standard Ubuntu way, so you can set up the first user account with the name that you want.

You can pre-install any software package (or system file for that matter) and the DVD will contain it, so when you install the system you have what you need.
 
3) allow adding of new sources.list.d files to the install target easily?

Absolutely yes. Apart from allowing you to chroot and then simply use "sudo add-apt-repository" you can also manually copy a file in that directory.

If you need information about UCK feel free to contact me.

Best regards,

Jan Groenewald

unread,
Nov 12, 2012, 10:11:08 AM11/12/12
to sage-...@googlegroups.com
Hi

I will have a look, definitely, thanks.

The 4G limit: http://www.remastersys.com/ubuntu.html see the section
titled "The 4GB limit explained - not a remastersys limitation".

Regards,

Jan


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
 
 

Andrea Lazzarotto

unread,
Nov 12, 2012, 10:18:34 AM11/12/12
to sage-...@googlegroups.com
2012/11/12 Jan Groenewald <j...@aims.ac.za>

The 4G limit: http://www.remastersys.com/ubuntu.html see the section
titled "The 4GB limit explained - not a remastersys limitation".

I see. Well, maybe there is another way to workaround the issue. After you've added the required software on the disc, you could use BleachBit and remove all language files which are not English or any language you wish to keep. IIRC this could free some hundreds of MB of data from your Ubuntu system.

Also removing unneeded LaTeX documentation can help.

Mike Zabrocki

unread,
Nov 13, 2012, 8:23:11 AM11/13/12
to sage-comb...@googlegroups.com, Mike Zabrocki, sage-...@googlegroups.com, bobo...@lirmm.fr, Jean Thiéry (Papa), Nicolas M. Thiery
>I could hope for 4-5 that will use Sage in the long run, and 20 that 
> definitely see the point but will get stuck by lack of infrastructure 
> and expertise. 
These sound like great numbers.

>>    I think to break the barrier and make a true sage days really 
>>    productive, I think that you would need to partner with some 
>>    organization like OLPC (one laptop per child) or arrange to 
>>    minimize the problems with your hardware. 

> Well, I have a good contact for that: dad :-) We actually already used 
> Sage on our home OLPC, although only through a remote Sage server. I 

I just mentioned OLPC because that was an organization I had heard of.
I didn't know your dad was associated, but what an awesome contact to 
have.

I don't yet see how to overcome infrastructure problems.
I would summarize my experience as:
1. don't use the internet (you can't count on it anyway)
2. most computers have some old version of Windows
3. a few students will have their own laptops
4. Most students will have little or no computer experience
5. Most want to learn computers and see the point, a few choose to be 
luddites and can afford to because the infrastructure is so unreliable
 
> Of course, the real thing would be to integrate a resource-optimized 
> version of Sage within the Sugar activities. This probably won't be a 
> priority for OLPC, since their main target population is children of 
> age 6-12, but as you say we could explore other organizations as well. 

At the events I have been involved with, our highest priority was to
minimize the infrastructure difficulties.  AIMS in South Africa sounds
like it might be a good place to organize an event since you could
potentially rely on computer access.

-Mike

On Monday, 12 November 2012 04:52:27 UTC-5, Nicolas M. Thiery wrote:
On Sun, Nov 11, 2012 at 08:07:06PM -0800, Mike Zabrocki wrote:
>    Wow! Nicolas fantastic report.  That was a challenge to do.

Thanks :-)

> I hope you managed a convert or two in Africa. My experience with
> computer classes as part of a summer school (in Ghana, Kenya,
> Tanzania and Madagascar) is similar except I never had a wifi
> network and most of my students didn't have regular computer access.
> Most of my students were complete novices to the computer, but
> willing to learn.  Installing sage was several steps beyond what we
> tried.  I would say that most of the infrastructure that we had
> access to would not support sage (most computers were dated
> pre-python, though I did not have the expertise to make this work).

I could hope for 4-5 that will use Sage in the long run, and 20 that
definitely see the point but will get stuck by lack of infrastructure
and expertise.

But as you said: �if our problem was only network, we were in pretty
good shape to start with�. We had a selection of students that were
definitely computer-literate (somehow, the main difficulty was to
prevent them from running to facebook&all and eat up all the bandwidth
whenever the network was working :-) ), even though most did not have
programming experience.

>    I think to break the barrier and make a true sage days really
>    productive, I think that you would need to partner with some
>    organization like OLPC (one laptop per child) or arrange to
>    minimize the problems with your hardware.

Well, I have a good contact for that: dad :-) We actually already used
Sage on our home OLPC, although only through a remote Sage server. I
doubt the old models can support running Sage locally, but for the
upcoming models we certainly will have a shot (at least running in a
terminal).

Of course, the real thing would be to integrate a resource-optimized
version of Sage within the Sugar activities. This probably won't be a
priority for OLPC, since their main target population is children of
age 6-12, but as you say we could explore other organizations as well.

Cheers,
                                Nicolas
--
Nicolas M. Thi�ry "Isil" <nth...@users.sf.net>
http://Nicolas.Thiery.name/

Thierry

unread,
Nov 13, 2012, 9:49:09 AM11/13/12
to sage-...@googlegroups.com
Hi,

thanks Nicolas for this exhaustive report. I would like to witness this
adventure it in a more pessimistic way, so that people willing to host
such a sage days know what kind of problems will appear, and which
workarounds are realistic.

Being free software is definitely not a sufficient condition for being
usable in "developping countries". The main reason is that free software
and internet are closely interdependent (none could have been developped
without the other). Compare http://www.ipligence.com/worldmap/ and
http://sagemath.org/development-map.html

If you plan to have a workshop in a place with no onternet connection
nor recent machines, you will experience a lot of problems. We had a
preparatory workshop at the same place one year ago (with only 20 local
participants) that went much less smoothly (one could even say
catastrophic) than that one. A small report was done on the page
http://wiki.sagemath.org/days34.5#line-19

= Feedback =

== Windows users ==
- virtualbox is not a solution. People running Windows usually have the
last version (not XP), which has the effect of taking all the RAM,
even on some not so old laptops. Adding a layer makes things worse.
- the existing live CD installed on a USB key is a good option, but :
- The .exe file that installs the live-cd on the hard disk of a
windows install does not work at all (tested on various machines
without success).
- Moreover there is no easy way for the participants to spread it
afterwards, you need a recent version of unetbootin or some
knowledge of sfdisk/hdparm/mkfs/syslinux to make it bootable to some
other key.

== GNU/Linux users ==
- People under GNU/Linux mainly run Ubuntu, but do not necessary run the
last version (not even some older LTS version). Unfortunately, the
only available sage binary for Ubuntu is the last LTS.
- Moreover, the Ubuntu Sage binary we get from the Sage repository needs
some additional packages (libgfortran3 for example). The solution of
such a problem is not as easy when you have to go to some cyber-cafe
to download a package and hope that is will be the last missing one
(Sage tells you about another dependency only when the previous one is
satisfied), especially when the university is far from downtown.
- The compilation of the Ubuntu Sage binary was made on some recent
hardware, at least the sse2 set of instructions is needed whereas some
Pentium 3 do not know sse2 instructions. As explained by Nicolas,
requiring a build which is able to run on a Pentium 3 is overkill if
participants bring their laptops, it is not the case if you plan to
work on a local computer room (the one of ISEA had 1/3 Pentium 3 and
2/3 Pentium 4). A possible reason for this sse2 dependency may be the
following bug of the atlas package: if you set SAGE_FAT_BINARY='yes',
the architecture will be Hammer (why such a choice ?), without taking
the SAGE_ATLAS_ARCH variable in consideration, and atlas won't run on
Pentium 3. See http://trac.sagemath.org/sage_trac/ticket/13706
- Installing GNU/Linux on the participants machines is dangerous.
Participants do not have backups. Because of a problem of gparted to
understand correctly windows extended partition system (at least in
november 2011, gparted attributed the labels of 7 extended partitions
of one participants above the four primary partitions uncorrectly,
letting you erase the wrong primary partition), because we didn't have
enough backup space to backup the whole disk, and because we were
tired after one week of workshop, we lost the personal data (in
particular some important latex files) of one participant, and spend
one week at trying to recover some data between the new Linux
filesystem and sage binaries.


= Workarounds to still distribute sage despite all those problems =

As Nicolas explained, you should consider a multiple strategies
approach. Here are the remaining realistic ones. I started a wiki page
with the following text to help future sage-days organisers, don't
hesitate to update it :
http://wiki.sagemath.org/HowToSpreadSageDuringAWorkshop

== The autoclone USB live ==

I built a live Debian Sage USB key wich is able to clone itself on
another key, indefinitely. I will make the prototype (and the source
code) available when i will be back home with a good internet
connection. Other features of the key are : personal data persistence,
no personal data is duplicated, possibility for the user to share
additional data from her key to the cloned one (pdf lecture notes,
worksheets, pictures of the workshop,...), lot of softwares (geogebra,
latex, editors, gimp, vlc, libreoffice,... there is no need to be small
since the bandwith limit is the size of the key).

If you have 200 euros to spend, buy one USB key of >= 4GB for each
participant plus 10% to saturate the market (some people will have to
bring one back to their boss/friend/other). Build a few keys and let the
participants clone the other keys (it takes about 16 minutes per key
times the logarithm of the number of participants, which is much faster
than building each one by yourself in linear time, moreover they will
learn how to do it when going back in their university).

== Minimal Autonomous Sage Build ("batteries included ?") ==

To sage binary maintainers: please reconsider having libgfortran
distributed with the binaries. Some problems also appeared with openssl.
We definitely need to maintain a build that is able to run on any
GNU/Linux distro (no dependency except libc6) and old hardware (no
sse2). I can help in such a task since i consider it much more important
than maintaining many distro-specific builds (8 builds for OSX, 5 for
Linux x64).

=== Server side ===
It is do-able. Here is an attempt of describing how i did (partially):
- build a minimal live Debian system (with only build-essential gfortran
m4 binutils openssl libssl-dev)
- run it on a real Pentium 3 (using qemu is much slower)
- add some swap (using mkswap and swapon) since the build of the html
reference manual costs a lot of RAM (about 1GB) and may not be built
otherwise.
- export variables SAGE_FAT_BINARY='yes' SAGE_ATLAS_ARCH='PIII'
SAGE_BINARY_BUILD='yes'
- modify atlas spkg according to the track ticket #13706 (or wait until
it is fixed).
- run make (takes about 19 hours)
- copy /usr/lib/libbgfortran.so.3* and /usr/lib/libcrypto.* and
/usr/lib/libssl.so* in the ${SAGE_ROOT}/local/lib/ directory
- run sage -bdist and md5sum
I guess it shouldn't be hard to distribute imagemagick dvipng ffmpeg in
the sage binaries as well.

=== Client side ===
This will be possibly harder. Concerning the browser java stuff, i do
not know how to let the browser know how to pick a jre which is located
in the sage binaries. Maybe we should build a firefox extension that
installs the equivalent of default-jre and icedtea6-plugin in a portable
way ? No idea for howto do this.


== GNU/Linux + Sage install ==

Some participants will want to have GNU/Linux installed on their
machine. Unlike Nicolas, i consider this as a long-term saving time
point if we want not having to consider windows-related problems in the
future.

The participants will want GNU/Linux to be installed (as dual boot) on
their laptop only at the end of the workshop (this happened both this
year and last year), once they are convinced than GNU/Linux beats
Windows everywhere :) If you plan to help in installing GNU/Linux, ask
the participants to apply earlier, some installs take more time than
planned.

Bring huge empty haddisks (> 1TB). Participants won't have backup.
Backup the whole filesystem (or even the whole device), not only the
interesting files, windows has some strange capabilities. dd is your
best friend. If you have to resize a windows ntfs partitions (for dual
boot):
- boot on windows
- defragment the disk
- run checkdisk
- reboot on a live GNU/Linux CD/USB
- resize the partitions (e.g. with gparted)
- reboot on windows to let it know the sizes have changed
- reboot on your GNU/Linux installer and start the install

Bring the install binaries of some recent distro (the one you are used
to), and all the necessary to make upgrades and to install missing
dependencies without internet connection (you must get prepared to wait
for 3 hours for a 22MB download, or even to have no internet connection
at all). Bring both a USB and a CD of the installer (some computer are
not able to boot on USB). If you use a Debian-based distro, apt-cacher
will be helping a lot for the upgrades and the installation of missing
dependencies offline. Note that by default apt-cacher only caches the
packages, not the headers (they change with time). Those headers look
small but are big if the internet connection is weak. If you have no
internet connection, modify the expire_hours variable in
/etc/apt-cacher/apt-cacher.conf to something bigger than the number of
hours that are remaining until the end of the sage days, and run a full
upgrade from a place with a good internet connection to fill the cache.

Bring sage sources a well as the autonomous binary.

== Serve a notebook on a LAN ==

Bring a powerful computer and a wifi router to be able to serve a
notebook for the remaining people for which previous solutions did not
work (bios not able to boot on USB, participants not willing to install
Linux on their machine). Unless you have a very strong server, it is
usually not enough for all participants.

Ciao,
Thierry
> > But as you said: �if our problem was only network, we were in pretty
> > good shape to start with�. We had a selection of students that were
> > definitely computer-literate (somehow, the main difficulty was to
> > prevent them from running to facebook&all and eat up all the bandwidth
> > whenever the network was working :-) ), even though most did not have
> > programming experience.
> >
> > > I think to break the barrier and make a true sage days really
> > > productive, I think that you would need to partner with some
> > > organization like OLPC (one laptop per child) or arrange to
> > > minimize the problems with your hardware.
> >
> > Well, I have a good contact for that: dad :-) We actually already used
> > Sage on our home OLPC, although only through a remote Sage server. I
> > doubt the old models can support running Sage locally, but for the
> > upcoming models we certainly will have a shot (at least running in a
> > terminal).
> >
> > Of course, the real thing would be to integrate a resource-optimized
> > version of Sage within the Sugar activities. This probably won't be a
> > priority for OLPC, since their main target population is children of
> > age 6-12, but as you say we could explore other organizations as well.
> >
> > Cheers,
> > Nicolas
> > --
> > Nicolas M. Thi�ry "Isil" <nth...@users.sf.net <javascript:>>
> > http://Nicolas.Thiery.name/

kcrisman

unread,
Nov 13, 2012, 10:15:54 AM11/13/12
to sage-...@googlegroups.com


On Tuesday, November 13, 2012 9:53:34 AM UTC-5, sage-goo...@lma.metelu.net wrote:
Hi,

thanks Nicolas for this exhaustive report. I would like to witness this
adventure it in a more pessimistic way, so that people willing to host
such a sage days know what kind of problems will appear, and which
workarounds are realistic.

I know very little about all the technicalities of these reports but want to echo that it is VERY valuable to have these real-life experiences - what a great thread.  

I recommend that several of these analyses be put on a wiki page linked to http://wiki.sagemath.org/#Hosting_a_workshop - maybe "How to host a Sage Days with older hardware and limited bandwidth", since that could even obtain in certain developed world locales outside of universities, and then people wouldn't have to search sage-devel for this information.

- kcrisman 

kcrisman

unread,
Nov 13, 2012, 10:17:02 AM11/13/12
to sage-...@googlegroups.com

I know very little about all the technicalities of these reports but want to echo that it is VERY valuable to have these real-life experiences - what a great thread.  

I recommend that several of these analyses be put on a wiki page linked to http://wiki.sagemath.org/#Hosting_a_workshop - maybe "How to host a Sage Days with older hardware and limited bandwidth", since that could even obtain in certain developed world locales outside of universities, and then people wouldn't have to search sage-devel for this information.

Actually, I guess some of what Thierry said is at http://wiki.sagemath.org/HowToSpreadSageDuringAWorkshop so that's a good start :) 

Jeroen Demeyer

unread,
Nov 13, 2012, 10:41:29 AM11/13/12
to sage-...@googlegroups.com
The openssl and gfortran issues should be solved in sage-5.4, they are
no longer needed.

Andrea Lazzarotto

unread,
Nov 13, 2012, 12:38:43 PM11/13/12
to sage-...@googlegroups.com
Thierry, I find your message to be great in all parts, but I would like to point out a thing...

2012/11/13 Thierry <sage-goo...@lma.metelu.net>
bios not able to boot on USB

Again, this is not a big problem. :P You can build a CD or even a floppy disk with PLOP boot manager and even boot a Pentium II from USB. :D I did this a lot of times. Yes, to be honest it's not free software, it's just a freeware tool... but better than nothing. :)

Best regards,

Jason Grout

unread,
Nov 14, 2012, 9:38:53 AM11/14/12
to sage-...@googlegroups.com
On 11/13/12 8:49 AM, Thierry wrote:
> I built a live Debian Sage USB key wich is able to clone itself on
> another key, indefinitely. I will make the prototype (and the source
> code) available when i will be back home with a good internet
> connection. Other features of the key are : personal data persistence,
> no personal data is duplicated, possibility for the user to share
> additional data from her key to the cloned one (pdf lecture notes,
> worksheets, pictures of the workshop,...), lot of softwares (geogebra,
> latex, editors, gimp, vlc, libreoffice,... there is no need to be small
> since the bandwith limit is the size of the key).


I'm intrigued by the idea of using this to distribute Sage to students
as well. I'm curious: how does the software selection compare to, for
example, mathbuntu (http://www.mathbuntu.org/), particularly the math
packages? Also, is it possible to easily do Sage development with this
key? I keep running into somewhat frustrating problems getting students
up to speed with a linux/sage development environment, and having a USB
key I can keep up to date and hand them would be wonderful.

Thanks,

Jason


Thierry (sage-googlesucks@xxx)

unread,
Nov 15, 2012, 8:07:12 AM11/15/12
to sage-...@googlegroups.com
Hi,
One possible reason (maybe not the only one) for the binary build to
need recent (sse2) set of instructions may be this bug on atlas package:
http://trac.sagemath.org/sage_trac/ticket/13706

It has the effect of chosing HAMMER architecture
(btw, where is this default choice coming from ?) when
SAGE_FAT_BINARY is set to 'yes', no matter the value of
SAGE_ATLAS_ARCH (which could be older than Hammer).

After aplying the basic patch (which should be checked/improved by
specialists), sse2 does not appear anymore on sage-flags.txt and
the build works on Pentium 3.

The request about distros is not to have many distro-specific builds
that cost a lot but one autonomous robust non-distro-specific build.

You ask for "contributing a buildbot slave machine for building the
binaries", is this about buying a machine or about spending time in
maintaining a buildbot on an existing machine ?

Ciao,
Thierry

Harald Schilly

unread,
Nov 15, 2012, 10:48:53 AM11/15/12
to sage-...@googlegroups.com, sage-comb...@googlegroups.com, bobo...@lirmm.fr, Nicolas M. Thiery


On Sunday, November 11, 2012 10:00:42 AM UTC+1, Nicolas M. Thiéry wrote:
- Having more Sage mirrors in Africa (although the network issues were 
  more in the last kilometer).

Hi, thank's for this detailed report and the discussion. I'm somewhat responsible for the mirror network, and I have heard reports about those bad network conditions from several places for some time now. I've tried to find more mirrors, but it's usually hard to get in contact with the right persons or even find a suitable institution. For example, to day I've added a second mirror for south america, which is probably an equally important continent. Does anyone have contacts to some suitable institutions in, let's say, Argentina, Uruguay, Ecuador, Ghana, ... ?

Also, I try to make downloads work better by essentially to techniques:

* torrent/metalink files. they basically tell a download-helper or web-browser to check for all sources in parallel and they also allow to resume partially downloaded files and checking them when they have finished. E.g. "transmission" is pre-installed on ubuntu and should be the #1 option for downloading sage tarballs or disk images. 

* compressing with lzma for those linux distributions where lzma/7z is installed by default. In the beginning, I got some reports that it is confusing, but for one reason or another this stopped. Probably, because "right-click > extract" just works.

Also, it would be possible - on more modern distributions - to squeeze out even more bytes by using lrztar + lzma/zpaq. Has anyone objections or some experience with that? 

H

parisse

unread,
Nov 15, 2012, 11:25:32 AM11/15/12
to sage-...@googlegroups.com, sage-comb...@googlegroups.com, bobo...@lirmm.fr, Nicolas M. Thiery
Le dimanche 11 novembre 2012 10:00:42 UTC+1, Nicolas M. Thiéry a écrit :

That was a good occasion for a real-life evaluation of a claim I have
been desiring to make for a long time: �Sage, being open-source, is
well adapted for universities in developing countries�.


Very interesting report.
I'm however a little bit worried that your audience could have the feeling that math open-source software requires installing linux or/and recent hardware, while this is not mandatory at all outside of a few research fields. But perhaps I'm wrong and you also spread the word that some good open-source math softwares run on say Windows XP (or even Windows 98).

Volker Braun

unread,
Nov 15, 2012, 12:42:04 PM11/15/12
to sage-...@googlegroups.com
The new ATLAS http://trac.sagemath.org/10508 has additional "generic" archdefs and these are used with SAGE_FAT_BINARY now. 

Also, SAGE_FAT_BINARY essentially means "pick reasonable defaults on non-museum hardware for the sage binary tarball". The only bug is that the variable has a strange name for historical reasons.

Thierry

unread,
Nov 15, 2012, 3:00:28 PM11/15/12
to sage-...@googlegroups.com
On Thu, Nov 15, 2012 at 09:42:04AM -0800, Volker Braun wrote:
> The new ATLAS http://trac.sagemath.org/10508 has additional "generic"
> archdefs and these are used with SAGE_FAT_BINARY now.
>
> Also, SAGE_FAT_BINARY essentially means "pick reasonable defaults on
> non-museum hardware for the sage binary tarball". The only bug is that the
> variable has a strange name for historical reasons.

As of today, this seems not to be fixed in the spkg proposed in #10508 :
SAGE_FAT_BINARY default still overwrites SAGE_ATLAS_ARCH when it is set.

SAGE_FAT_BINARY is not only used for atlas, but also for (according to
grep in the sage-5.4 sources) : ecm-6.3.p8 libm4ri-20120613
mpir-2.4.0.p6 polybori-0.8.2 r-2.14.0.p6 hence one may want to take
advantage of it and be more precise by setting the SAGE_ATLAS_ARCH
variable.

By the way, it is interesting to see that, when SAGE_FAT_BINARY=='yes'
in sage-5.4, libm4ri-20120613 explicitely disables SSE2 set of
instructions and atlas-3.8.4.p1 explicitely enables it.

Also, in the #10508 package, configure_base() method adds 3DNow set of
instructions to some Intel architecture, which seems not to know it:
https://en.wikipedia.org/wiki/3DNow!

Ciao,
Thierry

Andrea Lazzarotto

unread,
Nov 15, 2012, 3:46:36 PM11/15/12
to sage-...@googlegroups.com


2012/11/15 parisse <bernard...@ujf-grenoble.fr>

But perhaps I'm wrong and you also spread the word that some good open-source math softwares run on say Windows XP (or even Windows 98).

But then why should developing countries use an old, buggy and proprietary software when they can get for free modern, top class open source operating systems? :)

Andrea Lazzarotto

unread,
Nov 15, 2012, 4:22:36 PM11/15/12
to sage-...@googlegroups.com


2012/11/14 Jason Grout <jason...@creativetrax.com>

I'm curious: how does the software selection compare to, for example, mathbuntu (http://www.mathbuntu.org/), particularly the math packages?

I just tried, that distro does NOT contain Sage, just a link to the Sage Notebook.

parisse

unread,
Nov 15, 2012, 4:22:55 PM11/15/12
to sage-...@googlegroups.com


But then why should developing countries use an old, buggy and proprietary software when they can get for free modern, top class open source operating systems? :)

Because they are used to work with windows, they don't know linux and they don't know someone who can explain how to use it. And their PC works well with windows : think of the nightmare it can be sometimes to make your hardware work with linux, some popular linux distros have dropped support for old hardware: I'm writing on a PC with 442Mo of RAM where I could install xubuntu LTS 12.04 but I keep running on an older version because it swaps too much, on a more recent Acer this same xubuntu does not recognize the 3-d opengl card acceleration while older xubuntu did.
And I'm afraid there are a lot of mathematicians who don't use linux, even in the open-source software developers community in OCDE countries, think of Mac users for example :-)

Jason Grout

unread,
Nov 15, 2012, 4:27:50 PM11/15/12
to sage-...@googlegroups.com
On 11/15/12 3:22 PM, Andrea Lazzarotto wrote:
>
>
> 2012/11/14 Jason Grout <jason...@creativetrax.com
> <mailto:jason...@creativetrax.com>>
>
> I'm curious: how does the software selection compare to, for
> example, mathbuntu (http://www.mathbuntu.org/
> <http://www.mathbuntu.org/>), particularly the math packages?
>
>
> I just tried, that distro does NOT contain Sage, just a link to the Sage
> Notebook.

Hmm, interesting. The webpage led me to believe that it does include
Sage. Thanks for checking.

Jason


Volker Braun

unread,
Nov 15, 2012, 5:10:57 PM11/15/12
to sage-...@googlegroups.com
On Thursday, November 15, 2012 2:56:44 PM UTC-5, Thierry (sage-googlesucks@xxx) wrote:
> Also, SAGE_FAT_BINARY essentially means "pick reasonable defaults on 
> non-museum hardware for the sage binary tarball". The only bug is that the 
> variable has a strange name for historical reasons. 

As of today, this seems not to be fixed in the spkg proposed in #10508 : 
SAGE_FAT_BINARY default still overwrites SAGE_ATLAS_ARCH when it is set.

The combination is nonsensical: You either want a binary that runs on all reasonably old hardware for distribution, or you want to specify the architecture in detail. Which one is it? I don't mind adding support for nonsensical combinations if there is demand. But the only bug here is that it requires SSE2 on i386, which is probably too much. Note that the old ATLAS  (which we currently ship, and probably will for a while) doesn't have "generic" archdefs to start with so it always was a crapshot.

Also, in the #10508 package, configure_base() method adds 3DNow set of 
instructions to some Intel architecture, which seems not to know it: 

So? Sage will never run with only the original 8086 instruction set. For many of the processors on your web page you'll have to recompile a linux distro from source, never mind Sage.

tom d

unread,
Nov 20, 2012, 3:07:50 AM11/20/12
to sage-comb...@googlegroups.com, sage-...@googlegroups.com, bobo...@lirmm.fr, Nicolas M. Thiery
Hey, all!

Thanks for running this, Nicolas, and providing the detailed report!

For converting people to linux: I'm working with a computer lab in Maseno, where we've now got linux dual-booting on all of the machines (about 40).  Over the last couple months, we've gained a number of linux converts: windows in the developing world tends to be pirated and without regularly updating anti-virus software.  So the machines 'gunk up' over the course of just a week or two of use to the point of being nigh-unusable.  Providing an easily-accessible linux desktop as an option lets people decide for themselves, and once they've tried it, they're overwhelmingly preferring linux.

Of course, live-usb's are a perfectly good way to provide such an experience as well.  I just got a pile of 8gb usb sticks for $5 each from Canada; setting aside $250 and a bit of time could then provide live usb sticks for up to 50 participants at a sage-days event (with leftovers going towards the next event, of course).  4gb is probably a bit tight for a full installation plus sage, but could cut cost a bit.  And with 8gb, we could also include open-office and a couple good text editors, making a good case for general linux use.

As a last note, there's an algebraic geometry workshop happening in Mombasa, Kenya, sometime between May and June next year; I'm trying to figure out what the dates are now!  We could potentially try some things out there, as well!

Best,
-tom






On Sunday, November 11, 2012 12:00:34 PM UTC+3, Nicolas M. Thiery wrote:
        Dear Sage devs,

The fall school on Discrete Mathematics in Bobo Dioulasso, Burkina
Faso, aka Sage Days 43, just finished. For two weeks we had courses
(combinatorics of words, dynamics, tilings, ...) interspersed with
on-hands tutorials using Sage. The public consisted mostly from
graduate students, from subsaharian Africa and some further away
countries.

That was a good occasion for a real-life evaluation of a claim I have
been desiring to make for a long time: �Sage, being open-source, is
well adapted for universities in developing countries�.

Let's see about this.

A couple words of context:
--------------------------

- 70 participants total; in average 40-50 were there.
- Most participants had a laptop (or netbook for a few of them):
  - 90%: windows, 5% mac, 5% Linux Ubuntu (usually in double-boot with Windows)
  - Laptop age ranging from 2003 to 2012; 4 years on average
  - RAM: 500k-6Gb; 1Gb on average?
- Network: one ADSL line for 60 persons in the conference center
  Well, when it actually worked, which was not that often.
  We finished using a cell-phone shared over wifi.
  The local wireless network itself was down quite often.
  No network at the university itself or nearby
- Among the organizers were Sage devs with good experience on running
  Sage workshops and doing system/network administration, ...
- Sam had brought a big bunch of power cables. I screwed up not
  bringing my own wireless router to at least guarantee a reliable
  local network.

Strategies we tried or considered:
----------------------------------

(a) Installing Sage on Linux/Mac with the binaries from Sagemath.org
(b) Installing Sage on Linux/Mac from sources
(c) Installing Sage on Linux from a custom built fat binary
(d) Installing Sage on Windows with the virtual machine
(e) Running a Sage server on my laptop (8 cores, 8Gb)
(f) Using a remote Sage server
(g) Installing Linux and reducing the problem to (a-c)
(h) Booting on a live Debian USB key, custom-build by Thierry Monteil
    with Sage, self-cloning and persistence.
(i) Using a local PC lab after installing Sage on them

I would like to use the occasion to send my kudos to all those who
strive hard at making Sage easier to use one way or the other.

How it went:
------------

(a) Went smoothly on Mac when appropriate binaries were available. We
    had to recompile a few of those binaries.

(a) failed most of the time on Linux by lack of gfortran. Since we did
    not have a reasonable network, apt-get install was not an option.
    We did not have iso's of all the Ubuntu versions that were in use.
    3D plotting was usually not available (by lack of appropriate Java
    plug-ins).

(b) Compiling from source was not a viable option on Linux for the
    same reason as above: build-essentials was usually not there. On
    Mac that was ok, provided we had under hand the appropriate
    version of XCode.

(c) This fat binary was built by Thierry Monteil on an old pentium 3
    (!) with a minimal Debian install. Installation and usage went
    smoothly, except that 3D plotting was usually not available.

(d) Virtual machine: Installation went smoothly on about 20 machines
    (with close guidance). It failed on 2-3 machines due to resource
    limitations (disk, ...).

    However, except for about five recent machines, the memory
    footprint was just too high: any non trivial calculation or plot
    made the laptop swap and become simply too slow to use.

    The french keyboard was not properly self-detected. Due to the
    network, we could not look up on the web for help. We ended up
    finding how to configure it from a shell. I'll create a ticket.

    The Sage version available was a bit old (5.1) though that was not
    an issue for us this time (but it could have been).

    The usage was on the complex side for most participants. They
    typically tended to reclick on the ova, creating a new virtual
    machine each time. Also uploading worksheets was tricky; it would
    be much simpler if the virtual machine was setup to access the
    user directory on the host machine or if the web client was
    running on the host.

(e) Running a local Sage server: This is a priori good short term
    solution, except that participants don't leave with Sage running
    on their machine. My laptop easily handled the dozen people using
    it. However the unreliability of the local wireless network ruined
    the game more often than not.  We have no data for how this would
    have scaled if all participants had gone this way.

(f) Using a remote Sage server: given the network situation, we did
    not even bother trying.

(g) Installing Linux, 3-4 machines: we were of course all favorable
    to encourage participants to switch to Linux. However, installing
    a new system always means taking a risk, especially since most
    participants did not have backups (or even did not have a clue
    what a backup was ...). Besides we did not want to spend too much
    time on system administration.

(h) Live USB key, ~30 machines: this worked smoothly on most PC's
    after fighting a bit with the BIOS to boot from USB. Some HP
    laptops resisted. Pro: we could include some extra documents
    (tutorial files, ...) on the key. Con: it forced people out of
    their usual work environment. The self-cloning was an important
    feature to quickly replicate updated versions of the key (log(n)),
    and promote future diffusion around the participants.

(i) Local PC lab: we ended up dropping the idea because the available
    PC labs either lacked network or electrical power. Potential pros
    and cons: more consistent hardware simplifies the
    installation. But the hardware tends to be older. The room can
    possibly be used for running Sage in the long run. But the
    participant don't leave with Sage running on their machine.

Summary:
--------

- The two main bottlenecks were network and available memory.
- The virtual machine seldom was a viable option.
- The Live USB key was by far the most robust option, though not ideal
  for long term use by the participants (and it does not work on Mac,
  or at least not easily).
- We really had to plan for multiple strategies to ensure that at
  least one would work for each participant.
- It seems unlikely that someone without serious Sage experience would
  have a chance to setup a Sage tutorial in similar (and alas typical)
  conditions.

Altogether, and for what it's worth, this experience suggests that
Sage sill has quite some way to go before we can claim that it is
indeed well adapted for universities in developing countries.

Recommendations:
----------------

Of course one could rightfully argue that things would be *much*
easier if Linux was more widely spread in universities with little
resources (which would make a lot of sense as well). But since we
can't do much on that front at the Sage scale, here are some tentative
recommendations for improving Sage itself:

- Sage on Windows: there *is* an important use case for having a
  native port of Sage on Windows. Over time, the virtual machine *may*
  become a viable option as memory limitations become less
  stringent. For this, it is crucial to reduce the memory footprint to
  its bare minimum. Using the host web browser is the most obvious
  step.

- Precompiled binary for Linux: besides the usual distro-specific
  binaries, it would be very helpful to have two (32bit / 64bit) fat
  Sage binaries that would work without dependencies on as many
  distros and processors as possible. Even if this means a slightly
  larger archive and lack of optimizations on recent
  processors. Compiling on a Pentium 3 was probably overkill, but
  Pentium 4 would be good at this point in time. If there is a way to
  include Java plugins that would be great as well.

  I let Thierry Monteil comment more on how he built those binaries.

- Having more Sage mirrors in Africa (although the network issues were
  more in the last kilometer).

- Keeping on reducing the Sage's startup time and memory by lazy
  importing more stuff in Sage.

Again, kudos to all who strive and will strive at improving the
usability of Sage!

Cheers,
                                Nicolas
--

tom d

unread,
Nov 20, 2012, 8:35:10 AM11/20/12
to sage-comb...@googlegroups.com, sage-...@googlegroups.com, bobo...@lirmm.fr, Nicolas M. Thiery
Hey, all;

So the Mombasa algebraic geometry workshop is set for 6-28 July, 2013.  Which is really long!  They're interested in having some sage sessions; if anyone's interested in coming out I can plan to be there for an overlapping time and co-hosting the Sage sessions.  (However, the first week I'll be in Ethiopia.)  Basically, drop me a line and we can talk about scope and further details that should be nailed down.

Jan Groenewald

unread,
Nov 20, 2012, 9:16:35 AM11/20/12
to sage-...@googlegroups.com
Hi Tom,

Do you have a link to a workshop web page?

Regards,
Jan


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
 
 

Thierry Dumont

unread,
Nov 20, 2012, 3:29:13 PM11/20/12
to sage-...@googlegroups.com

For information, I will give a short course (one day) about Sage in
Algeria next January.

There is a joint French-Maghreb CNRS research unit in Maths; the idea is
to help develop computing, all sorts of computing in Maghreb. The
Algerian (the others too) are very enthusiastic.
As the course will not be held in a large city, but in a sea resort,
there will be very very few internet access. We are preparing virtual
ubuntu machines, as everybody there as a Win** machine.
This is a one day course among 5 others, about numerics, building a
parallel cluster and so on...

t.d.



tdumont.vcf

Nicolas M. Thiery

unread,
Nov 21, 2012, 4:49:34 PM11/21/12
to tom d, sage-comb...@googlegroups.com, sage-...@googlegroups.com, bobo...@lirmm.fr
On Tue, Nov 20, 2012 at 12:07:50AM -0800, tom d wrote:
> Thanks for running this, Nicolas, and providing the detailed report!

Well, for the running all the kudos should really go to the
organizers. And all those who helped for the Sage sessions. All I had
to do was to teach Sage to *motivated* students (ok, and fight some
technical details); other than this it was vacations: lodging and food
was provided. And entertainment as well with my fellow's classes!

Congrats on all your ongoing work in Kenya! If I was not already going
to be away from home for quite some time this Spring, I would have
jumped on the occasion to come help for the workshop.

Cheers,
Nicolas
--
Nicolas M. Thi�ry "Isil" <nth...@users.sf.net>
http://Nicolas.Thiery.name/

Jan Groenewald

unread,
Dec 4, 2012, 10:03:01 AM12/4/12
to sage-...@googlegroups.com
Hi

I have now used UCK to make a "Live CD" which has sagemath-upstream-binary from the PPA.
It is also Ubuntu 12.04.1 with a dist-upgrade up to the latest versions, and a few other packages
I like (it is debatable what can be included here). It is a 1.6G ISO which can be written to a USB stick.
It is fairly trivial to add languages, developer tools, rstudio, texmaker, etc.

It can then  be used to boot a system > choose "Try Ubuntu" or to try Sage in the live environment,
or "Install Ubuntu" to have Sage available on the final system (next to Windows). It can install entirely
without network.

Also, if the user ever goes on a network, update manager can prompt him that updates are available,
and a fairly robust system is in place for this.

What interest is there in making this ISO available on the Sage sites? What interest is there in certain
packages and or language packs being available on it (versus size constraints?).

I'd suggest a large system for generic use, to not duplicate effort: texmaker, scipy, many python
libraries, R, rstudio, sysadm tools, dev tools, sage, some graphics apps, and general utilities, including
English, French, Arabic, Amharic, Spanish, Portuguese, Mandarin, Italian, Polish, German, Romanian,
Finnish, Swedish language packs for boot and install time.

I'm actually trying to make a different image, currently called AIMS-desktop, but more generically
an ubuntu science desktop. This would include many more packages and languages, though
currently the ISO limit is 4G that may in future be overridden, and even a 4G ISO is a very
large final system -- e.g. Sage is ~400M deb but 1.6G installed.

I'm happy to make a separate ISO with only sagemath from the PPA though.

This science desktop could serve not only as a Sage ISO, but a generic install with other tools available.
It can be done offline. It can be installed next to Windows on any laptop with, say, 20G free space and
2G RAM. We can make a 32bit and 64bit version.

(My only concern is how to get the codecs on afterwards. But I can put an installer in place to add those.
I think a laptop should be able to play MP3s and DVDs. But I could add install-restricted-extras, for example,
which will require network. We can also pre-enable the medibuntu repistory so that installation is easy.)

If you had a workshop, you could arrive with a bag of 4G USB memory sticks and teach people to
install Ubuntu as well. This is a fairly trivial procedure now.
http://www.ubuntu.com/download/help/install-desktop-long-term-support

Regards,
Jan


Nicolas M. Thiéry "Isil" <nth...@users.sf.net>

http://Nicolas.Thiery.name/

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Andrea Lazzarotto

unread,
Dec 4, 2012, 1:53:37 PM12/4/12
to sage-...@googlegroups.com


2012/12/4 Jan Groenewald <j...@aims.ac.za>

I have now used UCK to make a "Live CD" which has sagemath-upstream-binary from the PPA.
It is also Ubuntu 12.04.1 with a dist-upgrade up to the latest versions, and a few other packages
I like (it is debatable what can be included here). It is a 1.6G ISO which can be written to a USB stick.
It is fairly trivial to add languages, developer tools, rstudio, texmaker, etc.

That's great! :)
 
I'd suggest a large system for generic use, to not duplicate effort: texmaker, scipy, many python
libraries, R, rstudio, sysadm tools, dev tools, sage, some graphics apps, and general utilities, including
English, French, Arabic, Amharic, Spanish, Portuguese, Mandarin, Italian, Polish, German, Romanian,
Finnish, Swedish language packs for boot and install time.

IIRC Sage can install links to its versions of some binaries, so you can avoid duplicating them.
 
(My only concern is how to get the codecs on afterwards. But I can put an installer in place to add those.
I think a laptop should be able to play MP3s and DVDs. But I could add install-restricted-extras, for example,
which will require network. We can also pre-enable the medibuntu repistory so that installation is easy.)

I suggest you don't install restricted-extras because it brings some nonfree components. You can check out my tutorial for libre-only codecs (sorry, it's in Italian): http://andrealazzarotto.com/2010/11/01/guida-installare-i-codec-su-ubuntu-per-riprodurre-tutti-i-file-multimediali-e-i-dvd/
 
If you need some tips about tweaking the ISO, just drop me a line and I will reply ASAP.

Emil Widmann

unread,
Dec 5, 2012, 1:09:34 PM12/5/12
to sage-...@googlegroups.com


On Tuesday, November 13, 2012 10:53:34 PM UTC+8, Thierry (sage-googlesucks@xxx) wrote:



I am a bit late in replying, because I do not actively follow all discussions, but since I made the Live CD I have some remarks

== Windows users ==
- virtualbox is not a solution. People running Windows usually have the
  last version (not XP), which has the effect of taking all the RAM,
  even on some not so old laptops. Adding a layer makes things worse.

Personally I had good experiences with virtual box, and I saw only 5% performance loss if sage is used in the notebook. I also spent considerable time building some virtual machines myself. I made a very small one which has lowest possible requirements (size 400 MB)
http://boxen.math.washington.edu/home/emil/VM/sage-lite2.ova

Existing live CD installed on a USB key is a good option, but :
  - The .exe file that installs the live-cd on the hard disk of a
    windows install does not work at all (tested on various machines
    without success).

Dang. That should work. Which file did you test (download source and md5sum)? I made several versions of the dual boot exe installer and 1 version of an installer which makes a complete virtual machine installation (including virtual box).
 
  - Moreover there is no easy way for the participants to spread it
    afterwards, you need a recent version of unetbootin or some
    knowledge of sfdisk/hdparm/mkfs/syslinux to make it bootable to some
    other key.


There is a very easy method on the live CD. Just put in an usb-stick and run the Installer utility, (Older versions availible in the menu under "Puppy Universal Installer), new version "puppyinstaller" in terminal. You don't need Unetbootin and defintely no tricks on the commandline.

 
This is interesting. I compiled the latest live CD with SAGE_FAT_BINARIES=yes and SAGE_ATLAS_ARCH=base, but now I have a report that there are problems with sse2 instructions on an old computer.

cheers
emil
 


Volker Braun

unread,
Dec 5, 2012, 1:50:27 PM12/5/12
to sage-...@googlegroups.com
On Wednesday, December 5, 2012 6:09:34 PM UTC, Emil Widmann wrote:
This is interesting. I compiled the latest live CD with SAGE_FAT_BINARIES=yes and SAGE_ATLAS_ARCH=base, but now I have a report that there are problems with sse2 instructions on an old computer.

Fixed in  http://trac.sagemath.org/10508. Sadly, because there is a bug on Itanium systems (only) it won't get updated any time soon.

Jan Groenewald

unread,
Jan 15, 2013, 5:08:21 AM1/15/13
to sage-...@googlegroups.com
Hi

I have an ISO installer image (Ubuntu + Sage) which I'd like to make available to the Sage community.
It is a 1.6G file created by UCK which I'd like to host on Sage servers, to preserve our institutional bandwidth.

This can be useful to anyone hosting or teaching a Sage workshop, or willing to install Ubuntu to get Sage.
The installation procedure is trivial and easy, no different from a standard Ubuntu install:
http://www.ubuntu.com/download/help/install-desktop-long-term-support

It requires no internet to install but can get additional updates or codecs if there is internet. It can install English and French. It installs a standard Ubuntu 12.04.1 system, but with Sage installed from the Ubuntu PPA (including dependencies), which will offer updates if that system comes online. It also includes texmaker. It is easy and safe to install next to Windows, which will be the default if you boot this on a Windows laptop or desktop.


Write it to to a USB disk like this:
http://www.ubuntu.com/download/help/create-a-usb-stick-on-ubuntu
http://www.ubuntu.com/download/help/create-a-usb-stick-on-mac-osx
http://www.ubuntu.com/download/help/create-a-usb-stick-on-windows

Then follow the installation instructions:
http://www.ubuntu.com/download/help/install-desktop-long-term-support

If there is sufficient interest, I can brand it from Ubuntu more to Sage, and include a launcher icon, etc.

Also if there is interest, a version can be made that installs Ubuntu, the source code for Sage, and all needed developer tools to build and run Sage.

Regards,
Jan




kcrisman

unread,
Jan 15, 2013, 9:36:40 AM1/15/13
to sage-...@googlegroups.com


Hi

I have an ISO installer image (Ubuntu + Sage) which I'd like to make available to the Sage community.
It is a 1.6G file created by UCK which I'd like to host on Sage servers, to preserve our institutional bandwidth.


Great!  Please let us know when it's been hosted so we can try it out!
 
This can be useful to anyone hosting or teaching a Sage workshop, or willing to install Ubuntu to get Sage.
The installation procedure is trivial and easy, no different from a standard Ubuntu install:
http://www.ubuntu.com/download/help/install-desktop-long-term-support

I assume this doesn't work as well (the "alongside your OS") on Mac?  Wondering...

Also, just out of curiosity, what are the differences with Emil's iso?  I assume they each have their advantages and disadvantages. 

Thanks,
- kcrisman

Jan Groenewald

unread,
Jan 15, 2013, 9:42:16 AM1/15/13
to sage-...@googlegroups.com
Hi KCrisman,

I'm not sure what Emil's ISO is. Is it a LIVECD only or an installer too? (The Ubuntu one is both.) Where can it be downloaded?

For Mac, you need to also use rEFIt boot manager, but you can use the same ISO for installing Ubuntu:
http://lifehacker.com/5934942/how-to-dual-boot-linux-on-your-mac-and-take-back-your-powerhouse-apple-hardware
This might also help: https://help.ubuntu.com/community/ubuntuprecisequantalon2011imac

Regards,
Jan


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
 
 

Emil Widmann

unread,
Jan 15, 2013, 2:34:16 PM1/15/13
to sage-...@googlegroups.com


Am Dienstag, 15. Januar 2013 15:42:16 UTC+1 schrieb Jan Groenewald:
Hi KCrisman,

I'm not sure what Emil's ISO is. Is it a LIVECD only or an installer too? (The Ubuntu one is both.) Where can it be downloaded?

It is a Live CD, but has of course an installer built in.
You can download it here http://sagemath.org/download-livecd.html
or maybe here http://boxen.math.washington.edu/home/emil/doc/html/en/
older versions http://boxen.math.washington.edu/home/emil/sagelive/

 
For Mac, you need to also use rEFIt boot manager, but you can use the same ISO for installing Ubuntu:
http://lifehacker.com/5934942/how-to-dual-boot-linux-on-your-mac-and-take-back-your-powerhouse-apple-hardware
This might also help: https://help.ubuntu.com/community/ubuntuprecisequantalon2011imac

Regards,
Jan


On 15 January 2013 16:36, kcrisman <kcri...@gmail.com> wrote:


Hi

I have an ISO installer image (Ubuntu + Sage) which I'd like to make available to the Sage community.
It is a 1.6G file created by UCK which I'd like to host on Sage servers, to preserve our institutional bandwidth.


Great!  Please let us know when it's been hosted so we can try it out!
 
This can be useful to anyone hosting or teaching a Sage workshop, or willing to install Ubuntu to get Sage.
The installation procedure is trivial and easy, no different from a standard Ubuntu install:
http://www.ubuntu.com/download/help/install-desktop-long-term-support

I assume this doesn't work as well (the "alongside your OS") on Mac?  Wondering...

Also, just out of curiosity, what are the differences with Emil's iso?  I assume they each have their advantages and disadvantages. 

This is Ubuntu, size is bigger and it should look more polished. Sage Live CD is smaller and has some customization (e.g. sage-server with 20 worker accounts).
 

Jason Grout

unread,
Jan 15, 2013, 4:47:06 PM1/15/13
to sage-...@googlegroups.com
On 1/15/13 3:08 AM, Jan Groenewald wrote:
> Also if there is interest, a version can be made that installs Ubuntu,
> the source code for Sage, and all needed developer tools to build and
> run Sage.

I'm really interested in a USB image that I can hand to students that
want to do development with me that:

* I can modify (to include the Sage cell server, git, etc., for example)

* have all the development tools installed, so that Sage can easily be
upgraded, rebuilt, etc.

* can have further things installed by users as needed

* can be installed to a hard disk if the student is interested

Thanks,

Jason


Jan Groenewald

unread,
Jan 16, 2013, 12:47:22 AM1/16/13
to sage-...@googlegroups.com
Hi

Also, once you out the Ubuntu installation on a network, it starts prompting you for updates, automatically updating its software, including Sage.

Regards,
Jan

Emil Widmann

unread,
Jan 16, 2013, 7:07:07 AM1/16/13
to sage-...@googlegroups.com

I thought much about all this and worked long in that direction.
Let me write a statement and bear with me that it might be a bit lengthy...

All the things you ask for are possible with the current LiveCD version, and the possibilities were there since at least 3 years when I made an first image of sage version 431. At that time I had something in mind with very similar goals of Jan Groenewald and Nicolas M. Thiéry. I wanted to create a smart scientific Linux distro for easy distribution, be it as live CD, as USB image, or hard disk install. I had in mind especially teaching situations, where the whole system could be given out to students, and also especially situation in developing countries where it is expected to have lower average computing resources and just "old machines". Assuming all sciences need math it was logical to choose SAGE to be included into the base.

All the features you ask for were there from the first release and the base being "Puppy Linux" was no accident. Reviews rate Puppy as "King of the Live distros" for small size, portability and hardware support from modern to very old computers. (e.g recent distrowatch review, "amazing" review)

Why I had the impression all the time of low interest of others, while it now seems that several people work with similar ideas on their own projects? I can just make guesses, but lets try it:
* the base Puppy is different in several aspects and thats the reason why it is not perceived as serious enough as a scientific platform (see e.g. the comments of M. Thierye - first post here)
* Maybe I failed in communicating my goals and by calling it "Live CD" nailed it and misguided people to miss the other potential (USB, hard disk install, developement, packages) of this piece of software.
* I am not a member of any scientific community any more and work in a different field, so this was just a completely private and effort. I missed especially the possibility of direct feedback, opinions and testing by others.
* I had time for this projects during some months in fall and winter, so there were gaps of more than half year with no development and reduced communication to interested people (I also lacked proper internet connection during that time)
* During the last 2 years I concentrated on several aspects which seemed logical for me with the small base I had, especially on building virtual machine images and lobby for it here on the google.groups since I felt it is the only realistic solution to the "sage on windows" dilemma. In going this way I neglected the original goals of my project.
* In my discussions I crossed opinions with some of the most respected sage developers (Robert Bradshaw, Volker Brown) on the matter of size. While it is true that size of the software doesn't matters in a 1st world environment with up to date powerful machines and unrestricted, super fast internet access, size is a matter on older computers and in an environment with shaky internet access, low download speeds and old, RAM and disk challenged machines.

Right at the moment I see 4 projects maintained from this community with similar goals or structure:
1) Nicolas M. T's distro based on debian live
2) Jan Groenwalds distro based on Ubuntu
3) my SAGE Live CD distro based on Puppy Linux
4) the Fedora based image of Volker Braun to provide the base for the Sage virtual machine, this is maybe not geared toward a Live CD/or USB solution but still it is a complete custom linux distro including sage.

Additionally there are other projects with very similar goals. E.g. an old but now dead project was the Knoppix based "Quantian" Live distro which still ranks high in the google list if you search for "Linux Mathematic". A recent project is the MathLibre Project which also produces a Knoppix based live DVD (INCLUDING SAGE!) - last release was 2011. In a more broader sense (and because I am technically interested in it) there are also special Linux distros for simulation and numerical computing (e.g. CAELinux).

First obvious point I want to make: There is a lot work involved with such a project. Maintaining it, building a self supporting community which shares the workload, writing documentation, providing support and help, communicating about and advertising it. If it is gonna be successful than it will need more than one man teams. Once you release the work tends to increase. And very often you are confronted with annoying little things like missing keymaps, language support, printer or video drivers, wifi connection etc...

Second point is: It is difficult to meet the broad range of expectations and application cases, there will be problems ranging from failing hardware drivers, language support, keyboard support, installation problems etc. As an example let me quote a response I got from a Guy from Iran.

rasul wrote:
Hi emil and thanks for your great job, I have used your previous sagelive and now I am managing to use your new one for my dissertation, 50 MB usage of RAM is very fantastic! However, I have also a question. I'm going to run my code on a quad-core machine with 18 GB of RAM, fortunately SageLive supports multicore but does it support also 18 GB of RAM? If not then do you have any suggestion? My code is so heavy that it failed on 4GB Mac Machine, now I want to use my professor's machine and I want to make sure it will work before to tell him I want to work on his machine.

Thanks again.

I had to tell rasul that my Live CD (32 bit) was optimized for low specs and for the 18 GB of his professors machine he would need a 64 bit distro (forget about PAE). So my conclusion is, you can't meet all expectations, at least not with one version.

From my Point of view the approaches of Jan Groenwald with the Ubuntu base, Nicolas approach with a variant of debian live are very similar approaches. They use well established distros with good repos and an established user base. While Ubuntu has the polish, debian has the flair of beeing not commercial and really free.
Volker Brauns Fedora machine is a similar approach and in a similar class of distro, but at the moment lacking the component of making a Live USB or CD from it. I don't know how much work it would be to add such a facility, but I guess it is possible in principle.
My Sage Live project is different in the aspect that it has an unconventional base and has some rough edges. The biggest disadvantage is that it might be harder to get into it than into the established and polished big distros and that it might be more difficult to use the repos and add software. The advantage is that is unbeatable? small and it is really optimized to be a live OS.

It is logical that everyone will choose a distro base which he/she feels most comfortable or which will seem "the right one" depending on some more or less objective criteria. I estimate it unrealistic that the people involved will completely abandon their "baby" to join another project, but in the long run it would be better to have one project together than so much effort split.

For example last year I also had the idea to change the Sage live CD base from puppy to debian live. I had a  220 MB base of debian live (with XORG, JWM window manager and without sage) which made it realistic to add sage and keep under the 700 MB CD limit.
It had some real advantages (working apt-get, real multiuser support) but I abandoned it at that time, because the puppy base was so much more polished and functional that it just didn't seem worth the effort to go in that direction.

So may final suggestions are:
*make the creation of a Scientific/mathematical USB/DVD distro as specified in this thread by Nicolas M. T and Jan Groenewald an official goal of the sage community (or part of it).
*Have a look what the MathLibre / Knoppix people are doing in their project
*On the sagemath homepage, change the download section to be " Live CD / USB / DVD images"
*Offer different images and add explanations and documentation what the /specs/ advantages/disadvantages of those different images are.
*Keep in contact, keep discussing and testing and maybe people can converge towards on base distro in the future.

Cheers
emil
 

kcrisman

unread,
Jan 16, 2013, 10:40:07 AM1/16/13
to sage-...@googlegroups.com

Right at the moment I see 4 projects maintained from this community with similar goals or structure:
1) Nicolas M. T's distro based on debian live
2) Jan Groenwalds distro based on Ubuntu
3) my SAGE Live CD distro based on Puppy Linux
4) the Fedora based image of Volker Braun to provide the base for the Sage virtual machine, this is maybe not geared toward a Live CD/or USB solution but still it is a complete custom linux distro including sage.

I don't see why all four of these can't have life, particularly if the download page has a nice new section for them with links to the various (third-party) pages for creating things for USBs.  Presumably they each have various advantages.

Jan Groenewald

unread,
Jan 17, 2013, 10:56:41 AM1/17/13
to sage-...@googlegroups.com
Hi

On 15 January 2013 23:47, Jason Grout <jason...@creativetrax.com> wrote:
I'm really interested in a USB image that I can hand to students that want to do development with me that:

* I can modify (to include the Sage cell server, git, etc., for example)

* have all the development tools installed, so that Sage can easily be upgraded, rebuilt, etc.

* can have further things installed by users as needed

* can be installed to a hard disk if the student is interested


I have made such an image based on Ubuntu 12.04.1 using UCK. It is about 1.6G.
Let me know how to get it to you. I will also investigate using ubuntu-builder which might be able
to brand the resulting ISO more as Sage than Ubuntu (which might actuially be a legal requirement
for re-distribution).

It has

/usr/src/sage-5.5.tar
/usr/src/sage-5.5.tar.README.txt # instructions
/usr/src/sagemath.desktop # To create a launcher icon

and depends on all development and runtime dependencies of Sage.

It is standard Ubuntu LiveCD+Installer in one. It has the standard software installation options once
it gets internet. If you want to include some things like sage-cell-server, that might be best done during
the UCK (or ubuntu-builder, or remastersys) process.

Regards,
Jan

Emil Widmann

unread,
Jan 17, 2013, 1:09:40 PM1/17/13
to sage-...@googlegroups.com


Hi!
Do you have a download link?

Jan Groenewald

unread,
Jan 17, 2013, 1:17:04 PM1/17/13
to sage-...@googlegroups.com
Hi Emil,

No, I would rather privately transfer it to someone who can host this kind of bandwidth. In Africa bandwidth is scarce, and multiple downloads will be detrimental to our institutional bandwidth. Our better bandwidth on Cape Town virtual servers cost per MB.

I was hoping to get it on a Sage server, or if anyone can host this on an international server with plenty of bandwidth and 2G of space, I can give them a temporary link off-list.

sage@hummingbird-lan:~$ ls -sh1 sage*
1.6G sagemath.iso # Ubuntu 12.04.1 + dist-upgrade + sagemath-upstream-binary + vim, EN+FR
1.5G sagemathdev.iso # Ubuntu 12.04.1 + dist-upgrade + sagemath-source + vim+hg+git+gedit-plugins, EN+FR
2.1G sagemathdev_texlivefull.iso # as above but texlive-full instead of texlive, texlive-pictures

sagemath-source is a new package in the Sage PPA which depends on all build and runtime dependencies.

Regards,
Jan


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
 
 

Jason Grout

unread,
Jan 18, 2013, 12:49:40 AM1/18/13
to sage-...@googlegroups.com
On 1/17/13 12:17 PM, Jan Groenewald wrote:
>
> No, I would rather privately transfer it to someone who can host this
> kind of bandwidth. In Africa bandwidth is scarce, and multiple downloads
> will be detrimental to our institutional bandwidth. Our better bandwidth
> on Cape Town virtual servers cost per MB.

Do you have an account on the sage.math servers in Seattle? Would it be
reasonable to upload it once to there and distribute that link?

Thanks,

Jason


Jan Groenewald

unread,
Jan 18, 2013, 1:05:54 AM1/18/13
to sage-...@googlegroups.com
Hi Jason,

No, I don't have an account. Yes, that would be reasonable from my side.

Regards,
Jan


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+unsubscribe@googlegroups.com.

Emil Widmann

unread,
Jan 18, 2013, 4:27:19 AM1/18/13
to sage-...@googlegroups.com


Am Freitag, 18. Januar 2013 07:05:54 UTC+1 schrieb Jan Groenewald:
Hi Jason,

No, I don't have an account. Yes, that would be reasonable from my side.

Regards,
Jan
 

Maybe ask W. Stein directly about server access. I think it should be possible to get an account.
Although I made the experience that download from the washington server is rather slow (I am in Europe).
If you are thinking the image is ready for broader release then I suggest to change the download section of the sagemath.org page. Atm it is just Download:: Live CD. This could be Download:: Live CD/USB images. of course this would also need some additional work in documentation and a description of the various images. The image would be distributed over the sage mirrors, so you would have good download speed. You could email H. Schilly (webmaster) about it, or the most formal way would be to create a trac ticket about it.

Alternative possibility is to put it on e.g. sourceforge (like the Nicolas with the sagedebianlive project).
 

Jan Groenewald

unread,
Jan 18, 2013, 4:54:39 AM1/18/13
to sage-...@googlegroups.com, Nicolas M. Thiéry, emil.w...@gmail.com, vbrau...@gmail.com, William Stein, Harald Schilly
Could the author of each LiveCD/USB image send a one or two-line description of it? Of when it is appropriate?
Size of image, Hardware Requirements (32/64 bit, resource requirements of desktop environment), languages, whether or not automatic updates if the installation is connected to a network.

Regards,
Jan


 

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.

Emil Widmann

unread,
Jan 18, 2013, 5:46:17 AM1/18/13
to sage-...@googlegroups.com, Nicolas M. Thiéry, emil.w...@gmail.com, vbrau...@gmail.com, William Stein, Harald Schilly


Am Freitag, 18. Januar 2013 10:54:39 UTC+1 schrieb Jan Groenewald:
Hi

Could the author of each LiveCD/USB image send a one or two-line description of it? Of when it is appropriate?
Size of image, Hardware Requirements (32/64 bit, resource requirements of desktop environment), languages, whether or not automatic updates if the installation is connected to a network.

Regards,
Jan

Sage Live CD, based on Puppy:
size: 595 MB iso file, min 512 MB RAM, 32 bit, basic localization/languages and 44 different keyboard maps, no automatic updates.

Further info: Installer to USB, harddisk, etc included. Additional software packages available (e.g. libreoffice module, development module), Can access Ubuntu Lucid Lynx repos, ssh server and preconfigured sage server with 20 worker accounts included for local networks. Homepage: http://boxen.math.washington.edu/home/emil/doc/html/en/. Installation to harddisk with "personal save-file" for persistence needs min 850 MB disc space. Sage html doc included. If installed to harddisk with personal-savefile for persistence it will need 1,2 GB in "frugal install" mode.



Jan Groenewald

unread,
Jan 18, 2013, 5:54:06 AM1/18/13
to sage-...@googlegroups.com
1. Sage LiveCD, based on Ubuntu 12.04.1, with Sage 5.5 Source Code, and all build and runtime dependencies
size: 1.5 GB iso file, 64bit, EN+FR on image, other languages available from repos, automatic updates from aims/sagemath PPA.
2. Sage LiveCD, based on Ubuntu 12.04.1, with Sage 5.5 compiled, and with all runtime dependencies
size: 1.6 GB sio file, 64bit, EN+FR on image, other languages available from repos, automatic updates from aims/sagemath PPA.

Requirements for both:
  • 700 MHz processor (about Intel Celeron or better)
  • 512 MiB RAM (system memory, preferable much more, especially for the dev version to build sage from scratch)
  • 5 GB of hard-drive space (or USB stick, memory card or external drive but see LiveCD for an alternative approach)
  • VGA capable of 1024x768 screen resolution


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to sage-devel+...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
 
 
Reply all
Reply to author
Forward
0 new messages