wxForty-Two Blog (old posts, page 2)

In memory of Laddie

My dog Laddie

Tribute to a Dog

The best friend a man has in the world may turn against him and become his enemy. His son or daughter that he has reared with loving care may prove ungrateful. Those who are nearest and dearest to us, those whom we trust with our happiness and our good name may become traitors to their faith. The money that a man has, he may lose. It flies away from him, perhaps when he needs it most. A man's reputation may be sacrificed in a moment of ill-considered action. The people who are prone to fall on their knees to do us honor when success is with us, may be the first tothrow the stone of malice when failure settles its cloud upon our heads.

The one absolutely unselfish friend that man can have in this selfish world, the one that never deserts him, the one that never proves ungrateful or treacherous, is his dog. A man's dog stands by him in prosperity and in poverty, in health and in sickness. He will sleep on the cold ground, where the wintry winds blow and the snow drives fiercely, if only he may be near his master's side. He will kiss the hand that has no food to offer. He will lick the wounds and sores that come in encounters with the roughness of the world. He guards the sleep of his pauper master as if he were a prince. When all other friends desert, he remains. When riches take wings, and reputation falls to pieces, he is as constant in his love as the sun in its journey through the heavens.

If fortune drives the master forth, an outcast in the world, friendless and homeless, the faithful dog asks no higher privilege than that of accompanying him, to guard him against danger, to fight against his enemies. And when the last scene of all comes, and death takes his master in its embrace and his body is laid away in the cold ground, no matter if all other friends pursue their way, there by the graveside will the noble dog be found, his head between his paws, his eyes sad, but open in alert watchfulness, faithful and true even in death.

George Graham Vest, 1870

Commit Count? Big Deal

This announcement from the PLplot project, and this report about it from Slashdot tout the ten thousandth commit to PLplot's source repository.  My response?  "Big deal!"  Both the Python and wxWidgets projects are about the same age as PLplot and the wx repository currently has almost 61,000 commits, and the Python repository has over 73,000 commits.  While those numbers are impressive considering that they represent mostly volunteer unpaid time from dozens of developers, they still pale compared to other projects.

On the other hand, the number of commits is really a very poor metric to measure open source projects by.  Much more  impressive is the number of users who would rather be using the software than anything else that could compete with it.

Time to kick myself again

Ever have one of those moments when you see some product or service and you think, "Doh! I should have thought of that!" because it is something that makes so much sense to you that you can't believe that you hadn't invented it yourself long before.  Well I had one of those moments today with Dropbox.  Dropbox is a cool service that integrates versioned shared storage on a centralized server with your Mac, Windows or Linux desktops.  Syncronizing files between your computers, whereever they are located, is as simple as dragging the files into your dropbox.  New or changed files are automatically replicated to your dropbox on the other computers.  If existing files are changed then only the deltas are transported across the wire, in a rsync-like fashion.

Besides the simple file sharing among your own computers, there are some other nice features there too.  Files are private by default, but there is a Public folder where you can put files you want to share with others, and you can easily get a public URL for them to paste into emails or IM messages.  You can also create a shared folder that you share with other Dropbox users.  Any changes you make in your shared folder are instantly updated to the other users' copy of the shared folder, and their changes are replicated back to you. In addition to all of that, you can easily get back to prior versions of changed files, and you can undelete files that have been deleted.  And as if that wasn't enough, there is another special folder type that is an automatic photo gallery, you just need to drag the photos you want to share to a Photos folder and the rest is automatic.

You get 2GB of space for free, and you can get up to 50GB for \$10 per month or \$99 per year.  If you sign up with this referal link then you and I will both get an extra 250MB.

Finally, here is the real kicker:  The Dropbox user interface (setup wizard, preferences dialog, task bar icon, etc.) is written in wxPython!  If the user ID I saw when I signed up is related in some way to the number of users (it is just a number so that may be possible) then that means that there are about three quarters of a million users running a wxPython application on their computers and they may not even know it.  Good job guys, I'm impressed!

snap002.png

Tweet, Tweet!

