The talk materials are here.
Introduction to Python
This hCalendar event brought to you by the hCalendar Creator.
This hCalendar event brought to you by the hCalendar Creator.
\g
and \c
that replace a SELECT statement's ending semicolon. When a query ends with a special terminator, the output is specially formatted: \c
gives CSV, \h
gives HTML, \t
gives transposed (columns as rows / rows as columns), etc. Type help terminators
for details.hg clone http://hg.assembla.com/ponyshow ponyshow
catherine@Elli:~/docs$ wget --recursive --convert-links \
> --page-requisites --no-parent \
> http://www.postgresql.org/docs/8.3/interactive/index.html
catherine@Elli:~/docs$ wget -rkp -np \
> http://www.postgresql.org/docs/8.3/interactive/index.html
--convert-links
adjusts all the internal hyperlinks so they'll work perfectly in your downloaded version.--no-parent
, wget would find the link to "Home" and download everything under that.--page-requisites
makes sure you get the images, stylesheets, etc. for your pages to work properly.0.3Rating: 4 of 5
We've all got a drawer full of geeky T-shirts. But what about a geeky skirt? Thanks to XKCD, it finally exists!
The text is regular expressions syntax reminders, oriented upside down so you can read it while you sit. Simple stuff, like:
Must escape: \|()[{^$*+?
^ start of string
$ end of string
[^abc] ^ means not
\n Newline
{N,M} N to MThe font is large, comfortable to read while sitting. I wish the lines weren't double-spaced - I think 1.5 spacing would make the text look more like a trendy decorative hem accent.
The sizes run big. I wear 10's or 12's, ordered the medium, and it is more than big enough, even without the stretchiness. It's a soft, stretchy fabric, stretchy enough to do Rockettes high-kicks if that's what you do (but programming pays better).
The hem falls a bit above the knee, but not at all "you are not leaving the house like that young lady" high.
I'm a little disappointed in the craftsmanship, to tell the truth, for the $35. It kind of looks like a skirt made by T-shirt makers - it's two simple trapezoidal panels sewn together. The text leaves a fairly broad gap at each edge of the panels, making it really obvious where the side seams are. (I guess that could be considered a fashion choice, but I prefer hiding the seams.) The print is that slightly raised plasticky print, and I have zero confidence in its longevity. I will obviously not only have to launder it gently as advised, but also refrain from wearing it every single day. Save it for geeky occasions where it will be properly appreciated.
Nonetheless, it is far and away my favorite skirt, because it is far and away the winner of the "geekiest skirt ever" contest, and that trumps everything in my book.
This hReview brought to you by the hReview Creator.
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
sudo apt-get install python-dev python-setuptools
sudo -E easy_install cx_Oracle
cannot locate an Oracle software installationerror.
$ python
>>> import cx_Oracle
>>> cnxn = cx_Oracle.connect('system/mysystempassword@xe')
>>> crsr = cnxn.cursor()
>>> crsr.execute('SELECT * FROM dual')
>
to redirect output and omit a destination filename, your output will go into the paste buffer. Then you can Ctrl-V and paste it into any window.|
) just like in Unix, to redirect output into any shell command.sys.exit()
s to kick you back to the shell. That was my excuse for not using it earlier, but once I decided to fix it, a little subclassing took care of it.
@options([make_option('-k', '--ketchup', action="store_true", help="Ketchup on that?"),
[make_option('-r', '--relish', help="relish (sweet or dill)")])
def do_hotdog(self, arg, opts):
if opts.relish:
self.stdout.write('One dog with %s relish\n' % opts.relish)
if opts.ketchup:
self.stdout.write('Hope you're not wearing white!\n')
Steve Holden: "I'm not surprised food is expensive. You send them perfectly good tea, and they throw it in the harbor."
Itamar Shtull-Trauring: "Can't we refactor the code a bit more?"
Alex Martelli: "No."
>>> print Mixed('-1 1/2') + 2
1/2
>>> print Mixed('3/4') + Mixed('1/2')
1 1/4
>>> print Mixed('-1-1/4') * 2
-2 1/2
easy_install mixed
to get it.hg clone http://hg.assembla.com/mixed_python mixed_python
gets you a copy of the repository.
Into the Dayta-b'hase: A First-level Introductory AdventureApril 19th, 2:00Relational database technology underpins modern business, finance, engineering, and a lot of other boring stuff. You know you ought to learn something about databases, but how can you stay awake long enough? Come see database software used for something that actually matters: D&D characters. We'll set up a postgreSQL database, demonstrate all the fundamentals of relational databases, and advance Gruk the Unbathed to 4th level.
26 Senior Experts from: OSD, BTA, DHS, DON/CIO, AFAE, SPAWAR, FCS-BCT PO, HPCPO NGA, NASA/JPL, PEO-STI, USACE, Hill AFB, BAE, Boeing, Northrop Grumman, Lockheed Martin, Unisys, IBM, CSC, Rockwell Collins, Sun, Booz Allen Hamilton, Autodesk, SEI, and MercuryWhat's wrong with this list? Not one representative of any open-source project! With a speakers' list like that, I don't know if it's even worth pilfering a hotel catering uniform and a pitcher of ice water to go eavesdrop on the talks.
$ hg clone src target
abort: destination 'target' already exists
--overwrite
flag for hg clone
, or anything like it, saying "go ahead and clone into that directory even though it already exists." Perhaps it's simply because VC programmers are software developers, used to working with a clean slate rather than configuring an existing directory structure? Anyway, I made up a script workaround.hg clone $1 $1_clone_temp
cp -r $1_clone_temp/* $2/
rm -r $1_clone_temp
hg clone %1 %1_clone_temp
xcopy /e /s /h /g /y %1_clone_temp %2
rmdir /s /q %1_clone_temp
ifconfig
, it reports eth1 ... inet addr:192.168.1.45. For other machines connected to the same router, that IP address is as usable as anything on the internet. If Oracle and Apache are running on the machine, I can use 192.168.1.45:1521 and 192.168.1.45:80 to log into the database or view webpages from other machines. If I go into my router and set Port Forwarding to ship incoming traffic to 192.168.1.45, then those become visible to the wider internet... but, to access them within the wireless network, I don't even need to do that. (In fact, I don't see any way I could turn it off even if I wanted to.)CODE Hacker for the World,
Programming Tool Maker, Stacker of w00t,
Player with Rails and the Nation's Error Handler,
SourceForge, Cheese Shop, CPAN,
City of the Big Dynamic Language Conferences:...
from cmd import Cmd
to from cmd2 import Cmd
, and the new functionality is ready to go. See a usage example of cmd2.I promise not to make a habit of posting about xkcd
=============
Bruce Eckel: "Why I Love Python"
=============
Bruce Eckel has given hundreds of presentations throughout the world, published over 150 articles in numerous magazines, was a founding member of the ANSI/ISO C++ committee and speaks regularly at conferences. He provides public and private seminars & design consulting in OO Design, Python, Java and C++.
============
Leah Culver: "Getting Started with Django"
============
Leah Culver founded Pownce with her friends Kevin Rose and Daniel Burka as a way of sending messages, links, files and events to each other. Leah is the lead developer for the site, which has become one of the largest sites using the Django framework. Leah loves the challenge of developing a web application from scratch and writes about her experiences as a software developer at leahculver.com.
============
Kevin Dangoor: "Overview of the Dojo JavaScript Toolkit"
============
Kevin is the product manager at SitePen and the founder of the TurboGears open source web application framework. He has held positions in software development, management and sales engineering. He has previously spoken at CodeMash, PyCon, EuroPython and GLSEC and is the co-author of the book "Rapid Web Applications with TurboGears".
sudo apt-get install libc6-dev
In file included from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h:7,... when you try to install cx_Oracle.
from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:11,
from /usr/include/python2.5/Python.h:18,
from cx_Oracle.c:6:
/usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:122:61: error: limits.h: No such file or directory
In file included from cx_Oracle.c:6:
/usr/include/python2.5/Python.h:32:19: error: stdio.h: No such file or directory
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
error: cannot locate an Oracle software installationor
ImportError:libclntsh.so.10.1:cannot open shared object file: No such file or directory
sudo python setup.py install
error in cx_Oracle setup command: Oracle home does not refer to an 8i, 9i, 10g or 11g installationbecause setup.py doesn't account for XE. You need to hack it.
patch setup.py useXE.diff
sudo python setup.py install
sudo su - oracle
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
lsnrctl startexit
I mistakenly deleted the following comment:
I installed via easy_install, but there was a bit of a trick. After setting the environment variables I installed using the following command:
sudo -E easy_install cx_oracle The "-E" option to sudo causes all your environment variables to be passed to easy_install