World: r3wp
[Web] Everything web development related
older newer | first last |
Pekr 3-Aug-2006 [1213x2] | a question - I have Windows app in cp-1250 encoding. Then I generate some html, which is server from Linux. When I look in Mozilla at the page source (http://www.jablunkovsko.cz), the browser displays some czech chars encoded, e.g. á. But when I save the page locally on my Windows machine, I get correct czech chars ... |
could there be some code-page problems? Should I better "url-encode" special czech alphabet chars into some "universal" format? | |
Alek_K 3-Aug-2006 [1215] | I saved page locally, and have still ´ I suppose it's fault of WYSIWYG software made with english people in mind only (or not properly configured). No need to encoding special chars this way if You have characters in declared encoding (that's what <meta http-equiv="Content-Type" for). |
Pekr 3-Aug-2006 [1216] | thanks, Alek! |
Sunanda 11-Sep-2006 [1217] | Anyone else getting their logon pages nibbled by botnets? Here's some (failed) REBOL.org logons from yesterday. Format is attempted user-name (truncated to 12 characters) followed by IP address of the perp: hvrkme6mailr 203.113.13.4 wjn4r55ebayc 203.113.13.4 jsyqbrvebayc 220.124.170.169 mnpwtrugmail 220.70.88.162 orf9a3aaltav 220.77.210.71 lcfu7h2searc 217.10.190.36 djspeememail 211.170.204.237 zdgnhb9hotma 211.48.29.27 aown600micro 59.6.92.19 It seems sad that the level of intelligence of malicious bot writers is so low. I blame TV. |
Ladislav 11-Sep-2006 [1218x2] | what would you say if the perpetrators "got through"? - I don't think intelligence is what is this about |
or, maybe it is about intelligence, but then it actually does not matter whether they succeed or not, their intelligence is of the same nature for me | |
Anton 12-Sep-2006 [1220] | There are lots of desperate people out there. |
Louis 19-Sep-2006 [1221] | Due to a very slow Internet connection, I need to make the FTP module of my website builder script more efficient so I don't send files unnecessarily. What I have in mind is: 1. Delete all the files in the website directory on my harddrive to eliminate all unused files. 2. Build the website to the website directory on my harddrive. 3. Download a list of the file names and creation dates from the website (all are in one directory). 4. Read the list of file names and creation dates from the directory on my harddrive (all are in the one directory mentioned in 2 above). 5. If a file is on the hard drive but not on the server, send it to the server. 6. If a file is on the server but not on the harddrive, delete the file on the server. 7. If a file on the harddrive is newer than a file on the server, send it to the server. Has anyone already done this? Am I forgetting anything? Any pointers on how to do this? |
MikeL 19-Sep-2006 [1222x2] | Hi Louis, |
Sorry about the CRLF ..... you don't want to be checking the timestamps on the server with a slow connection. Just hold the last updated value locally and if it changes then transfer the file. Same for deleting ... else you spend all of your time checking on the server over a slow connection. You could check the timestamps or hash the local value ... then if the hash value of the source changes, transfer the updated version. There's some code to do some of this in build-sie.r http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=build-site.r but it's a rebol-ish task. | |
Louis 19-Sep-2006 [1224] | Thanks, Mike. I'm studying the build-site.r code now. |
Henrik 19-Sep-2006 [1225] | if you are on an unreliable or slow connection, you might experience timeouts which will in turn cause network errors. I recently worked on a similar system and you have to basically wrap all code that access the internet in TRY and do a lot of error trapping and possibly some retrying to ensure that uploads and downloads of entire filesets are done correctly. The code in build-site.r will not do that, so you have to restart the upload if it fails. |
Graham 19-Sep-2006 [1226x4] | http://www.compkarori.com/reb/ftp-dirupload.r |
should do most of what you want ... | |
4 years old though. | |
No date checking on files .. only size checking. | |
Louis 19-Sep-2006 [1230x2] | Thanks, Henrik and Graham. |
Graham, if a file upload fails somewhere in the middle, will you script restart the upload where the failure occurred so that the first half of the file does not have to be downloaded again? | |
Graham 19-Sep-2006 [1232x5] | No, it does not do resume. |
it is completely automatic... no intervention required. | |
otherwise, if you want an interactive ftp program which asks you .. do you want to resume or whatever, you need another program. | |
this once force uploads everything. | |
I used it to upload hundreds of files that other ftp agents croaked on. | |
Anton 19-Sep-2006 [1237] | I found various FTP servers report dates differently. Also the dates may not include the timezone, so you would have to assume it is in the timezone of the server and get the timezone from the server another way. Because there are so many variants of FTP servers you would have to do a lot of research to make this reliable, and then you wouldn't be 100% sure it would not fall over with some obscure FTP server. |
Sunanda 20-Sep-2006 [1238] | Louis -- a couple of pointers about uploading files to a server using a slow FTP connection: (I do it myself with REBOL.org -- most of the development takes place on my machine and is uploaded to RO via a 56K modem, so this is based on real experience.) -- If you are uploading a large live file, that file will be available and/or "broken" during the course of the upload. Best to upload with a temporary file name, and then rename when uploaded. -- That won't work with CGI scripts under Apache/UNIX as the rename won't leave them with the right file permissions to execute. But it will work for all other files, including scripts that are DOne by your CGIs. -- We have a checksums file that the uploader uses. Before uploading a file, it checks the file's upload checksum. That way, we only ever upload new or changed files. |
Louis 20-Sep-2006 [1239] | Thanks, Graham, for the script. And thanks Henrik, Anton, and Sunanda for the pointers. I'm hoping to be able to start working on this within the next few days. |
Anton 20-Sep-2006 [1240] | No problem. Hope it goes well. |
Oldes 9-Oct-2006 [1241] | This is very good CSS tutorial, which someone may find useful - http://www.thenoodleincident.com/tutorials/box_lesson/boxes.html And this is another good place from which I found the link above - http://www.mandarindesign.com/ |
Alek_K 10-Oct-2006 [1242] | Some good resources about design/css/ia/etc. on last ALA: http://www.alistapart.com/articles/alaprimer2 |
james_nak 10-Oct-2006 [1243] | My favorite CSS examples http://www.csszengarden.comNot so much about "how" to do it but "what" can be accomplished. I find it pretty amazing. |
Janeks 23-Oct-2006 [1244x2] | I had faced with problem for file uploads: I had file upload script (upload.r posted somwhere in rebol lists/worlds) on my web servers, that works well on KF web server. But on MS IIS script hangs and I am getting timeout error from server. If it is needed I can post upload.r here! |
Actualy problem is in function read-post data - script hangs on read-io. Why it is problem for MS IIS and how to solve them? read-post-data: func [ {Reads the HTTP entity body} /safe "Disables evaluation of content-length header." /local len data tmp ] [ len: load any [ all [safe "65536"] system/options/cgi/content-length "0" ] data: make string! len tmp: make string! len while [ 0 < read-io system/ports/input tmp len ] [ insert tail data tmp clear tmp ] data ] | |
Pekr 6-Nov-2006 [1246x2] | is there any solution available for Rebol, which would handle sessions? |
My understanding is, that sessions=cookies (or hidden form field, url, or combination of those ones) plus storage/invocation mechanism | |
Rebolek 6-Nov-2006 [1248] | there is cookies manager from Oldes somewhere, have a look around AltME for URL (he still ignores rebol.org, such a bad bad bad boy ;). |
Pekr 6-Nov-2006 [1249] | cookies manager? will try to look for one :-) |
Rebolek 6-Nov-2006 [1250] | yes, it's patched HTTP scheme. Does all session management automaticaly IIRC. |
Pekr 6-Nov-2006 [1251x3] | hmm, it might not be ideal for CGI, to do 20KB script with each invocation ... |
I found it via google ... | |
well, working with cookies is not all that difficult, is it? My friend just asked me - why rebol does not handle sessions, if any other language does. I told him to write it himself, but he probably does not know how. Isn't session just about getting a cookie, looking into your storage space for the cookie identifier (session identifier), loading the session data, using them, and storing them once again? | |
Rebolek 6-Nov-2006 [1254] | Pekr: his Cookies Daemon is client-side, not server-side, I probably understood you bad. |
Pekr 6-Nov-2006 [1255] | ah, yes, I wanted server-side one ... |
Gabriele 6-Nov-2006 [1256] | Yes, session handling is not hard. REBOL does not have it built in because it was not designed to be mainly a CGI language; so you need to add that yourself. |
Pekr 7-Nov-2006 [1257] | how should I design my function, if I would like to have e.g. session: copy [] block, and later would like to append whatever rebol value into it? e.g. variable names using in script, objects, etc? when I do append session var, it stores its value .... what would be the best aproach? |
Gabriele 7-Nov-2006 [1258x3] | the simplest way, which however needs write permissions to the filesystem, is to have a unique session id assigned to users; this id could be basically a file name (and you need to check for its sanity then); then you read from the file at the beginning, and save to it at the end. |
eg. you could have session: load session-file at the beginning; then your script does whatever with session; then you save session-file session at the end. | |
temple.cgi does basically this. | |
Pekr 7-Nov-2006 [1261x2] | yes, I know, as for files. My strategy is very simple - use cookies (I wonder if there is script being able to handle multiple cookies btw), then "start a session" = generate unique ID, store it in \sessions\ dir .... |
I just thought about how to store and later load some rebol values, add new values to them ..... | |
older newer | first last |