Re: Python code in presentations

2014-10-01 Thread Wolfgang Keller
> Right now the method I'm using is write the code in notepad++, use a
> plugin (NppExport) to copy paste code into powerpoint. After using it
> a little bit, I'm really not satisfied with this method, it's
> expensive and all this copy paste stuff is driving me crazy. Not to
> mention that the syntax highlight from notepads renders like crap in
> powerpoint.
> 
> I wonder if some people in this list who have successfully presented
> python code have some tips about doing the proper way. Ned's
> presentations for pycons are to me one example of successful code
> presentation:
>   - the layout is simple
>   - the code and code output are clearly identified
>   - a line of code can be highlighted while presenting

LyX and Beamer.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: very lightweight gui for win32 + python 3.4

2014-09-14 Thread Wolfgang Keller
> wxPython and Qt are well known but they are not exactly lightweight.

wxPython not lightweight?

It's just a wrapper of win32.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-13 Thread Wolfgang Keller
> >> > Because on such operating systems, each and every application is
> >> > an entirely self-contained package that doesn't need any
> >> > "packages" or "installers" to use it.
> >
> >> For people who have never used such a system it's probably
> >> difficult to see the  advantages.
> >
> > That's the whole point.
> >
> > The problem is that the ones who "decide" (well, they pretend to,
> > but actually can't, because they don't know the alternatives) are
> > always people who are "not even clueless".
> 
> Ha!  I love it.  I presume that's an allusion to that-other-Wolfgang's
> apocryphal "not even wrong" comment.  :)

Exactly.

And it's also an allusion to that statement that "knowledge means to
know what you don't know".

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-13 Thread Wolfgang Keller
> >> By the way, you keep replying to people, and quoting them, but
> >> deleting their name. Please leave the attribution in place, so we
> >> know who you are replying to.
> > 
> > That's what the "References:"-Header is there for.
> 
> The References header is for the benefit of news and mail clients,
> not human readers.

Any half-decent news client will happily display a thread tree for you.
Based on that References:-Header.

> It is rude to deliberately refuse to give attributes:

> So please stop being rude, and follow the convention of both email and
> usenet (as well as broader society) to give attribution to those you
> quote.

I've been using mail and news for over 20 years now, you definitely
don't need to teach me anything.

End of subthread.

Good Bye,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-11 Thread Wolfgang Keller
> >> > Thankfully, all actually user-friendly operating systems (MacOS,
> >> > TOS, RiscOS, probably AmigaOS, MacOS X) spare(d) their users the
> >> > bottomless cesspit of "package management" and/or "installers".
> >> >
> >> > Because on such operating systems, each and every application is
> >> > an entirely self-contained package that doesn't need any
> >> > "packages" or "installers" to use it.
> >>
> >> You mean everyone has to reinvent the proverbial wheel AND worry
> >> about dependency collisions? Yeah, that's a heavenly thought.
> >
> > You should get a clue in stead of just fantasizing up assumptions
> > based on ignorance.
> 
> I've worked with a number of operating systems, a number of dependency
> management systems, and a number of absences of such systems. I stand
> by my earlier statements in this thread, 

Then you seem to have a problem with elementary logical reasoning.

