473,386 Members | 1,715 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Live editing...

There's been some chatter on edu-sig (python.org) of late regarding
Python's
capabilities in the "edit/continue" tradition, meaning debugging
tools, and/or
IDE tools, that give the developer real time write access to running
programs.

I think a good design would be something like the ZODB, or the ZODB
itself,
to save the entire working environment, like a Smalltalk image, at
which point
a "supervisor Python" (a whole different instance, perhaps on another
chip),
could do "brain surgery" on the "hibernating Python" (like a patient
undergoing
surgery).

You basically simulate or emulate the "operating table" version,
without putting
yourself at its mercy. If you break it completely, while doing your
brain surgery,
just abort the instance and roll back to the previously saved
version. It's like
sitting on top of a version control system, while never getting to
directly edit the
currently operating version (the supervisor).

The alternative, allowing a developer to undermine his/her own running
platform,
seems to unnecessarily conflate a runtime and design time mode, which
isn't
just some stupid prejudice.

We need that separation, just as we keep distance between production
and
development copies of things.

Don't fix a running engine if you can fix an emulated running engine.
Once you're
happy with your changes, commit, and set it running for real. It
still might crash,
which is why you're glad for rollback capabilities.

Smalltalk images meet CVS?

Python atop Mercurial?

Kirby

Jul 31 '07 #1
4 1265
This is unrelated to the topic of the original poster, and is
unrelated to Python; hence the off-topic marker. I'm also not saying
anything targeted at the original poster, but rather using this
message as an opportunity to ask a question.

"ki*********@gmail.com" <ki*********@gmail.comwrites:
There's been some chatter on edu-sig (python.org) of late regarding
Python's
capabilities in the "edit/continue" tradition, meaning debugging
tools, and/or
IDE tools, that give the developer real time write access to running
programs.

[... more lines of broken line wrapping...]
What the blazes is Google doing with messages that such a high
proportion of them come through in this painful-to-read double-wrapped
format? I'm referring to the fact that the lines appear to have been
wrapped at one length, and then each line broken again into a long and
a short line.

These are so awkward to read that I usually skip straight past them
without attempting to parse them, which isn't a benefit to anybody
(leaving aside snide remarks about the potential of negative value
from my contributions).

Is it some setting that users are enabling, or is it the default
behaviour?

More importantly, whom do we beat with the clue-by-four to make it
stop?

--
\ "For of those to whom much is given, much is required." -- |
`\ John F. Kennedy |
_o__) |
Ben Finney
Aug 1 '07 #2
Ben Finney <bi****************@benfinney.id.auwrites:
[... more lines of broken line wrapping...]
What the blazes is Google doing with messages that such a high
proportion of them come through in this painful-to-read double-wrapped
format? I'm referring to the fact that the lines appear to have been
wrapped at one length, and then each line broken again into a long and
a short line.
Users write in a text editor formatting the text into lines of
reasonable size, separated by newline characters. They then paste the
text into a web form, which reformats it with slightly shorter lines
(breaking up the user's longer lines) but leaves the user's newlines
in place.
Aug 1 '07 #3
What the blazes is Google doing with messages that such a high
proportion of them come through in this painful-to-read double-wrapped
format? I'm referring to the fact that the lines appear to have been
wrapped at one length, and then each line broken again into a long and
a short line.
I entirely agree with Ben Finney's remarks. Painful for
an author to see a post mangled that way too, writers
being also readers.

Back to the original thread (sort of): I think the deeper
issue is the relationship between "shell" (REPL),
"debugger" (per WingIDE 101 for example) and "runtime"
ala Python just crunching through a .py file.

The OLPC people are pushing for exotic "live debugging"
and think Python is deficient in this regard, not as a
language so much as an environment (which Guido need take
no responsibility for, though he often has and does).

My tossing out of some ZODB-based solutions was mostly
just an ice-breaker. I don't mind that it ended up
prompting discussions of formatting.

Anyway, back to thinking about iterator types:
http://mail.python.org/pipermail/edu...st/008168.html
( python.next() might trigger a fork/jump to a next "live"
interpreter, leaving behind "snake skin" or "ghost" interpreter
available for "live" interventions? ).

Kirby

Aug 5 '07 #4
On Jul 31, 10:38?pm, Paul Rubin <http://phr...@NOSPAM.invalidwrote:
Ben Finney <bignose+hates-s...@benfinney.id.auwrites:
[... more lines of broken line wrapping...]
What the blazes is Google doing with messages that such a high
proportion of them come through in this painful-to-read double-wrapped
format? I'm referring to the fact that the lines appear to have been
wrapped at one length, and then each line broken again into a long and
a short line.

Users write in a text editor formatting the text into lines of
reasonable size, separated by newline characters. They then paste the
text into a web form, which reformats it with slightly shorter lines
(breaking up the user's longer lines) but leaves the user's newlines
in place.
Google used to provide a preview before actual posting,
but that is no longer available, so there's nothing the
poster can do about it.

Aug 5 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Dan Weeb | last post by:
Hi All, I have struggled through this far with help from many of you so thanks. I am stuck again. I am really new to this so don't be harsh :-) There are a few problems. You can run the script...
1
by: nospam | last post by:
Amazon wins patent for ordering forms, Collapsing and Maximizing Form Areas.... NAME OF PATENT Method and system for displaying and editing of information # 6,615,226 ...
383
by: John Bailo | last post by:
The war of the OSes was won a long time ago. Unix has always been, and will continue to be, the Server OS in the form of Linux. Microsoft struggled mightily to win that battle -- creating a...
10
by: David T. Ashley | last post by:
Hi, I'd like to do some basic graphics. For example, if you look at: http://www.marshallaviationcenter.com the banner graphics at the top that apparently used an image editor with some...
1
by: AndrewDucker | last post by:
I've just started working with some people that have an odd setup and I'm wondering if someone can point out a better way of doing things (or what I'm doing wrong). They have a base form class,...
3
by: Tina | last post by:
Does anyone know of an asp.net general purpose table editing tool that will allow users to add modify and delete data? Thanks, T
23
by: Steven D'Aprano | last post by:
I defined a nested function: def foo(): def bar(): return "bar" return "foo " + bar() which works. Knowing how Python loves namespaces, I thought I could do this:
9
by: pvsundarram | last post by:
hey, i am trying to cancel the keydown event for certain keycodes( for eg:- enter key ).But the cancelling of this event is not happening in firefox. Is there any way to cancel the event in the...
7
by: Danny | last post by:
Hello: I would like to develop a browser extension, or whatever such a thing is classified as, that would allow a user of IE6, and possibly IE7, to switch between a live and development page. ...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.