Re: [Rd] Possible Bug: file.exists() Function. Due to UTF-8 Encoding differences on Windows between R 4.0.1 and R 3.6.3?

2020-06-10 Thread Juan Telleria Ruiz de Aguirre
Thank you Kevin, just checked that the error is solved in the latest
development version of "renv", and now it works as expected with R
4.0.1:

https://github.com/rstudio/renv/commit/976ae7af6dc348af30eaf2893d886f132a76aba0

Sorry for posting in r-devel, I was not sure if it was a R or "renv"
error due to different behaviour in different versions of R 4.0.1 and
R 3.6.3 for conversion from UTF16-LE to UTF-8 encoding.

Will provide a better reproducible example next time and traceback the
error with options(error=recover)) to make sure.

Thanks,
Juan

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Possible Bug: file.exists() Function. Due to UTF-8 Encoding differences on Windows between R 4.0.1 and R 3.6.3?

2020-06-10 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

I am having an issue with the renv package and R 4.0.1, which I
suspect is related to base R and not the renv package itself, as with
R 3.6.3 such an "error" does not appear.

The error is raised by a file.exists() path, and path
"C:\Users\J-tel\Documents", which in R 3.6.3 is read correctly, but in
R 4.0.1 fails (Probably because of the "-" symbol), and I suspect it
might be related with the new UTF-8 usage on Windows 10?
(https://developer.r-project.org/Blog/public/2020/05/02/utf-8-support-on-windows/index.html)

I have also checked file.exists() function and its internals, and seem
not to have happened changes in the meanwhile within them:

https://github.com/wch/r-source/blob/0e3b3182f87a60af4b0293a5410dde680b910f49/src/library/base/R/files.R
https://github.com/search?q=SEXP%20attribute_hidden%20do_fileexists+repo:wch/r-source&type=Code

Error Details:

> renv::init()
Error in file.exists(children) :
  file name conversion problem -- name too long?
> traceback()
14: file.exists(children)
13: renv_dependencies_find_dir_children(path, root)
12: renv_dependencies_find_dir(path, root)
11: FUN(X[[i]], ...)
10: lapply(path, renv_dependencies_find_impl, root = root)
9: renv_dependencies_find(path, root)
8: (function (path = getwd(), root = NULL, ..., progress = TRUE,
   errors = c("reported", "fatal", "ignored"), dev = FALSE)
   {
   path <- renv_path_normalize(path, winslash = "/", mustWork = TRUE)
   root <- root %||% renv_dependencies_root(path)
   if (exists(path, envir = `_renv_dependencies`))
   return(get(path, envir = `_renv_dependencies`))
   renv_dependencies_begin(root = root)
   on.exit(renv_dependencies_end(), add = TRUE)
   dots <- list(...)
   if (identical(dots[["quiet"]], TRUE)) {
   progress <- FALSE
   errors <- "ignored"
   }
   files <- renv_dependencies_find(path, root)
   deps <- renv_dependencies_discover(files, progress, errors)
   renv_dependencies_report(errors)
   deps
   })(path, progress = FALSE, errors = errors, dev = TRUE)
7: eval(call, envir = parent.frame(2))
6: eval(call, envir = parent.frame(2))
5: delegate(renv_dependencies_impl)
4: dependencies(path, progress = FALSE, errors = errors, dev = TRUE)
3: withCallingHandlers(dependencies(path, progress = FALSE, errors = errors,
   dev = TRUE), renv.dependencies.error =
renv_dependencies_error_handler(message,
   errors))
2: renv_dependencies_scope(project, action = "init")
1: renv::init()

> renv::diagnostics()
Diagnostics Report -- renv [0.10.0]
===

# Session Info ===
R version 4.0.1 (2020-06-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18362)

Matrix products: default

locale:
[1] LC_COLLATE=Spanish_Spain.1252  LC_CTYPE=Spanish_Spain.1252
[3] LC_MONETARY=Spanish_Spain.1252 LC_NUMERIC=C
[5] LC_TIME=Spanish_Spain.1252

attached base packages:
[1] stats graphics  grDevices utils datasets  methods   base

other attached packages:
[1] renv_0.10.0

loaded via a namespace (and not attached):
 [1] compiler_4.0.1   rsconnect_0.8.16 htmltools_0.4.0  tools_4.0.1
 [5] yaml_2.2.1   Rcpp_1.0.4.6 rmarkdown_2.2knitr_1.28
 [9] xfun_0.14digest_0.6.25packrat_0.5.0rlang_0.4.6
[13] evaluate_0.14

# Project 
Project path: "~/Test2"

# Status =

# Lockfile ===
This project has not yet been snapshotted: 'renv.lock' does not exist.

# Library 
The project library "~/Test2/renv/library/R-4.0/x86_64-w64-mingw32"
does not exist.

# Dependencies ===

# User Profile ===
[no user profile detected]

# Settings ===
List of 6
 $ external.libraries   : chr(0)
 $ ignored.packages : chr(0)
 $ package.dependency.fields: chr [1:3] "Imports" "Depends" "LinkingTo"
 $ snapshot.type: chr "implicit"
 $ use.cache: logi TRUE
 $ vcs.ignore.library   : logi TRUE

# Options 
List of 1
 $ renv.verbose: logi TRUE

# Environment Variables ==
HOME= C:\Users\J-tel\OneDrive\Documents
LANG= 
R_LIBS  = 
R_LIBS_SITE = 
R_LIBS_USER = C:/Users/J-tel/OneDrive/Documents/R/win-library/4.0

# PATH ===
- C:\rtools40\usr\bin
- C:\Program Files\R\R-4.0.1\bin\x64
- C:\ProgramData\Miniconda3
- C:\ProgramData\Miniconda3\Library\mingw-w64\bin
- C:\ProgramData\Miniconda3\Library\usr\bin
- C:\ProgramData\Miniconda3\Library\bin
- C:\ProgramData\Miniconda3\Scripts
- C:\ProgramData\Oracle\Java\javapath
- C:\WINDOWS\system32
- C:\WINDOWS
- C:\WINDOWS\System32\Wbem
- C:\WINDOWS\System32\WindowsPowerShell\v1.0\
- C:\WINDOWS\System32\OpenSSH\
- C:\Program Files\MiKTeX 2.9\miktex\bin\x64\
- C:\ProgramData\Miniconda3\Scripts\conda.exe

# Cache ==
There a

Re: [Rd] [External] Feature Request: User Prompt + Message First Execution when "Managing Search Path Conflicts"

2020-05-21 Thread Juan Telleria Ruiz de Aguirre
Got it, thank you for pointing out the solution then.

Best,
Juan

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [External] Feature Request: User Prompt + Message First Execution when "Managing Search Path Conflicts"

2020-05-21 Thread Juan Telleria Ruiz de Aguirre
Thank you Mr. Tierney!

Using globalCallingHandlers() to directly handle
"packageConflictError" is an excellent idea!

The benefits I see for such an implementation are:
* The patch would be contained within the Conflict Error Handler,
which should reduce any side effects with an eventual implementation.
* And by making its usage optional, by setting for example
options(conflicts.policy.ask = TRUE), in should neither affect any
packages nor other base code.

Hope it allows R Users to work in a more agile manner, and guide R
Students through best practices of variable conflict handling in an
educative manner.

Thanks,
Juan

> You can get what you are asking for now in R 4.0.0 with
> globalCallingHandlers and using the packageConflictError object that
> is signaled. This should get you started:
>
> ```
> options(conflicts.policy = "strict")
>
> packageConflictError
>
> handle_conflicts <- function(e) {
>  cat(conditionMessage(e))
>  opt <- readline(prompt="1: mask.ok; 2: exclude. Choose: ")
>  if (opt == "1")
>  conflictRules(e$package, mask.ok = as.character(unlist(e$conflicts)))
>  else if (opt == "2")
>  conflictRules(e$package, exclude = as.character(unlist(e$conflicts)))
>  stop("unresolved conflicts") ## ideal invode a restart here
> }
>
> globalCallingHandlers(packageConflictError = handle_conflicts)
>
> library(dplyr)
> ```
>
> An IDE could provide a more sophisticated interface, like a dialog
> allowing separate choices for each conflict. But this is best left up
> to the IDE or the user.
>
> The one addition to library that might be worth considering is to
> provide a restart for the handler to invoke.
>
> Best,
>
> luke
>

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Feature Request: User Prompt + Message First Execution when "Managing Search Path Conflicts"

2020-05-20 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

###
# Context:
###

When managing Search Path Conflicts (See:
https://developer.r-project.org/Blog/public/2019/03/19/managing-search-path-conflicts/index.html),
with:

options(conflicts.policy = "strict")

We get the following behaviour when loading a package (Eg: dplyr):

library(dplyr)
## Error: Conflicts attaching package ‘dplyr’:
##
## The following objects are masked from ‘package:stats’:
##
## filter, lag
##
## The following objects are masked from ‘package:base’:
##
## intersect, setdiff, setequal, union

So we would have to solve the conflict by writing:

library(dplyr,
mask.ok = c("filter", "lag",
"intersect", "setdiff", "setequal",
"union"))

So my feature request proposals:

###
# Feature Request 1: Interactive Session
###

Would it be possible to raise an input prompt, which asks user for an
action to be taken as regards conflicts?

This would make the package loading process more dynamic when being
loaded for first time in an interactive session (Eg: R Notebook). An
example:

The first time the package is loaded:

options(conflicts.policy = "strict", conflicts.policy.ask = TRUE)

library(dplyr)

Executes iteratively the code, in order to ask the user for action
(See toy example):

opt <- readline(prompt="1: mask.ok; 2: exclude. Choose: ")

if (opt == "1"){

  txt <- sprintf(
fmt = "conflictRules(pkg = '%s' , mask.ok = '%s')",
"package.name",
"variable.name"
  )

  eval(parse(text = txt))

  message(txt)

} else if(opt == "2"){

  txt <- sprintf(
fmt = "conflictRules(pkg = '%s' , exclude = '%s')",
"package.name",
"variable.name"
  )

  eval(parse(text = txt))

  message(txt)

}

And afterwards, a message is printed with the selected
"conflictRules()" Configuration for the dynamic setup.

The user will only have to put the printed pre-configured
"conflictRules()" setup into his code, and when re-executing, the
input prompt asking for action will not be raised back again.

Such behaviour is similar in spirit to how 'conflicted' R package
works, which prints for example, for dplyr::filter :

Error: [conflicted] `filter` found in 2 packages.
Either pick the one you want with `::`
* dplyr::filter
* stats::filter
Or declare a preference with `conflict_prefer()`
* conflict_prefer("filter", "dplyr")
* conflict_prefer("filter", "stats")

Where the user will only have to copy "conflict_prefer("filter",
"dplyr")" and paste it into his script. The difference, is that with:
options(conflicts.policy = "strict", conflicts.policy.ask = TRUE),
such message is printed at package load.

I would put the required code within the library() function with the
following conditional:
...
if (length(conflicts)) {
   if(getOption("conflicts.policy.ask") == TRUE){
  ...
   }
}
...

###
# Feature Request 2: Source Execution
###

Another alternative, which could apply when executing the .R file from
source, would be to suggest the user a default conflictRules() setup:

options(conflicts.policy = "strict")
library(dplyr)

# Error: Conflicts attaching package ‘dplyr’:
#
# The following objects are masked from ‘package:stats’:
#
# filter, lag
#
# The following objects are masked from ‘package:base’:
#
# intersect, setdiff, setequal, union
#
# Declare preference with `conflictRules()` before loading:
# * conflictRules("dplyr", mask.ok = list(stats = TRUE, base = TRUE))
# * conflictRules("dplyr", mask.ok = list(stats = c("filter",
"lag"), base = c("intersect", "setdiff", "setequal", "union")))
# * conflictRules("dplyr", exclude = c("filter", "lag",
"intersect", "setdiff", "setequal", "union"))

In this case, the error message would have to be extended with
sensible suggested defaults.

Thanks,
Juan

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Support for Dashes in the Raw String Delimiter

2020-02-20 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

As regards "Support for Dashes in the Raw String Delimiter" from commit:

https://github.com/wch/r-source/commit/4d4781ad19890193d5eb458d71f18d7e53ee73c5

Would it be possible to support in addition to r"" Syntax, for not escaping
backlash character in strings, also support """ """ (Python Like Syntax),
for also allowing to have within the character string the closing sequence
" symbol?

See Python's article on string literals for further information:

https://docs.python.org/2.0/ref/strings.html

Thanks!

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] how to check as CRAN with alternative BLAS?

2019-12-31 Thread Juan Telleria Ruiz de Aguirre
Give a try to "rhub":

https://cran.r-project.org/web/packages/rhub/index.html

https://cran.r-project.org/web/packages/rhub/vignettes/local-debugging.html

Which allows to try different os, and system configurations :)

Hope it works!

El lunes, 30 de diciembre de 2019, Dirk Eddelbuettel 
escribió:

>
> On 29 December 2019 at 16:39, steven pav wrote:
> | One of my packages is slated to be archived from CRAN due to failures
> when
> | the ATLAS BLAS is used. I am unable to replicate the error on my machine
> | under R 3.6.1 using the atlas library from ubuntu (seems to be 3.10.2-9,
> | while the good professor is using 3.10.3 per
> | https://www.stats.ox.ac.uk/pub/bdr/Rblas/README.txt ). I also tried the
> | rocker/r-base with R 3.6.2
> | and /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3.10.3 (Dockerfile here:
> | https://gist.github.com/shabbychef/efaa048f0f715dcf89fd39f2e28a402d ),
> but
> | was unable to replicate the error there. Is there some way to *really*
> test
> | as CRAN-with-atlas? I would prefer a dockerized solution, or failing
> that,
> | a travis CI recipe.
>
> That CRAN checks cannot always be replicated outside of CRAN is a real
> issue.
>
> This has been brought up before, and some of us wanted to see about
> improving
> it, possibly relying on Docker---but as you know life is short, spare time
> is
> generally missing, and other shiny things can distract us.  So nothing to
> report yet. Which is a bummer.
>
> Dirk
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
>
> __
> 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] reverse dependency checks

2019-09-04 Thread Juan Telleria Ruiz de Aguirre
https://builder.r-hub.io/

El martes, 3 de septiembre de 2019, Therneau, Terry M., Ph.D. via R-devel <
r-devel@r-project.org> escribió:

> I remember there was advice about a server that one could use for reverse
> dependency
> checks, but I forgot to write it down.  (Or I did save the info and forgot
> where I saved
> it...)   I have been doing the checks for survival myself, but the count
> is getting out of
> hand (663, not counting bioconductor).
>
> Any pointers?
>
> Terry Therneau
>
>
> [[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


[Rd] Recommended Reading: Advanced R Second Edition

2019-07-21 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

After having fully read "Advanced R First Edition" , and having just bought
my physical copy of "Advanced R Second Edition", I recommend that:

Any community member interested in the development of R reads "Advanced R
Second Edition", which explains R Language Core concepts cristal clear, and
shows the motivation behind libraries such as "rlang", "purrr", "bench",
"profvis", "sloop", "lobstr", above others.

I'm sure you will learn something new and enjoy the Reading!

Digital Book (Free):
https://adv-r.hadley.nz/

Physical Book:
https://www.amazon.com/Advanced-Second-Chapman-Hall-CRC/dp/0815384572/ref=mp_s_a_1_1?keywords=advanced+r+second+edition&qid=1563703482&s=gateway&sprefix=advanced+R+second+edition&sr=8-1

Best,
Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Converting non-32-bit integers from python to R to use bit64: reticulate

2019-06-02 Thread Juan Telleria Ruiz de Aguirre
Thank you Martin for giving to know and developing 'Rmpfr' library for
unlimited size integers (GNU C GMP) and arbitrary precision floats (GNU C
MPFR):

https://cran.r-project.org/package=Rmpfr

My question is: In the long term (For R3.7.0 or R3.8.0):

Does it have sense that CMP substitutes INTSXP, and MPFR substitutes
REALSXP code? With this we would achieve that an integer is always an
integer, and a numeric double precision float always a numeric double
precision float, without sometimes casting underneath.

And would the R Community / R Ordinary Members would be willing to help R
Core on such implementation (If has sense, and wants to be adopted)?

Thank you all! :)


>
> If you are interested in using unlimited size integers, you
> could use the CRAN R package 'gmp' which builds on the GMP = GNU
> MP = GNU Multi Precision C library.
>
>https://cran.r-project.org/package=gmp
>
> (and for arbitrary precision "floats", see CRAN pkg 'Rmpfr'
>  built on package gmp, and both the GNU C libraries  GMP and
>  MPFR:
>https://cran.r-project.org/package=Rmpfr
> )
>
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Converting non-32-bit integers from python to R to use bit64: reticulate

2019-05-30 Thread Juan Telleria Ruiz de Aguirre
Thank you Gabriel for valuable insights on the 64-bit integers topic.

In addition, my statement was wrong, as Python3 seems to have unlimited
(and variable) size integers. Here is related CPython Code:

https://github.com/python/cpython/blob/master/Objects/longobject.c

Division between Int-32 and Int-64 seems to only happen in Python2.

Best,
Juan

El miércoles, 29 de mayo de 2019, Gabriel Becker 
escribió:

> Hi Juan,
>
> Comments inline.
>
> On Wed, May 29, 2019 at 12:48 PM Juan Telleria Ruiz de Aguirre <
> jtelleria.rproj...@gmail.com> wrote:
>
>> Dear R Developers,
>>
>> There is an interesting issue related to "reticulate" R package which
>> discusses how to convert Python's non-32 bit integers to R, which has had
>> quite an exhaustive discussion:
>>
>> https://github.com/rstudio/reticulate/issues/323
>>
>> Python seems to handle integers differently from R, and is dependant on
>> the
>> system arquitecture: On 32 bit systems uses 32-bit integers, and on 64-bit
>> systems uses 64-bit integers.
>>
>> So my question is:
>>
>> As regards R's C Interface, how costly would it be to convert INTSXP from
>> 32 bits to 64 bits using C, on 64 bits Systems? Do the benefits surpass
>> the
>> costs? And should such development be handled from within R Core /
>> Ordinary
>> Members , or it shall be left to package maintainers?
>>
>
> Well, I am not an R-core member, but I can mention a few things:
>
> 1. This seems like it would make the results of R code non-reproducible
> between 32 and 64bit versions of R; at least some code would give different
> results (at the very least in terms of when integer values overflow to NA,
> which is documented behavior).
> 2. Obviously all integer data would take twice as much memory, memory
> bandwidth, space in caches, etc, even when it doesn't need it.
> 3. Various places treat data /data pointers coming out of INTSXP and
> LGLSXP objects the same within the internal R sources (as currently they're
> both int/int*). Catching and fixing all those wouldn't be impossible, but
> it would take at least some doing.
>
> For me personally 1 seems like a big problem, and 3 makes the conversion
> more work than it might have seemed initially.
>
> As a related side note, as far as I understand what I've heard from R-core
> members directly, the choice to not have multiple types of integers is
> intentional and unlikely to change.
>
> Best,
> ~G
>
>
>
>
>>
>> Thank you! :)
>>
>> [[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


[Rd] Converting non-32-bit integers from python to R to use bit64: reticulate

2019-05-29 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

There is an interesting issue related to "reticulate" R package which
discusses how to convert Python's non-32 bit integers to R, which has had
quite an exhaustive discussion:

https://github.com/rstudio/reticulate/issues/323

Python seems to handle integers differently from R, and is dependant on the
system arquitecture: On 32 bit systems uses 32-bit integers, and on 64-bit
systems uses 64-bit integers.

So my question is:

As regards R's C Interface, how costly would it be to convert INTSXP from
32 bits to 64 bits using C, on 64 bits Systems? Do the benefits surpass the
costs? And should such development be handled from within R Core / Ordinary
Members , or it shall be left to package maintainers?

Thank you! :)

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Managing Search Path Conflicts in R 3.6.0: Lazy Method Attachment into Search Path

2019-04-19 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

R 3.6.0 is going to introduce new features for managing search path
conflicts, explained in greater detail in the following article, and which
are greatly welcome:

https://developer.r-project.org/Blog/public/2019/03/19/managing-search-path-conflicts/index.html

In addition, another Conflict Policy could also be adopted, which I will
call "Lazy Method Attachment into the Search Path", understood as:

* All non-conflicting methods are always attached into the Search path.
* If a conflict occurs, method for a specific class object, is not
attached, unless you are going to use it, and then the user is asked in the
command prompt if you want it attached or not.

For example, if I set:

options(conflict.policy = "ask")

library(dplyr)
# All works fine.

df %>%
select(col1, col2)
# Works.

df %>%
filter(col1 == "a")
#> Do you want to attach data.frame.filter Method? y/n?

This approach would be great for dynamic programming and R Scripting, and
lay somewhere between R Core / @Luke Tierney's approach and "conflicted"
package.

Thank you!

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Suggestion: Make CRAN source URLs immutable

2018-11-04 Thread Juan Telleria Ruiz de Aguirre
It would be nice to see such immutable package version links:

E.g.:

https://cran.r-project.org/package=httr&version=1.3.1
https://cran.r-project.org/package=httr&version=1.3.0


In the CRAN package web pages themselves, and specifically in the "Old
Sources: httr Section":

https://cran.r-project.org/web/packages/httr/index.html

In order that package users become aware of it.

But just as actually is also perfectly fine!

Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Native 64 Integers

2018-09-24 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

I would like to pick up back again the issue of 64 bits integers with R:

http://r.789695.n4.nabble.com/Re-R-support-for-64-bit-integers-td2320024.html

*** CURRENT SITUATION ***

At the moment, as regards integers, all the following are the same type:

* length of an R vector
* R integer type
* C int type (Fixed at 32 bits: In practice)
 * Fortran INTEGER type (Fixed at 32 bits: By Standard)

*** OBJECTIVE ***

Introducing 64-bit integers natively into "base R", notably if it was
also allowed using them for indices.

And, ideally, we would like:
* length of an R vector.
* R integer type.
To become 64bit.

This would allow to free ourselves from the increasingly relevant
maximum-atomic-object-length = 2^31 problem.

*** DIFFICULTIES ***
a) If both the R length type and the R integer type become the same
64bit type and replace the current integer type -> Then every compiled
package would have to change to declare the arguments as int64 (or
long, on most 64bit systems) and INTEGER*8.

b) If the R length type changes to something /different/ from the
integer type then any compiled code has to be checked to see if C int
arguments are lengths or integers, which is more work and more
error-prone.

