Tags:
create new tag
, view all tags
I decided it's time to make another list of computer related things I want to accomplish, this time on line.

I will probably phrase most of these as things I'd like to accomplish by programming, but I recognize that I probably won't do many, if any, myself (don't want to talk about why, here, but maybe someday -- much of it has to do with my lack of current programming knowledge / skill). Some of the solutions may come by finding preprogrammed (open source) products that fulfill my needs.

In some cases, maybe others will share similar desires and want to cooperate to develop solutions.

Some of the desires may be almost trivial in some sense, but I list them here partially so that when/if I forget or get tired of working toward one goal I can switch to another (hopefully on a temporary basis).

Some of the goals list a specific product and a modification to it I'd like to achieve, on the assumption that if I accomplished that one modification, it would meet most of my other goals for that type of product. It is possible that I'd find another product that met those goals instead of making the modification to the specific product listed. Also, the assumption that the listed product would meet most of my other goals is usually not well tested -- in many cases the missing modification has stopped my use of that product and once I resolve the known issue I may run into other things that become the next road block.

_Re: "the assumption that the listed product would meet most of my other goals is usually not well tested" -- I recently learned (relearned?) something about AbiWord that provides an example. When I first ran across AbiWord it looked like it could become the word processor I'd want to replace Word(97) on Linux. I recognized a few shortcomings, styles either didn't work or didn't work reliably, and it did not include collapsible outlining. I guess I never even thought about (my need to) have a macro (under discussion) and keystroke recording facility (not even on Bugzilla until I added it recently, so I guess I was not alone in not recognizing this lack (yes, I recognize that not everybody needs this facility, but I cannot be the only one -- it is provided in Nedit and other editors, and other word processors, and may even be included in Emacs (how would I know wink )). _

In some sense (like some other parts of WikiLearn, but I hope not all), this is partially an ego trip -- I'm betting that someday it will become apparent that there are quite a few people who desire similar things and I will take some measure of comfort or pride in having mentioned them here. (And, in future editing of this page, I should strive to remove the ego related stuff.)

See AboutThesePages.

Aside: I need to consider whether "publishing" this list might be a mistake -- perhaps it will take the "wind out of the sails" of some "real" developer who might implement some of these features if he thinks of them himself. That would be unfortunate. I should also perhaps think about the ethics of some of this -- notes:

  • I am not claiming any of these ideas are my original ideas (or maybe I should say are solely my original ideas) -- I very much subscribe to a world view that says necessity is the mother of invention -- if Einstein had not been born we would still have a theory of relativity around this point in time (assuming it's not a colossal mistake) -- somebody else would have come up with it. I see the need for certain things, for my own needs -- (some) others will surely have similar needs resulting in similar ideas (if they have not already resulted in similar ideas).
  • Some of "my" ideas may have come from reading or being exposed to others with the same ideas, and I've just forgotten and then remembered the idea, or forgotten the original source, and just consider it an idea that I happen to have, perhaps shared with many others, but not necessarily created by me.
  • I guess the other ethical type consideration relates to patents, copyrights, and similar, and the ethics (or morals and norms) of scientific research, which I don't really have any experience with. I suspect that, in some circles, publishing "idle speculation" is not considered with favor -- some people would feel that before publishing, "idle speculation" should be researched to some degree and there should be some assurance that anything published is a practical idea. On the other hand, there is the field of science fiction, which, in the person of Jules Verne, may have "invented" submarines (if credit is not given to some Greek (or similar) who actually built a diving chamber in bronze (or similar). This stuff (at least in its present form) is not intended to represent a claim of invention on my part. On the other hand, it may in some instances, indicate prior art (or knowledge, or speculation, or whatever, and may be useful to contest someone else's claim to invention).
  • Anyway, when I attempt to address the above in any conclusive way, I should move it all to another page.

Contents

Goals

Overall

Help establish Linux and Linux applications as a very viable competitor for Windows on the desktop, and even the preference, both in fact and in perception.

General (Literate Programming)

Document any programming I do, and possibly the programming some others do (like if I try to improve the documentation of TWiki or AbiWord (first to suit/serve myself) in a useful way, with a bias towards literate programming styles. (Possibly using Leo.)

Midnight Commander

Get Midnight Commander to display with a (bright) white background.

Progress so far:

  • I've found that specifying white for the background results in a gray background. Based on a response I received to a related question, I have the impression that all background colors are set (by MC) to display darker (less bright) than the same color when used as a foreground color.

  • I've learned that the background can be set to "default" which supposedly makes it transparent. I've tried this when running MC on kde's konsole on Mandrake 9.0, but the background comes out black -- I'm assuming this is because the "root" background of the VT under the console is black, and that one solution would be to find a way to change the colors of the VT to black on white instead of white on black.

AbiWord

Get AbiWord to a point where it has all the functionality I used in Microsoft Word (97). Biggest goal is collapsible outlining, but also need things like automatic TOCs and indexes, group review capability, and some other things that don't come to mind immediately.

Like keystroke recording, and also, not so much for user functionality, maybe optimizing the piece table to minimize duplication of "attributes"? Maybe also a direct TWiki text import and export facility, especially since I now know that the AbiWord filters pretty much import the targetted format directly into (and export out of) the piece table, so creating such import and export filters is almost the equivalent of making the native format of AbiWord the imported format.

Nedit

Help incorporate folding in Nedit?

I've made some progress here, by creating some macros that fold text with TWiki markup based on headings (see NmTWikiFold). The macros could be adapted to work in AbiWord, if the macro facility in AbiWord was in better shape at this point in time.

WikiLearn

Continue to use WikiLearn as my learning notepad and expand it into other knowledge areas (programming) and expand the usability for others, so that others use and contribute to it.

Move it to a site separate from twiki.org, where I have more control, specifically to create additional webs and use a different template.

There are other minor desires related to TWiki -- I'll list a few here now, maybe more later:

  • Set it up to use a dedicated web search engine in place of grep (maybe Namazu?)
  • Get a better display of diffs (like Word style diffs -- show deletions crossed out, additions in bold or underlined, all in, for example, a single instance of a changed paragraph
  • Allow multiple content templates and easy selection among them when you start a new page
  • Set it up to support mirroring, including things like maintaining all pages as static (for faster response in addition to mirroring)
  • Back up features
  • Per page mail notification
  • Start writing a specification of exactly how TWiki works now and then adding some desired modifications with vague notions of possibly rewriting TWiki (with modifications) in some easier (for me) to understand and modify language (like C++, if I pursue learning it, or Turbo Pascal wink )

I think I've listed (most of) these (except the last) and other things elsewhere on WikiLearn, and won't immediately (or maybe ever) try to list them all here.

Wikis

Encourage the use of wikis (TWiki in particular) in place of mailing lists to provide a more static source of information with less traffic -- why should the same question be answered more than once (except for things like improving the answer, updating it for new software versions, etc.) (E.g., see WikiLearn and http://www.abisource.com/twiki/bin/view/Abiword/AbiWordFAQ.)

Learn C++

To support some of the activities listed above (or below)

Learn C

For the same reason as C++ -- not all of the things I want to modify are written in C++

Learn Perl or Python

Maybe these are listed just to say they are not goals. I've fooled around some with Perl, and have a beginning of an understanding, but it just seems like it's based on a foreign mode of thinking that will never be useful to me. We'll see -- I might end up learning more of it than I expect by osmosis or whatever.

Python is often recommended to me as a better alternative than Perl, and I'll keep considering it. Somehow I think C++ is (despite a lot of things I don't like) the language I want to learn, especially now that I've heard one or more projects are working on (I forget what to call it) a C++ equivalent of a java engine (cross platform, web based, etc., etc., etc.)

X Window

Modify X Window so that keyboard shortcuts can be user defined in the X server so they apply to all clients. (Need to think about this a lot more -- maybe defining the shortcuts in the X client makes more sense, then just duplicating the shortcut file for each X client I open, unless I need special modifications for a specific application.) I'm looking for functionality (that I've discussed somewhere else on WikiLearn or my home TWiki) like that provided by some of the old Dos applications (Keyboard Commander, to try to recall a name) that let you define a keyboard shortcut to enter a predefined string into whatever application is active (or has the focus). IIRC, this was even supported by the semi-built in thingie (ANSI?) that let you do things like change the colors of the display and so forth. I don't know why the funtionality doesn't seem to exist in Linux or maybe I just haven't looked in the right place so far.

As a potential alternative to this, modify Klipper to use shortcuts to paste its buffers, and provide additional "fixed" buffers, also with keyboard shortcuts for pasting.

Linux and X Window

I'd like to help reduce application bloat, preferably in a systematic manner. I haven't looked into this stuff in any detail, so I may be duplicating very well known ideas (as is the case for any of "my" ideas). Memory bloat just annoys me.

Some things I'd like to consider:

  • Why not have one (or a small number) of each typical screen widget / control built into the operating system (or one layer above the operating system) so they are available to all applications without having to be duplicated in each. (How does this differ from a .dll or the equivalent in Linux? Is it different? I think so, but could be wrong (as always) -- I would expect these things to be in a layer of the operating system that is "always loaded" (or swapped in and out as part of the operating system, depending of course on available memory).

  • Some of "my" thoughts for the perfect browser tie into this, at least somewhat, mainly those related to maintaining lists of active or recently visited links (I'm not making sense -- I'll have to find where I discussed this before and then expand on it -- ...)

Juke Box

Set up a (Linux) computer as a jukebox to play CDs (actually, to play .wav (or .mp3) files stored on a hard drive), to replace my CD changer that died. Make it controllable over the network (like via a remote X server). (There is/are commercial products like this, and others have done this (IIUC), it should be fairly simple. Include the abilities to store different playlists and for randomly generated playlists, possibly with some criteria (like play Christmas music, at random). Learn how to record some songs from LPs with decent results. (For cases where I have the LP but not the CD.)

I'm collecting notes and resources on ComputerJukeBox.

The Perfect Internet Browser

I'd like to help create the (my) perfect browser that fulfills all my wants and desires. To date, IE and Mozilla are the two best browsers I've used (I've also used the free versions of Opera, and found either some nice features, some speed / low footprint, or both but can't immediately recall). Just listing some of the features I see missing or don't like in one browser or another (I have a page somewhere that covers some of this in more detail).

  • Regardless of the (HTML) content of a page, allow the content to be displayed with many characteristics chosen by the viewer rather than the author of the web page -- things like choosing a plain (white) background, font sizes and styles, wrapping text at the width of the window, etc. (Some of these features exist in one or more (or many) browsers, wrapping text at the width of the window is my current biggest frustration -- the one browser that I've noted that currently does the best job on this is links (which is not my preference for other reasons, but I will explore it further).

  • I've listed some other things elsewhere (on WikiLearn, IIRC), and won't immediately attempt to list them here.

Internet (and LAN) Services

Continue to learn how to set up and use various (Linux) servers to provide Internet and LAN Services.

Things I've had some success with:

  • Apache and TWiki

  • A (local) mailserver using fetchmail, postfix, procmail, imap, and pop3. I'd like to add a good more automatic spam filter, like one of those things based on Bayesian filtering.

  • telnet

  • ssh (although my success here (and on telnet should be classed as almost accidental) -- on various Mandrake installations I've installed and activated ssh -- it works on some and not on others -- haven't correlated it with anything yet -- IIRC, even on some Mandrake installations that I've chosen the "Welcome to Crackers" level of (msec?) security, on some it works and others it doesn't -- so clearly I have a lot to learn

Things on my list (eventually priortize the list -- started already):

  • ftp

  • Samba (including printer sharing)

  • instant messaging (for Internet classes)

  • can't think of all the right phrases, but forwarding X, that is, use an X server on one computer to use/control applications on another computer

  • modperl (to speed up the Internet class TWiki serving, although maybe squid would do the same thing, and there maybe other alternatives (FastCGI???)

  • squid (or similar, to provide an offline cache for browsing in Internet classes)

  • DNS (maybe, just because everybody seems to think I should have a local DNS, and maybe it will speed up browsing)

  • VPN

List from November, 2003

Hmm:

  • Maybe some of the below are long term "stragegic" (?) goals (Learn programming infrastructure) while some on the list below (Learn CVS) are the subgoals (or "tactical" goals) — I might want to have separate lists for the strategic and tactical goals
  • and move the whole list of goals and priorities to another page (do I already have one? — maybe the name should be) Prioritized Goals?

Tentative prioritization:

  1. keyboard macros subset: dig into xnee further, write to developers (IIRC, I joined the mail list)) — write to the mail list (seems an easy enough starter task)
  2. Script for above (convert CVS info page to text or TWiki markup) — spend a little time investigating DocBook, find the DocBook file for CVS info, try a semiautomatic translation (find and replace in Nedit) (or try a DocBook stylesheet??)
  3. Learn CVS / RCS (and record learning using "brute force" copying of CVS info)
  4. Finish NmTWikiFoldSingleHeading (for either one of the simple cases (constrain the outline), or for an arbitrary outline after translating TWiki heading markup to "---+2" style (and vice versa)
  5. Develop mechanism to move askSam for Linux stuff onto WikiLearn? wait awhile, get more experience to see what kind of content ends up on the offline file
  6. Move WikiLearn to new site
    • Consider OWiki vs. TWiki (wait for next release?)
    • Redo templates (convert from old style to modular)
  7. AbiWord export filter for TWiki markup
  8. AbiWord collapsible outlining
  9. keyboard macros (modify X server)

Contributors

  • () RandyKramer - 30 Nov 2002
  • <If you edit this page: add your name here; move this to the next line; and include your comment marker (initials), if you have created one, in parenthesis before your WikiName.>

Page Ratings

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2003-11-18 - RandyKramer
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by PerlCopyright 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiLearn? WebBottomBar">Send feedback
See TWiki's New Look