CS and the City

  • rss
  • Home
  • Resume

Setting up a Professional Python Development Environment

Sean Lynch | June 20, 2008

This week I’ve started some development work that has placed me completely out of my comfort zone: Coding on Python on Windows XP.  I’ve played with Python on a few small one off apps on my own, but this is the first large scale project I’ve taken on with Python as its base.  So although I’m familiar enough with the language to get started, it’s the development environment for writing the code that has me at a loss.

I’ve been trying a myriad of different editors and IDEs trying to find the best tool with the most flexibility.  Unfortunately, the two seem to be opposed.  I believe this is because my short experience with each tool means the “best” is largely the easiest to use.  Easiest to use means more often than not, flexibility is sacrificed for focus.  I’ve been through Crimson Editor, JuffEd (which I am keeping around for simple text editing), GVIM, jEdit, Wing, PyScripter, and Eclipse with PyDev.

The other guys on my team are fans of VIM, but I haven’t been able to motivate myself to overcome its learning curve.  Not that I have anything against purist coding, quite the opposite in fact.  I find the most efficient way to write HTML, CSS, and JavaScript is with a text editor.  Most of my PHP work has been done in TextMate (on OSX), but also on a smaller scale.  I know I need a few more tools to assist in team collaboration, and I’d prefer having an IDE wrangle them all together.

So I came at it from another angle: What features am I looking for that the programs I’ve seen so far just didn’t manage to satisfy?  Well here’s a quick list:

  • See a projects worth of files (in the form of a Project/File browser)
  • Multiple files open at the same time, managed with tabs
  • Hotkey/button code execution
  • Run code through the debugger (not a requisite, but would be useful)
  • Integration with source control
  • Pull code documentation from files in project
  • “Jump to definition” navigation
  • Indentation management (already a peev)

During my research, I found a lot of neat validation-style applications (for my reference: epydoc, pychecker, pylint, pyflake, pep8, doctest, pyunit, nose, thumb.py, figleaf, coverage.py, pycover).  Being able to tie some of these in to a validation process on build or, dare I say inline, would be inter-spectacular.

Does such a beast exist? I’ve spent enough time with Eclipse, I should be able to bludgeon it into doing what I want, but that’s hardly the elegant solution I was hoping for.  Come on magical blogosphere, do your thing!

Comments
1 Comment »
Categories
Python
Tags
development, ide, newbie, python
Comments rss Comments rss
Trackback Trackback

Removing iTunes duplicates

Sean Lynch | June 15, 2008

I recently had to rebuild my iTunes library to solve some weird situation that was preventing my iPhone from syncing with iTunes after a reformat and upgrade. In the process I managed to add about 25 albums to the library twice. Instead of Apple noticing that the action is simply going to result in byte-for-byte duplicates of entire albums, it decides to continue with the addition and just append ” 1.mp3″ to all of the filenames. Why the genius coders over at Apple decided this was a reasonable outcome I’ll never know, but it frustrates a music library neat freak like myself to no end.

After trying to convince various AppleScripts to make iTunes clean itself up, I stumbled across these instructions on the blog of Todd George on how to find and remove byte-for-byte duplicates from iTunes. It saved my sanity. Note that this simply removes the files from the filesystem, and not the entries from the iTunes library itself. Thankfully, Todd provides a link to a great method of finding the now dead entries in your library and removing them WITHOUT any additional scripts or programs.

iTunes is happy again!

Comments
1 Comment »
Categories
Apple, How-to
Tags
hacks, How-to, iTunes
Comments rss Comments rss
Trackback Trackback

World Browser War II

Sean Lynch | June 12, 2008

Like the invasion of Poland in 1939, it should be apparent to the world now that the second great browser war is upon us. Just look at this last week’s worth of news:

June 10th: Apple releases developer preview of Safari 4
June 11th: Google Gears 0.3 released with support for desktop shortcuts
June 11th: Firefox Mobile Concept Released
June 12th: Opera 9.5 released
June 12th: Firefox 3.0 Final Release Candidate Released – 3.0 set for Tuesday June 17th (guide to new features here)

It’s exciting times for a web developer. Though there have been rumblings, one participant in notably absent from the conflict. Is Microsoft’s Internet Explorer the United States in this analogy or the Switzerland?

Comments
No Comments »
Categories
Software
Tags
Browser, Firefox, Google Gears, Opera, Safari, Web
Comments rss Comments rss
Trackback Trackback

iPhone SDK works fine on PowerPC

Sean Lynch | June 9, 2008

Well, to be fair, it’s pretty slow, and some other people have ran into some instability, but the iPhone SDK works just fine on my old iBook G4 allowing me to put off that inevitable new hardware purchase just a little bit longer.  Thanks to Gordon Turner for the tip. Looks like this WWDC ticket just paid for itself!

How-tos are located here and here (do both, the second is a little bit of clean up detail omitted from the first).

 

Comments
No Comments »
Categories
Apple, Development
Tags
hack, iphone, powerpc, ppc, sdk
Comments rss Comments rss
Trackback Trackback

Navigation

  • Business
    • Apple
    • Google
    • Microsoft
    • Yahoo
  • Canada
  • Copyleft
  • Development
    • Interfaces
    • Protocols
    • Python
  • How-to
  • Reviews
  • School
  • Technology
    • Gadgets
    • Software
  • Truthiness

Search

rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox