This week we have Carl Trachte joining us as our PyDev of the Week. Let’s spend some time getting to know our fellow Python programmer!
Can you tell us a little about yourself (hobbies, education, etc):
I’m a geologist for the mining industry by trade. My undergrad was at Delaware. After a short 4 year stint in the Navy, I did my grad degree at Washington State.
I like some crafts like pysanky and riding my unicycles. OpenBSD is the operating system I use on my laptop at home. Some of my time I spend trying to get a better handle on Unix and it’s tools.
Why did you start using Python?
The mine planning software vendor Mintec (Now MineSight/Hexagon) who supported the mine started using Python as their API around the 1999 to 2001 timeframe. I had been starting to script in VBA and VB6 prior to that. Python was easier and more powerful.
What other programming languages do you know and which is your favorite?
SQL, Java, and VBA/VB6/C#/VB.net are the only other ones I’ve used professionally, and of those, SQL, Java, and VBA are the only ones I’d say I “know.”
Stuff I take for granted now – compartmentalizing functionality, recognizing ASCII characters as specific integers, integer overflow, the concept of a pointer, how structures are stored in memory and which ones are more efficient – all those things were the result of that painful C course experience, and they come up again and again in my jobs!
What projects are you working on now?
I’ve been doing a mine geologic 3D block model reconciliation for about three years now. It’s a grind, but along the way I’ve found all kinds of ways to streamline the process and optimize the precision and accuracy of it with code. The person doing the reconciliation and reporting on it will never win a popularity contest, but if you like working with data, geometry, and relational data, it’s a fun problem.
At home I keep working on getting my little OpenBSD Thinkpad just the way I want it. I overwrote my last Windows install with OpenBSD about six months ago, so it’s a Unix household. Jen-bear the dachshund approves. :-\
Which Python libraries are your favorite (core or 3rd party)?
3rd party: Polygon (http://www.j-raedler.de/
Core: collections.OrderedDict. I use dictionaries a lot in my code, more than I use classes or lists, for processing information and keeping a list of constants (file paths, file names, etc.). It could be that a lot of my code is just one big anti-pattern, but this feature cleans up and de-crufts my code considerably. I have come to rely on it.
Is there anything else you’d like to say?
I belong to the “everyone should know something about coding” camp. Even though I’ve spent most of my professional life in a traditionally (note that I said “traditionally”, not necessarily currently) brute force, non-technical industry like mining, there was no way to escape having to analyze a lot of data all the time. Coding made me more effective at my job and made most tasks more interesting. Open Source software is readily available for a lot of tasks (note the geometry libraries I mentioned above). I wasn’t aware of this when I started out (all I knew was the Excel spreadsheet and then VBA).
Unfortunately I’m a pretty lousy salesperson for the craft. About ten or fifteen years ago I was encouraging a co-worker at the mine, “Marcia, you’re smart, and you know <the job> inside and out, why don’t you learn Python?” Her: “Because then I’d have a sorry ass attitude like you.” :-\ We do the best we can. CBT