Your above statement (about "re-inventing the wheel AND worrying about
dependency collisions") is totally illogical nonsense.

Just one issue: MacOS application have always been far more compact
(both on disk and in RAM) than comparable Windows or Unix counterparts.
"Despite" the fact that they where GUI applications since MacOS 1.0. No
one has to "re-invent" any more wheels to develop a MacOS X application
than he has to do for a Windows or Linux application. In fact, usually,
there are less wheels to re-invent for MacOS X.

Next: The self-contained nature of applications is obviously exactly
what *eliminates* dependency collisions. 

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-11 Thread Wolfgang Keller
> > Linux was made by geeks who didn't have a clue of ergonomics for
> > screenworkers and didn't care to get one.
> 
> I can only repeat what you said earlier:
> 
> "You should get a clue in stead [sic] of just fantasizing up
> assumptions based on ignorance."
> 
> I daresay that Linus Torvalds spends more time in front of a computer
> screen than most 9 to 5 "screenworkers".

He's a developer, not a usual screenworker.
 
> By the way, you keep replying to people, and quoting them, but
> deleting their name. Please leave the attribution in place, so we
> know who you are replying to.

That's what the "References:"-Header is there for.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-06 Thread Wolfgang Keller
> I've worked with both.  Quite honestly, I really wish that other
> operating systems had gone down this route. MS didn't possibly to make
> it harder to steal software, 

>From the perspective of the computer-literate, proficient
screenworker, MS always got and gets everything completely wrong.

> and Unix...well, *nix has the concept of the "distribution" that will
> manage all of this for you.  We all know the problems that this
> causes.

Linux was made by geeks who didn't have a clue of ergonomics for
screenworkers and didn't care to get one.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-06 Thread Wolfgang Keller
> > Because on such operating systems, each and every application is an
> > entirely self-contained package that doesn't need any "packages" or
> > "installers" to use it.

> For people who have never used such a system it's probably difficult
> to see the  advantages.

That's the whole point.

The problem is that the ones who "decide" (well, they pretend to, but
actually can't, because they don't know the alternatives) are always
people who are "not even clueless".

I.e. they are totally clueless, *and* psychotically self-convinced of
their omnicompetence.

Sincerely,

Wolfgang
 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-06 Thread Wolfgang Keller
> > Thankfully, all actually user-friendly operating systems (MacOS,
> > TOS, RiscOS, probably AmigaOS, MacOS X) spare(d) their users the
> > bottomless cesspit of "package management" and/or "installers".
> >
> > Because on such operating systems, each and every application is an
> > entirely self-contained package that doesn't need any "packages" or
> > "installers" to use it.
> 
> You mean everyone has to reinvent the proverbial wheel AND worry about
> dependency collisions? Yeah, that's a heavenly thought.

You should get a clue in stead of just fantasizing up assumptions based
on ignorance.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and IDEs [was Re: Python 3 is killing Python]

2014-08-01 Thread Wolfgang Keller
> Windows and OS X users, sadly, miss out on the power of an integrated 
> package manager.

Thankfully, all actually user-friendly operating systems (MacOS,
TOS, RiscOS, probably AmigaOS, MacOS X) spare(d) their users the
bottomless cesspit of "package management" and/or "installers".

Because on such operating systems, each and every application is an
entirely self-contained package that doesn't need any "packages" or
"installers" to use it.
 
Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Create flowcharts from Python

2014-06-19 Thread Wolfgang Keller
> Is there a library for Python that can easily create flowcharts using
> a simple API?

Graphviz (->TikZ->LaTeX->PDF)

> But the users want to see this as a  visual flowchart too. It would
> be the best to have it automatically arranged; or at least open it an
> editor so they can move the nodes and see how they are connected.

I think Dia and yEd can im-/export dot (Graphviz format) and/or TikZ.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Is MVC Design Pattern good enough?

2014-06-09 Thread Wolfgang Keller
> > The most intuitive approach to database applications would be:
> >
> > http://en.wikipedia.org/wiki/Naked_objects
> > http://www.nakedobjects.org/
> >
> > [...]
> >
> > Unfortunately, there's no Python framework (yet?) that implements
> > this design.
> 
> It could be a blessing in disguise. Too often people encumber simple
> concepts with frameworks.

The point is that frameworks (for this kind of application) (should)
allow people who are not computer scientists but domain specialists to
implement useful applications. 

Which makes sense since especially in the domain of typical "business"
applications, since it's much easier to teach a reasonably
computer-literate domain specialist a programming language that's
user-friendly such as Python and a user-friendly framework, instead of
teaching a software developer the knowledge of the application domain.

So the computer scientist(s) designs and implement the framework, and
the domain specialist(s) implements the domain-specific application
logic.

The "naked objects" concept makes this especially intuitive since all
the domain-specific application logic is in the "business objects". And
since you don't need to implement anything else besides these to get a
functional application.

Unfortunately, the developer of the naked objects framework has chosen a
language that is pretty bad in terms of "usability" for domain
specialists; Java. And it sucks for GUIs, too. C# isn't much better,
expecially since it's limited to a pathologic non-operating system.

Python could demonstrate the interest of this concept much better than
the existing Java and C# implementations, not only because it's much
better suited to non-computer scientists, but also because it's more
cross-platform than C# and better for GUIs than Java.

Another important aspect of "naked objects" is about reducing the
amount of code that needs to get written to implement a given
functionality. Python is definitely more efficient here than Java and
C#.

In short; Python would be the perfect choice of implementation language
for such a ("naked objects") framework.

Unfortunately with all that hype about "web applications", there is
little focus today on (frameworks for) applications that are actually
useful for end-users who have to get real work done with the computer. 

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Is MVC Design Pattern good enough?

2014-06-02 Thread Wolfgang Keller
> I had developed many database business applications using MVC design
> pattern with different programming languages like PHP, Java EE,
> VB.NET, C#, VB 6.0, VBA, etc. All of them defined the Model layer as
> the data management of the application domain and business logic
> implementation. I ready don’t understand what the data has to do with
> applications business logic. Nothing? Can we implement the
> application business logic in another layer? Yes or no? Why? Explain?

The most intuitive approach to database applications would be:

http://en.wikipedia.org/wiki/Naked_objects
http://www.nakedobjects.org/

The original "Inventor" of MVC once declared that this concept matches
his intentions a lot better than the very vast majority of MVC
implementations.

Unfortunately, there's no Python framework (yet?) that implements this
design.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: IDE for python

2014-05-28 Thread Wolfgang Keller
> With python I got IDLE, but I am not very comfortable with this.
> 
> Please suggest, if we have any free ide for python development.

There are a lot of IDEs for Python.

One classic is WingIDE. Available for free is a "101" edition. Runs on
all major operating systems. Implemented itself in Python.

An editor that's completely implemented in Python is Editra. With
plugins you can turn it into an "almost IDE" as well.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python and Math

2014-05-18 Thread Wolfgang Keller
> Does Python have good mathematical capabilities? 

SAGE: http://www.sagemath.org/

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: [OFF-TOPIC] How do I find a mentor when no one I work with knows what they are doing?

2014-04-08 Thread Wolfgang Keller
> Things I'm interested include contributing to both Python and Django,
> database design and data modeling,

Django is made by people who definitely don't know what they're doing.

https://code.djangoproject.com/wiki/MultipleColumnPrimaryKeys

Open the index to any half-decent database design textbook, look for
the term "overlapping foreign keys" and learn why surrogate keys are a
non-starter.

One answer to the subject line would be: Learn to judge the competence
of people by asking a few "litmus" questions. The above mentioned issue
is one personal "litmus" question I ask anyone who pretends to have a
clue of database design and database applications.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Examples of modern GUI python programms

2014-04-01 Thread Wolfgang Keller
> Id like to ask.. do you know any modern looking GUI examples of
> windows software written in python? Something like this maybe:
> http://techreport.com/r.x/asus-x79deluxe/software-oc.jpg (or
> hopefully something like this android look:
> http://chromloop.com/wp-content/uploads/2013/07/Skype-4.0-Android-screenshot.jpg).

These are textbook examples of totally anti-ergonomic gadgetcrap for
gamekiddies.

Judging from the example screenshots on their website, Kivy might be
adequate.

Sincerely,

Wolfgang

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: python first project

2014-01-11 Thread Wolfgang Keller
> i am programming a system that will be giving details about finance,
> purchase(bills pending bills and paid bill), employees record and
> salary details, warehouse records.
> 
> That is just all i intend to do this all on one GUI application
> window and to make it to be able to keep records for all the
> transaction which has been done inputted.  

If "keeping records" implies significant amounts of data, then this is
a typical case of a database application.

There are a couple of Python frameworks for this kind of application:

using wxPython:
Dabo  http://www.dabodev.com (already mentioned)
Defis http://sourceforge.net/projects/defis/ (Russian only)
GNUe  http://www.gnuenterprise.org/

using PyQt:
Pypapihttps://pypi.python.org/pypi/PyPaPi/0.8
Camelot   http://www.python-camelot.com/
Qtalchemy http://www.qtalchemy.org/
Thyme http://clocksoft.co.uk/downloads/
Kexi  http://www.kexi-project.org/

using PyGTK:
SQLkithttp://sqlkit.argolinux.org/
Kiwi  http://www.async.com.br/projects/kiwi/
Glom  http://www.glom.org

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Using multiple ORMs? - And SQLalchemy vs Pony vs Peewee vs stdnet vs …

2014-01-05 Thread Wolfgang Keller
> Thanks for all suggestions,

Two essential criteria:

If an ORM only allows 1:1 mapping between classes and tables à la
"active record", then it's entirely pointless.

And if an ORM allows only surrogate keys, then its developers don't
have a clue of databases or they don't give a darn. Or both.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-23 Thread Wolfgang Keller
> > On an actual operating system, the attitude of the developers (do
> > they actually care or just don't give a darn) is *the* critical
> > issue for end-user productivity. If a developer makes a statement
> > such as of "just get a faster computer" or "just get more RAM",
> > then (s)he probably doesn't give darn. C++ applications, just like
> > Java applications, tend to leak horrible amounts of memory these
> > days, just because the vendors/developers don't care.
> 
> I'll note that Python core developers do care about memory leaks.

And that's a really good thing.

But unfortunately, these days, it's rather the exception.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-19 Thread Wolfgang Keller
> > With Windows systems, I waste something like 90% of my work time
> > waiting for that system to stop "Not Responding".
> > 
> > And no, it's not a matter of hardware.
> 
> Something is wrong then.

You bet.

> Windows has its issues, and it does slow down over time as cruft in
> the system accumulates. And Windows XP is getting slower and slower
> due to a bug in the automatic updates service, but in general, but
> your experience with Windows is not normal.

With Windows it *is* "normal". An experienced software developer
once even explained the reason to me. When a single process on Windows
does I/O, then the system essentially falls back to "single tasking".
Or (non-)"cooperative multitasking" at best, depending on how
dissocial the developer of that process is.

>  I managed hundreds of Windows workstations in my previous
> life and I did not see this occur with any regularity.

Well, because you only "managed" those computers, you never tried to
accomplish actual *work* with them.

> So something is wrong with your setup. Maybe its time for a
> re-install?  Virus or malware? 

Windows itself is the problem.

> Or maybe you need to upgrade to Windows 7?

Won't change anything.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Experiences/guidance on teaching Python as a first programming language

2013-12-19 Thread Wolfgang Keller
> > I've never heard C syntax reviled quite so intensely.  What syntax
> > do you like, out of curiosity?
> 
> Pascal, Python, if written by someone who uses semantic identifiers
> and avoids to use C(++)/Java-isms. I've seen Eiffel as well (without
> understanding it) and it didn't look ridiculous to me.

Nor did a recent dialect of Cobol (since someone else mentioned it)
horrify me at first sight to the point all those C-derivatives do. I
also get to use SQL a bit (instead of those "query builders" that I
consider as garbage), although that's just for databases of course.

Verbosity is definitely A Good Thing.

In fact, thinking of it, a really good language should imho *require*
verbosity (how about a *minimum* length - or maybe even a
dictionary-based sanity check - for identifiers?), since that already
keeps all those lazy morons away who think that "shortcuts are cool".

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-19 Thread Wolfgang Keller
> > All Java GUI frameworks I know of are ridiculous garbage.
> > 
> > Not only that Java per se is obscenely fat (and unresponsive), but
> > the GUI frameworks leak like bottomless barrels and the look and
> > feel is so hideous that I would say from personal experience with
> > numerous Java applications that there is little that's worse for
> > user productivity than a Java application running on Windows. Well,
> > a "web application" might top it.
> 
> Pray tell is there anything that is not ridiculous garbage or is your
> computer so hopelessly broken that everything fails on it?  You've
> already dissed on Windows, Firefox, the web, Java.

If Windows, Firefox, "the web" and Java are "everything" that you know
of in terms of IT, then I pity those poor people who have to succumb
to your "competence".

> Surely Python must suck also because it's slow and interpreted.

I don't draw skewed parallels.

Instead I base my judgments on my personal experience from those
decades of screenwork for various tasks with various applications on
various systems, correlated with the experience of all those
knowledgeable people I've learned to know during that time, as well as
logical deductive thinking.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Experiences/guidance on teaching Python as a first programming language

2013-12-19 Thread Wolfgang Keller
> I find it frustrating that Pythonistas shy away from regex as much as 
> they do.

I find regular expression syntax frustrating. >;->

As long as I have the choice, I still prefer syntax like e.g.
VerbalExpressions. That's made for actual humans like me.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: request for guidance

2013-12-19 Thread Wolfgang Keller
> I am a novice who is really interested in contributing to Python
> projects. How and where do I begin?

You're looking for work?

Try:

https://wiki.python.org/moin/PythonProjects
http://www.python.org/about/apps/
https://wiki.python.org/moin/Applications
http://en.wikipedia.org/wiki/List_of_Python_software

And pick whatever fits best with your interests and skills.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Experiences/guidance on teaching Python as a first programming language

2013-12-17 Thread Wolfgang Keller
> I was also taught C as an undergrad but having already learned Java, C
> and C++ before arriving at University I found the C course very easy
> so my own experience is not representative. Many of the other students
> at that time found the course too hard and just cheated on all the
> assignments (I remember one students offering to fix/finish anyone's
> assignment in exchange for a bottle of cider!).

The problem with the C class wasn't that it was "hard". I had passed my
Pascal class, which taught nearly exactly the same issues with
"straight A"s before (without ever having writeen any source code ever
before). And by standard cognitive testing standards, I'm not exactly
considered to be an idiot.

The only issue for me was to figure out how to do in C what I already
knew in Pascal. And I had to waste a *lot* more time and mental effort
to mess with that language than it took for me to learn *both* the
basics of programming per se *and* Pascal in the first class at my home
university.

C is just a kafkaesque mess invented by a sadistic pervert who must
have regularly consumed illegal substances for breakfast. Its only
reason to exist seems to be that apparently it's ridiculously easy to
implement a "compiler" for it. Although, as a professional developer
once told me, most C compilers are garbage.

One student in the C class (who had been doing software development for
years before he came to university) jokingly passed around samples of
"valid" C code by email. Most of them looked like uuencoded binaries
(this was in the early-to-mid 90s), but they all compiled and produced
an output. Except that *no one* (including professors) was able to
predict the output without actually running the compiled code.

In the classroom lectures parallel to the C exercises, the professor
spent most of his time explaining what *not* to do because... Heck, why
does a language provide features resp. allow their use in ways that are
known to be bottomless cans of worms.

> These types of problems are compounded by the fact that the current C
> course uses automated marking so a program that produces the correct
> output gets full marks even if it is terribly written and the student
> entirely misses the point - another thing about this course that
> definitely needs to change.

In our classes, when a program was correct, but e.g. you used just *one*
single non-semantic identifier (such as an "i" for a loop index), you
got *automatically* zero points for that exercise. Other absolutely
mandatory requirements were about minimum commenting etc. Less comment
lines than code was very likely to yield zero points for that exercise
as well.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-17 Thread Wolfgang Keller
> On Sun, Dec 15, 2013 at 4:33 PM, Wolfgang Keller 
> wrote:
> > And besides, again, a commercially licensed PyQt itself isn't *that*
> > expensive.
> 
> > The cost of a commercial PyQt license for a single developer is £350
> > (GBP). You may pay in either US Dollars, Euros or GBP.

I didn't write the second paragraph. Please learn to quote, thanks.
 
> (£420 incl. VAT for UK and select EU entities)

For a commercial developer that doesn't appear much to me. I know Qt
applications that cost ~100.000 EUR per seat. Others are so valuable
that they simply aren't sold at all.

Wingware since recently uses PyQt and their prices don't seem to have
skyrocketed since the migration from PyGTK.

> > one [license] per developer
> 
> For some people, it might be a lot.  Why waste money on something,
> that has an almost-identical free-for-everyone version? (which also is
> easier to install, BTW)

Because PySide is *far* from identical.
 
> > PyQt does not include Qt itself. You must also obtain an
> > appropriately licensed copy (either the commercial version from
> > Digia or the LGPL version from the Qt Project).

Thanks again for learning to quote correctly. I did not write this
paragraph.
 
> So, you have four options:

If you need something that's actually supported, Pyside (currently)
doesn't look like a credible option to me.

And for "home users", education etc., the GPL version of PyQt seems
perfect to me.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Experiences/guidance on teaching Python as a first programming language

2013-12-17 Thread Wolfgang Keller
> > It's not just the abysmally appalling, hideously horrifying syntax.
> > At about everything about C is just *not* "made for human beings"
> > imho.
> 
> I've never heard C syntax reviled quite so intensely.  What syntax do 
> you like, out of curiosity?

Pascal, Python, if written by someone who uses semantic identifiers and
avoids to use C(++)/Java-isms. I've seen Eiffel as well (without
understanding it) and it didn't look ridiculous to me.

In short, syntax that contains the strict minimum of "special"
characters (delimiting lists etc. with brackets is ok to me), and
almost exclusively human readable words. Although, if you push it to the
extreme; Applescript is nice to read, but much less nice to write
imho... :-/

C, C++, Java, Javascript, PHP, Perl etc., however, are just
unspeakable .



BTW; Yes, I do *hate* those C(++)-isms (or Java-isms) that have started
to sneak into Python in the past ~10 years. Using e.g. == for
comparisons is just braindead. Use := for assignments instead, because
that's mathematical syntax. And that "@" for decorators is, well, who
proposed it? I'd like to cut off all his fingers with a bolt cutter.
The same for people who use augmented assignments, "syntax shortcuts"
or abbrvtd idtfrs. Ship them all to Fukushima, one way, no return
ticket. Learn to touch-type, get an editor with decent syntax
completion or just stop wreaking havoc to the world economy with your
laziness. Code is read a hundred times more often than it is typed.



Sincerely,

Wolfgang 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-17 Thread Wolfgang Keller
> Please check JYTHON and those ready-for-novice GUI tools in java.

All Java GUI frameworks I know of are ridiculous garbage.

