473,406 Members | 2,404 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,406 software developers and data experts.

New Karrigel page in Wikipedia

For those interested in the simplest, easiest and most pythonic web
framework out there, there's a new page in Wikipedia:

http://en.wikipedia.org/wiki/Karrigell

Apr 12 '06 #1
24 2318
Luis M. González wrote:
For those interested in the simplest, easiest and most pythonic web
framework out there, there's a new page in Wikipedia:


this all depends on your criteria for simplest and easiest. For me HTML
is pure hell. I avoid it whenever possible because it literally makes
my hands hurt (worse). It's a pain to modify unless you have a WYSIWYG
editor and even then it's still difficult. Stuffing it into Python
strings is a double pain because you have to figure out how may times
you have to quote your percent signs depending on how may times you
render a string.

A year or so ago, I discovered aether (google aether manual) and my
heart was filled with joy because here was a markup language I could
dictate using speech recognition and save myself a great deal of pain
when producing web applications. Or so I thought.

[bold language is reasonably [bigger simple]] and unlike most
higher-level markup languages, it's built out of English words,'[', and
']' which is why it is handicapped friendly. The other advantage of this
framework is that it is easy to build your own [words and build
application specific vocabularies.

But aether by itself brought sorrow with it as well. The original
creator was no longer interested in extensions and the ability to create
CGI programs was flawed. So in conjunction with an unnamed accomplice,
we set about expanding aether and renamed the project Akasha.

I simplified the CGI environment significantly. the simplifications
make creating CGI significantly easier than with the traditional python
module. Each displayed page or page hierarchy is associated with an
object. Each object uses the __init__ method for the usual (i.e.
instance, and variable initialization). The page_init method is called
before a page is rendered and displayed. This gives you the ability to
dynamically create markup elements before rendering the page the first
time. additional methods can be added and provided one follows the
right naming convention, associates each method with a HTML form button.

once the button has been pushed, all of the CGI variables are stuffed
into a dictionary. Returning data from CGI is simple as well. there is
a dedicated dictionary which contains information that can be revealed
in a rendered page.

The nice thing about this structure for me is that the markup
environment doesn't embed any Python but there is a clear channel for
communicating both data and markup notation to the display side of the
house. I'm not happy that I have markup in my Python but at least I can
restrict how far it spreads.

Akasha is not perfect, it's not full-featured, it doesn't have any
databases associated with it (thank god), but for me it's a dream to use
in contrast to the half a dozen web frameworks I tried.

if you want to play with it, let me know and I will update CVS at
https://savannah.nongnu.org/projects/akasha with the current work in
progress

--- eric

ps. If you check wikipedia it has some rather amusing uplifting
definitions for Akasha and Akasha records. Although on bad days I think
of Akasha as a code sucking vampire draining the life out of my hands.
Apr 12 '06 #2
> editor and even then it's still difficult. Stuffing it into Python
strings is a double pain because you have to figure out how may times
you have to quote your percent signs depending on how may times you
render a string.
You don't need to do that. You can always use your favorite templating
system. I am using Cheetah.
Akasha is not perfect, it's not full-featured, it doesn't have any
databases associated with it (thank god), but for me it's a dream to use
in contrast to the half a dozen web frameworks I tried.
Karrigell's KirbyBase is strictly optional. I don't use it. And it is
not bound to Karrigell either. You can use it stand alone in any other
app by itself. It just happens to be bundled along and is meant solely
for storage needs between a config file and a small database. So it is
not intended for everything.
if you want to play with it, let me know and I will update CVS at
https://savannah.nongnu.org/projects/akasha with the current work in
progress
Please do. I switched to Karrigell after problems with CherryPy in
'development mode'. I did find Karrigell amazingly simple and it just
stepped out of the way but had all the things I thought were nice about
CherryPy. Because of the simplicity, I did not have to deal with a
single quirk so far. But maybe, I will like your framework better once
I see it.
ps. If you check wikipedia it has some rather amusing uplifting
definitions for Akasha and Akasha records. Although on bad days I think
of Akasha as a code sucking vampire draining the life out of my hands.


Akasha in many [Asian] Indian languages means 'Sky' :-).

Apr 12 '06 #3
Ravi Teja wrote:
You don't need to do that. You can always use your favorite templating
system. I am using Cheetah.


actually, I got burned lots of times using template systems. I think I
live by the minimum new scar tissue metric. After all, the only
intuitive user interface is the mammalian nipple; everything else is
scar tissue.
if you want to play with it, let me know and I will update CVS at
https://savannah.nongnu.org/projects/akasha with the current work in
progress


Please do. I switched to Karrigell after problems with CherryPy in
'development mode'. I did find Karrigell amazingly simple and it just
stepped out of the way but had all the things I thought were nice about
CherryPy. Because of the simplicity, I did not have to deal with a
single quirk so far. But maybe, I will like your framework better once
I see it.


okay then. I uploaded it but you must promise me that you will talk
with me the instant you have any problems. It's still in the "you must
live in Eric's brain" documentation state. I would not say no to any
help bringing this into a more human friendly state.
ps. If you check wikipedia it has some rather amusing uplifting
definitions for Akasha and Akasha records. Although on bad days I think
of Akasha as a code sucking vampire draining the life out of my hands.


Akasha in many [Asian] Indian languages means 'Sky' :-).