c) On the other hand, changing the integer type to 64bit -> Will
presumably make integer code run noticeably more slowly on 32bit
systems.

In any case, the changes could be postponed by having an option to
.C/.Call forcing lengths and integers to be passed as 32-bit -> This
would mean that: The code couldn't use large integers or large
vectors, but it would keep working indefinitely.

*** 2010 SOLUTION***

There were 2 possibilities at the time:
a) Using 64-bit integers.
b) Using "double precision integers": Solution Finally Chosen at 2010.
Reason: In order that not all R packages using compiled code had to be
patched extensively.

*** BIT64 PACKAGE***
Nowdays, we have 'bit64' Package,  which provides serializable S3
atomic 64bit (signed) integers (+-2^63).

But this are not a replacement for 32bit integers, as integer64 are:
* Not supported for subscripting.
* Have different semantics when combined with double, e.g. integer64 +
double => integer64.

https://cran.r-project.org/web/packages/bit64/index.html

*** PROPOSAL ***

Instead of seeing 64 integers as a substitution to 32 bit integers,
these could be included into base R as a new / additional data type,
which co-exists with:
a) Using 64-bit integers.
b) Using "double precision integers".

This new data type could:
* Be based (ported) from "bit64" package: https://github.com/cran/bit64
 * Allow to use int64 Data Type for Subscripting.
* Have Coercion Rules such as:
as.integer64()
is.integer64()
integer + integer64 => integer
double + integer64 => double
* Be included with a double "L". e.g.: 34783274893274892334279LL (This
would be integer64, not double).

By doing so, existing packages would not need to be recompiled, and
could keep on working as already do. So we would not introduce
backward incompatible change.

*** FINAL KEY IDEA ***

Take already developed "bit64" Package (https://github.com/cran/bit64)
as base for building a new Integer64 Type System which co-exists
natively in R with Integer32 (Just as "parallel" package was included
in the past into base R for example), and build on top of it
improvements.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] compairing doubles

2018-09-03 Thread Juan Telleria Ruiz de Aguirre
Maybe a new Operator could be defined for a fast and easy double
Comparison: `~~`

`~~` <- function (e1, e2)  all.equal(e1, e2)

And document it properly.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Code Optimization: print.data.frame + as.data.frame(head(x, n = options("max.print")))

2018-07-30 Thread Juan Telleria Ruiz de Aguirre
I polished a little bit more the function:

* Used:  getOption("max.print")
* Added comment at the end:  cat('[ reached getOption("max.print") --
omitted ', omitted,' rows ]')

function (x, ..., digits = NULL, quote = FALSE, right = TRUE,
  row.names = TRUE)
{
  n <- length(row.names(x))
  if (length(x) == 0L) {
cat(sprintf(ngettext(n, "data frame with 0 columns and %d row",
 "data frame with 0 columns and %d rows"), n), "\n",
sep = "")
  }
  else if (n == 0L) {
print.default(names(x), quote = FALSE)
cat(gettext("<0 rows> (or 0-length row.names)\n"))
  }
  else {

omitted <- nrow(x)-getOption("max.print")

x <- as.data.frame(head(x, n = getOption("max.print")))

m <- as.matrix(format.data.frame(x, digits = digits,
 na.encode = FALSE))
if (!isTRUE(row.names))
  dimnames(m)[[1L]] <- if (isFALSE(row.names))
rep.int("", n)
else row.names
print(m, ..., quote = quote, right = right)

if((nrow(x)-getOption("max.print"))>0){

  cat('[ reached getOption("max.print") -- omitted ', omitted,' rows ]')

}

  }
  invisible(x)
}

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Code Optimization: print.data.frame + as.data.frame(head(x, n = options("max.print")))

2018-07-30 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

I would like to propose a simple optimization for print.data.frame
base function:

To add: x <- as.data.frame(head(x, n = options("max.print")))

This would prevent that, if for example, we have a 10GB data.frame
(e.g.: Instead of a data.table), and we accidentally print it, the R
Session does not "collapse", forcing us to press ESC or kill the
RSession.