Not only that Java per se is obscenely fat (and unresponsive), but the
GUI frameworks leak like bottomless barrels and the look and feel is so
hideous that I would say from personal experience with numerous Java
applications that there is little that's worse for user productivity
than a Java application running on Windows. Well, a "web application"
might top it.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-17 Thread Wolfgang Keller
> The other thing, specially if you would make a customer project, I
> don't know how to pack the app written in python in an installer.

If you want your application to be actually user-friendly, you make it
available as an installer-less zip archive. It works with Python
applications, no matter whether they use PyGTK, wxPython or PyQt.

> Perhaps I am wrong, and you could give me in exchange an advise ?!

Python is probably the "best" language for application implementation in
general. Anything that would really need to be faster than python
itself allows can easily be implemented in "compiled" Python à la Pyrex
et al.

> I also believe in performance. An application written in C++, can be 
> compiled easily on the target platform (like on windows systems) with 
> it's native compiler.
> How would it be with wxPython ?!

It isn't an issue.

With that pathological non-operating system Microsoft (Not Responding),
as soon as your application has to do any I/O, or if there's any other
process (virus scanner, file system indexer) running that does I/O,
any computer will be unusable for productive work anyway.

On an actual operating system, the attitude of the developers (do they
actually care or just don't give a darn) is *the* critical issue for
end-user productivity. If a developer makes a statement such as
of "just get a faster computer" or "just get more RAM", then (s)he
probably doesn't give darn. C++ applications, just like Java
applications, tend to leak horrible amounts of memory these days, just
because the vendors/developers don't care.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-17 Thread Wolfgang Keller
> For example Firefox implements its entire GUI in
> Javascript using XML GUI definitions.

Which has made Firefox essentially unusable because it will fall into
koma ("Not Responding") for minutes upon almost each and every
mouseclick. Unfortunately I don't know any significantly better
alternatives.

> And all modern web apps are a combination of many languages and
> domains, most of which are "compiled" in the traditional sense.

"Web apps" are the most efficient way I know of to make users who have
to get actual work done as inefficient as possible. It's especially an
extremely effective way, together with Firefox's "responsiveness", to
make any operating system as obscenely unusable as Windows.
 
Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-17 Thread Wolfgang Keller
> Python is sooo slow when it waits for the human.

With Windows systems, I waste something like 90% of my work time waiting
for that system to stop "Not Responding".

And no, it's not a matter of hardware.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Experiences/guidance on teaching Python as a first programming language

2013-12-16 Thread Wolfgang Keller
> > And ever after that experience, I avoided all languages that were
> > even remotely similar to C, such as C++, Java, C#, Javascript, PHP
> > etc.
> 
> I think that's disappointing, for two reasons. Firstly, C syntax isn't
> that terrible.

It's not just the abysmally appalling, hideously horrifying syntax. At
about everything about C is just *not* "made for human beings" imho.

It's just an un-language that gets at about everything wrong. Sort of
like Microsoft's products.

Sincerely,

Wolfgang

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-15 Thread Wolfgang Keller
> I think PyQt is slowly being pushed aside in favor of PySide, which is
> more license-friendly for use in closed or open projects.  I would
> recommend using PySide unless PyQt is a requirement for your project.

Except the issue that Pyside always seems to lag a bit behind Qt
releases, while PyQt usually supports more recent releases of Qt.

Besides that, according to what I've been reading on the PyQt mailing
list, support is impressive. The developer often fixes issues over
night, if there actually are any. And besides, again, a commercially
licensed PyQt itself isn't *that* expensive.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: GUI:-please answer want to learn GUI programming in python , how should i proceed.

2013-12-14 Thread Wolfgang Keller
> GUI:-want to learn GUI programming in python  , how should i proceed.
> 
> There are lots of book here so I am  confuse which book  i should
> refer so that i don't waste time .

It depends on what you want to do with the GUI, since there are many
different GUI frameworks for Python.

E.g. If you absolutely need to run your applications on MacOS X, then
PyGTK is probably not the best choice. WingIDE, a popular IDE, has been
recently ported to PyQt, apparently for this reason. Besides, PyGTK
itself seems to be "shelved", PyGObject now (since GTK 3) seems to be
the "canonical" way to implement GTK GUIs in Python.

Tkinter is a bit "special" to use since it's not just a library, but
uses some kind of RPC. It seems that "look and feel" have been greatly
improved lately.

wxWidgets (wxPython) recently (since 2.9/3.0) got support for Cocoa,
it's native on the Mac. It's quite slim, but seems to be a "moving
target" API-wise, since the developers are not shy from breaking
compatibility. Is it compatible with Python 3 yet?

PyQt looks native everywhere, but it might be a bit overweight,
depending on what you want to do and where your applications need to
run.

And then there's the licensing issue, since PyQt, unlike Qt itself, is
not available under LGPL afaik. For closed-source commercial
applications, there seems to be a way to use a commercially licensed
PyQt (much less expensive than Qt itself) together with LGPL-Qt
however. Pyside would be a LGPL alternative to PyQt, but it doesn't
seem to be as up-to-date as PyQt.

And then, there are even more frameworks, such as Pygame, PyGUI, etc

And each of these frameworks has dedicated mailinglists.

Personally I found it difficult to use any of the "wrapped" C++
frameworks without being able to understand the documentation made
for C++. :-(

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Experiences/guidance on teaching Python as a first programming language

2013-12-12 Thread Wolfgang Keller
> I'm particularly interested to know if anyone can share experience of
> switching to teaching Python as a first programming language in a
> similar context. A written up case study that I could circulate among
> the relevant staff would be especially useful.

Just one experience from the "other" (student's) side.

When I started to study engineering science in 1991, Pascal was the
"first language" at the university in question (there were no
programming classes at highschool over here at that time yet). The class
was quite motivating and taught me some essential basics, I think.
Although issues such as object-orientation or event-based (GUI)
programming were not even mentioned, which is something that I'm
desperately missing today.

When I went to a different university (in 1993), still in engineering
science, they used C as the "first language" in the class there. The
result was that I tried (and succeeded) to pass that class with the
strict minimum of effort possible and deliberately forgot everything
that I had to learn about C as quickly as possible afterwards. I was a
"very good" student back then otherwise, so this was not due to
general laziness. What that class has taught me, essentially, was to
*hate* C. And it was not an issue of bad teachers. And they didn't mean
to make me hate C, after all, it was them who had chosen that language.
I never ever used C for anything (outside of that class). And ever
after that experience, I avoided all languages that were even remotely
similar to C, such as C++, Java, C#, Javascript, PHP etc.

In numerics classes and for research projects, I had to learn and use
Fortran, which was easy after the introduction with Pascal. The
teachers who taught me Fortran easily were the same as those who made me
hate C. 

Then, I accidentally got in touch with Python (in 1994 iirc) and
thought it was interesting and useful. In fact Python is the only
programming language that I ever learned without being obliged to do
so. And the only one that I keep using whenever I have the choice.

Since then, the university that once used C as a "first language"
has switched to Python. Which is a good thing, imho. If I had had to
learn the basics of programming with C instead of Pascal, I most
certainly would have avoided anything even remotely connected to
programming ever since, even "office automation" through scripting
(which is what I use Python for today).

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Access database - GUI - Python - I need architectural advice

2013-11-28 Thread Wolfgang Keller
> I wish to develop a database application with a lot of specific 
> functionnalities dealing with sound files.
> 
> I have developped an Access prototype and run into a first problem :

Access is not a database, it's a data shredder. And for the GUI part;
it only works on that pathologic non-operating system called Microsoft
(Not Responding).

Use PostgreSQL instead and one of these frameworks with Python:

using PyQt (& Sqlalchemy):
Qtalchemy: www.qtalchemy.org
Camelot: www.python-camelot.com
Pypapi: www.pypapi.org

using PyGTK:
Sqlkit: sqlkit.argolinux.org (also uses Sqlalchemy)
Kiwi: www.async.com.br/projects/kiwi

using wxPython:
Gui2Py: code.google.com/p/gui2py/
Dabo: www.dabodev.com
Defis: sourceforge.net/projects/defis (Russian only)
GNUe: www.gnuenterprise.org

Sincerely,

Wolfgang

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python GUI?

2013-09-14 Thread Wolfgang Keller
> As complexity rises, though, I'd rather just code the creative parts
> of things, and not busy-code, which is what gui code becomes.  Much
> of it is boiler-plate, cut and pasted, etc.

If much of the code for a GUI is boiler-plate, busy-code etc. than I
would suggest that the framework is not really as efficient as it
should be.

In fact that's one of the issues I still have with Python: The language
in general is very efficient, allows to do a lot with very little code.
But all GUI frameworks that I had a look at seem to be not "pythonic"
at all in this regard. Except for PyGUI maybe, but that's far from being
as extensive as wxPython or PyQt. So for GUI applications, Python
doesn't seem to have any advantage over #§$%&! like C++ etc. concerning
code efficiency.

X-( 

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Can I trust downloading Python?

2013-09-10 Thread Wolfgang Keller
> Every time you go on the Internet, you download other people's code
> and execute it. Javascript, Flash, HTML5, PDF are all either
> executable, or they include executable components.

That's why I deactivate all of these by default. And why I *hate*
so-called "web designers" who *require* activation of such fancy flashy
nonsense gadgets.

PDF files are an exception since PDF was originally designed as a
"safe" subset of Postscript (postscript viruses had been demonstrated).
Now Adobe has jeopardized this by allowing embedding of Javascript in
PDF files (but that as well is deactivated by default for me).

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Can I trust downloading Python?

2013-09-08 Thread Wolfgang Keller
> Definitely get the latest version (currently 3.3, soon 3.4). Python
> keeps getting new features and improvements.

Python scripts or applications might not be compatible with Python 3.x
and require 2.x instead.

Sincerely,

Wolfgang
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: PEP 450 Adding a statistics module to Python

2013-08-13 Thread Wolfgang Keller
> I am seeking comments on PEP 450, Adding a statistics module to
> Python's standard library:

I don't think that you want to re-implement RPy.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python development tools

2013-06-24 Thread Wolfgang Keller
> Also, I will use GUI interface for Python. What kind of widget
> toolkits do you recommend? I know there are GTK+ and Qt. 

wxPython, PyGUI...

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-06-15 Thread Wolfgang Keller
> Okay... how long does a round-trip cost?

With a protocol that wasn't made for the purpose (such as HTTP) and all
that HTML to "render" (not to mention javascript that's required for
even the most trivial issues) - way too long.

> Considering that usability guidelines generally permit ~100ms for
> direct interaction, 

That's "generous".

A proficient user with a responsive application can easily outpace that.

100ms is definitely a noticeable lag. Even I feel that and I don't use
touch-typing to use the GUI. 50ms might not be noticeable, but I don't
have the skills myself to test that.

> (Magento, a PHP-based online shopping cart system, took the better
> part of a second - something in the order of 700-800ms
> - to add a single item. And that on reasonable hardware, not a
> dedicated server but my test box was certainly not trash.)

That's not a question of hardware. Just like with MS (Not Responding).
 
> That's the entire round-trip cost. The queries from Sikorsky to
> Yosemite involve three computers (the client, the server, and the file
> server), and is completed in under 30 milliseconds. 

I am talking about applications that actually do something. In my case,
database applications. A PostgreSQL transaction is supposed to take at
most 25ms to complete (anything above is generally considered an issue
that needs to be solved, such as bad SQL), *server-side*. That leaves
you another 25ms for the entire network protocol (the pgsql protocol,
whatever it is, was designed for the purpose, unlike HTTP) *and* the
client-side application logic, including the GUI "rendering".

Qt is already quite sluggish sometimes, don't know why. GTK and
wxPython "feel" swifter, at least on an actual *operating* system. MS
(Not Responding) is definitely incapable to allow applications anything
remotely close to "responsiveness". Minute-long lockups with frozen
cursor are "normal".

> That still gives you 70 milliseconds to render the page to the user,

Forget that.

25ms for client-server (pgsql) network protocol, client-side
application logic *and* GUI.

With a "web" application that would have to include "application
server"-side application logic, *and* generation of HTML (and
javascript), *and* HTTP protocol *and* HTML "rendering" *and*
client-side javascript.

Won't work.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-06-14 Thread Wolfgang Keller
> I share your passion for empowering a human operator to complete and
> submit a form as quickly as possible. I therefore agree that one
> should be able to complete a form using the keyboard only.

This is not just about "forms", it's about using the entire application
without having to use the mouse, ever.
 
> Do you have strong views on which is the preferred approach.

Use a decent database RAD desktop (non-web) GUI application framework
which uses client-side application logics. "Validation" of input will
then be essentially instantaneous. Unless you run the client on that
pathological non-operating system MS (Not Responding), obviously. I've
posted a corresponding list of frameworks available for Python multiple
times already on this group:

using PyQt (& Sqlalchemy): 
Qtalchemy: www.qtalchemy.org 
Camelot: www.python-camelot.com 
Pypapi: www.pypapi.org 

using PyGTK: 
Sqlkit: sqlkit.argolinux.org (also uses Sqlalchemy) 
Kiwi: www.async.com.br/projects/kiwi 

using wxPython: 
Gui2Py: code.google.com/p/gui2py/
Dabo: www.dabodev.com 
Defis: sourceforge.net/projects/defis (Russian only) 
GNUe: www.gnuenterprise.org 

Server-roundtrips required for simple user interaction are an absolute
non-starter for productivity applications. No matter whether in a LAN
or WAN. If you want a responsive application you have to de-centralise
as much as possible. Perfect solution would be if Bettina Kemme's
Postgres-R was available for production use, then even the persistence
could run locally on the client with asynchronous replication of
all clients ("peer to peer").

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-06-12 Thread Wolfgang Keller
> > A "touch-type" GUI is a "must have" for any application that's
> > supposed to be used productively. The mouse is nice to "explore" a
> > GUI or for occasional/leisurely use, but once you use an
> > application daily to earn your living, it's a hopeless roadblock
> > for productivity.
> 
> You have seriously underestimated the power of the combined
> keyboard+mouse interface.

As someone who has started to use computers with the Atari ST and later
the Mac, and as someone who has never become proficient himself with
any of the various Unix shells (besides that I had to learn to *hate*
any version of MS DOS or MS (Not Responding)), I certainly don't
underestimate the value of the mouse.

But could it be that you have never seen an actually proficient user of
a typical "enterprise" application (ERP, MRP, whatever) "zipping"
through the GUI of his/her bread-and-butter application so fast that
you can not even read the titles of windows or dialog boxes.

Obviously, this won't work if the client runs on this pathological
non-operating system MS (Not Responding), much less with "web
applications".

Oh, and btw; SAP is a particularly illustrative example for the horrible
response time behaviour of applications with centralised application
logic. They call it "hour-glass display program" over here,
"SanduhrAnzeigeProgramm" in German.

> > As is the "response time" behaviour of "web applications".
> 
> On a LAN, with a proper back-end, I can get instant response from a
> web app. 

I have been involved as "domain specialist" (and my input has always
been consistently conveniently ignored) with projects for web
applications and the results never turned out to be even remotely usable
for actually productive work.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-06-01 Thread Wolfgang Keller
> > A GUI that can not be used without taking the ten fingers off the
> > keyboard is indeed entirely unusable for any half-proficient
> > screenworker. And anyone doing actual productive screenwork every
> > day for more than just a few months will inevitably (have to) get
> > proficient (unless completely braindead).
> 
> My ten fingers stay on my keyboard, which looks somewhat thus:
> 
> http://www.xbitlabs.com/images/mobile/lenovo-thinkpad-t61/keyboard.jpg
> 
> See the red dot in the middle? Mouse.

I didn't mean "trackpoints" or similar devices, but full keyboard
"navigation" of the entire GUI through shortcuts etc.

A "touch-type" GUI is a "must have" for any application that's supposed
to be used productively. The mouse is nice to "explore" a GUI or for
occasional/leisurely use, but once you use an application daily to earn
your living, it's a hopeless roadblock for productivity.

As is the "response time" behaviour of "web applications".

Besides that pathological non-operating system MS (Not Responding),
btw. 

"No cursor animation ever" is an absolute "must have" requirement for
productivity applications.

> THIS is a professional programmer's workspace. :)

And by "screenworkers" I didn't refer to programmers. Those people
rarely have to use the stuff that they implement.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-30 Thread Wolfgang Keller
> >> suppose I now want the app natively on my phone (because that's all
> >> the rage).  It's an iPhone.  Oh.  Apple doesn't support Python.
> >> Okay, rewrite the works, including business logic, in Objective C.
> >> Now I want it on my android phone. 
> > 
> > Those are gadgets, not work tools.
> 
> As a professional programmer I'm afraid you're going to soon find
> yourself out of work if you really see things that way.

As a "domain expert", I come from the end-user side of "enterprise
applications" and again; those are not tools for screenworkers to get
actual work done, but consumer crap for fad-driven gadget-addicted kids
(regardless of nominal age).

> I honestly used to feel that way about graphical user interfaces.

A GUI that can not be used without taking the ten fingers off the
keyboard is indeed entirely unusable for any half-proficient
screenworker. And anyone doing actual productive screenwork every day
for more than just a few months will inevitably (have to) get proficient
(unless completely braindead).

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-28 Thread Wolfgang Keller
> What is "screenwork"?

Actually productive work of significant intensity at a computer screen.

As opposed to leisurely "clicking around" like managers, administrators
or home users (gaming, "webbing",...) do.

Sincerely,

Wolfgang

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-28 Thread Wolfgang Keller
> Please give me an example of a "suitable transport layer for a RPC
> protocol".  

I won't give you an example, but just some very basic criteria:

- It must be very efficient for very small "datagrams"
- It must provide connections
- For asynchronous programming it must provide for callbacks

No RPC-over-HTTP protocol that I know of does this.

Besides, no one needs RPC just to logically separate GUI and
application layer. And between application logic and database, you use
the native database API for the RDBMS in question, of course.

The whole idea to centralise application logic (and even the GUI with
"web applications") is backwards, it dates from the 70s/early 80s when
desktop computers weren't able to run application logic. Today, to make
an application responsive (minimise latencies and maximise throughput),
it's just obvious to *de*-centralise as much as possible. In fact,
if Postgres-R was available for production, you could even distribute
the persistence and run an entirely "serverless" application.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-27 Thread Wolfgang Keller
> HTTP handles that just fine, with your choice of XML, 

And XML is definitely not suitable as a marshalling format for a RPC
protocol.

XML-over-HTTP is a true cerebral flatulance of some hopelessly clueless
moron.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-27 Thread Wolfgang Keller
> Your back end exposes services and business logic, and your front end
> can be in HTMLv5 and Javascript, or QtQuick, PyGTK, or Visual
> Studio.  If you do need a native interface, it's a heck of a lot
> easier to rewrite just the frontend then the entire stack.

Any decent database CRUD framework will allow to implement the
application model as "behaviour complete" domain objects, with a
persistence layer totally independent from the GUI layer. In many
Python RAD frameworks, this is done using SQLalchemy.

> Who cares how the RPC is done;

As an end-user I do care for how much an application makes we watch the
cursor animation.

> that's an implementation detail.  HTTP does happen to work well
> though.  Why do you say it is not suitable?

Because from personal experience I know too well that it does definitely
not "work well though". 

> suppose I now want the app natively on my phone (because that's all
> the rage).  It's an iPhone.  Oh.  Apple doesn't support Python.
> Okay, rewrite the works, including business logic, in Objective C.
> Now I want it on my android phone. 

Those are gadgets, not work tools.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-26 Thread Wolfgang Keller
> > Both the concept and actually implemented examples of so-called "web
> > applications" prove that they are just plain garbage and hopelessly
> > unusable for anything remotely resembling actual screenwork.
> >
> > HTML forms may be at best useful for "web shops", but for actual
> > screenwork, HTML is not a valid GUI, no matter how much javascript
> > you add to it.
> 
> All depends on your requirements.

Obivously, if your requirements are to be compliant with latest IT
management fads and to not give a darn for end-user productivity or
even legal requirements for screen workplace ergonomics...

> For the Yosemite Project, I wanted the networking aspect, so the web
> browser UI was a good one.

>From the description this looks like a simble database CRUD
application. Somethign like that is definitely easier to implement and
to deploy and a *lot* more functional with any of the RAD frameworks
available for Python.

And just like HTML never was a valid GUI framework and never will be
one, HTTP will never be a suitable transport layer for a RPC protocol.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-23 Thread Wolfgang Keller
> But there's another option that is available to every platform and
> (practially) every high level language: the web browser. Make your app
> serve HTTP and do up your UI in HTML5/CSS3 - your facilities are
> pretty extensive. Plus you get networking support for free! Obviously
> this option isn't for everyone, but don't discount it out of hand.

Both the concept and actually implemented examples of so-called "web
applications" prove that they are just plain garbage and hopelessly
unusable for anything remotely resembling actual screenwork.

HTML forms may be at best useful for "web shops", but for actual
screenwork, HTML is not a valid GUI, no matter how much javascript you
add to it.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-22 Thread Wolfgang Keller
> I know this may sound a silly question because no one can see the
> future. But ...
> Do you think tkinter is going to be the standard python built-in gui
> solution as long as python exists?

"Standard built-in" maybe, but by far most people who need a GUI for an
actual application will keep using something else.
 
> I couldn't help but wonder if wx or PySide receives better py2 and py3
> support, or anything else that prevent
> them from getting into the standard python distributions, whether or
> not this scene could start to shift ...

Didn't Pyside have serious trouble recently, requiring a reanimation of
the project?
 
> I believe this "which one of tkinter, wx, qt, is the best gui toolkit
> for python" flame war has been going on
> for ages. 

If (Py)Qt wasn't so freaking fat, it might be the best.
If wxPython had a more pythonic (and stable?) API, it might be the best.
If PyGTK was more native on Windows and native at all on MacOS X, it
might be the best.
If PyGUI was more extensive, it might be the best.

> This worries me very much about whether I should start a gui app
> using python.

What other open-source cross-platform programming language choices do yo
have.

Java? For GUIs? Excuse me while I vomit.

C++? As a language for human beings? Oops, I have to throw up again.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Future standard GUI library

2013-05-22 Thread Wolfgang Keller
>  Do you think tkinter is going to be the standard python built-in
>  gui solution as long as python exists?
> >>>
> >>> AT the moment, there is nothing really comparable that is a
> >>> realistic candidate to replace tkinter.
> >>
> >> FLTK? (http://www.fltk.org/index.php)
> >
> > tkinter is the Python wrapper of the tk library, just as wxpython
> > is the python wrapper of the wx library. I do not see a py-fltk
> > wrapper.
> 
> It exists, but it's really old.
> 
> http://pyfltk.sourceforge.net/

And it's imho definitely not "native" (in terms of "look and feel") on
*any* operating system, not even on Linux.

In fact it's SGI's Irix Forms re-implemented, afaik.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: IDE for GUI Designer

2013-04-13 Thread Wolfgang Keller
> Well, I usually use the Qt Designer and it does work well for me.
> 
> It generates a .ui file with it which has to be passed to pyuic to
> generate the actual Python code 

Wow.

Even one more step than with code generation directly from
the GUI builder.

Clumsy, tedious, static.

Cocoa's Interface Builder shows how to do it even though Objective-C is
a *compiled* language, unlike Python.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: IDE for GUI Designer

2013-04-07 Thread Wolfgang Keller
> Guys, is this, I wonder if there is an IDE with native support for the
> development of GUI's

A decent Python IDE would probably integrate well enough with any decent
GUI builder. If there was one (decent GUI builder).

Unfortunately there's afaik currently no GUI builder available for any
of the Python GUI frameworks that actually makes use of the dynamic
interpreted nature of Python (in a way comparable to Cocoa's Interface
Builder or the Visualworks Smalltalk IDE). They are unfortunately all
just conceived following the clumsy tedious static C++-ish
code-generation method. X-(

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What's the easiest Python datagrid GUI (preferably with easy database hooks as well)?

2013-03-19 Thread Wolfgang Keller
> >> Will look at Pypapi and SQLkit.
> >
> Did look: SQLkit needs Python 2.

Personally I would be more concerned about the apparent end-of-life of
PyGTK.

> Pypapi, from the link you gave: "The new release of PyPaPi is written
> in Java. You can find more info in the official site." On this
> official site - http://www.pypapi.org/ - I can't find anything at all
> about using PyPaPi with Python.

Unfortunately I have lost the URL for the documentation (tutorial
etc.) on the Python pages at www.pypapi.org. I'm afraid you'll have to
ask the author.

Pypapi, which is in production use in version 0.8, had been
re-implented in Java for some reason (paying customer?), and the design
changes have been back-ported to the Python implementation, yielding
the version 0.9, which is considered beta. I liked the approach of this
version, because it essentially only requires you to write the
declarative Sqlalchemy model, layout the forms in Qt Designer and
that's it. At about as little hand coding as possible.

If you don't mind source code of an example application being
essentially the only documentation, you can also look at Qtalchemy.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What's the easiest Python datagrid GUI (preferably with easy database hooks as well)?

2013-03-19 Thread Wolfgang Keller
> As far as Dabo is concerned, at the moment I just have to know how to
> spell "crash" ...

Seems like someone is in desperate need of what they call "release
management". X-(

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What's the easiest Python datagrid GUI (preferably with easy database hooks as well)?

2013-03-16 Thread Wolfgang Keller
> Very helpful collection, only one open question: which of them work
> with Python 3? 

No clue, sorry. Given how many other modules are not yet compatible with
Python 3, I haven't investigated that yet.

wxwidgets/wxPython already has *just* made the switch to Cocoa (with
2.9) when Carbon support was dropped by Apple, and I don't have a clue
about the future of PyGTK (last update 2011, seems to have been
replaced by PyGObject).

> Will look at Pypapi and SQLkit.

Frustrated with Dabo? Why?

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What's the easiest Python datagrid GUI (preferably with easy database hooks as well)?

2013-03-14 Thread Wolfgang Keller
> I want to write a fairly trivial database driven application, it will
> basically present a few columns from a database, allow the user to add
> and/or edit rows, recalculate the values in one column and write the
> data back to the database.
> 
> I want to show the data and allow editing of the data in a datagrid as
> being able to see adjacent/previous data will help a huge amount when
> entering data.
> 
> So what toolkits are there out there for doing this sort of thing?  A
> GUI toolkit would be lovely (allowing layout etc.) but isn't
> absolutely necessary.
> 
> I'm a reasonably experienced programmer and know python quite well
> but I'm fairly much a beginner with event driven GUI stuff so I need
> a user friendly framework.

This is becoming an FAQ.

The currently available (non-web) database application development
frameworks for Python are:

using wxPython:
Dabohttp://www.dabodev.com
Defis   http://sourceforge.net/projects/defis/ (Russian only)
GNUehttp://www.gnuenterprise.org/

using PyQt:
Pypapi  https://pypi.python.org/pypi/PyPaPi
Camelot http://www.python-camelot.com/
Qtalchemy   http://www.qtalchemy.org/
Thyme   http://clocksoft.co.uk/downloads/
Kexihttp://www.kexi-project.org/

using PyGTK:
SQLkit  http://sqlkit.argolinux.org/
Kiwihttp://www.async.com.br/projects/kiwi/
Glomhttp://www.glom.org

Openoffice Base
http://www.openoffice.org/product/base.html
Libreoffice Base
http://www.libreoffice.org/features/base/

OpenERP http://www.openerp.org
Tryton  http://www.tryton.org

Dabo (they're about to release 1.0 for Pycon), Pypapi, Camelot, SQLkit
seem to be the most actively developed and best documented ones.

OpenERP and Tryton are ERP systems that can also be used as
frameworks for non-ERP custom applications.

Apparently defunct:

Pythoncard  http://pythoncard.sourceforge.net/
Boa Constructor http://boa-constructor.sourceforge.net/
Knoda   http://www.knoda.org/
Rekall  ?
Gemello http://abu.sourceforge.net/

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PyQT app accessible over network?

2013-02-24 Thread Wolfgang Keller
> As far as doing client/server stuff with just a database engine,
> unless you have tight control over the environment end to end, from a
> security pov, it's not a good idea to expose the database engine
> itself to the internet.  Better to put a restricted web services API
> in front of it that handles all the authorization needs
> (access-control) on the detailed level that you require.

Excuse me but that's bullshit.

PostgreSQL is definitely more secure than any self-made RPC protocol
with a self-made "web" server on top of SQLite that re-invents what
PostgreSQL provides "out of the box" and much more efficient that http
could ever do it. Experience with security of PostgreSQL servers exposed
to "the internet" has been capitalised for much more than a decade now.
You won't get anywhere close to that level of security (and reliability)
with your private selfmade webnonsense anytime soon.

And if there's anything that all those scriptkiddies know their way
with it's http servers.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PyQT app accessible over network?

2013-02-24 Thread Wolfgang Keller
> My concern is that using postgres or mysql for this would be akin to 
> using a sledgehammer to swat a fly,

I wouldn't use MySQL for anything that requires anything else than
"select".

And PostgreSQL has extremely spartanic resource requirements in the
default configuration. It runs on Linux on hardware where (the
most recent) Windows alone wouldn't run.

> My other reason for wanting one 'central' app is that there are
> various functions (setting up the tournament, closing registration,
> editing scores, finalizing results) that I really *don't* want the 
> satellite/client apps to be able to do.

Easy, you simply restrict access rights to the corresponding tables
for the individual users. Any halfway decent database application
framework will allow to configure the application correspondingly for
each user.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PyQT app accessible over network?

2013-02-22 Thread Wolfgang Keller
> I've been working at learning python off and on now for a while, with
> a couple programs in mind as a goal - kind of specialized stuff that
> I can't seem to find a good match for already available, competitor 
> records, score-keeping & results for an amateur sports tournament.

So you want to develop a database application. That's a standard case.

> Probably 98-99% of the time the match administration would be done by
> a single individual on a single PC, which seems like it would be
> nearly ideal for a desktop application implemented in PyQt4 or
> similar.  The problem is (as usual) those edge cases where there are
> enough volunteers/resources to have more than one person doing data
> entry (maybe 2-3 in practice, but lets say 10-12 for arguments sake
> to pad things a bit).

PostgreSQL and the frameworks mentioned below don't care for the number
of clients. You could buy a zSeries (or whatever they are called now)
from IBM and serve thousands of clients simultaneously if you needed to.

> What I was wondering is what would be a good way of handling this
> with a PyQt app? Build the desktop app first, and add some sort of 
> functionality to enable a lightweight web server and framework for
> the additional data entry 'clients'?

No, you just implement a GUI in whatever GUI framework you want (PyQt,
PyGTK, wxPython) and use a client-server RDBMS for storage.

No web-nonsense gadgetry required with bloated cursor-animation
"browsers" etc..

For the storage I recommend PostgreSQL, for the client GUI, there are
several frameworks available:

using PyQt (& Sqlalchemy): 
Pypapi: www.pypapi.org 
Camelot: www.python-camelot.com 
Qtalchemy: www.qtalchemy.org 

using PyGTK: 
Sqlkit: sqlkit.argolinux.org (also uses Sqlalchemy) 
Kiwi: www.async.com.br/projects/kiwi 
Glom: www.glom.org

using wxPython: 
Dabo: www.dabodev.com 
Defis: sourceforge.net/projects/defis (Russian only) 
GNUe: www.gnuenterprise.org 

Pypapi, Camelot, Sqlkit and Dabo seem to be the most active and best 
documented/supported ones.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Maximum Likelihood Estimation

2013-02-02 Thread Wolfgang Keller
> I am looking for a Python implementation of Maximum Likelihood
> Estimation. If any one can kindly suggest. With a google search it
> seems scipy,numpy,statsmodels have modules, but as I am not finding
> proper example workouts I am failing to use them. 

For statistics I would suggest using R (http://www.r-project.org/)
through RPy (http://rpy.sourceforge.net/).

Both have dedicated mailinglists as well as extensive documentation.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: The best, friendly and easy use Python Editor.

2013-01-25 Thread Wolfgang Keller
> for all senior can you suggest me the best, friendly and easy use
> with nice GUI editor for me, and have many a good features such as
> auto complete/auto correct.

Depends on what you are used to.

If you're used to bare-bones editors such as emacs, vim etc, they can be
used for Python.

If you're used to IDEs, WingIDE is one long-standing competitor. The
"101" version is free.

There are also editors implemented *in* Python, which can be used for
programming Python, such as Editra, which features quite a few
useful plugins.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Migrate from Access 2010 / VBA

2012-11-27 Thread Wolfgang Keller
> The reporting question is the one that gives me the greatest concern
> when I think about switching to Python.

Not Python, but FOSS, cross-platform and it works with PostgreSQL:

http://www.xtuple.com/openrpt

Apart from that one, among the mentioned DB RAD frameworks, at least
Dabo and Camelot include report builders.

And, again; Libreoffice Base comes with a reporting framework, although
the latest version afaik has a currently unresolved bug, so you'll have
to retrograde to an older version if you want to use it.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Migrate from Access 2010 / VBA

2012-11-27 Thread Wolfgang Keller
> One program that claims to be working towards Access replacement is
> Kexi.  It's not written in Python, but I think it does use Python as a
> scripting language, just as Access uses VBA.  I doubt it's anywhere
> near Access yet, but it's worth a look:
> 
> http://kexi-project.org/about.html

Unfortunately, Kexi doesn't support composite keys yet, so it's
essentially useless for real-world databases so far. :-(

Rekall appears to be dead and so does Knoda.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Migrate from Access 2010 / VBA

2012-11-25 Thread Wolfgang Keller
> I am the lone developer of db apps at a company of 350+ employees.
> Everything is done in MS Access 2010 and VBA. I'm frustrated with the
> limitations of this platform and have been considering switching to
> Python.
>
> I've been experimenting with the language for a year or so,
> and feel comfortable with the basics. 
> 
> I am concerned that I'll have a hard time replacing the access form
> and report designers. I've worked a little with TKinter, but it's a
> far cry from the GUI designer in Access.

The list of Python frameworks for rapid development of desktop 
(i.e. non-Web) database applications currently contains: 

using PyQt (& Sqlalchemy): 
Pypapi: www.pypapi.org 
Camelot: www.python-camelot.com 
Qtalchemy: www.qtalchemy.org 

using PyGTK: 
Sqlkit: sqlkit.argolinux.org (also uses Sqlalchemy) 
Kiwi: www.async.com.br/projects/kiwi 

using wxPython: 
Dabo: www.dabodev.com 
Defis: sourceforge.net/projects/defis (Russian only) 
GNUe: www.gnuenterprise.org 

Pypapi, Camelot, Sqlkit and Dabo seem to be the most active and best 
documented/supported ones. 

> Finding a professional grade report designer looks like an even
> bigger challenge.

LibreOffice is imho quite useful for database reporting. It comes with a
native (SDBC) driver for PostgreSQL and allows Python scripting.
LibreOffice Base can even be useful for CRUD GUIs.
 
> I don't need to port any applications, but I will need to use the
> data (mdb/accede format),

Don't. Put your data into an *actually* transaction-safe RDBMS (which
"Jet" is *not*), such as e.g. PostgreSQL.

> design a variety of reports with multi-level groupings, and deliver
> them to many individual recipients via email.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Can somebody give me an advice about what to learn?

2012-10-04 Thread Wolfgang Keller
> >> The point why Ruby was started (perceived deficit of
> >> object-orientation) has been remedied since Python 2.2.
> > 
> > Not completely. At the least, there's arguably still the issue of
> > len() and friends (vs. `.length` etc.), and also of `self` being
> > explicit.
> 
> I'm not entirely sure which "perceived deficit of object-orientation"
> is being talked about, or why anyone but OOP purists would consider
> that a problem.

Yukihiro Matsumoto did. I myself never perceived any lack of
object-orientation with Python, since I've learned programming with
Pascal anyway. >;-> 

I just wanted to point out that given the state of Python today, no one
would probably consider starting Ruby any more.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Can somebody give me an advice about what to learn?

2012-10-03 Thread Wolfgang Keller
> I'm really new to Usenet/Newsgroups, but... I'd like to learn some
> new programming language, because I learnt a bit of Perl though its
> OOP is ugly. So, after searching a bit, I found Python and Ruby, and
> both of they are cute. So, assuming you'll say me "learn python", why
> should I learn it over Ruby?

The point why Ruby was started (perceived deficit of object-orientation)
has been remedied since Python 2.2.

However, Ruby has reproduced quite a few of those well-known problems of
other languages that Python deliberately avoids (such as e.g. deficit of
orthogonality) and that make reading and understanding code difficult,
besides introducing sources for potential bugs.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: simple client data base

2012-09-04 Thread Wolfgang Keller
> Personally, I wouldn't bother with SQLAlchemy for this. I'd just use 
> Python as the front end, PostgreSQL for the database, and psycopg2
> for the interface.

Then you have to implement the entire logic, "event binding" etc.
yourself. 

If you use e.g. Pypapi (the latest version), implementing an entire
CRUD application is as simple as declaring your domain object model and
laying out your GUI with Qt Designer.

In Sqlkit, you don't have to do much more, you just don't use a
designer for the GUI, but also a declarative approach.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: simple client data base

2012-09-03 Thread Wolfgang Keller
> Hello all, I am learning to program in python. I have a need to make a
> program that can store, retrieve, add, and delete client data such as
> name, address, social, telephone number and similar information. This
> would be a small client database for my wife who has a home accounting
> business.



Python imho would be in need of a really good accounting application as
a "demonstrator" for its capabilities. ;-)



> I have been reading about lists, tuples, and dictionary data
> structures in python and I am confused as to which would be more
> appropriate for a simple database.
> 
> I know that python has real database capabilities but I'm not there
> yet and would like to proceed with as simple a structure as possible.

The list of Python frameworks for rapid development of desktop
(i.e. non-Web) database applications currently contains:

using PyQt (& Sqlalchemy):
Pypapi: www.pypapi.org
Camelot: www.python-camelot.com
Qtalchemy: www.qtalchemy.org

using PyGTK:
Sqlkit: sqlkit.argolinux.org (also uses Sqlalchemy)
Kiwi: www.async.com.br/projects/kiwi

using wxPython:
Dabo: www.dabodev.com
Defis: sourceforge.net/projects/defis (Russian only)
GNUe: www.gnuenterprise.org

Pypapi, Camelot, Sqlkit and Dabo seem to be the most active and best
documented/supported ones.

Sqlalchemy (www.sqlalchemy.org) seems to be "quite useful" for working
with databases. Those of the above mentioned frameworks that don't use
it do so for historic reasons, because the corresponding project started
before Sqlalchemy became known.

If you want to rely on not losing your data, you might want to use
PostgreSQL (www.postgresql.org) as a storage backend with any of these.

Sincerely,

Wolfgang

P.S.: If anyone knows of frameworks not listed here, thanks for mailing
me.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Looking for an IPC solution

2012-09-01 Thread Wolfgang Keller
> There are just so many IPC modules out there. I'm looking for a
> solution for developing a new a multi-tier application. The core
> application will be running on a single computer, so the IPC should
> be using shared memory (or mmap) and have very short response times.

Probably the fastest I/RPC implementation for Python should be
OmniOrbpy:

http://omniorb.sourceforge.net/

It's cross-platform, language-independent and standard-(Corba-)
compliant.

> I have seen a stand alone cross platform IPC server before that could 
> serve "channels", and send/receive messages using these channels. But
> I don't remember its name and now I cannot find it. Can somebody
> please help?

If it's just for "messaging", Spread should be interesting:

http://www.spread.org/ 

Also cross-platform & language-independent.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: The way to develope a graphical application to manage a Postgres database

2012-08-05 Thread Wolfgang Keller
> Can one advices me where to go?

There are a number of Python frameworks for GUI database applications:

- Dabo (wxPython)
- Sqlkit (PyGTK & SQLalchemy)
- Pypapi (PyQt & SQLalchemy)
- Camelot (PyQt & SQLalchemy)
- Qtalchemy (PyQt & SQLalchemy)
- Openobject (PyGTK)
- Defis (wxPython & SQLalchemy), Russian only
- Kiwi (PyGTK)

Not sure whether these are still active:

- Gnuenterprise (wxPython)
- Pythoncard (wxPython)

Sincerely,

Wolfgang Keller
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-19 Thread Wolfgang Keller
> >> No matter how cool it may seem to create simple GUIs manually or to
> >> write business letters using LaTeX: just try to persuade people to
> >> move from Word to LaTeX for business letters...
> >
> > Good example.
> >
> > I have done nearly exactly this* - but it was only possible thanks
> > to LyX.
> 
> > *I moved not from Wugh, but from other software to LyX/LaTeX for
> > all my document processing.
> But of course, you were only doing so because you had LyX available,
> which is the equivalent of an easy-to-use GUI builder.

No need to argue here. This was exactly my point. :-)

> So maybe I should be more precise: just try to persuade people to move
> from Word to *pure* LaTeX for business letters...

Nearly impossible. And this was exactly my point. Again, no need to
argue here. :-)

The success of LyX (and TeXmacs and BaKoMaTeX and Scientific Word...)
proves imho that the LaTeX community had missed to offer a
"syntax-hiding"-GUI with LaTeX some 20 years ago.

And the lack of success of Python so far to replace, in your
application case, Labview, or, in my application case, all those
proprietary 4GL IDEs/frameworks/GUI builders (just check the success
that Realbasic has) proves imho that the Python community has totally
missed to address the vast crowd of potential users who are domain
experts in other domains than software development.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-16 Thread Wolfgang Keller
On Thu, 14 Jun 2012 12:59:23 -0700 (PDT)
CM  wrote:

> On Jun 14, 2:25 pm, Wolfgang Keller  wrote:
> >
> > What is needed for domain specialists are frameworks and related
> > tools such as GUI builders that allow them to write exclusively the
> > domain-specific code (this is where a domain specialist will always
> > be better than any software developer), layout the GUI as
> > ergonomically convenient (same) and then have the framework do all
> > the rest.
> 
> Above this you also mentioned a disdain for the need for "glue code",
> which in the context of your post seemed to be binding to event
> handlers.

With "glue code" I mean any code other than that which serves to
implement purely domain-specific behaviour.

> So is there a possible way for a GUI builder to *automatically* bind
> widgets to the appropriate functions in your domain-specific code?
> It's hard to see how this would be generally possible, even with an
> AI (maybe a mind-reading AI would work).
> 
> Or maybe I'm misunderstanding something.

Probably, since there are GUI builders/frameworks available that do
what I described. I have already pointed to some for my specific type
of application (database applications) that don't even need any GUI
definition at all, since the GUI is entirely reflected from the domain
model. Which I would not consider as the most ergonomic way to define
a GUI.

Unfortunately these excellent GUI builders and frameworks all use
languages which imho are not at all suitable for domain specialists who
are not full-time software developers by training.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-14 Thread Wolfgang Keller
Danger: Flame ahead!
> I think efforts to make a better, and more definitive, "GUI builder"
> for Python should focus on makigng an easy to use "IDE" for creating
> these kinds of Python-HTMl-Javascript front ends for applications.

The idea of so-called "web applications" is a cerebral flatulance
emanating from braindead morons (typically the pointy-haired type),
sorry.

>From the perspective of the domain specialist who needs to get some work
done and who needs to get it done efficiently they are simply
unusable. The "functionality" that such "web interfaces" provide is
ridiculously poor, they are clumsy to use and even worse
hourglass-display systems than the junk that MS or SAP sell. Besides the
fact that they require obscene amounts of runtime ressources.
Besides... Sorry, this subject isn't worth wasting my brain bandwidth
on it.

I have started to use computers with GEM on Atari ST, MacOS 6.0.7 and
DOS 3.3, and if all those "web mailers" or "Google apps" had been the
only applications available back then I would have never started to use
computers at all.

In short: "web applications" are in no way a solution to the mentioned
problem, but they make this problem worse by piling up other problems
on top of it.

End of flame.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-14 Thread Wolfgang Keller
> object mainwindow=GTK2.Window(GTK2.WindowToplevel);
> mainwindow->set_title("Timing")->set_default_size
> (400,300)->signal_connect("destroy",window_destroy); GTK2.HbuttonBox
> btns=GTK2.HbuttonBox()->set_layout(GTK2.BUTTONBOX_SPREAD); foreach
> (labels,string lbl) btns->add(buttons[lbl]=button(lbl,mode_change));
> mainwindow->add(GTK2.Vbox(0,0)
> 
> ->add(GTK2.TextView(buffer=GTK2.TextBuffer())->set_size_request(0,0))
> ->pack_start(btns,0,0,0))->show_all();
> 
> If you're a complete non-programmer, then of course that's an opaque
> block of text.

Thanks for that hideously appalling example of a ridiculously low-level
mess.

If you're an occasional Python scripting dilettant, this looks like a
heap of syntax garbage of exactly that kind that has made me avoid all
C-derived languages at university (I'm a mechanical engineer) and that
makes me avoid GUI programming with Python so far.

If a domain specialist needs an application with a GUI, (s)he
typically only wants to have to tell the framework three things:

1. What the domain model looks like (classes, attributes) and what it
does in terms of behaviour (domain logic, methods). In my use-cases this
would be typically done with SQLalchemy.

2. What the GUI shows of the domain model and how it does it - define
menus with entries, layout forms/dialog boxes with fields etc. This
should be done without having to permanently look up all the specific
details of the API of the GUI framework.

3. What attribute/method of the domain model a GUI element is
"connected to" (sorry for the quotes again). This should be possible in
an interactive way, so that you can test whether GUI and code work
together as required while defining the connections.

Anything else should be done by the framework without the necessity to
write a single line of code for the "straight forward" use cases:
- creating, retrieving, updating, deleting instances of domain model
classes
- setting values of attributes instances of domain model classes
- calling methods of instances of domain model classes

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-14 Thread Wolfgang Keller
> > None of these were such that I could propagate it as GUI development
> > tool for non-programmers / casual users.
> > Sure, some are good for designing the GUI, but at the point where
> > the user code is to be added, most people would be lost.
> 
> There was a time when that was a highly advertisable feature - "build
> XYZ applications without writing a single line of code!".

That's the typical nonsense cheaptalk of sales promotion advertising,
directed at clueless managers.

What is needed for domain specialists are frameworks and related tools
such as GUI builders that allow them to write exclusively the
domain-specific code (this is where a domain specialist will always be
better than any software developer), layout the GUI as ergonomically
convenient (same) and then have the framework do all the rest.

> I've seen it in database front-end builders as well as GUI tools,
> same thing. But those sorts of tools tend not to be what experts want
> to use.

If by "experts" you mean "domain specialists", you're wrong. If you
mean full-time software developers, I don't care for what they want,
because they already have what they want. And where they don't have it
already, they can do it themselves.

> You end up having to un-learn the "easy way" before you learn the
> "hard way" that lets you do everything.

I see no technical reason why a GUI builder would prevent anyone to
add customised code by hand.

No tool/framework can cover 100%, no doubt. My point is that there are
currently no frameworks/tools available for Python that cover the
90/95/98% of use cases where they would help a L-O-T.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-13 Thread Wolfgang Keller
> No matter how cool it may seem to create simple GUIs manually or to
> write business letters using LaTeX: just try to persuade people to
> move from Word to LaTeX for business letters...

Good example.

I have done nearly exactly this* - but it was only possible thanks to
LyX.

Sincerely,

Wolfgang

*I moved not from Wugh, but from other software to LyX/LaTeX for all my
document processing.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-13 Thread Wolfgang Keller
> > Tkinter is imho honestly the very best "argument" if you want to
> > make potential new users turn their backs away from Python for
> > good. Just show them one GUI implemented with it and, hey, wait,
> > where are you running to...
> 
> Yes, Tkinter GUI's are very ugly.
> 
> http://www.codebykevin.com/phynchronicity-running.png
> 
> http://www.codebykevin.com/quickwho-main.png

OK, so after what - one and a half decades? - Tkinter now finally has
caught up with wxPython and PyQt (concerning the look). Which can be
used in an as interactive way from the commandline interpreter as
Tkinter. Argument against Tkinter withdrawn from my side.

But there's afaik still no interactive GUI builder out there for any of
these frameworks, nor a higher level framework that requires less glue
code between bare naked "event handling" and the domain-specific code.
"Event handling" - that term already raises my hair because it stinks
like bulkloads of clumsy, error-prone diligence work that has nothing
to do with the problem I need to get solved.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-13 Thread Wolfgang Keller
> > * Domain experts in fact who would need to implement loads of
> > software to help them get their work done but can't. And since
> > there's no budget for external developers, nothing get's ever done
> > about this.
> Well, typically or at least very often sooner or later something
> gets done about this as someone finds out that all could be solved
> using MS Excel and some macros / VBA programming.

MS Excel is unusable for any kind of serious work, due its serious
design deficiences. But that's off-topic here.

VB(A) is unusable for everyday office automation because it doesn't
offer an interactive commandline interpreter.

Besides, both only run^H^H^Hlimp on a pathologic non-operating system
that's just as unsuitable for any productive work. But that's
off-topic, too.

> I would prefer people to invest the same time into a Python based
> solution.
> But then we're back to the initial point: As long as there's no GUI
> builder for Python, most people will stick to Excel / VBA / VB.

There are quite a few GUI builders out there for Python. The point is
that they are not very "pythonic" imho, i.e. they don't really show
what the advantage of Python is for GUIs over those other languages. And
imho these GUI builders, just like the frameworks that they generate
code for are not very suitable for someone who's not a software
developer by profession. Because they require way too much "glue code".

And unfortunately the origin of this problem seems to be the
open-source development model itself: Since developers of open source
development tools (GUI frameworks, GUI builders etc.) usually
implement these for their own use, and since these people are typically
software developers by profession who come from a C++-dominated
background, they don't see the necessity and they don't have any
motivation to implement anything that would help all those potential
Python users out there who just can't devote the time and effort
required to get over that pretty huge step in the learning curve of
those frameworks and tools.

Please note that this is not meant as criticism to open-source
developers, but as a hint that there might be a business opportunity
for someone here to develop and sell something for money. ;-)

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-11 Thread Wolfgang Keller
> > What "GUI designer" would come the closest to the way that Cocoa's
> > Interface Builder works? I.e. is there any one (cross-platform) that
> > allows to actually "connect" the GUI created directly to the code
> > and make it available "live" in an IDE?
> 
> If you're developing on the Mac, PyObjC allows you to use Interface 
> Builder for developing Python apps.

I know that. And no, I haven't used Interface Builder yet myself, just
because I would need those GUIs also to run elsewhere than on my
private Mac.

> However, there are those of us who are deeply uncomfortable with IB
> and related tools, such as RealBasic and LiveCode/Runtime Revolution.

I haven't used any of these either, just because I don't like those
languages. Their syntax is ugly, static type declarations are imho
perfectly redundant for interpreted languages and besides they don't
offer me an interactive interpreter, which is an absolute must-have for
my day-to-day use of Python - "office automation", ad-hoc "information
logistics" etc. (errr, sorry for those quotation marks again... ;-).

> These tools make code organization very hard by reducing the amount
> of code written to the point of the UI working by "magic," 

Any modern GUI framework has quite a lot of "magic" going on
"behind the curtains" without that the user needs to know or understand
how it works. And this is the way it _should_ be. As long as it is well
documented how to use that "magic".

The current GUI frameworks which are available for Python require way
too much "glue code" that needs to be written by hand, imho simply
because they are primitive wrappers around frameworks for C++
developers who are used to such bulkloads of slave labour. Python as a
language is way ahead of C++, Java, C# etc. in terms of functionality
that you can implement per coding effort required , but it simply lacks
GUI frameworks and corresponding development tools that are equally
efficient.

> and/or by breaking up your code into little snippets that you can
> only view by clicking on the widget in the UI tool.

I remember reading about RAD IDEs/frameworks out there that managed to
integrate/seperate their generated code with/from user-written code
quite well. And which could even use external revision control systems
etc.. Back in the good old days of software diversity, before MS/Java
took over the whole world...

> A related issue is that using a tool such as this makes you heavily 
> dependent on that particular tool, and subject to its developers' 
> priorities, release schedule, and bugs.

This is true with _any_ language, library, framework or software. Heck,
it's even true with hardware! If this was such a show-stopper, we would
still write computer programs like this: 0100011100101010101
Well, certainly not me, in that case.

> The pace of Xcode development--with Apple making frequent changes to
> project formats in a backwards-incompatible way--is an example of
> this.

Wxwidgets/python has a reputation for frequent incompatible API changes,
too...

And Apple's "product politics", oh, well, errr, uhm, don't get me into
that... *sigh*. If only all those third-party applications for MacOS X
were available on Linux, I would happily forget about Apple's very
existence.

> One reason I prefer to code UI's by hand is because a) in Tkinter
> it's very easy to do, 

Tkinter is imho honestly the very best "argument" if you want to make
potential new users turn their backs away from Python for good. Just
show them one GUI implemented with it and, hey, wait, where are you
running to...

> I think these issues are a reason that the slick "drag-and-drop" UI 
> builders tend to be developed by commercial software shops to support 
> their language and/or IDE, but find little traction among open-source 
> developers and languages.

The point is that loads of potential "developers"(*) simply don't
ever get to use Python due to the very lack of such tools (and
corresponding frameworks).

* Domain experts in fact who would need to implement loads of
software to help them get their work done but can't. And since there's
no budget for external developers, nothing get's ever done about this.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-11 Thread Wolfgang Keller
> > What "GUI designer" would come the closest to the way that Cocoa's
> > Interface Builder works? I.e. is there any one (cross-platform) that
> > allows to actually "connect" the GUI created directly to the code
> > and make it available "live" in an IDE?
> >
> > This whole cycle of "design GUI"->"generate code"->add own code to
> > generated code"->"run application with GUI" has always seemed very
> > un-pythonic to me. A dynamic, interpreted language should allow to
> > work in a more "lively", "direct" way to build a GUI.
> 
> I'm curious about your point but I don't really understand it.  Could
> you try again without using any scare-quoted words?

myidea.explanation.retry()

Python has this insanely great thing that e.g. Delphi, Java, C#, Visual
Basic, etc. lack and that's called an interactive commandline
interpreter, which allows you to build GUIs while exploring/trying out
the API of a GUI framework step by step. You simply type the code for
the GUI at the python prompt and your GUI comes directly to life.
Here's an example by someone else:

http://pysnippet.blogspot.de/2010/11/getting-interactive-with-pyqt.html

Now "just" (sorry for those quotes again) imagine a GUI builder that
generates _and_ _runs_ the code (pyqt, wxpython, pygtk, whatever) for
the GUI you edit _while_ you do so.

And now imagine that this GUI builder would be integrated with the IDE
you use (I use one), so that the GUI code is run in the same
interpreter instance as the other code of your application. So that you
can directly interact with your application through the GUI you build
while you do so.

The advantage of using a GUI builder over typing the code into the
interpreter window would be that users who rarely implement a GUI(*)
would not need to re-dig into the details of the API every time. This is
especially tedious since those APIs are essentially C++ APIs wrapped
in Python and thus they are honestly simply §$%&@# to use for a certain
type of Python user(*). And the lack of Python-specific documentation,
tutorials etc. doesn't really help. Did I mention yet that just having
to read C++ example code in documentation makes me spill my last meal
over keyboard, screen etc.?

Of course there's PyGUI, but that's unfortunately far from being as
complete as PyQt or wxPython and unless someone creates something like
an equivalent of Apache Software Foundation for Python, declares PyGUI
as the canonical Python GUI framework and funds the work needed to
complete it... And then you still need a GUI builder for it. *sigh*

> Maybe given an example of creating a small text editor application
> with a GUI builder/ IDE in this Pythonic way you are hoping for.

I'm not into text editors as example applications since I don't
develop text editors, I rarely even use one. And besides, I don't think
any typical user(*) of such a GUI builder would ever implement a text
editor in his whole life.

Personally, my typical use of such a GUI builder would be for database
applications. Which make up, according to my experience, for at least
90% of all custom-built applications in companies. Today, these
applications have to be made by external, paid developers who have
typically no clue of the application domain in question. Consequently,
the applications, no matter how many pages of detailed specifications
you as the domain expert write, never do what you wanted them to do.
Although just writing the specification takes more time than it would
take to implement it myself if only the (GUI) tools and (GUI)
frameworks(**) for Python would be at the level required to make them
useful for such "developers" as me(*). And did I mention that the cost
of external developers (plus the overhead cost for interaction with
them) makes them prohibitive anyway? And did I mention that the time
required such external development (plus the overhead time for
interaction with the external developers) takes doesn't help either?

* Such as "casual" Python scripting dilettants who are not full-time
software developers but domain experts who just use Python to help get
their main work done.

** In my case of database applications, something like this:
http://www.nakedobjects.org/book/
http://www.nakedobjects.org/downloads/Pawson%20thesis.pdf

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

2012-06-08 Thread Wolfgang Keller
> I want a gui designer that writes the gui code for me. I don't want to
> write gui code. what is the gui designer that is most popular?
> I tried boa-constructor, and it works, but I am concerned about how
> dated it seems to be with no updates in over six years.

Sorry to "hijack" your thread, but since this is a very related
question...

What "GUI designer" would come the closest to the way that Cocoa's
Interface Builder works? I.e. is there any one (cross-platform) that
allows to actually "connect" the GUI created directly to the code and
make it available "live" in an IDE?

This whole cycle of "design GUI"->"generate code"->add own code to
generated code"->"run application with GUI" has always seemed very
un-pythonic to me. A dynamic, interpreted language should allow to work
in a more "lively", "direct" way to build a GUI.

TIA,

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Software tool for stochastic simulation as well as for the stochastic optimization

2012-02-09 Thread Wolfgang Keller
> I plan to work in decision support field in environmental engineering
> so I will use both the stochastic simulation as well as the stochastic
> optimization.
> I would like to select the best for both approaches software tool.
> 
> what you suggest ... Matlab ... python ... something else?

I have no clue whether it does stochastic simulation and optimisation,
but R is THE free open-source statistic analysis tool. It does have
a Python interface, RPy. And there's a free open-source replacement for
Matlab, Scilab. Which has a Python interface as well.

Sincerely,

Wolfgang

-- 
HOMO HOMINI HOSTISIN FELIBUS FELICITAS
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: open office in another language?

2012-01-13 Thread Wolfgang Keller
> I'm a somewhat-satisfied openoffice.org user. I mean it works, but if
> it weren't in Java I'd be doing some of my own tweaking. But since
> it's in Java I stay away... no likey.

OpenOffice (now LibreOffice, btw.) is not implemented in Java, if that's
what you mean.

It _is_ scriptable in Python, however there doesn't seem to be any
documentation available. Ask on the Libreoffice-users list.

> Has there been any talk of doing another similar office suite, or
> maybe just writer + spreadsheet, in a better language eg python?

You wouldn't implement "Office"-style software entirely in Python.

Other FOSS "Office"-style software apart from LibreOffice is, e.g.
Abiword and GNUmeric. Both are scriptable in Python as well, iirc.

And, of course, there's LyX (also scriptable in Python), which I do
prefer a L-O-T over "word processor" applications for writing. And there
is Pyspread.

Sincerely,

Wolfgang

-- 
HOMO HOMINI HOSTISIN FELIBUS FELICITAS
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: PyGUI 2.5

2011-06-17 Thread Wolfgang Keller
> Lots of new stuff in this version. Highlights include:

>- GridView - a user-defined view consisting of a regular grid of
> cells.
> 
>- PaletteView - a GridView specialised for implementing tool
> palettes.

Any chance to see a hierarchical multi-column TreeListView anytime soon?

Sincerely,

Wolfgang

-- 
Führungskräfte leisten keine Arbeit(D'Alembert)

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python Card alternatives?

2011-06-13 Thread Wolfgang Keller
> > Are there any other, better solutions?
> 
> Others are e.g.:
> - Pypapi
> - Camelot
> - Kiwi
> - Sqlkit
> - Gnuenterprise

And I've just learned of another one:

- QtAlchemy

Sincerely,

Wolfgang

-- 
Führungskräfte leisten keine Arbeit(D'Alembert)

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python Card alternatives?

2011-06-12 Thread Wolfgang Keller
> Are there any other, better solutions?

Others are e.g.:
- Pypapi
- Camelot
- Kiwi
- Sqlkit
- Gnuenterprise
etc...

Sincerely,

Wolfgang

-- 
Führungskräfte leisten keine Arbeit(D'Alembert)

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Make Python "portable" by default! (Re: Python IDE/text-editor)

2011-04-18 Thread Wolfgang Keller
> >> You can't run Python programs without a Python interpreter
> >> installed.
> >
> > Wrong.
> >
> > See e.g. http://www.portablepython.com/
> 
> Uhm... how does that disprove? 

Which part of the word "installed" don't you understand while actually
using it? >;->

> Whatever language you distributed code
> is in, you need something on the computer that can read it. 

The point is that you don't need to _install_ it. If the developer has
a brain.

Sincerely,

Wolfgang
-- 
http://mail.python.org/mailman/listinfo/python-list


Make Python "portable" by default! (Re: Python IDE/text-editor)

2011-04-17 Thread Wolfgang Keller
> You can't run Python programs without a Python interpreter installed.

Wrong.

See e.g. http://www.portablepython.com/

BTW: Imho, the Python interpreter should be made
"portable" ("zero-install") _by default_. "Installing" it should be
purely optional.

Sincerely,

Wolfgang Keller
-- 
http://mail.python.org/mailman/listinfo/python-list


Generating diagrams from PostgreSQL with Python (Re: postgresql_autodoc in Python?)

2009-12-10 Thread Wolfgang Keller
Hello,

I will re-precise my question:

Has anyone ever implemented a script in Python that generates documentation 
(especially diagrams, in a format such as e.g. Dia, Inkscape SVG or Tikz) for a 
PostgreSQL database either from an SQL script or by connecting to the database?

Postgresql_autodoc is unfortunately written in Perl. >;->

TIA,

And, btw., please respect my .sig,

Sincerely,

Wolfgang Keller

-- 
NO "Courtesy Copies" PLEASE!
-- 
http://mail.python.org/mailman/listinfo/python-list


postgresql_autodoc in Python?

2009-12-07 Thread Wolfgang Keller
Hello,

has anyone ever implemented something similar to postgresql_autodoc in Python?

TIA,

Sincerely,

Wolfgang

-- 
NO "Courtesy Copies" PLEASE!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python for professsional Windows GUI apps?

2009-08-25 Thread Wolfgang Keller
> I need controls for business apps like access to databases, good data
> grid, printing reports (with or without barcodes), etc.

The area of _desktop_ database application development indeed looks like a vast 
and very hostile desert in the Python landscape.

The only framework that seems to be worth trying is Dabo. Unfortunately there's 
little documentation, and that's mostly outdated.

There's also Kiwi, but that's even less well documented.

And GNU Enterprise essentially seems to be dead.

Sincerely,

Wolfgang

-- 
NO "Courtesy Copies" PLEASE!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python package Management GUI - New Project on Sourceforge

2009-02-02 Thread Wolfgang Keller
> David, I would really recommend that you
> seriously consider using the Tcp/Tk toolkit.

I would seriously disrecommend using Tcl/Tk.

> Why ?

Because it doesn't allow to build a GUI application with not-ridiculous
functionality, "look-and-feel" and quirk-free behaviour.

> Because of my point above, you'll find the tool will most likely have
> a greater impact and uptake than one requiring a user or developer to
> install a 3rd party toolkit and library just to use your gui package
> manager :)

I'm using applications that use wxPython, PyGTK, PyQt etc. every day
that don't require to "install" anything, not even _themselves_. In fact
this (zero-install applications) is the _only_ actually "simple" way to
distribute applications. And it is the standard way to distribute
applications for the Mac.
--
http://mail.python.org/mailman/listinfo/python-list


Re: New to python, open source Mac OS X IDE?

2009-01-30 Thread Wolfgang Keller
> I'm on a Mac. I use Netbeans for Java, PHP, and C if needed. Do you
> even use an IDE for Python?

WingIDE
 
Not open source, but by far the best that I've tried.

Sincerely,

Wolfgang
--
http://mail.python.org/mailman/listinfo/python-list


Re: Does omniORBpy 3.2 supports DII?

2008-07-10 Thread Wolfgang Keller
> My apologies if this is not the correct forum for thses quiestions, 

It's not the wrong place to ask, but you're more likely to get answers
from the omniORB mailing lists:

http://www.omniorb-support.com/mailman/listinfo

Sincerely,

Wolfgang
--
http://mail.python.org/mailman/listinfo/python-list


Modeling (Re: Pythonic ORM with support for composite primary/foreign keys?)

2007-11-09 Thread Wolfgang Keller
Hello,

thanks for the hints towards Elixir and Storm.

In fact I would have loved to use Modeling 
(http://modeling.sourceforge.net/), as it seems to fulfil all my 
requirements perfectly so far, except the one with the composite keys. 
In particular I like its proximity to EOF (R.I.P.) concerning the basic 
concepts and the notification service. I would like the notification 
service even more if it was possible to send notifications directly 
from PostgreSQL. ;-) Well, maybe that would even be possible using 
PL/Python... :-?

Modeling imho is especially well documented and at a first glance the 
sourcecode seems to be quite comprehensible even to me (unlike 
SQLAlchemy :-( ). The author has stated that composite keys were 
foreseen to be implemented and that the code was already written 
considering this feature.

So I'll maybe even try to "hack" it until it works for my schema, with 
(hopefully) some spoonfeeding by the original author. But in case my 
skills aren't enough to actually make it work, I need a fallback 
option.

Maybe someone could even convince someone else >;-> to implement a 
"plug-in" for Gaphor (or for MetaEdit) for Modeling, so that one could 
generate (and round-trip) nice "colorful and children-suitable" 
diagrams for the CXOs... >:->

TIA,

Sincerely,

Wolfgang Keller


-- 
http://mail.python.org/mailman/listinfo/python-list


  1   2   >