October 13th, 2014
Posted by pftq


This is a short cinematic score I composed as more of a warmup/brainstorming piece.  The theme for this particular piece was more exploration and discovering new worlds.  Some influence probably came from imagining music from early colonial themed games.  It came out nicer than I expected, especially with the changes in mood throughout the piece.

2736 unique view(s)
October 6th, 2014
Posted by pftq

Polterghost Game, Music, and Other Things

Quick summary of ongoing projects and new works for me.  Most of the surround a Leap Motion game I'm helping (but largely spearheading) with called Polterghost.  Been a while since I've done a project where I'm involved in all aspects (here it's programming, animation, and music).

Tracks for the game I've completed already:

A simple trailer for the game can be viewed here:

In the mean time, I'm still continuing to finish improvisations here and there.  A handful from the last couple months: (seems like I average 2-3 improvisations every spring)
2720 unique view(s)
August 17th, 2014
Posted by pftq

Flightless - Another Piano Improvisation

Taking a break from the three other songs I'm working on and can't seem to finish.  Went ahead and cleaned up a short improvisational piece I played back in March instead.  Fairly simple song, but it seemed nice enough to keep.  Hope you guys enjoy it. Smiley

1953 unique view(s)
August 2nd, 2014
Posted by pftq

QLearner Now Open Source

QLearner is now open source and available on Github.com.  Currently, there are only a few machine learning algorithms on the platform - namely QLearning and Approximate QLearning.  I'm hoping that having it more easily accessible on Github will encourage others to contribute and add to the project.

"A practical, generalized application of various machine learning algorithms for C# programming."

 QLearner provides generalized machine learning algorithms to solve to any problem defined by a QState.  The QState Plugins Template download includes a template to build your own QStates and several examples to learn from.  For more advanced users, new QAlgos can also be created to leverage the framework provided by QLearner.  Documentation and API are provided for developing your own plugins, so that it is not necessary to actually modify the source code of the underlying QLearner framework.  Additionally, QLearner can be compiled or included as a class library for instantiating instances of QLearner's algos for your own code projects.

 To use QLearner, simply open the QLearner program and click on the QState box to select a problem to solve and the QAlgo box to choose an algorithm to solve it with.  Press Learn to give QLearner a chance to "practice" at the problem and learn about it.  Press Awaken for QLearner to apply its most current knowledge to solve the problem in the most efficient way it currently knows how.  To use QLearner programatically, include QLearner as a resource in your project and instantiate QAgent objects with instances of QState and QAlgo through QAgent's Learn/Awaken methods.

 QLearner can be made to perpetually learn and continue solving an ongoing problem (such as world domination, the stock market, or the weather) if the QState Plugin is designed in such a way such that the IsEnd() state is never reached.

 About QLearner:

 QLearner was originally a short AI script built into Tech Trader for optimizing stock trading strategies.  I went ahead and took the script out of Tech Trader and made QLearner a stand-alone program so that it has more flexibility to work besides just strategy optimization for stocks.  Namely, it can now apply machine learning to any situation the user builds a template for (or finds a template for...).

 Like the name suggests, QLearner originally used Q-Learning algorithms, which is on the simpler side of AI but can still solve a lot of things and be useful in a lot of situations.  From there, more QStates and QAlgos were added.  The open-ended nature of the QLearner program though allows this to continue to be expanded on in the future.  We'll see. Smiley
1762 unique view(s)
May 21st, 2014
Posted by pftq

Ripple Currency Data in Tech Trader

Ripple Labs' data API is now accessible as a data source in my Tech Trader platform for automated trading and backtesting, meaning you can now apply technical analysis and other chart-based trading strategies on Ripple and Bitcoin.  Many of the existing automated strategies I have for the stock market work directly on the new data with no change.  Previously the base platform only included Yahoo data sources for loading equities and indexes (though that didn't mean you couldn't load plugins for other data sources), but now the base platform also includes the Ripple data source by default for loading currencies, both fiat and cryptocurrencies.  

To load a chart on XRP, just enter XRP or XRP/USD in the symbol field.  For Bitcoin, use BTC or BTC/USD.  Follow the same format for any other currency pairs as well.

The Ripple code is also available as a separate open-source Ripple plugin for those curious or wanting to expand on the code.  I spent about a month figuring out the API docs from Ripple Labs before finally finding out the code examples were wrong and just used standard JSON code instead.

I'll be working on adding direct trading capability into the Ripple plugin as well, so that automated strategies (or the plain Manual Trade button) from Tech Trader will route trades directly your Ripple Wallet.

You can also see live charts generated and cached by Tech Trader at a simple website I created here: https://cryptocurrencies.techtrader.ai/

Ripple (XRP) All-Time

Ripple (XRP) QTD May 2014

Bitcoin (BTC) All-Time

Bitcoin (BTC) QTD May 2014

3260 unique view(s)