...being the selected works and ongoing projects of
richard pennington banister
Online multimedia-based language learning system
Designer, Developer. 2008
Suteki uses interactive video to create an immersive environment that encourages voluntary exploration as a method of learning language. Users can upload videos, tag regions and add subtitles dynamically, and link those regions to explanatory content or other videos or websites. The result is a rich foreign language environment that users can explore as they choose, learning in the ways that suit them best.
The Wikipedia-like system works as a learning instrument in several ways: through exploration - an individual browsing content - or through creation - a teacher using her class to crowd source video tagging and annotation, for example. The system encourages the student to take control of the learning experience.
Of course, the system I designed is not limited to language learning. Dynamic user-generated multimedia content is rapidly developing on the web for both fun and profit in a plethora of areas: Soundcloud, NicoNicoDouga, and YouTube (although it is moving slower here than I expected it would) come to mind.
Suteki was designed and written wholly by me over the course of a a Senior Projects class. The semester wasn't quite large enough to accommodate the entire project, and as such it is incomplete, although most of the hard stuff is in place.
Source is closed at the moment, but is available on request by interested parties.
- Entire application, including media player and controls, written from scratch.
- Dynamic, user-generated interactive regions and subtitles.
- Wrote scripting language to handle interactive events.
- Kept extensive documentation: wrote requirements specification, logged all work and progress, maintained development journal.
- HTML 5.
- Implement remaining requirements as specified.
- Make it look nice!
Post-apocalyptic survival horror/space debris removal simulator
Co-Designer, Co-Developer. 2007
The year is AD 2053. You are alone in a sweet spaceship in the middle of an endless asteroid meteor field, a field born of some kind of catastrophic cosmic event, or whatever. Earth has probably been destroyed or something. Also, it turns out the universe is circular and also surprisingly small. So it's a pretty depressing turn of events.
But it's better than being dead, so you must destroy the asteroids before they destroy you. Even though it seems for every one destroyed two take its place. So really it's futile to even try. Kind of a microcosm of human existence. Also a fun game!
So maybe it's not the most original concept. But it's pure Java and a good framerate, thanks to solid design patterns underneath.
I worked in a small team to design and build this game in just a couple weeks for a class project. I came up with the idea and did the bulk of the core programming.
Our enthusiasm for the project probably far outweighed that which was strictly required by the assignment; but we had fun making it and were rewarded with recognition by our classmates.
- Designed and built pure Java game engine from scratch.
- Awarded first prize by peer vote in in-class project competition, earning praise as a "tour d'force."
- Used design patterns to ensure smooth rendering.
- Port to other platforms for fun.
- Multi-player locally and over network.
- Sound (although technically it's more accurate without it).
- Expand game features (can't reveal - too awesome).
- Don't let the earth get destroyed in 2053.
A genetic programming learning agent that fights for the users
Research and Development. 2007
I created GPTron as a project in a machine learning class as an exploration of approaches to open-ended gameplay. I chose the old favorite light cylces game (a variation of snake, or worm), because of its complex nature: there are a staggering number of game states and player position strength is a difficult proposition.
Plus the Tron concept - little sentient programs running around inside the computer and playing games against one another - was too delicious a metaphor to pass up for an AI project.
The nature of the game made AI approaches like game trees poor matches. The genetic programming approach allowed me to generate players that programmed themselves to tackle the problem. Given a simple set of possible actions and a simple fitness measurement I was able to evolve several different AIs that learned how to be competetive against an explicitly programmed AI opponent.
These evolved programs were no match for human players who knew what they were doing, but they did illustrate the strengths and weaknesses of a genetic programming approach, as well as the strengths and weaknesses of my own approach to genetic programming. In particular this has shown me the importance of having solid fitness measurements and possible program actions.
It was also a good excercise in taking taking existing code and modifying it and integrating into a new project. I worked with a large GP library, adding features it lacked as necessary, and a Russian freeware light cycles game engine which I modified somewhat drastically to suit the needs of the project. This has, of course, only reinforced my mind the importance of good documentation.
- Investigated applicability of the genetic programming paradigm to light cycles game AI development.
- Integrated Java GP library into existing game environment; modified this environment to facilitate GP-style evolution.
- Evolved game-playing AIs that proved successful against computer players (but fairly weak against humans).
- Analyzed generated AIs to understand their strategies and why they might have evolved as they did.
Utility-based AI that plays a daring game of poker
Research and Development. 2008
I wrote Billy for a project of an Artificial Intelligence class. Our class was divided into teams, each to insert an AI into an existing poker game engine to compete in a tournament against the others. Our team designed two agents: the first was a simple rules-based agent that used hard-coded logic to play; the second was Billy.
Billy wasn't like the other kids: while the other teams used their own logic and heuristics to design their agents, we built Billy to follow his own path. He used a simple algorithm to determine the expected utility of each action based on its chances of winning, weighed against the spoils of victory or the agony of defeat. The result was an agent that was somewhat unpredictable: whereas the other teams's agents followed their respective designers's rules, Billy designed his own.
This did not make him an especially impressive poker player. In the final tournament, he exhibited aggressive and sometimes seemingly irrational behavior. In the first game this was an unsuccessful gambit; in the second it was effective. Billy may not have been the best player, but his play was definitely entertaining.
The real value of Billy, of course, was not in his play but in the lessons learned from his play. Analyzing his decision-making lead to keen insights into utility agents: what they are useful for, what their limitations are, and what ingredients are necessary to make one successful.
- Designed utility agent for playing poker - an open-ended game with many possible states.
- Implemented agent in LISP. Integrated player into LISP game engine; debugged and fixed errors in engine.
- Worked in a small team of talented students.
- Responsible for most of utility agent code.
- Results showed benefits and drawbacks of utility paradigm as well as areas of improvement for the algorithm.
Research and Writings
Tri-level analysis of research on consciousness
The nature of consciousness has captivated me for basically my entire life. What is it? Why do we have it? Is "it" even an "it" at all? This fascination lead me to cognitive science, a field that tries to understand the inscrutable patterns of the mind with functional analysis. So when my seminar class was asked to select research projects, my decision was easy.
The research was not, however: consciousness is widely known, of course, as the "hard problem." It's one of those wonderful areas where academics not only don't know the answers to their questions, they also don't really know what the questions are. In fact, we don't even seem to know if answers are possible, or if we should be asking questions in the first place.
In the paper I argue that our questions can be answered -- although we're a long way off -- and review the scientific literature using a tri-level approach. The tri-level hypothesis proposes explaining mind systems by analyzing them in layers:
- Computation: What are the purposes of the system, and what problems does it attempt to solve?
- Algorithmic: How is the system organized, and what modules does it recruit to accomplish its goals?
- Implementational: How are these modules realized?
With this analysis I show that we already have an understanding of what purpose consciousness serves, how some of it works, and where "it" is possibly located in the brain. I also show that we have a ways to go before we have a complete understanding of the phenomenon, but that there is hope for science in this area (even if we still don't know what we're studying).
- Investigated current research into mechanisms of consciousness at the computational, algorithmic, and implementational levels.
- Integrated research from cognitive science, neuroscience, psychology, evolutionary biology, computer science, and a touch of philosophy to illustrate current understanding of the phenomenon.
- Argued scientific understanding in this area is possible.
Research on religious practice in modern Japan
When I travelled to Japan I was struck its seemingly odd relationship with religion. Shrines peek out from between skyscrapers. Thousands pack temples and shrines on holidays. Yet many Japanese professed no belief whatsoever even as they practice; and many lamented the decline of traditional religion in an increasingly secular culture.
I wanted to explore how religious practice and modern culture interact in Japan. Is it truly a secular society? Or do we westerners just not get it?
In this paper, originally produced for a class on Buddhism, I examine how Buddhism, Shinto, and Confucianism have combined to form the unconscious cultural core of Japan. Religious practice is almost entirely pragmatic; but that does not mean that religion is dead in Japan. Instead it has been so tightly tied to culture that its meaning has been distributed across modern cultural practice - even in manga. The result is a Japan that is simultaneously secular and oddly spiritual.
- Comprehensive review of research on role of religion in modern Japanese society.
- Focus on development of Japanese Buddhism, its sects and their development, its conflicts and evolution, and its integration into culture.
- Examination of how religion has become distributed in high and low culture due to overt government promotion, fostering of the arts and pragmatic benefits.
- Drew on numerous sources; critically examined validity of some.
Research on use of memory in language pedagogies
If you notice a theme in my research, that's a good thing. I have dedicated a lot of time to investigating how we learn second languages and how we might get better at it. After spending time abroad in a Japanese language program in Tokyo I came to believe that key to establishing fluency is an immersion in the culture itself. Culture and language are intrinsically connected. They each develop from each other; therefore to learn one is to learn the other. Hence the creation of Suteki, and hence my research here.
The purpose of this project was to develop a study proposal in an area of Cognitive Psychology. I chose implicit memory and its interaction with language learning; my purpose was to investigate a way in which cultural immersion might contribute to language learning. The central question was whether exposure to language spoken fluently would affect fluency in the language without explicitly taught grammar rules.
My research here, included in the linked paper excerpts linked, shows that immersive techniques do benefit language acquisition. This has implications for teaching and learning methods: educators should try to create rich learning environments for their students to explore and thrive in.
- Synthesized current research in education and psychology.
- Examined mental structures involved in secondary language acquisition. Showed that engagement of procedural memory system has great potential benefit to grammar acquisition.
- Proposed study using foreign language video to test automatic grammar pattern acquisition through audition alone.
- Hypothesized declarative techniques may introduce unnecessary roadblock to learning L2; increased focus on implicit memory activation will enhance language learning.
Conceptual, diverse, solo rock project
Writer, Producer, Director, Musician, Designer, Basically Everything. 2009-Present
My very own project: devised and written by me, with a close collaboration with Scott Radway (Polkadot Cadaver, ex-Tub Ring, ex-Divided Sky). More deeply personal and more broadly accessible than work I've done in the past. And featuring performances from musicians I've loved and admired.
Demos for the debut album Samsara are complete, and I'm currently working on recording final tracks at Catapult Sound with Brett Kull of the legendary Echolyn. It's sounding great and I'm really excited to get it out to the world.
We will release the material in four Arcs. Each Arc is self-contained and stylistically diverse, but tied to the work as a whole thematically. Work on Arc 1 is almost complete, and it will be released for free soon. Arc 2 will follow in a few months, and so on until the blessed conclusion.
- 60-odd minutes of genre-bending music featuring diverse songs bound by interwoven themes.
- Selected bent genres include: jangle pop, experimental rock, metal, mathcore, post-rock, 60s pop and surf, electronica, ambient.
- Specific musical inspirations include: REM, Thrice, Elliott Smith, The Beach Boys, Isis, Pink Floyd, Meshuggah, Yuzo Koshiro, The Smiths, Dillinger Escape Plan, Genesis, and many more!
- Catchy tunes with philosophical heft, engineered for maximum instinctual and intellectual engagement. Time-release technology extends listening pleasure over 600% longer than leading brands*.
- Thematically inspired by memory, literature and poetry, cognitive science, philosophy of mind, and a lot of other high-brow concepts, plus a lot of angst.
- Revolutionary free-ish pricing allows easy satisfaction-based money return promises.
- Orange color scheme attractive to your crush.
Heavy divergent rock group
Musician, Web Design. 2001-Present
Divided Sky was my primary musical outlet until about 2008 when we entered a kind of suspended animation not unakin to that of Captain America after WWII, except with less heroism and less waking up. I still think of it as "on the back-burner," as opposed to "over," since we all talk about doing a reunion someday and how it would be neat to see how our music will have changed and all that.
When we do reunite, I predict greatness such as the world has never seen, and will therefore try to prevent through various natural and less-than-natural disasters and annoyances. Rains of fire, reborn dragons, unusually high pollen count, that sort of thing.
The site has been something of a playground and lab for my website development experiments, even as it has ceased to be relevant to anyone else. I have great plans for it yet.
- Recorded two full-length albums. Co-wrote and co-produced second album, which received praise as "distinctive and ground-breaking."
- Designed and maintained band website using PHP, DHTML, JSON, and other neat web technologies. Wrote custom controls; integrated with external services.
- Opened for progressive rock legends Spock's Beard.
- Recorded and edited promotional videos using Adobe Premier.
Moody Pop Album
Musician and Consultant. 2012
The first solo album by acclaimed musician/drummer Scott Radway. A more 'pop'-oriented effort than our previous projects, this album shows the path of simplification we seem to be cutting: with each project we're presenting more complex ideas in more elegant ways.
This should appeal to fans of Jon Brion, Tears for Fears, Peter Gabriel, Steven Wilson/Porcupine Tree, and maybe even Styx.
I played and recorded most of the guitars and basses here, and gave what advice I could when asked - which may have led initially to more soul-searching and consternation but eventually to a better final piece, I believe.
Experimental Rock Group
An experimental rock band for which I play bass.
Modern Dance Soundtrack
The soundtrack to a fantastic modern dance piece. Written by Scott Radway and performed by a set of incredible musicians and me.