development practices question
Hello, Can I ask a best-practices question? I feel that what I'm doing is not enough but I'm not sure what is the Right Thing. I know many folks on this list do development of various kinds. I do a lot of web work. I have all my material, including dB table generation and stocking, in a versioning system (it happens to be svn). When I am good, I try to write unit tests, functional tests, and system tests. I develop on a setup that is a different computer from but much like the production system. The part that I don't get is how people bring the material out of the svn archive. That is, suppose I get a bug report and I want to get all the materials for version xxx onto my development machine (or to roll back my production machine to version yyy). Is there a standard way to do that, or at least a library of often-used and debugged routines? (I work in Python.) I can't just make a lot of soft links from the svn tree to where I want things to go for a number of reasons. For instance, one is that Apache's suEXEC refuses soft links. Another is that the soft link tree changes over time so I couldn't roll back to prior versions. Still another is that I need to massage some of the files (say, doing a sed to change the permissions's owner on some dB tables). I wrote a program that does the job for me but it is specialized to my projects, obviously. It has a lot of subroutines that copy to a directory all files whose names match a regular expression, for example, and then I call those subroutines lots of times on the exact structure of my tree. That seems suspiciously like I ought to be using a library, where someone has carefully tested the routines (what if one of the files is a soft link that points nowhere? that got me last week). Is there such a thing but I missed it? Alternatively, maybe I'm doing everything all wrong (it has happened before :-) ). I'd appreciate any tips. Thanks, Jim
Re: development practices question
You bring up a good topic. Write some dist or install scripts, put them in version control, and fix them when you find bugs in them, just like the rest of your development. Also, maybe the export command would be useful: http://svnbook.red-bean.com/en/1.4/svn-book.html#svn.ref.svn.c.export -- Anthony Carrico
Re: development practices question
Hi Jim, Have you used svn export? That is how I deploy from the repository to the development environment. The export command will push out only the files in your project and leave behind all of the svn meta directories and files. It will also omit any files that are not under revision control. In addtion to your repository trunk you should organize your repository further by having branches and tags directories. A branch allows you to have 2 or more independent working revisions. This allows you to try out new features without disturbing your main line of development. A tag would be used to allow you to roll back to any given point in time (you wouldn't be using the rollback command, per se, just exporting from a different, earlier tag). Tags are often used to denote a particular release. On Tue, Feb 5, 2008 at 8:49 AM, Jim Hefferon [EMAIL PROTECTED] wrote: Hello, Can I ask a best-practices question? I feel that what I'm doing is not enough but I'm not sure what is the Right Thing. I know many folks on this list do development of various kinds. I do a lot of web work. I have all my material, including dB table generation and stocking, in a versioning system (it happens to be svn). When I am good, I try to write unit tests, functional tests, and system tests. I develop on a setup that is a different computer from but much like the production system. The part that I don't get is how people bring the material out of the svn archive. That is, suppose I get a bug report and I want to get all the materials for version xxx onto my development machine (or to roll back my production machine to version yyy). Is there a standard way to do that, or at least a library of often-used and debugged routines? (I work in Python.) I can't just make a lot of soft links from the svn tree to where I want things to go for a number of reasons. For instance, one is that Apache's suEXEC refuses soft links. Another is that the soft link tree changes over time so I couldn't roll back to prior versions. Still another is that I need to massage some of the files (say, doing a sed to change the permissions's owner on some dB tables). I wrote a program that does the job for me but it is specialized to my projects, obviously. It has a lot of subroutines that copy to a directory all files whose names match a regular expression, for example, and then I call those subroutines lots of times on the exact structure of my tree. That seems suspiciously like I ought to be using a library, where someone has carefully tested the routines (what if one of the files is a soft link that points nowhere? that got me last week). Is there such a thing but I missed it? Alternatively, maybe I'm doing everything all wrong (it has happened before :-) ). I'd appreciate any tips. Thanks, Jim -- Robert Riggen Zend Certified Web Developer Essex Junction, VT 05452 (802) 578-6719 [EMAIL PROTECTED]
Re: development practices question
Jim, I would echo the two comments you've already gotten: use svn export and branches/tags. Here's an example repo layout: /trunk /branches /1.0.x /1.1.x /tags /1.0.0 /1.0.1 /1.0.2 /1.1.0 /1.1.1 Branch from the trunk, tag from a branch. Bug fix changes only in branches. Delete a branch when it's no longer supported. This is all covered in the svn book http://svnbook.red-bean.com/ which I would highly recommend a read through, cover-to-cover, for anyone using svn. It's really well written, in my opinion. Thanks, Bradley On Feb 5, 2008 8:49 AM, Jim Hefferon [EMAIL PROTECTED] wrote: Hello, Can I ask a best-practices question? I feel that what I'm doing is not enough but I'm not sure what is the Right Thing. I know many folks on this list do development of various kinds. I do a lot of web work. I have all my material, including dB table generation and stocking, in a versioning system (it happens to be svn). When I am good, I try to write unit tests, functional tests, and system tests. I develop on a setup that is a different computer from but much like the production system. The part that I don't get is how people bring the material out of the svn archive. That is, suppose I get a bug report and I want to get all the materials for version xxx onto my development machine (or to roll back my production machine to version yyy). Is there a standard way to do that, or at least a library of often-used and debugged routines? (I work in Python.) I can't just make a lot of soft links from the svn tree to where I want things to go for a number of reasons. For instance, one is that Apache's suEXEC refuses soft links. Another is that the soft link tree changes over time so I couldn't roll back to prior versions. Still another is that I need to massage some of the files (say, doing a sed to change the permissions's owner on some dB tables). I wrote a program that does the job for me but it is specialized to my projects, obviously. It has a lot of subroutines that copy to a directory all files whose names match a regular expression, for example, and then I call those subroutines lots of times on the exact structure of my tree. That seems suspiciously like I ought to be using a library, where someone has carefully tested the routines (what if one of the files is a soft link that points nowhere? that got me last week). Is there such a thing but I missed it? Alternatively, maybe I'm doing everything all wrong (it has happened before :-) ). I'd appreciate any tips. Thanks, Jim
Re: development practices question
Thank you to everyone for the replies. Some people seemed not to understand me, so I apologize. I use svn and I use versions and branching. I know about export. What I'm struggling with is that developing directly from the repository tree is awkward, and I wondered if others know of a better way. One example is that on one machine the apache user is www-data so on that machine the SQL statements look like GRANT insert TO www-data, while on another machine the apache user is apache. (I can't expect to change these things.) Thus I need a script to massage SQL files from one machine to the other. Another example is that Apache's suEXEC is quite fussy about where things are and with what permission so I need a script that copies these files to the right locations and sets the permissions-- soft links will not do. A perhaps sillier example is that invoking a program as /home/svn/package/trunk/bin/util.py is annoying, and setting up other names for the program, such as a tree of softlinks like ln -s home/svn/package/trunk/bin/util.py ~/package/util.py fails when util.py is added or deleted or moved in various versions of the repository. So again I'm looking to set up this softlink tree in a post svn-update script. I'm asking about this post-versioning system script; mine is called installFromRepo.py. One example os a question is that, I have often forgotten to copy the changes on suEXEC scripts back into the repository and I can imagine a tool that knows about the association in both directions. Is there a standard tool for this kind of thing, or at least a buzzword? Or is this something peculiar to my environment and other people just do not see it? Thanks again, Jim
Re: development practices question
Well, what I do is use Apache's config file to set up multiple directories and servers on my development machine. Each server is listening on a different port and provides a different purpose. One is for bug fixing, one is for long-term development, one for pre-release checking, etc. From the httpd.conf file: VirtualHost *:8080 DocumentRoot /home/clients/wherezit_rene/html CustomLog/home/clients/wherezit_rene/logs/access_log combined ErrorLog /home/clients/wherezit_rene/logs/error_log /VirtualHost VirtualHost *:8081 DocumentRoot /home/clients/wherezit_rene2/html CustomLog/home/clients/whreezit_rene2/logs/access_log combined ErrorLog /home/clients/wherezit_rene2/logs/error_log /VirtualHost This gives me multiple sandboxes to play in. I'm working in PHP most of the time and session variables will conflict between the sandboxes, but that's a minor issue. To resolve the rest of the issues that you mentioned, I have a big switch statement in my config.php file that reads: switch ($_SERVER['HTTP_HOST']) { case 'server:8080': $MYSQL_USERNAME = 'rene'; $MYSQL_PASSWORD = 'foobar'; $MYSQL_DATABSE = 'test1'; break; case 'server:8081': $MYSQL_USERNAME = 'johnny' $MYSQL_PASSWORD = 'dundee'; $MYSQL_DATABASE = 'test2'; break; case 'www.wherezit.com': $MYSQL_USERNAME = 'wherezit'; $MYSQL_DATABASE = 'something'; $MYSQL_PASSWORD = 'something else'; break; } If it is the webserver running the scripts, (i.e. actually executing them in a shell) then I reference them relative to the document root of the server: system($_SERVER['DOCUMENT_ROOT'].'../scripts/foobar.php'); So by keeping everything in a single directory tree and letting Apache tell me where that tree is installed, I don't have to bother with linking files in multiple spots. Hope that helps, Rene Jim Hefferon wrote: Thank you to everyone for the replies. Some people seemed not to understand me, so I apologize. I use svn and I use versions and branching. I know about export. What I'm struggling with is that developing directly from the repository tree is awkward, and I wondered if others know of a better way. One example is that on one machine the apache user is www-data so on that machine the SQL statements look like GRANT insert TO www-data, while on another machine the apache user is apache. (I can't expect to change these things.) Thus I need a script to massage SQL files from one machine to the other. Another example is that Apache's suEXEC is quite fussy about where things are and with what permission so I need a script that copies these files to the right locations and sets the permissions-- soft links will not do. A perhaps sillier example is that invoking a program as /home/svn/package/trunk/bin/util.py is annoying, and setting up other names for the program, such as a tree of softlinks like ln -s home/svn/package/trunk/bin/util.py ~/package/util.py fails when util.py is added or deleted or moved in various versions of the repository. So again I'm looking to set up this softlink tree in a post svn-update script. I'm asking about this post-versioning system script; mine is called installFromRepo.py. One example os a question is that, I have often forgotten to copy the changes on suEXEC scripts back into the repository and I can imagine a tool that knows about the association in both directions. Is there a standard tool for this kind of thing, or at least a buzzword? Or is this something peculiar to my environment and other people just do not see it? Thanks again, Jim -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= René Churchill [EMAIL PROTECTED] Geek Two 802-244-7880 x527 Your Source for Local Information http://www.wherezit.com
Re: FOSS vs Proprietary - FF vs IE, Is it worse than we think?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Rubin Bennett wrote: | here is that they're following the patch of least resistance, which is a I think it's Windows *sysadmins* who follow the patch of least resistance, not the programmers... ;-) - -sth sam hooker|[EMAIL PROTECTED]|http://www.noiseplant.com Memo to myself: + Do the dumb things I gotta do. + Touch the Puppet Head. They Might Be Giants Puppet Head -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHqKBhX8KByLv3aQ0RApsvAKC35ACa9+KnX62N1YxSpYWPrfgXQQCdFRNP urc1OkPq6ym+rXyHQHG/ZkM= =s/C7 -END PGP SIGNATURE-
Re: development practices question
Jim, In the first example you gave could you simply have a configuration file (that isn't in svn and is different on each machine) that stores a database_user variable; then, instead of running the SQL script directly, it's run through a script that expands that variable? This way when it's run on one machine you get, GRANT insert TO www-data and on another machine you get, GRANT insert TO apache with the values www-data and apache stored in each machines configuration file, respectively. Your SQL script in svn would like something like, GRANT insert TO %database_username%. I know that's just one example, so even if it works, it may not solve all your problems. On Feb 5, 2008 11:49 AM, Jim Hefferon [EMAIL PROTECTED] wrote: Thank you to everyone for the replies. Some people seemed not to understand me, so I apologize. I use svn and I use versions and branching. I know about export. What I'm struggling with is that developing directly from the repository tree is awkward, and I wondered if others know of a better way. One example is that on one machine the apache user is www-data so on that machine the SQL statements look like GRANT insert TO www-data, while on another machine the apache user is apache. (I can't expect to change these things.) Thus I need a script to massage SQL files from one machine to the other. Another example is that Apache's suEXEC is quite fussy about where things are and with what permission so I need a script that copies these files to the right locations and sets the permissions-- soft links will not do. A perhaps sillier example is that invoking a program as /home/svn/package/trunk/bin/util.py is annoying, and setting up other names for the program, such as a tree of softlinks like ln -s home/svn/package/trunk/bin/util.py ~/package/util.py fails when util.py is added or deleted or moved in various versions of the repository. So again I'm looking to set up this softlink tree in a post svn-update script. I'm asking about this post-versioning system script; mine is called installFromRepo.py. One example os a question is that, I have often forgotten to copy the changes on suEXEC scripts back into the repository and I can imagine a tool that knows about the association in both directions. Is there a standard tool for this kind of thing, or at least a buzzword? Or is this something peculiar to my environment and other people just do not see it? Thanks again, Jim
Re: development practices question
Bradley, On Tue, 2008-02-05 at 12:05 -0500, Bradley Holt wrote: In the first example you gave could you simply have a configuration file (that isn't in svn and is different on each machine) that stores a database_user variable; then, instead of running the SQL script directly, it's run through a script that expands that variable? This way when it's run on one machine you get, GRANT insert TO www-data and on another machine you get, GRANT insert TO apache with the values www-data and apache stored in each machines configuration file, respectively. Your SQL script in svn would like something like, GRANT insert TO %database_username%. I know that's just one example, so even if it works, it may not solve all your problems. Thanks. That is something like what I do at the moment. I actually keep a configuration file for each machine in the repository, and the installFromRepo.py script picks up the name of the machine and selects which configuration file to use. Then it does pretty much what you said. Perhaps other people just don't run into the issue. I just was thinking as I was writing the routines of that install script, I'll bet there is a tool for this; other people must also have to install version xxx by exporting the tree, clearing out the directory, and copying over all files of a certain type. But it sounds like that thought was wrong. Jim
Re: FOSS vs Proprietary - FF vs IE, Is it worse than we think?
On Tue, 2008-02-05 at 12:44 -0500, Sam Hooker wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Rubin Bennett wrote: | here is that they're following the patch of least resistance, which is a I think it's Windows *sysadmins* who follow the patch of least resistance, not the programmers... ;-) Touché... I saw that as soon as I got my post back, and hoped no one would see it. Fat fingers all over the place... Rubin - -sth sam hooker|[EMAIL PROTECTED]|http://www.noiseplant.com Memo to myself: + Do the dumb things I gotta do. + Touch the Puppet Head. They Might Be Giants Puppet Head -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHqKBhX8KByLv3aQ0RApsvAKC35ACa9+KnX62N1YxSpYWPrfgXQQCdFRNP urc1OkPq6ym+rXyHQHG/ZkM= =s/C7 -END PGP SIGNATURE- -- Rubin Bennett rbTechnologies [EMAIL PROTECTED] http://thatitguy.com (802)223-4448 Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety. -Ben Franklin, Historical Review of Pennsylvania, 1759
Regionalization/ useability question...
So... I probably should know this, but... In my last post, I used an accented character. I use KDE as my desktop and Evolution 2.10 for email, and I spent about 10 minutes trying to figure out how to *type* that accented character from my laptop keyboard, and finally gave up. I ended up cheating by cutting and pasting that character from a web page! So... how does one type, on a regular US laptop keyboard, without restarting X, an accented character? (Dons flameproof suit in anticipation of tons of You dummy, I can't believe you don't know how to do that! responses) -- Rubin Bennett rbTechnologies, LLC [EMAIL PROTECTED] http://thatitguy.com (802)223-4448 Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety. -Ben Franklin, Historical Review of Pennsylvania, 1759
Re: Regionalization/ useability question...
gnome has a character map program which allows one to view non-US characters and put them on the clipboard... Rob On Tue, Feb 5, 2008 at 3:07 PM, Rubin Bennett [EMAIL PROTECTED] wrote: So... I probably should know this, but... In my last post, I used an accented character. I use KDE as my desktop and Evolution 2.10 for email, and I spent about 10 minutes trying to figure out how to *type* that accented character from my laptop keyboard, and finally gave up. I ended up cheating by cutting and pasting that character from a web page! So... how does one type, on a regular US laptop keyboard, without restarting X, an accented character? (Dons flameproof suit in anticipation of tons of You dummy, I can't believe you don't know how to do that! responses) -- Rubin Bennett rbTechnologies, LLC [EMAIL PROTECTED] http://thatitguy.com (802)223-4448 Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety. -Ben Franklin, Historical Review of Pennsylvania, 1759 -- Robert Riggen Zend Certified Web Developer Essex Junction, VT 05452 (802) 578-6719 [EMAIL PROTECTED]
Re: Regionalization/ useability question...
Rubin Bennett [EMAIL PROTECTED] writes: So... I probably should know this, but... In my last post, I used an accented character. I use KDE as my desktop and Evolution 2.10 for email, and I spent about 10 minutes trying to figure out how to *type* that accented character from my laptop keyboard, and finally gave up. I ended up cheating by cutting and pasting that character from a web page! So... how does one type, on a regular US laptop keyboard, without restarting X, an accented character? (Dons flameproof suit in anticipation of tons of You dummy, I can't believe you don't know how to do that! responses) The short answer (assuming a standard Microsoft-key'ed keyboard): In KDE's equivalent of GNOME's Keyboard applet, enable Menu key is Compose, then hit: Menu ' e in sequence to get an é. http://blogs.gnome.org/simos/2008/01/30/improving-input-method-support-in-gtk-based-apps/ is a good recent post with the topic as per the url, there. :) There's different input methods; I think there's roughly 4 ways: the X Input Method (XIM), SCIM, and each of Qt and GTK have their own input method support; I'm sure there're others, too. I seem to have gravitated toward using the XIM. Most of the multi-key sequences are defined in /usr/share/X11/locale/en_US.UTF-8/Compose (adjust for $LANG). But at some point you might find it lacking. Then, you'll want to create a file called ~/.XCompose, that starts with: include %L …to pull in the locale-default compose rules, but to which you can extend your own, like: Multi_key less 3 w : ♡ U2661 # white heart suit Multi_key less 3 b : ♥ U2665 # black heart suit Multi_key colon parenright : ☺ # :) Multi_key colon parenleft : ☹ # :( Multi_key period period period : … Multi_key exclam question : ‽ # interrobang‽ Multi_key question exclam : ‽ # 2007-12-16, jsled Multi_key p i : π U03C0 # pi! # 2008-01-03, jsled Multi_key backslash slash : ƛ U19B # lambda. # 2008-01-22, jsled Multi_key backslash slash : √ U221A # square rt Multi_key 3 slash : ∛ U221B # cube root Multi_key 8 8 : ∞ U221E # infinity Note that here you need only to restart applications (not all of X) to get them to reinit changes to ~/.XCompose; I often edit ~/.XCompose in emacs, then fire up 'gedit's on the console to gauge the effect before restarting emacs, xchat, firefox, c. -- ...jsled http://asynchronous.org/ - a=jsled; b=asynchronous.org; echo [EMAIL PROTECTED] pgpTAyBqvYeRz.pgp Description: PGP signature
Re: Regionalization/ useability question...
--- Rob Riggen [EMAIL PROTECTED] wrote: gnome has a character map program which allows one to view non-US characters and put them on the clipboard... Rob Unfortunately, I found the gnome character map difficult to fathom (until I realized Latin was my language). I wanted to use an n with a tilde to write the word Manana, or tomorrow, in Spanish. There were many variations of n, but I could not locate that particular (common, I'd think) character. As a raw n00b, perhaps this is just my stupidity showing. Rick On Tue, Feb 5, 2008 at 3:07 PM, Rubin Bennett [EMAIL PROTECTED] wrote: So... I probably should know this, but... In my last post, I used an accented character. I use KDE as my desktop and Evolution 2.10 for email, and I spent about 10 minutes trying to figure out how to *type* that accented character from my laptop keyboard, and finally gave up. I ended up cheating by cutting and pasting that character from a web page! So... how does one type, on a regular US laptop keyboard, without restarting X, an accented character? (Dons flameproof suit in anticipation of tons of You dummy, I can't believe you don't know how to do that! responses) -- Rubin Bennett rbTechnologies, LLC [EMAIL PROTECTED] http://thatitguy.com (802)223-4448 Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety. -Ben Franklin, Historical Review of Pennsylvania, 1759 -- Robert Riggen Zend Certified Web Developer Essex Junction, VT 05452 (802) 578-6719 [EMAIL PROTECTED] Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
Re: Regionalization/ useability question...
Not positive if this is true for KDE as well, but on GNOME I have both the US and US-International keyboards configured, and activate the Gnome toolbar applet that lets me switch between them. Then when you want something like é you just type apostrophe followed by e and you get it. -- Tony Harris Assistant CTO Community College of Vermont [EMAIL PROTECTED] (802) 241-3535 Zhë dishthe shthál ñe lhôñ svóná záxá. (The direct path is not always straight.) --- PRIVACY CONFIDENTIALITY NOTICE: This message is for the designated recipient only and may contain privileged, confidential, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of an email received in error is prohibited. --On February 5, 2008 3:07:06 PM -0500 Rubin Bennett [EMAIL PROTECTED] wrote: So... I probably should know this, but... In my last post, I used an accented character. I use KDE as my desktop and Evolution 2.10 for email, and I spent about 10 minutes trying to figure out how to *type* that accented character from my laptop keyboard, and finally gave up. I ended up cheating by cutting and pasting that character from a web page! So... how does one type, on a regular US laptop keyboard, without restarting X, an accented character? (Dons flameproof suit in anticipation of tons of You dummy, I can't believe you don't know how to do that! responses) -- Rubin Bennett rbTechnologies, LLC [EMAIL PROTECTED] http://thatitguy.com (802)223-4448 Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety. -Ben Franklin, Historical Review of Pennsylvania, 1759 -- Tony Harris Assistant CTO Community College of Vermont [EMAIL PROTECTED] (802) 241-3535 Zhë dishthe shthál ñe lhôñ svóná záxá. (The direct path is not always straight.) --- PRIVACY CONFIDENTIALITY NOTICE: This message is for the designated recipient only and may contain privileged, confidential, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of an email received in error is prohibited.
Re: Regionalization/ useability question...
On Tue, Feb 5, 2008 at 5:06 PM, Rick White [EMAIL PROTECTED] wrote: Unfortunately, I found the gnome character map difficult to fathom (until I realized Latin was my language). I wanted to use an n with a tilde to write the word Manana, or tomorrow, in Spanish. There were many variations of n, but I could not locate that particular (common, I'd think) character. As a raw n00b, perhaps this is just my stupidity showing. I didn't meant to imply that it was easy to use! I tend to stick to the good 'ol US of A character set, myself. Heck, I only know un petit espańol. Rob -- Robert Riggen Zend Certified Web Developer Essex Junction, VT 05452 (802) 578-6719 [EMAIL PROTECTED]
Re: Regionalization/ useability question...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Tue, 5 Feb 2008, Tony Harris wrote: Not positive if this is true for KDE as well, but on GNOME I have both the US and US-International keyboards configured, and activate the Gnome toolbar applet that lets me switch between them. Then when you want something like é you just type apostrophe followed by e and you get it. I just turn a key (usually the right Windows key, or right Alt on keyboards that lack one) into Compose using xmodmap, which is handled at the X level and window manager/desktop environment independent. There's probably a way to assign a Compose key that'll work even at a console terminal (it does on my SPARCstation, which has an actual Compose key on the keyboard), but I haven't really felt the need to investigate that. Anyway, it's: xmodmap -e keycode 116 = Multi_key ... somewhere in the X startup. At least on this keyboard. I've found that the keycodes for the expanded keys aren't well standardized, though. xev is handy for figuring out what X actually thinks they are. So to get eacute;, I just type [Compose] [e] [']... é. ntilde; is [Compose] [n] [~]... ñ. I just hope I've got the character set on my email set up right so that those show up the way they're supposed to... - -- John Campbell [EMAIL PROTECTED] -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD4DBQFHqTAnPu/PJk2ePZ0RAn8+AJjtYLaD8NKyFHYY0L4R44Tdhpb3AJ9klqo+ TU/fGgMSyI8eibmZCkoohw== =ygGm -END PGP SIGNATURE-
Re: expired GPG key...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 OK: so, you've noticed that my last post was signed. So the PRIVATE key is fine, and that modulates my question only slightly: what's wrong with my PUBLIC key? Thanks for your patience... - -sth sam hooker|[EMAIL PROTECTED]|http://www.noiseplant.com Yes, my television runs Linux, too. Yes, really. http://mythtv.org -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.8 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkepOl8ACgkQX8KByLv3aQ3WHACfRIqydGEoCLC3Fq6Yq8FZpDVq jQsAoI3HJpZYfHJbwu1wjf6AHvpIcWVy =sMr9 -END PGP SIGNATURE-
Re: expired GPG key...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Tue, 5 Feb 2008, sth wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 OK: so, you've noticed that my last post was signed. So the PRIVATE key is fine, and that modulates my question only slightly: what's wrong with my PUBLIC key? If I verify your posts, it tells me that it's a good signature with a known key, but the key has expired. - -- John Campbell [EMAIL PROTECTED] -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHqT8hPu/PJk2ePZ0RAgYJAJ4i1dmJOOllxc5/ue3z51qDwcGq6wCghg7x Z8UfyJs0UBo5q46TpOs2O2Y= =UA7L -END PGP SIGNATURE-