the two references I thought were the best was that a Akasha was the
same is aether and that Akasha records are thought to hold all of the
knowledge of mankind, known and unknown. While I do expect that Akasha
will be useful to some people as a small to medium scale web application
environment, I do have enough visions of grandeur to think it might go
bigger. ;-)

---eric

Apr 12 '06 #4

Luis M. González wrote:
For those interested in the simplest, easiest and most pythonic web
framework out there, there's a new page in Wikipedia:

http://en.wikipedia.org/wiki/Karrigell


Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.

--
Ben Sizer

Apr 13 '06 #5
"Ben Sizer" <ky*****@gmail.com> writes:
http://en.wikipedia.org/wiki/Karrigell


Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.


Yes, that article needs some rewriting to fit Wikipedia style. Some
of the content might be better in wikibooks.org instead of Wikipedia.
Apr 13 '06 #6
Ben Sizer wrote:
http://en.wikipedia.org/wiki/Karrigell


Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.


check the page history. it's already been nominated for speedy removal, but the
Karrigell folks deleted the "prod" template ("it's free software!").

</F>

Apr 13 '06 #7
I added an entry in Wikipedia for information, just like other Python
web frameworks have already done. If the style doesn't fit Wikipedia's
I'm sorry and willing to learn how to improve it ; the reason I read
was "Obvious, if elaborate, link spam. Really should be speedied, but I
can't find a CSD that fits this". I don't really understand why it's
called a spam, I don't know what a CSD is and I don't know either who
deleted the prod template, not me anyway. I'll take wikipedia people's
advice into account anyway

Apr 13 '06 #8
"Pierre Quentel" <qu************@wanadoo.fr> writes:
I added an entry in Wikipedia for information, just like other Python
web frameworks have already done. If the style doesn't fit Wikipedia's
I'm sorry and willing to learn how to improve it ; the reason I read
was "Obvious, if elaborate, link spam. Really should be speedied, but I
can't find a CSD that fits this". I don't really understand why it's
called a spam, I don't know what a CSD is and I don't know either who
deleted the prod template, not me anyway. I'll take wikipedia people's
advice into account anyway


CSD = criteria for speedy deletion, <http://en.wikipedia.org/WP:CSD>

Prod = proposed deletion. Anyone is allowed to un-prod it, and in
this case someone did. If nobody un-prods it after 5 days, it gets
deleted automatically. That doesn't apply here, because the article
did get un-prodded.

Next probably comes AFD, article for deletion. That's a consensus
process: there's a 5 day community discussion about what to do about
the article and then an admin comes along and implements the decision.

This article will probably get AFD'd (i.e. entered into the discussion
process). When that happens, I'll recommend keeping the article but
editing it considerably. Basically it needs to be rewritten as a
straightforward description that doesn't sound like advertising.

If there's an AFD, a notice will appear at the top of the article
announcing the AFD and giving a link to participate in the discussion.
Apr 13 '06 #9
Ok, thanks for the information. I have rewritten the page in a more
neutral way and removed the tutorial-like part, I'll put in in wikibooks

Apr 13 '06 #10
"Pierre Quentel" <qu************@wanadoo.fr> writes:
Ok, thanks for the information. I have rewritten the page in a more
neutral way and removed the tutorial-like part, I'll put in in wikibooks


