edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
* [Edbrowse-dev]  wiki v2
@ 2014-02-27 21:20 Karl Dahlke
  0 siblings, 0 replies; 4+ messages in thread
From: Karl Dahlke @ 2014-02-27 21:20 UTC (permalink / raw)
  To: Edbrowse-dev

> Would it be worth pointing out that this is one feature that makes
> edbrowse incompatible with ed?

Yes, thank you. Will do.

Karl Dahlke

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Edbrowse-dev] wiki v2
  2014-02-26 13:06 Karl Dahlke
  2014-02-26 16:58 ` Adam Thompson
@ 2014-02-27 21:07 ` Chris Brannon
  1 sibling, 0 replies; 4+ messages in thread
From: Chris Brannon @ 2014-02-27 21:07 UTC (permalink / raw)
  To: edbrowse-dev

Looks good.  I have a correction and a suggestion.

Karl Dahlke <eklhad@comcast.net> writes:

> Thus edbrowse version 1.5.7 is still available today.

s/1.5.7/1.5.17.

> <li>The regular expressions of ed have been replaced with
> [[perl compatible regular expression]]s, which have more power and flexibility.

Would it be worth pointing out that this is one feature that makes
edbrowse incompatible with ed?  I think there might be a couple of
others, but I don't recall which ones off the top of my head.
In any case, edbrowse isn't a drop-in replacement for ed, as I've found
on a couple of occasions, and perhaps that's worth a mention.

-- Chris

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Edbrowse-dev] wiki v2
  2014-02-26 13:06 Karl Dahlke
@ 2014-02-26 16:58 ` Adam Thompson
  2014-02-27 21:07 ` Chris Brannon
  1 sibling, 0 replies; 4+ messages in thread
From: Adam Thompson @ 2014-02-26 16:58 UTC (permalink / raw)
  To: Karl Dahlke; +Cc: Edbrowse-dev

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

On Wed, Feb 26, 2014 at 08:06:18AM -0500, Karl Dahlke wrote:
> Every now and then I pop back and fiddle with the wiki article,
> making some of the changes you suggested.
> I still think there should be some mention of the command line approach,
> as that was the seed for edbrowse, but as you say it is not the focus,
> so I have reduced it to a small paragraph;
> followed by an overview of the features as Adam suggested.

It definitely reads better now, and I think it's probably worth a shot at submiting it.

> I wanted to put features in a bullet list, and as best I could tell
> from their docs, that is done using traditional html.
> It's a weird markup: part html, part their own syntax,
> and part tags that look like html but aren't, like the tag
> <syntaxhighlight lang=c>
> which I think we're suppose to use when writing code
> similar to C code.
> Well I don't really know.

That sounds like a weird mess.  Well done for working it out.

> fortunately there is a button you can push that says <preview>,
> to see how it would look befure submitting it,
> so I can check all these guesses I am making in markup language and format.

Yeah.

Cheers,
Adam.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Edbrowse-dev] wiki v2
@ 2014-02-26 13:06 Karl Dahlke
  2014-02-26 16:58 ` Adam Thompson
  2014-02-27 21:07 ` Chris Brannon
  0 siblings, 2 replies; 4+ messages in thread
From: Karl Dahlke @ 2014-02-26 13:06 UTC (permalink / raw)
  To: Edbrowse-dev