function (x, ..., digits = NULL, quote = FALSE, right = TRUE,
  row.names = TRUE)
{
  n <- length(row.names(x))
  if (length(x) == 0L) {
cat(sprintf(ngettext(n, "data frame with 0 columns and %d row",
 "data frame with 0 columns and %d rows"), n), "\n",
sep = "")
  }
  else if (n == 0L) {
print.default(names(x), quote = FALSE)
cat(gettext("<0 rows> (or 0-length row.names)\n"))
  }
  else {

x <- as.data.frame(head(x, n = options("max.print")))

m <- as.matrix(format.data.frame(x, digits = digits,
 na.encode = FALSE))
if (!isTRUE(row.names))
  dimnames(m)[[1L]] <- if (isFALSE(row.names))
rep.int("", n)
else row.names
print(m, ..., quote = quote, right = right)
  }
  invisible(x)
}

Thank you.

Best,
Juan

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] CRAN: R 3.5.0 Not Available

2018-07-22 Thread Juan Telleria Ruiz de Aguirre
In CRAN, R 3.5.0 is not available for download on "Previous Releases
of R for Windows". ¿Could it be added?

https://cran.r-project.org/

Thanks.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Quartz graphic device can be extremely slow in some cases

2018-05-30 Thread Juan Telleria Ruiz de Aguirre
It might be related with this files:

https://github.com/wch/r-source/blob/trunk/src/library/grDevices/src/devQuartz.c

https://github.com/wch/r-source/blob/trunk/src/include/R_ext/QuartzDevice.h

Could we port some of the UNIX optimizations to previous code?

https://github.com/wch/r-source/blob/trunk/src/library/grDevices/R/unix/quartz.R

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Reminder: R Project Contributed Documentation Still Frozen

2018-04-14 Thread Juan Telleria Ruiz de Aguirre
Dear R Developers,

Just I would like to remind that R Contributed Documentation is still frozen:

https://cran.r-project.org/other-docs.html

It would certainly be nice to have an official R Project Contributed
Documentation Site where we can all contribute :)

Kind regards,

Juan Telleria

*P.D.: I have already finished editing my first R Machine Learning
Cheatsheet, and hope to publish it to RStudio's Contributed Cheatsheet
Section in short time :)

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R Lapack – why a subset?

2018-03-26 Thread Juan Telleria Ruiz de Aguirre
> Is the cost really so high as to preclude adding the remaining Lapack 
> routines to Rlapack?

Updating Lapack Libraries shall not break compatibility, and rather
provide bug fixes I guess.

> the reason is that there would be a significant extra maintenance burden 
> consisting of things that is not being used by R itself.

I agree with Keith O'Hara when she says that *"R is often used as a
front-end for libraries that do, so Rlapack-related linking errors are
arising more and more"*.

Maybe we could propose R-Core some SVN patches by ourselves for
R-alpha that update LAPLACK libraries and see how it looks like... :S

> http://www.netlib.org/lapack/archives/

> https://github.com/wch/r-source/tree/trunk/src/modules/lapack

And in SVN:

> svn checkout https://svn.r-project.org/R/trunk/ R-devel
> svn update
> svn diff > patch.diff

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] 64-bit integer type warning on windows

2018-03-14 Thread Juan Telleria Ruiz de Aguirre
It does not answer direcly your question, but have you tried "bit64"
CRAN package :)

https://cran.r-project.org/web/packages/bit64/index.html

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Why R should never move to git

2018-02-04 Thread Juan Telleria Ruiz de Aguirre
I attach the Github Flow for teams and projects with regular deployments:

https://guides.github.com/pdfs/githubflow-online.pdf

https://guides.github.com/introduction/flow/

Tips:
* Always Do pull requests based on branches (never on the master).
* Keep your Fork Synchronized with the Upstream Repository.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Why R should never move to git

2018-02-02 Thread Juan Telleria Ruiz de Aguirre
> So I created a branch within my fork, and committed the change there. But 
> Github provides no way to create a pull request that only includes the new 
> stuff!
> Every attempt I made would have included everything from both bug fixes.

I have been doing some tests, and I think that this issue can be
easily addressed with Bitbucket GUI (https://bitbucket.org/product),
which is free for Open Source Projects
(https://www.atlassian.com/software/views/open-source-license-request)
and seems easy to use (So it follows the K.I.S.S. principle).

Just another alternative instead of Gitlab for self-hosting... no worries.

Best,
Juan

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Why R should never move to git

2018-02-02 Thread Juan Telleria Ruiz de Aguirre
Yes, indeed Gitlab GUI Core Code is Open Source (Libre / Community
Edition): https://gitlab.com/gitlab-org/gitlab-ce

> But his instructions required command-line git, and my main claim is that 
> Github is not good enough to do the kinds of things I want to do and R Core 
> would need to do.
>
> My other claim is that git is too hard to use.

I'm sure that Git Command Line Recipe Documentation can solve this
issue, Gitlab, in particular, has a wiki in which this kind of issues
could be documented. Also Git cheat-sheets might prove useful. In
addition, any feature request could be done in Gitlab Issue Section
(See above), or if that does not still does not convince, other
options could be considered, such as Bitbucket
(https://bitbucket.org/), etc.

In addition, the Git Repository:
* Could be self-hosted in the University Servers (Just as SVN actually
is nowadays).
* Be accessed either by the Command Line or the Graphical User
Interface (As users prefer).

The main reason motivating the move to the GIT Repository, as said
before, is that it would to allow individual users or companies from
the R Consortium to do pull requests based on issues for improving
base R code.

Indeed, in some years from now I would like to help to improve base R
myself, maybe re-writing some parts of the code in C++, fixing bugs,
or who knows :)

Kind regards,
Juan Telleria

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Why R should never move to git

2018-01-26 Thread Juan Telleria Ruiz de Aguirre
In case it's useful:

A) Git Cheatsheet: ADVANCED (GitHub)

https://www.google.es/url?sa=t&source=web&rct=j&url=https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf&ved=2ahUKEwjkhYmdt_bYAhXIwBQKHXWdBfoQFjAAegQIERAB&usg=AOvVaw3RoN21aynhcDHqKncV31el

B) Git Cheatsheet: BASICS (GitHub)

https://www.google.es/url?sa=t&source=web&rct=j&url=https://education.github.com/git-cheat-sheet-education.pdf&ved=2ahUKEwjkhYmdt_bYAhXIwBQKHXWdBfoQFjABegQIEhAB&usg=AOvVaw2D3W2R0fwoOBi8YrhZYLFJ

C) Git Cheatsheet (Atlassian)

https://www.google.es/url?sa=t&source=web&rct=j&url=https://www.atlassian.com/dam/jcr:8132028b-024f-4b6b-953e-e68fcce0c5fa/atlassian-git-cheatsheet.pdf&ved=2ahUKEwjkhYmdt_bYAhXIwBQKHXWdBfoQFjACegQIExAB&usg=AOvVaw2TdLUeHteS2YU_G9u_-6nP

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Why R should never move to git

2018-01-25 Thread Juan Telleria Ruiz de Aguirre
I do not mind investing as much time as necessary :-)

> If you ever need to document issues / coding recipes related to GIT / SVN:
>
> * I could pick the commands from e-mails.
> * Any documentation you send me.
> * Or books (http://shop.oreilly.com/product/0636920022862.do), web pages,
etc..
>
> And create a wiki / documentation page in any platform, in order to help.
>
> Best,
> Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Why R should never move to git

2018-01-25 Thread Juan Telleria Ruiz de Aguirre
If you ever need to document issues / coding recipes related to GIT / SVN:

* I could pick the commands from e-mails.
* Any documentation you send me.
* Or books (http://shop.oreilly.com/product/0636920022862.do), web pages,
etc..

And create a wiki / documentation page in any platform, in order to help.

Best,
Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] OpenBLAS in everyday R?

2018-01-16 Thread Juan Telleria
Dear R Developers,

I attach a complete summary of all the Know-How that has been generated
during Dec 2017 & Jan 2018 in R-devel Mailing List related to the Dynamic
Change of:

   - Regular Single Threaded BLAS.
   - And a Multi-threaded BLAS Implementation (e.g.: OpenBLAS):

https://kbrproject.miraheze.org/wiki/BLAS_Libraries

Kind regards,
Juan Telleria

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] OpenBLAS in everyday R?

2018-01-10 Thread Juan Telleria
> In order to document the generated Know-How of Optional BLAS Libraries
> Implementation and Tests (For example: OpenBLAS), I have created a
> Mediawiki based wiki page in which anyone can document and discuss any
> issues he/she encounters:
>
> https://kbrproject.miraheze.org/wiki/Main_Page/BLAS
>
> I will myself document all observations and attach the papers that
> have been mentioned in R-devel related to such topic.

Will take me some time... Maybe I can finish it at the weekend, That
there is more info that expected.
Juan

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] OpenBLAS in everyday R?

2018-01-10 Thread Juan Telleria
In order to document the generated Know-How of Optional BLAS Libraries
Implementation and Tests (For example: OpenBLAS), I have created a
Mediawiki based wiki page in which anyone can document and discuss any
issues he/she encounters:

https://kbrproject.miraheze.org/wiki/Main_Page/BLAS