It's much better now, and I think it won't be deleted.
Apr 13 '06 #11
"Pierre Quentel" <qu************@wanadoo.fr> writes:
Ok, thanks for the information. I have rewritten the page in a more
neutral way and removed the tutorial-like part, I'll put in in wikibooks


I don't know if you really want to put the tutorial in wikibooks,
since there's already documentation on karrigell.com. The idea of
wikibooks is to develop books on the wiki. That's maybe a reasonable
way to create new documentation, but in this case it would mean you
have two parallel documents being developed separately.
Apr 13 '06 #12
In article <11**********************@g10g2000cwb.googlegroups .com>,
"Pierre Quentel" <qu************@wanadoo.fr> wrote:
I added an entry in Wikipedia for information, just like other Python
web frameworks have already done. If the style doesn't fit Wikipedia's
I'm sorry and willing to learn how to improve it ; the reason I read
was "Obvious, if elaborate, link spam. Really should be speedied, but I
can't find a CSD that fits this". I don't really understand why it's
called a spam, I don't know what a CSD is and I don't know either who
deleted the prod template, not me anyway. I'll take wikipedia people's
advice into account anyway


Hi Pierre,

As the guy who put the deletion notice on the article, let me explain how
this works, and why I did what I did. My apologies if my comment appeared
abrupt or rude.

CSD stands for "Criteria for Speedy Deletion". It's a set of specific
rules describing types of articles which don't fit Wikipedia's charter. If
an article fits one of the CSD rules, any Wikipedia admin (which I am), can
delete the article on their own, with no further ado. Hundreds of articles
a day are deleted under CSD. Your article did not meet any of those
specific rules. You can read more at http://en.wikipedia.org/wiki/Wp:csd

CSD or not, I still felt that the article was not appropriate for
Wikipedia. Wikipedia is an encyclopedia; it's meant to collect, organize,
and present information about significant things. It is explicitly NOT
meant to be used as a tool to promote things, even things which are being
given away for free. Wikipedia has become one of the most well-known web
sites on the Internet, and is thus often used by people with things to
promote as an easy way to get some free publicity. That is what your
article looked like. I thus took the step of proposing that it be deleted.
I used a relatively new process which gives people 5 days to object to the
proposal, and if anybody does, the article is kept. That's what happened
here. It also prompted it to get cleaned up a lot, which is a Good Thing.

The next step I could take would be to bring the article to what's called
AFD, or Articles For Deletion. At that point, there would be a more formal
debate about the pros and cons of the article vis-a-vis Wikipedia's
charter, and finally some other (neutral) admin would come along and make a
final determination. The article has improved enough that I don't think
I'm going to do that. It still concerns me that you appear to be using
Wikipedia to promote your own work, but I'll leave that up to other editors
to decide what they want to do.

Please don't misunderstand my actions. I'm all for promoting Python, and
your Karrigel system looks interesting. Wikipedia is just not the correct
forum for such promotion. There is a fine line between promotion and
documentation. It's often difficult to know where that line is, especially
when you're personally close to a project.
Apr 13 '06 #13
Luis M. González schreef:
For those interested in the simplest, easiest and most pythonic web
framework out there, there's a new page in Wikipedia:

http://en.wikipedia.org/wiki/Karrigell


There's something I don't quite get regarding the Karrigell- and
CherryPy-style frameworks. With PHP or mod_python I can put any number
of different applications in different directories on a web server,
which is very convenient: all kinds of things I want to use can live
perfectly together (static content, webmail, phpmysql etc etc), all
under Apache which either servers the static content directly or uses
PHP or Python or Perl or whatever for dynamic content.

If I understand everything correctly, Karrigell is meant to be run as
its own server which runs one application. I guess I can run different
Karrigell servers on different ports, and possibly use mod_rewrite to
forward e.g. http://foo.example.com/app1 and http://foo.example.com/app2
to different instances. That's absolutely not elegant though, I think.
Ideally, installing an application should consist of just putting it in
its directory and making that directory available to the webserver.

How do other people do this? Only one application on each (virtual)
server? Or is there something I am missing?

--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton

Roel Schroeven
Apr 13 '06 #14
Roy Smith <ro*@panix.com> writes:
Please don't misunderstand my actions. I'm all for promoting
Python, and your Karrigel system looks interesting. Wikipedia is
just not the correct forum for such promotion. There is a fine line
between promotion and documentation. It's often difficult to know
where that line is, especially when you're personally close to a
project.


