brainwane: My smiling face in front of a brick wall, May 2015. (Default)
[personal profile] brainwane2017-02-28 10:02 am

2017's Google Summer of Code and Outreachy, and Pythonic ways to participate

Yesterday, Google announced who the mentoring organizations will be for this year's Google Summer of Code, "a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school." This is a paid internship program open to students 18 years or older who are admitted to or enrolled (part-time or full-time) at an accredited higher education institution, in most countries. (So, community colleges are fine, and grad students are fine. Full eligibility requirements here.) No previous software industry experience or CS classes are required -- novice programmers are welcome and we particularly want people who have little or no experience contributing to open source projects.

If you're eligible, and you want a 3-month paid, mentored internship where you write code that real people will use and that you can share in your portfolio later, this is a pretty great opportunity. Here's more about how it works.

Several mentoring organizations are asking for people who know some Python. I'm currently doing some contract work with one: Zulip got accepted as a mentoring organization for GSoC for the second year in a row. I've been contracting as a community coordinator for Zulip for about a year, and I love that it's a project where we nurture new contributors inclusively and have high standards of engineering rigor. (I profiled the maintainer, Tim Abbott, in this post about kind negative code review, and I posted about it in this community last year.) Zulip is a group chat web app with desktop and mobile clients; you can try out our chat if you want to feel it out.

Apply: Here's the getting-started page. We encourage applicants to get started on their applications right away, since getting familiar with our development workflow is part of the application process -- we'll help you through that. Application deadline: April 3, 2017.

Outreach: If you want to tell other students and professors about this, the GSoC site has flyers you could put up and a presentation template. And feel free to introduce me to students you know who might want to know more.

Volunteer: Zulip and other mentoring organizations can use as much help as you can offer, from big commitments to small. Some options:

  • co-mentoring a student for several months: several hours per week and 1- or 2-day email turnaround time

  • hanging out on mailing lists and in chat rooms to help newer programmers figure things out, maybe offering light code review: a few hours' initial investment getting the hang of the project, then as much or as little time as you can offer

  • Try setting up our developer environment and write up a short discovery report to tell us what went smoothly and what tripped you up, so we can fix problems facing GSoC applicants: maybe 4 hours

  • English tutoring: 90 minutes

Reach out to me if you want help getting matched up with a mentoring org that could use your help; I'll default to Zulip but also consider other projects.

What about non-students and non-code contributions? Outreachy is a similar paid 3-month internship program helping new people get into contributing to open source. Programming, documentation, marketing, design, release management, and all sorts of other internships are available. Eligibility: people from several groups underrepresented in the industry:

Currently, internships are open internationally to women (cis and trans), trans men, and genderqueer people. Additionally, they are open to residents and nationals of the United States of any gender who are Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, or Pacific Islander. We are planning to expand the program to more participants from underrepresented backgrounds in the future.

You can spread the word with flyers and pre-written emails/posts.

The deadline for applying to Outreachy is March 30th, 2017. Zulip is not participating in the coming round, but there are great projects that are, and I'm familiar with some of them!

I'm very familiar with GSoC and Outreachy, as I've helped organizations work with them since 2011. Feel free to ask questions here in comments and I'll do my best to answer!
brainwane: My smiling face in front of a brick wall, May 2015. (Default)
[personal profile] brainwane2016-10-15 04:53 pm

New zine: "Playing with Python: 2 of my favorite lenses"

On my main blog I just posted a scan of my new zine which introduces Python programmers to bpython and python -i. Even people who have used Python a lot sometimes don't know about these -- check it out.
brainwane: My smiling face in front of a brick wall, May 2015. (Default)
[personal profile] brainwane2016-07-25 01:39 pm

Zulip: open source Slack alternative, written in Python, friendly community

If you're a Python enthusiast looking for an open source group chat application, you might be interested in Zulip. (I'm consulting for Zulip right now so I'm biased, but I was using and enjoying Zulip for years before I started working on it.) It's newly open-sourced, as of late last year. And the community is friendly and I particularly enjoy working with the lead maintainer, Tim Abbott (blog post with more details). It works in production now, and has iOS, Android, and desktop clients. You can self-host it right now, and Tim's aiming on standing up a software-as-a-service organization sometime soon.

A few interesting things:

* It's a Django application; if you want to understand how a Django web app does realtime stuff, check out the Zulip architectural overview and "life of a request" narrative.
* There's a mature code base, with a lot of test coverage, which is easier for a new programmer to get started with, and the developer setup docs are clear and well-tested.
* Zulip uses mypy for optional static type checking, which is an interesting way of balancing the flexibility of Python's duck typing with the error-checking of static typing.
* There's a live instance right now where you're welcome to come, lurk, ask questions, give your opinions on the product roadmap for 2016, and get help troubleshooting. If you want to make sure you're there sometime when other users and developers are there, come to the upcoming "office hour" on Monday, August 1, 1700-1800 UTC.
* Unlike Slack, Zulip lets you have individual threads ("topics") within channels ("streams"), and you can mute those threads to reduce notification noise.