A number of people have asked me about it and so I finally decided that it is high time that I give the whole twitter thing a try.  Of course I've gotten into it late enough that my usual user name, RobinD is already taken, although that page returns an error.  (I suspect that somebody got their account suspended...)  Strangely enough somebody has already registered the wxPython name, although they haven't tweeted anything since last July...  Anyway, if you'd like to follow me or send me messages on twitter I am known there as RobinD42. Bear with me while I take my first steps in this new environment...

This is really cool (Brr!)

I found out last week at the OSCON conference that my software is being used at the South Pole by the IceCube Neutrino Observatory project currently being constructed about a kilometer from the Pole.  They are using wxPython for the controller user interface of the machine that is drilling holes 2.4 kilometers down into the ice.  There isn't anything on their website about that piece of software, but it's real interesting anyway ;-)  Here is a bit more about the drill.  There are also these pictures, videos and blog from one of the scientists that gave the presentation I attended where he shows a bit about what life at the Pole is like.  (Where a nice warm summer's day might get up to -31F. Brr!!)

This news means that I now have reports of wxPython being used from every continent on this planet. Yay!

Time Machine Saves Bacon

Yeah, I know what you're thinking... That headline sounds like something you might read while standing in the checkout line at the supermarket next to photos of aliens from the future rescuing some baby porkers from the path of a Vogon engineered tornado headed for the next trailer park on their list of sites to demolish to make room for a new highway. Well if that's what you're thinking (come on, admit it, you know you were) then you're wrong. Keep reading for some info about another kind of Time Machine, and another kind of Bacon.

Read more…

"Tranquility base here, the Robin has landed..."

Since a number of folks have expressed interest and concern I thought I would give a quick update on my working situation. This week I've started a full-time consulting job with a small software group at the University of Nebraska Medical Center. If you attended PyCon a couple years ago then you may have seen their talk about IntúaCare and IntúaDesign. That is the project that I'll be working with. I'll be working with wxPython a lot, and probably also working on wxWidgets and wxPython to some extent as well, although not as much as I did with OSAF.

I'm excited to be working on this project. Not just because of wxPython, but also because I have previous experience with the subject matter. My first major job out of college was working on software products that had a lot of the same goals as the IntúaSolutions products: essentially to be a highly dynamic and flexible solution for collecting and reporting medical patient care data in hospitals. The key here is the "highly dynamic and flexible" part, the intent is to have a set of domain-specific tools where unskilled (a.k.a non-programmers) but knowledgeable people can easily tailor the application to the needs of each hospital, or even each department within the hospital. My former experience with this was back in the dark days of DOS so the products had only a textual user interface, but I think we managed to accomplish a lot with it and it was a very successful product line, and at least as of a few years ago it was still going strong, although they've modernized a bunch of things since I worked there.

Obviously a few things have changed in the computer world since then. I discovered Python a year or so after I left that job and I've always wondered what it would have been like if we had used Python as the internal macro/calculation/filtering/query language instead of our home-grown RDL (for anyone outside of the marketing group and the customers that acronym stands for Robin Dunn's Language, otherwise it is Rule Definition Language.) Since that time we've also gone through the rise of the graphical user interface, the explosion of the World Wide Web, and my current notebook computer has 7.5 times the number of pixels on screen and 8 times more RAM than the hard drive space in the brand new top of the line desktop computer I had when we started that project! It should be fun to be able to apply modern technology and my new skills to similar features and issues that I dealt with 14-18 years ago.

I've linked to this video as a way to let you know how big of an effort this job search seemed to be at times, and also how good it felt when it was finally complete.

:-)

Where's my dictionary?

I saw this sentence today on ArsTechnica:

"...Autotools, an intractably arcane and grotesquely anachronistic cesspool of ineffable complexity that makes even seasoned programmers nauseous."

I think that sentence could win an award if there was a most-big-words-used-where-small-words-would-do-fine contest. Good thing that my dictionary is only a Spotlight search away... [type][type][type]... Ah so that's what it means. Yes, I agree. 😉