I will myself document all observations and attach the papers that
have been mentioned in R-devel related to such topic.

Hope its useful.

Best,
Juan Telleria

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Community Feedback: Git Repository for R-Devel

2018-01-05 Thread Juan Telleria

# R-devel Archives: “Why R-project source code is not on Github"
[Summary: Aug 2014]


Key Citations (Pros and Cons) from R-devel Archives


# GIT PROS


1. [Simon Urbanek R-devel Aug 21, 2014] Github just makes it much
easier to create and post patches to the project - it has nothing to
do with write access - typically on Github the community has no write
access, either.

2. [Simon Urbanek R-devel Aug 21, 2014] Using pull requests is
certainly much less fragile than e-mails and patches are based on
forked branches, so you can directly build the patched version if you
want without manually applying the patch - and you see the whole
history so you can pick out things logically.

3. [Simon Urbanek R-devel Aug 21, 2014] You can comment on individual
patches to discuss them and even individual commits - often leading to
a quick round trip time of revising it.

4. [Yihui Xie-2 R-devel Aug 22, 2014] Sometimes the patches are not
worth emails back and forth, such as the correction of typos. I cannot
think of anything else that is more efficient than being able to
discuss the patch right in the lines of diff's.

5. [Gaurav Sehrawat R-devel Aug 24, 2014] Bridging gap between web2.0
and web1.0 development methodologies  & thus passing code to younger
generation .

6. [Jeroen Ooms. R-devel Aug 24, 2014] By now all activity of r-base
[1] cran [2] and r-forge [3] is
continuously mirrored on Github, which already gives unprecedented
insight in developments. At least several r-core members [4,5,6,7,8]
have been spotted on Github, and this years useR2014 website [9] was
developed and hosted completely on Github. It seems like a matter of
time until the benefits outweigh the cost of a migration, even to the
more conservative stakeholders.

7. [Spencer Graves-2 R-devel Aug 24, 2014] We could use Git without
Github (Gitlab, …)

8. [Spencer Graves-2 R-devel Aug 24, 2014] It should be easy and cheap
for someone to program a server to make daily backup copies of
whatever we want from Github.  This could provide an insurance policy
in case events push the group to leave Github.

9. [Brian Rowe R-devel Aug 24, 2014] One thing to note about git vs
svn is that each git repository is a complete repository containing
the full history, so despite github acting as a central repository, it
is not the same as a central svn repository. In svn the central
repository is typically the only repository with a complete revision
history, but that is not the case with git.

10. [Simon Urbanek R-devel Aug 25, 2014] There is no point in using
git alone (Github actually supports direct SVN access as well).

11. [Simon Urbanek R-devel Aug 25, 2014] Github: The whole point are
the collaborative features.


# GIT CONS


1. [Marc Schwartz R-devel Aug 21, 2014] Since the current SVN based
system works well for them (R Core) and provides restricted write
access that they can control, there is no motivation to move to an
alternative version control system unless they would find it to be
superior for their own development processes.

2. [Jeroen Ooms. R-devel Aug 24, 2014] These things take time

3. [Jeroen Ooms. R-devel Aug 24, 2014] However moving development of a
medium sized, 20 year old open source project is not trivial. You are
dealing with a large commit history and many contributors that all
have to overhaul their familiar tools and development practices
overnight.

4. [Jeroen Ooms. R-devel Aug 24, 2014] There is also the
infrastructure of nightly builds and CRAN r-devel package checking
that relies on the svn.

5. [Jeroen Ooms. R-devel Aug 24, 2014] Moreover moving to Github means
changes in communications, for example replacing the current bug
tracking system to Github "issues".

6. [Jeroen Ooms. R-devel Aug 24, 2014] In addition, several members
are skeptical about putting source code in the hands of a for-profit
US company, and other legal issues.

7. [Jeroen Ooms. R-devel Aug 24, 2014] The most critical piece of
making such a transition is a detailed proposal outlining what the
migration would involve, the cost/benefits, a planning, and someone
that is willing to take the lead. Only on the basis of such a serious
proposal you can have a discus

Re: [Rd] Community Feedback: Git Repository for R-Devel

2018-01-05 Thread Juan Telleria
I attach a basic State of Art:

##
# State of Art Analysis of Git vs SVN
##

Scopus Keywords: GIT AND SVN

##
# 1. How Do Centralized (SVN) and Distributed Version Control (GIT) Systems
Impact Software Changes? (22 Citations; Published: 2014)
##

1.1 Paper Conclusions

We found that the use of CVCS and DVCS have observable effects on
developers, teams and processes. The most surprising findings are that (i)
the size of commits in DVCS was smaller than in CVCS, (ii) developers split
commits (group changes by intent) more often in DVCS, and (iii) DVCS
commits are more likely to reference issue tracking labels. These show that
DVCS contain higher quality commits compared to CVCS due to their smaller
size, cohesive changes and the presence of issue tracking labels. The
survey provided valuable information on why developers prefer one paradigm
versus the other. DVCS are preferred because of killer features, such as
the ability of committing locally. In contrast CVCS are preferred for their
ease of use and faster learning curve.

1.2 Full Paper

http://dig.cs.illinois.edu/papers/ICSE14_Caius.pdf

##
# 2 Version Control with Git (Book: J Loeliger, M McCullough – 2012)
##

2.1 Book Introduction

***The Birth of Git***

Often, when there is discord between a tool and a project, the developers
simply create a new tool. Indeed, in the world of software, the temptation
to create new tools can be deceptively easy and inviting. In the face of
many existing version control systems, the decision to create another
shouldn’t be made casually. However, given a critical need, a bit of
insight, and a healthy dose of motivation, forging a new tool can be
exactly the right course.

Git, affectionately termed “the information manager from hell” by its
creator is such a tool. Although the precise circumstances and timing of
its genesis are shrouded in political wrangling within the Linux Kernel
community, there is no doubt that what came from that fire is a
well-engineered version control system capable of supporting worldwide
development of software on a large scale.

Prior to Git, the Linux Kernel was developed using the commercial BitKeeper
VCS, which provided sophisticated operations not available in then-current,
free software version control systems such as RCS and CVS. However, when
the company that owned BitKeeper placed additional restrictions on its
“free as in beer” version in the spring of 2005, the Linux community
realized that BitKeeper was no longer a viable solution.

Linus looked for alternatives. Eschewing commercial solutions, he studied
the free software packages but found the same limitations and flaws that
led him to reject them previously. What was wrong with the existing VCS
systems? What were the elusive missing features or characteristics that
Linus wanted and couldn’t find?

***Facilitate distributed development***

There are many facets to “distributed development,” and Linus wanted a new
VCS that would cover most of them. It had to allow parallel as well as
independent and simultaneous development in private repositories without
the need for constant synchronization with a central repository, which
could form a development bottleneck. It had to allow multiple developers in
multiple locations even if some of them were offline temporarily.

***Scale to handle thousands of developers***

It isn’t enough just to have a distributed development model. Linus knew
that thousands of developers contribute to each Linux release, so any new
VCS had to handle a very large number of developers, whether they were
working on the same or on different parts of a common project. And the new
VCS had to be able to integrate all of their work reliably.

***Perform quickly and efficiently***

 Linus was determined to ensure that a new VCS was fast and efficient. In
order to support the sheer volume of update operations that would be made
on the Linux Kernel alone, he knew that both individual update operations
and network transfer operations would have to be very fast. To save space
and thus transfer time, compression and “delta” techniques would be needed.
Using a distributed model instead of a centralized model also ensure

Re: [Rd] R CMD check warning about compiler warning flags

2018-01-04 Thread Juan Telleria
I repeat it for all the reason I gave to Duncan on a personal E-mail, It is
a lot of text, and I might be wrong, but I attach it in case it is useful:

A) I feel Version Control (SVN) is great when there is a little group of
people maintaining the code (RCore ~ 20); but Git could allow a bigger
group of people (for example ~200) working simultaneously on perfect and
polish the code without overlapping each other, and RCore (~20) check that
code, and do commits.

This would allow an even more robust base language foundation, or
improvements such as writing some base code more efficiently in C++, etc.

I will put a SQL Transactions simile for further explain this issue:
* SVN is like a Table-Lock.
* And GIT is a Row-Lock in the Table.

Table-Lock works well with very few connections, and as there are only few
connections, users are happy with it.

But it prevents other client connections to query that table at the same
time, and does not allow high concurrency.

B) I feel that Version Control is a little bit obscure for people who are
not from R-Core Mailing List, as:
* We cannot see what gets updated with each R-devel specific version.
* And have communication tools flexible enough to suggest a little patch
(changes in a few lines of code all scattered over R Code) by ourselves
other than E-mails. ¿What if our fixes are very sparse?

Communication and Patches for Collaboration are difficult and tedious for
Non-Core Contributors.

C) Reverting a whole version can cause that bugs that where already fixed,
to be reverted (I've seen it once in R).

D) Making a whole new version for a single change in 1 line of code is
inefficient, and time consuming. In GitHub it would take few seconds.

