From valebedev at gmail.com Mon Dec 1 16:02:14 2008 From: valebedev at gmail.com (Vladimir Lebedev) Date: Mon Dec 1 15:06:47 2008 Subject: [Sputnik-list] HTTP-auth for Sputnik Message-ID: <14370124.1941228154530328.JavaMail.wal@macpro-wal.local> Dear all, Is it possible to authenticate an user via simple http authentication? I need this in order to conceal both content and structure of my wiki from anonymous visitors. Thank you very much in advance, Vladimir From yuri at sims.berkeley.edu Mon Dec 1 17:07:26 2008 From: yuri at sims.berkeley.edu (Yuri Takhteyev) Date: Mon Dec 1 16:11:52 2008 Subject: [Sputnik-list] HTTP-auth for Sputnik In-Reply-To: <14370124.1941228154530328.JavaMail.wal@macpro-wal.local> References: <14370124.1941228154530328.JavaMail.wal@macpro-wal.local> Message-ID: I can suggest three options. First, you can definitely simply put Sputnik behind http authentication, as you would with any site. Your users will need to then do http authentication before they see anything. Sputnik wouldn't know whether they actually authenticated and who they are logged in as, but this may not matter. This is also by far the most secure way to protect your Sputnik. Another alternative is to use Sputnik authentication, but change it to really limit what information is displayed to non-authenticated users. You can edit permissions in @Root and prohibit nearly all actions to non-authenticated users (just comment out most of the options there), leaving just enough to allow them to login. You can also hide the navigation bar quite easily for users who are not logged in by editing sputnik/templates node and changing $do_nav_sections[=[
  • $title
  • ]=] to $if_logged_in[======[ $do_nav_sections[=[
  • $title
  • ]=] ]======] Finally, it should be possible to change sputnik to actually pick up authentication information from the headers. The less elegant way to do this would be to edit Sputnik:translate_request () in sputnik/lua/sputnik/init.lua to look at HTTP headers and set request.user as you like. A better way of doing this would be to write an a new authentication module using sputnik/lua/sputnik/auth/simple.lua as an example. (The authentication API would need to be extended a little bit to allow passing the headers.) - yuri On Mon, Dec 1, 2008 at 10:02 AM, Vladimir Lebedev wrote: > Dear all, > > Is it possible to authenticate an user via simple http authentication? I need this in order to conceal both content and structure of my wiki from anonymous visitors. > > Thank you very much in advance, > > Vladimir > > _______________________________________________ > Sputnik-list mailing list > Sputnik-list@lists.luaforge.net > http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list > -- http://sputnik.freewisdom.org/ From valebedev at gmail.com Tue Dec 2 05:56:26 2008 From: valebedev at gmail.com (Vladimir Lebedev) Date: Tue Dec 2 05:01:04 2008 Subject: [Sputnik-list] HTTP-auth for Sputnik In-Reply-To: Message-ID: <2650059.2061228204582629.JavaMail.wal@macpro-wal.local> Dear Yuri, Thanks a lot for your help! I put "$if_logged_in" in a couple more places in sputnik/template and now it seems to be OK for the beginning. I'm not sure that I'll be able to write a new authentication plugin - I quit my programming carrier more then 15 years ago... Though if I try, I'll let you know! :) Best regards, Vladimir ----- ???????? ????????? ----- ??: "Yuri Takhteyev" ????: "Vladimir Lebedev" ?????: sputnik-list@lists.luaforge.net ????????????: ???????????, 1 ??????? 2008 ? 22:07:26 GMT +03:00 ??????, ?????-?????????, ????????? ????: Re: [Sputnik-list] HTTP-auth for Sputnik I can suggest three options. First, you can definitely simply put Sputnik behind http authentication, as you would with any site. Your users will need to then do http authentication before they see anything. Sputnik wouldn't know whether they actually authenticated and who they are logged in as, but this may not matter. This is also by far the most secure way to protect your Sputnik. Another alternative is to use Sputnik authentication, but change it to really limit what information is displayed to non-authenticated users. You can edit permissions in @Root and prohibit nearly all actions to non-authenticated users (just comment out most of the options there), leaving just enough to allow them to login. You can also hide the navigation bar quite easily for users who are not logged in by editing sputnik/templates node and changing $do_nav_sections[=[
  • $title
  • ]=] to $if_logged_in[======[ $do_nav_sections[=[
  • $title
  • ]=] ]======] Finally, it should be possible to change sputnik to actually pick up authentication information from the headers. The less elegant way to do this would be to edit Sputnik:translate_request () in sputnik/lua/sputnik/init.lua to look at HTTP headers and set request.user as you like. A better way of doing this would be to write an a new authentication module using sputnik/lua/sputnik/auth/simple.lua as an example. (The authentication API would need to be extended a little bit to allow passing the headers.) - yuri On Mon, Dec 1, 2008 at 10:02 AM, Vladimir Lebedev wrote: > Dear all, > > Is it possible to authenticate an user via simple http authentication? I need this in order to conceal both content and structure of my wiki from anonymous visitors. > > Thank you very much in advance, > > Vladimir > > _______________________________________________ > Sputnik-list mailing list > Sputnik-list@lists.luaforge.net > http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list > -- http://sputnik.freewisdom.org/ From valebedev at gmail.com Wed Dec 17 07:38:56 2008 From: valebedev at gmail.com (Vladimir Lebedev) Date: Wed Dec 17 06:46:01 2008 Subject: [Sputnik-list] How to attach a binary file to a node? In-Reply-To: <2650059.2061228204582629.JavaMail.wal@macpro-wal.local> Message-ID: <13419635.931229506734810.JavaMail.wal@macpro-wal.local> Is there a way to attach a binary file to a node? Basically, I need to attach .pdf or .doc/.odt files to some pages in my wiki. I read a thread on it in maillist archive (March'08), but truly speaking I did not understand if such feature was implemented or not... ----- ???????? ????????? ----- ??: "Vladimir Lebedev" ????: "Yuri Takhteyev" ?????: sputnik-list@lists.luaforge.net ????????????: ???????, 2 ??????? 2008 ? 10:56:26 GMT +03:00 ??????, ?????-?????????, ????????? ????: Re: [Sputnik-list] HTTP-auth for Sputnik Dear Yuri, Thanks a lot for your help! I put "$if_logged_in" in a couple more places in sputnik/template and now it seems to be OK for the beginning. I'm not sure that I'll be able to write a new authentication plugin - I quit my programming carrier more then 15 years ago... Though if I try, I'll let you know! :) Best regards, Vladimir ----- ???????? ????????? ----- ??: "Yuri Takhteyev" ????: "Vladimir Lebedev" ?????: sputnik-list@lists.luaforge.net ????????????: ???????????, 1 ??????? 2008 ? 22:07:26 GMT +03:00 ??????, ?????-?????????, ????????? ????: Re: [Sputnik-list] HTTP-auth for Sputnik I can suggest three options. First, you can definitely simply put Sputnik behind http authentication, as you would with any site. Your users will need to then do http authentication before they see anything. Sputnik wouldn't know whether they actually authenticated and who they are logged in as, but this may not matter. This is also by far the most secure way to protect your Sputnik. Another alternative is to use Sputnik authentication, but change it to really limit what information is displayed to non-authenticated users. You can edit permissions in @Root and prohibit nearly all actions to non-authenticated users (just comment out most of the options there), leaving just enough to allow them to login. You can also hide the navigation bar quite easily for users who are not logged in by editing sputnik/templates node and changing $do_nav_sections[=[
  • $title
  • ]=] to $if_logged_in[======[ $do_nav_sections[=[
  • $title
  • ]=] ]======] Finally, it should be possible to change sputnik to actually pick up authentication information from the headers. The less elegant way to do this would be to edit Sputnik:translate_request () in sputnik/lua/sputnik/init.lua to look at HTTP headers and set request.user as you like. A better way of doing this would be to write an a new authentication module using sputnik/lua/sputnik/auth/simple.lua as an example. (The authentication API would need to be extended a little bit to allow passing the headers.) - yuri On Mon, Dec 1, 2008 at 10:02 AM, Vladimir Lebedev wrote: > Dear all, > > Is it possible to authenticate an user via simple http authentication? I need this in order to conceal both content and structure of my wiki from anonymous visitors. > > Thank you very much in advance, > > Vladimir > > _______________________________________________ > Sputnik-list mailing list > Sputnik-list@lists.luaforge.net > http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list > -- http://sputnik.freewisdom.org/ From yuri at sims.berkeley.edu Wed Dec 17 08:02:01 2008 From: yuri at sims.berkeley.edu (Yuri Takhteyev) Date: Wed Dec 17 07:08:23 2008 Subject: [Sputnik-list] How to attach a binary file to a node? In-Reply-To: <13419635.931229506734810.JavaMail.wal@macpro-wal.local> References: <2650059.2061228204582629.JavaMail.wal@macpro-wal.local> <13419635.931229506734810.JavaMail.wal@macpro-wal.local> Message-ID: > Is there a way to attach a binary file to a node? Basically, I need to attach .pdf or .doc/.odt files to some pages in my wiki. I read a thread on it in maillist archive (March'08), but truly speaking I did not understand if such feature was implemented or not... You cannot "attach" a binary file to a node, but you can make a node represent a binary file. You do this by choosing the appropriate prototype, which in this case is "@Binary_File". Go to a new node, e.g. "Test" and click "edit". Go to "Advanced Options" and put "@Binary_File" in "Prototype". Click "save". You will then see a different edit form, which will allow you to upload a file. ("File to upload".) Save again. You pdf file will now available as "Test.download". If you upload an image, you can also link to it as Test.jpg (or Test.png, depending on the format). For instance, http://sputnik.freewisdom.org/en/logo.png is a node. To see it as a node, just go to http://sputnik.freewisdom.org/en/logo. If you want to make it look like the binary file "belongs" to some node, you can make it a child of that node. E.g., if you have a node called "Test", you can call your binary node "Test/PDF_Version" and link to it as "Test/PDF_Version.download". You can do this to many binary files if you want: "Test/A", "Test/B", etc. - yuri -- http://sputnik.freewisdom.org/ From valebedev at gmail.com Wed Dec 17 08:13:02 2008 From: valebedev at gmail.com (Vladimir Lebedev) Date: Wed Dec 17 07:19:53 2008 Subject: [Sputnik-list] How to attach a binary file to a node? In-Reply-To: Message-ID: <12164074.1031229508778970.JavaMail.wal@macpro-wal.local> Great, thanks a lot! I think it worth to put this description on the sputnik's web site. ----- ???????? ????????? ----- ??: "Yuri Takhteyev" ????: "Vladimir Lebedev" ?????: sputnik-list@lists.luaforge.net ????????????: ?????, 17 ??????? 2008 ? 13:02:01 GMT +03:00 ??????, ?????-?????????, ????????? ????: Re: [Sputnik-list] How to attach a binary file to a node? > Is there a way to attach a binary file to a node? Basically, I need to attach .pdf or .doc/.odt files to some pages in my wiki. I read a thread on it in maillist archive (March'08), but truly speaking I did not understand if such feature was implemented or not... You cannot "attach" a binary file to a node, but you can make a node represent a binary file. You do this by choosing the appropriate prototype, which in this case is "@Binary_File". Go to a new node, e.g. "Test" and click "edit". Go to "Advanced Options" and put "@Binary_File" in "Prototype". Click "save". You will then see a different edit form, which will allow you to upload a file. ("File to upload".) Save again. You pdf file will now available as "Test.download". If you upload an image, you can also link to it as Test.jpg (or Test.png, depending on the format). For instance, http://sputnik.freewisdom.org/en/logo.png is a node. To see it as a node, just go to http://sputnik.freewisdom.org/en/logo. If you want to make it look like the binary file "belongs" to some node, you can make it a child of that node. E.g., if you have a node called "Test", you can call your binary node "Test/PDF_Version" and link to it as "Test/PDF_Version.download". You can do this to many binary files if you want: "Test/A", "Test/B", etc. - yuri -- http://sputnik.freewisdom.org/ From yuri at sims.berkeley.edu Tue Dec 30 14:56:30 2008 From: yuri at sims.berkeley.edu (Yuri Takhteyev) Date: Tue Dec 30 14:04:27 2008 Subject: [Sputnik-list] recent changes Message-ID: A long list of things from the last few weeks. Here is a brief outline, so you can decide what to read: 1. Updates to "Sightings" 2. A new vertical menu done with jquery 3. YUI vs. Blueprint 4. Storing templates in the node 5. Redesigned edit forms 6. Markitup integration First, eLua project is now using Sputnik. See eluaproject.org. As you can see, it has a somewhat different design, with a vertical navigation bar on the side, animated with jquery, instead of Sputnik's default tabs. This started with me wanting to help the eLua team to reproduce elements of the old eLua website design, which had a vertical javascript menu on the side. The original javascript menu had some issues, however, so I replaced it with an accordion menu done in 6 lines of jquery. Speaking of different designs, I added screenshots of some of the existing sputnik installations to http://sputnik.freewisdom.org/en/Sightings. If you have something to add to this, send me a link. (Links to sputnik sites that use default look and feel are also welcome, at the bottom.) After adding the vertical menu to eluaproject.org, I decided to add it to the default sputnik code. This change is now in the source tree. It's a little less smooth than the version on eLuaproject.org, but the plus side is that it uses the exact same HTML as the horizontal menu (though it needs to be inserted in a different place). I've been divided on which menu to use by default. The current code in git defaults to the new vertical menu, but it's easy to switch back to the original horizontal one. But we could go back to the tabs as the default. You can see a demo of the current default at http://sputnik.freewisdom.org/admin-demo/. While making this change I looked at some alternatives to YUI (our CSS framework). I ended up deciding to stick with YUI. The main reason is that it looks like only Blueprint has equal following at the moment. And between Blueprint and YUI, I decided that Blueprint would alienate too many of the people who feel strongly about fixed-width layout and the occasional horizontal scroll bars that it entails. YUI is also tiny (4K for the version that we are using, smaller than Blueprint) and fully free (BSD). I also decided that the older approach of storing all templates in a separate node ("sputnik/templates") linked via a parameter in the node ("templates") was too complicated for simple changes. So, I moved some of the templates to the node itself and gave each of them a separate edit box. I also finally integrated a change to the edit forms that Jim has done a while back. This change makes it possible to organize the fields into collapsible sections, so you don't get as overwhelmed. To see an example of this in action, go to http://sputnik.freewisdom.org/admin-demo/ and login as "admin" with password "admin". Then see http://sputnik.freewisdom.org/admin-demo/@Root.edit. (Don't save changes to @Root, use some other node if you want to experiment.) To change the appearance you would need to login as Admin, then go to @Root.edit, open "HTML Fields" section, and edit the fields in it. To move the side bar or hide it, you would need to edit the class of #doc3 on the first line of "body". The default is "yui-t1", which gives you a thin side bar on the left. yui-t2, yui-t3, etc. give you different width, still on the left. t4-t6 give you a side bar on the right. "yui-t0" hides the side bar. Alternatively, you could leave the sidebar but remove the menu from it: just remove "$menu" from the "sidebar" field. If you want to add the menu at the top, put $menu in side #menu_bar div in "header" instead of "

    ". Finally, I tentatively integrated markitup. If you link the "sputnik-markitup" rock into your rock directory, then edit forms will use markitup. Basically, you still use markup, but you get a tool bar to help you out a little. See http://sputnik.freewisdom.org/en/Sandbox.edit. I haven't quite decided how much of a default to make it. Right now it's a separate rock, but I am tempted to include it by default. Any thoughts on any of those changes? - yuri -- http://sputnik.freewisdom.org/ From agladysh at gmail.com Tue Dec 30 20:32:27 2008 From: agladysh at gmail.com (Alexander Gladysh) Date: Tue Dec 30 19:40:56 2008 Subject: [Sputnik-list] Problems installing Sputnik Message-ID: Hi, list! I'm trying to install Sputnik 8.08.13 on my Ubuntu box as per this guide: http://sputnik.freewisdom.org/en/Installation This step fails: $ ./bin/lua -lluarocks.require -e 'require("sputnik").setup()' Stack traceback below. Note how it looks for 1.4.0-1, and I have 1.4.1-1 installed by rocks. /opt/sputnik$ ls rocks/luafilesystem/ 1.4.1-1 I've used rocks command from the mentioned wiki page: $ ./bin/luarocks --only-from=http://sputnik.freewisdom.org/rocks/earth install sputnik 8.08.13 Traceback from require("sputnik").setup(): ./bin/lua: /opt/sputnik/share/lua/5.1/luarocks/require.lua:141: module 'lfs' not found: no field package.preload['lfs'] no file '/opt/sputnik/rocks//luafilesystem/1.4.0-1/lua/lfs.lua' no file '/opt/sputnik/rocks//luafilesystem/1.4.0-1/lua/lfs/init.lua' no file '/opt/sputnik/rocks//sputnik/8.08.13-0/lua/lfs.lua' no file '/opt/sputnik/rocks//sputnik/8.08.13-0/lua/lfs/init.lua' no file './lfs.lua' no file '/opt/sputnik/share/lua/5.1/lfs.lua' no file '/opt/sputnik/share/lua/5.1/lfs/init.lua' no file '/opt/sputnik/lib/lua/5.1/lfs.lua' no file '/opt/sputnik/lib/lua/5.1/lfs/init.lua' no file '/opt/sputnik/rocks//luafilesystem/1.4.0-1/lib/lfs.so' no file '/opt/sputnik/rocks//sputnik/8.08.13-0/lib/lfs.so' no file './lfs.so' no file '/opt/sputnik/lib/lua/5.1/lfs.so' no file '/opt/sputnik/lib/lua/5.1/loadall.so' stack traceback: [C]: in function 'plain_require' /opt/sputnik/share/lua/5.1/luarocks/require.lua:141: in function (tail call): ? ...k/rocks//sputnik/8.08.13-0/lua/sputnik/installer.lua:3: in main chunk [C]: in function 'plain_require' /opt/sputnik/share/lua/5.1/luarocks/require.lua:141: in function (tail call): ? ...putnik/rocks//sputnik/8.08.13-0/lua/sputnik/init.lua:49: in function 'setup' (command line):1: in main chunk [C]: ? Alexander. From agladysh at gmail.com Tue Dec 30 20:49:41 2008 From: agladysh at gmail.com (Alexander Gladysh) Date: Tue Dec 30 19:58:07 2008 Subject: [Sputnik-list] Re: Problems installing Sputnik In-Reply-To: References: Message-ID: > This step fails: > $ ./bin/lua -lluarocks.require -e 'require("sputnik").setup()' > Stack traceback below. Note how it looks for 1.4.0-1, and I have > 1.4.1-1 installed by rocks. > /opt/sputnik$ ls rocks/luafilesystem/ > 1.4.1-1 > I've used rocks command from the mentioned wiki page: > $ ./bin/luarocks --only-from=http://sputnik.freewisdom.org/rocks/earth > install sputnik 8.08.13 I suspect this should be some conflict with my existing luarocks installation. I've copyed luafilesystem 1.4.0-1 from it to the Sputnik rocks/ directory, and that fixed this error. Alexander. From yuri at sims.berkeley.edu Wed Dec 31 14:16:39 2008 From: yuri at sims.berkeley.edu (Yuri Takhteyev) Date: Wed Dec 31 13:25:13 2008 Subject: [Sputnik-list] Re: Problems installing Sputnik In-Reply-To: References: Message-ID: > I suspect this should be some conflict with my existing luarocks > installation. I've copyed luafilesystem 1.4.0-1 from it to the Sputnik > rocks/ directory, and that fixed this error. I am glad you got it working, but I am wondering what caused the problem in the first place. Perhaps it's not so much the different installations of Lua Rocks as the different _versions_? What was your existing luarocks installation? BTW, if already have a lua+luarocks and your version of LuaRocks is reasonably recent, and you are not interested in using Xavante (or are willing to configure it by hand), you can install sputnik with just luarocks --only-from=http://sputnik.freewisdom.org/rocks/earth install sputnik 8.08.13 lua -lluarocks.require -e 'require("sputnik").setup()' mkdir wiki-data && chmod -R a+rw wiki-data This should give you all you need to use sputnik with cgi. Everything before that is just an easy way to install lua, luarocks and xavante in such a way that they all work together. (Of those three lines, only the first one really does installation. The second line just creates a sputnik.cgi file.) - yuri -- http://sputnik.freewisdom.org/ From agladysh at gmail.com Wed Dec 31 14:44:32 2008 From: agladysh at gmail.com (Alexander Gladysh) Date: Wed Dec 31 13:53:05 2008 Subject: [Sputnik-list] Re: Problems installing Sputnik In-Reply-To: References: Message-ID: On Wed, Dec 31, 2008 at 7:16 PM, Yuri Takhteyev wrote: >> I suspect this should be some conflict with my existing luarocks >> installation. I've copyed luafilesystem 1.4.0-1 from it to the Sputnik >> rocks/ directory, and that fixed this error. > I am glad you got it working, but I am wondering what caused the > problem in the first place. Perhaps it's not so much the different > installations of Lua Rocks as the different _versions_? What was your > existing luarocks installation? That was 0.4.something. I deleted it trying to solve my other problems with Sputnik (see below), so I can't say for sure, sorry. > BTW, if already have a lua+luarocks and your version of LuaRocks is > reasonably recent, and you are not interested in using Xavante (or are > willing to configure it by hand), you can install sputnik with just I'm interested in Xavante, but it does not work for me (see below). > luarocks --only-from=http://sputnik.freewisdom.org/rocks/earth > install sputnik 8.08.13 > lua -lluarocks.require -e 'require("sputnik").setup()' > mkdir wiki-data && chmod -R a+rw wiki-data > This should give you all you need to use sputnik with cgi. Everything > before that is just an easy way to install lua, luarocks and xavante > in such a way that they all work together. > (Of those three lines, only the first one really does installation. > The second line just creates a sputnik.cgi file.) Thank you. I have removed my other luarocks installation, removed Sputnik, and installed it from scratch. I have these problems (and had them before reinstall): 1. When I run Sputnik with Xavante, all edits fail. The post request from my browser either "hangs" or browser complains that "server broke connection". I have double checked permissions on my wiki-data directory, all is OK. 2. When I run Sputnik as CGI on Apache, save works fine, but I have no history. My sputnik.cgi file: #! /bin/bash /opt/sputnik/bin/wsapi.cgi require('sputnik') require("lfs") lfs.chdir("/opt/sputnik/wiki-data/") return sputnik.new_wsapi_run_fn{ VERSIUM_STORAGE_MODULE = "versium.git", VERSIUM_PARAMS = { '/opt/sputnik/wiki-data/' }, BASE_URL = '/cgi-bin/sputnik.cgi', PASSWORD_SALT = '', TOKEN_SALT = '', } $ ls -la wiki-data/ total 20 drwxrwxrwx 4 agladysh agladysh 4096 Dec 31 19:14 . drwxr-xr-x 11 agladysh agladysh 4096 Dec 31 19:10 .. drwxr-xr-x 7 agladysh agladysh 4096 Dec 31 19:20 .git -rw-r--r-- 1 www-data www-data 300 Dec 31 19:21 index.lua drwxrwxr-x 2 www-data www-data 4096 Dec 31 19:18 sputnik /opt/sputnik/wiki-data$ git status # On branch master # # Initial commit # # Untracked files: # (use "git add ..." to include in what will be committed) # # index.lua # sputnik/ nothing added to commit but untracked files present (use "git add" to track) I'm on Ubuntu Gutsy (7.10, Server). $ git --version git version 1.6.1 Please advise me how can I debug these issues. The kepler/log/xavante.log contains only Xavante start messages. Alexander. From yuri at sims.berkeley.edu Wed Dec 31 18:32:30 2008 From: yuri at sims.berkeley.edu (Yuri Takhteyev) Date: Wed Dec 31 17:40:37 2008 Subject: [Sputnik-list] Re: Problems installing Sputnik In-Reply-To: References: Message-ID: > 1. When I run Sputnik with Xavante, all edits fail. The post request > from my browser either "hangs" or browser complains that "server broke > connection". I have double checked permissions on my wiki-data > directory, all is OK. Unfortunately, I don't know what this means. Xavante really isn't my area of expertise. > 2. When I run Sputnik as CGI on Apache, save works fine, but I have no history. You mean specifically when using versium.git? Did the default storage option work? > drwxr-xr-x 7 agladysh agladysh 4096 Dec 31 19:20 .git > -rw-r--r-- 1 www-data www-data 300 Dec 31 19:21 index.lua > drwxrwxr-x 2 www-data www-data 4096 Dec 31 19:18 sputnik Make sure that wiki-data/.git is writeable by www-data. This should have been mentioned in the documentation, and I just added it. (And I'll look into why this isn't generating an error, as it really should.) - yuri -- http://sputnik.freewisdom.org/