Re: [Rd] C or Java code generation
Dirk Eddelbuettel пишет: No, what you describe in the next few hundred lines would _build the examples if the package is already installed_ Also, building these examples (once you have the package is installed) does Work For Me (TM) in the sense that the compiles and linking steps succeed (WinXP, Rtools with gcc/g++ 4.2.x, R 2.11.0) yet it, as noted above, leads to a seg.fault which Romain and I have found neither time nor motivation to fix. You would be very welcome to help out -- our discussions around Rcpp and RInside take place on the rcpp-devel list off R-Forge. | 1) First I added R_HOME environment variable. | 2) Then modified c:\Program | Files\R\R-2.11.1\library\RInside\examples\standard\Makefile.win by | surrounding $(R_HOME)/bin/R with the quotation marks. | 3) And finally | C:\Program Files\R\R-2.11.1\library\RInside\examples\standardmake -f | Makefile.win | g++ -Ic:/PROGRA~1/R/R-211~1.1/include | -Ic:/PROGRA~1/R/R-211~1.1/library/Rcpp/include | -Ic:/PROGRA~1/R/R-211~1.1/library/RInside/include -O2 -Wall -Wall -s | rinside_callbacks0.cpp -Lc:/PROGRA~1/R/R-211~1.1/bin -lR | -Lc:/PROGRA~1/R/R-211~1.1/bin -lRblas -Lc:/PROGRA~1/R/R-211~1.1/bin | -lRlapack c:/PROGRA~1/R/R-211~1.1/library/RInside/lib/libRInside.a | c:/PROGRA~1/R/R-211~1.1/library/Rcpp/lib/libRcpp.a -o rinside_callbacks0 | c:/PROGRA~1/R/R-211~1.1/library/RInside/lib/libRInside.a(RInside.o):RInside.cpp:(.text+0x10b): | undefined reference to `__gxx_personality_sj0' [ Hundreds of similar lines removed. ] Thanks, Dirk Hi all! Could you help me to install Rinside in Ubuntu Jaunty? I've installed R and Rcpp but I have no idea how to deal with Rinside. I couldn't find any makefile. WBR, Vyacheslav. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
Le 20/08/10 10:32, Vyacheslav Karamov a écrit : Dirk Eddelbuettel пишет: No, what you describe in the next few hundred lines would _build the examples if the package is already installed_ Also, building these examples (once you have the package is installed) does Work For Me (TM) in the sense that the compiles and linking steps succeed (WinXP, Rtools with gcc/g++ 4.2.x, R 2.11.0) yet it, as noted above, leads to a seg.fault which Romain and I have found neither time nor motivation to fix. You would be very welcome to help out -- our discussions around Rcpp and RInside take place on the rcpp-devel list off R-Forge. | 1) First I added R_HOME environment variable. | 2) Then modified c:\Program | Files\R\R-2.11.1\library\RInside\examples\standard\Makefile.win by | surrounding $(R_HOME)/bin/R with the quotation marks. | 3) And finally | C:\Program Files\R\R-2.11.1\library\RInside\examples\standardmake -f | Makefile.win | g++ -Ic:/PROGRA~1/R/R-211~1.1/include | -Ic:/PROGRA~1/R/R-211~1.1/library/Rcpp/include | -Ic:/PROGRA~1/R/R-211~1.1/library/RInside/include -O2 -Wall -Wall -s | rinside_callbacks0.cpp -Lc:/PROGRA~1/R/R-211~1.1/bin -lR | -Lc:/PROGRA~1/R/R-211~1.1/bin -lRblas -Lc:/PROGRA~1/R/R-211~1.1/bin | -lRlapack c:/PROGRA~1/R/R-211~1.1/library/RInside/lib/libRInside.a | c:/PROGRA~1/R/R-211~1.1/library/Rcpp/lib/libRcpp.a -o rinside_callbacks0 | c:/PROGRA~1/R/R-211~1.1/library/RInside/lib/libRInside.a(RInside.o):RInside.cpp:(.text+0x10b): | undefined reference to `__gxx_personality_sj0' [ Hundreds of similar lines removed. ] Thanks, Dirk Hi all! Could you help me to install Rinside in Ubuntu Jaunty? I've installed R and Rcpp but I have no idea how to deal with Rinside. I couldn't find any makefile. WBR, Vyacheslav. Hi, It installs just like any other R package, there is no need for a Makefile. $ R CMD RInside_0.2.3.tar.gz or from R: install.packages( RInside ) We usually encourage people to use the Rcpp-devel mailing list for questions about RInside : http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel Romain -- Romain Francois Professional R Enthusiast +33(0) 6 28 91 30 30 http://romainfrancois.blog.free.fr |- http://bit.ly/bzoWrs : Rcpp svn revision 2000 |- http://bit.ly/b8VNE2 : Rcpp at LondonR, oct 5th `- http://bit.ly/aAyra4 : highlight 0.2-2 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Sweave *, showWarnings=TRUE ?
Martin Maechler wrote: Thank you Duncan, for expanding Sweave functionality, notably considering error handling. Related to that is the topic of handling warning messages. I thought someone (Fritz? One of the Sweave support package writers?) was working on the issue of including error and warning messages in Sweave output. My changes don't address that problem. The changes I'm going to make will only be visible in syntax errors. R currently has the underlying support to allow it to report source file line numbers in execution time error messages, but it isn't taken advantage of in many places. If that is expanded, my Sweave changes should take advantage of it automatically. Duncan Murdoch In a course on using R (for beginners), I would really like to show warnings that code chunks produce. Currently, the warnings are printed to the console when I run 'R CMD Sweave ..' and do not appear in the resulting *.tex file. Of course --- fortune(Yoda) --- I can always fudge what I want, but it would be quite desirable to have simple Sweave option which would deal with warnings() { and maybe message(), stop(), and general exception handling; but for all practical purposes, it's the warnings that I'd like to be handled automatically.} Martin Maechler, ETH Zurich __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
Romain Francois wrote: Hi, It installs just like any other R package, there is no need for a Makefile. $ R CMD RInside_0.2.3.tar.gz Should probably be: R CMD INSTALL RInside_0.2.3.tar.gz But are we misleading the OP a little bit about what RInside can help him do? His original question was: Vyacheslav Karamov wrote: Hi All! I'm new to R and I need to know is it possible for R to generate C/C++ source code, Java byte code or native Win32 DLL like MatLab? He stated that he was looking for this because: Vyacheslav Karamov wrote: Is there any posibility to use R without installing? I mean that I have my own application written in MS Visual C++ and I need to use R script in this app. I can install R and use it via DCOM, but it's not convenient for the end users of my program. I think the proper answer to this question is: R is an interpreted language. There is not any developed way to compile R code to machine code, an executable or a library that can be distributed to a computer that does not have a copy of R installed. R does include a library with various names such as R.a, libR.so and R.dll that contains the R interpreter and support functions which could be used to distribute a stand alone executable that can run R code without the R distribution being installed. However the sticking point is packages; the OP is likely trying to embed R in order to gain access to one, or several, R packages. As far as I know, there is no developed way to compile an R package down such that it could be distributed, perhaps along with R.dll, and stand by its self. It is theoretically possible, but there is no turnkey solution. So, unless I am gravely mistaken, RInside is just a nice cross-platform replacement for the RDCOM interface. It won't solve the problem of needing R installed on the client's computer in order to fully use the R environment which is dependent on packages. -Charlie - Charlie Sharpsteen Undergraduate-- Environmental Resources Engineering Humboldt State University -- View this message in context: http://r.789695.n4.nabble.com/C-or-Java-code-generation-tp2330875p2332606.html Sent from the R devel mailing list archive at Nabble.com. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
On 20 August 2010 at 08:02, Sharpie wrote: | So, unless I am gravely mistaken, RInside is just a nice cross-platform | replacement for the RDCOM interface. It won't solve the problem of needing I wrote RInside, and I am unaware of any attempts of mine to either copy, clone or otherwise imitate any of the non-portable technologies from the Pacific Northwest I happen to be rather unfamiliar with to boot. So I fear that were indeed gravely mistaken. Thanks for trying though. RInside delivers what it promises: an embedded R instance for your C++ program. And thanks to the magic that is Rcpp and all of the work Romain and I put into it, you get a rather rich interface between R and C++ that has no parallel I know of. | R installed on the client's computer in order to fully use the R environment | which is dependent on packages. That on the other hand is a true statement and as far as I am concerned a good thing as well. Dirk -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
Dirk Eddelbuettel wrote: On 20 August 2010 at 08:02, Sharpie wrote: | So, unless I am gravely mistaken, RInside is just a nice cross-platform | replacement for the RDCOM interface. It won't solve the problem of needing I wrote RInside, and I am unaware of any attempts of mine to either copy, clone or otherwise imitate any of the non-portable technologies from the Pacific Northwest I happen to be rather unfamiliar with to boot. So I fear that were indeed gravely mistaken. Thanks for trying though. RInside delivers what it promises: an embedded R instance for your C++ program. And thanks to the magic that is Rcpp and all of the work Romain and I put into it, you get a rather rich interface between R and C++ that has no parallel I know of. | R installed on the client's computer in order to fully use the R environment | which is dependent on packages. That on the other hand is a true statement and as far as I am concerned a good thing as well. Dirk My apologies Dirk, I phrased that badly. What I ment is that RInside provides an interface by which the C++ program can interact with R. Essentially, what the OP would gain from RInside is that he would not have to use DCOM. -Charlie - Charlie Sharpsteen Undergraduate-- Environmental Resources Engineering Humboldt State University -- View this message in context: http://r.789695.n4.nabble.com/C-or-Java-code-generation-tp2330875p2332632.html Sent from the R devel mailing list archive at Nabble.com. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
On Aug 20, 2010, at 11:17 AM, Dirk Eddelbuettel wrote: On 20 August 2010 at 08:02, Sharpie wrote: | So, unless I am gravely mistaken, RInside is just a nice cross-platform | replacement for the RDCOM interface. It won't solve the problem of needing I wrote RInside, and I am unaware of any attempts of mine to either copy, clone or otherwise imitate any of the non-portable technologies from the Pacific Northwest I happen to be rather unfamiliar with to boot. So I fear that were indeed gravely mistaken. I fear not: RInside, Rserve, R[D]COM, JRI, ... all embed R which was that his point, rightly so. There is no way I know of to turn R code into something that can run on its own without R present (save for a tiny subset of Rmath). Cheers, Simon RInside delivers what it promises: an embedded R instance for your C++ program. And thanks to the magic that is Rcpp and all of the work Romain and I put into it, you get a rather rich interface between R and C++ that has no parallel I know of. | R installed on the client's computer in order to fully use the R environment | which is dependent on packages. That on the other hand is a true statement and as far as I am concerned a good thing as well. Dirk -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
On 20 August 2010 at 08:25, Sharpie wrote: | My apologies Dirk, I phrased that badly. No worries. | What I ment is that RInside provides an interface by which the C++ program | can interact with R. Essentially, what the OP would gain from RInside is | that he would not have to use DCOM. Apart from the fact (that I alluded to earlier) that a) RInside does not build with the windoze toolchain but b) requires Rtools by Duncan M, and c) as of late builds but segfaults when running on Windoze. So in short he is not helped at all unless he changes platforms. C'est la vie. On 20 August 2010 at 11:39, Simon Urbanek wrote: | I fear not: RInside, Rserve, R[D]COM, JRI, ... all embed R which was that his point, rightly so. I know next to nothing about JRI and RwhateverCOM so I will skip those. But I have been in pushing for adoption of Rserve in different places and as early as 2003/2004 as I am a big, big fan of Rserver (as well as Debian maintainer). However, RInside is much different in that it is a) in-process and b) endowed with the richer Rcpp interface that Romain and I have been building. So in that sense this is not a comparison to me apart from the obvious fact that both use R in an embedded fashion. | There is no way I know of to turn R code into something that can run on its own without R present (save for a tiny subset of Rmath). You seem to have missed that I made that same point, and stressed it as a good one. Not of the aforementioned technologies are meant to hide R or permit deployment without it. Dirk -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Does anyone use Sweave (RweaveLatex) option expand=FALSE?
Duncan, I use noweb for my R source code on the more complex projects (see the coxme package). I currently have my own noweb.R functions to do the work, but the overlap is so great with Sweave that I have hopes that they will one day merge. A note on abc recursion: for documentation this is very well designed; it's better than a macro or a function would be. And of course, documentation of code is what the system was designed for. And a general query: I currently have the .Rnw source files in the inst/noweb directory. Do people have a better suggestion? Remember these .Rnw files are the source of my .R files and of document explaining the code, not the source of vignettes or manual pages. Terry Therneau __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] segfault in embedded r after call to repldlldo1
Dear R developers, i've got a question concerning an embedded R instance. I called the initialization routines as seen in the writing extensions guide (Rf_initialize, setup_Rmainloop and R_ReplDLLinit). I also changed the function callback pointer of readconsole and writeconsoleex to my local functions. when i call mainloop there is no problem and the commands are evaluated as expected. because i don't want R to run in an own thread and my app should keep the control i want to use repldlldo1. within the readconsole as long as i copy commandlines containing valid R commands function to R's buffer all things are fine. but when i copy a non valid command, R singals segfault after passing the error message, that the given object is not valid. this happens in call to eval(R_CurrentExpr, rho) in repldlldo1. i tried to comapare both ways (mainloop vs. repldlldo+repldllinit) but actually cannot find a significant difference. can anyone please help me with this problem, i'm stucked with this because i don't know the inside of R and the datastructures. some additional information: c++, runtime loaded libR, 64-bit linux, 2.11.1 release (but also happens with 2.10.1) look farward to hearing from you. thanks, martin __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] segfault in embedded r after call to repldlldo1
On Aug 20, 2010, at 12:14 PM, Carl Martin Grewe wrote: Dear R developers, i've got a question concerning an embedded R instance. I called the initialization routines as seen in the writing extensions guide (Rf_initialize, setup_Rmainloop and R_ReplDLLinit). I also changed the function callback pointer of readconsole and writeconsoleex to my local functions. when i call mainloop there is no problem and the commands are evaluated as expected. because i don't want R to run in an own thread and my app should keep the control i want to use repldlldo1. within the readconsole as long as i copy commandlines containing valid R commands function to R's buffer all things are fine. but when i copy a non valid command, R singals segfault after passing the error message, that the given object is not valid. this happens in call to eval(R_CurrentExpr, rho) in repldlldo1. i tried to comapare both ways (mainloop vs. repldlldo+repldllinit) but actually cannot find a significant difference. I fear we can't help you without a reproducible example. One thing to keep in mind is that R_ReplDLLinit uses setjmp to setup the top-level context so you have to make sure you're not using any local variables that could be on the stack from R_ReplDLLdo1 as it will get lost (and function calls of course). Cheers, Simon can anyone please help me with this problem, i'm stucked with this because i don't know the inside of R and the datastructures. some additional information: c++, runtime loaded libR, 64-bit linux, 2.11.1 release (but also happens with 2.10.1) look farward to hearing from you. thanks, martin __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] Rserve graphics output [was Re: C or Java code generation]
Donald Paul Winston wrote: Aren't you the guy who created Rserve? I'd like to develop a web app so clients can perform exploratory data analysis with their browser with no installed software, not even java (I don't like applets). I thought R would be excellent for this but I need some issues cleared up before I invest a lot of time working with it. Well, Simon is the one who create Rserve. However, if you have questions about Rserve it may be best to start a new thread or at least change the subject header of your message. This discussion was about creating stand-alone executables that use R code for deployment on a desktop. Donald Paul Winston wrote: It appears R insists on directing plot output to a file. Is their a graphics device that keeps the output in memory so it can be returned to my java app as a stream of bytes? If I have to wait for it to write to a unique file and then read it back again then I don't think that's going to work. My web app needs to support hundreds of concurrent clients. As far as I know all R graphics output that does not go to a screen device, such as an X window, must be directed to some sort of file. I am not aware of a graphics device that provides output to something other than a screen or a file, but there very well may be such a device in existence. The functionality you could describe could be implemented by writing a R graphics device that forwards the R plotting commands to... well anywhere you want, really. As the author of an R graphics device, I can say the trickiest part of such an undertaking will be calculating font metrics so that R can properly position text in the graphics. Everything else is very straight-forward. I have plans to write a device that forwards the plotting commands to a socket connection that allows another program to execute them. In my case, an Erlang backbone is used to route the results back to web clients using websockets. The idea is to have the plot rendered directly in the client's browser using a JavaScript library like RaphealJS. However, the school year is upon me and the project will probably remain on the drawing board until next summer. Donald Paul Winston wrote: Is REngine.jar and REngineRserve.jar all I need in my web app? I can't comment on REngine as I have not used it. Donald Paul Winston wrote: Also, how come their is no shutdown command from the command line for Rserve. I see one in the java client api. Do I have to write my own? I find that on UNIX a SIGTERM, SIGSTOP or SIGKILL signal broadcast using a command line utility such as kill does the job. -Charlie - Charlie Sharpsteen Undergraduate-- Environmental Resources Engineering Humboldt State University -- View this message in context: http://r.789695.n4.nabble.com/C-or-Java-code-generation-tp2330875p2332761.html Sent from the R devel mailing list archive at Nabble.com. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
On Thu, Aug 19, 2010 at 5:47 AM, Vyacheslav Karamov ubuntul...@yandex.ru wrote: x.ru Hi All! I'm new to R and I need to know is it possible for R to generate C/C++ source code, Java byte code or native Win32 DLL like MatLab? Is there any posibility to use R without installing? I mean that I have my own application written in MS Visual C++ and I need to use R script in this app. I can install R and use it via DCOM, but it's not convenient for the end users of my program. Do your users have Web access? If so, you can set up an Rweb (or similar) server that could run the jobs for those users. I have one set up like that. Users transmit their code via http and can get results back in web page. I think you could probably program around the output management question, but I did not try to do it. I mean, something like wget could download the images directly, by-passing the http server. Rweb has been abandoned by its original author, but it can be made to work, and there are other, newer http server programs to run R. I have not tried them yet, mainly because my customers needed to run Rweb because their clients told them to use it. -- Paul E. Johnson Professor, Political Science 1541 Lilac Lane, Room 504 University of Kansas __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Rserve graphics output [was Re: C or Java code generation]
On Fri, 2010-08-20 at 12:58 -0400, Sharpie wrote: Donald Paul Winston wrote: Aren't you the guy who created Rserve? I'd like to develop a web app so clients can perform exploratory data analysis with their browser with no installed software, not even java (I don't like applets). I thought R would be excellent for this but I need some issues cleared up before I invest a lot of time working with it. Well, Simon is the one who create Rserve. However, if you have questions about Rserve it may be best to start a new thread or at least change the subject header of your message. This discussion was about creating stand-alone executables that use R code for deployment on a desktop. Donald Paul Winston wrote: It appears R insists on directing plot output to a file. Is their a graphics device that keeps the output in memory so it can be returned to my java app as a stream of bytes? If I have to wait for it to write to a unique file and then read it back again then I don't think that's going to work. My web app needs to support hundreds of concurrent clients. As far as I know all R graphics output that does not go to a screen device, such as an X window, must be directed to some sort of file. I am not aware of a graphics device that provides output to something other than a screen or a file, but there very well may be such a device in existence. This was essentially the conclusion of Donald's earlier thread... The functionality you could describe could be implemented by writing a R graphics device that forwards the R plotting commands to... well anywhere you want, really. As the author of an R graphics device, I can say the trickiest part of such an undertaking will be calculating font metrics so that R can properly position text in the graphics. Everything else is very straight-forward. I believe Donald wants the _rendered_ output. That is, a stream of bytes that represent a png, jpeg, etc. Toward this end, we have already discussed using an OS-level fifo to avoid disk I/O, and I think this is the easiest route for Donald. Alternatively, Donald might look into the X11 graphics driver, where Cairo is used to write pngs. In particular, the in_do_saveplot function (src/main/modules/X11/devX11.c) calls cairo_surface_write_to_png, in order to save a png to file. Cairo also provides the cairo_surface_write_to_png_stream function, which might be used to send png data to a memory buffer (i.e. a raw vector). I don't think it would be too difficult to modify in_do_saveplot to accommodate this. I have plans to write a device that forwards the plotting commands to a socket connection that allows another program to execute them. In my case, an Erlang backbone is used to route the results back to web clients using websockets. The idea is to have the plot rendered directly in the client's browser using a JavaScript library like RaphealJS. However, the school year is upon me and the project will probably remain on the drawing board until next summer. Donald Paul Winston wrote: Is REngine.jar and REngineRserve.jar all I need in my web app? I can't comment on REngine as I have not used it. Donald Paul Winston wrote: Also, how come their is no shutdown command from the command line for Rserve. I see one in the java client api. Do I have to write my own? I find that on UNIX a SIGTERM, SIGSTOP or SIGKILL signal broadcast using a command line utility such as kill does the job. -Charlie - Charlie Sharpsteen Undergraduate-- Environmental Resources Engineering Humboldt State University -- Matthew S. Shotwell Graduate Student Division of Biostatistics and Epidemiology Medical University of South Carolina __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] No RTFM?
Recently I was visiting with people about why commercial support is needed for some people using R. One person observed: With commercial support, you have a person that you can call with questions and yell at. With R mailing lists, you can ask questions and have people yell at YOU. The atmosphere of the R-help and R-devel mailing lists is infamous. Is this a good reputation to have? I'm doubtful that it is. So, I support Spencer's suggestion for more civility. Kevin Wright On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves spencer.gra...@structuremonitoring.com wrote: What do you think about adding a No RTFM policy to the R mailing lists? Per, http://en.wikipedia.org/wiki/RTFM: The Ubuntu Forums and LinuxQuestions.org, for instance, have instituted no RTFM policies to promote a welcoming atmosphere.[8][9]. RTFM [and] Go look on google are two inappropriate responses to a question. If you don't know the answer or don't wish to help, please say nothing instead of brushing off someone's question. Politely showing someone how you searched or obtained the answer to a question is acceptable, even encouraged. ... If you wish to remind a user to use search tools or other resources when they have asked a question you feel is basic or common, please be very polite. Any replies for help that contain language disrespectful towards the user asking the question, i.e. STFU or RTFM are unacceptable and will not be tolerated. Ubuntu Forums Gavin Simpson and I recently provided examples answering a question from r.ookie that had previously elicited responses, You want us to read the help page to you? and It yet again appears that you are asking us to read the help pages for you. I can appreciate the sentiment in fortunes('rtfm'). In this case, however, r.ookie had RTFM (and said so), but evidently the manual was not sufficiently clear. Best Wishes, Spencer Graves __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Kevin Wright [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Rserve graphics output [was Re: C or Java code generation]
On Aug 20, 2010, at 12:58 PM, Sharpie wrote: Donald Paul Winston wrote: Aren't you the guy who created Rserve? I'd like to develop a web app so clients can perform exploratory data analysis with their browser with no installed software, not even java (I don't like applets). I thought R would be excellent for this but I need some issues cleared up before I invest a lot of time working with it. Well, Simon is the one who create Rserve. However, if you have questions about Rserve it may be best to start a new thread or at least change the subject header of your message. There is now a thread on the stat-rosuda-devel mailing list about that. This discussion was about creating stand-alone executables that use R code for deployment on a desktop. Donald Paul Winston wrote: It appears R insists on directing plot output to a file. Is their a graphics device that keeps the output in memory so it can be returned to my java app as a stream of bytes? If I have to wait for it to write to a unique file and then read it back again then I don't think that's going to work. My web app needs to support hundreds of concurrent clients. As far as I know all R graphics output that does not go to a screen device, such as an X window, must be directed to some sort of file. I am not aware of a graphics device that provides output to something other than a screen or a file, but there very well may be such a device in existence. The functionality you could describe could be implemented by writing a R graphics device that forwards the R plotting commands to... well anywhere you want, really. As the author of an R graphics device, I can say the trickiest part of such an undertaking will be calculating font metrics so that R can properly position text in the graphics. Everything else is very straight-forward. I have plans to write a device that forwards the plotting commands to a socket connection that allows another program to execute them. You may have a look at xGD[1] - it sends all GD commands to a TCP/IP socket (and there is a Java server as an example). Cheers, Simon [1] http://rforge.net/xGD/ In my case, an Erlang backbone is used to route the results back to web clients using websockets. The idea is to have the plot rendered directly in the client's browser using a JavaScript library like RaphealJS. However, the school year is upon me and the project will probably remain on the drawing board until next summer. Donald Paul Winston wrote: Is REngine.jar and REngineRserve.jar all I need in my web app? I can't comment on REngine as I have not used it. Donald Paul Winston wrote: Also, how come their is no shutdown command from the command line for Rserve. I see one in the java client api. Do I have to write my own? I find that on UNIX a SIGTERM, SIGSTOP or SIGKILL signal broadcast using a command line utility such as kill does the job. -Charlie - Charlie Sharpsteen Undergraduate-- Environmental Resources Engineering Humboldt State University -- View this message in context: http://r.789695.n4.nabble.com/C-or-Java-code-generation-tp2330875p2332761.html Sent from the R devel mailing list archive at Nabble.com. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] No RTFM?
On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves spencer.gra...@structuremonitoring.com wrote: What do you think about adding a No RTFM policy to the R mailing lists? Per, http://en.wikipedia.org/wiki/RTFM: I think this is a great suggestion. I notice the R mailing list already has a gesture in this direction: Rudeness and ad hominem comments are not acceptable. Brevity is OK. But the people who behave badly don't care about policies like this and they will keep doing what they do. pj -- Paul E. Johnson Professor, Political Science 1541 Lilac Lane, Room 504 University of Kansas __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] C or Java code generation
On Aug 20, 2010, at 1:15 PM, Paul Johnson wrote: On Thu, Aug 19, 2010 at 5:47 AM, Vyacheslav Karamov ubuntul...@yandex.ru wrote: x.ru Hi All! I'm new to R and I need to know is it possible for R to generate C/C++ source code, Java byte code or native Win32 DLL like MatLab? Is there any posibility to use R without installing? I mean that I have my own application written in MS Visual C++ and I need to use R script in this app. I can install R and use it via DCOM, but it's not convenient for the end users of my program. Do your users have Web access? If so, you can set up an Rweb (or similar) server that could run the jobs for those users. I have one set up like that. Users transmit their code via http and can get results back in web page. I think you could probably program around the output management question, but I did not try to do it. I mean, something like wget could download the images directly, by-passing the http server. Rweb has been abandoned by its original author, but it can be made to work, and there are other, newer http server programs to run R. I have not tried them yet, mainly because my customers needed to run Rweb because their clients told them to use it. FWIW: FastRWeb uses Rserve as back-end and is in active development since we use it internally (it's wicked fast, scalable and supports data pre-loading and AJAX). Cheers, Simon __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Rserve graphics output [was Re: C or Java code generation]
On Aug 20, 2010, at 1:59 PM, Matt Shotwell wrote: On Fri, 2010-08-20 at 12:58 -0400, Sharpie wrote: Donald Paul Winston wrote: Aren't you the guy who created Rserve? I'd like to develop a web app so clients can perform exploratory data analysis with their browser with no installed software, not even java (I don't like applets). I thought R would be excellent for this but I need some issues cleared up before I invest a lot of time working with it. Well, Simon is the one who create Rserve. However, if you have questions about Rserve it may be best to start a new thread or at least change the subject header of your message. This discussion was about creating stand-alone executables that use R code for deployment on a desktop. Donald Paul Winston wrote: It appears R insists on directing plot output to a file. Is their a graphics device that keeps the output in memory so it can be returned to my java app as a stream of bytes? If I have to wait for it to write to a unique file and then read it back again then I don't think that's going to work. My web app needs to support hundreds of concurrent clients. As far as I know all R graphics output that does not go to a screen device, such as an X window, must be directed to some sort of file. I am not aware of a graphics device that provides output to something other than a screen or a file, but there very well may be such a device in existence. This was essentially the conclusion of Donald's earlier thread... The functionality you could describe could be implemented by writing a R graphics device that forwards the R plotting commands to... well anywhere you want, really. As the author of an R graphics device, I can say the trickiest part of such an undertaking will be calculating font metrics so that R can properly position text in the graphics. Everything else is very straight-forward. I believe Donald wants the _rendered_ output. That is, a stream of bytes that represent a png, jpeg, etc. Toward this end, we have already discussed using an OS-level fifo to avoid disk I/O, and I think this is the easiest route for Donald. Alternatively, Donald might look into the X11 graphics driver, where Cairo is used to write pngs. In particular, the in_do_saveplot function (src/main/modules/X11/devX11.c) calls cairo_surface_write_to_png, in order to save a png to file. Cairo also provides the cairo_surface_write_to_png_stream function, which might be used to send png data to a memory buffer (i.e. a raw vector). I don't think it would be too difficult to modify in_do_saveplot to accommodate this. That is all nice, it will require you to hack R (well, there is the Cairo device so you could make the change outside of R instead). As always, the reason is buried deep inside -- the lack of connection API. If we had that, devices would take a connection instead of the file name and all would be well since you could use in-memory connections instead of files ... ;) Cheers, Simon I have plans to write a device that forwards the plotting commands to a socket connection that allows another program to execute them. In my case, an Erlang backbone is used to route the results back to web clients using websockets. The idea is to have the plot rendered directly in the client's browser using a JavaScript library like RaphealJS. However, the school year is upon me and the project will probably remain on the drawing board until next summer. Donald Paul Winston wrote: Is REngine.jar and REngineRserve.jar all I need in my web app? I can't comment on REngine as I have not used it. Donald Paul Winston wrote: Also, how come their is no shutdown command from the command line for Rserve. I see one in the java client api. Do I have to write my own? I find that on UNIX a SIGTERM, SIGSTOP or SIGKILL signal broadcast using a command line utility such as kill does the job. -Charlie - Charlie Sharpsteen Undergraduate-- Environmental Resources Engineering Humboldt State University -- Matthew S. Shotwell Graduate Student Division of Biostatistics and Epidemiology Medical University of South Carolina __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] No RTFM?
On Fri, Aug 20, 2010 at 2:12 PM, Paul Johnson pauljoh...@gmail.com wrote: On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves spencer.gra...@structuremonitoring.com wrote: What do you think about adding a No RTFM policy to the R mailing lists? Per, http://en.wikipedia.org/wiki/RTFM: I think this is a great suggestion. I notice the R mailing list already has a gesture in this direction: Rudeness and ad hominem comments are not acceptable. Brevity is OK. But the people who behave badly don't care about policies like this and they will keep doing what they do. Although it may seem hard to justify rudeness its often the case that even the most bizarre behavior makes sense if you view it from the perspective of that person. In the case of the R list there is a larger potential demand for free help than resources to answer and without the usual monetary economics to allocate resources I believe that the functional purpose of rudeness here is to ration those resources and minimize duplication of questions. If that is correct one can predict that if civility were to become the norm on this list then other rationing mechanisms would arise to replace it. For example, it might become the norm that most questions are not answered or are answered less thoroughly or the list might be replaced as the de facto goto medium for R questions by some other list or web site so we have to be careful about unintended consequences. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] No RTFM?
Hi, Gabor, et al.: Can anyone comment on the experience of the Ubuntu Forums and LinuxQuestions.org, mentioned in the Wikipedia article I cited? Gabor makes an interesting point. However, logic without data is a very poor tool for decision making, because great sounding assumptions have often led to conclusions that sound great but are counterproductive. People with experience with the Ubuntu Forums and LinuxQuestions.org should be able to provide some insight here. Best Wishes, Spencer On 8/20/2010 11:37 AM, Gabor Grothendieck wrote: On Fri, Aug 20, 2010 at 2:12 PM, Paul Johnsonpauljoh...@gmail.com wrote: On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves spencer.gra...@structuremonitoring.com wrote: What do you think about adding a No RTFM policy to the R mailing lists? Per, http://en.wikipedia.org/wiki/RTFM: I think this is a great suggestion. I notice the R mailing list already has a gesture in this direction: Rudeness and ad hominem comments are not acceptable. Brevity is OK. But the people who behave badly don't care about policies like this and they will keep doing what they do. Although it may seem hard to justify rudeness its often the case that even the most bizarre behavior makes sense if you view it from the perspective of that person. In the case of the R list there is a larger potential demand for free help than resources to answer and without the usual monetary economics to allocate resources I believe that the functional purpose of rudeness here is to ration those resources and minimize duplication of questions. If that is correct one can predict that if civility were to become the norm on this list then other rationing mechanisms would arise to replace it. For example, it might become the norm that most questions are not answered or are answered less thoroughly or the list might be replaced as the de facto goto medium for R questions by some other list or web site so we have to be careful about unintended consequences. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Spencer Graves, PE, PhD President and Chief Operating Officer Structure Inspection and Monitoring, Inc. 751 Emerson Ct. San José, CA 95126 ph: 408-655-4567 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Reproducible Research task view
For what it's worth, I think this is a great idea. -roger On Fri, Aug 20, 2010 at 3:26 PM, Max Kuhn mxk...@gmail.com wrote: I would like to suggest a Reproducible Research CRAN task view. This was discussed briefly in one of the useR! sessions this year. From quick browse through CRAN, I counted 19 packages that were associated with Sweave or other methods for reproducible research. I think that we've gotten to a point where some additional documentation that enumerates/compares/contrasts the various packages would be helpful. I'd like to volunteer to create and maintain the task view. Any thoughts? Thanks, Max __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Roger D. Peng | http://www.biostat.jhsph.edu/~rpeng/ __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] No RTFM?
Hello, I have found the people associated with this list to be VERY helpful over the years. This is especially appreciated as, some of my answers have come from the same people who are busy improving R: a fascinating, potent set of software tools, excellently supported. In my humble opinion, the anti-thesis of a commercial for profit software analogue. Good Luck to you, John Date: Fri, 20 Aug 2010 13:06:05 -0500 From: kw.s...@gmail.com To: spencer.gra...@structuremonitoring.com CC: r-devel@r-project.org Subject: Re: [Rd] No RTFM? Recently I was visiting with people about why commercial support is needed for some people using R. One person observed: With commercial support, you have a person that you can call with questions and yell at. With R mailing lists, you can ask questions and have people yell at YOU. The atmosphere of the R-help and R-devel mailing lists is infamous. Is this a good reputation to have? I'm doubtful that it is. So, I support Spencer's suggestion for more civility. Kevin Wright On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves spencer.gra...@structuremonitoring.com wrote: What do you think about adding a No RTFM policy to the R mailing lists? Per, http://en.wikipedia.org/wiki/RTFM: The Ubuntu Forums and LinuxQuestions.org, for instance, have instituted no RTFM policies to promote a welcoming atmosphere.[8][9]. RTFM [and] Go look on google are two inappropriate responses to a question. If you don't know the answer or don't wish to help, please say nothing instead of brushing off someone's question. Politely showing someone how you searched or obtained the answer to a question is acceptable, even encouraged. ... If you wish to remind a user to use search tools or other resources when they have asked a question you feel is basic or common, please be very polite. Any replies for help that contain language disrespectful towards the user asking the question, i.e. STFU or RTFM are unacceptable and will not be tolerated. Ubuntu Forums Gavin Simpson and I recently provided examples answering a question from r.ookie that had previously elicited responses, You want us to read the help page to you? and It yet again appears that you are asking us to read the help pages for you. I can appreciate the sentiment in fortunes('rtfm'). In this case, however, r.ookie had RTFM (and said so), but evidently the manual was not sufficiently clear. Best Wishes, Spencer Graves __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Kevin Wright [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] No RTFM?
I completely agree with you, John. In my view, there is no need for explicit RTFM or GLOG statements. Best, Ravi. -Original Message- From: r-devel-boun...@r-project.org [mailto:r-devel-boun...@r-project.org] On Behalf Of P J JAYNES Sent: Friday, August 20, 2010 4:40 PM To: kw.s...@gmail.com; spencer.gra...@structuremonitoring.com Cc: r-devel@r-project.org Subject: Re: [Rd] No RTFM? Hello, I have found the people associated with this list to be VERY helpful over the years. This is especially appreciated as, some of my answers have come from the same people who are busy improving R: a fascinating, potent set of software tools, excellently supported. In my humble opinion, the anti-thesis of a commercial for profit software analogue. Good Luck to you, John Date: Fri, 20 Aug 2010 13:06:05 -0500 From: kw.s...@gmail.com To: spencer.gra...@structuremonitoring.com CC: r-devel@r-project.org Subject: Re: [Rd] No RTFM? Recently I was visiting with people about why commercial support is needed for some people using R. One person observed: With commercial support, you have a person that you can call with questions and yell at. With R mailing lists, you can ask questions and have people yell at YOU. The atmosphere of the R-help and R-devel mailing lists is infamous. Is this a good reputation to have? I'm doubtful that it is. So, I support Spencer's suggestion for more civility. Kevin Wright On Thu, Aug 19, 2010 at 7:08 PM, Spencer Graves spencer.gra...@structuremonitoring.com wrote: What do you think about adding a No RTFM policy to the R mailing lists? Per, http://en.wikipedia.org/wiki/RTFM: The Ubuntu Forums and LinuxQuestions.org, for instance, have instituted no RTFM policies to promote a welcoming atmosphere.[8][9]. RTFM [and] Go look on google are two inappropriate responses to a question. If you don't know the answer or don't wish to help, please say nothing instead of brushing off someone's question. Politely showing someone how you searched or obtained the answer to a question is acceptable, even encouraged. ... If you wish to remind a user to use search tools or other resources when they have asked a question you feel is basic or common, please be very polite. Any replies for help that contain language disrespectful towards the user asking the question, i.e. STFU or RTFM are unacceptable and will not be tolerated. Ubuntu Forums Gavin Simpson and I recently provided examples answering a question from r.ookie that had previously elicited responses, You want us to read the help page to you? and It yet again appears that you are asking us to read the help pages for you. I can appreciate the sentiment in fortunes('rtfm'). In this case, however, r.ookie had RTFM (and said so), but evidently the manual was not sufficiently clear. Best Wishes, Spencer Graves __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Kevin Wright [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Reproducible Research task view
Yes, sure, good idea. Please have a look at vignette(ctv-howto, package = ctv) and write a draft file ReproducibleResearch.ctv and e-mail it to me. Then I'll probably make some suggestions/comments before bringing it to CRAN. And when it's online, you can announce it on the list and ask for further feedback. Thanks in advance, Z On Fri, 20 Aug 2010, Roger D. Peng wrote: For what it's worth, I think this is a great idea. -roger On Fri, Aug 20, 2010 at 3:26 PM, Max Kuhn mxk...@gmail.com wrote: I would like to suggest a Reproducible Research CRAN task view. This was discussed briefly in one of the useR! sessions this year. From quick browse through CRAN, I counted 19 packages that were associated with Sweave or other methods for reproducible research. I think that we've gotten to a point where some additional documentation that enumerates/compares/contrasts the various packages would be helpful. I'd like to volunteer to create and maintain the task view. Any thoughts? Thanks, Max __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Roger D. Peng | http://www.biostat.jhsph.edu/~rpeng/ __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] No RTFM?
On 08/20/10 01:08 AM, Spencer Graves wrote: What do you think about adding a No RTFM policy to the R mailing lists? Per, http://en.wikipedia.org/wiki/RTFM: The Ubuntu Forums and LinuxQuestions.org, for instance, have instituted no RTFM policies to promote a welcoming atmosphere.[8][9]. RTFM [and] Go look on google are two inappropriate responses to a question. If you don't know the answer or don't wish to help, please say nothing instead of brushing off someone's question. Politely showing someone how you searched or obtained the answer to a question is acceptable, even encouraged. ... If you wish to remind a user to use search tools or other resources when they have asked a question you feel is basic or common, please be very polite. Any replies for help that contain language disrespectful towards the user asking the question, i.e. STFU or RTFM are unacceptable and will not be tolerated. —Ubuntu Forums Gavin Simpson and I recently provided examples answering a question from r.ookie that had previously elicited responses, You want us to read the help page to you? and It yet again appears that you are asking us to read the help pages for you. I can appreciate the sentiment in fortunes('rtfm'). In this case, however, r.ookie had RTFM (and said so), but evidently the manual was not sufficiently clear. Best Wishes, Spencer Graves I've personally found the R community somewhat unhelpful at times. In fact, of all the resources I use: * Newsgroups like comp.unix.shell, sci.math.symbolic, comp.unix.aix, comp.unix.solaris * Mailing lists for autoconf, automake, gcc, sage maths, ecl, time-nuts. * Forums for OpenSolaris I've found the r-devel about the least helpful of the lot. My most recent example was when I created a bug report about a version of R that was about 4 months old. The bug was that the configure test failed to detect the version of libicu was unsuitable on Solaris. (Since it was the version of the library shipped with Solaris, I would personally have thought the configure script should detect its too old if it is). When submitting the bug, I selected the particular R version from the pull-down menu, as it was listed. Then I got some snotty reply about reading the FAQ and not submitting bug reports for old versions of R. At the time I submitted it, I suspect the version I had was about 4 months old. Ask on a Solaris mailing list about a 5 year old version of Solaris and you will get civil replies. Likewise, the gcc lists don't expect everyone to be running very recent versions. I would have like to have responded on the technical content of the message, as I believe the autoconf test is flawed if it can't detect that a version of a library installed by Sun is unsuitable. But I decided that such responses were best ignored. There's quite a bit in the R manual about Solaris that is just plain wrong, but although I've reported some of the problems, these were ignored, so I can't even be bothered to report the rest. I must admit, I do sometimes give people links to http://justfuckinggoogleit.com/ when I think they are being particularly dumb in not using Google, so I do appreciate it can get annoying when people ask questions they should be able to get answered themselves. But it seems to me that arrogance is more normal on r-devel than on other lists I use. Thankfully, I don't have to use r-devel much. Flames to /dev/null. Dave __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel