Last weekend was the bi-annual time to roll the main machine and
server to the current Ubuntu release, now at 23.04. It must now have
been fifteen or so years that I have used Ubuntu for my desktop / server
(for “reasons” I may write about another time). And of course it all
passed swimmingly as usual.
[ And a small aside, if I may. Among all these upgrades, one of my
favourite piece of tech trivia that may well be too little known remains
the dedication of the PostgreSQL maintainers installing the new version,
now PostgreSQL 15, seamlessly in parallel with the existing one, in my
case PostgreSQL 14, keeping both running (!!) on two neighbouring ports
(!!) so that there is no service disruption. So at some point, maybe
this weekend, I will run the provided script to dump-and-restore to
trigger the database migration at my convenience. Happy PostgreSQL on
Debian/Ubuntu user since the late 1990s. It. Just. Works. ]
[ Similarly, it is plainly amazeballs how apt orders and
runs package updates to service to keep running for a maximum amount of
time. This machine acts as e.g. a web server and it was up and
running (as were other services) while thousands of package got
updated/replaced. It is pretty amazing. Whereas on other platforms
people still maintain the “do not ever update anything” we demonstrably
offer the opposite here. Really not too shabby. ]
This time, I had one small hickup. Emacs, now at version 28 bringing
loads of niceties along, would not load. And the error soon lead to a
post on the magit list where its indefatigable author Jonas Bernoulli suggested a
rebuild (and hence re-compilation of the elisp files). Which I did, and
which allowed a start of VM inside Emacs. So I was happy. But it allowed
it only once for each VM package reinstall. Not good, and I remained
curious.
Some more digging lead to a breakthrough. A post and commit
at the Fedora Project indicated that for just VM within Emacs,
byte-compilation throws a spanner. Which one can work around by telling
Emacs not to compile the files in the VM folder.
So I applied that patch to the VM package in a local build et
voilà we have working VM. The world is clearly better when your
email client of 25+ years just works. And feels snappier because
everything under Emacs28 feels snappier! So I set this up
properly and filed Debian Bug Report #1039105.
To which Ian
Jackson, the maintainer, replied a few days later nodding that he
could reproduce. And that he concurred with the bug report, and was
planning to update throughout. And lo and behold this morning’s update
reveals that this made into an update for the just-released Debian
Bookworm.
So yay. In all these years of Debian maintainership (somewhere
between twentyfive and thirty) this may be my first bug report with
patch going straight into a stable release. But of course, true and full
credit goes of course to Göran Uddeborg for
putting it up first for Fedora. Lovely how Open Source can work
together. We really should do
more, not less, of that. But I digress…
Anyway, in sum: If you try to use VM under the lovely Emacs 28, there
is a fix, and if you use it with Debian Bookworm the fix should hit your
mirrors soons. Ditto, methinks, for the next Ubuntu release. If you use
it under Ubuntu now, the package is (elisp) text-only and can be safely
installed on a derivative (which we do not enjoy in general but
which is fine here). So enjoy!
If you like this or other open-source work I do, you can now sponsor me at
GitHub.
A new website containing introductory videos and slide decks is now available for your perusal at ess-intro.github.io. It provides a series of introductions to the excellent Emacs Speaks Statistics (ESS) mode for the Emacs editor.
This effort started following my little tips, tricks, tools and toys series of short videos and slide decks “for the command-line and R, broadly-speaking”. Which I had mentioned to friends curious about Emacs, and on the ess-help mailing list. And lo and behold, over the fall and winter sixteen of us came together in one GitHub org and are now proud to present the initial batch of videos about first steps, installing, using with spaceemacs, customizing, and org-mode with ESS. More may hopefully fellow, the group is open and you too can join: see the main repo and its wiki.
This is in fact the initial announcement post, so it is flattering that we have already received over 350 views, four comments and twenty-one likes.
We hope it proves to be a useful starting point for some of you. The Emacs editor is quite uniquely powerful, and coupled with ESS makes for a rather nice environment for programming with data, or analysing, visualising, exploring, … data. But we are not zealots: there are many editors and environments under the sun, and most people are perfectly happy with their choice, which is wonderful. We also like ours, and sometimes someone asks ‘tell me more’ or ‘how do I start’. We hope this series satisifies this initial curiousity and takes it from here.
With that, my thanks to Frédéric, Alex, Tyler and Greg for the initial batch, and for everybody else in the org who chipped in with comments and suggestion. We hope it grows from here, so happy Emacsing with R from us!
A few days ago, a friend and I were riffing about the wonderful stability of R and (subsets of) R packages. The rigorous ASAN/UBSAN/Valgrind/… checks, while at times frustrating for us package maintainers when we do not have easily replicable setups [1], really help in ensuring code quality. As do of course all other layers of quality control at CRAN, and for R. In passing, I mentioned there was an older blog post demonstrating a little power-law-alike behaviour between the most frequent R Core committer and everybody else.
So I was intrigued. Could we just pick up a blog post I had written in August of 2007, or almost fourteen years ago, and run it as is? [2]
Yes, we can.
Which is truly, truly awesome.
Back then I must have taken a minor shortcut and analysed just one calendar year of SVN that was pre-extracted (and a few more still exists here if one scrolls down). Maybe then I might not have had the r-devel SVN repo checkout. But these days (and for probably a decade now) I do, and just a few lines of bash get us a full log:
#!/bin/bash## adjust as neededsvn=${HOME}/svn/r-develrev=$(cd${svn}&&svn info --show-item revision)today=$(date +%Y-%m-%d)echo-n"Extracting ${rev} revisions at ${today} ... "(cd${svn}&&svn log --limit${rev})|gzip-9> svn-log-${today}.txt.gzecho"done"
So that leads to one code adjustments given the different input source. But otherwise the first paragraph runs as is (and now gives us 49.2% for the amazing Prof Ripley):
That is what one gets by trusting stable interfaces: code untouched for fourteen years runs unchanged.
R itself has had well over sixty releases since then, including two major and eighteen minor releases. Yet the code just runs, including the code for two graphs one can reproduce with the exact same code as we show next.
tod <-unlist(sapply(rx,function(x)strsplit(x,split=" ")[[1]][6]))tod <- tod[who=="ripley"]tz <-sub(pattern=".*(-[0-9]{4}).*",replacement="\\1",x=rx)tz <- tz[who=="ripley"]tz <-as.numeric(tz)/100offset <-3600*tzz <-strptime(tod,format="%H:%M:%S")hist(z,"hours",main="Ripley Commit Times in SVN TZ")h <- z - offseth <-format(h,format="%H")h <-factor(as.numeric(h), levels=0:23)## added as.vector() here to suppress a warningdotchart(as.vector(table(h)), main="Ripley Commit Times, By Hour in GMT",labels=paste(0:23,1:24,sep=":"))
The code reproduces the chart from 2008, but this time uses the full twenty plus years of SVN history. I added just one as.vector() to suppress one new warning which appears under current R and which was presumably added in the fourteen years since (at the chart is produces without it too).
The remainder of the code also runs. I just added one library(zoo) my blog post had omitted. No other changes.
## rather extract both date and timedat <-unlist(sapply(rx, function(x) { txt <-strsplit(x,split=" ")[[1]]paste(txt[5], txt[6])}))## subset on Prof Ripleydat <- dat[who =="ripley"]## and convert to POSIXct, correcting by tz as welldatpt <-as.POSIXct(strptime(dat,format="%Y-%m-%d %H:%M:%S")) - offset## turn into zoo -- we use a constant series of ones as each## committ is taken as a timestamped eventlibrary(zoo)datzoo <-zoo(1, order.by=datpt)## and use zoo to aggregate into commits per datedaily <-aggregate(datzoo, as.Date(index(datzoo)), sum)## now plot as grey barsplot(daily, col='darkgrey', type='h', lwd=2,ylab="Nb of SVN commits, three-week median",xlab="R release dates 2.5.0 and 2.5.1 shown in orange",main="The amazing Prof. Ripley")## mark the two R releases of 2007abline(v=c(as.Date("2007-04-24"),as.Date("2007-06-28")),col='orange',lwd=1.5)## and do a quick centered rolling medianlines(rollmedian(daily, 21, align="center"), lwd=3)
It produces this chart spanning two decades of commits. [3]
The subtitle highlighting the then-most-recent releases is a little quaint now given that R has had eighten major.minor releases, and over sixty total releases, since then.
Stable and rigourously maintained interfaces are a fantastic resource that is dramatically under-appreciated. Efforts such as the ten-year reproduction challenge demonstrate that this really is not a given. Maybe instead of celebrating band aides (“look, I reproduce via code I have frozen in a virtual environment / container / machine / …”) we should celebrate languages, ecosystems, packages, … that allow us to rely on just the code itself.
Because we can.
And we should strengthen and reinforce that ability. And discourage rapid changes just for changes’ sake. Code running for a decade, or even longer, is a huge boon to everybody relying on it.
Three cheers to R Core.
[1] Docker containers would be really good, and a step above the specs in the README. Winston’s nice r-debug “sumo” container comes closest and helps a lot, and is updated regularly (which my earlier r-devel-san container is not).
[2] The post owes some of its code ideas to Ben Bolker and Simon Jackman, but links to now-stale prior affiliations of theirs.
[3] And the singularly impressive contributions charted remain unparalled, but were already the focus of the previous post. Yet over three times as a long period, they remain even more stunning.
Edit 2021-03-21: Two minor fixes for grammar and typing.
So a few months ago kiddo one dropped an apparently fairly large cup of coffee onto her one and only trusted computer. With a few months (then) to graduation (which by now happened), and with the apparent “genuis bar” verdict of “it’s a goner” a new one was ordered. As it turns out this supposedly dead one coped well enough with the coffee so that after a few weeks of drying it booted again. But give the newer one, its apparent age and whatnot, it was deemed surplus. So I poked around a little on the interwebs and conclude that yes, this could work.
Fast forward a few months and I finally got hold of it, and had some time to play with it. First, a bootable usbstick was prepared, and the machine’s content was really (really, and check again: really) no longer needed, I got hold of it for good.
tl;dr It works just fine. It is a little heavier than I thought (and isn’t “air” supposed to be weightless?) The ergonomics seem quite nice. The keyboard is decent. Screen-resolution on this pre-retina simple Air is so-so at 1440 pixels. But battery live seems ok and e.g. the camera is way better than what I have in my trusted Lenovo X1 or at my desktop. So just as a zoom client it may make a lot of sense; otherwise just walking around with it as a quick portable machine seems perfect (especially as my Lenovo X1 still (ahem) suffers from one broken key I really need to fix…).
Below are some lightly edited notes from the installation. Initial steps were quick: maybe an hour or less? Customizing a machine takes longer than I remembered, this took a few minutes here and there quite a few times, but always incremental.
Initial Steps
Download of Ubuntu 20.04 LTS image: took a few moments, even on broadband, feels slower than normal (fast!) Ubuntu package updates, maybe lesser CDN or bad luck
Plug into USB, recycle power, press “Option” on macOS keyboard: voila
After a quick hunch… no to ‘live/test only’ and yes to install, whole disk
install easy, very few questions, somehow skips wifi
so activate wifi manually — and everythings pretty much works
Customization
First deal with ‘fn’ and ‘ctrl’ key swap. Install git and followed this github repo which worked just fine. Yay. First (manual) Linux kernel module build needed need in … half a decade? Longer?
Fire up firefox, go to ‘download chrome’, install chrome. Sign in. Turn on syncing. Sign into Pushbullet and Momentum.
syncthing which is excellent. Initially via apt, later from their PPA. Spend some time remembering how to set up the mutual handshakes between devices. Now syncing desktop/server, lenovo x1 laptop, android phone and this new laptop
keepassx via apt and set up using Sync/ folder. Now all (encrypted) passwords synced.
Discovered synergy now longer really free, so after a quick search found and installed barrier (via apt) to have one keyboard/mouse from desktop reach laptop.
Added emacs via apt, so far ‘empty’, so config files yet
Added ssh via apt, need to propagate keys to github and gitlab
Added R via add-apt-repository --yes "ppa:marutter/rrutter4.0" and add-apt-repository --yes "ppa:c2d4u.team/c2d4u4.0+". Added littler and then RStudio
Added wajig (apt frontend) and byobu, both via apt
Created ssh key, shipped it to server and github + gitlab
Cloned (not-public) ‘dotfiles’ repo and linked some dotfiles in
R 3.5.0 was released a few weeks ago. As it changes some (important) internals, packages installed with a previous version of R have to be rebuilt. This was known and expected, and we took several measured steps to get R binaries to everybody without breakage.
Core Distribution As usual, we packaged R 3.5.0 as soon as it was released – but only for the experimental distribution, awaiting a green light from the release masters to start the transition. A one-off repository [drr35](https://github.com/eddelbuettel/drr35) was created to provide R 3.5.0 binaries more immediately; this was used, e.g., by the r-baseRocker Project container / the official R Docker container which we also update after each release.
The actual transition was started last Friday, June 1, and concluded this Friday, June 8. Well over 600 packages have been rebuilt under R 3.5.0, and are now ready in the unstable distribution from which they should migrate to testing soon. The Rocker container r-base was also updated.
So if you use Debian unstable or testing, these are ready now (or will be soon once migrated to testing). This should include most Rocker containers built from Debian images.
Contributed CRAN Binaries Johannes also provided backports with a -cran35 suffix in his CRAN-mirrored Debian backport repositories, see the README.
Ubuntu
Core (Upcoming) Distribution Ubuntu, for the upcoming 18.10, has undertaken a similar transition. Few users access this release yet, so the next section may be more important.
Contributed CRAN and PPA Binaries Two new Launchpad PPA repositories were created as well. Given the rather large scope of thousands of packages, multiplied by several Ubuntu releases, this too took a moment but is now fully usable and should get mirrored to CRAN ‘soon’. It covers the most recent and still supported LTS releases as well as the current release 18.04.
One PPA contains base R and the recommended packages, RRutter3.5. This is source of the packages that will soon be available on CRAN. The second PPA (c2d4u3.5) contains over 3,500 packages mainly derived from CRAN Task Views. Details on updates can be found at Michael’s R Ubuntu Blog.
This can used for, e.g., Travis if you managed your own sources as Dirk’s r-travis does. We expect to use this relatively soon, possibly as an opt-in via a variable upon which run.sh selects the appropriate repository set. It will also be used for Rocker releases built based off Ubuntu.
In both cases, you may need to adjust the sources list for apt accordingly.
Others
There may also be ongoing efforts within Arch and other Debian-derived distributions, but we are not really aware of what is happening there. If you use those, and coordination is needed, please feel free to reach out via the the r-sig-debianlist.
Closing
In case of questions or concerns, please consider posting to the r-sig-debianlist.
The tenth (!!) annual annual R/Finance conference will take in Chicago on the UIC campus on June 1 and 2, 2018. Please see the call for papers below (or at the website) and consider submitting a paper.
We are once again very excited about our conference, thrilled about who we hope may agree to be our anniversary keynotes, and hope that many R / Finance users will not only join us in Chicago in June -- and also submit an exciting proposal.
So read on below, and see you in Chicago in June!
Call for Papers
R/Finance 2018: Applied Finance with R
June 1 and 2, 2018
University of Illinois at Chicago, IL, USA
The tenth annual R/Finance conference for applied finance using R will be held June 1 and 2, 2018 in Chicago, IL, USA at the University of Illinois at Chicago. The conference will cover topics including portfolio management, time series analysis, advanced risk tools, high-performance computing, market microstructure, and econometrics. All will be discussed within the context of using R as a primary tool for financial risk management, portfolio construction, and trading.
Over the past nine years, R/Finance has includedattendeesfrom around the world. It has featured presentations from prominent academics and practitioners, and we anticipate another exciting line-up for 2018.
We invite you to submit complete papers in pdf format for consideration. We will also consider one-page abstracts (in txt or pdf format) although more complete papers are preferred. We welcome submissions for both full talks and abbreviated "lightning talks." Both academic and practitioner proposals related to R are encouraged.
All slides will be made publicly available at conference time. Presenters are strongly encouraged to provide working R code to accompany the slides. Data sets should also be made public for the purposes of reproducibility (though we realize this may be limited due to contracts with data vendors). Preference may be given to presenters who have released R packages.
Please submit proposals online at http://go.uic.edu/rfinsubmit. Submissions will be reviewed and accepted on a rolling basis with a final submission deadline of February 2, 2018. Submitters will be notified via email by March 2, 2018 of acceptance, presentation length, and financial assistance (if requested).
Financial assistance for travel and accommodation may be available to presenters. Requests for financial assistance do not affect acceptance decisions. Requests should be made at the time of submission. Requests made after submission are much less likely to be fulfilled. Assistance will be granted at the discretion of the conference committee.
Additional details will be announced via the conference website at http://www.RinFinance.com/ as they become available. Information on previous years'presenters and their presentations are also at the conference website. We will make a separate announcement when registration opens.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
Last week, Josh sent the call for papers to the R-SIG-Finance list making everyone aware that we will have our nineth annual R/Finance conference in Chicago in May. Please see the call for paper (at the link, below, or at the website) and consider submitting a paper.
We are once again very excited about our conference, thrilled about upcoming keynotes and hope that many R / Finance users will not only join us in Chicago in May 2017 -- but also submit an exciting proposal.
We also overhauled the website, so please see R/Finance. It should render well and fast on devices of all sizes: phones, tablets, desktops with browsers in different resolutions. The program and registration details still correspond to last year's conference and will be updated in due course.
So read on below, and see you in Chicago in May!
Call for Papers
R/Finance 2017: Applied Finance with R
May 19 and 20, 2017
University of Illinois at Chicago, IL, USA
The ninth annual R/Finance conference for applied finance using R will be held on May 19 and 20, 2017 in Chicago, IL, USA at the University of Illinois at Chicago. The conference will cover topics including portfolio management, time series analysis, advanced risk tools, high-performance computing, market microstructure, and econometrics. All will be discussed within the context of using R as a primary tool for financial risk management, portfolio construction, and trading.
Over the past eight years, R/Finance has included attendees from around the world. It has featured presentations from prominent academics and practitioners, and we anticipate another exciting line-up for 2017.
We invite you to submit complete papers in pdf format for consideration. We will also consider one-page abstracts (in txt or pdf format) although more complete papers are preferred. We welcome submissions for both full talks and abbreviated "lightning talks." Both academic and practitioner proposals related to R are encouraged.
All slides will be made publicly available at conference time. Presenters are strongly encouraged to provide working R code to accompany the slides. Data sets should also be made public for the purposes of reproducibility (though we realize this may be limited due to contracts with data vendors). Preference may be given to presenters who have released R packages.
Financial assistance for travel and accommodation may be available to presenters, however requests must be made at the time of submission. Assistance will be granted at the discretion of the conference committee.
Submissions will be reviewed and accepted on a rolling basis with a final deadline of February 28, 2017. Submitters will be notified via email by March 31, 2017 of acceptance, presentation length, and financial assistance (if requested).
Additional details will be announced via the conference website as they become available. Information on previous years' presenters and their presentations are also at the conference website. We will make a separate announcement when registration opens.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
We are once again very excited about our conference, thrilled about upcoming keynotes (some of which are confirmed and some of which are in the works), and hope that many R / Finance users will not only join us in Chicago in May 2016 -- but also submit an exciting proposal.
So read on below, and see you in Chicago in May!
Call for Papers
R/Finance 2016: Applied Finance with R May 20 and 21, 2016 University of Illinois at Chicago, IL, USA
The eight annual R/Finance conference for applied finance using R will be held on May 20 and 21, 2016, in Chicago, IL, USA at the University of Illinois at Chicago. The conference will cover topics including portfolio management, time series analysis, advanced risk tools, high-performance computing, market microstructure, and econometrics. All will be discussed within the context of using R as a primary tool for financial risk management, portfolio construction, and trading.
Over the past seven years, R/Finance has included attendees from around the world. It has featured presentations from prominent academics and practitioners, and we anticipate another exciting line-up for 2016.
We invite you to submit complete papers in pdf format for consideration. We will also consider one-page abstracts (in txt or pdf format) although more complete papers are preferred. We welcome submissions for both full talks and abbreviated "lightning talks." Both academic and practitioner proposals related to R are encouraged.
All slides will be made publicly available at conference time. Presenters are strongly encouraged to provide working R code to accompany the slides. Data sets should also be made public for the purposes of reproducibility (though we realize this may be limited due to contracts with data vendors). Preference may be given to presenters who have released R packages.
The conference will award two (or more) $1000 prizes for best papers. A submission must be a full paper to be eligible for a best paper award. Extended abstracts, even if a full paper is provided by conference time, are not eligible for a best paper award. Financial assistance for travel and accommodation may be available to presenters, however requests must be made at the time of submission. Assistance will be granted at the discretion of the conference committee.
Please make your submission online at this link. The submission deadline is January 29, 2016. Submitters will be notified via email by February 29, 2016 of acceptance, presentation length, and financial assistance (if requested).
Additional details will be announced via the R/Finance conference website as they become available. Information on previous years' presenters and their presentations are also at the conference website.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson, Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
Hm, wasn't there a catchy tune that started that way? Just kidding.
But about twenty years ago today I sent this email about a new Debian package upload -- and that makes it (as best as I can tell) the earliest trace of me doing Debian work. It so happened that I did upload two packages in July of 1995 as well, but it was so early in the project that we did not have a mailing list archive for such things yet (!!). And I have a vague recollection that the two in July were an adoption---whereas the post referenced above announced efax as my first new package added to the distribution. And there were more to come ...
Anyway, thanks for all the fish! Twenty years with Debian has been a great, great ride. I learned a lot from a lot of fantastic people, and I hope I helped a few people along the way with a package or two I still maintain.
Debian remains a truly fabulous project which I hope will go strongly for another 20 (or even 22).
The annoucement below just went to the R-SIG-Finance list. More information is as usual at the R / Finance page.
Registration for R/Finance 2015 is now open!
The conference will take place on May 29 and 30, at UIC in Chicago. Building on the success of the previous conferences in 2009-2014, we expect more than 250 attendees from around the world. R users from industry, academia, and government will joining 30+ presenters covering all areas of finance with R.
We are very excited about the four keynote presentations given by Emanuel Derman, Louis Marascio, Alexander McNeil, and Rishi Narang. The conference agenda (currently) includes 18 full presentations and 19 shorter "lightning talks". As in previous years, several (optional) pre-conference seminars are offered on Friday morning.
There is also an (optional) conference dinner at The Terrace at Trump Hotel. Overlooking the Chicago river and skyline, it is a perfect venue to continue conversations while dining and drinking.
Attention: rant coming. You have been warned, and may want to tune out now.
So the top of my Twitter timeline just had a re-tweet posting to this marvel on the state of Julia. I should have known better than to glance at it as it comes from someone providing (as per the side-bar) Thought leadership in Big Data, systems architecture and more. Reading something like this violates the first rule of airport book stores: never touch anything from the business school section, especially on (wait for it) leadership or, worse yet, thought leadership.
But it is Sunday, my first cup of coffee still warm (after finalising two R package updates on GitHub, and one upload to CRAN) and so I read on. Only to be mildly appalled by the usual comparison to R based on the same old Fibonacci sequence.
Look, I am as guilty as anyone of using it (for example all over chapter one of my Rcpp book), but at least I try to stress each and every time that this is kicking R where it is down as its (fairly) poor performance on functions calls (that is well-known and documented) obviously gets aggravated by recursive calls. But hey, for the record, let me restate those results. So Julia beats R by a factor of 385. But let's take a closer look.
For n=25, I get R to take 241 milliseconds---as opposed to his 6905 milliseconds---simply by using the same function I use in every workshop, eg last used at Penn in November, which does not use the dreaded ifelse operator:
fibR <-function(n) {
if (n <2) return(n)
return(fibR(n-1) +fibR(n-2))
}
Switching that to the standard C++ three-liner using Rcpp
and running a standard benchmark suite gets us the usual result of
R>library(rbenchmark)
R>benchmark(fibR(25),fibCpp(25),order="relative")[,1:4]
test replications elapsed relative
2fibCpp(25) 1000.0481.0001fibR(25) 10024.674514.042
R>
So for the record as we need this later: that is 48 milliseconds for 100 replications, or about 0.48 milliseconds per run.
Now Julia. And of my standard Ubuntu server running the current release 14.10:
edd@max:~$ julia
ERROR: could not open file /home/edd//home/edd//etc/julia/juliarc.jl
in include at boot.jl:238
edd@max:~$
So wait, what? You guys can't even ensure a working release on what is probably the most popular and common Linux installation? And I get to that after reading a post on the importance of "Community, Community, Community" and you can't even make sure this works on Ubuntu? Really?
So a little bit of googling later, I see that julia -f is my friend for this flawed release, and I can try to replicate the original timing
edd@max:~$ julia -f
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "help()" to list help topics
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.2.1 (2014-02-11 06:30 UTC)
_/ |\__'_|_|_|\__'_| |
|__/ | x86_64-linux-gnu
julia> fib(n) = n < 2 ? n : fib(n - 1) + fib(n - 2)
fib (generic function with 1 method)
julia> @elapsed fib(25)
0.002299559
julia>
Interestingly the posts author claims 18 milliseconds. I see 2.3 milliseconds here. Maybe someone is having a hard time comparing things to the right of the decimal point. Or maybe his computer is an order of magnitude slower than mine. The more important thing is that Julia is of course faster than R (no surprise: LLVM at work) but also still a lot slower than a (trivial to write and deploy) C++ function. Nothing new here.
So let's recap. Comparison to R was based on a flawed version of a function we only use when we deliberately want to put R down, can be improved significantly when using a better implementation, results are still off by order of magnitude to what was reported ("math is hard"), and the standard C / C++ way of doing things is still several times faster than our new saviour language---which I can't even launch on the current version of one of the more common free operating systems. Ok then. Someone please wake me up in a few years and I will try again.
Now, coming to the end of the rant I should really stress that of course I too hope that Julia succeeds. Every user pulled away from Matlab is a win for all us. We're in this together and the endless navel gazing between ourselves is so tiresome and irrelevant. And as I argue here, even more so when we among ourselves stick to unfair comparisons as well as badly chosen implementation details.
What matters are wins against the likes of Matlab, Excel, SAS and so on. Let's build on our joint strength. I am sure I will use Julia one day, and I am grateful for everyone helping with it---as a lot of help seems to be needed. In the meantime, and with CRAN at 6130 packages that just work I'll continue to make use of this amazing community and trying my bit to help it grow and prosper. As part of our joint community.
What the world needs right now is yet another tutorial on R packages and their creation. Luckily, this last Friday and Saturday, I had the opportunity to present in a workshop organized by Frank DiTraglia at Penn's shiny new Warren Center, and held at Wharton.
Given the Warren Center's focus, the workshop centered around Big Data and Open Science with R. Yihui Xie and myself alternated on delivering four units on an Introduction to R, Writing R packages, Dynamic Documents with R, and HPC with Rcpp and RcppArmadillo.
So I had to come up with a plan for teaching creating R packages -- and decided to do it from the very bottom up, clearly introducing the underlying R CMD ... commands and only then switching to taking advantage of an environment such as the RStudio IDE.
The resulting slides are now available on my presentations page. The code examples are in a repo subdirectory on GitHub as well. While both were designed to support the parallel live instruction offered in the workshop, I would be interested in feedback (preferably via email) about how useful the slides are by themselves.
We are once again very excited about our conference, thrilled about the four confirmed keynotes, and hope that many R / Finance users will not only join us in Chicago in May 2015 -- but also submit an exciting proposal.
So read on below, and see you in Chicago in May!
Call for Papers:
R/Finance 2015: Applied Finance with R May 29 and 30, 2015 University of Illinois at Chicago, IL, USA
The seventh annual R/Finance conference for applied finance using R will be held on May 29 and 30, 2015 in Chicago, IL, USA at the University of Illinois at Chicago. The conference will cover topics including portfolio management, time series analysis, advanced risk tools, high-performance computing, market microstructure, and econometrics. All will be discussed within the context of using R as a primary tool for financial risk management, portfolio construction, and trading.
Over the past six years, R/Finance has included attendees from around the world. It has featured presentations from prominent academics and practitioners, and we anticipate another exciting line-up for 2015. This year will include invited keynote presentations by Emanuel Derman, Louis Marascio, Alexander McNeil, and Rishi Narang.
We invite you to submit complete papers in pdf format for consideration. We will also consider one-page abstracts (in txt or pdf format) although more complete papers are preferred. We welcome submissions for both full talks and abbreviated "lightning talks." Both academic and practitioner proposals related to R are encouraged.
All slides will be made publicly available at conference time. Presenters are strongly encouraged to provide working R code to accompany the slides. Data sets should also be made public for the purposes of reproducibility (though we realize this may be limited due to contracts with data vendors). Preference may be given to presenters who have released R packages.
The conference will award two (or more) $1000 prizes for best papers. A submission must be a full paper to be eligible for a best paper award. Extended abstracts, even if a full paper is provided by conference time, are not eligible for a best paper award. Financial assistance for travel and accommodation may be available to presenters, however requests must be made at the time of submission. Assistance will be granted at the discretion of the conference committee.
Please make your submission online at this link. The submission deadline is January 31, 2015. Submitters will be notified via email by February 28, 2015 of acceptance, presentation length, and financial assistance (if requested).
Additional details will be announced via the R/Finance conference website as they become available. Information on previous years' presenters and their presentations are also at the conference website.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson, Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
On Friday October 31, 2014, and Saturday November 1, 2014, around thirty-five graduate students and faculty members attended a Software Carpentry workshop. Attendees came primarily from the Economics department and the Kellogg School of Management, which was also the host and sponsor providing an excellent venue with the Allen Center on the (main) Evanston campus of Northwestern University.
The focus of the two-day workshop was an introduction, and practical initiation, to working effectively at the shell, getting introduced and familiar with the git revision control system, as well as a thorough introduction to working and programming in R---from the basics all the way to advanced graphing as well as creating reproducible research documents.
The idea of the workshop had come out of discussion during our R/Finance 2014 conference. Bob McDonald of Northwestern, one of this year's keynote speakers, and I were discussing various topic related to open source and good programming practice --- as well as the lack of a thorough introduction to either for graduate students and researcher. And once I mentioned and explained Software Carpentry, Bob was rather intrigued. And just a few months later we were hosting a workshop (along with outstanding support from Jackie Milhans from Research Computing at Northwestern).
We were extremely fortunate in that Karthik Ram and Ramnath Vaidyanathan were able to come to Chicago and act as lead instructors, giving me an opportunity to get my feet wet. The workshop began with a session on shell and automation, which was followed by three session focusing on R: a core introduction, a session focused on function, and to end the day, a session on the split-apply-combine approach to data transformation and analysis.
The second day started with two concentrated session on git and the git workflow. In the afternoon, one session on visualization with R as well as a capstone-alike session on reproducible research rounded out the second day.
Things that worked
The experience of the instructors showed, as the material was presented and an effective manner. The selection of topics, as well as the pace were seen by most students to be appropriate and just right. Karthik and Ramnath both did an outstanding job.
No students experienced any real difficulties installing software, or using the supplied information. Participants were roughly split between Windows and OS X laptops, and had generally no problem with bash, git, or R via RStudio.
The overall Software Carpentry setup, the lesson layout, the focus on hands-on exercises along with instruction, the use of the electronic noteboard provided by etherpad and, of course, the tried-and-tested material worked very well.
Things that could have worked better
Even more breaks for exercises could have been added. Students had difficulty staying on pace in some of the exercise: once someone fell behind even for a small error (maybe a typo) it was sometimes hard to catch up. That is a general problem for hands-on classes. I feel I could have done better with the scope of my two session.
Even more cohesion among the topics could have been achieved via a single continually used example dataset and analysis.
Acknowledgments
Robert McDonald from Kellogg, and Jackie Milhans from Research Computing IT, were superb hosts and organizers. Their help in preparing for the workshop was tremendous, and the pick of venue was excellent, and allowed for a stress-free two days of classes. We could not have done this without Karthik and Ramnath, so a very big Thank You to both of them. Last but not least the Software Carpentry 'head office' was always ready to help Bob, Jackie and myself during the earlier planning stage, so another big Thank You! to Greg and Arliss.
The annoucement below just went to the R-SIG-Finance list.
More information is as usual at the R / Finance page:
Now open for registrations:
R / Finance 2014: Applied Finance with R
May 16 and 17, 2014
Chicago, IL, USA
The registration for R/Finance 2014
-- which will take place May 16 and 17 in Chicago -- is now open!
Building on the success of the previous conferences in 2009, 2010, 2011,
2012 and 2013, we expect around 300 attendees from around the world. R
users from industry, academia, and government will joining 30+ presenters
covering all areas of finance with R.
We are very excited about the four keynotes by
Bill Cleveland,
Alexios Ghalanos,
Bob McDonald and
Luke Tierney.
The main agenda (currently) includes sixteen
full presentations and twenty-one shorter "lightning talks". We are also
excited to offer four optional pre-conference seminars on Friday morning.
To celebrate the sixth year of the conference in style, the dinner will be
returning to The Terrace of the Trump Hotel. Overlooking the Chicago River and
skyline, it is a perfect venue to continue conversations while dining and
drinking.
More details of the agenda are available at:
Earlier this year the blog had its tenth anniversary. I had meant to
celebrate the occassion by revamping the site and blog a little.
Having set up the
updated R/Finance site,
the Rcpp Gallery and
Rcpp sites as well as the much-needed overhaul
of the html side of the
CRANberries RSS feed (which
also integrates it with the static blog compiler I use),
I figured I just needed a little time to get this done. Well, eight months
later we're there. It still uses
Twitter Bootstrap for layout, and
a slightly modified Bootswatch theme.
Comments welcome, and please let me know if links are missing or going
nowhere in places.
The fifth internation R/Finance
conference was held last weekend. As one of the founding co-organizers, I may well be
accussed of a little bias, but we think we once again pulled off a very nice and
successful weekend-long event. Participants had kind words to say during
the conference, and a few first posts have appeared such as
Joe Rickert's post over at the REvo blog.
Some participants, myself included, had already posted on their personal
websites (though had forgotten to mention it here). In any event, I just
updated the website with
links to the pdf (or ppt) slides of all presenters
who shared their material with us. Supplemental material may be made
available too at a later date.
We hope you find these slides useful. Please do spread the word about the
R/Finance conference as we expect to
have a sixth edition in May 2014---and we do look forward to receiving even
more outstanding submissions. Dates, details, call for papers, etc will be
forthcoming over the next few months.
The annoucement below just went to the R-SIG-Finance list.
More information is as usual at the R / Finance page:
Now open for registrations:
R / Finance 2013: Applied Finance with R
May 17 and 18, 2013
Chicago, IL, USA
The registration for R/Finance 2013 -- which will take place May 17 and 18
in Chicago -- is NOW OPEN!
Building on the success of the previous conferences in 2009, 2010, 2011
and 2012, we expect more than 250 attendees from around the world. R
users from industry, academia, and government will joining 30+ presenters
covering all areas of finance with R.
We are very excited about the four keynotes by Sanjiv Das, Attilio Meucci,
Ryan Sheftel and Ruey Tsay. The main agenda (currently) includes
seventeen full presentations and fifteen shorter "lightning talks".
We are also excited to offer five optional pre-conference seminars on
Friday morning.
To celebrate the fifth year of the conference in style, the dinner
will be held at The Terrace of the Trump Hotel. Overlooking the
Chicago river and skyline, it is a perfect venue to continue
conversations while dining and drinking.
R/Finance 2013: Applied Finance with R
May 17 and 18, 2013
University of Illinois, Chicago, IL, USA
The fifth annual R/Finance conference for applied finance using R will be held on May 17 and 18, 2013 in
Chicago, IL, USA at the University of Illinois
at Chicago. The conference is expected to cover topics including
portfolio management, time series analysis, advanced risk tools,
high-performance computing, market microstructure, and econometrics. All will
be discussed within the context of using R as a primary tool for financial
risk management, portfolio construction, and trading.
Over the past four years, R/Finance has included attendees from around the
world. It featured presentations from prominent academics and practitioners,
and we anticipate another exciting line-up for 2013.
We invite you to submit complete papers in pdf format for consideration. We
will also consider one-page abstracts (in txt or pdf format) although more
complete papers are preferred. We welcome submissions for full talks and
abbreviated "lightning talks". Both academic and practitioner proposals
related to R are encouraged.
Presenters are strongly encouraged to provide working R code to accompany the
presentation/paper. Data sets should also be made public for the purposes of
reproducibility (though we realize this may be limited due to contracts with
data vendors). Preference may be given to presenters who have released R
packages.
The conference will award two (or more) $1000 prizes for best papers. A
submission must be a full paper to be eligible for a best paper
award. Extended abstracts, even if a full paper is provided by conference
time, are not eligible for a best paper award. Financial assistance for
travel and accommodation may be available to presenters at the discretion of
the conference committee. Requests for assistance should be made at the time
of submission.
Please send submissions to: committee at RinFinance.com.
The submission deadline is February 15, 2013. Submitters will be notified of acceptance via
email by February 28, 2013. Notification of whether a presentation will be a
long presentation or a lightning talk will also be made at that time.
Additional details will be announced at this website as they become
available. Information on previous year's presenters and
their presentations are also at the
conference website.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
The annoucement below just went to the R-SIG-Finance list.
More information is as usual the the R / Finance page:
Now open for registrations:
R / Finance 2012: Applied Finance with R
May 11 and 12, 2012
Chicago, IL, USA
The registration for R/Finance 2012 -- which will take place May 11 and 12
in Chicago -- is NOW OPEN!
Building on the success of the three previous conferences in 2009, 2010,
and 2011, we expect more than 250 attendees from around the world. R
users from industry, academia, and government will join 40+ presenters
covering all areas of finance with R.
This year's conference will start earlier in the day on Friday, to
accommodate the tremendous line up of speakers for 2012, as well as to
provide more time between talks for networking.
We are very excited about the four keynotes by Paul Gilbert, Blair
Hull, Rob McCulloch, and Simon Urbanek. The main agenda includes
nineteen full presentations and eighteen shorter "lightning talks".
We are also excited to offer six optional pre-conference seminars on
Friday morning.
Once again, we are hosting the R/Finance conference dinner on Friday
evening, where you can continue conversations while dining and
drinking atop a West Loop restaurant overlooking the Chicago skyline.
R/Finance 2012: Applied Finance with R
May 11 and 12, 2012
University of Illinois, Chicago, IL, USA
The fourth annual R/Finance conference for applied finance using
R
will be held on May 11 and 12, 2012 in Chicago, IL, USA on the campus of
the University of Illinois at Chicago.
The two-day conference will cover topics including portfolio management, time series
analysis, advanced risk tools, high-performance computing, market
microstructure, and econometrics. All will be discussed within
the context of using R as a primary tool for financial risk
management, portfolio construction, and trading.
Over the past three years, R/Finance has included attendees from around the
world and featured keynote presentations from prominent academics
and practitioners. We anticipate another exciting line-up for
2012 --- including keynote presentations from Blair Hull, Paul
Gilbert, Rob McCulloch, and Simon Urbanek.
We invite you to submit complete papers or one-page abstracts (in
txt or pdf format) for consideration. Academic and practitioner
proposals related to R are encouraged. We welcome submissions for
full talks, abbreviated "lightning talks", and for a limited
number of (longer) pre-conference seminar sessions.
Presenters are strongly encouraged to provide working R code to accompany the
presentation/paper. Data sets should also be made public for the
purposes of reproducibility (though we realize this may be
limited due to contracts with data vendors). Preference may be
given to presenters who have released R packages.
Travel and accommodation grants may be available for selected
presenters at the discretion of the committee. In addition, the
conference will award prizes for best papers. To be eligible for
a best paper award, a submission must be a full paper. Extended
abstracts, even if a full paper by conference time, are not
eligible for a best paper award.
The submission deadline is January 31, 2012. Submitters will be notified of
acceptance via email by February 28, 2012. Notification of whether a
presentation will be a long presentation or a lightning talk will also be
made at that time.
Additional details will be announced at this website as they become
available. Information on previous year's presenters and
their presentations are also at the conference website
R/Finance 2009,
2010 and
2011.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
So see you in Chicago in May!
Update: Corrected urls to past conference thanks to
heads-up by Josh. Thanks!
I just sent the text below to the
r-sig-finance list:
The organizing committee for the R/Finance 2011 conference is pleased to
announce the availability of presentation slides from the 3rd annual
R/Finance conference. This year's two-day conference once again attracted
over 200 participants from across the globe. Academics, students and industry
professionals enjoyed almost 30 talks covering trading, optimization, risk
management and more --- all using R!
The majority of these presentations are now available for download at:
This year we began offering prizes for the best paper submissions. The 2011
recipients are Robert Gramacy (University of Chicago) and David Matteson
(Cornell University) who each won USD 1000. Also new was a graduate student
travel award: Mikko Niemenmaa (Aalto University) and Clément Dunand-Châtellet
(École Polytechnique) each received USD 500.
With this, the organizing committee would like to thank our lead conference
sponsors, the International Center for Futures and Derivatives at UIC and
Revolution Analytics, as well as our conference sponsors OneMarketData,
RStudio and Lemnica for their continued support.
The organising committee would also like to thank all of the presenters and
participants for making R/Finance 2011 so successful. We look forward to
seeing you in 2012, with the prospective dates of May 17 - 19 to be
confirmed.
For the organizing committee,
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
R 2.13.0 will be released tomorrow.
It contains a new package by R Core member
Luke Tierney: compiler. What
a simple and straightforward name, and something that Luke has been working
on for several years. The NEWS file says
o Package compiler is now provided as a standard package. See
?compiler::compile for information on how to use the compiler.
This package implements a byte code compiler for R: by default
the compiler is not used in this release. See the 'R
Installation and Administration Manual' for how to compile the
base and recommended packages.
so the compiler is not yet used for R's own base and recommended packages.
While working on my slides for the upcoming
Rcpp workshop preceding R/Finance 2011,
I thought of a nice test example to illustrate the compiler. Last summer and fall,
Radford Neal had sent a very nice, long and detailed list of possible patches for R
performance improvements to the development list. Some patches were integrated and some more discussion ensued. One strand was on the
difference in parsing between normal parens and curly braces. In isolation, these seem too large,
but (as I recall) this is due some things 'deep down' in the parser.
However, some folks really harped on this topic. And it just doesn't die as a
post from last week
demonstrated once more.
Last year, Christian Robert had whittled it down
to a set of functions, and I made a somewhat sarcastic post argueing that I'd rather
use Rcpp to get 80-fold speed increase
than spend my time argueing over ten percent changes in code that could be made faster so easily.
So let us now examine what the compiler package can do for us. The starting point is the same as last year: five variants
of computing 1/(1+x) for a scalar x inside an explicit for loop. Real code would never do it this way as vectorisation comes
to the rescue. But for (Christian's) argument's sake, it is useful to highlight differences in the parser. We once again use
the nice rbenchmark package to run, time and summarise alternatives:
>## cf http://dirk.eddelbuettel.com/blog/2010/09/07#straight_curly_or_compiled> f <-function(n, x=1)for(i in1:n) x=1/(1+x)> g <-function(n, x=1)for(i in1:n) x=(1/(1+x))> h <-function(n, x=1)for(i in1:n) x=(1+x)^(-1)> j <-function(n, x=1)for(i in1:n) x={1/{1+x}}> k <-function(n, x=1)for(i in1:n) x=1/{1+x}>## now load some tools>library(rbenchmark)>## now run the benchmark> N <-1e6
> benchmark(f(N,1), g(N,1), h(N,1), j(N,1), k(N,1),+ columns=c("test","replications",+"elapsed","relative"),+order="relative",replications=10)
test replications elapsed relative
5 k(N,1)10 9.764 1.000001 f(N,1)10 9.998 1.023974 j(N,1)10 11.019 1.128532 g(N,1)10 11.822 1.210773 h(N,1)10 14.560 1.49119
This replicates Christian's result. We find that function k() is the fastest using curlies, and that explicit exponentiation in
function h() is the slowest with a relative penalty of 49%, or an absolute difference of almost five seconds between the 9.7
for the winner and 14.6 for the worst variant. On the other hand, function f(), the normal way of writing things, does pretty
well.
So what happens when we throw the compiler into the mix? Let's first create compiled variants using the new cmpfun() function and then try again:
>## R 2.13.0 brings this toy>library(compiler)> lf <- cmpfun(f)> lg <- cmpfun(g)>lh<- cmpfun(h)> lj <- cmpfun(j)> lk <- cmpfun(k)># now run the benchmark> N <-1e6
> benchmark(f(N,1), g(N,1), h(N,1), j(N,1), k(N,1),+ lf(N,1), lg(N,1),lh(N,1), lj(N,1), lk(N,1),+ columns=c("test","replications",+"elapsed","relative"),+order="relative",replications=10)
test replications elapsed relative
9 lj(N,1)10 2.971 1.0000010 lk(N,1)10 2.980 1.003036 lf(N,1)10 2.998 1.009097 lg(N,1)10 3.007 1.012128lh(N,1)10 4.024 1.354431 f(N,1)10 9.479 3.190515 k(N,1)10 9.526 3.206334 j(N,1)10 10.775 3.626732 g(N,1)10 11.299 3.803103 h(N,1)10 14.049 4.72871
Now things have gotten interesting and substantially faster, for very little cost. Usage is straightforward: take your function and compile
it, and reap more than a threefold speed gain. Not bad at all. Also of note, the difference between the different expressions essentially
vanishes. The explicit exponentiation is still the loser, but there may be an additional explicit function call involved.
So we do see the new compiler as a potentially very useful addition. I am sure more folks will jump on this and run more
tests to find clearer corner cases. To finish, we have to of course once more go back to
Rcpp for some real gains, and some comparison between compiled
and byte code compiled code.
>## now with Rcpp and C++>library(inline)>## and define our version in C++> src <-'int n = as<int>(ns);+ double x = as<double>(xs);+ for (int i=0; i<n; i++) x=1/(1+x);+ return wrap(x); '> l <- cxxfunction(signature(ns="integer",+ xs="numeric"),+body=src, plugin="Rcpp")>## now run the benchmark again> benchmark(f(N,1), g(N,1), h(N,1), j(N,1), k(N,1),+ l(N,1),+ lf(N,1), lg(N,1),lh(N,1), lj(N,1), lk(N,1),+ columns=c("test","replications",+"elapsed","relative"),+order="relative",replications=10)
test replications elapsed relative
6 l(N,1)10 0.120 1.000011 lk(N,1)10 2.961 24.67507 lf(N,1)10 3.128 26.06678 lg(N,1)10 3.140 26.166710 lj(N,1)10 3.161 26.34179lh(N,1)10 4.212 35.10005 k(N,1)10 9.500 79.16671 f(N,1)10 9.621 80.17504 j(N,1)10 10.868 90.56672 g(N,1)10 11.409 95.07503 h(N,1)10 14.077 117.3083
Rcpp still shoots the lights out by a factor of 80 (or even almost 120 to the
worst manual implementation) relative to interpreted code. Relative to the compiled byte code, the speed difference is about 25-fold. Now,
these are of course entirely unrealistic code examples that are in no way, shape or form representative of real R work. Effective speed
gains will be smaller for both the (pretty exciting new) compiler package and also for our C++ integration package
Rcpp.
Before I close, two more public service announcements. First, if you use Ubuntu see
this post by Michael on r-sig-debian
announcing his implementation of a suggestion of mine: we now have R alpha/beta/rc builds via his Launchpad PPA. Last Friday, I had the
current R-rc snapshot of R 2.13.0 on my Ubuntu box only about six hours after I (as Debian maintainer for R) uploaded the underlying new
R-rc package build to Debian unstable. This will be nice for testing of upcoming releases. Second, as I mentioned, the
Rcpp workshop
on April 28 preceding
R/Finance 2011 on April 29 and 30 still has a few slots
available, as has the conference itself.
One week ago, I sent the updated announcement below to the
r-sig-finance list;
this was kindly blogged about by fellow committee member
Josh
and by our pal
Dave @ REvo.
By now. I also updated the
R / Finance conference website.
So to round things off, a quick post here is in order as well. It may even get a
few of the esteemed reader to make a New Year's resolution about submitting a
paper :)
Dear R / Finance community,
The preparations for
R/Finance 2011 are progressing, and due to favourable
responses from the different sponsors we contacted, we are now able to offer
a competition for best paper, which given the focus of the conference
will award for both an 'academic' paper and an 'industry' paper
availability of travel grants for up to two graduate students provided
suitable papers were accepted for presentations
More details are below in the updated Call for Papers. Please feel free to
re-circulate this Call for Papers with collegues, students and other
associations.
Cheers, and Season's Greeting,
Dirk (on behalf of the organizing / program committee)
Call for Papers:
R/Finance 2011: Applied Finance with R
April 29 and 30, 2011Chicago, IL, USA
The third annual R/Finance
conference for applied finance using R will be
held this spring in Chicago, IL, USA on April 29 and 30, 2011. The two-day
conference will cover topics including portfolio management, time series
analysis, advanced risk tools, high-performance computing, market
microstructure and econometrics. All will be discussed within the context of
using R as a primary tool for financial risk management, portfolio
construction, and trading.
Complete papers or one-page abstracts (in txt or pdf format) are invited to
be submitted for consideration. Academic and practitioner proposals related
to R are encouraged. We welcome submissions for full talks, abbreviated
lightning talks, and for a limited number of pre-conference (longer)
seminar sessions.
Presenters are strongly encouraged to provide working R code to accompany the
presentation/paper. Data sets should also be made public for the purposes of
reproducibility (though we realize this may be limited due to contracts with
data vendors). Preference may be given to presenters who have released R
packages.
The conference will award two $1000 prizes for best paper: one for best
practitioner-oriented paper and one for best academic-oriented paper.
Further, to defray costs for graduate students, two travel and expense grants
of up to $500 each will be awarded to graduate students whose papers are
accepted. To be eligible, a submission must be a full paper; extended
abstracts are not eligible.
Please send submissions to: committee at RinFinance.com
The submission deadline is February 15th, 2011. Early submissions may
receive early acceptance and scheduling. The graduate student grant winners
will be notified by February 23rd, 2011.
Submissions will be evaluated and submitters notified via email on a rolling
basis. Determination of whether a presentation will be a long presentation or
a lightning talk will be made once the full list of presenters is known.
R/Finance
2009
and
2010
included attendees from around the world and featured
keynote presentations from prominent academics and practitioners. 2009-2010
presenters names and presentations are online at the conference website. We
anticipate another exciting line-up for 2011---including keynote
presentations from
John Bollinger,
Mebane Faber,
Stefano Iacus, and
Louis Kates.
Additional details will be announced via the
conference website
as they become available.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
We had another meeting of the
Chicago R User Group
last evening. This was scheduled somewhat belatedly once we learned
that Drew Conway would be in town.
Drew gave a very nice talk about his brand new
infochimps
package (for accessing the eponymous
infochimps data service and marketplace). Slides are
available on Drew's blog.
In fact, he had already blogged about his talk before I had even started
to write my slides...
The user group meetings have a meme of showing how to use
R
with different editors, UIs, IDEs,... It started with a presentation on
Eclipse and its
StatET plugin. So a while
ago I had offered to present on ESS, the wonderful
Emacs mode for R (and as well as SAS, Stata, BUGS, JAGS, ...). And now I owe a big
thanks to the ESS Core team for keeping all their documentation, talks,
papers etc in their SVN archive,
and particularly to Stephen Eglen
for putting the source code to Tony Rossini's tutorial from
useR! 2006 in Vienna
there. This allowed me to quickly whip up
a few slides
though a good part of the presentation did involve a live demo missing from
the slides. Again, big thanks to Tony for the old slides and to Stephen for
making them accessible when I mentioned the idea of this talk a while back --
it allowed to put this together on short notice.
And for those going to
useR! 2011 in
Warwick next summer,
Stephen will present a
full three-hour
ESS tutorial
which will cover
ESS in much more detail.
Last Friday, Romain and I
were guests of the R intergrouplet (what an adorable name!) at
Google's headquarter in Mountain View. This arose out of discussions following
useR! 2010
where we met Google's Murray Stokely. There appears to be ever increasing use of
R at Google, and so it was a
great opportunity to give a Google Tech Talk about R and
C++ integration --- centered around our
Rcpp,
RInside and
RProtoBuf packages which facilitate
interoperability between R and C++.
The remainder of the weekend was nice too (with the notably exception of the extremly sucky
weather). We got to to spend some time at the
Google Summer of Code Mentor Summit which is always a fun
event and a great way to meet other open source folks in person. And we also took one
afternoon off to spend some with John Chambers discussing further work involving
Rcpp and the new ReferenceClasses that
appeared in the just-released R version 2.12.0. This should be a nice avenue to
further integrate R and C++ in the near future.
R/Finance 2011: Applied Finance with R
April 29 and 30, 2011
Chicago, IL, USA
The third annual R/Finance conference for applied finance using R will be
held this spring in Chicago, IL, USA on April 29 and 30, 2011. The two-day
conference will cover topics including portfolio management, time series
analysis, advanced risk tools, high-performance computing, market
microstructure and econometrics. All will be discussed within the context of
using R as a primary tool for financial risk management, portfolio
construction, and trading.
One-page abstracts or complete papers (in txt or pdf format) are invited to
be submitted for consideration. Academic and practitioner proposals related
to R are encouraged. We welcome submissions for full talks, abbreviated
"lightning talks", and for a limited number of pre-conference (longer)
seminar sessions.
Presenters are strongly encouraged to provide working R code to accompany the
presentation/paper. Data sets should also be made public for the purposes of
reproducibility (though we realize this may be limited due to contracts with
data vendors). Preference may be given to presenters who have released R
packages.
The submission deadline is February 15th, 2011. Early submissions may receive
early acceptance and scheduling.
Submissions will be evaluated and submitters notified via email on a rolling
basis. Determination of whether a presentation will be a long presentation or
a lightning talk will be made once the full list of presenters is known.
R/Finance
2009 and
2010
included attendees from around the world and featured
keynote presentations from prominent academics and practitioners. 2009-2010
presenters names and presentations are online at the conference website. We
anticipate another exciting line-up for 2011 including keynote presentations
from John Bollinger, Mebane Faber, Stefano Iacus, and Louis Kates. Additional
details will be announced via the conference website
as they become available.
For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
As this year's admin, I wrote up the following summary which has now been
posted at the R site in the appropriate slot. My thanks to
this year's students, fellow mentors and everybody else who helped to make it
happen.
Based on
ideas collected and disussed on the R Wiki,
the projects and students listed below (and sorted alphabetically by student) were selected for participation and have been
sponsored by Google during the summer 2010.
The finished projects are available via the
R / GSoC 2010 repository at Google Code, and in
several cases also via their individual repos (see below).
Informal updates and final summaries on the work was also provided via the
GSoC 2010 R group blog.
rdx - Automatic Differentiation in R
Chidambaram Annamalai, mentored by John Nash.
Proposal:
radx is a package to compute derivatives (of any order) of native R code for multivariate functions with vector outputs,
f:R^m -> R^n, through Automatic Differentiation (AD). Numerical evaluation of derivatives has widespread uses in many
fields. rdx will implement two modes for the computation of derivatives, the Forward and Reverse modes of AD, combining
which we can efficiently compute Jacobians and Hessians. Higher order derivatives will be evaluated through Univariate
Taylor Propagation.
Proposal:
R puts the latest statistical techniques at one's fingertips through thousands of add-on packages available on the CRAN download
servers. The price for all of this power is complexity. Deducer is a cross-platform cross-console graphical user interface built
on top of R designed to reduce this complexity.
This project proposes to extend the scope of Deducer by creating an innovative yet intuitive system for generating statistical
graphics based on the ggplot2 package.
Delivered:
All of the major features have been implemented, and are outlined in the video links in this
blog post.
rgeos - an R wrapper for GEOS
by Colin Rundel, mentored by Roger Bivand.
Proposal:
At present there does not exist a robust geometry engine available to R, the tools that are available tend to be limited in
scope and do not easily integrate with existing spatial analysis tools. GEOS is a powerful open source geometry engine
written in C++ that implements spatial functions and operators from the OpenGIS Simple Features for SQL specification. rgeos
will make these tools available within R and will integrate with existing spatial data tools through the sp package.
by Felix Schoenbrodt, mentored by Stefan Schmukle.
Proposal:
Social Relations Analyses (SRAs; Kenny, 1994) are a hot topic both in personality and in social psychology. While more and
more research groups adopt the methodology, software solutions are lacking far behind - the main software for calculating
SRAs are two DOS programs from 1995, which have a lot of restrictions. My GSOC project will extend the functionality of
these existing programs and bring the power of SRAs into the R Environment for Statistical Computing as a state-of-the-art
package.
by Yasuhisa Yoshida, mentored by Dirk Eddelbuettel.
Proposal:
So-called NoSQL databases are becoming increasingly popular. They generally provide very efficient lookup of key/value pairs. I'll
provide several implementation of NoSQL interface for R. Beyond a sample interface package, I'll try to support generic
interface similar to what the DBI package does for SQL backends
Status:
An initial prototype is available via RTokyoCabinet on Github.
No updates were made since June; no communication occurred with anybody
related to the GSoC project since June and the project earned a fail.
Now, let me prefix this by saying that I really enjoyed Radford's posts. He obviously put a lot of time into finding a number of (all somewhat
small in isolation) inefficiencies in R which, when taken together, can make a difference in
performance. I already spotted one commit by Duncan in the SVN logs for R so this is being looked at.
Yet Christian, on the other hand, goes a little overboard in bemoaning performance differences somewhere between ten and fifteen percent -- the
difference between curly and straight braces (as noticed in Radford's first post). Maybe he spent too much time waiting for his MCMC runs to
finish to realize the obvious: compiled code is evidently much faster.
And before everybody goes and moans and groans that that is hard, allow me to just interject and note that it is not. It really
doesn't have to be. Here is a quick
cleaned up version of Christian's example code, with proper assigment operators and a second variable x. We then get to the
meat and potatoes and load our
Rcpp package as well as
inline to define the same little test function in C++. Throw in
rbenchmark which I am becoming increasingly fond of for these little timing tests,
et voila, we have ourselves a horserace:
# Xian's code, using <- for assignments and passing x down
f <-function(n, x=1)for(i in1:n) x=1/(1+x)
g <-function(n, x=1)for(i in1:n) x=(1/(1+x))
h <-function(n, x=1)for(i in1:n) x=(1+x)^(-1)
j <-function(n, x=1)for(i in1:n) x={1/{1+x}}
k <-function(n, x=1)for(i in1:n) x=1/{1+x}# now load some toolslibrary(Rcpp)library(inline)# and define our version in C++
l <- cxxfunction(signature(ns="integer", xs="numeric"),'int n = as<int>(ns); double x=as<double>(xs); for (int i=0; i<n; i++) x=1/(1+x); return wrap(x); ',
plugin="Rcpp")# more toolslibrary(rbenchmark)# now run the benchmark
N <-1e6
benchmark(f(N,1), g(N,1), h(N,1), j(N,1), k(N,1), l(N,1),
columns=c("test","replications","elapsed","relative"),order="relative",replications=10)
And how does it do? Well, glad you asked. On my i7, which the other three cores standing around and watching, we get an
eighty-fold increase relative to the best interpreted version:
So do we really want to spend time arguing about the ten and fifteen percent differences? Moore's law gets you
those gains in a couple of weeks anyway. I'd much rather have a conversation about how we can get people speed increases that are orders of
magnitude, not fractions. Rcpp is one such tool. Let's get more of them.
This past week, the annual R user conference
useR! 2010 took place at the
National Institute of Standards and Technology (NIST) in Gaithersburg, MD
(which is a tad northwest of Washington, DC).
Kate Mullen and her team of local organizers did a truly tremendous job in putting
together a very smooth conference attended by almost 500 people. It is
always nice to meet so many other R contributors and users in person. And
needless to say it's also just plain fun to hang out with these folks.
As at the preceding
useR! 2008 in Dortmund and
useR! 2009 in Rennes, I presented a three-hour
tutorial on high-performance computing with R. This covers
scripting/automation, profiling, vectorisation, interfacing compiled code,
parallel computing and large-memory approaches. The slides, as well as a condensed 2-up version, are now on my
presentations
page.
On Wednesday, Romain and I had a chance
to talk about recent work on Rcpp,
our R and C++ integration. Thursday, we followed up with a presentation on
RProtoBuf --
a project integrating Google's
Protocol Buffers with R which much to our
delight already seems to be in use at Google itself! It was quite fun to do
these two talks jointly with Romain. But my other coauthor Khanh had to be at a
conference related to his actual PhD work. So on Friday it was just me to give
a presentation about
RQuantLib
which brings QuantLib to R.
Slides from all these talks have now been added to my presentations
page. I will also upload them via the conference form so that they can be part
of the conference's collection of presentations which should be forthcoming.
On Friday, I also gave an informal lecture / tutorial / workshop to some of the
Stats and Finance Ph.D. students, drawing largely from the section on
parallel computing of the most recent
Introduction to High-Performance Computing with R tutorial.
My sincere thanks to Kurt Hornik and Stefan Theussl for the invite -- it was
a great trip, notwithstanding the mostly unseasonally cold and wet weather.
A few hours ago, I sent the following to both the R development list and the informal R / GSoC list:
Date: Mon, 26 Apr 2010 15:27:29 -0500
To: R Development List
CC: gsoc-r
Subject: R and the Google Summer of Code 2010 -- Please welcome our new students!
From: Dirk Eddelbuettel
Earlier today Google finalised student / mentor pairings and allocations for
the Google Summer of Code 2010 (GSoC 2010). The R Project is happy to
announce that the following students have been accepted:
Colin Rundel, "rgeos - an R wrapper for GEOS", mentored by Roger Bivand of
the Norges Handelshoyskole, Norway
Ian Fellows, "A GUI for Graphics using ggplot2 and Deducer", mentored by
Hadley Wickham of Rice University, USA
Chidambaram Annamalai, "rdx - Automatic Differentiation in R", mentored by
John Nash of University of Ottawa, Canada
Yasuhisa Yoshida, "NoSQL interface for R", mentored by Dirk Eddelbuettel,
Chicago, USA
Felix Schoenbrodt, "Social Relations Analyses in R", mentored by Stefan
Schmukle, Universitaet Muenster, Germany
Details about all proposals are on the R Wiki page for the GSoC 2010 at
http://rwiki.sciviews.org/doku.php?id=developers:projects:gsoc2010
The R Project is honoured to have received its highest number of student
allocations yet, and looks forward to an exciting Summer of Code. Please
join me in welcoming our new students.
At this time, I would also like to thank all the other students who have
applied for working with R in this Summer of Code. With a limited number of
available slots, not all proposals can be accepted -- but I hope that those
not lucky enough to have been granted a slot will continue to work with R and
towards making contributions within the R world.
I would also like to express my thanks to all other mentors who provided for
a record number of proposals. Without mentors and their project ideas we
would not have a Summer of Code -- so hopefully we will see you again next
year.
Regards,
Dirk (acting as R/GSoC 2010 admin)
Last Friday and Saturday the second R / Finance
conference took place in Chicago on the
UIC campus.
As a co-organizer, it was a great pleasure to see so many users of R in Finance---from both industry and academia---come to
Chicago to discuss and share recent work. There is a lot going on, and it is always good to exchange ideas with others sharing the same
infrastructure. Participants appeared to enjoy the conference. My thanks to everybody who helped to put it together, from the
local committee to the helping hands at UIC and of course the sponsors.
The only truly sour note is the fact that several presenters from Europe had their travels schedules turned
upside down by the disruption to international air travel caused by the Icelandic volcano eruption and the resulting ash clouds.
While we are glad to have had them for a little longer in Chicago, we understand that they are getting eager to return home. I
hope this extended stay in the Windy City does not take away from the overall usefulness of the trip.
Thanks to the efforts of the tireless R User Group organizers Szilard Pafka (in Los Angeles, recording
the talk) and Drew Conway (in New York, converting and organising hosting), there is now
a video and slide combo of my recent
talk
about Rcpp and RInside at UCLA and the Los Angeles R Users Group.
Thanks also to David Smith (at the REvolutions blog) and
Drew Conway (at his blog) for spreading
the word about the presentation video and slides -- quite a few folks have come to my
presentations page to get them.
We spent last week in the LA area and had a generally good time out west. I
was able to sneak in two talks and a group discussion, thanks to the help by
Jan de Leeuw (and everybody at UCLA's Stats department) as well as by Szilard
Pafka representing the LA R User's Group. Pdf files for the slides for the talks
are now on my presentations
page in both a
compact handout and
presentation slide version
(where the content is identical; if in doubt use the first file).
The talks centered around R and C++ integration using both Rcpp and
RInside and
summarise where both projects stand after all the recent work
Romain and I put in over
the last few months. The presentations went fairly well; I received some
favourable comments.
Szilard and the R User Group had also suggested a group discussion about
CRAN, its growth and how to maximise
its usefulness. Given my CRANberries feed,
my work on the CRAN Task Views
for Empirical Finance and
High-Performance
Computing with R as well as our
cran2deb binary package
generator, I had some views and ideas that helped frame the discussion which
turned out to very useful and informed. So maybe we should do this User
Group thing in Chicago too!
Special thanks to Jan de Leeuw and Szilard Pafka for organising the meeting,
talks and discussion.
Having espoused rule number one in regression testing in the
post about yesterday's bug fix upload 0.23, we can now add rule number zero: Do not introduce a new error by omitting the trailing
semicolon. I guess it shows that I don't really program in Perl anymore.
Rule number one in regression testing is to not depend on volatile data.
Which I seem to have violated in file t/02simple.t in the Perl
package Finance::YahooQuote.
Which lead the automated Perl test scripts to remind me for a few days now
that the full company name for symbol IBM no longer corresponded to what I had
encoded. Not really a bug, but a failure in tests anyway.
Earlier today, Google announced the
list of accepted mentor organizations
for the Google Summer of Code 2010 (GSoC 2010).
And we are happy to report that the R Project is once again a participating organization (and now for the
third straight year) joining a rather august group of open source projects from around the globe.
An R Wiki page had been created and serves as the central
point of reference for the R Project
and the GSoC 2010. It contains a list of project ideas, currently counting
eleven and spanning everything from research-oriented topics (such as spatial
statistics or automatic differentiation) to R community-support (regarding
CRAN statistics and the CRANtastic site) to extensions (NoSQL, RPy2 data interfaces, Rserve browser integration) and more. I also just created a
mailing list gsoc-r@googlegroups.com where prospective students and mentors can exchange ideas and discuss. As for other
details, the Google
Summer of Code 2010 site has most of the answers, and we will try to keep
R-related information on the aforementioned
R Wiki page.
Christian Robert
blogged
about a particularly heavy-handed solution to last Sunday's Sudoku puzzle in
Le Monde. That had my symapthy as I like evolutionary computing
methods, and his chart is rather pretty. From there, this spread on to the
REvolutions blogs
where David Smith riffed on it, and showed the acual puzzle. That didn't
stop things as Christian blogged
once more about it, this time welcoming
his post-doc Robin Ryder who
posts a heavy analysis
on all this that is a little much for me at this time of day.
But what everybody seems to be forgetting is that
R has had a Sudoku solver for years,
thanks to the sudoku
package by David Brahm and Greg Snow which was first posted four years
ago. What comes around, goes around.
With that, and about one minute of Emacs editing to get the Le Monde
puzzle into the required ascii-art form, all we need to do is this:
Fellow GSoC mentor
and local ACM masterminder Borja Sotomayor
had invited me a few months ago to give a talk at the
ACM chapter at the
University of Chicago.
Today was the day, and the slides from the 50-minutes talk on
R and extending R with
Rcpp are
now on my presentations page.
R / Finance 2010: Applied Finance with R
April 16 and 17, 2010
Chicago, IL, USA
The second annual R / Finance conference for applied finance using R,
the premier free software system for statistical computation and graphics,
will be held this spring in Chicago, IL, USA on Friday April 16 and
Saturday April 17.
Building on the success of the inaugural R / Finance 2009 event, this
two-day conference will cover topics as diverse as portfolio theory,
time-series analysis, as well as advanced risk tools, high-performance
computing, and econometrics. All will be discussed within the context of
using R as a primary tool for financial risk management and trading.
Invited keynote presentations by Bernhard Pfaff, Ralph Vince, Mark Wildi
and Achim Zeileis are complemented by over twenty talks (both full-length
and 'lightning') selected from the submissions. Four optional tutorials
are also offered on Friday April 16.
R / Finance 2010 is organized by a local group of R package authors and
community contributors, and hosted by the International Center for Futures
and Derivatives (ICFD) at the University of Illinois at Chicago.
Conference registration is now open. Special advanced registration pricing is
available, as well as discounted pricing for academic and student
registrations.
A quick nine days after
release 0.7.2
of Rcpp,
our R / C++ interface classes,
Romain and I are happy to roll out a new
version 0.7.3.
It has been uploaded to
CRAN and
Debian, and mirrors should have the new
versions shortly. As before, my local page is
also available for downloads and some more details.
This release combines a number of under-the-hood fixes and enhancements with
one bug fix:
The Rcpp:::LdFlags() helper function to dynamically provide
linker options for packages using
Rcpp now defaults
to static linking on OS X as well. For installation from source dynamic
linking always worked, but not for binary installation (as e.g. from
CRAN). As on the other platforms,
this default can be overridden. Thanks to the
phylobase
team for patient help in tracking this down.
Accessing various types via [] should now be faster due to some
enhancements in the internal representations.
configure now has a command-line option (as well as an
environment variable) to select support for the draft of the upcoming C++0x
standard.
A new function Rcpp.package.skeleton(), modelled after
package.skeleton() in R itself, helps to set up a new package
with support for using
Rcpp.
A number of other minor tweaks and improvements...
As always, full details are in the ChangeLog on the
Rcpp page which also
leads to the downloads, the
browseable
doxygen docs and zip files of doxygen output for the standard formats.
Questions, comments etc should go to the
rcpp-devel mailing list
off the R-Forge page
A new version of
RQuantLib
(a package combining the quantitative analytics of
QuantLib with the
R statistical computing environment and language)
is now out at CRAN and
in Debian (where it depends on the 1.0.0
beta of
QuantLib that is currently in the NEW
queue with its new library version). This
RQuantLib
release works with either the
current release 0.9.9 as well as with the just-released first beta of
QuantLib 1.0.0.
This versions brings a few cleanups due to minor
Rcpp changes (in
essence: we now define the macro R_NO_REMAP before including R's
headers and this separate non-namespaced functions like error()
or length() out into prefixed-versions Rf_error()
and Rf_length() which is a good thing).
It also adds a number of
calendaring and holiday utilities that Khanh just added: tests for weekend,
holiday, endOfMonth as well dayCount, date advancement and year fraction
functions commonly used in fixed income.
Full changelog details, examples and more details about this package are at
my RQuantLib page.
Not even two weeks after the Rcpp 0.7.1 release,
Romain and I have a new one
to present: Rcpp 0.7.2.
It has been uploaded to
CRAN and
Debian, and the respective package
management systems should carry them around in the next few hours. As always,
the local page is
also available for download too.
A lot of the momentum for the new API is continuing, thanks in large part to
Romain. A number of new
classes have been added, and existing ones have been enhanced. There are more unit
tests than ever, and more documentation. We have better build support (with g++
version detection so that we can add some
C++0x support where available) and a new
examples sub-directory.
We did take one toy away, though.
The Doxygen-generated docs were getting so big
that we decided to keep them out of the source tarball. (And arguably, they
are also too volatile.) We still have
the browseable html docs
as well as the
pdf version (now at over 300 pages!).
And we added zip archives of the docs in
html,
latex, and
man format for download.
Somehow missed during the the end-of-year switchover was the fact that my
review of Guenther Sawitzki's Computational Statistics: An Introduction to R
(CRC / Chapman \& Hall, 2009) is now up
on the Journal of Statistical Software website.
The shiny new 0.2.1 release of
RInside, a set
of convenience classes to facilitate embedding of R
inside of C++ applications, just went out to CRAN;
sources are also at my RInside page
This is a maintenance release building on the recent
0.2.0 release
which added Windows support (provided you use the Rtools toolchain for
Windows). In this release, we changed the startup initialization so that
interactive() comes out FALSE (just as we had done for
littler just yesterday)
and with that no longer call Rf_KillAllDevices() from the destructor as we may not have
had devices in the first place. A few minor things were tweaked around the
code organisation and build process, see the ChangeLog for details.
The new release should hit CRAN mirrors tomorrow, and is (as always) available
from my machine too.
A new littler
release (now at 0.1.3) just went out of the door this evening.
littler provides r
(pronounced littler), a shebang / scripting / quick eval / pipelining
front-end to the the R language and system.
This version adds a few minor behind-the-scenes improvements:
interactive() now evaluates to false as you'd expect in a
non-interactive scripting front-end. To restore the previous behaviour,
new switches -i or --interactive have been added.
Some of the 'cleanup' functionality described in Section 8.1.2 on
'Setting R callbacks' from the R Extension manual have been adopted.
Example scripts install.r and update.r
received an update based on lessons learned from the R 2.10.0 roll-out and
package rebuilding.
A few build issues were improved, a minor manual page formatting bug was fixed.
As usual, our code is available via our
svn archive or from tarballs off my littler page and the
local directory here. A fresh package
is in Debian's incoming queue and will hit mirrors shortly.