E) Google Trends indicates that GIT is getting more and more used than SVN
by other developments. If it works for others, why should not work for R?

F) It would also be important to know what the opinion of key R
contributors outside R-Core is, for example:

* Hadley Wickham.
* Other important R Package Authors.

If they would feel more willing to help on R Core Language Development with
GitHub, Gitlab, etc.

Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] Community Feedback: Git Repository for R-Devel

2018-01-04 Thread Juan Telleria
Thank you Mark, this is what I was looking for.

On Sunday I will read again in detail previous discussion's facts, and
attach the pros and cons here, so that they remain for the future, and the
topic can be closed.

Juan

El 4 ene. 2018 11:06 a. m., "Mark van der Loo" 
escribió:

> This question has been discussed before on this list:
> http://r.789695.n4.nabble.com/Why-R-project-source-code-is-
> not-on-Github-td4695779.html
>
> See especially Jeroen's answer.
>
> Best,
> Mark
>
> Op do 4 jan. 2018 om 01:11 schreef Juan Telleria :
>
>> UNBIASED FACTS:
>> • Bugzilla & R-devel Mailing Lists: Remain unchanged: Understood as
>> Ticketing platforms for bug pull requests on the R-devel Git Repository.
>>
>> •  Git Repository Options:
>> A) Github (Cloud with Automated backups from GitHub to CRAN Server):
>> https://github.com
>> B) Gitlab (Selfhosted on CRAN): https://about.gitlab.com
>> C) Phabricator (Selfhosted on CRAN): https://www.phacility.com
>> D) Microsoft Codeplex: https://www.codeplex.com
>> E) Others: Unknown
>>
>> GOOGLE TRENDS:
>> https://trends.google.com/trends/explore?date=all&q=Git,Svn,Github,Gitlab
>>
>> EXAMPLE
>> Git Repository on Core Python: https://github.com/python
>>
>> PERSONAL OPINION / MOTIVATION:
>> I think that moving efforts in this direction is important because it
>> would
>> allow a true Open Source Innovation & Open Collaboration in R between:
>> * R Community.
>> * And R-Core.
>> For:
>> * R Bug Fixes.
>> * And Core Feature Wishlist.
>> As anyone would be able to:
>> * Check the unassigned bugs in Bugzilla (apart from R-Core).
>> * And propose bugs fixes by themselves as Pull requests (by mentioning the
>> Bug ID of Bugzilla or the Mailing Lists).
>>
>> This would allow that _individuals_ either from Universities or Companies
>> interested in the Development of R:
>> * apart of donating economical resources to the R Foundation.
>> * could help to maintain core R Code by themselves.
>> Which aligns with the true spirit of R, which shall be done from
>> contributing individuals, for individuals themselves.
>>
>> It would also allow to put the focus on the precise lines of code changed
>> with each Commit, and revert changes in an easy way, without verbose
>> E-mails: Tidy, Clean, Maintainable, and Fast.
>>
>> At last, I noticed R-devel Archives do not have an E-mail Id (Unique
>> Unsigned Integer), so it would be a good idea to add one for pull requests
>> if Git was adopted.
>>
>> Juan
>>
>> [[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

[Rd] Community Feedback: Git Repository for R-Devel

2018-01-03 Thread Juan Telleria
UNBIASED FACTS:
• Bugzilla & R-devel Mailing Lists: Remain unchanged: Understood as
Ticketing platforms for bug pull requests on the R-devel Git Repository.

•  Git Repository Options:
A) Github (Cloud with Automated backups from GitHub to CRAN Server):
https://github.com
B) Gitlab (Selfhosted on CRAN): https://about.gitlab.com
C) Phabricator (Selfhosted on CRAN): https://www.phacility.com
D) Microsoft Codeplex: https://www.codeplex.com
E) Others: Unknown

GOOGLE TRENDS:
https://trends.google.com/trends/explore?date=all&q=Git,Svn,Github,Gitlab

EXAMPLE
Git Repository on Core Python: https://github.com/python

PERSONAL OPINION / MOTIVATION:
I think that moving efforts in this direction is important because it would
allow a true Open Source Innovation & Open Collaboration in R between:
* R Community.
* And R-Core.
For:
* R Bug Fixes.
* And Core Feature Wishlist.
As anyone would be able to:
* Check the unassigned bugs in Bugzilla (apart from R-Core).
* And propose bugs fixes by themselves as Pull requests (by mentioning the
Bug ID of Bugzilla or the Mailing Lists).

This would allow that _individuals_ either from Universities or Companies
interested in the Development of R:
* apart of donating economical resources to the R Foundation.
* could help to maintain core R Code by themselves.
Which aligns with the true spirit of R, which shall be done from
contributing individuals, for individuals themselves.

It would also allow to put the focus on the precise lines of code changed
with each Commit, and revert changes in an easy way, without verbose
E-mails: Tidy, Clean, Maintainable, and Fast.

At last, I noticed R-devel Archives do not have an E-mail Id (Unique
Unsigned Integer), so it would be a good idea to add one for pull requests
if Git was adopted.

Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] R CMD check warning about compiler warning flags

2017-12-25 Thread Juan Telleria
However, and hope not to be off-topic, a git repository (github, gitlab,
codeplex, etc., not just solely github) could constitute a tidy approach,
and make things easier to R Core :)

By putting the focus on version control, the line of changes made with each
commit (With the possibility to reverse changes), and not verbose e-mails.

Juan

I strongly disagree. Are you aware that github is a commercial
>> company, github inc. [1] ?
>> What about gitlab? or Microsoft's codeplex? There are other services
>> similar to github, why github?
>> What happens if github goes out of business?
>>
>> R-project should be maintained in the academic network and under
>> auspices of universities.
>>
>>
>>  [*]  GitHub, Inc.
>>https://en.wikipedia.org/wiki/GitHub
>>
>
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R CMD check warning about compiler warning flags

2017-12-25 Thread Juan Telleria
M... I see... thank you Suzen.

Juan


> I strongly disagree. Are you aware that github is a commercial
> company, github inc. [1] ?
> What about gitlab? or Microsoft's codeplex? There are other services
> similar to github, why github?
> What happens if github goes out of business?
>
> R-project should be maintained in the academic network and under
> auspices of universities.
>
>
>  [*]  GitHub, Inc.
>https://en.wikipedia.org/wiki/GitHub
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Collaborative Wiki: Mediawiki

2017-12-25 Thread Juan Telleria
Dear R Developers,

I create this e-mail, linked to "Collaborative Wiki for fostering Open
Innovation in R", for going straight into the point:

After studing multiple wikies (Confluence, xwiki, Mediawiki) for a
collaborative approach to R Documentation, I finally came up that Mediawiki
was the best for managing documentation for being:

   - 100% Open Source.
   - Simple, tidy, neat interface.
   - Documentation Focused (no forums, no other things).
   - Being the one Wikipedia usses is really an assurance that it will
   never go away, and each second spent on it is worthy.
   - Anyone can collaborate, update files up to 40 MB, but there is a
   strict version control on the wiki :), just as wikipedia has.

So I requested on Miraheze (https://meta.miraheze.org/wiki/Miraheze)
Community Driven Wiki Farms that they set up a wiki as a *Sandbox for
testing* (Not for real use in production):

https://kbrproject.miraheze.org/wiki/Main_Page

You can test it an play with it whatever you want; and assess if it could
constitute a good option for managing contributed R documentation.

Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R CMD check warning about compiler warning flags

2017-12-25 Thread Juan Telleria
Maybe I'm new, and forgive my ignorance, but maybe in the future (~ X years
from now) the R Project could be managed entirely from github, by doing
pull requests and only R Core having commit rights...

Would make the forking process also easier... And could be a good roadmap.

But we're not using git, we're just sending emails back and forth.  I don't
> need to run svn to get some useful information from the number 73909.
> Winston's web page at https://github.com/wch/r-source/commit/2e80059 does
> display the number 73909 if you know where to look, but his email doesn't
> contain it.
>
> I don't know about other svn users, but I'd be perfectly content to read
> something like "This appears to have been added in rev 73909 (diff shown
> here: https://github.com/wch/r-source/commit/2e80059)."
>
> Duncan Murdoch

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Wish List: base::source() + Add Execution Time Argument

2017-12-21 Thread Juan Telleria
I did not know "progress" package existed, thank you Iñaki.

However, something like that would be nice to have by default in source(),
just something to add to R's "wish list", so that everybody can benefit
from it without extra-packages, as most of us I suppose we will spend all
day simply doing Ctrl + Run :)

Thank you,
Juan

2017-12-21 15:20 GMT+01:00 Iñaki Úcar :

> 2017-12-21 15:05 GMT+01:00 Juan Telleria :
> > But by statement in the source file, I mean, for knowing during the
> > execution how much time is taking, without having to wait till the end.
>
> What's the ultimate purpose? Are you looking for a profiler (there are
> some of them on CRAN) or some kind of progress bar (something like the
> 'progress' package would be useful)?
>
> Iñaki
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] Wish List: base::source() + Add Execution Time Argument

