PyDev of the Week: Carl Trachte

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.”

I’ve read books and taken courses in FORTRAN, LISP, C, JavaScript, and Perl. Really, I’m a dilettante. If I could choose a favorite it would be C, not because it’s fun, but because programming in it leads to a much deeper understanding of what’s going on inside the machine while it crunches your code. The C course I took through Univ. of Washington online just about killed me, but it was essential to any success I’ve had since.

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/projects/polygon/) – it’s been around forever. If you need to roll your own GIS, open pit mine maps, etc., it’s pretty sweet for point-in-polygon and polygon intersection problems. I haven’t used it in a while, but it made my life easier when I had to, and its author has really stuck with maintenance (it’s Python 3 compatible IIRC).

JTS (http://www.vividsolutions.com/jts/JTSHome.htm) (actually, this is Java that works with jython, although I think there’s a JTS inspired Python library now) – another geometry library. Yes, you could roll your own voronoi diagram closed polygon generator, but this is so much nicer.

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

Thank You!

Previous PyDevs of the Week

Print Friendly
  • I live this series of interviews. What a great idea.

  • Thanks! I’m glad you’re enjoying them. They’ve been fun to do.

  • mcsqrd

    Great Story, a lot of Geologist out there just like you, but nobody said I had a sorry ass attitude, guess they kept it to themelves.

  • holdenweb

    Carl is a great asset to the Python community, bringing as he did the perspective of someone primarily interested in getting computing work done most effectively. And now he contributes in so many other ways too.

  • Yes, I am liking them too. Retweeted a few. Thanks Mike.

  • carltii

    @holdenweb:disqus Thanks, man. This is the first time I saw your comment. That is very kind.

    It was fun reading about your start professionally. I was disappointed that you didn’t boast of your Yorkshire roots once. Are you sure you’re a real Yorkshireman? 😉

  • holdenweb

    Yes, I am absolutely sure I am a Yorkshireman. Maybe some of the sharp edges have rubbed off in my 20 years in the States