Wednesday, October 28, 2009

Bit Vizier Design Ideas

This is going to be a long post, but I'm trying to express my main concepts for Bit Vizier itself, and how I can leverage TurboGears to make Bit Vizier happen.

Tuesday, October 27, 2009

Why Not Launchpad?

samokk asked a very simple question: Why not Launchpad? After all, I get several advantages if I choose to use Launchpad:
  1. It's already fully functional
  2. It's written in Python
  3. It's open source
  4. It also seems to be heading in much the same direction that I'm looking to go with Bit Vizier.
I'd dabbled with the idea here and there, especially after hearing that they were doing some of the same things in Launchpad that I'm looking to do with Bit Vizier. So, I went to look at their instructions for getting a working Launchpad development environment working tonight, just to make sure I wouldn't be wasting my time with Bit Vizier.

Thursday, October 22, 2009

So, What's The Difference?

I went to reply to a comment on my previous post about Bit Vizier, and realized that I was actually heading into a whole post in and of itself. The commenter had mentioned Ditz, and a spin off of it named Pitz. They have some very good ideas in there, and I'm likely to borrow heavily. However, they focus on distributed issue tracking, while I'm looking to focus on shared issue tracking.

So, as the title asks: What's the difference?

Wednesday, October 21, 2009

Announcing the Commencement of Bit Vizier Development

I was going to announce this about two weeks ago, but work suddenly kicked into high gear, and left me wishing for time to work on anything.

Considering this previous post of mine, seeing me announce something brand new has to seem more than slightly wrong. After all, why make a new item, rather than extend an existing one? How can I justify making Bit Vizier (AKA yet another issue tracker) when I just condemned making yet another framework?

Friday, October 16, 2009

Reflections on 1.0

I'm working with TurboGears a fair amount lately, so you might be expecting me to discuss TurboGears 1.0. I'm not. I'm talking about the general magic of seeing a program with a version number of "1.0".

Monday, October 12, 2009

Automated Testing and Why You Should Do It

I first learned about automated unit testing (in the style of extreme programming) about four years ago, and decided to experiment with it. I quickly found out that code I thought I had thoroughly debugged had errors in it. Since then, I've become quite fond of automated testing. While it's not perfect, it does help prevent some of the worst errors, such as the one that I saw happen today.

Friday, October 9, 2009

PyFlakes, Wingware, And PEP8

So, as Python developers, we all know about PEP8, right? But how easy is it to follow that standard? If you're like me, having a tool to help you check it is a good thing. Also, if you're like me, you use Wingware.

Tuesday, October 6, 2009

Why Not Roll Your Own Web Framework?

I was actually going to do a long series of "Why TurboGears, Why Not ___?", but have decided not to do so, especially since a couple of paragraphs will summarize my feelings on the others well. After that, though, I'll explain why you should almost never roll your own framework.

Monday, October 5, 2009

Why TurboGears Instead of Zope / Plone?

Zope and Plone are the most recent ones I tried to work with. I'm discussing them together because Plone is built on top of Zope, so it inherits any/all good (and bad) things from Zope.

So, why did I eventually abandon Zope and Plone?

Thursday, October 1, 2009

So, Why TurboGears, Why Not ___ ?

I've decided to skip out on the "Why Linux?" question. If you have to ask, you won't agree with my answer. If you already agree with my answer, there's no point in preaching to the choir.

Instead, I'd like to address a simpler question, and one that is in some ways more important than the choice of OS, or choice of editor, or even choice of IDE. That question is the choice of which web framework to use.

Wednesday, September 30, 2009

The Oldest Flame War

At least, if it's not, it's certainly the most well known: vi vs emacs. I'm not here to say one is better than the other, only to say why I finally wound up switching.

Tuesday, September 29, 2009

On The Choice of IDE For Python

Everybody has their own preferred environment for writing code. Some prefer Eclipse, others Emacs, and still others just plain old vi or notepad.

For each of us, we find ourselves looking at our tools from time to time, wondering how we can use them more effectively. When I made the switch to Python as my primary choice of programming language, the question came up for me: Is there a better way to write and debug my code?

Monday, September 28, 2009

Mercurial, Subversion, and virtualenv

I do enjoy using Mercurial. My only complaint has been when using it inside of a virtualenv, and using the hgsubversion extension. Every single command I ran, I would get this message:

*** failed to import extension hgext.subversion from ~/dvcs/hgsubversion/hgsubversion: No module named svn

Sunday, September 27, 2009

Cleaning Up After The Doc Sprint

So, we had our doc sprint over the weekend, and I feel I should post my thoughts on the process.

Friday, September 25, 2009

wxPython in a virtualenv

virtualenv is an absolutely wonderful tool. I use it every day in so many ways, and enjoy the freedom it gives to experiment with anything. Found a new tool, and want to try it out, but don't want to screw up your system's Python libraries? Try it out in a virtualenv!

Unfortunately, getting wxPython in a virtualenv is a painful process, and definitely takes some work. Here's the steps to do so:

Version Control Systems

As developers, we all love and hate the various version control systems out there. RCS, CVS, Subversion, Perforce, CMVC, Visual Source Safe, Clear Case Mercurial, Git, Darcs, Bazaar, the list goes on and on.

Each of them has their own set of strengths and weaknesses. I won't go over all of them here, as that topic can easily become a book, and whatever weaknesses I point out will have someone else point out that I obviously just don't know how to use the tool properly. I will discuss one of them, though, and that's Mercurial.

Wednesday, September 23, 2009

Updates On The TurboGears Doc Sprint

These are some pretty minor updates, but I want to take a few minutes to convey these pieces to everybody.

Tuesday, September 22, 2009

But Why Python? Why Not Perl?

I enjoy using Python. It's clean, it's simple, it's readable. Even truly bizarre stuff manages to maintain some level of readability, at least for me. This doesn't change the fact that so many people, on hearing me say that I enjoy Python, make the statement "But why? I mean... it's Python, for god's sake!"

Monday, September 21, 2009

TurboGears Doc Sprint

One item I've not spoken about before now (mainly because I've not had the time, the blog is still new) is that I use TurboGears, and enjoy it. It makes web development into something that is actually a pleasant task.

I'm working on the documentation for the next release, and we have a lot to do. As of last count, 194 items on our todo list, ranging from defining terms all the way up to writing a whole new tutorial from scratch about something new that's going into the next release.

As such, we need help to get the list done. This weekend, Sept 25 through Sept 27, we are holding a doc sprint. We're gathering up everybody we can to make these todo items go away.

Stop by on IRC, check out the current docs, check out the steps for getting everything set up (which gets rid of every warning, even) and lend a hand. We could use every extra paragraph!

Thursday, September 17, 2009


That's right, another blog from another developer. This particular developer happens to be a Pythonista working on the TurboGears project (amongst far too many others).

I've dealt with (in varying degrees), CVS, Subversion, Mercurial, Make, C, C++, Perl, PHP, Python, Java, HTML, CSS... the list goes on and on, as it does for so many of us.

We each have our own views on all of these technologies, how to use them, what makes them wonderful, and what makes them awful.

Welcome to mine.