2017-12-21 Thread Juan Telleria
But by statement in the source file, I mean, for knowing during the
execution how much time is taking, without having to wait till the end.

2017-12-21 13:06 GMT+01:00 Iñaki Úcar :

> 2017-12-21 12:46 GMT+01:00 Juan Telleria :
> > Dear R Developers,
> >
> > Adding to source() base function a Timer which indicates the execution
> time
> > of the source code would be a very well welcome feature, and in my
> opinion
> > not difficult to implement as an additional funtion argument.
> >
> > The source(timing = TRUE) function shall execute internally the following
> > code for each statement:
> >
> > old <- Sys.time() # get start time at the beginning of source()
> > # source code
> > # print elapsed time
> > new <- Sys.time() - old # calculate difference
> > print(new) # print in nice format
>
> system.time(source(...)) does what you want.
>
> Iñaki
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

[Rd] Wish List: base::source() + Add Execution Time Argument

2017-12-21 Thread Juan Telleria
Dear R Developers,

Adding to source() base function a Timer which indicates the execution time
of the source code would be a very well welcome feature, and in my opinion
not difficult to implement as an additional funtion argument.

The source(timing = TRUE) function shall execute internally the following
code for each statement:

old <- Sys.time() # get start time at the beginning of source()
# source code
# print elapsed time
new <- Sys.time() - old # calculate difference
print(new) # print in nice format

Thank you.

Kind regards,

Juan Telleria

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Collaborative Wiki for fostering Open Innovation in R

2017-12-18 Thread Juan Telleria
I have found Apache JSPWiki solution, which might work and is open source:
https://jspwiki.apache.org

In addition, I will test xwiki, and give my insights about the tool on
r-devel, as it might just be a resolutive tool for collaboration thanks to
it's extensible architecture.

Kind regards,
Juan Telleria

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Collaborative Wiki for fostering Open Innovation in R

2017-12-17 Thread Juan Telleria
Dear R Developers,

I am writing in order to open a constructive debate whether if it is worth
it that R Project adopts the Apache Software Foundation & Wikipedia Model
for Open Documentation by using a Collaborative Wiki & Document Store (As a
complement to Bugzilla and Mailing Lists), for fostering collaboration in R
Development.

The objective would be to promote innovation and collaboration between:
• R Contributors.
• R Core.
• And R Community.
For:
• R Development.
• ‎R Contributed Documentation.
• ‎R Internals Wiki.

The Wikis Section could be structured in different Sub-Wikis (or Pages)
with different levels of permissions:
• Some only editable by R Core.
• Others only editable by R Core, and R Contributors.
• And others editable by any member of R Community.

And have different Categories, such as:
• R Learning Resources.
• R Cheatsheets.
• R Development & Key Internals.
• ‎R Contributed Documentation.
• ‎R Help.
• ‎etc.

A key point would be that the wikis are installed, hosted and accesible
through CRAN Servers, as a way to give some collaborative GUI to CRAN
hosted documentation.

Three collaborative wikis worth to consider would be:
• xwiki SAS (Open Source): http://www.xwiki.org
• ‎Atlassian Confluence (Free for Open Source Projects):
https://www.atlassian.com/software/confluence
• ‎MediaWiki: www.mediawiki.org

I personally prefer xwiki for being 100% Open Source, and being editable
with a Markdown Syntax; but we use Confluence at work and I am also very
happy with it; and MediaWiki is the one Wikipedia uses, but seems difficult
to use.

Thank you & best,
Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] OpenBLAS in everyday R?

2017-12-16 Thread Juan Telleria
Julia Programming Language uses also OpenBlas, and it is actively
maintained with bugs being fixed as I have checked it out:

http://www.openblas.net/Changelog.txt

So I still see it ok to be included as an options(...) feature (by default
off, just for safety), over other Blas libraries.

R could not use Intel MKL for legal reasons (I think), because as long that
R ships with GPL libraries, shipping R by default with Non-GPL is illegal.

Cheers,
Juan

El 17/12/2017 2:50 a. m., "Avraham Adler" 
escribió:

> On Sat, Dec 16, 2017 at 7:41 PM, Kenny Bell  wrote:
> > It seems like many of the multi-threaded BLASes have some sort of
> > fundamental problem preventing use in the way Juan suggests:
> >
> >  - Dirk's vignette states that ATLAS "fixes the number of cores used at
> > compile-time and cannot vary this setting at run-time", so any
> > user-friendly implementation for R would have to compile ATLAS for 1-16
> > threads to allow the user to switch at run-time. This might dramatically
> > affect install times.
> >
> >  - MKL seems like it's been outright rejected in the past based on not
> > being "free-enough".
> >
> >  - OpenBLAS causes crashes.
> >
> > Has anyone tried ExBLAS for use with R?
> >
> > On Sun, Dec 17, 2017 at 1:03 PM, Peter Langfelder <
> > peter.langfel...@gmail.com> wrote:
> >
> >> I would be very cautious about OpenBLAS in particular...  from time to
> >> time I get complains from users that compiled code calculations in my
> >> WGCNA package crash or produce wrong answers with large data, and they
> >> all come from OpenBLAS users. I am yet to reproduce any of their
> >> crashes when using MKL and ATLAS BLAS implementations.
> >>
> >> Just my 2 cents...
> >>
> >> Peter
>
> I've been building R on Windows 64 bit with OpenBLAS for years and my
> builds pass check-devel. For a while in the past it failed one check
> as the tolerance was 5e-5 and with my build of OpenBLAS the error was
> 5.4e-5 or 5.7e-5, but that was changed around R 3.3, if I recall
> correctly. I provide descriptions here [1], but I haven't gone so far
> as to post compiled Rblas.dlls just yet. My personal build sets 4
> threads when compiling OpenBLAS itself as I'm currently on a quad-core
> SandyBridge. In tests I ran a few years ago, both single and multi
> threaded BLAS compile and then can be compiled into R with no issues
> (on my platforms, at least). Most matrix operations performed better
> with multi-threaded except for R's eigenvalue decomposition, to the
> nest of my recollection.
>
> Avi
>
> [1] https://www.avrahamadler.com/r-tips/build-openblas-for-windows-r64/
>
> __
> 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] OpenBLAS in everyday R?

2017-12-16 Thread Juan Telleria
Multi-threaded Math Libraries (Trough OpenBlas), taking into account that
today's laptops have a minimum of 2-4 cores, are an important topic, and in
my opinion, shall be included in R for the general interest.

I think that the way to go would be to create a configuration setting in
R's options(OpenBlas=TRUE|FALSE) which enables or disables OpenBlas in an
easy way, which by default shall be in FALSE (In order to avoid issues with
parallel libraries).

The key point would be that each time you open a new R session, a 1 liner
informative comment arises that tells you:

a) Whether OpenBlas is enabled or disabled.

b) And how many cores it uses (Setting also configurable through
options(...))

In a shape just as Microsoft R Open does.

Kind regards,
Juan Telleria


El 17/12/2017 12:31 a. m., "Juan Telleria"  escribió:

> Multi-threaded Math Libraries (Trough OpenBlas), taking into account that
> today's laptops have a minimum of 2-4 cores, are an important topic, and in
> my opinion, shall be included in R for the general interest.
>
> I think that the way to go would be to create a configuration setting in
> R's options(OpenBlas= TRUE|FALSE) which enables or disables OpenBlas in an
> easy way, which by default shall be in FALSE (In order to avoid issues with
> parallel libraries).
>
> The key point would be that each time you open a new R session, a 1 liner
> informative comment arises that tells you:
> a) Whether OpenBlas is enabled or disabled.
> b) And how many cores it uses (Setting also configurable through
> options(...))
>
> In a shape just as Microsoft R Open does.
>
> Kind regards,
> Juan Telleria
>
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] OpenBLAS in everyday R?

2017-12-16 Thread Juan Telleria
Multi-threaded Math Libraries (Trough OpenBlas), taking into account that
today's laptops have a minimum of 2-4 cores, are an important topic, and in
my opinion, shall be included in R for the general interest.

I think that the way to go would be to create a configuration setting in
R's options(OpenBlas= TRUE|FALSE) which enables or disables OpenBlas in an
easy way, which by default shall be in FALSE (In order to avoid issues with
parallel libraries).

The key point would be that each time you open a new R session, a 1 liner
informative comment arises that tells you:
a) Whether OpenBlas is enabled or disabled.
b) And how many cores it uses (Setting also configurable through
options(...))

In a shape just as Microsoft R Open does.

Kind regards,
Juan Telleria

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Debate: Shall some of Microsoft R Open Code be ported to mainstream R?

2017-10-31 Thread Juan Telleria
OpenBlas seems to have a performance similar to Intel MKL, as is stated in
Wikipedia:

https://en.m.wikipedia.org/wiki/OpenBLAS

However, I would suggest debating this topic in the R Consortium and the R
Foundation, for taking the best decision possible for the future or R.

Thank you all,
Juan

El 31/10/2017 2:55 p. m., "Iñaki Úcar"  escribió:

