Posts Tagged ‘r’

Experiments with WatiN

August 14, 2013

Hi folks,

So recently I decided that it’d be a good idea to get slightly up to speed with WatiN since I’ve gathered that it might come in handy to have an idea of a good automated testing framework, compatible with a decent development language, like C#.  It was certainly interesting learning how to use it.  After installing Visual Studio, I found this video, which seemed quite straightforward.  However I was stymied by my lack of resharper – a tool which costs about $200 for the latest version.  I decided to try the trial period for the tool, but then found out that I needed a license for Visual Studio (full release) as well, which would be at least another $800! So too much (even though resharper looks like a most excellent tool to have at one’s disposal, if say one was a hardcore .Net developer).

Luckily however I then found this video, and managed to run my first “Hello WatiN” script.  That was quite satisfying.

Naturally, of course, there are other testing frameworks out there, such as Selenium.  In particular, I installed the Selenium IDE for firefox 22 as a plugin, but didn’t really get around to playing with it before I became distracted by WatiN.  However WatiN seems more advantageous to a commercial organisation because it is inherently a plugin for Microsoft Visual Studio via the .Net framework, and the Microsoft .Net framework is built to run with the Microsoft office suite.  But being more or less still completely ignorant of Selenium (apart from the fact that scripts in Selenium can be recorded ? by actions in the browser ? and are recorded in a unique scripting language called “Selenese”) I will have to defer judgement until I have a better look at the tool.

In other news, I’ve started reading up on R.  A while back I downloaded R as well as R Studio, but for some time now they’ve been sitting on my machine, consuming space, waiting for me to eventually get around to learning how to use them.  So now I finally have, and am starting to get across such elementary ideas as vectors, booleans, dataframes, file i/o, and other basic commands in the kit.

My eventual goal is to become sufficiently competent with R that I can do linear regression, then implement additive/generalised linear models, and also be comfortable with various forms of hypothesis testing with the framework.  Ultimately I’d like to be at the frontline of work in computational statistics / data analysis / whatever the kids are calling it these days; but I anticipate this will likely take some time.

Simultaneously I’ve started to haunt kaggle.  My philosophy with kaggle is that it is a good way to cut my teeth on some elementary data problems, and build some legitimate skills (and maybe even some street cred in the process).   While on the site in particular I noticed a plug for a python package built by some Londoners called scikit-learn, so dutifully I’ve set up a virtual environment for it and have essentially playtested it to the point of completing my first “hello scikit-learn” script.  Apparently the strength of scikit-learn is that it is a great python library for machine learning – not sure how it compares to R though, particularly with R’s extraordinarily established community and extensive set of libraries.  But scikit-learn builds on numpy, scipy, and matplotlib.  And of course there are vast numbers of other python libraries.  So until I know more, or have had more time fooling around with the tools, I won’t know for sure if one toolset is definitely superior to the other – or whether they each have strengths in certain situations.

Finally, I thought I might share something really neat I learned of today (from the Unity blog).  Some of you have probably heard of the Oculus Rift – part of the renaissance in wearable computers / virtual / augmented reality that has been underway now for perhaps the past year or two, and largely facilitated by such enterprises as Kickstarter which itself was founded only in 2009.  There is a similar device too, called the Leap motion controller / detector.  Both are still largely alpha – Leap motion certainly is – however these developments, although groovy, are not the key development I wish to bring to the attention of this forum.

No, rather it is a recent development emerging from the labs of Columbia University, New York.  The meta is an augmented reality headset with a gesture driven interface, combining aspects of both the Leap and the Oculus.  They have some big names backing the project including Steve Mann, the father of wearable computing as chief scientist, and James Knight, head of performance capture on Avatar (the recent blockbuster movie with blue people).  So really, really interesting.  And the project is designed to work with Unity, too.

As for my Unity project, that is currently on the back-burner for the time being.  I’ve certainly not forgotten my aspirations to implement data persistence in the game world in question.  As for now, however, I have several other demands on my time and attention which I think I should give precedence to.

Hello world!

March 14, 2013


Welcome to my blog.  Unfortunately I’ve lost a bit of history to this site, since I was a bit too trusting of the specifications for installing plugins to WordPress with the dotcloud-on-wordpress app.  Turns out that it broke with a particular change from PhP 5.3 to 5.4; so with a new machine I lost a few posts.  Regardless, I will attempt from memory to recap on the content of what came before, and, if nothing else, I will be very mindful to learn how to backup mysql databases on this architecture, as per this listing.

Oh, well.  At least I can remember roughly what I wrote (and at least it was only a few posts).  I will attempt to repopulate based on memory in this first post.

Basically, I’ve played with a few compilers and languages over the last few years.  First I looked into C++, then Java, Java3D, cross-over / bridging techs, then libraries for Java (in addition to Java3D – lwjgl & joal), Eclipse, python, pydev…  Then Spring and a few other things.

[wpzon keywords=”java, python” sindex=”KindleStore” sort=”salesrank” listing=”2″]

One of my first objectives was to learn Java3D and build something useful with it, or at least something that worked.  I ultimately found out the utility of the language was limited due to the fact that it required a kit to be installed to run, even for a standalone executable; this has since changed with its incorporation into JavaFX in Java runtime 7.

Then I looked into Flash and a few other techs motivated by enhancing PDF files.

Consequent to this (in 2011 – 2012), I started looking into django.  When I finally got to the point of being able to build working data driven websites, I became interested in deployment.  Google app engine was my first choice, but it turned out, at least at the time, to be clumsy and unwieldy, mainly due to the fact that it relied on a fork of django that did not have a large community backing it (since app engine runs on NoSQL, which is incompatible with standard Django).

Ultimately I found out that dotcloud was better and easier to use for what I had in mind.  I deployed a few sites to it; a simple photo album, the original version of this blog, a personal webpage, a spring site or two, some javafx examples.

But my interests continued to develop and I found myself interested in experimentation with Game Engines.  I ultimately chose Unity, due to the fact that it is relatively indie friendly; it has an asset store and is comparatively easy to get started with.  In terms of deployment, dotcloud was inadequate to host SmartFoxServer 2X instances of Unity3D games, so I ended up gravitating to the RightScale cloud management platform, together with Amazon Web Services (AWS).

I have since made some progress.  I currently have plans to develop my current Unity3D game (which has as base code from a series of tutorials from bergzergarcade) into a freemium multiplayer game on RightScale, although I have, for now, decommissioned the original website on RightScale where I tested the architecture and am testing things locally.

I am also now currently looking into genetic algorithms and neural networks written in C++ (as one does), as well as scientific programming in python.  RStudio is another tool I’d like to get up to speed with, together with the R programming language.

By the by, for those who did not follow earlier, this installation is based on dotcloud, a PaaS that I have found useful for experimentation.