Just wanted to share experiences using PyDev plugin within
Eclipse, with Python 3...
I've not been unable to get pickle to work properly, with the
error confirmed by others.
Sometimes (in at least one case) an error marker will
indicate a module name cannot be resolved, and yet it
imports and works anyway.
Getting proper syntax-coloring around triple-quotes seems
problematic, especially when the first line is empty e.g.
"""
comments go here
"""
However, I'm able to get the coloring …
[View More]situation to resolve
by moving text around later...
On the whole, Eclipse is pretty capable in supplying an
interactive shell, lots of different windows. There's even a
terminal window option if you want to do ssh into a
server right from within Eclipse.
As the above difficulties get ironed out, I think Eclipse will
continue to serve as a development platform for Pythonistas.
It's not the only option, given Visual Studio, Wing IDE etc.,
but it's one of the better free ones (eMacs, vim -- these
do everything too, in the hands of experienced users,
Notepad not so much).
[ I remember how Jason Cunliffe used to post a lot about
Leo to this archive. There's a school of thought that's more
into "literary programming" as I'd call it, where comments
might be relatively copious, with more hypertext relationships.
You get these fancy markups... ]
Some of you may be familiar with the O'Reilly School of
Technology (OST) and its use of Eclipse as a front end to
accredited courses in the many languages, databases
and so on.
Rather than use the free-standing Eclipse, which is an option,
you get a customized student version called Ellipse that
runs of their servers in a remote desktop session.
This seems a creative approach and gets a next generation
of developer prepared with one of the state of the art environments,
using some of the best industry standard tools (e.g. Python
and MySQL).
Kirby
PS: in other news, I've continued to focus on the plight of the
lone FoxPro coder (which was me for many years, but not just
me) and possible migration paths for legacy applications.
FoxPro is a dialect of xBase nutured by Microsoft over the
decades. It competes with their other products and too many
people use it for free (not the original business model, unlike
Java's) so the plan is to discontinue support for it by 2015
I think it is.
This decision is having lots of boat rocking-ripple effects, It's
not automatic that the .NET platform is where to go next,
certainly not with VB necessarily. New developers don't
want to waste time learning a proprietary dead language
that might be hard to come by down the road, so there's
increasing pressure to migrate those legacy FoxPro apps
that still do valuable work.
I haven't been tracking closely and don't know if MSFT is
taking IronPython that seriously, in terms of marketing and
outreach.
Server side apps still seem to be gaining over thick clients in
many institutional settings, but again, I'm not posing as
having a lot of overview here. Gotta read all those IT mags
I guess, but who has the time? Pointers to true story
use cases welcome.
[View Less]
I'm becoming more aware of the fact that one
reason universities need to charge those
tuitions is to pay licensing fees to private
vendors who provide them with such basic
services as the ability to store and schedule
classes, record student enrollment and grades,
record instructors etc. The catalog needs to
be published on-line. There might be a lot
of extended education options, e.g. non-credit
courses open to anyone willing to sign up.
Some of these proprietary programs are pretty
old, …
[View More]lack features departments need, and so
various intermediating applications grow up
around the edges to fill in the gaps.
Maybe the big dino system doesn't record
student evaluations for example, or keep track
of which courses are in the pipeline, but still
haven't found a place in the sun.
One would think that universities in particular,
which pride themselves on having advanced
knowledge of state of the art skills, would band
together in various consortia to pool resources
and "eat their own dog food" as it were. A
school that teaches medicine actually practices
medicine (the "teaching hospital"). Shouldn't
schools that teach computer science and
business administration actually walk the talk
in some way? Maybe many of them do, I don't
actually know.
To outsource something so core to one's business,
to pay licensing fees while not having the power
to make design modifications, just seems more
than a tad on the ironic side. It's like a bank
outsourcing everything it does around money.
I realize not every college or university wants to
reinvent the wheel around something so basic,
but I do wonder to what extent there's some
open source sharing going on, around these core
utilities. Are universities so competitive they
won't share? So does that mean they all pay
the same licensing fees to use the same
private vendor offerings?
I remember Zope / Plone and SchoolTool.
http://en.wikipedia.org/wiki/SchoolTool
Is there something even more comprehensive
that's out there, suitable for college and university
use? Does it come in modularized components?
Is it an over-the-web database?
Or do few if any universities really eat their own
dog food?
Like I say, I'm new to this business, just trying
to get oriented.
Kirby
[View Less]
I recently completed the 2nd day of this summer camp blitz
for TAG (talented and gifted) students, a category invented
by the district, and I'm not sure how it applies, i.e. this private
NGO has no obligation to check a district database for a
tag flag or anything, praise Allah.
Anyway, all the students are bright, astute, engaged and
interested. Programming is hard fun and takes concentration.
One is lucky if able to muster it. Takes a safe environment
and calories to burn. We're in a …
[View More]campus of the highly privilege
where no expense is spared, and every kid has access to
a state of the art Apple. I've got a projector and screen.
We all have Internet.
This is my first time to teach an all-Apple class and I have
to confirm Chairman Steve's impressing the IDLE is
languishing here. Guido gave Python a tremendous boost,
propelled it into high visibility with an interactive Tk shell
and editor, but that infrastructure has not kept pace. The
scroll bar tends to not work. Resizing windows as they'll
get to large to fit the screen, so grabbing the lower right
resize control requires changing screen resolution through
the Finder control panel.
That being said, it's pretty amazing to have such a smooth
language co-functioning with VPython, such that we're
immediately able to get colorfun.py going, which the
students then tweak. I'm using the 'heads first' or 'dive
into' approach of supplying plenty of scaffolding, getting
the results first, then going back over the syntax and
structure of the language with an eye towards making
small modifications. We've spent a large percentage of
the last few hours tweaking color, learning about what's
canned (pre-named) and how to define your own RGB
values.
Today, using the projector, I introduced the random module,
which I think is one of the first to be useful after visual itself.
random's randint and choice are two of the most practical.
Our code looks like this:
from visual import *
from random import randint
def galaxy( n ):
for i in range(n):
x = randint(-100, 100)
y = randint(-100, 100)
z = randint(-100, 100)
r = randint(10)
sphere( pos = (x, y, z), radius = r, color = color.red )
return
Then a next modification, after playing with choice and randint
in the shell a little more, and talking about lists, would be:
from visual import *
from random import randint, choice
colors = [ color.red, color.green, color.blue, color.yellow, color.orange ]
def galaxy( n ):
for i in range(n):
x = randint(-100, 100)
y = randint(-100, 100)
z = randint(-100, 100)
r = randint(10)
c = choice( colors )
sphere( pos = (x, y, z), radius = r, color = c )
return
Once this code is working on each workstation (I go around to help catch
syntax errors, usually a missing comma or paren), then students might
vary the parameters, add more colors for example.
Earlier, when introducing functions more generally, I told the story
of the guy who impressed the king for a modest favor, were he
successful in a mission (the King put out an RFP and this looked
like the lowest bide): put a grain of rice on the first square of the
chess board, double it for the next, and the next, and so forth.
"Can't be that much rice" thought the King.
def reward( ):
therice = 0
for x in range(64):
therice = therice + 2**x
return therice
Wow, all the rice in the world and then some, right? Note that 2**0 == 1
and that's what goes on the first square, so we only get up to 2**63 on the
last square (with the rice being cumulative).
I continue to introduce ( ): in the function def as almost like an emoticon,
like two eyes with an open mouth. Turn that mouth sideways to make it
look more like a mouth, and remember that's where to put your arguments.
This is easy to remember, as people use their mouths for arguing all
the time.
My students range in age from roughly 14-17. My Photostream has a
few pictures from the current venue, mixed in with other topical photos
(a Flickr set):
http://www.flickr.com/photos/17157315@N00/sets/72157622961425831/
Kirby
[View Less]