Hi, I am looking into OAuth. I see (and thank you a lot for this!) that Chriss Ross Gill created OAuth client part in the twitter library: http://reb4.me/r/twitter.html , I am reading into it, but does he or anyone else know how much additional work would be needed to do the rebol OAuth server part ?
I don't think it'd be that difficult - most of the difficulty in the client was making sure all the hashing was correct, the rest is just storage and logic.
For the most part, authorisation is based the parameters of a request hashed with a private key. The trickiest part I'd imagine is the initial authentication - providing a safe method for the end user to allow the client to obtain and use the key.
End user downloads X's app/uses your
End user X downloads Y's app/uses Y's web site; X tries to access a function that uses your site; Y requests a temp key from you; Y directs X to your site with temp key, X says Y is OK, you give X a PIN; X goes back to Y, enters PIN; Y requests the permanent key from you. Y can now do anything on your site on behalf of X.
Nothing to it : )
any tip for some session related function-set for REBOL CGI purposes? I am looking for the case, where Cheyenne is not an option, and need some simple stuff for sessions ....
acgiss.r from rebol.org an option?
Do we have anyone here that is knowledgeable / an expert in online markting?
I am not an expert but I have a lot of experience and also theory about various aspects of it because of making my apps grow (and helping some others)
"Is Nginx obsolete now that we have Amazon CloudFront?"
Don't quite understand what is going on here .. have to read the cloud front docs
Can you trust the cloud? Not in the sense of reliability.
I trust the clouddate being watched over, and more I trust it a 100% being watched or even analysed. Some things I just take as is without proof, like the earth to be a flat disc ;)
Yes, it's obvius. Frankly it depends on what data you want to "share". I like google documents for storing files to edit when I travel ,not very important documents. For example: if you would plan a kamikaze attack or write a personal diary on your sexual orientation, I didn't suggest you to use google documents.
Could not JS everywhere someday be replaced by Red everywhere - or some derived fork ?
Yes; they have a good model, but it's all ugly web technologies
I agree but what else could be used - something built aroud the JVM - may be ? It must be a bit like Carl's REBOL based vision, isn't it ? Entirely self contained to be deployed anywhere but written once ...
Now it could be Red based instead ;-)
Yes, all true. I've long been working on a system with roughly that model, but we only use it internally so far
Nice, do you use some GUI for the output, kind of VId I suppose ?
Or do you send the output to some esternal receiver using messages protocols ?
But then how do you catch the input if it not already part of your own system ?
It's a web system currently, but it's prepared to support other platforms. My Try REBOL site is made with it
REBOL 2 is no use to me because it would never run on Syllable, and REBOL 3 still only has a GUI for Windows and Amiga, so it hasn't been useful for me to make a VID frontend
(from #Red) - Arnold, which version of Make Doc are you using? I've many iterations of MD that I've hacked away at over the years, perhaps I'll have something that will be easier to hack? Most recent version I put together for the 'Notes For the Road' site, has some nice features - currently hacking at it again for a more ambitious QM project...
Chris, I am stil figuring this out. I want bold/italic/(underline)/(em) paragrapphs separated with a blank line (easier to understand and no need to delete a routinely typed 'return'-key) h1/h2/h3 img (inline/left right center aligned) and a-href, only 1 level of bullits, and I think I can come along without numbered sections. I was thinking about mark-up delimiters on the beginning of the line like === ==+ ==- ==* ==# I kind of liked \note and /note or /code but everybody will forget if the first one will be fore or backslashed so I guess the indented version to produce code. Plus I want the markup to be from a css file. No need to make this within the script because the template/and a script can take care of where and which to link to. That's about it.
Doesn't sound too onerous - I'd say most of the changes could be made to the parser, then tweak the emitter to get the output you want. Do you have a sample document? Is this the version you're using? - http://reb4.me/r/xhtml
This is a new version to me. I was still busy figuring out most of the used parses.
I tried some today, not satisfactory results yet.
figured out the line write %mijndoc.htmlÊgen-doc read %mijndoc.txt
makedoc2 results on the other hand were nicer but that was not it either.
The structure of MD since v2 is a separation of scanner and emitter. 'scan-doc will break text into a block of [style content] pairs. 'gen-doc will take that block and turn it into something, most commonly HTML.
The features of your doc - using your ==+, ==#, etc. are in the spec of the parser. Loosely explained, the parser's rule 'resets' when it encounters a newline. It defines a few paragraph types that copies chunks of text (including 'paragraph that consumes text AND single newlines). The rest of the rule determines the paragraph style and expected paragraph type:
"===" text-line (emit sect1 text)
Could just as easily be:
"==+" paragraph (emit my-bold-paragraph para)
The way a document is presented is all in the emitter. Seems this is where you seem to be yearning for most control. My first motivation using MakeDoc was stripping it of any styles - I just wanted a minimum of HTML markup that could be embedded and properly moulded by CSS. In my script above, I iterate through the [style content] list and use 'switch to determine how to handle each, this should be sufficient for documents without any complexity. It's really then just a case of modifying the HTML that is emitted.
Example of script used in RSP (exposes [escape-html scan-doc gen-doc]):
I really should update that script though - a succinct version of make-doc though it is, it could use a bit of a refresh.
Chris: I'm trying to use oauth with Salesforce, can you help me about it? I have consumer-key and consumer-secret, but where do I set login_url? I'm trying your Etsy with Salesforce. I thought that I at least should be able to login.
I get "** User Error: Handshake Response does not contain Login URL" when I try etsy/as "username"
Is this the API you're trying to access? Looks as if it uses OAuth 2.0 (Etsy and Twitter are 1.0) - I'm not fully aware what the differences are. Note that even though Twitter and Etsy both use the same signing method (OAuth), they differ in how you get the user key - looks as if this one is different again...
They're quite different
Ok, in an effort to disentangle some of the OAuth code from specific implementations, here is an *experimental*, *largely untested* port scheme that does just that.
There are different authentication methods on Salesforce, so I'm just testing.
I am new to Git. I'd like to use it (or something similar) to keep a distributed copy of a web app I am developing. I'd like copies on two local systems (laptop and desktop) with the possibility of sharing with another developer based far away and deploying the app on my web host.
I sort of get the concept (at least the part about commits, etc), but am not really sure how to keep everything in sync. Is it worth using a hosting service like GitHub or Bitbucket (I know that perhaps defeats the purpose) to assure availability or figuring out how to use the web host for this purpose?
You may want to try Fossil. It's much easier to run your own server
To "keep everything in sync" with Git, you have have to do pairwise syncs. Each pairwise sync can be initiated from either side, the respective commands being "fetch" (from remote to local) and "push" (from local to remote).
If you want to keep many separate sites in sync, mediating the sync via a central host makes sense (as it avoids the exponential explosion of pairwise syncs).
If you have SSH access to your web host, using your web host for a central Git repository is trivial (assuming you have - or can get - Git installed on the web host).
In this one case, the host has instructions to set up Git on a subdomain. I'd have to consider it as it doesn't appear to be private.
Thanks Kaj, will look it over...
I'm trying out BitBucket with Git for now, the control over who can update being for now the deciding factor. I have the following setup in mind:
(sorry, bit of a crude sketch) It's entirely probable that I'm using it naively and/or inefficiently, but so far I have the ME and BITBUCKET parts working just as I would have hoped. I'm pretty sure there's a million intricate parts to learn, but feel this is a good start. Am I overlooking anything obvious?
If I set up the link to the web host from the ME area, does that become available to the collaborator? (don't want it to)
Looks like a sensible setup.
No, if you link from ME to HOST, that doesn't become available to COLLABORATOR.
Does anyone know how I can pre-process an Apache2 configuration and store it in a single file?
No, but don't try to use any GPL licenced tools to do it ... (ba dump bump)
(or something like that)
Not sure exactly what you mean Robert. I've written tools to generate Apache configs, if that's along the lines of what you're doing.
The license for oberon project is GPLv3 or later.
has anyone tried to "signup with google" at rebol based web-app?
they find vulnerabilities in various oauth(2)/openid implementations that are used by many people, so writing my own to use it in production doesn't sound so good. writing for the receiving end of openid is simpler, but still.
Does anyone has a tip for a cheap service like: chartbeat.com, gosquared.com etc.?
Does anyone know about Wordpress themes that display code nicely?
Robert: depending on which part of those services is important to you. I have WIP analytics software that I so far only use internally and is not a typical webpage analytics (but conversion focused analytics). So it would at least fill one condition you are looking for. Cheap as I would give it to you for free, if you wouldn't heavily burden my server, and just compensating for expenses otherwise. But as I said it's not a polished all-round product yet (but has some special things others don't in case that would be what you also needed).
Janko, thanks. I signed up for GoSquared now. Going to see how it works out. Even I think it's more for realtime analytics of campaigns which require high-traffic. That's defenetly not what our site is about :-) but anyway, has a nice interface and is easy to use.
Today I went on the Saphirion's Website. There seems to be something wrong in the config of the webserver as the .shtml pages appear as plain text source file !? Tested on IE and FF on Windows7
Will try it, thanks Peter. Did not know about it...it will come in handy...
I have trouble reading data from CGI using POST on R3. I try to upload an image using POST then on server I use data: read system/ports/input to get the POST data, but it seems that the data are truncated. There doesn't seem to be some specific boundary where the data are truncated, I'm uploading images in range from cca 15-200kB, the resulting data are few hundreds to few tens of kB long, so there's no artificial boundary like 32'000 bytes. Anyone has any experience with getting data from POST?
Is that with Rebol 2 or 3 Bolek?
The most frustrating is, that the same file will throw different results. Right now I'm testing with small 3,5kB PNG file, sometimes I get full file, sometimes just few hundred bytes...there's no pattern what the result will be.
Are you sure that the PNG file you are reading is complete and not being overwritten at the source (like from a webcam)?
No, it's complete. It's file on local computer I made just for testing.
I see you posted a question on SO and it looks like there's an answer.
Yes, I'm going to try it, I hope it would work, seems like it should.
So it doesn't work for me. Reading no data from system/ports/input does not throw an error but waits for data forever (at least it looks like forever, it has been five minutes already so it's useless as an image uploader).
Have you tried checking the system timeout for network reads?
Where are bytes missing, only at the end or also middle in the image?
I'm pretty sure they are only missing at the end.
Yes, at the end. I will try putting some simple PHP uploader on the same server to make sure it's not Apache's fault and let you know about the results.
Just a note about the CGI/POST issue. I've checked with Reboek a bit on that and it looks the CGI mode is not yet fully implemented in R3 nor tested (there are some issues on both Linux and Win platforms). Someone interested in that feature needs to fix that ;-)
To be precise, someone with interest in that feature AND C-knowledge :-)
Is anyone chatting with him to see why all the citation requests are being added?
Hi Ladislav, Is there any way I could help ?
He is a problematic editor, trying to delete large parts of articles he dislikes. In this case, the Rebol article is innocent. I think that he found out I edited the article and wanted to show me "who is the boss there".
Other than that, there are at least two editors needed to revert his edits when he makes undesirable changes.
Can't he be flagged as destructive and blocked to edit (at least) the Rebol pages?
You may want to use an existing one instead, the amount of issues that need work arounds with async modes is pretty big.
Also IIRC either my async:// or Romano's atcp:// work in server mode so you may want to use that instead.
Gab, was hoping to understand the basic premise, even if the caveats are muddy. I'd like to at least be able to say (to myself)--'this is the general idea, you might have trouble here, there, etc.'. While I have specific short-term goals for which my code is sufficient, I would like to have a more general appreciation of design choices even if ASYNC-MODES aren't destined for the next generation.
Also, I know you some influence in R3 ports--how much does the Rebol 3 port model reflect your ATCP/ASYNC experience?
ASYNC-MODES: 'Here be dragons!' : )
There were some nice materials in the rebol.net/wiki. Pity it is gone again. Maybe Bo could ask Carl, if he would be able to put it back online, so that we could w-get it to some different location?
Petr: if it was on the Wiki when it went down, then it'll be on this clone:
The clone above is the last iteration of the wiki. It's missing some dynamic bits (like categories, cookbooks, etc), but is otherwise the same content.
It is definitely illuminating, but doesn't answer my question...
- as to how async-modes work, it was never documented. the only documentation are my async:// and Romano's atcp:// - as to why it works that way, it was probably a kludge; only Carl knows the details - if you want to learn your best bet is to build something with it, it will then fail in a weird way, and you'll spend a few weeks trying to figure out why it failed (hopefully the existing code will give you hints and it won't be that bad...); iterate that a few times and you'll have a general idea - I don't think I had much influence on the native side of R3, my contribution was mostly the HTTP scheme, which was incomplete because I was waiting for Carl to answer some questions and implement a couple things on the native side
Soon, I will have to code the server part of a Webservice in R2 (maybe r3). Is there any already library available to minimise the work?
I already use altjson.r and altwebform.r to access Webservice as client. I also have curl.r and rest-curl.r.
Maybe Chris has some advice to help me? ;-)
If you will consume a webservice using R2 as a client, remember that R2 cannot make requests to most of modern servers because of the SSL issues. >> read https://openssl.org connecting to: openssl.org ** Command Error: SSL Error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
So using cURL is a better option (or R3 or Red)
yes. but in my case, it will be the server!
QuarterMaster still works (R2), but I'm afraid other than a couple of examples, asking me is probably your best bet for documentation.