From jek at discorporate.us Tue Mar 9 20:16:56 2010 From: jek at discorporate.us (jason kirtland) Date: Tue, 9 Mar 2010 11:16:56 -0800 Subject: [portland] Meeting TONIGHT 6:30pm: PyCons past & present, pizza, beer! Message-ID: <28dcaea51003091116w26828e80y98aed9689c6d368b@mail.gmail.com> Pythonistas, The Portland Python Users Group meets tonight! In addition to a stellar topic lineup this evening, we will have free pizza and beer provided by our kind sponsor, SurveyMonkey! You'll want to be sure to arrive on time for this one. (But also please remember that we're guests in the Webtrends space- don't arrive before 6:15.) Tonight we have: Michelle Rowley will present the monthly module: functools. Adam Lowry, Michael Schurter & Michelle Rowley will be recapping the high points of PyCon 2010 & pointing out great sessions that you can watch when you get home, thanks to the PyCon video archives! Finally, Jason Kirtland will be presenting "What I Learned at PyCon... Last Year", reflections on lessons learned while implementing functional testing techniques over the past year at Idealist.org. This will be a whiz-bang presentation with an exciting announcement! Tuesday March 9th 2010 6:30PM at Webtrends - The guard at the front desk will let you in & up 851 SW 6th Ave. Map to Webtrends, etc. at http://www.meetup.com/pdxpython/ I hope to see everyone there! Cheers, Jason From adam at therobots.org Wed Mar 10 04:10:42 2010 From: adam at therobots.org (Adam Lowry) Date: Tue, 9 Mar 2010 19:10:42 -0800 Subject: [portland] Talks I liked at PyCon Message-ID: <2709FFD2-A7A6-41E1-8409-29434F34A518@therobots.org> From my quick little talk tonight at PDX Python, here are the talks I mentioned as being particularly worth watching. C. Titus Brown - "Why not run all your tests all the time? A study of continuous integration systems." (#160) Ned Batchelder - "Tests and Testability" (#188) Peter Portante - "Demystifying Non-Blocking and Asynchronous I/O" (#164) Donovan Preston - "Eventlet: Asynchronous I/O with a synchronous interface" (#141) Jeremy Edberg - "Scaling your Python application on EC2" (#191) Jonathan Ellis - "What every developer should know about database scalability" (#21) http://us.pycon.org/2010/conference/schedule/ Adam From michelle at pdxpython.org Wed Mar 10 08:31:32 2010 From: michelle at pdxpython.org (michelle rowley) Date: Tue, 9 Mar 2010 23:31:32 -0800 Subject: [portland] Notes & Thanks Message-ID: <813046e41003092331w2899be54ubdf1725479d512dd@mail.gmail.com> Hey Pythoneers, Tonight's meeting was awesome. I wanted to send out a note to say thanks to Jason for a fantastic presentation about the cutting edge functional web testing they're doing at Idealist.org using concepts learned from PyCon 2009, and to Adam and Michael for sharing their PyCon 2010 highlights. I saw that Adam and Michael had already sent around some notes from the stuff they shared tonight (I need to do that, too), and hopefully Jason will be able to put his slides online and post the link to the list. Another gigantic thank you goes out to Survey Monkey for setting us up with delicious pizza and beer! Erin Hoffmann from Survey Monkey was at the meeting with us tonight and mentioned that they are looking to hire a Python Developer here in Portland. If you're interested in more information about that, here's a link to the jobs page on their site: http://www.surveymonkey.com/jobs/Home_Jobs.htm. Last but not least, thanks again to Webtrends for continuing to host our meetings! See you there next month, same bat time, same bat Tuesday. Michelle From michelle at pdxpython.org Wed Mar 10 08:42:33 2010 From: michelle at pdxpython.org (michelle rowley) Date: Tue, 9 Mar 2010 23:42:33 -0800 Subject: [portland] Links to PyCon 2010 sessions, and functools.wraps example Message-ID: <813046e41003092342r2f1bea8bxf1a666f31bdcac3@mail.gmail.com> Here are the links to the sessions I talked about from PyCon 2010: http://us.pycon.org/2010/conference/schedule/event/4/ (Keynote: Building the Python Community) -- The video for this one doesn't seem to be linked from the event detail page in the schedule, but I checked and found it in the episode list on the PyCon blip.tv channel (http://pycon.blip.tv/). http://us.pycon.org/2010/conference/schedule/event/77/ (Diversity as a Dependency) http://us.pycon.org/2010/conference/schedule/event/108/ (Think Globally, Hack Locally - Teaching Python in Your Community) http://us.pycon.org/2010/conference/schedule/event/92/ (Small acts make great revolutions: crafting Python and Open Source communities in Rio de Janeiro) The docs to the functools module are here: http://docs.python.org/library/functools.html, and I'll attach my silly example of functools.wraps, for fun. See you next month! Michelle -------------- next part -------------- A non-text attachment was scrubbed... Name: chelletools.py Type: application/octet-stream Size: 741 bytes Desc: not available URL: From michael at susens-schurter.com Wed Mar 10 21:28:48 2010 From: michael at susens-schurter.com (Michael Schurter) Date: Wed, 10 Mar 2010 12:28:48 -0800 Subject: [portland] Packaging & Patterns @ PyCon 2010 Message-ID: <240b71641003101228x1afcd2b0vb7de4bf386a9aa67@mail.gmail.com> Hi all, You can see my slides on Packaging and Design Pattern talks at PyCon 2010 here: * http://docs.google.com/present/view?id=ddzswzbr_33g8hrcdgx Tarek's talk was good, but you're probably better off just reading his blog if you want the latest packaging news: * http://tarekziade.wordpress.com/ Like I mentioned in my talk, design patterns aren't exactly blowing up the blogosphere, so they're probably good talks to watch if you're interested in such things. Unfortunately the "Threading is not a model" video isn't up yet. For browsing talk videos, this site seems to do a better job than the official blip.tv listing: * http://python.mirocommunity.org/category/pycon2010 Enjoy! Michael Schurter @schmichael From lintzh at science.oregonstate.edu Thu Mar 11 17:53:49 2010 From: lintzh at science.oregonstate.edu (lintzh at science.oregonstate.edu) Date: Thu, 11 Mar 2010 08:53:49 -0800 Subject: [portland] Array writing question from landscape ecologist Message-ID: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> Hello, I am new to this group. May I post a code-related question here? If so, here it goes. I am in the process of importing and reading data, reshaping the data to be a 2D array, adding a header file on top (of the new 2D array), and writing a new file. I do this in a loop for many files. I'm using python 2.5 since that is the version distributed with ArcGIS, a software that interfaces with python 2.5. However, I receive the following error when I attempt to write a data matrix created with NumArray. I just reviewed my two sources on Numarray, and I can't figure out why I can't write the data. Below is the code and below the code is the error message. I'm not sure how to write NumArray lines ot a .txt file (see the the last lines of code). CODE STARTS HERE: from __future__ import with_statement import arcgisscripting, sys, os, string, copy, glob,numarray # Create the Geoprocessor Object gp = arcgisscripting.create() ############## #DIRECTORIES ############## workDIR = "C:\\PDSIwork" resampleDIR = workDIR + "\\resample\\" ascDIR = workDIR + "\\PDSIdata\\" ############## #HEADER ############## header = """\ ncols 1386 nrows 595 xllcorner -124.7292 yllcorner 24.6024 cellsize 0.0417 NODATA_value -9999 """ ############################# #GET RUNLIST AND IMPORT DATA ############################## data=[] os.chdir(ascDIR) runlist=os.listdir(ascDIR) #print runlist for filex in runlist: x=open(filex,'r') for i in xrange(824670): z=x.readline() z=float(z) data.append(z) print filex ############# #RESHAPE DATA ############# data2 = numarray.array(data) data3 = numarray.reshape(data2, 595,1386) data4=numarray.transpose(data3) print len(data4) ########################## #RENAME DATA FOR WRITING ######################### os.chdir(resampleDIR) h=filex.replace( '.', '_' ) outfilename=h+'.txt' ################################### #WRITE NEW DATA WITH HEADER ON TOP ################################### #try: with open(outfilename,'w') as outfile: outfile.write(header) for line in data4: line.replace('[',' ').replace(']',' ') outfile.write(line) --------------------------- Here's the error message: --------------------------- Traceback (most recent call last): File "C:/PDSIwork/PYTHON_SCRIPTS/RESAMPLER2b.py", line 74, in line.replace('[',' ').replace(']', ' ') AttributeError: 'NumArray' object has no attribute 'replace' Thank you, Heather From ryan.arana at gmail.com Thu Mar 11 19:48:35 2010 From: ryan.arana at gmail.com (Ryan Arana) Date: Thu, 11 Mar 2010 10:48:35 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> Message-ID: <7ad394fa1003111048s1b1ff4bdv6526345a79c68254@mail.gmail.com> I'm not familiar with numarray, but google told me that their homepage says that you should be using numpy instead ( http://www.stsci.edu/resources/software_hardware/numarray/numarray.html) including a pdf guide to converting ( http://www.stsci.edu/resources/software_hardware/numarray/numarray2numpy.pdf ). The docs for numarray are still available though, and it looks like numarray has a tostring() method, but I'm not sure what you're wanting your output to look like exactly, but you might want to look at the tolist() method. There's also a tofile() method, but that writes out the array as binary data, and it looks like you're wanting strings. Anyway, all of these methods are documented on this page: http://stsdas.stsci.edu/numarray/numarray-1.5.html/node39.html Hope that helps, good luck! Ryan A On Thu, Mar 11, 2010 at 8:53 AM, wrote: > Hello, > I am new to this group. May I post a code-related question here? If so, > here it goes. > > I am in the process of importing and reading data, reshaping the data to be > a 2D array, adding a header file on top (of the new 2D array), and writing a > new file. I do this in a loop for many files. I'm using python 2.5 since > that is the version distributed with ArcGIS, a software that interfaces with > python 2.5. However, I receive the following error when I attempt to write a > data matrix created with NumArray. I just reviewed my two sources on > Numarray, and I can't figure out why I can't write the data. Below is the > code and below the code is the error message. > > I'm not sure how to write NumArray lines ot a .txt file (see the the last > lines of code). > > CODE STARTS HERE: > > from __future__ import with_statement > > import arcgisscripting, sys, os, string, copy, glob,numarray > > # Create the Geoprocessor Object > gp = arcgisscripting.create() > > > ############## > #DIRECTORIES > ############## > > workDIR = "C:\\PDSIwork" > resampleDIR = workDIR + "\\resample\\" > ascDIR = workDIR + "\\PDSIdata\\" > > ############## > #HEADER > ############## > > header = """\ > ncols 1386 > nrows 595 > xllcorner -124.7292 > yllcorner 24.6024 > cellsize 0.0417 > NODATA_value -9999 > """ > > ############################# > #GET RUNLIST AND IMPORT DATA > ############################## > > data=[] > os.chdir(ascDIR) > runlist=os.listdir(ascDIR) > #print runlist > for filex in runlist: > x=open(filex,'r') > for i in xrange(824670): > z=x.readline() > z=float(z) > data.append(z) > print filex > > ############# > #RESHAPE DATA > ############# > > data2 = numarray.array(data) > data3 = numarray.reshape(data2, 595,1386) > data4=numarray.transpose(data3) > print len(data4) > > ########################## > #RENAME DATA FOR WRITING > ######################### > > os.chdir(resampleDIR) > h=filex.replace( '.', '_' ) > outfilename=h+'.txt' > > ################################### > #WRITE NEW DATA WITH HEADER ON TOP > ################################### > > > #try: > with open(outfilename,'w') as outfile: > outfile.write(header) > for line in data4: > line.replace('[',' ').replace(']',' ') > outfile.write(line) > > > > --------------------------- > Here's the error message: > --------------------------- > > Traceback (most recent call last): File > "C:/PDSIwork/PYTHON_SCRIPTS/RESAMPLER2b.py", line 74, in > line.replace('[',' ').replace(']', ' ') > AttributeError: 'NumArray' object has no attribute 'replace' > > Thank you, > Heather > > _______________________________________________ > Portland mailing list > Portland at python.org > http://mail.python.org/mailman/listinfo/portland > -------------- next part -------------- An HTML attachment was scrubbed... URL: From freyley at gmail.com Thu Mar 11 20:26:02 2010 From: freyley at gmail.com (Jeff Schwaber) Date: Thu, 11 Mar 2010 11:26:02 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> Message-ID: <8db4a1911003111126l2aab162em1fb42960fa435bfd@mail.gmail.com> On Thu, Mar 11, 2010 at 8:53 AM, wrote: > CODE STARTS HERE: > > from __future__ import with_statement > > import arcgisscripting, sys, os, string, copy, glob,numarray > > # Create the Geoprocessor Object > gp = arcgisscripting.create() > > > ############## > #DIRECTORIES > ############## > > workDIR = "C:\\PDSIwork" > resampleDIR = workDIR + "\\resample\\" > ascDIR = workDIR + "\\PDSIdata\\" > > ############## > #HEADER > ############## > > header = """\ > ncols 1386 > nrows 595 > xllcorner -124.7292 > yllcorner 24.6024 > cellsize 0.0417 > NODATA_value -9999 > """ > > ############################# > #GET RUNLIST AND IMPORT DATA > ############################## > > data=[] > os.chdir(ascDIR) > runlist=os.listdir(ascDIR) > #print runlist > for filex in runlist: > x=open(filex,'r') > for i in xrange(824670): > z=x.readline() > z=float(z) > data.append(z) > print filex > > ############# > #RESHAPE DATA > ############# > > data2 = numarray.array(data) > data3 = numarray.reshape(data2, 595,1386) > data4=numarray.transpose(data3) > print len(data4) > > ########################## > #RENAME DATA FOR WRITING > ######################### > > os.chdir(resampleDIR) > h=filex.replace( '.', '_' ) > outfilename=h+'.txt' > > ################################### > #WRITE NEW DATA WITH HEADER ON TOP > ################################### > > > #try: > with open(outfilename,'w') as outfile: > outfile.write(header) > for line in data4: > line.replace('[',' ').replace(']',' ') > outfile.write(line) > > > > --------------------------- > Here's the error message: > --------------------------- > > Traceback (most recent call last): File > "C:/PDSIwork/PYTHON_SCRIPTS/RESAMPLER2b.py", line 74, in > line.replace('[',' ').replace(']', ' ') > AttributeError: 'NumArray' object has no attribute 'replace' > > I'm also not sure how numarrays work, and not sure why you're using them instead of regular lists. What I see, however, is that this code is erroring very near the end on the 'line.replace' method call, and that looks like an attempt to format the data to print it to the file. I think what you're trying to do is you have this array of numbers and you want to print it out as [a,b,c,d] in the file. Is that what line 74 is trying to do? What happens if you comment out line 74 (the line.replace... line)? It should write out a file that doesn't quite look like what you want, but if you were to post a line or two of that, and a line or two of what you want, it might really help clarify what needs to change. Thanks, Jeff -------------- next part -------------- An HTML attachment was scrubbed... URL: From monk at netjunky.com Thu Mar 11 21:18:02 2010 From: monk at netjunky.com (Jonathan Karon) Date: Thu, 11 Mar 2010 12:18:02 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> Message-ID: <000001cac157$f5281240$df7836c0$@com> Heather, > I'm not sure how to write NumArray lines ot a .txt file (see the the > last lines of code). > [snip] > for line in data4: > line.replace('[',' ').replace(']',' ') > outfile.write(line) > > > > --------------------------- > Here's the error message: > --------------------------- > > Traceback (most recent call last): File > "C:/PDSIwork/PYTHON_SCRIPTS/RESAMPLER2b.py", line 74, in > line.replace('[',' ').replace(']', ' ') > AttributeError: 'NumArray' object has no attribute 'replace' > I believe the problem is that you're trying to treat a numarray as if it were the textual representation that python will print to the console. If you issued this command: print data4 You might see this: [4, 3, 2, 5] And you might conclude that if you want your file to contain 4, 3, 2, 5 Then using string.replace() to remove the [] characters gets you there. But it doesn't, because data4 is not a string, and internally it doesn't look anything like [4, 3, 2, 5] I believe your numarray class is array-like, so the following should work... One approach (likely suboptimal but I'm thinking out loud) is to convert the numeric contents of the numarray to an array of strings using map and str, and then joining them with a separator, like this: data5 = map( str, data4 ) result = ", ".join( data5 ) if you do this: print data5 you get this: ['4', '3', '2', '5'] And if you do this: print result you get this: 4, 3, 2, 5 Hope that helps. ~jonathan > -----Original Message----- > From: portland-bounces+monk=netjunky.com at python.org [mailto:portland- > bounces+monk=netjunky.com at python.org] On Behalf Of > lintzh at science.oregonstate.edu > Sent: Thursday, March 11, 2010 8:54 AM > To: portland at python.org > Subject: [portland] Array writing question from landscape ecologist > > Hello, > I am new to this group. May I post a code-related question here? If > so, here it goes. > > I am in the process of importing and reading data, reshaping the data > to be a 2D array, adding a header file on top (of the new 2D array), > and writing a new file. I do this in a loop for many files. I'm using > python 2.5 since that is the version distributed with ArcGIS, a > software that interfaces with python 2.5. However, I receive the > following error when I attempt to write a data matrix created with > NumArray. I just reviewed my two sources on Numarray, and I can't > figure out why I can't write the data. Below is the code and below the > code is the error message. > > CODE STARTS HERE: > > from __future__ import with_statement > > import arcgisscripting, sys, os, string, copy, glob,numarray > > # Create the Geoprocessor Object > gp = arcgisscripting.create() > > > ############## > #DIRECTORIES > ############## > > workDIR = "C:\\PDSIwork" > resampleDIR = workDIR + "\\resample\\" > ascDIR = workDIR + "\\PDSIdata\\" > > ############## > #HEADER > ############## > > header = """\ > ncols 1386 > nrows 595 > xllcorner -124.7292 > yllcorner 24.6024 > cellsize 0.0417 > NODATA_value -9999 > """ > > ############################# > #GET RUNLIST AND IMPORT DATA > ############################## > > data=[] > os.chdir(ascDIR) > runlist=os.listdir(ascDIR) > #print runlist > for filex in runlist: > x=open(filex,'r') > for i in xrange(824670): > z=x.readline() > z=float(z) > data.append(z) > print filex > > ############# > #RESHAPE DATA > ############# > > data2 = numarray.array(data) > data3 = numarray.reshape(data2, 595,1386) > data4=numarray.transpose(data3) > print len(data4) > > ########################## > #RENAME DATA FOR WRITING > ######################### > > os.chdir(resampleDIR) > h=filex.replace( '.', '_' ) > outfilename=h+'.txt' > > ################################### > #WRITE NEW DATA WITH HEADER ON TOP > ################################### > > > #try: > with open(outfilename,'w') as outfile: > outfile.write(header) > for line in data4: > line.replace('[',' ').replace(']',' ') > outfile.write(line) > > > > --------------------------- > Here's the error message: > --------------------------- > > Traceback (most recent call last): File > "C:/PDSIwork/PYTHON_SCRIPTS/RESAMPLER2b.py", line 74, in > line.replace('[',' ').replace(']', ' ') > AttributeError: 'NumArray' object has no attribute 'replace' > > Thank you, > Heather > > _______________________________________________ > Portland mailing list > Portland at python.org > http://mail.python.org/mailman/listinfo/portland From ryan.arana at gmail.com Thu Mar 11 21:47:36 2010 From: ryan.arana at gmail.com (Ryan Arana) Date: Thu, 11 Mar 2010 12:47:36 -0800 Subject: [portland] numarray In-Reply-To: <20100311122028.43154xijt22k1im8@webmail.oregonstate.edu> References: <20100311122028.43154xijt22k1im8@webmail.oregonstate.edu> Message-ID: <7ad394fa1003111247v21575b24n4a7aabd229688024@mail.gmail.com> You can reply to the group (or use reply to all to get both), but direct responses won't go to the rest of the group, so you usually want to avoid those. I think Jonathan's response to the group from a few minutes ago will probably get you what you need. He tells you to use map and str to make an array of strings: data5 = map( str, data4 ) On second thought though, the easiest (read: the quickest, and not necessarily the best) way to make this work (if print data4 works the way I think it does anyway) would be to just change "line" to "line.__str__()" in the line.replace line of code. So it will read "line.__str__().replace('[', ' ').replace(']', ' '). This will give you the string representation of the line object (essentially the same thing as calling "print line"). Ryan A On Thu, Mar 11, 2010 at 12:20 PM, wrote: > Ryan, am I supposed to reply to the user group or just to you? > I'm using NumArray because I need the ArcGISscripting module, which is > written in python 2.5. Numpy is for later versions. > > I tried various permutations of the tolist() and tofile() funciotns you > pointed out but they didn't work. > > Do you know if there a way to write a 2D array to a data file without > NumArray if you are starting with a list of say 10 numbers? > > Or, can you reshape that list (of 0 through 9) to be 2 rows and 5 columns > and write it as such without NumArray? > > Thank you, > Heather > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From freyley at gmail.com Thu Mar 11 22:30:14 2010 From: freyley at gmail.com (Jeff Schwaber) Date: Thu, 11 Mar 2010 13:30:14 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <20100311121247.1548585eohoaqd1c@webmail.oregonstate.edu> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> <8db4a1911003111126l2aab162em1fb42960fa435bfd@mail.gmail.com> <20100311121247.1548585eohoaqd1c@webmail.oregonstate.edu> Message-ID: <8db4a1911003111330i44e8da4dne29e6152d923e32@mail.gmail.com> On Thu, Mar 11, 2010 at 12:12 PM, wrote: > I commented out the lines you suggested and here is the new error:new last > part of code: > > ########################## > #RENAME DATA FOR WRITING > ######################### > os.chdir(resampleDIR) > h=filex.replace( '.', '_' ) > outfilename=h+'.txt' > outfilename2=h+'NA.txt' > outfile2=open(outfilename2,'w') > data4.tolist(outfile2) > > > > ################################### > #WRITE NEW DATA WITH HEADER ON TOP > ################################### > > os.chdir(resampleDIR) > > #try: > with open(outfilename,'w') as outfile: > outfile.write(header) > with open(outfilename2,'r') as datafile: > for line in datafile: > outfile.write(line) > > Error message for that: > > > Traceback (most recent call last): > File "C:\PDSIwork\PYTHON_SCRIPTS\RESAMPLER2.py", line 65, in > data4.tolist(outfile2) > TypeError: tolist() takes exactly 0 arguments (1 given) > Heather, tolist seems to convert the array to a list. So: listdata4 = data4.tolist() I would then expect listdata4 to be a list. Looking at the files, you're trying to take a list [1,2,3,4] and get it into the file as 1,2,3,4 So the way you tried at the beginning could work now, if you convert the list to a string first: listdata4 = data4.tolist() strdata4 = str(listdata4) strdata4 = strdata4.replace('[', '').replace(']','') But it might not be obvious to programmers not expecting that method. You could do a for loop: for element in listdata4: outfile2.write(element) But putting in just the right number of commas is irritating. Still might be the best way: for i,element in enumerate(listdata4): if i: outfile2.write(', ') outfile2.write(element) To explain that code: for i,element in enumerate([1,2,3,4]): print i,e prints out 0 1 1 2 2 3 3 4 And 0 is false, 1-3 are true. I think there were other solutions in other emails, I just know it's hard to figure out what's going on at the beginning. Jeff > Also, I attached the type of file I get (using slightly altered code) if I > don't use NumArray, and I just read in a plain list, it is not the correct > format for GIS to accept. > > Thank you, > Heather > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lintzh at science.oregonstate.edu Thu Mar 11 23:20:56 2010 From: lintzh at science.oregonstate.edu (lintzh at science.oregonstate.edu) Date: Thu, 11 Mar 2010 14:20:56 -0800 Subject: [portland] Solved Re: Array writing question from landscape ecologist In-Reply-To: <8db4a1911003111330i44e8da4dne29e6152d923e32@mail.gmail.com> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> <8db4a1911003111126l2aab162em1fb42960fa435bfd@mail.gmail.com> <20100311121247.1548585eohoaqd1c@webmail.oregonstate.edu> <8db4a1911003111330i44e8da4dne29e6152d923e32@mail.gmail.com> Message-ID: <20100311142056.552221rdky9rvohs@webmail.oregonstate.edu> Okay, thanks! listdata4 = data4.tolist() strdata4 = str(listdata4) strdata4 = strdata4.replace('[','').replace(']','') and then outfile2=open(outfilename2,'w') for element in strdata4: outfile2.write(element) The comma separation and format is okay for this application. The enumerate function looks handy too, thank you again. Cheers, Heather Quoting Jeff Schwaber : > On Thu, Mar 11, 2010 at 12:12 PM, wrote: > >> I commented out the lines you suggested and here is the new error:new last >> part of code: >> >> ########################## >> #RENAME DATA FOR WRITING >> ######################### >> os.chdir(resampleDIR) >> h=filex.replace( '.', '_' ) >> outfilename=h+'.txt' >> outfilename2=h+'NA.txt' >> outfile2=open(outfilename2,'w') >> data4.tolist(outfile2) >> >> >> >> ################################### >> #WRITE NEW DATA WITH HEADER ON TOP >> ################################### >> >> os.chdir(resampleDIR) >> >> #try: >> with open(outfilename,'w') as outfile: >> outfile.write(header) >> with open(outfilename2,'r') as datafile: >> for line in datafile: >> outfile.write(line) >> >> Error message for that: >> >> >> Traceback (most recent call last): >> File "C:\PDSIwork\PYTHON_SCRIPTS\RESAMPLER2.py", line 65, in >> data4.tolist(outfile2) >> TypeError: tolist() takes exactly 0 arguments (1 given) >> > > Heather, > > tolist seems to convert the array to a list. So: > > listdata4 = data4.tolist() > > I would then expect listdata4 to be a list. Looking at the files, you're > trying to take a list > > [1,2,3,4] > > and get it into the file as > > 1,2,3,4 > > So the way you tried at the beginning could work now, if you convert the > list to a string first: > > listdata4 = data4.tolist() > strdata4 = str(listdata4) > strdata4 = strdata4.replace('[', '').replace(']','') > > But it might not be obvious to programmers not expecting that method. > > You could do a for loop: > > for element in listdata4: > outfile2.write(element) > > But putting in just the right number of commas is irritating. Still might be > the best way: > > for i,element in enumerate(listdata4): > if i: > outfile2.write(', ') > outfile2.write(element) > > To explain that code: > > for i,element in enumerate([1,2,3,4]): > print i,e > > prints out > > 0 1 > 1 2 > 2 3 > 3 4 > > And 0 is false, 1-3 are true. > > I think there were other solutions in other emails, I just know it's hard to > figure out what's going on at the beginning. > > Jeff > > >> Also, I attached the type of file I get (using slightly altered code) if I >> don't use NumArray, and I just read in a plain list, it is not the correct >> format for GIS to accept. >> >> Thank you, >> Heather >> >> > From michael at susens-schurter.com Thu Mar 11 23:22:56 2010 From: michael at susens-schurter.com (Michael Schurter) Date: Thu, 11 Mar 2010 14:22:56 -0800 Subject: [portland] Packaging & Patterns @ PyCon 2010 In-Reply-To: <240b71641003101228x1afcd2b0vb7de4bf386a9aa67@mail.gmail.com> References: <240b71641003101228x1afcd2b0vb7de4bf386a9aa67@mail.gmail.com> Message-ID: <240b71641003111422s2f328d4fgd99f884c8b5ab2ae@mail.gmail.com> On Wed, Mar 10, 2010 at 12:28 PM, Michael Schurter wrote: > Like I mentioned in my talk, design patterns aren't exactly blowing up > the blogosphere, so they're probably good talks to watch if you're > interested in such things. ?Unfortunately the "Threading is not a > model" video isn't up yet. Video was just posted: http://pycon.blip.tv/file/3332793 Updated the presentation as well. From ethan at stoneleaf.us Fri Mar 12 21:47:18 2010 From: ethan at stoneleaf.us (Ethan Furman) Date: Fri, 12 Mar 2010 12:47:18 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> Message-ID: <4B9AA856.1000604@stoneleaf.us> lintzh at science.oregonstate.edu wrote: [snippety] > with open(outfilename,'w') as outfile: > outfile.write(header) > for line in data4: > line.replace('[',' ').replace(']',' ') > outfile.write(line) for line in data4: outfile.write(','.join([str(item) for item in line])) ~Ethan~ From michael at susens-schurter.com Fri Mar 12 22:33:16 2010 From: michael at susens-schurter.com (Michael Schurter) Date: Fri, 12 Mar 2010 13:33:16 -0800 Subject: [portland] More from PyCon 2010: Zen of CherryPy Talk Message-ID: <240b71641003121333l20d7fd54k6fe0f915ccbabc1c@mail.gmail.com> If you're looking for a unique talk, I really enjoyed Zen of CherryPy by Robert Brewer: Slides: http://us.pycon.org/2010/conference/schedule/event/56/ Video: http://pycon.blip.tv/file/3332744 It's a little silly perhaps, but I wish every web framework would give similar talks. It's interesting to hear about how design decisions are made by framework maintainers. I'd love to replace some of the "State of X" talks (which feel like the presenter is reading a series of blog posts) with "Zen of X" talks to get a better idea of how "X" arrived at the state it's in today. Anyway, if you want highly technical or information dense talks, this one is definitely not for you. - schmichael Full disclosure: Robert Brewer is a coworker at YouGov. From ethan at stoneleaf.us Sat Mar 13 01:46:02 2010 From: ethan at stoneleaf.us (Ethan Furman) Date: Fri, 12 Mar 2010 16:46:02 -0800 Subject: [portland] numarray In-Reply-To: <7ad394fa1003111247v21575b24n4a7aabd229688024@mail.gmail.com> References: <20100311122028.43154xijt22k1im8@webmail.oregonstate.edu> <7ad394fa1003111247v21575b24n4a7aabd229688024@mail.gmail.com> Message-ID: <4B9AE04A.1060104@stoneleaf.us> Ryan Arana wrote: [snip] > On second thought though, the easiest (read: the quickest, and > not necessarily the best) way to make this work (if print data4 works the > way I think it does anyway) would be to just change "line" to > "line.__str__()" in the line.replace line of code. So it will read > "line.__str__().replace('[', ' ').replace(']', ' '). Why would you use line.__str__() instead of str(line) ? For that matter, instead of using replace, the OP could do str(line)[1:-1] to chop off the beginning and ending brackets. ~Ethan~ From crp at cmc.net Sat Mar 13 02:24:12 2010 From: crp at cmc.net (Ray Parrish) Date: Fri, 12 Mar 2010 17:24:12 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <4B9AA856.1000604@stoneleaf.us> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> <4B9AA856.1000604@stoneleaf.us> Message-ID: <4B9AE93C.2060104@cmc.net> Ethan Furman wrote: > lintzh at science.oregonstate.edu wrote: > > [snippety] > >> with open(outfilename,'w') as outfile: >> outfile.write(header) >> for line in data4: >> line.replace('[',' ').replace(']',' ') >> outfile.write(line) > > for line in data4: > outfile.write(','.join([str(item) for item in line])) > > > ~Ethan~ Hello, Sorry to jump in here, but I am fairly new to Python programming, and the syntax you are using in your answer is intriguing me. I missed the question, as I just joined this group last night. Could you please explain to me what the ','.join() is doing in your write command? I understand the code for the loop above, but it is new to me, so if there is a mistake in it, that the question was about, I would appreciate being informed of what I missed to facilitate my ultimate understanding of the with construct, which I am pretty shaky on so far. Thanks, Ray Parrish -- Linux dpkg Software Report script set.. http://www.rayslinks.com/LinuxdpkgSoftwareReport.html Ray's Links, a variety of links to usefull things, and articles by Ray. http://www.rayslinks.com Writings of "The" Schizophrenic, what it's like to be a schizo, and other things, including my poetry. http://www.writingsoftheschizophrenic.com From jcnaylor at gmail.com Sat Mar 13 04:10:39 2010 From: jcnaylor at gmail.com (John Naylor) Date: Fri, 12 Mar 2010 19:10:39 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <4B9AE93C.2060104@cmc.net> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> <4B9AA856.1000604@stoneleaf.us> <4B9AE93C.2060104@cmc.net> Message-ID: <4d191a531003121910p69f56075w2ac6719ebd81e1ea@mail.gmail.com> On Fri, Mar 12, 2010 at 5:24 PM, Ray Parrish >> ? ? ? ? ?for line in data4: >> ? ? ? ? ? ? ?outfile.write(','.join([str(item) for item in line])) > Could you please explain to me what the ','.join() is doing in your write > command? See here: http://www.python.org/doc/faq/general/#why-is-join-a-string-method-instead-of-a-list-or-tuple-method John From ethan at stoneleaf.us Sat Mar 13 05:12:30 2010 From: ethan at stoneleaf.us (Ethan Furman) Date: Fri, 12 Mar 2010 20:12:30 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <4B9AE93C.2060104@cmc.net> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> <4B9AA856.1000604@stoneleaf.us> <4B9AE93C.2060104@cmc.net> Message-ID: <4B9B10AE.7070905@stoneleaf.us> Ray Parrish wrote: > Ethan Furman wrote: > >> lintzh at science.oregonstate.edu wrote: >> >> [snippety] >> >>> with open(outfilename,'w') as outfile: >>> outfile.write(header) >>> for line in data4: >>> line.replace('[',' ').replace(']',' ') >>> outfile.write(line) >> >> >> for line in data4: >> outfile.write(','.join([str(item) for item in line])) >> >> >> ~Ethan~ > > Hello, > > Sorry to jump in here, but I am fairly new to Python programming, and > the syntax you are using in your answer is intriguing me. I missed the > question, as I just joined this group last night. Welcome to the group! > > Could you please explain to me what the ','.join() is doing in your > write command? > The .join() is a method of string objects. It is used to join together a list of strings into a new string. For example, if you have the list --> example = ['this', 'is', 'a', 'list'] then --> ' '.join(example) 'this is a list' --> '-'.join(example) 'this-is-a-list' --> ' * - * '.join(example) 'this * - * is * - * a * - * list' As you can see, whatever your seperator string is, it gets inserted in between each list element to make the new string. > I understand the code for the loop above, but it is new to me, so if > there is a mistake in it, that the question was about, I would > appreciate being informed of what I missed to facilitate my ultimate > understanding of the with construct, which I am pretty shaky on so far. The mistake in the original code was the line.replace() -- at that point, line is a row from an array which has no replace method, so the code errors out. The fix is to take the the row, convert it into a string, and then go from there. My preference for doing that is usually --> ','.join(['%s' % item for item in line]) as using the % formating gives plenty of flexibility. The 'with' statement is standard in Python 2.6. In 2.5 you have to have the statement 'from __future__ import with_statement' at the top of your module. Basically, it allows you take code like this: --> text_file = open('/some/path/and/file.txt', 'w') --> try: --> for something in a_big_data_object: --> text_file.write(something.process()) --> finally: --> text_file.close() and replace it with code like this: --> with open('/some/path/and/file.txt', 'w') as text_file: --> for something in a_big_data_object: --> text_file.write(something.process()) and when the loop is done, exception or no, text_file gets closed. Of course, the real fun begins when you write your own context managers for use with the 'with' statement. > > Thanks, Ray Parrish You are welcome. ~Ethan~ From crp at cmc.net Sat Mar 13 12:55:52 2010 From: crp at cmc.net (Ray Parrish) Date: Sat, 13 Mar 2010 03:55:52 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <4d191a531003121910p69f56075w2ac6719ebd81e1ea@mail.gmail.com> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> <4B9AA856.1000604@stoneleaf.us> <4B9AE93C.2060104@cmc.net> <4d191a531003121910p69f56075w2ac6719ebd81e1ea@mail.gmail.com> Message-ID: <4B9B7D48.5090407@cmc.net> John Naylor wrote: > On Fri, Mar 12, 2010 at 5:24 PM, Ray Parrish > > >>> for line in data4: >>> outfile.write(','.join([str(item) for item in line])) >>> > > >> Could you please explain to me what the ','.join() is doing in your write >> command? >> > > See here: > > http://www.python.org/doc/faq/general/#why-is-join-a-string-method-instead-of-a-list-or-tuple-method > > John > I know what join does, but why are you appending it's call to a "," string? That's what I don't understand. I've never seen that used before. You have it joined to that string with a dot, unless that was a typo. 8-) Later, Ray Parrish -- Linux dpkg Software Report script set.. http://www.rayslinks.com/LinuxdpkgSoftwareReport.html Ray's Links, a variety of links to usefull things, and articles by Ray. http://www.rayslinks.com Writings of "The" Schizophrenic, what it's like to be a schizo, and other things, including my poetry. http://www.writingsoftheschizophrenic.com From crp at cmc.net Sat Mar 13 12:59:29 2010 From: crp at cmc.net (Ray Parrish) Date: Sat, 13 Mar 2010 03:59:29 -0800 Subject: [portland] Array writing question from landscape ecologist In-Reply-To: <4d191a531003121910p69f56075w2ac6719ebd81e1ea@mail.gmail.com> References: <20100311085349.12044e935xix3wg0@webmail.oregonstate.edu> <4B9AA856.1000604@stoneleaf.us> <4B9AE93C.2060104@cmc.net> <4d191a531003121910p69f56075w2ac6719ebd81e1ea@mail.gmail.com> Message-ID: <4B9B7E21.5070602@cmc.net> John Naylor wrote: > On Fri, Mar 12, 2010 at 5:24 PM, Ray Parrish > > >>> for line in data4: >>> outfile.write(','.join([str(item) for item in line])) >>> > > >> Could you please explain to me what the ','.join() is doing in your write >> command? >> > > See here: > > http://www.python.org/doc/faq/general/#why-is-join-a-string-method-instead-of-a-list-or-tuple-method > > John > > OK, I asked again too quick, after reading a reply from Ethan, I now understand that it is the separator string for the call to join(). The syntax just looked strange to me at first. Later, Ray Parrish -- Linux dpkg Software Report script set.. http://www.rayslinks.com/LinuxdpkgSoftwareReport.html Ray's Links, a variety of links to usefull things, and articles by Ray. http://www.rayslinks.com Writings of "The" Schizophrenic, what it's like to be a schizo, and other things, including my poetry. http://www.writingsoftheschizophrenic.com From jek at discorporate.us Sat Mar 13 18:24:10 2010 From: jek at discorporate.us (jason kirtland) Date: Sat, 13 Mar 2010 09:24:10 -0800 Subject: [portland] More from PyCon 2010: Zen of CherryPy Talk In-Reply-To: <240b71641003121333l20d7fd54k6fe0f915ccbabc1c@mail.gmail.com> References: <240b71641003121333l20d7fd54k6fe0f915ccbabc1c@mail.gmail.com> Message-ID: <28dcaea51003130924o46fe5cbdm865d6b1f4eb52d43@mail.gmail.com> Thanks for the pointer! That was a very good, thought provoking talk, and I'm not even a CherryPy user. Great format too. On Fri, Mar 12, 2010 at 1:33 PM, Michael Schurter wrote: > If you're looking for a unique talk, I really enjoyed Zen of CherryPy > by Robert Brewer: > > Slides: http://us.pycon.org/2010/conference/schedule/event/56/ > Video: http://pycon.blip.tv/file/3332744 > > It's a little silly perhaps, but I wish every web framework would give > similar talks. ?It's interesting to hear about how design decisions > are made by framework maintainers. ?I'd love to replace some of the > "State of X" talks (which feel like the presenter is reading a series > of blog posts) with "Zen of X" talks to get a better idea of how "X" > arrived at the state it's in today. > > Anyway, if you want highly technical or information dense talks, this > one is definitely not for you. > > ?- schmichael > > Full disclosure: Robert Brewer is a coworker at YouGov. > _______________________________________________ > Portland mailing list > Portland at python.org > http://mail.python.org/mailman/listinfo/portland > From ryan.arana at gmail.com Sat Mar 13 18:25:13 2010 From: ryan.arana at gmail.com (Ryan Arana) Date: Sat, 13 Mar 2010 09:25:13 -0800 Subject: [portland] numarray In-Reply-To: <4B9AE04A.1060104@stoneleaf.us> References: <20100311122028.43154xijt22k1im8@webmail.oregonstate.edu> <7ad394fa1003111247v21575b24n4a7aabd229688024@mail.gmail.com> <4B9AE04A.1060104@stoneleaf.us> Message-ID: <7ad394fa1003130925r17dfd5f8w3e6783cececd7475@mail.gmail.com> [snip] Why would you use line.__str__() instead of str(line) ? [/snip] Mostly because I'm a Python Noob, and dir(line) reminded me about its __str__() method. And I did note that this wasn't the best way to do it, just that it'd work. Now I know about str(line) though, so thanks! On Fri, Mar 12, 2010 at 4:46 PM, Ethan Furman wrote: > Ryan Arana wrote: > > [snip] > > > On second thought though, the easiest (read: the quickest, and >> not necessarily the best) way to make this work (if print data4 works the >> way I think it does anyway) would be to just change "line" to >> "line.__str__()" in the line.replace line of code. So it will read >> "line.__str__().replace('[', ' ').replace(']', ' '). >> > > Why would you use line.__str__() instead of str(line) ? For that matter, > instead of using replace, the OP could do > > str(line)[1:-1] > > to chop off the beginning and ending brackets. > > ~Ethan~ > > _______________________________________________ > Portland mailing list > Portland at python.org > http://mail.python.org/mailman/listinfo/portland > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ethan at stoneleaf.us Sat Mar 13 18:47:50 2010 From: ethan at stoneleaf.us (Ethan Furman) Date: Sat, 13 Mar 2010 09:47:50 -0800 Subject: [portland] numarray In-Reply-To: <7ad394fa1003130925r17dfd5f8w3e6783cececd7475@mail.gmail.com> References: <20100311122028.43154xijt22k1im8@webmail.oregonstate.edu> <7ad394fa1003111247v21575b24n4a7aabd229688024@mail.gmail.com> <4B9AE04A.1060104@stoneleaf.us> <7ad394fa1003130925r17dfd5f8w3e6783cececd7475@mail.gmail.com> Message-ID: <4B9BCFC6.30405@stoneleaf.us> Ryan Arana wrote: > [snip] > Why would you use line.__str__() instead of str(line) ? > [/snip] > > Mostly because I'm a Python Noob, and dir(line) reminded me about its > __str__() method. And I did note that this wasn't the best way to do it, > just that it'd work. Now I know about str(line) though, so thanks! That's a good reason! :) And you're welcome! Python is a great language, I hope you like it. ~Ethan~ From jek at discorporate.us Sun Mar 14 16:51:44 2010 From: jek at discorporate.us (jason kirtland) Date: Sun, 14 Mar 2010 07:51:44 -0800 Subject: [portland] Open Source Bridge info Message-ID: <28dcaea51003140851g231daa7t97becc485d5567d@mail.gmail.com> The call for proposals is still open until the 25th of March. It'd be great to see some more Python in there! More details about the conference below, including a registration discount for user group members. ---------- Forwarded message ---------- From: Reid Beels Date: Sat, Mar 13, 2010 at 3:55 PM Subject: [pdx-groups] PDX User Groups + Open Source Bridge Open Source Bridge http://opensourcebridge.org Open Source Bridge is a conference for developers working with open source technologies. It will take place June 1?4, 2010, in Portland, Oregon, with five tracks connecting people across projects, languages and experience to explore how we do our work and why we participate in open source. The conference structure is designed to provide developers with an opportunity to learn from people they might not connect with at other events. Attendees will learn and interact at three days of traditional conference presentations, a day of free-form unconference sessions, and our 24-hour Hacker Lounge. This year we are thrilled to have an excellent downtown location at the Portland Art Museum ( http://pam.org/ ), an extra day packed full of open source goodness, and an on-site 24-hour Hacker Lounge! As a user group member, you can use the coupon code "osbugluv" to register for only $200 when you select either an Early Bird Registration (through April 1st), or a Regular Registration (after April 1st). Learn more and register today at http://opensourcebridge.org/attend/ The conference is run entirely by volunteers who believe in the need for an open source event that focuses on the culture of being an open source citizen, regardless of where in the stack you choose to code. All proceeds from conference registration and sponsorship go directly to the costs of the conference. Our event shares in-depth knowledge about using, creating and contributing to open source as citizens of a greater community. You?ll find relevant information whether you write web apps for the cloud, tinker with operating system internals, create hardware, run a startup, or blog about technology. We're still seeking proposals ? and we've just extended the deadline through March 25th ? so submit yours before time runs out at http://opensourcebridge.org/proposals/ Visit http://opensourcebridge.org/ to learn more about the conference, see our session proposals, and register to attend. Thanks! From jek at discorporate.us Tue Mar 16 18:47:02 2010 From: jek at discorporate.us (jason kirtland) Date: Tue, 16 Mar 2010 10:47:02 -0700 Subject: [portland] Video available for What I Learned at PyCon Last Year Message-ID: <28dcaea51003161047l4b316cdke48523839084a5b5@mail.gmail.com> Hi folks, I've posted the video from my March meeting presentation online. I'm not planning on publishing the slides for this one. Catch it here: http://vimeo.com/10127202 The rest of the meeting was recorded too, but it still needs processing. I'll put it up when it's been converted. Cheers, Jason From erin at surveymonkey.com Tue Mar 16 22:59:41 2010 From: erin at surveymonkey.com (Erin Hoffmann) Date: Tue, 16 Mar 2010 16:59:41 -0500 Subject: [portland] Python Developer Job at SurveyMonkey Message-ID: First, I want to say I had a great time meeting many of you at the meetup last week. Thank you for being such gracious hosts. Like I said last week, we're looking to hire software engineers in our Portland office. If this sounds interesting to you, I'm including the job description here. Please feel free to forward this to anyone you think might be a good fit. Please use the following link to apply: http://www.jobvite.com/j/?aj=oH3fVfwE&s=Python-Portland ================================= SurveyMonkey - Python Developer SurveyMonkey is the world's leading provider of web-based survey solutions, but there's really much more to us than that. ?We're a smart, passionate group of people who work hard to deliver the best survey experience on the planet, period. We do this because we believe everyone deserves easy access to the insights and information they need to make better, more informed decisions. We're also proud to admit that despite our incredible growth over the past 10 years,?we refuse to grow up. We are still small and nimble; everyone plays an impactful role; and when we say good ideas can come from anyone, we mean it.? ? SurveyMonkey is trusted by millions of customers, including 100% of the Fortune 100, as well as other businesses, academic institutions and organizations of all shapes and sizes.?In any given month, we collect more than 25 million survey responses from people in over 190 countries around the world.? ? If this sounds like home to you, and you're ready to make your work matter to millions, we'd love to meet you. The role: Software Engineer Survey Monkey is looking for software engineers that have a passion for solving complex and interesting problems. To handle information at the scale of the web requires ideas from just about every area of computer science, including information retrieval, artificial intelligence, natural language processing, distributed computing, large-scale system design, networking, security, data compression, user interface design, etc. Qualifications: Essential: * Deep understanding of object oriented programming principles and design patterns * In-depth, hands-on knowledge of Python and experience working with the relevant tools * Knowledge of at least one other server-side language, such as Java, C#, or Ruby. * Experience with Django, Pylons, or other Python web frameworks * Excellent communication and people skills; collaborative team orientation * Bachelors or Masters in Computer Science or a related field, or equivalent Ideal:????? . Experience working on consumer-facing web sites . Experience building systems which apply Internet-scale architecture and design patterns . Demonstrated success working in an agile, fast-paced, dynamic environment Please use the following link to apply: http://www.jobvite.com/j/?aj=oH3fVfwE&s=Python-Portland From igal at pragmaticraft.com Fri Mar 26 09:23:37 2010 From: igal at pragmaticraft.com (Igal Koshevoy) Date: Fri, 26 Mar 2010 01:23:37 -0700 Subject: [portland] OT: Open Source Bridge call-for-proposals closes end-of-day on 3/29 Message-ID: <4BAC6F09.4040006@pragmaticraft.com> The Open Source Bridge 2010 proposals deadline has been extended till end-of-day on 3/29. This is totally the final deadline. For reals. If you haven't submitted your talk yet, you've got all weekend to work on it: http://opensourcebridge.org/call-for-proposals/ There are a ton of really great proposals, you should look at them and leave comments to the organizers so they know what talks you want to hear: http://opensourcebridge.org/events/2010/proposals Here are some of the cool Python-related talks we've received so far: - "libcloud: a unified interface into the cloud" by Alex Polvi - "import rdma: Zero-copy networking with RDMA and Python" by Andy Grover - "Introduction to SnapLogic" by Dylan Reinhardt - "Data Visualization For Fun and Profit" by Lennon Day-Reynolds - "GeoDjango" by Chris Pitzer - "Django 102 - past the introduction" by Chris Pitzer - "Using Django on the Djob" by Dylan Reinhardt - "Web Framework Shootout" by Dustin Whittle - "Why the Plone CMS is a good fit for Higher Education and Research" by Nate Aune I'd love to see more! -igal From portland at s.goonmill.org Wed Mar 31 19:37:12 2010 From: portland at s.goonmill.org (Cory Dodt) Date: Wed, 31 Mar 2010 10:37:12 -0700 Subject: [portland] Job: Python Software Developer in Portland Message-ID: Hi folks, I'm the head R&D guy here at Decipher . We're looking for some motivated people to join the team in Portland, which is going to be our main new product development office. Read on ... --- Salary: 45k-75k Primary skills: - Write software code in HTML, CSS, Javascript, and Python, and other languages as required - Able to communicate through writing and provide documentation on features produced. - Test code using automated test tools; provide documentation of tests run. - Use version control to exchange code with other developers - Use bug tracking systems to exchange information with other developers. - Know what STFW means, and how to do it. Also know the meaning of FTW, IRC, and TDD. Job tasks: - Implement software using above programming languages, to specifications provided - Review and set task priorities using the bug tracker - Document changes made in the bug tracker for testers - Document changes made in wiki or other documentation, for end users - Assist other developers in solving problems through written or in-person communication Decipher, Inc. A marketing research service provider, Decipher, Inc. specializes in online survey programming, data collection, and report product efficiencies. Decipher's reporting suite provides users with the ability to automate post field production. This innovative solution is an industry first, resulting in tremendous time savings and labor costs for market researchers while significantly increasing the accuracy and quality of research reporting. The self-motivation and positive energy of the individuals that continually join our team are matched only by the strength and consistency of our company's leadership. For the last ten years, this combination has provided Decipher with solid growth and profitability. We offer attractive compensation packages which include medical and dental coverage and an excellent 401K plan. Please email resumes to marisa at decipherinc.com (you can also reply directly to me, though.) -- _____________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: