Archive for the 'SoC' Category

The End

Wednesday, August 31st, 2005

That’s it, Summer of Code ends in a few minutes. I could list technical achievements and lessons learned here. But the most valuable thing for me about SoC are the people I met. A few months ago it would have seemed absurd that I would personally meet and work with such Python luminaries as Armin, […]

Round Trip Roundup

Sunday, August 28th, 2005

Yes, I’m still alive. I am sitting here on the top floor of the Physics institute of the Heidelberg university where the PyPy sprint has been happening this week (photos here). Most other people are lingering outside on the terrace for the “technical board meeting”, deciding among other things whether I will get some kind […]

Integration Days

Thursday, August 4th, 2005

I’ve been integrating both my _sre and array modules into the PyPy trunk in the last days. This would have been much less painful if PyPy weren’t slow like molasses (or even slow like a glacier) if you’re working with a decent amount of application-level code. Importing the re module with my _sre.py takes around […]

Segfaulting Fun

Wednesday, August 3rd, 2005

I’m kinda inadvertently becoming an expert on unicode and UCS-4 issues. I just discovered a bug in CPython. This is on an UCS-4 build:
Python 2.4.1 (#2, Jul 23 2005, 13:16:23)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1671)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> ‘\x7f\x00\x00\x00′.decode(”unicode_internal”)
u’\U7f000000′
>>> ‘\x80\x00\x00\x00′.decode(”unicode_internal”)
u’\x00′
That’s strange enough, but now watch this:
>>> […]

Not Lost in Translation

Sunday, July 31st, 2005

I have been working on the array module the past days. The current version already passes all compliance tests when run on top of CPython. But the integration with PyPy still poses some potentially hard problems. They’re mostly caused by the tight coupling of the array module to C data types. E.g., how can I […]

First release

Monday, July 25th, 2005

I have a reputation for overestimating the time it takes to accomplish a given task. This has led to interesting discussions with software project managers in the past: “You told me you’d finish this in 2 days, so I assumed it’d take you 4 days, and now you’re telling me you completed it in 1 […]

Bit-fiddling

Sunday, July 24th, 2005

When I was talking about not walking in the park, I meant exactly the kind of thing that has been holding me up yesterday and today: A bug related to character sets, manifesting itself on one machine but not on the other, for seemingly random reasons.
Character sets are things like [a-cg-j] in a regular expression. […]

45 down, 6 to go

Thursday, July 21st, 2005

I’m making progress much faster than I thought. Blame Canada, er, blame the unspectacular weather this week, keeping my head cool and the urge to go out low. I am now down to just 6 (of totally 51) regex unit tests from CPython 2.4 failing. Of these failures, 4 seem to be unicode- or locale-related, […]

Exhaustive Testing

Wednesday, July 20th, 2005

I’ve been working a bit on test infrastructure today. I can now

run my own tests on CPython using _sre.py,
run my own tests on CPython using _sre.c (crosschecking that my tests are actually correct),
run the CPython re tests on CPython using _sre.py,
run my own tests on PyPy using _sre.py,
and run the CPython re tests on PyPy […]

Coder’s Little Helpers

Wednesday, July 20th, 2005

The Python regex implementation compiles regex patterns to an intermediate bytecode form. Since what I’m writing is basically the interpreter for this bytecode, I’ve spent quite some time trying to make sense of numeric bytecode representation produced by sre. It’s not that hard, but you really loose track very quickly, mentally parsing a sequence like […]