tag:blogger.com,1999:blog-70393085931100475102024-03-13T22:44:48.563-07:00Jarrod MillmanJarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.comBlogger26125tag:blogger.com,1999:blog-7039308593110047510.post-89999995100439977302018-01-03T11:46:00.001-08:002018-01-03T11:46:13.283-08:00BIDS is hiring NumPy developersThe <a href="https://bids.berkeley.edu/" target="_blank">Berkeley Institute for Data Science (BIDS)</a> is hiring <span class="PSEDITBOX_DISPONLY" id="HRS_JO_WRK_POSTING_TITLE$0">Open Source Scientific Python Developers to contribute to </span><a href="http://www.numpy.org/" target="_blank">NumPy</a>. You can read more about the new positions <a href="https://bids.berkeley.edu/news/bids-receives-sloan-foundation-grant-contribute-numpy-development" target="_blank">here</a>. For more information about the work this grant will support, please see this <a class="external" href="https://www.youtube.com/watch?v=fowHwlpGb34">NumPy lecture by BIDS Computational Fellow Nathaniel Smith</a>. Interested applicants can find more information in the <a class="external" href="https://jobsprod.is.berkeley.edu/psc/jobsprod/EMPLOYEE/HRMS/c/HRS_HRAM.HRS_CE.GBL?Page=HRS_CE_JOB_DTL&Action=A&JobOpeningId=24142&SiteId=1&PostingSeq=1">job posting</a>.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-32569930287435810242017-09-20T13:43:00.001-07:002017-09-20T13:43:32.026-07:00NetworkX 2.0 releasedI am happy to announce the <a href="https://networkx.github.io/documentation/stable/release/release_2.0.html" target="_blank">release of NetworkX 2.0</a>! NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.<br />
<br />
This release supports Python 2.7 and 3.4-3.6 and is the result of over two years of work with 1212 commits and 193 merges by 86 contributors. We have made major changes to the methods in the Multi/Di/Graph classes. There is a <a data-saferedirecturl="https://www.google.com/url?hl=en&q=https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html&source=gmail&ust=1506026110575000&usg=AFQjCNGbXl_FOpSILB2gvtBs0TryLC9u2g" href="https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html" rel="noreferrer" target="_blank">migration guide for people moving from 1.X to 2.0</a>.<br />
<br />
For more information, please visit our <a href="http://networkx.github.io/" target="_blank">website</a> and our<a data-saferedirecturl="https://www.google.com/url?hl=en&q=https://networkx.github.io/documentation/stable/auto_examples/index.html&source=gmail&ust=1506026110576000&usg=AFQjCNFtglU8COAQ_FNLNK5AKm7umKoHMw" href="https://networkx.github.io/documentation/stable/auto_examples/index.html" rel="noreferrer" target="_blank"> gallery of examples</a>. Please send comments and questions to the <a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://groups.google.com/group/networkx-discuss&source=gmail&ust=1506026110576000&usg=AFQjCNE8_PT3V09_SpQQzc7M7-NNaIku2Q" href="https://groups.google.com/forum/#!forum/networkx-discuss" rel="noreferrer" target="_blank">networkx-discuss mailing</a>.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-87179837474445701962011-10-30T19:31:00.001-07:002011-10-30T20:34:30.721-07:00SciPy India 2011 abstracts due November 2nd<div class="section" id="scipy-india-2011-abstracts-due-november-2nd" style="font-family: inherit;">
<span style="font-size: small;">The third <a class="reference external" href="http://scipy.in/">SciPy India Conference</a> will be held from December 4th through the 7th at the <a class="reference external" href="http://www.iitb.ac.in/">Indian Institute of Technology, Bombay (IITB)</a> in Mumbai, Maharashtra India.</span><br />
<br />
<span style="font-size: small;">At this conference, novel applications and breakthroughs made in the pursuit of science using Python are presented. Attended by leading figures from both academia and industry, it is an excellent opportunity to experience the cutting edge of scientific software development.</span><br />
<br />
<span style="font-size: small;">The conference is followed by two days of tutorials and a code sprint, during which community experts provide training on several scientific Python packages.</span><br />
<br />
<span style="font-size: small;">We invite you to take part by submitting a talk abstract on the <a class="reference external" href="http://scipy.in/">conference website</a></span>.</div>
<div class="section" id="talk-paper-submission" style="font-family: inherit;">
<h1 style="font-weight: normal;">
<b><span style="font-size: small;">Talk/Paper Submission</span></b></h1>
<span style="font-size: small;">We solicit talks and accompanying papers (either formal academic or magazine-style articles) that discuss topics regarding scientific computing using Python, including applications, teaching, development and research. We welcome contributions from academia as well as industry.</span></div>
<div class="section" id="important-dates" style="font-family: inherit;">
<h1 style="font-weight: normal;">
<span style="font-size: small;"><b>Important Dates</b></span></h1>
<ul class="simple">
<li><span style="font-size: small;">November 2, 2011, Wednesday: Abstracts Due</span></li>
<li><span style="font-size: small;">November 7, 2011, Monday: Schedule announced</span></li>
<li><span style="font-size: small;">November 28, 2011, Monday: Proceedings paper submission due</span></li>
<li><span style="font-size: small;">December 4-5, 2011, Sunday-Monday: Conference</span></li>
<li><span style="font-size: small;">December 6-7 2011, Tuesday-Wednesday: Tutorials/Sprints</span></li>
</ul>
</div>
<div class="section" id="organizers" style="font-family: inherit;">
<h1 style="font-weight: normal;">
<span style="font-size: small;"><b>
Organizers</b></span></h1>
<ul class="simple">
<li><span style="font-size: small;"><a class="reference external" href="http://jarrodmillman.com/">Jarrod Millman</a>, Neuroscience Institute, UC Berkeley, USA (Conference Co-Chair)</span></li>
<li><span style="font-size: small;"><a class="reference external" href="http://www.aero.iitb.ac.in/%7Eprabhu/">Prabhu Ramachandran</a>, Department of Aerospace Engineering, IIT<br />Bombay, India (Conference Co-Chair)</span></li>
<li><span style="font-size: small;"><a class="reference external" href="http://fossee.in/">FOSSEE Team</a></span></li>
</ul>
</div>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-73354003781776232382010-10-09T18:05:00.000-07:002010-10-09T18:09:18.674-07:00What's the best way to interleave two Python lists?<blockquote>[NOTE: I wrote this in January 2009, but didn't publish it. Originally, I planned to provide a short discussion about each of the potential solutions listed below, which I never got around to doing. Anyway I just noticed my draft and decided to go ahead and publish it without adding any more discussion. The code snippets seem fairly self explanatory. If anyone has any comments on the various solutions, I would be very interested in hearing them.]</blockquote><div><div><br />
<br />
Until early 2009, I had to add the following <span style="font-family: 'courier new';">site.cfg</span> file to build numpy or scipy on my 64-bit Fedora Linux box:<br />
<blockquote style="font-family: courier new;">[DEFAULT]<br />
library_dirs = /usr/lib64</blockquote>To make numpy aware of the default location required me to add <span style="font-family: 'courier new';">/usr/lib64</span> to <span style="font-family: 'courier new';">default_lib_dirs</span> (which I will refer to as <span style="font-family: 'courier new';">lib_dirs</span> for brevity) in <a href="http://github.com/numpy/numpy/blob/master/numpy/distutils/system_info.py"><span style="font-family: 'courier new';">numpy/distutils/system_info.py</span></a>.<br />
<br />
<span style="font-weight: bold;">Where do 64-bit libraries belong?</span><br />
<br />
The <span style="font-family: 'courier new';">lib64</span> directory is the default location for 64-bit libraries on Red Hat-based system. Unfortunately, not all Linux distributions conform to this <a href="http://www.redhat.com/magazine/009jul05/features/multilib/">convention</a>; but, fortunately, most distributions that don't use <span style="font-family: 'courier new';">lib64</span> as the default location for 64-bit libraries at least create a <span style="font-family: 'courier new';">lib64</span> symlink pointing to whatever their default location happens to be. So it appears I can assume that if I am on a 64-bit machine, looking in <span style="font-family: 'courier new';">lib64</span> before <span style="font-family: 'courier new';">lib</span> should work in most cases.<br />
<br />
Since I only wanted to add the <span style="font-family: 'courier new';">lib64</span> path on 64-bit machines, I changed the assignment to:<br />
<blockquote style="font-family: courier new;">lib_dirs = libpaths(['/usr/lib'], platform_bits)</blockquote>where <span style="font-family: 'courier new';">libpaths</span> returns <span style="font-family: 'courier new';">['/usr/lib']</span> when <span style="font-family: 'courier new';">platform_bits</span> is 32 and<span style="font-family: 'courier new';"> ['/usr/lib64', '/usr/lib']</span> when it is 64. I used the <span style="font-family: 'courier new';">platform</span> module to set <span style="font-family: 'courier new';">platform_bits</span>:<br />
<blockquote style="font-family: courier new;"># Determine number of bits<br />
import platform<br />
_bits = {'32bit':32,'64bit':64}<br />
platform_bits = _bits[platform.architecture()[0]]</blockquote><span style="font-weight: bold;"><br />
</span><br />
<span style="font-weight: bold;">An outline of the solution</span><br />
<br />
So far everything has been pretty straight-forward. Now all that is left is to write libpaths.<br />
<pre><blockquote style="font-family: courier new;">def libpaths(paths, bits):
"""Return a list of library paths valid on 32 or 64 bit systems.
Parameters
----------
paths : sequence
A sequence of strings (typically paths)
bits : int
An integer, the only valid values are 32 or 64.
Examples
--------
>>> paths = ['/usr/lib']
>>> libpaths(paths,32)
['/usr/lib']
>>> libpaths(paths,64)
['/usr/lib64', '/usr/lib']
"""
if bits not in (32, 64): raise ValueError
# Handle 32bit case
if bits==32: return paths
# Handle 64bit case
return <span style="font-weight: bold;">????</span>
</blockquote></pre><span style="font-weight: bold;"><br />
</span><br />
<span style="font-weight: bold;">How to skin the cat?</span><br />
<br />
So we finally arrive at the motivation for this post. At this point, I started thinking that if I had two equal-sized lists that there should be a simple function for interleaving the elements of the two lists to make a new list. Something like <span style="font-family: 'courier new';">zip</span>. But <span style="font-family: 'courier new';">zip</span> returns a list of tuples. After discussing this with several people (Fernando Pérez, Brian Hawthorne, and Stéfan van der Walt), we came up with several different solutions.<br />
<br />
<ul><li>Solution 1:</li>
</ul><br />
<pre><blockquote style="font-family: courier new;">from itertools import cycle
paths64 = (p+'64' for p in paths)
return list((x.next() for x in cycle([iter(paths),paths64])))</blockquote></pre><br />
<ul><li>Solution 2:</li>
</ul><br />
<pre><blockquote style="font-family: courier new;">def _():
for path in paths:
yield path
yield path+'64'
return list(_())</blockquote></pre><br />
<ul><li>Solution 3:</li>
</ul><br />
<pre><blockquote style="font-family: courier new;">out = [None]*(2*len(paths))
out[::2] = paths
out[1::2] = (p+'64' for p in paths)
return out</blockquote></pre><br />
<ul><li>Solution 4:</li>
</ul><br />
<pre><blockquote style="font-family: courier new;">out = []
for p in paths:
out.append(p)
out.append(p+'64')
return out</blockquote></pre><br />
<ul><li>Solution 5:</li>
</ul><br />
<pre><blockquote style="font-family: courier new;">out = []
for p in paths:
out.extend([p, p+'64'])
return out</blockquote></pre><br />
<ul><li>Solution 6:</li>
</ul><br />
<pre><blockquote style="font-family: courier new;">return [item for items in zip(paths, (p+'64' for p in paths)) for item in items]
</blockquote></pre><br />
<ul><li>Solution 7:</li>
</ul><br />
<pre><blockquote style="font-family: courier new;">from operator import concat
return reduce(concat, ([p, p+'64'] for p in paths))
</blockquote></pre>I liked Solution 5 the best and it is what I <a href="http://github.com/numpy/numpy/commit/ac3523b6a201060fa9efe41909ae6562b1546d00">used</a>.<br />
<br />
<span style="font-weight: bold;">An itertools recipe</span><br />
<br />
While we were looking for a solution, Fernando and I came up with the following recipe:<br />
<br />
<pre><blockquote style="font-family: courier new;">from itertools import cycle,imap
def fromeach(*iters):
"""Take elements one at a time from each iterable, cycling them all.
It returns a single iterable that stops whenever any of its arguments is exhausted.
Note: it differs from roundrobin in the itertools recipes, in that roundrobin continues until all of its arguments are exhausted (for this reason roundrobin also needs more complex logic and thus has more overhead).
Examples:
>>> list(fromeach([1,2],[3,4]))
[1, 3, 2, 4]
>>> list(fromeach('ABC', 'D', 'EF'))
['A', 'D', 'E', 'B']
"""
return (x.next() for x in cycle(imap(iter,iters)))
</blockquote></pre></div></div>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com8tag:blogger.com,1999:blog-7039308593110047510.post-1802490176494333312010-09-24T00:57:00.000-07:002010-09-24T00:57:59.806-07:00SciPy India 2010 Call for Papers<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 15px;">The second <span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #222222;"><a href="http://www.blogger.com/goog_918393217">SciPy</a></span><a href="http://www.blogger.com/goog_918393217"> </a><span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #222222;"><a href="http://www.blogger.com/goog_918393217">India</a></span><a href="http://scipy.in/"> Conference</a> will be held from December 13th to 18th, 2010 at <a href="http://www.iiit.ac.in/">IIIT-Hyderabad</a>.<br />
<br />
At this conference, novel applications and breakthroughs made in the pursuit of science using Python are presented. Attended by leading figures from both academia and industry, it is an excellent<br />
opportunity to experience the cutting edge of scientific software development.<br />
<br />
The conference is followed by two days of tutorials and a code sprint, during which community experts provide training on several scientific Python packages.<br />
<br />
We invite you to take part by submitting a talk abstract on the <a href="http://scipy.in/">conference website</a>.<br />
<br />
<b>Talk/Paper Submission</b><br />
<br />
We solicit talks and accompanying papers (either formal academic or magazine-style articles) that discuss topics regarding scientific computing using Python, including applications, teaching, development and research. Papers are included in the peer-reviewed conference proceedings, published online.<br />
<br />
Please note that submissions primarily aimed at the promotion of a commercial product or service will not be considered.<br />
<br />
<b>Important Dates</b><br />
Monday, Oct. 11: Abstracts Due<br />
Saturday, Oct. 30: Schedule announced<br />
Tuesday, Nov. 30: Proceedings paper submission due<br />
Monday-Tuesday, Dec. 13-14: Conference<br />
Wednesday-Friday, Dec. 15-17: Tutorials/Sprints<br />
Saturday, Dec. 18: Sprints<br />
<br />
<b>Organizers</b><span class="Apple-style-span" style="font-family: inherit;"><br />
<a href="http://www.jarrodmillman.com/">Jarrod Millman</a>, Neuroscience Institute, UC Berkeley, USA (Conference Co-Chair)<br />
<a href="http://www.aero.iitb.ac.in/~prabhu/">Prabhu Ramachandran</a>, Department of Aerospace Engineering, IIT Bombay, </span><span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial;"><span class="Apple-style-span" style="font-family: inherit;">India</span></span><span class="Apple-style-span" style="font-family: inherit;"> (Conference Co-Chair)</span><br />
<a href="http://fossee.in/">FOSSEE Team</a></span>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-28226609364227260662009-12-15T02:04:00.000-08:002009-12-15T02:26:11.729-08:00SciPy India 2009 updateToday is the fourth day of the <a href="http://scipy.in/">2009 SciPy India</a> conference. Although the first SciPy conference in the US was held in 2002, 2008 was the first time the conference was held in Europe and this year is the first time the conference was held in India. It is a sign of the growing interest in using Python for scientific computing that there are now three annual conferences.<br />
<br />
During the SciPy 2009 conference in August, <a href="http://www.aero.iitb.ac.in/%7Eprabhu/">Prabhu Ramachandran</a> spoke about the <a href="http://fossee.in/">Free and Open source Software for Science and Engineering Education (FOSSEE)</a> project he was running at IIT Bombay. The FOSSEE project is an ambitious project to promote the use of Python in numerical computing in college curriculum. Prabhu has an <a href="http://fossee.in/blog/py-in-the-sci">interesting post</a> on the contributions the scientific Python community has made to the larger Python community. FOSSEE is actually just one part of an even more ambitious $1 billion dollar (US) government program called the <a href="http://www.ignouonline.ac.in/sakshatproposal/default.aspx">National Mission on Education through Information and Communication Technology</a>.<br />
<br />
Starting at the end of May 2009, Prabhu very quickly gathered together an amazing team that immediately created a significant amount of documentation and training materials including tutorials, audio/video demonstrations, written material, and lectures. They've created a great two-day hands-on introductory tutorial to scientific programming with Python and have all ready conducted several of these tutorials all across India. Now they are working on creating a couple of semester long college courses and will be offering the first one next semester at IIT Bombay. <br />
<br />
At the end of the SciPy 2009 conference in August, Prabhu proposed that we put together a SciPy conference in India and I immediately agreed. Not wanting to delay, we decided to have the conference before the end of the year. After all putting together an international scientific conference in less than four months was keeping with the overall ambition of the FOSSEE project. As soon as Prabhu returned to Mumbai, he contacted <a href="http://www.youtube.com/watch?v=hh8q4-oUqOk">Vimal Josef at SPACE Kerala</a> about hosting the conference in Thiruvananthapuram. Shortly after that we announced the first international on Scientific Computing with Python (Scipy.in 09) from December 12th to the 17th at <a href="http://www.technopark.org/">Technopark, Thiruvananthapuram</a> sponsored by <a href="http://fossee.in/">FOSSEE</a>, IIT Bombay and <a href="http://space-kerala.org/">SPACE Kerala</a>. <br />
<br />
Once we finalized the dates for the conference, I called Travis Oliphant, the president of <a href="http://www.enthought.com/">Enthought</a>, and asked him to deliver the keynote address, which he quickly agreed to do. Among his many accomplishments, Travis is one of the original authors of SciPy and the primary developer of NumPy. David Cournapeau (one of the core NumPy and SciPy developers) and Chris Burns (one of the core developers of the neuroimaging in Python project) also agreed to deliver invited talks.<br />
<br />
The FOSSEE and SPACE teams were invaluable in organizing the conference. In particular, Madhusudan.C.S from the FOSSEE team worked very closely with me on the <a href="http://scipy.in/">conference website</a> and putting together the conference program. I will write another blog post in the next day or so with a description of the actual conference. For now, you can read a <a href="http://www.expressbuzz.com/edition/story.aspx?Title=Country%E2%80%99s+first+SciPy+meet+held&artid=hiPhfmeW11A=&SectionID=1ZkF/jmWuSA=&MainSectionID=fyV9T2jIa4A=&SectionName=X7s7i%7CxOZ5Y=&SEO=">short write-up</a> from one of the local newspapers.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com2tag:blogger.com,1999:blog-7039308593110047510.post-58925073634384364442009-11-29T16:47:00.000-08:002009-11-29T16:47:34.554-08:00Sunday in Paris<span style="font-family: sans-serif; font-size: 13px; line-height: 19px;">I spent most of today working on the SciPy 2009 proceedings with Gael and catching up on sleep and email. For dinner, Gael, Emmanuelle, and I meet Jean-Baptiste Poline at the Denfert-Rochereau station and found a very traditional french wine bar called <a href="http://maps.google.com/maps/place?client=safari&rls=en&oe=UTF-8&um=1&ie=UTF-8&q=au+vin+des+rues+paris&fb=1&hq=au+vin+des+rues&hnear=paris&cid=7535551564761016522">Au Vin des Rues</a>, which is on rue Boulard just off of rue Daguerre and was open on a Sunday evening. (I had a delicious slow-roasted leg of lamb with potatoes au gratin and rum baba for dessert.) The rue Daguerre has a wonderful pedestrian street market I often seem to visit when I am in Paris. Here is a picture of looking down the rue Daguerre (the street market is closed, of course) toward rue Boulard (you can see JB just right of center with Gael peeking over Emmanuelle's shoulder):</span><br />
<span style="font-family: sans-serif; font-size: small;"><span style="font-size: 13px; line-height: 19px;"><br />
</span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB2wYVvRA-R-4pWJf96-jah5pNPkZWEs8zsfWHnLHMHrTzLeHhAm7nxMME_wreX4e4Ys4qn6wLusLw89bjVOhR6RzektLlqSOvtl_yVYYu6nFspNTx-OU5PV4vPA2x3QHsMRNUlgLfRE_2/s1600/rue-guerre.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB2wYVvRA-R-4pWJf96-jah5pNPkZWEs8zsfWHnLHMHrTzLeHhAm7nxMME_wreX4e4Ys4qn6wLusLw89bjVOhR6RzektLlqSOvtl_yVYYu6nFspNTx-OU5PV4vPA2x3QHsMRNUlgLfRE_2/s200/rue-guerre.jpg" /></a><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div>PJ Toussaint, who just flew back from a conference in Greece, joined us just in time for dessert.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-47788091482451801912009-11-29T05:03:00.000-08:002009-11-29T05:10:36.904-08:00Saturday in ParisJust thought I'd try to keep a little journal of my trip. We'll see how long this lasts. Anyway, I landed at Charles de Gaulle at about 6:30am on Saturday morning and took the RER to <a href="http://en.wikipedia.org/wiki/Bourg-la-Reine">Bourg-la-Reine</a> to stay with Gael and Emmanuelle. Here is the entrance to where I am staying:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBvaaIbk96EJ6CIiEeolwdQOHD9htraQDsolk1PPUFnB_QVitFNEsIXK6SOgqLblm_pfudun9uEDGIzVsYxAc7vtVrgXqJje3hNgRlrJ-eta8ERuRRnrwtkP_jRb7v6XRDceuFU19vz3N/s1600/bourg-la-reine-entrance.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBvaaIbk96EJ6CIiEeolwdQOHD9htraQDsolk1PPUFnB_QVitFNEsIXK6SOgqLblm_pfudun9uEDGIzVsYxAc7vtVrgXqJje3hNgRlrJ-eta8ERuRRnrwtkP_jRb7v6XRDceuFU19vz3N/s200/bourg-la-reine-entrance.jpg" width="200" /></a><br />
</div><br />
And the view from my window:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjytds4wcEmoF_a4LiL3bkcJ6FahAaUMkdqTSdMLfWCB-O2VkdDptkA5dGYhBDM7WQi43LXyIVaXFwbTZyeLFF_YBNblzD7v4YYMTNAWLMCMMytR8nVFY5kGpZj9ncUSHRwQA8dlEWPhfTA/s1600/bourg-la-reine-view2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjytds4wcEmoF_a4LiL3bkcJ6FahAaUMkdqTSdMLfWCB-O2VkdDptkA5dGYhBDM7WQi43LXyIVaXFwbTZyeLFF_YBNblzD7v4YYMTNAWLMCMMytR8nVFY5kGpZj9ncUSHRwQA8dlEWPhfTA/s200/bourg-la-reine-view2.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_8nBOz9ruIuGzX4PQsYILEAj3kMD0MsHfpJZ_BoOGI_gkNxaAVBUuK2HZzrunZNHInIBWbuyBSJSQhpzlb0CO7BMaub4w-ss0vEqZqOKSxQA5v0icjdRKi2W9ON3R1OxRLK9LU6XKTuYQ/s1600/bourg-la-reine-view.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_8nBOz9ruIuGzX4PQsYILEAj3kMD0MsHfpJZ_BoOGI_gkNxaAVBUuK2HZzrunZNHInIBWbuyBSJSQhpzlb0CO7BMaub4w-ss0vEqZqOKSxQA5v0icjdRKi2W9ON3R1OxRLK9LU6XKTuYQ/s200/bourg-la-reine-view.jpg" width="200" /></a><br />
</div><br />
Once I arrived I took a short nap and then went out with Gael to hunt and gather in the market above the passage he lives on. Here are a two pictures I took at the local market (they had all kinds of things, but cheese and meat are, of course, the things that attracted me most):<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVZBnZIs7A-dy9ihvLGJPhTwOLYndj9DBgvjxAqDP0sp9kQZI-GvzedifuLYm8Geup8DzYmZUqk6E36I4ylK7NDEWDL4xPXWP-u7JvZhDmrGM0uVb2U5jy-vs1utztteVrbWbPUsPGh4DH/s1600/bourg-la-reine-market2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVZBnZIs7A-dy9ihvLGJPhTwOLYndj9DBgvjxAqDP0sp9kQZI-GvzedifuLYm8Geup8DzYmZUqk6E36I4ylK7NDEWDL4xPXWP-u7JvZhDmrGM0uVb2U5jy-vs1utztteVrbWbPUsPGh4DH/s200/bourg-la-reine-market2.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQnqHSxE9Pr14J-fzWzQqokgZvbntuG2YZAo7Lh3GI-dTs95ZxgAEo6I5oZWT_PpCCSJPh4TXiB2KaMwyhN9UAfIslE0jkO2_35F6-XYagNR5ArpHEJuNwuGY0vV0WT7Na40NgAeUA7tR-/s1600/bourg-la-reine-market3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQnqHSxE9Pr14J-fzWzQqokgZvbntuG2YZAo7Lh3GI-dTs95ZxgAEo6I5oZWT_PpCCSJPh4TXiB2KaMwyhN9UAfIslE0jkO2_35F6-XYagNR5ArpHEJuNwuGY0vV0WT7Na40NgAeUA7tR-/s200/bourg-la-reine-market3.jpg" /></a><br />
</div><br />
<br />
We also went into a store called frozen food store called <a href="http://www.entrepreneur.com/tradejournals/article/153707401.html">Picard</a>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYHZuHh82lryPzwhYIZifxT5iaG9oLuF0s0oAa9SqYSW2fhweLp8kghVibEG7zDwNrV1dcuIgrbyKpAagv84ONJgo5DF7g12otQ-V9S4eDgvuZBglPKVK24pA8PhBPrKPis3fC98xf8Ela/s1600/picard2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYHZuHh82lryPzwhYIZifxT5iaG9oLuF0s0oAa9SqYSW2fhweLp8kghVibEG7zDwNrV1dcuIgrbyKpAagv84ONJgo5DF7g12otQ-V9S4eDgvuZBglPKVK24pA8PhBPrKPis3fC98xf8Ela/s200/picard2.jpg" /></a><br />
</div><br />
After lunch, Gael and I headed to Paris. Over the last five years, I've tried to visit the catacombs numerous times. Unfortunately, every time I've visited, they've been closed. This time turned out to be no different. The picture on the left is Gael standing in front of the entrance to the catacombs (you can see a sign on the door, which states that they will be closed for the next month) and the picture on the right is of the road behind me:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf_Fi9Em904zvyW17xgDDsx8V2PWlne6IRHkSUBbjQNJcvAynEDyOi7vO21jf20Jdds917SJgAVsp10Bus_I_U8Be6gVBfEX428gZc-5_16NsTv75BaYZrzTEFs9ywDWTE03xLOSoLwNRM/s1600/catacombs2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf_Fi9Em904zvyW17xgDDsx8V2PWlne6IRHkSUBbjQNJcvAynEDyOi7vO21jf20Jdds917SJgAVsp10Bus_I_U8Be6gVBfEX428gZc-5_16NsTv75BaYZrzTEFs9ywDWTE03xLOSoLwNRM/s200/catacombs2.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb9sIjFt27Y92adLlxQr_y8U0ksjQs659nqxf48NzmXZTVL2Gd-g0xY6N0cjyEWkvJ4fnfhg6Pwp79cFI56ZuEj7P7rV9IbcbI2e2z2HNa0ohjTGVuOrie6wEtGBvSkECaZIodCPmFd7jN/s1600/catacombs1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb9sIjFt27Y92adLlxQr_y8U0ksjQs659nqxf48NzmXZTVL2Gd-g0xY6N0cjyEWkvJ4fnfhg6Pwp79cFI56ZuEj7P7rV9IbcbI2e2z2HNa0ohjTGVuOrie6wEtGBvSkECaZIodCPmFd7jN/s200/catacombs1.jpg" /></a><br />
</div><br />
Since I couldn't visit the catacombs, we decided to head to the <a href="http://en.wikipedia.org/wiki/Montmartre">Montmarte</a> district to walk around for the afternoon. Here are a couple of pictures of the <a href="http://en.wikipedia.org/wiki/Basilique_du_Sacr%C3%A9-C%C5%93ur,_Paris">Sacre Coeur</a> at the summit of Montmarte:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoLDR_UF163UU9ofdptyzWarU7dOgiolaj9momEoNPSqW9jD3caL2m3SKdKBnuxUS1FVjciuAocgU7NLloGEFwQ0cn7f13iv0LxJwxly11oFDKkDd7xgan59k6pLw5XFU_peNDNGCGYzH_/s1600/sacre-coeur1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoLDR_UF163UU9ofdptyzWarU7dOgiolaj9momEoNPSqW9jD3caL2m3SKdKBnuxUS1FVjciuAocgU7NLloGEFwQ0cn7f13iv0LxJwxly11oFDKkDd7xgan59k6pLw5XFU_peNDNGCGYzH_/s200/sacre-coeur1.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrK4j69ETW0tLsJ6c0hvGr0RK9xzP1iH9Cl0vpRhmUNZ0AwzMKRbFfW5pdVP5ON9l2LfLU6k7rWCm6Vtvt75W5eTdMgO_zdb_0b55BwLWIdbE3xXk14ur17W_Djr_RM_y4hVSW62K0rU0q/s1600/sacre-coeur2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrK4j69ETW0tLsJ6c0hvGr0RK9xzP1iH9Cl0vpRhmUNZ0AwzMKRbFfW5pdVP5ON9l2LfLU6k7rWCm6Vtvt75W5eTdMgO_zdb_0b55BwLWIdbE3xXk14ur17W_Djr_RM_y4hVSW62K0rU0q/s200/sacre-coeur2.jpg" /></a><br />
</div><br />
I forgot to take pictures for the rest of the day, but after Montmarte we headed back to the <a href="http://en.wikipedia.org/wiki/Latin_Quarter,_Paris">Latin Quarter</a> to spend a couple hours talking about the <a href="http://blog.jarrodmillman.com/2009/11/scipy-2009-proceedings-coming-soon.html">SciPy proceedings</a> (which we hope to finish today) in a cafe with wireless internet. And we grabbed an early dinner at 8pm with Emmanuelle and a couple of colleagues from <a href="http://neurospin.org/">Neurospin</a>.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-64588983981373878762009-11-18T23:01:00.000-08:002009-11-18T23:01:57.205-08:00NumPy 1.4 coming soon!Nearly eight months after <a href="http://projects.scipy.org/numpy/milestone/1.3.0">NumPy 1.3</a>, <a href="http://projects.scipy.org/numpy/milestone/1.4.0">NumPy 1.4</a> will be released well before the holidays. This release comes with the usual raft of bug fixes, performance improvements, new features, and improved documentation.<br />
<br />
Our <a href="http://docs.scipy.org/numpy/Front%20Page/">web-based documentation editing system</a> continues to be a great asset. In just over a year, this system has helped us to vastly expand and improve our documentation. For instance, our reference guide has gone from under 10,000 words to over 110,000. When <a href="http://blog.jarrodmillman.com/2009/11/visit-from-guido-van-rossum.html">Guido came to visit Berkeley</a> a few weeks ago, <a href="https://cirl.berkeley.edu/fperez">Fernando Pérez</a> showed him the web-based documentation editor and <a href="http://neopythonic.blogspot.com/2009/11/python-in-scientific-world.html">he was very impressed</a> and even commented that it would be nice for the standard library to use a system like this.<br />
<br />
David Cournapeau is again serving as release manager and he is also responsible for much of the code improvements for this release. I just noticed the other day, that according to ohloh, <a href="https://www.ohloh.net/p/numpy/contributors">David is quickly approaching Travis Oliphant's number of commits</a>. While it is hard to attach any specific meaning to this statistic, it is clear that at this point David is one the most significant contributors to NumPy. Among his many contributions to this release, he reduced numpy's import time by 20%-30% by adding a small <a href="http://projects.scipy.org/numpy/changeset/7517">numpy.lib.inspect</a> module and <a href="http://projects.scipy.org/numpy/changeset/7521">using it instead of the upstream inspect module</a>. Another very useful improvement by David is that you can now <a href="http://docs.scipy.org/doc/numpy/reference/c-api.coremath.html">link against the core math library</a> in an extension.<br />
<br />
In addition to all the work David's done for the 1.4 release, some of his recent work won't be included until the 1.5 release. Once David branches for 1.4, he has all ready promised to merge his Python 3 support for <span style="font-family: 'Courier New', Courier, monospace;">numpy.distutils</span> into the trunk. While we are just beginning to plan migrating to Python 3, this is an important early step.<br />
<br />
Unfortunately I am not sure the <a href="http://projects.scipy.org/numpy/browser/trunk/doc/neps/datetime-proposal.rst">new datetime dtype support </a>for dealing with dates in arrays will be included in the 1.4 release. This useful functionality was developed over the summer by Travis Oliphant and Marty Fuhry. Marty was my Google Summer of Code student; although, I was pretty busy so Pierre Gerard-Marchant did most of the day-to-day mentoring. Despite the fact that this code was merged with the trunk at the end of the summer, there is a reasonable chance that it will be pulled before the 1.4 release due to the lack of documentation for the public C API.<br />
<br />
I've only touched on a few of the many improvements you can expect to see with NumPy 1.4. For more details about the upcoming release, please see the <a href="http://projects.scipy.org/numpy/milestone/1.4.0">release notes</a>. Thanks to everyone who worked on this release and to David in particular.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-76512041228192369652009-11-13T21:48:00.000-08:002009-11-18T23:03:39.622-08:00SciPy 2010 coming to Austin, TX (6/28 - 7/4)Mark your calendar! The 2010 SciPy Conference will be held in <a href="http://www.austintexas.org/">Austin, Texas</a> from Monday, June 28th to Sunday, July 4th. We are still in the early planning stages, but expect to have two days of tutorials, two days of conference, and three days of sprints:<br />
<br />
Tutorials Monday (6/28) - Tuesday (6/29)<br />
Conference Wednesday (6/30) - Thursday (7/1)<br />
Sprints Friday (7/2) - Sunday (7/4)<br />
<br />
From 2001 to 2009, the SciPy conference was held at <a href="http://www.caltech.edu/">Caltech</a> with the generous support of the <a href="http://www.cacr.caltech.edu/">Center for Advanced Computing Research</a>. This year we've decided start holding the conference at rotating locations to ensure more people will get the opportunity to attend the conference. Since the initial conference in 2001, the scientific computing in Python community has rapidly grown. In addition to the main <a href="http://conference.scipy.org/">SciPy conference</a>, we now have dedicated SciPy conferences in both <a href="http://www.euroscipy.org/">Europe</a> and <a href="http://scipy.in/">India</a>. Moreover, there are an increasing number of non-SciPy conferences with dedicated sessions on scientific computing with Python. For example, the SIAM Conference on Computational Science and Engineering (CSE09) had a three-part minisymposium on <a href="http://blog.fperez.org/2009_03_01_archive.html">Python for Scientific Computing</a>.<br />
<br />
This year we will also hold the conference earlier in the summer than in previous years--moving from the end of August to the end of June. Holding the conference at the end of August meant that the conference coincided with the start of the spring semester for many attendees, which caused some scheduling conflicts. Having the conference in late August also made it difficult to get a quick turn around on publishing our <a href="http://blog.jarrodmillman.com/2009/11/scipy-2009-proceedings-coming-soon.html">post-conference proceedings</a> since most of the authors and reviewers had to focus on the beginning of the academic year.<br />
<br />
We are also extending the post-conference sprint from two days to three. Our post-conference sprints have been increasingly successful and we hope that by extending the sprint we will be able to get a lot more done. We are also hoping that by moving the conference to earlier in the summer will give us more time to finish work started during the sprint before the fall semester. For example, this year <a href="http://www.cs.utoronto.ca/~dwf/">David Warde-Farley</a> and I worked on migrating the <a href="http://www.scipy.org/">SciPy homepage</a> from a <a href="http://moinmo.in/">MoinMoin wiki</a> to a <a href="http://sphinx.pocoo.org/">Sphinx site</a>. During the sprint we made significant progress on the <a href="http://new.scipy.org/">new site</a>, but stopped short of being able to actually deploy it. Both David and I haven't had time to finish our work due to the academic semester starting immediately after the conference. The changes to the conference dates will hopefully increase our success in getting bigger projects, which are started during the sprint, finalized before the start of semester. (Work is slowly progressing on the new site and I hope to switch to the new site in December, during the SciPy India 2009 sprint.)<br />
<br />
And if you stay for the entire sprint, you will get to be part of a Texas-sized celebration of the<a href="http://en.wikipedia.org/wiki/Independence_Day_(United_States)"> fourth of July</a>. I was able to witness the festivities myself two years ago during the <a href="https://mail.enthought.com/pipermail/enthought-dev/2008-May/014816.html">2008 Mayavi sprint</a>. While some people may not be able to attend the sprint because of its overlap with the fourth of July celebration, these dates were our best options given all our constraints. This summer is going to be a very busy one for the SciPy community. There are at least two other SciPy-related events going on during the same time as our conference. <a href="http://www.msri.org/calendar/sgw/WorkshopInfo/556/show_sgw">Sage Days 22</a> on elliptic curves will be held in Berkeley from June 21st to July 2nd, which unfortunately means that few Sage developers will be able to attend SciPy 2010. And the <a href="http://hpfem.org/events/esco-2010/">2nd European Seminar of Coupled Problems (ESCO)</a> will be held June 28th to July 2nd in the Czech Republic. It will feature a track on next generation scientific computing with a focus on Python. While it is great to see scientific computing with Python being presented in more and more venues, this particular conference means that <a href="http://gael-varoquaux.info/">Gaël Varoquaux</a> will most likely not be attending the 2010 SciPy conference. As the program chair for both SciPy 2008 and SciPy 2009, Gaël has been essential to the success of the last two SciPy conferences.<br />
<br />
Austin is called the "Silicon Hills" due to the large number of technology corporations located there and it advertises itself as the live music capital of the world. Almost every establishment provides live music every evening. Restaurants offer a wide variety of interesting fare with a focus on BBQ and Mexican Food. If you need some exercise, the river that runs through the downtown area has a very well-used running path, and the hill country surrounding Austin has many hiking and biking trails. And most importantly, Austin is home to <a href="http://www.enthought.com/">Enthought</a>. Enthought is the main sponsor of both the SciPy project and the conference.<br />
<br />
I am looking forward to the SciPy 2010 conference and hope to see many of you there. If you are interested in helping out with the program committee, please send me an email. I would also like to continue and expand the <a href="http://conference.scipy.org/student-funding">student travel funding</a>, so if you are interested in sponsoring students to attend the conference, please contact me. I will be posting more information regarding the venue and timeline in January (after I finish organizing the SciPy India conference).Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com1tag:blogger.com,1999:blog-7039308593110047510.post-71313749068472494852009-11-07T19:16:00.000-08:002009-11-07T19:35:10.666-08:00SciPy 2009 proceedings coming soon ...This is the second year that we are going to publish proceedings for the <a href="http://conference.scipy.org/">SciPy conference</a>. Last year's <a href="http://conference.scipy.org/proceedings/SciPy2008/">proceedings</a> included 17 articles ranging from discussions on recent developments in the core projects to research articles describing how our community-developed software tools were used in different fields.<div><br /></div><div><a href="http://gael-varoquaux.info/">Gaël Varoquaux</a>, <a href="http://mentat.za.net/">Stéfan van der Walt</a>, and I are editing the proceedings this year. All accepted articles have been reviewed and sent back to the authors for revision. The deadline for the revised articles is November 14th and we plan to release the proceedings by the end of the month. The articles are looking very good and I expect that the complete proceedings will be very informative and useful for the community.</div>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-74999280181509775542009-11-05T02:46:00.000-08:002009-11-05T03:33:25.635-08:00SciPy India 2009 Call for PresentationsThe <a href="http://scipy.in/">SciPy India 2009</a> Program Committee is currently developing the conference program. We are seeking presentations from industry as well as the academic world.<br /><br />We look forward to hearing your how you are using Python! For more information, please read the full <a href="http://scipy.in/talks-cfp/">call for presentations</a>.<br /><br /><span style="font-weight: bold;">About the SciPy India 2009 Conference</span><br /><br />The first <a href="http://scipy.in/">SciPy India Conference</a> will be held from December 12th to 17th, 2009 at the <a href="http://www.technopark.org/">Technopark</a> in Trivandrum, Kerala, India.<br /><br />The theme of the conference is "Scientific Python in Action" with respect to application and teaching. We are pleased to have Travis Oliphant, the creator and lead developer of <a href="http://numpy.scipy.org/">numpy</a> as the keynote speaker.<br /><br />Please register <a href="http://scipy.in/submit-registration/">here</a>.<br /><br /><span style="font-weight: bold;">Important Dates</span><br /><ul><li>Friday, Nov. 20: Abstracts Due</li><li>Friday, Nov. 27: Announce accepted talks, post schedule</li><li>Saturday-Sunday, Dec. 12-13 Conference</li><li>Monday-Tuesday, Dec. 14-15 Tutorials</li><li>Wednesday-Thursday, Dec. 16-17 Sprints</li></ul><span style="font-weight: bold;">Organizers</span><br /><ul><li><a href="http://www.jarrodmillman.com/">Jarrod Millman</a>, <a href="http://neuroscience.berkeley.edu/">Helen Wills Neuroscience Institute</a>, <a href="http://www.berkeley.edu/">University of California, Berkeley</a>, USA (Conference Co-Chair)</li><li><a href="http://www.aero.iitb.ac.in/%7Eprabhu">Prabhu Ramachandran</a>, <a href="http://www.aero.iitb.ac.in/">Department of Aerospace Engineering</a>, <a href="http://www.iitb.ac.in/">Indian Institute of Technology, Bombay</a>, India (Conference Co-Chair)</li><li><a href="http://fossee.in/people">FOSSEE Team</a></li></ul><span style="font-weight: bold;">Sponsors</span><br /><ul><li><a href="http://www.sakshat.ac.in/">National Mission on Education (NME)</a> through Information and Communication Technologies (ICT), Government of India</li><li><a href="http://space-kerala.org/">SPACE-Kerala</a></li><li><a href="http://www.itmission.kerala.gov.in/">Kerala State IT Mission (KSITM)</a></li><li><a href="http://csi-india.org/">SIG-FOSS Of CSI</a></li></ul>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-50672877724110928942009-11-04T23:13:00.000-08:002009-11-05T02:12:18.729-08:00A visit from Guido van RossumWe had a number of interesting visitors at Berkeley today. <a href="http://www.python.org/%7Eguido/">Guido van Rossum</a>, the creator of <a href="http://python.org/">Python</a>, came to a special meeting of our <a href="https://cirl.berkeley.edu/view/Py4Science">Py4science group</a>. <a href="https://cirl.berkeley.edu/fperez">Fernando Perez</a> started the meeting with a 15-minute whirlwind overview of scientific computing with Python. He started by quickly presenting the basic stack of scientific software in Python, which most of us use. And he finished by highlighting some of <a href="http://www.its.caltech.edu/%7Eastraw/">Andrew Straw</a>'s recent work, the central role Python plays at the <a href="http://www.stsci.edu/resources/software_hardware">Space Telescope Science Institute</a>, some of <a href="http://enthought.com/">Enthought</a>'s contributions to the community, and the <a href="http://fossee.in/">FOSSEE</a> project run by <a href="http://www.aero.iitb.ac.in/%7Eprabhu/"><strong style="font-weight: normal;">Prabhu Ramachandran</strong></a>.<br /><br />After Fernando finished his introduction, we heard nine short 4-minute lightning talks in rapid succession. This format really underscored how important Python is for so many different scientific disciplines. In addition to several presentations by faculty, staff, and students from <a href="http://berkeley.edu/">UC Berkeley</a> and <a href="http://www.lbl.gov/">LBL</a>, we were fortunate to have two other visitors. <a href="http://modular.math.washington.edu/">William Stein</a> spoke about <a href="http://www.sagemath.org/">Sage</a> before running upstairs to present at the number theory seminar. And <a href="http://ondrej.certik.cz/">Ondřej Čertík</a> spoke about <a href="http://code.google.com/p/sympy/">sympy</a>.<br /><br />Following the formal presentations, Fernando facilitated an open discussion with Guido where we talked about everything from the transition to <a href="http://www.python.org/dev/peps/pep-3000/">Python 3000</a> to the <a href="http://code.google.com/p/unladen-swallow/">unladen swallow project</a>. Hopefully, Fernando will post more details including links to the slides on his <a href="http://fdoperez.blogspot.com/">blog</a> soon.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com1tag:blogger.com,1999:blog-7039308593110047510.post-81605099702803129952009-07-11T12:36:00.000-07:002009-07-11T12:42:50.555-07:00SciPy 2009 early registration extended to July 17thThe early registration deadline for SciPy 2009 has been extended for one week to July 17, 2009. Please <a href="http://conference.scipy.org/to_register">register</a> by this date to take advantage of the reduced early registration rate.<br /><br /><b> About the conference<br /></b><br />SciPy 2009, the 8th Python in Science conference, will be held from August 18-23, 2009 at Caltech in Pasadena, CA, USA. The conference starts with two days of tutorials to the scientific Python tools. There will be two tracks, one for introduction of the basic tools to beginners, and one for more advanced tools. The tutorials will be followed by two days of talks. Both days of talks will begin with a keynote address. The first day’s keynote will be given by Peter Norvig, the Director of Research at Google; while, the second keynote will be delivered by Jon Guyer, a Materials Scientist in the Thermodynamics and Kinetics Group at NIST. The program committee will select the remaining talks from submissions to our call for papers. All selected talks will be included in our conference proceedings edited by the program committee. After the talks each day we will provide several rooms for impromptu birds of a feather discussions.<br />Finally, the last two days of the conference will be used for a number of coding sprints on the major software projects in our community.<br /><br />For the 8th consecutive year, the conference will bring together the developers and users of the open source software stack for scientific computing with Python. Attendees have the opportunity to review the available tools and how they apply to specific problems. By providing a forum for developers to share their Python expertise with the wider commercial, academic, and research communities, this conference fosters collaboration and facilitates the sharing of software components, techniques, and a vision for high level language use in scientific computing.<br /><br />For further information, please visit the conference homepage:<br /><a href="http://conference.scipy.org/" target="_blank">http://conference.scipy.org</a>.<br /><br /><b> Important Dates<br /></b><br />Friday, July 3: Abstracts Due<br />Wednesday, July 15: Announce accepted talks, post schedule<br />Friday, July 17: Early Registration ends<br />Tuesday-Wednesday, August 18-19: Tutorials<br />Thursday-Friday, August 20-21: Conference<br />Saturday-Sunday, August 22-23: Sprints<br />Friday, September 4: Papers for proceedings due<div><br /></div><div><b>SciPy 2009 Executive Committee<br /></b><span><br />Jarrod Millman, UC Berkeley, USA (Conference Chair)<br />Gaël Varoquaux, INRIA Saclay, France (Program Co-Chair)<br />Stéfan van der Walt, University of Stellenbosch, South Africa (Program Co-Chair)<br />Fernando Pérez, UC Berkeley, USA (Tutorial Chair)</span></div>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-63233014959513886452009-03-28T14:30:00.000-07:002009-07-11T12:44:44.660-07:00NumPy 1.3 coming soon!<a href="http://www.ar.media.kyoto-u.ac.jp/members/david/">David Cournapeau</a> just <a href="http://mail.scipy.org/pipermail/numpy-discussion/2009-March/041506.html">announced</a> the first release candidate for NumPy 1.3. This release comes just over 6 months since the last minor release. It includes numerous bug-fixes, documentation improvements, improved Windows support, major code cleanups and refactoring, as well as several new features. NumPy 1.3 provides Python 2.6 compatibility on all supported platforms, an important first step in <a href="http://jarrodmillman.blogspot.com/2009/01/when-will-numpy-and-scipy-migrate-to.html">migrating to Python 3</a>. This release also provides <a href="http://cournape.wordpress.com/2009/03/26/scipy-on-windows-amd64/">experimental Windows 64 bit support</a>.<div><br /></div><div>An important highlight of this release, is the addition of <a href="http://projects.scipy.org/numpy/browser/trunk/doc/neps/generalized-ufuncs.rst">generalized universal functions</a>. In NumPy, a <a href="http://docs.scipy.org/doc/numpy/reference/ufuncs.html">universal function</a> (or ufunc) is a wrapper that provides a common interface to mathematical functions, which operate on scalars and can be made to operate on ndarrays in an element-by-element fashion. NumPy provides a number of built-in ufuncs for mathematical operations, trigonometric functions, bit-twiddling, comparisons, etc. For example, <span class="Apple-style-span" style="font-family:'courier new';">add</span> is a ufunc that wraps scalar addition to provide addition of ndarrays. Ufuncs support array broadcasting, type casting, as well as several other features. Generalized ufuncs extend this idea to functions on ndarrays. In other words, while ufuncs are limited to wrapping element-by-element functions, generalized ufuncs support ndarray-by-ndarray operations. There is similar functionality and terminology in <a href="http://pdl.perl.org/">PDL, the Perl vector library</a>. There is all ready some documentation for this powerful new feature, but as always we need help improving it, which anyone can do by <a href="http://docs.scipy.org/numpy/docs/numpy-docs/reference/generalized_ufuncs.rst/">simply clicking here</a>. In particular, a few examples would be very helpful.<br /><div><br /></div><div>Finally, as the 1.3 release manager, David focused a lot of attention on improving our release infrastructure (in addition to his numerous efforts with every aspect of the project). In particular, he made great progress in automating the release process. This effort should provide immediate pay off by reducing the time and effort needed to make future NumPy and (potentially) SciPy releases. In turn this will help increase the frequency with which we are able to get bug-fixes, improved documentation, speed optimizations, and new features out to the wider community.</div></div>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-4187516270377517642009-03-27T16:07:00.000-07:002009-03-27T16:08:07.117-07:00SciPy 2009 Conference (August 18-23, 2009)I am pleased to announce that the <a href="http://conference.scipy.org/">8th Annual Python in Science Conference</a> will be held August 18-23, 2009 at <a href="http://www.caltech.edu/">Caltech</a> in Pasadena, CA.<br /><ul><li><span class="Apple-style-span" style="font-weight: bold;">Tutorials</span> (Tuesday, August 18 - Wednesday, August 19)<br /></li><li><span class="Apple-style-span" style="font-weight: bold;">Conference</span> (Thursday, August 20 - Friday, August 21)<br /></li><li><span class="Apple-style-span" style="font-weight: bold;">Sprints</span> (Saturday, August 22 - Sunday, August 23)<br /></li></ul>This conference provides a unique opportunity to learn and affect what is happening in the realm of scientific computing with Python. Attendees have the opportunity to review the available tools and how they apply to specific problems. By providing a forum for developers to share their Python expertise with the wider commercial, academic, and research communities, this conference fosters collaboration and facilitates the sharing of software components, techniques and a vision for high level language use in scientific computing.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com1tag:blogger.com,1999:blog-7039308593110047510.post-59662600020867353192009-03-25T23:32:00.000-07:002009-03-25T23:22:27.453-07:00SciPy and Summer of Code 2009Google is once again sponsoring a <a href="http://code.google.com/soc/">Summer of Code (SoC)</a>. For the past several years, the SciPy community has participated in the SoC program through the <a href="http://www.python.org/psf/">Python Software Foundation (PSF)</a>. Past projects have included a <a href="http://projects.scipy.org/numpy/wiki/TestingGuidelines">new testing framework</a>, <a href="http://www.scipy.org/scipy/scikits/wiki/OpenOpt">numerical optimization code</a>, <a href="http://www.scipy.org/scipy/scikits/wiki/MachineLearning">machine learning code</a>, and <a href="http://wiki.cython.org/tutorials/numpy">improved support for NumPy in Cython</a>. Most students have remained very active in the community and continue to be major contributors to the SciPy community.<br /><br />To see a list of possible project ideas please see the <a href="http://wiki.python.org/moin/SummerOfCode/2009">PSF's SoC wiki</a>. A number of students have all ready expressed interest in working on a SciPy-related project this year. If you are interested, the best place to discuss ideas is on the <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion">NumPy</a> and <a href="http://mail.scipy.org/mailman/listinfo/scipy-dev">SciPy</a> developer mailing lists.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-50870796268011415542009-02-11T00:34:00.000-08:002009-02-11T00:38:59.070-08:00SciPy 0.7.0 releasedI'm pleased to announce SciPy 0.7.0. SciPy is a package of tools for science and engineering for Python. It includes modules for statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more.<br /><br />This release comes sixteen months after the 0.6.0 release and contains many new features, numerous bug-fixes, improved test coverage, and better documentation. Please note that SciPy 0.7.0 requires Python 2.4 or greater (but not Python 3) and NumPy 1.2.0 or greater.<br /><br />For information, please see the <a href="https://sourceforge.net/project/shownotes.php?release_id=660191&group_id=27747">release notes</a> or my <a href="http://jarrodmillman.blogspot.com/2009/01/scipy-07-coming-soon.html">previous post</a>. You can download the release from <a href="https://sourceforge.net/project/showfiles.php?group_id=27747&package_id=19531&release_id=660191">here</a>. Thanks to everybody who contributed to this release.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-6632992980952245202009-02-04T22:00:00.000-08:002009-02-04T22:04:48.788-08:00When will NumPy (and SciPy) migrate to Python 3?Python 3.0 was released on December 3rd, 2008. This release is a major redesign of the language, which intentionally breaks compatibility with the 2.x series of releases. Now that it has been released, many projects have to decide how and when to migrate to Python 3.<br /><br />The Python developers have attempted to make this transition as painless as possible. For instance, Python 2.6 helps simplify the migration path from the 2.x to the 3.x release series. Python 2.6 incorporates everything from 3.0 that doesn't introduce incompatibilities with the 2.x series. It also can be run with a <span style="font-family:courier new;">-3</span> switch to warn about what will no longer work in Python 3. The developers also provide a Python program, called <span style="font-family:courier new;">2to3</span>, to automatically convert Python 2.x source code to valid 3.x code.<br /><br />The suggested strategy for <a href="http://docs.python.org/3.0/whatsnew/3.0.html#porting-to-python-3-0">migrating to Python 3</a> is essentially:<br /><ol><li>port to 2.6</li><li>fix all the warnings raised by the <span style="font-family:courier new;">-3</span> switch</li><li>run <span style="font-family:courier new;">2to3</span></li><li>fix any remaining issues<br /></li></ol>A major prerequisite for this transition is excellent test coverage. Both NumPy and SciPy currently lack comprehensive test coverage, but we are making major improvements in this area. Over the last year, we have implemented a new testing framework based on <a href="http://somethingaboutorange.com/mrl/projects/nose/">nose</a> and have doubled the number of tests for both projects. Over the next year, we will need to continue this trend and expand our test coverage even more.<br /><br />While the above procedure of using the <span style="font-family:courier new;">2to3</span> tool works relatively for pure Python code, there is no automatic conversion tool for <a href="http://docs.python.org/3.0/howto/cporting.html#cporting-howto">extension code</a>. NumPy is mostly written in C and makes extensive use of the Python C-API. So converting NumPy will require much more than running the <span style="font-family:courier new;">2to3</span> tool. Once NumPy has been successfully ported, we will port SciPy to Python 3. Porting SciPy should be considerably easier. Regardless before porting either project to Python 3, we will need to ensure that both projects fully support Python 2.6.<br /><br /><span style="font-weight: bold;">Porting NumPy/SciPy to Python 2.6</span><br /><br />Porting to Python 2.6 is a very pressing issue as at least one Linux distribution (openSUSE 11.1) has all ready moved to Python 2.6. Fedora 11 (<a href="https://fedoraproject.org/wiki/Releases/11/Schedule">scheduled to be released</a> on 5/26/2009) will be <a href="https://fedoraproject.org/wiki/Features/Python_2.6">based on Python 2.6</a>.<br /><br />The main issue with 2.6 support is NumPy. Over the last month or so, there has been a significant focus on making both NumPy and SciPy compatible with Python 2.6 largely thanks to the efforts of David Cournapeau. For example, the <a href="http://jarrodmillman.blogspot.com/2009/01/scipy-070-release-candidate.html">upcoming SciPy 0.7.0 release</a> has replaced <span style="font-family:courier new;">md5</span> and <span style="font-family:courier new;">popen4</span> with <span style="font-family:courier new;">hashlib</span> and <span style="font-family:courier new;">subprocess</span> respectively (unfortunately, it appears that <span style="font-family:courier new;">subprocess</span> has a <a href="http://bugs.python.org/issue1731717">potential race condition</a>). On UNIX (including Mac OS X), NumPy 1.2.1 mostly works under Python 2.6. On Windows, however, 1.2.1 has a number of problems related to the compilation process. Fixing these compilation issues required some fairly extensive changes and, thus, will not be included in a 1.2.x bug-fix release. However, these issues have mostly been addressed on the development trunk and will be included in the upcoming NumPy 1.3 release.<br /><br />Hopefully, we will have a beta release of NumPy 1.3 out in a few weeks. And we should have a release candidate out shortly after. If all goes well, both NumPy and SciPy will be Python 2.6 compatible for all platforms by March.<div><br /><span style="font-weight: bold;">Porting NumPy/SciPy to Python 3<br /></span><br />Once we finish porting to Python 2.6 and remove all the warnings raised by the <span style="font-family:courier new;">-3</span> switch, we will be ready to start seriously planning to port NumPy to Python 3. Supporting Python 3 will require significant effort, since a lot of <a href="http://docs.python.org/3.0/howto/cporting.html#cporting-howto">C code has to be ported</a>. We have taken a <a href="http://www.scipy.org/Python3k">preliminary look</a> at what this port will entail and have identified at least the following issues to be addressed:<br /><ul><li><span style="font-family:courier new;">PyNumberMethods</span> has changed: <span style="font-family:courier new;">nb_divide</span>, <span style="font-family:courier new;">nb_coerce</span>, <span style="font-family:courier new;">nb_oct</span>, <span style="font-family:courier new;">nb_hex</span>, and <span style="font-family:courier new;">nb_inplace_divide</span> have been removed</li><li><span style="font-family:courier new;">PyObject_VAR_HEAD</span> has changed to <a href="http://www.python.org/dev/peps/pep-3123/">conform to standard C</a><br /></li><li><span style="font-family:courier new;">PyString_*</span> is gone, all occurrences will need to be replaced with <span style="font-family:courier new;">PyUnicode_* </span> or <span style="font-family:courier new;">PyBytes_*</span><tt class="docutils literal"><span class="pre"></span></tt><tt class="docutils literal"><span class="pre"></span></tt><br /></li><li><span style="font-family:courier new;">PyInt_*</span> is gone, all occurrences will need to be replaced with <span style="font-family:courier new;">PyLong_*</span></li><li><a href="http://www.python.org/dev/peps/pep-3118/">Buffer interface</a> has changed; this is a fairly big change and will require the most work<br /></li></ul>Given the amount of developer effort we currently have, it is difficult to imagine how we would be able to reasonably support two development branches (i.e., one for Python 2 and another for Python 3) for any significant amount of time. Obviously things may change; but, at this point, it looks like once we port NumPy to Python 3 we will only make bug-fix releases supporting Python 2.<br /><br />Before porting to Python 3, we will be paying close attention to how the major Linux distributions will be handling the transition to Python 3. Fedora developers have <a href="https://www.redhat.com/archives/fedora-devel-list/2008-December/msg00379.html">started a lively discussion</a> about how they will handle the transition to Python 3. The discussion indicates that there is a reluctance on their part to support both Python 2 and 3 in the same release.</div><div><br />With the last release of NumPy (1.2) and the <a href="http://jarrodmillman.blogspot.com/2009/01/scipy-070-release-candidate.html">upcoming SciPy release (0.7)</a> we dropped support for Python 2.3. Since many scientists may not be able to quickly upgrade to Python 3, we will be reluctant to drop support for Python 2 for some time. Given our desire to provide the newest releases of NumPy and SciPy to as many users as possible, we will be closely listening to them to determine how quickly we can move to Python 3 and drop support for Python 2. And we will use this time to continue adding features, fixing bugs, improving documentation, and perhaps most importantly extending our test coverage.<br /><br />It is likely that NumPy 1.4 and SciPy 0.8 (I am hoping that we will be able to release both by the end of 2009 or early 2010) will be based on Python 2. The following releases, NumPy 1.5 and SciPy 0.9, would be the earliest point that I can see us switching to Python 3.<br /><br />Over the last year there has been a lot of discussion about the transition to Python 3 on the mailing lists, at our annual conference, during coding sprints and planning meetings, as well as private conversations. One topic that has come up is whether this transition would be a good opportunity to simultaneously do a major redesign of NumPy.<br /><br />While there is a temptation to take advantage of this opportunity for a major release, we quickly realized that doing so would be a huge mistake. First, it would make it difficult for scientists and researchers to isolate the root cause of errors in their code when porting to the new release. Is the problem with the Python 3 port or the port to the new NumPy release? Second, it would be extremely poor community behavior. If other major packages succumb to this temptation as well, switching to Python 3 will become an increasingly daunting task for all the code out there, which use these packages. So when we port NumPy to Python 3, we will do so in a release that includes no API or ABI changes not strictly related to Python 3.<br /></div>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com12tag:blogger.com,1999:blog-7039308593110047510.post-34475684250055949302009-01-23T01:24:00.000-08:002009-01-25T21:30:34.605-08:00SciPy 0.7.0 release candidateI just released the second release candidate for SciPy 0.7.0. Due to an issue with the Window's build scripts, the first release candidate wasn't announced. Unless a major regression or release blocker is discovered, this will become the 0.7.0 final release in a few weeks.<br /><br />For more information, please see the <a href="http://sourceforge.net/project/shownotes.php?group_id=27747&release_id=655674">release notes</a> and my previous <a href="http://jarrodmillman.blogspot.com/2009/01/scipy-07-coming-soon.html">blog post</a>. You can download the release from <a href="http://sourceforge.net/project/showfiles.php?group_id=27747&package_id=19531&release_id=655674">here</a>.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-61033917318854512072009-01-18T03:08:00.000-08:002009-01-18T03:26:39.874-08:00Matrix SIG archive (1995-2000) back onlineI have recently been interested in the early history of multidimensional array support in Python. Most of the early development was discussed on the <a href="http://www.python.org/community/sigs/retired/matrix-sig/">Matrix SIG</a>. In January 2000, the Matrix SIG was retired and further discussion moved to the numpy-discussion mailing list hosted at <a href="https://sourceforge.net/projects/numpy">sourceforge</a>. More recently the mailing list moved to the SciPy server, which is hosted by <a href="http://www.enthought.com/">Enthought</a>. The archive from 2000 to the present is <a href="http://projects.scipy.org/pipermail/numpy-discussion/">here</a>.<br /><br />Unfortunately, the Matrix SIG archive (1995-2000) was missing. And had been missing since at least 2005 when Robert Kern noticed that it had <a href="http://www.mail-archive.com/python-list@python.org/msg07771.html">disappeared</a>. Thanks to Skip Montanaro, Brad Knowles, and Barry Warsaw the archive has been <a href="http://mail.python.org/pipermail/matrix-sig/">restored</a>.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-39511471584486955552009-01-12T20:06:00.000-08:002009-01-25T21:27:15.086-08:00SciPy 0.7 coming soon . . .<p>After 16 months of hard work the next stable release of scipy is almost ready to be tagged. This is the most significant scipy release in several years. It contains many new features, numerous bug-fixes, improved test coverage, and better documentation.</p><p>The scipy developer community started porting scipy to numpy at the end of 2005. Most of the work during 2006-2007 was focused on porting and bug-fixes and culminated in scipy 0.6. However, since the 0.6 release, the development effort has shifted from porting and maintenance to a much greater focus on infrastructure, architecture, and functionality.</p><p>One of the most important developments during the last year has been the extensive work on the testing and documentation framework. The improvements to testing and documentation first appeared in the numpy 1.2 release.<br /></p><p>Our new testing infrastructure is based on the <a href="http://somethingaboutorange.com/mrl/projects/nose/">nose testing framework</a>. This testing framework makes writing tests much easier than previously. The simplified testing framework as well as an increasing recognition of the importance of unit testing among the scipy developers has led to a doubling of the number of tests since the last stable release.</p> <p>This release also brings immense documentation improvements. You can now view the scipy reference manual <a href="http://docs.scipy.org/">online</a> or download it as a <a href="http://docs.scipy.org/doc/scipy/scipy-ref.pdf">PDF file</a>. The new reference guide was built using the popular <a href="http://sphinx.pocoo.org/">Sphinx tool</a>. We have also updated the <a href="http://docs.scipy.org/doc/scipy/reference/tutorial/index.html">scipy tutorial</a>, which hadn't been touched for several years. Both the reference manual and the tutorial are easily editable using our <a href="http://docs.scipy.org/">web-based documentation editor</a>. If you find want to improve the documentation, please register a user name in our web-based editor and correct the issues.</p><p>In addition to huge improvements in the testing and documentation infrastructure, this release cleans up a number of annoyances and removes old cruft. There have been a number of deprecations and well-documented API changes in this release. This is also the first stable release since the <a href="http://jarrodmillman.blogspot.com/2007/12/end-of-scipy-sandbox.html">sandbox was removed</a>.<br /></p><p>We also did a fairly extensive review of the code to make sure that all the code is correctly licensed. About a year ago, I noticed that there was code not licensed under the revised BSD license. I was trying to "correct" the license information for the scipy Fedora package, but was told that the Fedora packaging policy required including all licenses found in a package. After doing some grepping and looking at svn commit logs, it was easy to figure out what code needed to be relicensed and who had committed the code. Fortunately I was able to track everyone down and everyone kindly agreed to relicense their code. There was also some code included in scipy derived from "Numerical Recipes in C" code. Unfortunately, the "Numerical Recipes in C" code doesn't permit <a href="http://www.nr.com/aboutNR3license.html">redistribution</a>. The scipy developers quickly reimplemented the offending code from scratch. With the 0.7 release, scipy only includes code licensed under the revised BSD.</p><p>The 0.7 release should be out by the end of the month and we have all ready started working on the next feature release. During the development of the 0.7 release, there has been a rapid increase in community involvement and numerous infrastructure improvements to lower the barrier to contributions (e.g., more explicit coding standards, improved testing infrastructure, better documentation tools). I look forward to seeing this trend continue and invite everyone to become more involved. To learn more about the changes in the 0.7 release, please see the <a href="http://projects.scipy.org/scipy/scipy/milestone/0.7.0">release notes</a>.<br /></p>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com2tag:blogger.com,1999:blog-7039308593110047510.post-41711708106367743982008-07-07T11:02:00.000-07:002008-07-07T11:27:00.560-07:00SciPy 2008 Conference Program postedThe SciPy 2008 Program Committee has just finalized the <a href="http://conference.scipy.org/conference">conference schedule</a> for this year's conference. So I wanted to take the opportunity to mention some of the many things that have been going on leading up to this 7th annual meeting.<br /><br />Since 2002, the conference has been driven almost entirely by <a href="http://www.enthought.com/">Enthought</a> (Austin, TX) with on-site co-ordination and assistance by the <a href="http://www.cacr.caltech.edu/">Center for Advanced Computing Research</a> (Caltech, Pasadena, CA). This year the community took a much larger role in conference planning. I am co-chairing the conference with Travis Vaught of Enthought. Gaël Varoquaux and Stéfan van der Walt have invested a huge amount of time in developing a TurboGears <a href="http://conference.scipy.org/">conference website</a>. We have also created a much larger program committee and tutorials committee with members from Europe, Africa, and North America. You can see the entire list of organizers <a href="http://conference.scipy.org/organizers">here</a>. During past conferences Enthought has sponsored a small number of students. This year we are also very excited that the Python Software Foundation (PSF) has agreed to help Enthought fund more student sponsorships for this year's conference–bringing the number of <a href="http://conference.scipy.org/sponsoring">students to ten</a> for the first time.<br /><br />The tutorial committee has decided to offer two <a href="http://conference.scipy.org/tutorials">tutorial tracks</a> this year, rather than one. The first is a two day in-depth introductory course to scientific computing with Python. The advanced track consists of eight two-hour sessions covering a variety of topics from building extensions to graphical user interfaces.<br /><br />The program committee has done an excellent job putting together a very interesting schedule. We are very fortunate to have <a href="http://www.aleax.it/bio.txt">Alex Martelli</a> for our keynote address this year. Although the conference will last the same number of days, there will be a larger number of shorter talks this year (16 talks last year to 23 talks this year). This will be the first year that we'll be publishing a proceedings book for selected talks. Travis Vaught and I will be giving the first annual "State of SciPy" talk. We will also have an expert panel discussion at the end of the conference.<br /><br />Finally, we are extending the post-conference code sprint from one to two days. Last year the coding sprint was very successful, but there was a feeling that one day was too short. We are hoping to get a large number of participants this year. We already have commitments from several core NumPy, SciPy, IPython, SymPy, Mayavi, Numscons, and ETS developers.<br /><br /><a href="http://conference.scipy.org/to_register">Early registration</a> ends on <span>Friday, July 11, 2008.<br /></span>Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0tag:blogger.com,1999:blog-7039308593110047510.post-187652973242543042007-12-29T04:22:00.000-08:002007-12-29T04:38:17.269-08:00NumPy/SciPy blog aggregatorAs part of yesterday's documentation day, I set up the <a href="http://planet.scipy.org/">NumPy/SciPy blog aggregator</a>. Gaël Varoquaux did all the work customizing the templates and style sheets. I will post a longer blog tomorrow detailing what was accomplished during the first NumPy/SciPy documentation day.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com1tag:blogger.com,1999:blog-7039308593110047510.post-32415184790998616582007-12-23T23:12:00.000-08:002007-12-24T00:47:07.556-08:00The end of the SciPy sandboxOn October 2, 2005, Travis created the newscipy branch to port SciPy to what is now called NumPy. Three days later scipy.sandbox was created. The sandbox was originally intended to be a staging ground for packages that were undergoing rapid development and whose APIs were in flux. It was also a place where broken code could live.<br /><br />The sandbox is currently creating more problems than it solves:<br /><ol><li>Sandbox code limits group development, since it is often viewed as a place where a specific developer (or maybe a small group of developers) is experimenting. In fact, several of the packages are simply named after the developer. And branching would be a more appropriate way for experimental work done by a small group of developers.<br /></li><li>The ambiguous nature of the sandbox (i.e., in the SciPy trunk, but not in the release) plus a greater tolerance for broken code allows loose coding and documentation standards, which creates a barrier to inclusion in the core.</li><li>Having packages included in the trunk implies that the code will eventually move into official releases; but several of the packages (e.g., old graphics packages) will not be included in future releases.<br /></li><li> Finally and most importantly, the sandbox leads to confusion and installation headaches. Users expect to have access to sandbox packages when they install SciPy binaries. But if they want to use a sandbox package, they are encouraged to download the source code, edit configuration files, and build a SciPy.<br /></li></ol> At the recent meeting in Berkeley, it was unanimously agreed upon that we should get rid of the sandbox for the <a href="http://scipy.org/scipy/scipy/milestone/0.7">SciPy 0.7.0 release</a>, which is planned for late March. By the 0.7.0 release, the existing sandbox packages will either need to be officially moved into scipy, made into a scikit, moved into a branch, or simply deleted.<br /><br />Eventually, we would like to see all of the following code/packages/functionality moved into scipy:<span style="font-weight: bold;"></span> arpack, buildgrid, constants, delaunay, ga, image, lowbpcg, montecarlo, netcdf, newoptimize, rbf, rkern, and spline. Most of this code will not likely be ready by the 0.7.0 release, so it will probably just be moved into a branch for now.<br /><br />We would like to see all of the following code/packages/functionality moved into a scikit: ann, exmplpackage, fdfpack, multigrid, pyem, pyloess, svm, and timeseries. My next blog entry will be focused on Scikits.<br /><br />The packages belonging to specific developers should probably be moved into a branch: cdavid, duard, oliphant, and rkern. And some of the developers are suggesting that numexpr be moved into a separate, stand-alone package. Finally, several packages can just be deleted: arraysetops, cow, gplt, maskedarray, plt, stats, wavelets, and xplt.Jarrod Millmanhttp://www.blogger.com/profile/11547359491745541645noreply@blogger.com0