Friday, September 19, 2014

Create teams easily with Xteams!

I've been playing volleyball recently with a group of amateur players. In the last two months the size of our group has increased so much that it became very hard to create teams. And if you think that size is the only issue I can assure you that there are many more:

- How can one create teams when Dana doesn't want to play with Haim, who must play with Jacob but not with Yossi... You've got the idea.

- No one will ever want to help in creating teams as he may end up insulting a not-so-good player by choosing him last.

- Maybe you have too many players around for one game, but just enough for a tournament of 4 teams.

In order to solve these inconveniences I've created Xteams! a web-app with one goal in mind:

Create teams automatically based on discrete scores of the players

Using Xteams, group managers can give scores to players in the management panel. Players of the group can't access this panel but can see the list of players, mark which of them arrived to the game and create teams easily.

At the time of writing, the algorithm behind the teams' allocation was pretty simple. It takes all of the available players, and the number of teams to create, and tries to find teams with equal or close to equal strength (sum of the players scores) by generating several random allocations and choosing the best of them.

For devs

The app is still under development (aren't they all?), and many more modifications, improvements and features are considered. Any help in the development process is more than welcome (github repo).


To the players of Nahlaot Veshut volleyball team, who consistently help with new ideas for features and additional improvements.

Wednesday, April 9, 2014

My research proposal - the most comprehensive text about the project

I've recently submitted my MA research proposal, titled: "Audio-Only Augmented Reality System for Social Interaction".
Usually, research proposals aims to present the subject and describe the intents of the current research. This one is a bit more comprehensive, presenting a fully operated system I've developed, preliminary results of the system evaluation, and the exact design for a future experiment.
Feedback is always welcome.

LaTeX source can be found @ github.

Sunday, April 6, 2014

Some experiments with SimpleCV - object detection by color

Computer vision is way far from my daily interest. But last weekend I participated in a semi-hackathon, developing code that aims to detect and track cards by their color.

Credits deserve to this guy. I've used his code as a reference and a starting point.
It is my first experience with SimpleCV. After all the code works pretty well, I think, despite the awaful documentation of SimpleCV and some hard time working with the library.
As always, the code is written in python and is available at github. Any thoughts about the mini-project, the code and computer vision alternative libraries are always welcome.

Friday, February 14, 2014

Web Audio API - some thoughts and experiments

For me, being able to use advance audio programming on the web looks like a dream just a couple of weeks ago, and I'm not the only one for sure.
Doing audio programming, I've mainly experienced with Max/MSP and Pd but my interest in shared music creation / consumption and interactive systems have long seems to demand the extension of this skill set; as Udi Oron rightly argued in "Hackita" two months ago: you have no chance to convince someone to download your desktop app (Max or Pd patches for example), give them a web app instead!
I'm not sure if I've heard of the Web Audio API before last week, but even if I did I probably wouldn't had a clue of how to use it back then (before learning web development and JavaScript at Hackita). Today I can say that it looks like a great solution for audio programming, and a good way to look for if you interesting in designing systems for public wide usage because of the next reasons:
  • As claimed before, no one downloads and install desktop application anymore unless it came from known source and the one that download it knows for sure that he wants to use it (as opposed to just trying things out).
  • It's probably the easiest way to go if you want shared behavior and interaction between users of the system.
  • Web standards are here to stay. You can be sure that organizations like Google, Mozilla, and Microsoft will compete to provide the best implementation possible.
  • The API itself looks very promising. I hope that I will be able to summarize pros and cons soon.
That's being said, here are my experiment with the API. If you are interesting in more information and tutorials be sure to take a look at the "Useful links" menu (top navigation bar). And as always, source code can be found at github.

This mini project also present a non-trivial python based server code (django + tornado for websockets). More details on this amazing server side configuration soon :-)

Saturday, December 7, 2013


In the last few weeks I was participating in the first session of "Hackita", which means "The classroom" in Hebrew. This project aims to bring people from different backgrounds to learn and develop open source web applications together.
Furthermore, the project is part of The Public Knowledge Workshop, and as such one of its main goals is to guide its participants to complete a project that expose public knowledge to the public by the end of the 2 month session, somewhere around late January.
Until now we've learned few technologies that will help us accomplish this goal and from the next week we will start to work on the final project.
Meanwhile, here are two of my "homework" exercises:
Information regarding my final project will come soon...

Saturday, November 16, 2013

Compare food prices in Jerusalem - a new mini-web-project

Two things happened recently, I've moved to the holly city and started to learn Python. Here are the consequences: a mini web app to compare food prices, written in Django and deployed to pythonanywhere, for my own purpose and for my students friends.
More features will be added soon and on demand :-). If you want to be able to update markets, products and prices, drop a comment and I will create an account for you.
And as always, source code can be found at github.

Saturday, October 19, 2013