2017-10-31 14:34 GMT+01:00 Juan Telleria :
> So as long as I can read, OpenBlas, for Windows, might be a worth
> considering option:
> http://www.openblas.net
>
> But Intel MKL also seems to be free*:
> https://software.intel.com/en-us/articles/free-mkl

install.packages("rmsfact")
sub(".*because ", "", rmsfact::rmsfact(8))

Iñaki

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] Debate: Shall some of Microsoft R Open Code be ported to mainstream R?

2017-10-31 Thread Juan Telleria
So as long as I can read, OpenBlas, for Windows, might be a worth
considering option:
http://www.openblas.net

But Intel MKL also seems to be free*:
https://software.intel.com/en-us/articles/free-mkl

Thank you,
Juan

El 30/10/2017 6:45 p. m., "Avraham Adler" 
escribió:

> [Sent offlist accidentally]
>
> What concerns me first and foremost is that the licensure would have
> to be ironclad (including for commercial use like vanilla R now) as
> well as ensuring that R remains completely FLOSS. Anything “added” to
> R has to be a no-strings-attached gift to R.
>
> Also, I would think that it would have to play nice with existing
> workflows (like OpenBLAS instead of MKL) unless there is such a
> benefit that it is worth breaking compatibility.
>
> Avi
>
> On Sun, Oct 29, 2017 at 6:01 PM, Kenny Bell  wrote:
> > User here: incorporating Intel's MKL, as MRO does, would be a very
> welcome
> > addition.
> >
> > I was an MRO user before and it improved my experience with medium data
> > immensely.
> >
> > They did, however, leave behind bugs here and there, especially related
> to
> > development with Rcpp, so I switched back to vanilla R.
> >
> > On Mon, Oct 30, 2017, 9:42 AM Juan Telleria 
> wrote:
> >
> >> Dear R Developers,
> >>
> >> First of all, I would like to thank you Jeroen Ooms for taking the
> binary
> >> Window Builds from Duncan. I firmly believe that the R Community will
> >> benefit a lot from his work.
> >>
> >> However, the debate I would like to open is about if some of Microsoft R
> >> Open Code shall be ported from R Open to Mainstream R.
> >>
> >> There are some beneficts in R Open such as multithreaded performance:
> >> https://mran.microsoft.com/documents/rro/multithread/
> >>
> >> Maybe, the R Consortium, and in particular, Microsoft R Team, could
> >> collaborate, if appropriate, in such duty.
> >>
> >> Thank you,
> >> Juan Telleria
> >>
> >> [[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
>
> __
> 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

[Rd] Debate: Shall some of Microsoft R Open Code be ported to mainstream R?

2017-10-29 Thread Juan Telleria
Dear R Developers,

First of all, I would like to thank you Jeroen Ooms for taking the binary
Window Builds from Duncan. I firmly believe that the R Community will
benefit a lot from his work.

However, the debate I would like to open is about if some of Microsoft R
Open Code shall be ported from R Open to Mainstream R.

There are some beneficts in R Open such as multithreaded performance:
https://mran.microsoft.com/documents/rro/multithread/

Maybe, the R Consortium, and in particular, Microsoft R Team, could
collaborate, if appropriate, in such duty.

Thank you,
Juan Telleria

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] source() + dbSendQuery() Returns Incorrect Results - Solved with: dbExecute()

2017-10-19 Thread Juan Telleria
Issue Description and Expected Result

When used source() with dbSendQuery(), wrong results are obtained from the
Database, probably due to a precision loose at some point.
Database

MariaDB
Solution

It was solved by means of using source() + dbExecute(), instead of
dbSendQuery().
Question

Although not Standard, ¿Shall dbSendQuery() default behavior be modified to
avoid this issue?.

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] Duncan's retirement: who's taking over Rtools?

2017-09-29 Thread Juan Telleria
The Apache Foundation has a whole article stating that open source projects
shall be managed and used independently of any commercial interest:

https://community.apache.org/projectIndependence.html

So Microsoft could donate, if interested, money or other resources for such
specific role, but always taking special care of company interest
independence.

Juan



El 29/9/2017 2:23 p. m., "Juan Telleria"  escribió:

> I agree with Moshe.
>
> It is important to maintain the independence of R as a programming
> language by itselft, even if it could benefit from Microsoft work (C++ Base
> Code, etc.), it is better in my opinion to keep it independent.
>
> Also, Duncan work and know-how shall be transferred to the next future R
> Core Developer which will be in charge of Duncan's roles. And, if
> appropriate, transfer the scripts Duncan might use, the documentation, etc.
>
> Thank you,
> Juan
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Re: [Rd] Duncan's retirement: who's taking over Rtools?

2017-09-29 Thread Juan Telleria
I agree with Moshe.

It is important to maintain the independence of R as a programming language
by itselft, even if it could benefit from Microsoft work (C++ Base Code,
etc.), it is better in my opinion to keep it independent.

Also, Duncan work and know-how shall be transferred to the next future R
Core Developer which will be in charge of Duncan's roles. And, if
appropriate, transfer the scripts Duncan might use, the documentation, etc.

Thank you,
Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R Configuration Variable: Maximum Memory Allocation per R Instance

2017-09-18 Thread Juan Telleria
Very very interesting, if it is ok with it, I will post these observations
to Stack Overflow so that they are useful to other R Programmers, and make
more research on the topic, putting it all together. I could even do a
small article with my research.

I think this is a critical point if you want to have an R Instance and a
RDBMS in the same Server.

Thank you,
Juan

2017-09-17 14:14 GMT+02:00 Jeroen Ooms :

> On Sun, Sep 17, 2017 at 12:39 AM, Juan Telleria 
> wrote:
> > Dear R Developers,
> >
> > In the same way that MySQL/MariaDB's Engine InnoDB or MyISAM/Aria have
> the
> > innodb_buffer_pool_size or the key_buffer_size for setting the maximum
> > amount of RAM which can be used by a Server Instance.
>
> Memory is not controlled by R itself because packages may malloc()
> directly. However most operating systems have features to limit
> resources of a given process. The CRAN package 'unix' has wrappers for
> posix setrlimit [1] e.g. unix::rlimit_as() limits address space. This
> works pretty well, however I found that the way memory is managed and
> counted varies a lot per OS and malloc implementation.
>
> You can also set rlimits on a single evaluation via the rlimit
> parameter in sys::eval_safe().
>
>
> [1] http://pubs.opengroup.org/onlinepubs/009695399/
> functions/getrlimit.html
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R Configuration Variable: Maximum Memory Allocation per R Instance

2017-09-17 Thread Juan Telleria
This variables already exist as I have been said, and are:
* memory.size
* memory.limit

R Documentation:

https://stat.ethz.ch/R-manual/R-devel/library/utils/html/memory.size.html

Thank you,
Juan

El 17/9/2017 12:39 a. m., "Juan Telleria"  escribió:

> Dear R Developers,
>
> In the same way that MySQL/MariaDB's Engine InnoDB or MyISAM/Aria have the
> innodb_buffer_pool_size or the key_buffer_size for setting the maximum
> amount of RAM which can be used by a Server Instance:
>
> ¿Would it be possible to create an R Configuration Variable which fixes
> the maximum amount of RAM memory to be used as Commit / Dynamic Memory
> Allocation?
>
> Thank you.
> Juan
>

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

[Rd] R Configuration Variable: Maximum Memory Allocation per R Instance

2017-09-16 Thread Juan Telleria
Dear R Developers,

In the same way that MySQL/MariaDB's Engine InnoDB or MyISAM/Aria have the
innodb_buffer_pool_size or the key_buffer_size for setting the maximum
amount of RAM which can be used by a Server Instance:

¿Would it be possible to create an R Configuration Variable which fixes the
maximum amount of RAM memory to be used as Commit / Dynamic Memory
Allocation?

Thank you.
Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

[Rd] Suggestion: Create On-Disk Dataframes

2017-09-04 Thread Juan Telleria
Dear R Developers,

I would like to suggest the creation of a new S4 object class for On-Disk
data.frames which do not fit in RAM memory, which could be called
disk.data.frame()

It could be based in rsqlite for example (By translating R syntax to SQL
syntax for example), and the syntax and way of working of the
disk.data.frame() class could be exactly the same than with data.frame
objects.

When the session is of, is such disk.data.frames are not saved, and
implicit DROP TABLE could be done in all the schemas created in rsqlite.

Nowadays, with the SSD disk drives such new data.frame() class could have
sense, specially when dealing with Big Data.

It is true that this new class might be slower than regular data.frame,
data.table or tibble classes, but we would be able to handle much more
data, even if it is at cost of speed.

Also with data sampling, and use of a regular odbc connection we could do
all the work, but for people who do not know how to use RDBMS or specific
purpose R packages for this job, this could work.

Another option would be to base this new S4 class  on feather files, but
maybe making it with rsqlite is simply easier.

A GitHub project could be created for such purpose, so that all the
community can contribute (included me :D ).

Thank you,
Juan

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel