When I upgraded from Xubuntu 12.10 to 13.04 today, all my existing Python virtualenvs broke! Fortunately, they're just virtualenvs and easy to replace (that's kind of the point). But don't panic if you start seeing these.
$ ipython
Traceback (most recent call last):
File "/home/catherine/ve/e2/bin/ipython", line 5, in
(more...)
Have you responded yet to PyOhio's Call For Proposals (due date: June 1)? You should. Here's why.
Why you should speak at PyOhio
We need you. We have a great group of people who contribute talks, but we don't ever want that group to become a stagnant pool - we (more...)
For my newest ipython-sql trick, I needed to compare some queries run across different databases. How hard would it be to get side-by-side results into tidy IPython Notebook output?
Not hard at all, it turns out, if you're willing to violate basic principles of human decency.
That's an itty-bitty image, (more...)
Dayton folks - are you coming to the Dayton Linux User Group's Installfest tomorrow?
The main point of our Installfests is to get everyone together for mutual help setting up and configuring computers and programs. But we like to throw in some educational talks, too, and I volunteered to give (more...)
After getting %sql magic for IPython working, my next big goal was to figure out how to get those results into Pandas.
Er, OK, not such a big goal. Even with zero Pandas experience, it took about five minutes of skimming the first page of documentation to figure out:
In (more...)
Inspired and informed by discussions with the IPython developers at PyCon 2013, I've released ipython-sql, a %sql magic for IPython.
With this, I really think the IPython Notebook will become the most amazing database tool ever. In fact, virtually every computing problem will become a lot more workable when (more...)
Incidentally, some people have been asking, "Wait a minute - PyCon-US in Canada? How does that work? Wouldn't it be more correct to call it PyCon-NA for North America?"
It might, if this were a case of nations cooperating to share PyCon. However, that is not the case. You (more...)
You might be sick of me saying after each PyCon, "That was the best PyCon ever!", but it's not my fault if it's true.
I hardly know where to start summing up the highlights...
- PyPGDay was a great addition! I've had virtually no exposure to the PostgreSQL community before, (more...)
I posted the slideshow from my PyPGDay HTSQL lightning talk here. Thanks to everybody involved with PyPGDay, I loved it!
Do you ever want a demo or sample dataset that doesn't bore you to death? How about one steaming with sex, murder, and mayhem?
I'll be giving a lightning talk on HTSQL at PyPGDay this Wednesday, and wanted to show it off with some data worthy of its awesomeness. How about Shakespeare? Yeah! Luckily, Open Source Shakespeare has published a database of all Will's works. Unluckily, they've only published it as flat text files and as a Microsoft Access database. ("Open Source" Shakespeare? In a closed-source database? And a horrible one at that? Yeah, I know.)
So I fixed (more...)
Announcing the first Dayton Python Workshop for women and their friends, April 5-6, 2013!
tinyurl.com/day-py-workshop
The Workshop is a free, friendly, hands-on, beginners' introduction to computer programming. In one short weekend (a Friday evening and a Saturday), participants get a real handle on programming for practical tasks, using the easy yet powerful Python language... while having a fun time with new friends!
The primary target audience is women of all ages and backgrounds, including those who have never programmed before. Men can participate as the guest of a female attendee - that's where the "women and their friends" part (more...)
The first Columbus Python Workshop for women and their friends was a success!
We had about 18 students from all sorts of backgrounds, plus TAs Alyssa and Ryan from the Central Ohio Python User Group. They dived in with a will and learned an amazing amount in a short time. We all had fun and I loved having them there... there's something uniquely wonderful about teaching to faces that are smiling at you. By the end, we had several nice variants on the Color Wall.
Food sponsorship by LeadingEdje kept us all nicely fed and caffeinated, and Pillar provided The (more...)
I was thinking about staying home from PyCon in 2013.
I know, that's a horrible idea. But financing the trip has gotten hard recently, and I want to spend weeks and weeks in Montreal for PyCon 2014, so I was thinking maybe I'd save up my travel money for a spectacular trip to Quebec in a year.
But now look what they've done. PyPgDay. Postgres and Python. They've got my number. Resistance is futile.
The CFP is out; I'll be thinking about what I can propose. Maybe this will lead to a spasm of EDD (embarrassment-driven development) on sqlpython and (more...)
The big improvement for 0.2 is that ipython_doctester now optionally reports test results to an instructor's webapp, http://ipython-docent.appspot.com. In a classroom setting, this helps a teacher see who needs more time or help.
To turn on reporting, at the beginning of the IPython Notebook session,
import ipython_doctester
ipython_doctester.workshop_name = 'demo1'
ipython_doctester.student_name = 'Catherine'
from ipython_doctester import test
The instructor should run through the notebook first, executing all cells just to register each of the function names in order. Then she can check on the class's progress at http://ipython-docent.appspot.com/workshop_name.
You can also optionally set (more...)
That IPython project I was kicking around has started to mature, and I've released it into PyPI:
ipython_doctester
I'm much happier with using it as a decorator, it stays out of the student's way that way:
I really enjoyed Southwest Ohio GiveCamp this year. There are lots of community events where I learn stuff and have fun, but it's especially nice when we can also look back on something good done for a good cause.
I was on a small team that redid URS Dayton's website into a WordPress site. (The new version isn't online yet, so don't go clicking today and saying, "Ew, you're proud of that?") I'll say this for WordPress: despite having no genuinely experienced WordPress users on the team, we made a very presentable site in just an evening and a (more...)
Happy Ada Lovelace Day!
Announcing the first
for women and their friends
Jan. 18-19, 2013
The Columbus Python Workshop for women and their friends is a free hands-on introduction to computer programming that's fun, accessible, and practical even to those who've never programmed at all before. We empower women of all ages and backgrounds to learn programming in a beginner-friendly environment.
Thanks to Pillar Technologies for hosting the workshop in their brand-new office in Columbus' Short North!
The workshop is the latest in a series based on the famous Boston Python Workshop; they've already introduced hundreds (more...)
I'm increasingly amazed at IPython Notebook, and want to use it for an interactive tutorial. I'd like the notebook to be full of exercises for the student to fill out, and to get feedback from the notebook itself - a lot like CodingBat but in IPython Notebook format.
Here's the code: ipython_doctester
Next step - maybe - would be to finish with a scorecard cell summarizing the student's overall progress.
And then... automatically push data on a student's progress up to a webserver on the instructor's machine? Which presents a dashboard showing her where everybody is and what everybody (more...)
There's no such function as
doctest.testfunc. Or
doctest.testclass, or, for that matter,
doctest.testobj. However, you can run the doctests on a single function or class with
doctest.run_docstring_examples, like so:
doctest.run_docstring_examples(myfunction, globals=globals())
"That's OK", I thought, "My function doesn't call any globals, so I'll just pass in an empty dictionary." Wrong.
run_doctstring_examples actually needs your globals to find the object you're testing; you'll get
NameError: name 'myfunction' is not defined
The docs say the function is "rarely useful", but I'm finding it very useful for an IPython Notebook-based interactive tutorial I'm hoping to work up shortly!
This April 13-14, Mel Chua, Jessica McKellar, and I ran the first annual Indianapolis Python Workshop for women and their friends... and I loved it!
We borrowed our curriculum (not to mention Jessica) from the Boston workshop, and the time they've put into fine-tuning it really shows. The participants varied from absolute first-time programmers to computer science graduate students, but the materials did a great job of not leaving anybody behind.
I chatted with a few of the participants about their backgrounds and motivations for coming, and I was fascinated by the diversity among them. One woman was re-entering (more...)