I think the current version of the article is ok. The documentation
(past a few illustrative examples) and most of the advocacy is
removed. The program itself is notable and the article is now
comparable to other Wikipedia articles about similar programs.
Apr 13 '06 #15
Tim Williams (gmail) schreef:


On 13/04/06, *Roel Schroeven* < rs****************@fastmail.fm
<mailto:rs****************@fastmail.fm>> wrote:

There's something I don't quite get regarding the Karrigell- and
CherryPy-style frameworks. With PHP or mod_python I can put any number
of different applications in different directories on a web server,
which is very convenient:

[SNIP]
How do other people do this? Only one application on each (virtual)
server? Or is there something I am missing?
Karrigell will happily run multiple karrigell "applications" on a single
server . In your example simply by having different applications at
http://foo.example.com/app1 and http://foo.example.com/app2 will do the
trick.


But I still need to allocate a port for each one, right? And write
rewrite rules to rewrite the urls:
http://foo.example.com/app1 -> http://foo.example.com:port1
http://foo.example.com/app2 -> http://foo.example.com:port2

I don't like to have to run separate processes for each application, but
I guess it will work.
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton

Roel Schroeven
Apr 13 '06 #16
When you talk about the "Karrigell folks" it looks like there's a bunch
of guys out there ploting to rule the world. It's nothing like that.
I just read Pierre's comments about this article, and decided to post a
message in comp.lang.python to let everybody know about it.

Perhaps my post looked like a sales pitch... well, I'm sorry! I think
Karrigel needs some promotion. It's an excellent product and it's been
almost ignored by the community...

I appreciate all the observations regarding Wikipedia's nature, but I
confess that I'm surprised to see you, "python folks", so annoyed by
this article.

Apr 13 '06 #17
The web server in Karrigell is actually application-independant. An
application is a set of scripts or static files, generally stored in
the same directory ; the server parses the http requests, searches for
a file matching this request, processes the file according to its
extension and sends the response

For instance, the distribution provides a number of demo applications
(a calendar, a wiki server, a forum etc) that can be all used when you
start the server

If you want to add a new application you just have to add the files, it
will run without having to restart the server ; if you modify a script
with a text editor, you see the result of the change the next time you
reload the page

Pierre

Apr 13 '06 #18
No, in the document root you create a folder "app1" and put all the
files for the first application in it, and a folder "app2" for the
second application

For http://foo.example.com/app1 the server will search for an index
file in this directory and serve it. You can also specify the script
you want : http://foo.example.com/app1/default.py. Same thing for app2
of course. Absolutely no need to start two instances of the server on
different ports

Pierre

Apr 13 '06 #19
"Pierre Quentel" <qu************@wanadoo.fr> writes:
For http://foo.example.com/app1 the server will search for an index
file in this directory and serve it. You can also specify the script
you want : http://foo.example.com/app1/default.py. Same thing for app2
of course. Absolutely no need to start two instances of the server on
different ports


But they're the same Python interpreter and so there's no protection
between one application and another, right? That might be ok for a
single user running multiple apps, but think of PHP hosting farms that
have thousands of users with separate virtual hosts. It would be
disastrous if they could see each others' data.
Apr 13 '06 #20
"Luis M. González" <lu*****@gmail.com> writes:
I appreciate all the observations regarding Wikipedia's nature, but I
confess that I'm surprised to see you, "python folks", so annoyed by
this article.


I think it's more "wikipedia folks" (I'm one) who found the original
version of the article annoying by Wikipedia standards. Wikipedia is
besieged with hucksters trying to propagate marketing fluff through
the encyclopedia and so they react unfavorably to anything that
resembles that type of material. The current version is much more
suitable as an encyclopedia article. It just needs a little bit of
grammar and punctuation cleanup, no big deal.
Apr 13 '06 #21
Pierre Quentel schreef:
No, in the document root you create a folder "app1" and put all the
files for the first application in it, and a folder "app2" for the
second application

For http://foo.example.com/app1 the server will search for an index
file in this directory and serve it. You can also specify the script
you want : http://foo.example.com/app1/default.py. Same thing for app2
of course. Absolutely no need to start two instances of the server on
different ports


I understand that, but I'd like to keep the current situation unchanged
as much as possible. Currently I have an Apache webserver that serves
some static content plus some dynamic stuff, with a directory structure
somewhat like

