brainwane: My smiling face in front of a brick wall, May 2015. (Default)
[personal profile] brainwane
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] foxfirefey
[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] foxfirefey
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] foxfirefey

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] foxfirefey
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.


Sep. 17th, 2009 02:29 pm
catechism: dripping blood-red hand graffiti on an off-white wall, with a heart in the center of the palm. (Default)
[personal profile] catechism
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] foxfirefey
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] foxfirefey
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] yvi
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.

roll call

Aug. 12th, 2009 04:58 pm
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] catechism
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] foxfirefey
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.