I'm looking for a solution to run some r scripts and display graphics on an iOs device using r.
I saw this app https://itunes.apple.com/us/app/r-programming-language/id540809637?mt=8 but we can't plot graph with it.
I just need something really basic, but which allows me to test some computations when I have an idea.
Thanks a lot.
I have tried connecting to the RStudio server using chrome on my browser but the arrows don't work so it's not perfect.
I used the app Juno, to connect to Jupyter hub running R and it worked much better. The Microsoft azure service provides free "notebooks": notebooks.azure.com
R Analyst runs R 3.1.5
Analyst has both R and Python. It also includes some fill-in-the-blanks forms for simple analyses. (e.g. a mini-SAS PROC)
I believe the developer is working on a 3.5.x update.
Apple App store rules limit the full functionality of R. Due to App Store rules, neither App allows you to install packages with compiled binaries. The default packages (all 188 of them, including the tidyverse packages, data.table, and knit) are on a system path that is not writable without jailbreaking. However, you can source directories and .libPath is functional.
Both allow you to create PDF graphics directly, and to save the displayed graph as png and jpeg (IIRC). knitr::spin and knit::stitch work if you set the dev to pdf. I've yet to test knitr::knit and its variations.
Both support document sharing via iOS files app, so you can use iOS editors like Textastic, Buffer, and GoCoEdit to write your code, and Working Copy for git support.
Related
I come across the following link - https://github.com/felixrieseberg/windows95
Running windows 95 as Electron APP
Is it possible to create any existing application as portable or cross-platform using electron like above?
Can we use Windows 7 or 10 like above without Oracle Virtual Box or VM in an existing Windows 8 machine ?
Need more details on how it is possible to bring an application via electron
Thanks.
If I'm hearing you right, you're wondering if you can put a whole OS into a JS VM running in Electron - and then run your app on top of that.
Please don't do that. Electron is a fantastic cross-platform solution, but my project windows95 was mostly an educational experiment showcasing how powerful modern JavaScript and Electron can be.
This project uses another project called v86, which is capable of virtualising a x86 platform and display its output on a HTML element. Electron is browser-based so that is why this works.
But there are some limitations: It virtualises the x86 platform, which is pretty old by now, and when you have a look at the specification, it says it is at a Pentium-1 state. The demo links on the project's GitHub ReadMe also do not contain any "modern" OS because v86 does not support SSE(2). And since Microsoft requires its users to have a SSE2-compatible CPU* it is not possible to run anything like Windows 7 or newer (Linux may work, anyway).
OSses which support this kind of (deprecated) hardware, may work. As you can see from the "Compatibility" section of the project's ReadMe, some Linux versions and Windows XP "work" but older software, like OS/2, and even newer stuff, like Android, don't (really). So you can't say that everything will work as expected because the execution environment is really limited.
Now to answer your first point, no, I don't think that you can wrap every existing app into an Electron application and run it on new hardware. It may work with old software (which do not require SSE, if you use v86, and that would require a lot of hackery on the v86 side because it is designed to run OSses), but don't quote me on that.
* The section in question reads (at the time of writing) like this:
A Stop error occurs on computers that don't support Streaming Single Instructions Multiple Data (SIMD) Extensions 2 (SSE2).
Upgrade your machines with a processor that supports SSE2 or virtualize those machines.
(emphasis mine, source: https://support.microsoft.com/en-us/help/4088875/windows-7-update-kb4088875)
In our application, I am trying to play a stream through the TPasLibVlcPlayer component (http://prog.olsztyn.pl/paslibvlc/). I succeeded in doing this, but only when VLC is installed.
The goal is to deploy the needed dll's with our application so we can use our application on a (Windows) pc that doesn't have VLC installed.
Question is: what do I need to do to make this work? So far I tried to put
libvlc.dll
libvlccore.dll
in a separate folder and deinstall VLC, then set the path to these dll's
PasLibVlcPlayer1.VLC.Path := 'C:\Tools';
However when trying to play the stream, nothing happens. I debugged and saw that the libvlc.dll is loaded (a handle is returned) and the needed procedures could be executed (GetProcAddress returns an assigned addres for all supported procedures), however when libvlc_new is called (inside TPasLibVlc.GetHandle), this returns nil.
Should there be other dll's in that directory or what do I need to do to make this work?
VLC is not a monolithic program.
VLC is a complex framework of different classes plugins and the database of those plugins, and the dispatcher to build the interconnected network of those plugins for every particular task like converting or playing a given source.
VLC is in the same league like GStreamer or Direct X ( the DirectShow/DirectMedia subpart of it ). Can you use Direct X framework without installing Direct X ? Hardly so.
Even the AceStreamer project that aims to turn BitTorrent into p2p online video streaming platform and is being coding it for few years already they still did not "copied few libraries" from VLC but rather modified its soures and made their own build of VLC player to use with their P2P-to-streaming proxy daemon. After all the years and with all the experience they had and gained.
Granted, VLC being Linux-originating is not dependent upon Windows means of installing, so if that is okay for your goal, you can install VLC in VLC terms but avoid installing it in Windows terms. To do it you would have to
take the zip (not exe) distro of the VLC (win32 or win64 - should be the same as your program platform).
create a folder where you would unpack the whole VLC to
after unpacking you would have to run vlc-plugins-cache-generator so it would enumerate all the plugins and create the database of its classes and implementations
then you would have to ensure all those files can be read and executed by mere user. Your installation would almost surely run under UAC-elevated Administrator permissions. That means by default all the unpacked VLC file including plugins DB would not be reachable by non-elevated or non-admin users of the computer. You would have to fix it explicitly giving users the rights to read/execute those files.
Then you would be able to call VLC functions from DLLs in that folder.
But personally I think the candles are not worth the game here and you better give your users the freedom to use VLC as they see fit and to upgrade it when new versions would be issued. Otherwise your program would most probably turn into a source of security problems for them.
Above points were made from a purely technical point of view. But there is another issue - legal.
Are you even going to DISTRIBUTE your program outside your office? As soon as you would pass any rights to your program from the original rights holder to a licensee - you would have to respect VLC team rights.
http://www.videolan.org/legal.html - note that little "most" word, when VLC team describe status of smaller software projects they integrate into VLC.
As long as you redistribute the non-modified VLC installation bundle - you are clean and safe. VLC team gave you explicit permission to do so. If anyone would consider VLC bundle having some pirated or otherwise illegal code - you are somewhat protected by "I did not know, I merely trusted them they do play fair" defence line. You are acting like a consumer when taking VLC installer for granted. Like a person who purchased a car in a shop. If later it would be revealed the shop was illegal and was selling hijacked cars - you would loose that car, but at least you would not go to jail yourself.
However as soon as you would make your own VLC packages containing selected parts of VLC you become VLC co-developer. You gain those "four freedoms" of FLOSS, but any freedom comes with responsibility. Now if "intellectual property" vultures would come to you, you would no more say "VLC did it", no. From this point it is YOU who did it.
And if some FLOSS project would claim VLC pirated their code (chances are very tiny, but hypothetically that is possible too, complex FLOSS project are assembled from hordes different small works (from libraries to snippets and bugfix patches) with different initial licenses, and it is responsibility of maintainer (that means now - of YOU) to check or negotiate re-licensing compatibility), you would be co-responsible for it after you abandon standard ready-made bundle.
And then there come that very "virus nature" of strict GPL license. When you use standard installer package you do not mix your code with VLC code. You just put several different installers into one media and you only use APIs explicitly published to be consumed by other software. But if you would rehash VLC into your own streamlined set of files - from that point on you are a co-developer not a consumer any more. So chances are one day you would be asked to disclose the sources of your application because you use LGPL/GPL sources of VLC and your program now should be distributed under the same terms, otherwise your distribution of VLC maybe become piracy, maybe not, you are free to stand for your point of view in public trial.
Would you like it ?
Those concerns do not apply to you in two cases:
You do not DISTRIBUTE your program, you only use it in-house. Then GPL/LGPL responsibilities are not affecting you, and for "intellectual properties" vultures you are mostly under radars.
You use standard unmodified VLC bundle as it is made by VLC team. Then you are not bound by GPL/LGPL either and any vultures would have to fight with the VLC team first before they may come to you claiming VLC is illegal software.
If those cases do not suit you then you want to become a co-developer of VLC and thus you do accept all the responsibilities of it. Just for small space gain. Are you ready for it? Are the candles worth the game?
I'm working on a software that includes 3D graphics. Those are massive enough, so I decided to use OpenGL to keep a quite fluent animation. I selected THREE.js graphic library (WebGL).
Reading the html through a Web browser works very well : WebGL functions are recognized. I did it on my desktop (Win32/Firefox17, please do not judge me on my configuration !) and on a Nexus 10 (Android 4.3, FF24 and FF25Beta, tried with Chrome30Beta but no joy...). But I need to access native data, like the file system, to get informations for my program. So I wrapped my code with WL, and deployed it as an app on my Nexus 10... And so disappeared the WebGL capability... :(
So I looked for a reason to that :
I found on the IBM site two different ideas : in one way, I understand that a JS engine is embedded, in another that WL uses the engine of the default Web browser of the tablet (what I understood the first time)...
Let's be precise with the different engines : On the Nexus, FFs have obviously Gecko engines, Chrome30 is a Blink (webkit-like, version 537.36). Those are the ones detected by window.navigator.useragent as I read directly in the browser, no surprise. In the Eclipse/WL preview, I got different interpreters, depending the browser I selected, FF or IE (not Safari, I don't have it installed), but not the one from my desktop (the ones used are even older than my own FF...). But, when I detect the one used in the app (after wrapping in an apk), it returns an AppleWebkit 534.30/Worklight/6.0...
Maybe I'm wrong (tell me), but if 'Worklight' is in the version of the engine, and if webkit is used even when I suppress Chrome from my tablet (the version is different, but who knows..), I wonder that, for this app, as it's configured, the engine is embedded by Cordova or WL.
If it is so, I agree it allows to read a code with a fully-compatible interpreter, regardless the browser installed on the hardware. But when a webkit engine does not please you for the functions it supports (like WebGL, very partially supported), it looks a problem for me.
Does anybody have a confirmation of how it works ? If the engine is wrapped with the app, do you know if we can choose the one to be included, or configure it (like enabling WebGL ;) ) ? Another idea ?
Thanks,
Vincent.
Worklight applications do not bundle an interpreter. The application will use what that is bundled in the OS.
In other words, the default WebView in Worklight is the one that the OS provides, in the case of Android it uses the bundled WebKit.
This is not something Worklight controls what-so-ever.
You could, maybe, somehow, bundle in your app the Firefox engine libraries and hook it all up together, but the task to do so is incredibly large and complex in size... and not supported by IBM Worklight. Also, I do not know whether Cordova supports this as well ( it is used in Worklight to interface with native functionality).
As for the useragent, the string "Worklight" is attached to it as part of support for IBM WebSphere Portal.
Story:
I have written a HTML Merge Compiler that can merge resource's/assets into one single HTML file (minify it to the max) and compiles Javascript with the google enclosure compiler. I have written this compiler to speed up loading and interpreting the code and to obfuscate the code to protect a little bit (script kiddie protection). Major reason was/is speed and to make it compact.
This is working OK with reliable results and i use this in PhoneGap applications/games. I have also written a javascript library that encapsulate all platforms that works with standard HTML/CSS without the need to change the code, it works also in the browser, with a touchscreen or without or on any device or operating system. Write once, publish many ;-). The idea around it is that is working always, always operate the same but can use device specific things when available but does never fail (when something is not there, for example a vibrate functionality).
Anyway, most frameworks (like PhoneGap) concentrate on Mobile Platforms but i want to port it also to desktop platforms like Windows, OSX and maybe Linux. For Windows I have wrote an Delphi Application that loads the HTML in a TEmbeddedWB object (is Internet Explorer actually) but the 'problem' is that it is only suitable to Windows and IE is not the fastest browser around, especially when it is embedded (do not why it is slower than the browser itself). For example, when i load the compiled code in Firefox and/or Google Chrome it is blazing fast (you do not notice it is javascript ;-)).
EDIT:
Pre release of IE10 for Windows 7 is just launched, installed it and lag is gone!
You can download it from here:
http://www.microsoft.com/en-us/download/details.aspx?id=35709
Introduction to my question:
I have tried XULRunner of Mozilla a long time ago but the first time was not a pleasure to me and also i tried it today again but can't get it to work. Get a parse error in the main xul file of the project, window is an undefined entity. ??? I create a sample project like: http://mdn.beonex.com/en/Getting_started_with_XULRunner.html
I do not know what to do about this error. Also i think documentation is not up-to-date? Most documentation is from around 2006.
The question, what i want to know:
Before i am going to waste my time (see also introduction), is it
possible to create frameless (full-screen) desktop executables with
use of XULRunner like with PhoneGap?
Is it possible to create cross-platform applications with XULRunner, i mean, does it really work seamless. Where can i find a ready-to-publish example of a XULRunner project and is it possible to load local HTML file(s) like in PhoneGap?
It is possible and allowed to access external resources?
Long story, but maybe there is somebody that have tried this before and can lead me to choose the right direction.
is it possible to create frameless (full-screen) desktop executables with use of XULRunner like with PhoneGap?
Yes. You use disablechrome attribute to remove the window frame and sizemode="maximized" to have it open full-screen. Alternatively you can use the full-screen API if you want your application to run in a normal window and only switch to full-screen mode on request.
Is it possible to create cross-platform applications with XULRunner
Yes. There are things like menus that work very differently on OS X but most of the time you don't need to care what operating system your application runs on (Windows, Linux and Mac OS X supported).
Where can i find a ready-to-publish example of a XULRunner project
See documentation for a XULRunner application example. For "ready-to-publish" you would need an installer which doesn't come with the platform.
is it possible to load local HTML file(s) like in PhoneGap?
Yes. The top-level window has to be XUL but you can use some very minimal code here - essentially a single <iframe flex="1"/> tag. You can load HTML pages into that frame then.
It is possible and allowed to access external resources?
Yes, XULRunner applications have full privileges and can access files on disk as well as web resources without any restrictions.
Currently my InstallShield project uses a custom prerequiste to install Adobe Reader on the target machine if it is not already installed.
The prerequisite executable (Adobe Reader SetUp) is installed locally and so it is packaged into the SetUp.exe by InstallShield.
Everything works as desired with the Adobe Reader setup completed prior to my program (if it is not already installed).
Now while you can apply for an Adobe reader distribution licence my company needs to investigate the legal implications of the licence first.
Therefore in the meantime I would like to link to the adobe site and install the application from there. Is this possible as I cannot see a way of doing this?
If not, how do I supply a link to the adobe site and then pause or exit the installshield setup while it is downloaded and installed?
If you could provide some pointers / an example or point me to any relevant resource it would be most appreciated.
InstallShield does not provide a built-in way to pause your install and direct a user to a donwload, although you could certainly create a prerequisite which runs an custom executable to do this. I believe it's more common to create a prerequisite that downloads an installation off the web - just provide URLs to all files in it, and set its location to Download - but I can't comment usefully as to whether that has different legal implications.
It's not possible to do what I want within InstallShield.
My company has decided that they do not want to distribute Adobe with our software and so the way I implemented this was to simply have the tool check for the presence of Adboe before opening any PDFs. If Adobe is not installed the user is presented with a message requesting them to visit the Adobe website to install Reader.