[-- Attachment #1: Type: text/plain, Size: 10350 bytes --]

Every now and then I pop back and fiddle with the wiki article,
making some of the changes you suggested.
I still think there should be some mention of the command line approach,
as that was the seed for edbrowse, but as you say it is not the focus,
so I have reduced it to a small paragraph;
followed by an overview of the features as Adam suggested.
I wanted to put features in a bullet list, and as best I could tell
from their docs, that is done using traditional html.
It's a weird markup: part html, part their own syntax,
and part tags that look like html but aren't, like the tag
<syntaxhighlight lang=c>
which I think we're suppose to use when writing code
similar to C code.
Well I don't really know.
fortunately there is a button you can push that says <preview>,
to see how it would look befure submitting it,
so I can check all these guesses I am making in markup language and format.

-------------------------------------------------------

'''Edbrowse'''
is a combination [[Text editor|editor]],
[[Web browser|browser]],
and [[mail client]] that runs in command line mode.
It does not display files or web pages in two dimensions across the screen;
instead it accepts commands and prints responses,
much like the [[Unix shell|shell]].
Edbrowse was modeled after [[Ed_(text_editor)|ed], one of the earliest Unix editors,
though there are many more features, such as editing multiple files
simultaneously and rendering web pages as text.
It is a browser that acts like ed, thus the name edbrowse.
This program was originally written for
[[Blindness|blind]] users, but many sighted users have taken advantage of its
[[Script (computer programming)|scripting]] capabilities.
A [[batch job]] or [[cron job]] can access web pages on the [[internet]], submit forms,
and send [[email]], with no human intervention whatsoever.
Edbrowse can also tap into [[database]]s through [[odbc]].
A traditional substitute command updates the corresponding row in an [[sql]] table,
and similarly for insert and delete.
This [[open-source software|open source]] package is included in several [[Linux distribution]]s
<ref>[https://packages.debian.org/search?keywords=edbrowse ''Edbrowse'' distributed by Debian]</ref>
<ref>[http://packages.ubuntu.com/lucid/edbrowse ''Edbrowse'' on ubuntu]</ref>
<ref>[https://aur.archlinux.org/packages/edbrowse-git ''Edbrowse'' on arch linux]</ref>
and in [[free BSD]]
<ref>[http://comments.gmane.org/gmane.comp.web.edbrowse.devel/91 ''Edbrowse'' on free bsd]</ref>.

== Command Line Philosophy ==

Edbrowse is part of a larger philosophy,
wherein editors, browsers, mail clients, spreadsheets, and other critical [[computer application|applications]]
are rewritten from the ground up if necessary
to support various [[disability|disabilities]].
This stands in contrast to the [[Front_and_back_ends|front end]] approach,
which modifies or enhances the input/output layer and leaves the applications alone.
[[Microsoft Explorer|Explorer]], [[Microsoft Outlook|Outlook]], and [[Microsoft Word|Word]]
all run without modification,
while a [[screen reader]] such as [[Window Eyes]] converts the words or [[computer icon|icons]] into speech or [[braille]].
The adapter is written once, and maintained as stand-alone software,
supporting almost any application that anyone could write.
This has obvious technical advantages,
and is the most practical path to accessibility,
but a small minority of disabled users find the experience suboptimal.
A sighted user quickly locates items on the screen by moving his eyes,
but the efficiency and speed of this visual interface is lost when those eye movements are replaced with a mouse and a screen reader.
A command line editor, in contrast, allows the user to jump to a particular location in a file or on a web page
by searching for a text fragment or [[regular expression]].
There is more typing, but less output,
which some people find desirable when that output is run through the linear channel of speech or braille.

Rewriting and maintaining these large and complicated programs,
such as a browser with all its [[Browser_plugin|plugins]],
is a daunting task that has received little support from government and industry to date.
Still, the core of [[Unix]] and [[Linux]] consists of command line utilities,
starting with the shell,
and a few intrepid volunteers continue to write and maintain higher level applications
such as browsers and database editors,
to keep the command line philosophy alive.

== History ==

In 2002, Karl Dahlke wrote the first version of edbrowse in [[perl language|perl]].
It lacks many important features, such as [[javascript]] support,
but it has one overarching advantage, it is 100% portable.
It can be run on [[Linux]], [[Unix]], [[OS X]], or [[windows operating system|Windows]],
provided perl is installed.
Thus edbrowse version 1.5.7 is still available today.
It is not maintained, but curious users can run the perl version as a test,
to see if they like the edbrowse interface,
or the command line philosophy in general.

Version 2 provided limited javascript support through a home-grown javascript interpreter,
but keeping up with the ever evolving standards of [[Client-side_scripting|client side javascript]] was impractical,
so in 2008 Karl wrote version 3,
which incorporates the open source
[[SpiderMonkey (JavaScript_engine)|Spider Monkey]]
javascript engine, also used by [[Firefox_browser|FireFox]].
This gives edbrowse an improved level of javascript support,
and provides access to more websites,
though a complete [[document object model]] is still under development.

== Features ==

<ul><li>Edbrowse can edit multiple files or browse multiple websites simultaneously, and transfer blocks of text between them in a manner similar to
[[cut and paste]].
for instance, edbrowse *.c accesses all the C sourcefiles in the current directory.</li>

<li>The regular expressions of ed have been replaced with
[[perl compatible regular expression]]s, which have more power and flexibility.
This simplifies the task of finding or modifying text in a large document.
You can, for instance, replace each instance of the word foo,
not foot or food but foo by itself,
in upper or lower case,
with the word bar,
as long as foo is not followed by an exclamation point or a question mark.</li>

<li>Edbrowse can fetch a web page from the internet as easily as it opens a file on the current computer,
using [[http]], [[https]], or [[ftp]].
Once the page is fetched into the active buffer, it can be browsed, or rendered as text, using the b command.
This supplements the other one-letter commands which were already part of ed.
Once the page is browsed, the user can go to [[hyperlink]]s or fill out and submit forms.</li>

<li>The -fm option turns edbrowse into an interactive email client.
It fetches mail from one or more [[pop3]] accounts and presents these emails to the user one at a time,
where they can be read, deleted, or saved to a file for future reference.
Filters can automatically save certain emails to certain files, based on subject, sender, or destination email address.
Other options cause edbrowse to send mail using [[smtp]].
[[Internet_Message_Access_Protocol|imap]] is not yet implemented.</li>

<li>In database mode, edbrowse can access selected rows and columns of an [[sql]] table through [[odbc]].
The insert, substitute, and delete commands of edbrowse now correspond to the insert, update, and delete operations of a database respectively.
This feature is well tested on some databases, and completely untested on others.
Since text editing has consequences outside the context of the current buffer, there is no undo command.
When a row is deleted it is gone, without any chance of retrieval.
Fortunately, [[referential integrity]] often prevents these unintended deletions.</li>

<li>When editing a directory, each line of text corresponds to a file.
Again, the substitute command renames a file,
while the delete command removes a file,
or moves it to the [[Trash_(computing)|trash can]], depending on your edbrowse configuration.
There is no undo operation,
thus moving files to the trash can is safer.
However, this does not free up any disk space.</li>

<li>The edbrowse configuration file can contain functions, similar to the .bashrc file in Linux.
These functions can invoke other edbrowse commands,
along with [[conditional_branch|branching]] and [[for_loop|loops]] based on the success of these commands.
This simple example [[newline|converts]] a text file from dos to unix by removing cr ([[ascii]] 13) from the end of each line.
If any changes were made, the file is written back to disk.
The * in the if statement is true if the previous command was successful. <syntaxhighlight lang=c>
function+undos {
	,s/\r$//
	if(*) {
		w
	}
}</syntaxhighlight></li></ul>

== User Impressions ==

Edbrowse is sometimes described as dense in its code and in its [[human interface]].
It contains many cryptic one and two letter commands,
and few interactive help facilities.
There is no menu, no dialog, and no screen of intuitive icons to click on.
Like [[bash shell|bash]], edbrowse greets the user with a blinking cursor,
waiting for input,
and if that input is syntactically incorrect, edbrowse prints a question mark.
Thus it is important to read the edbrowse user's guide before diving in.

For those who persevere, edbrowse can become an effective multi-purpose tool
that presents one common interface for an assortment of tasks
such as editing files, managing directories, receiving email, and surfing the net.
William McEwan,
of the
[[Puppy Linux]] forum,
describes edbrowse this way.

"The first few days I tried to use this program (based partly on the old UNIX
ed) I thought I was in a living nightmare.
But then the sun began to shine.
Its so easy now,
I can literally do it with my eyes closed.
Sure, it has its limitations,
limited javascript support and so on,
but it also comes with much potent magic."

== External Links ==

[http://the-brannons.com/edbrowse Edbrowse home page], maintained by Chris Brannon

[http://www.eklhad.net/edbrowse/philosophy.html The command line philosophy], by Karl Dahlke

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-02-27 21:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-27 21:20 [Edbrowse-dev] wiki v2 Karl Dahlke
  -- strict thread matches above, loose matches on Subject: below --
2014-02-26 13:06 Karl Dahlke
2014-02-26 16:58 ` Adam Thompson
2014-02-27 21:07 ` Chris Brannon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).