First of all, I'm sure that most of you have heard of Enthought, but in case the name is new to you Enthought has been the go-to guys for all things related to Python and science, for over a decade. They provide a lot of excellent open source tools and packages for Python related to scientific analysis and data visualization, do a lot of consulting and training on scientific and financial analysis computing solutions, have a smart-batteries-included distribution of Python focused on scientific application development, and also have some proprietary products. In other words, these are some very smart people, and they have the experience and reputation to back up that claim. (I don't think I've ever met so many PhD's at the same time as I did on the days when I interviewed with Enthought.) I would guess that Enthought is the major force responsible for Python being so popular in the scientific computing communities, second only to the nature of Python itself being so easy for non-programmer technical people to become programmers using Python.
Enthought has been using wxPython in their projects since the early days. The relationship between Enthought and wxPython goes a little deeper than the usual case though as there were a few days many years ago when I went on-site with Eric Jones to a prospective customer's offices, and while he pitched them Enthought's services I demonstrated that wxPython could be built and used on their platform of choice.
Over the years there have been several attempts to create a Python package that would allow developers to create applications that could use either wxPython or one or more of the other popular GUI libraries available. As far as I know, Enthought's tools are the only ones that have survived very far beyond the proof-of-concept stage, and now the core Enthought libraries are able to be used in either wxPython or PyQt/PySide applications, and much, if not all of the application (depending on the needs of the project) may not even know or care which one is being used.
So, Enthought probably sounds like a very good fit for me, right? Well, it is, but probably not for the reasons you may think. Here is the surprising bit I mentioned before. In almost 3 months I have not written any wxPython related code for Enthought. (Not counting personal time working on Phoenix.) Instead I have been working on Qt and PySide. Yes, you read that correctly. PySide. The skills I have that are such a good fit for this job are not specifically wxPython but rather my years of experience with wrapping a very large C++ UI library as Python extensions. And with Qt and PySide transitioning from Nokia to Digia there is a noticeable dearth of manpower working on PySide compared to the Nokia days. Enthought wants me to step in and be a part of that going forward, and I think I am going to enjoy it. So far PySide has felt very familiar to me, like a slightly different and updated style of the favorite coat that you've worn for years and years. I've also been very impressed with the quality of the Qt code I've worked with so far.
Now comes the reassurances. This transition for me does not mean that I am abandoning wxPython. Not in the slightest. I am very committed to completing Project Phoenix and I look forward to it becoming the new wxPython. I think that for me personally it is wise to have skills and experience with both projects and I've been thinking for a while that I should do that, but I never had a driving force to push me into doing it. For the wxPython and PySide projects, I think that both will be able to benefit from me knowing both of them inside and out. I'm looking at this as a win-win situation, and I hope that you can see it that way too.
Stay tuned for a blog post about some of what I have been working on so far.
We'll miss you Neil. Breathe free. Fly high.]]>
Of course if you have or know of a long-term position available that would fit my skill set then please let me know about that as well.
A few weeks ago I realized that I had the same experience with Mac OS X Lion. Way back in 2007 I wrote a post in this blog about some of the things that annoyed me about OSX. Two of them were finally fixed in Lion, and it only took 4 years! Here is the first one.
It bugs me that I can only resize windows from the lower right corner. I often find myself wishing that I could resize from any edge or corner as I've been doing for nearly 20 years on every Windows, OS/2 and X-Windows system I've ever used.
We can now grab any corner or side of most windows and resize the window by dragging the mouse cursor. Yay! For you non-Mac users out there, until you're not able to do that you may not actually realize how much you do it. For example, if you have a window that you would like to make wider and have it grow to the left, then on Macs running an earlier version of the OS you would first have to move the window to the left, and then you would have to move the mouse cursor down to the bottom right corner and drag to the right. That's lots more effort than it should require, and now, thanks to me, you don't have to go through all of that! <wink!>
You'd think that with how important the visual appeal of the OS seems to be with Apple that they would not have let something this ugly slide through their QA department for so long. Since I usually have multiple computers with multiple screens active at once, I like to increase the size of the mouse cursor a bit, or replace it with alternate cursors that are more easily visible. I've tried options for things like giving the cursor a comet trail of fading arrows behind it, or what not, and I hate them all after a few minutes. For me, just increasing the size and/or using a colored arrow that is easily visible does the job and doesn't get in the way of my work. However on Mac OS X you can't use custom cursors and all you can do is scale the image up in the Universal Access section of System Preferences. And being Apple you might assume that it would be a nice scaled up anti-aliased rendering of a vector image, but NO! They simply take the original 16x16 pixel image and stretch it to fit the new 64x64 or whatever size. Anyone who has used a photo editing application more than a few times knows you can't take a small image and enlarge it very much without it looking like crap! It embarrasses me too much to run a Mac with a cursor stretched up to a monstrosity like that, so I suffer with the itty-bitty one that occasionally gets lost among the dozens of windows on my desktops.
Next up is the lack of ability to have a nice looking mouse cursor that is larger than normal. At least that's the way it was prior to Lion. Now when you change the cursor size it scales up very nicely, probably because they are using some scalable image format now instead of a small 16x16 bitmap image. Unfortunately if an application uses some non-standard cursor images they are still poorly scaled up into a jagged edged ugly blob. Also unfortunately I haven't been able to find a screenshot program yet that will capture the new enlarged cursor so I can show you the difference. They all end up with the small default cursor in the screenshot instead. Weird. Anyway, I'm no longer embarrassed to have a larger than normal cursor on my Macs because they are no longer so dang ugly. Thanks to me you can also have a purdee big cursor too! <wink!>
Now the only question remaining is who should Apple get to play the younger/fitter/handsomer version of me while filming the flashback parts of my "OS X Lion Was My Idea" commercial, what do you think?]]>