After receiving some patches on GitHub this weekend and renewing my interest in
this project, I’ve decided to tag a 1.0 version of my Comcast Bandwidth
Usage script! After being stable for atleast a year and combined with these
new feature, it’s probably worth finally tagging a stable version.
I’ve been playing with Heroku for a project and wanted to use the default cron
addon to run a Python script and only email if that script printed anything to
stdout; regular Unix style.
Overall, I definitely accomplished what I set out to do! I’ve been very
impressed with Heroku’s Cedar stack and how flexible it is. It’s awesome being
able to script the creation of an enviroment and instantly see if my script is
working or not.
The last few months have been a bit hectic: a few weeks traveling through NYC
and DC, a new job in San Francisco, a cross country drive, and a few apartment
moves. Thankfully, my life has finally reached the point where I am comfortable
again and can start coding and writing in peace. My new job has kept me quite
busy, but what little free time I find, I try and make good use of.
I’m releasing v0.2.0 of Journal today, a Python command line tool that I’ve
created to help with keeping a journal for work/personal stuff! Check PyPi for
the latest or do an upgrade install with pip, pip install -U journal.
Main changes include:
Support for viewing entries on a specific date and over a specific time period
The ability to create multiple entries at once from the command line
I’m releasing 0.1 of Journal, a simple Python CLI tool to help with keeping
a journal for work/personal stuff! Inspired by Peter Lyons’ article on career
development, I decided to write up a script to help manage things.
The idea from Lyons’ article is to keep a chronological log of everything you do
at your job. This mirrors my own experiences with working so far: keeping
meticulously notes of what I’m doing is always helpful and not too much extra
work, since I always carry a notebook around with me for this purpose. Now I can
keep things digital!
I attended PyOhio this past weekend, a great Python conference which I was
pleasantly surprised existed! After moving to Pittsburgh last year, I’ve been
looking around for meetups and ways to meet other developers. I found Ruby,
Javascript, and Python user groups but this was the first major conference I’ve
seen in the area. I attended with a friend I met from my local Pittsburgh
Python usergroup and had a blast. I would definitely recommend attending!
Buffers are Vim’s underlying way of managing text and perhaps a little confusing
to work with at first. Most GUI text editors have a direct “one window to one
file” correlation. You can open multiple documents and until they are saved as
disk files, they just exist on screen. Most times when I’m using Vim, there is
only one window open, but I am working on multiple files and switching between
them quickly, which is where buffers come in.
I gave a talk earlier tonight at the local Python usergroup on Fabric, a Python
library for “application deployment.” I’ve mentioned Fabric before on here,
documenting how to create dynamic Fabric commands.The presentation went
well, but I was most interested in the reception of the talk and how I targeted
the talk.
I gave a talk earlier tonight at the local Python usergroup on Fabric, a Python library for āapplication deployment.ā
From the Fabric docs, Fabric targets itself as a sys-admin and deployment tool.
Many in the crowd had that impression as well, trying to compare it to Chef,
Puppet, or Capistrano. My comparison has always been to Rake or Make, although
not so much Make, in terms of working with local file dependancies and source
code compilation. It’s easier to start out with than Chef/Puppet, but doesn’t
get as complex as either program.
I’ve been able to get some time and focus this weekend to hack on a few Python
side projects. In the sense of learning and self documentation, here are some
things I learned:
Know the difference between __str__ and __unicode__ (and __repr__).
Don’t put Unicode in your str unless you want random unicode exceptions. An
interesting snippet to get the best of both worlds:
I wish Python packaging and “building a module” best practices was simply laid
out somewhere. I found this guide for Ruby gems early last week and was
very satisfied. One page, simple code and directory listings, best practice
suggestions, from step one to published including a recommendation for
testing. The closest thing I’ve found for Python recently has been
this guide.
Continuing with upgrading and explaining my Vim setup, I’m going to cover
Tagbar and TagList today. Both are plugins that provide high-level views of
your source code at a class and function level, similar to Eclipse, Visual
Studio, or other IDEs. The view is available in a quick toggle sidebar, which
you can sort and use to jump around in your source file. Both plugins make use
of Ctags, which parses the source code for most popular languages.