/var/www/index.html
/var/www/internal
/var/www/phpmyadmin
/var/www/webmail

etc. (/var/www is Apache's DocumentRoot, obviously). Also I regularly
have some stuff in my homedir

/home/<user>/public_html/foo
/home/<user>/public_html/bar

to play with stuff.

So, I can't run Karrigell on port 80, since that's already in use by
Apache. So I need to run Karrigell on another port, and somehow instruct
Apache to forward some URL's to Karrigell on handle some URL's itself.

For example, suppose I create

/var/www/karrigell1
/var/www/karrigell2

How do I configure everything so that they are accessible via

http://hostname/karrigell1
http://hostname/karrigell2
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton

Roel Schroeven
Apr 13 '06 #22
Tim Williams (gmail) schreef:


On 13/04/06, *Tim Williams (gmail)* <td*******@gmail.com
<mailto:td*******@gmail.com>> wrote:

In Karrigell you could write the host mappings into a karrigell
script (.ks) application, so you wouldn't even need to use
virtual-hosts in the config file. and of course, you could just
write a single ..ks that contains (at least the entry points to )
all your applications

Hmm, out of context this could be misleading so:

In Karrigell you simply put your application into its own directory and
access it via the http://domain/app-dirname - for however many
applications you need.


Yes, assuming you use Karrigell as webserver; but in many situations I
encounter, Apache is used as webserver and I want to keep it that way.
In fact I want to keep everything as it is; I just want some URL's to be
handled by Karrigell (and some others by CherryPy, and some others
possibly by even another framework), and it would be very nice I could
place them in a directory under the DocumentRoot, just like I can do
with PHP for example (not that I like to program in PHP, by the way).
--
If I have been able to see further, it was only because I stood
on the shoulders of giants. -- Isaac Newton

Roel Schroeven
Apr 13 '06 #23
Roel Schroeven <rs****************@fastmail.fm> writes:
/var/www/karrigell1
/var/www/karrigell2

How do I configure everything so that they are accessible via

http://hostname/karrigell1
http://hostname/karrigell2


You mean you want your apache server to proxy the Karrigell pages?

I usually do that with the rewrite module rather than trying to figure
out how to use mod_proxy directly. It's been a while, but you'd
say something like:

RewriteEngine on
RewriteRule ^/karigell1$ http://localhost:1234/karrigell1 [P]
RewriteRule ^/karigell2$ http://localhost:1234/karrigell2 [P]

The ^/karigell1$ is a regexp to say what url's to rewrite, the
http://localhost:1234/karrigell1 (etc) is where you'd run your
Karrigell server, and the [P] tells mod_rewrite to proxy the
target url.
Apr 13 '06 #24
Ben Sizer wrote:
Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.


Because it's Wikipedia? This kind of garbage is the inevitable result
of an "encyclopedia" which anyone can edit.

--
Erik Max Francis && ma*@alcyone.com && http://www.alcyone.com/max/
San Jose, CA, USA && 37 20 N 121 53 W && AIM erikmaxfrancis
Sitting in the den and / Looking at the phone as if it owed / Owed me
a favor -- Blu Cantrell
Apr 13 '06 #25

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

Similar topics

48
by: spibou | last post by:
This concerns the Wikipedia article on C and C++ operators: http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B Until very recently the first table in the page was a very useful one on the...
7
by: Pitaridis Aristotelis | last post by:
There is a free encyclopedia called wikipedia (http://wikimediafoundation.org/). Does anyone knows how to use it in order to get various articles for diplaying them in my application?
1
by: soeren.auer | last post by:
Hi all, we thought it could be interesting to experiment with equipping Wikipedia with some AJAX features. Result is a user interface for Wikipedia, which is largely based on AJAX, thus enabling...
7
by: Jorge Vargas | last post by:
Hi I just hit this page in wikipedia BDFL and it redirected me to Guido's wikipedia entry now without causing any troubles (read flamewar) shouldn't a) that page have an explanation of what...
3
by: shahargs | last post by:
Hi, I'm trying to get wikipedia page source with urllib2: usock = urllib2.urlopen("http://en.wikipedia.org/wiki/ Albert_Einstein") data = usock.read(); usock.close(); return data I got...
13
by: Paddy | last post by:
I would value the opinion of fellow Pythoneers who have also contributed to Wikipedia, on the issue of "Is Python Standardized". Specifically in the context of this table:...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
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
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...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

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.