Check it out!
foxfirefey: A guy looking ridiculous by doing a fashionable posing with a mouse, slinging the cord over his shoulders. (geek)
[personal profile] foxfirefey2011-06-21 11:04 am

Audio processing in Python

[personal profile] skud linked to a video tutorial by [ profile] theleadingzero about Audio Processing in Python, seemed like a nifty thing to share about here!
foxfirefey: A guy looking ridiculous by doing a fashionable posing with a mouse, slinging the cord over his shoulders. (geek)
[personal profile] foxfirefey2011-02-07 10:59 am

Simple HMTL generation for a folder of images

Don't know if this could be useful to anyone else, but I just wrote a wee script that generates the HTML for images in a directory on my web server, to make it easier to post about them to my journal:

import Image, sys

if len(sys.argv) < 3:
    print "Usage: %s [baseurl] [filename] [filename] ..." % sys.argv[0]

# put this in front of each image file name
baseurl = sys.argv[1]

# cycle through all image names given on the command line
for imagefile in sys.argv[2:]:

        i =
        ( width, height ) = i.size
        print '<img src="%s/%s" width="%d" height="%d" alt="" />' \
          % ( baseurl, imagefile, width, height )
    except IOError:
        print "Could not process %s" % imagefile

Example of running it: )
foxfirefey: A guy looking ridiculous by doing a fashionable posing with a mouse, slinging the cord over his shoulders. (geek)
[personal profile] foxfirefey2010-08-12 10:53 am

.vimrc specifically for Python

Apparently, Python has a .vimrc file (which specifies how the command-line vim editor works) specifically for coding in the recommended Python style:

I put it as .vimrc-python and included it in my main .vimrc like so:

source ~/.vimrc-python
foxfirefey: Smiley faces are born through factorized mechanical torture. (grimace)
[personal profile] foxfirefey2010-04-23 02:34 pm

Dear python shell:

Most of the time when I want to quit using you, I do something like this:

>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit

I am not sure why, if you know enough about what I want to give me a warning message about what I should Properly Do, you couldn't just exit and save me the headdesking trouble!

Other than that, I love you, so I am hoping you have a Really Good reason for this that I just don't know about.
catechism: dripping blood-red hand graffiti on an off-white wall, with a heart in the center of the palm. (Default)
[personal profile] catechism2009-09-17 02:29 pm


Anyone going to Pycon 2010 (in Atlanta)? Submitting a talk? Proposals are due in less than two weeks.

I can't go this year, unfortunately, but I've been to two previously and have had a good time.
foxfirefey: Fox stealing an egg. (Default)
[personal profile] foxfirefey2009-09-17 10:23 am

Code like a Pythonista: Idiomatic Python

I kind of wish I had this article when I was first embarking on Python, but it's still useful to me even later in the game:

Code Like a Pythonista: Idiomatic Python
foxfirefey: Fox stealing an egg. (Default)
[personal profile] foxfirefey2009-09-15 12:02 pm

Subclassing a dictionary

Makes me love Python. I needed an class for a test suite for the DWMinion module I'm making to make it easy to create DWAccount objects on the fly. I figured out that I could do this by subclassing the dict class.

Code here )
yvi: XKCD comic: "You're flying! How" "Python!" (Python - Flying)
[personal profile] yvi2009-08-20 10:23 am

Python icons based on XKCD

I love XKCD

I especially love

So I made three icons, which you are free to use.


And animated version of that comic might be even better, maybe I'll do that later.
catechism: gray apple logo on a background that fades from red to gray (top to bottom). red text reads 'catechism' at the bottom. (mac)
[personal profile] catechism2009-08-12 04:58 pm

roll call

Hey, everyone. I just posted a roll call for women in python over here, because I'm curious whether there just aren't a lot of women using python, or if the ones who are are just pretty quiet about it, and not very involved with the larger python community. I think those are both important issues, but they're very different ones.

Could you help me spread the word? And, of course, raise your hand if you're a woman! Thanks in advance.
foxfirefey: Fox stealing an egg. (Default)
[personal profile] foxfirefey2009-08-11 02:55 pm

Django and other frameworks that use Python

If you're interested in doing web development in Python, their wiki has a list of frameworks.

The Python web framework I've been developing in lately called Django, and I just made a community for it at [community profile] django_dev.