Multitouch table options

A multitouch table is a computer with a large display that can detect multiple fingers and or objects that are touching the display. Each of these fingers/objects can be tracked by the computer and used to control the software. Think Minority Report.

Imagine being able to play board games without having to waste time setting up and putting away the game, without having to have a ‘banker’, without misinterpreted rules. Or imagine playing computer games where your team or opponents are sitting around the table with you. Currently, the price of these systems put them outside the mainstream, but as the technology improves, I think they will be adopted by more and more people.

William has been in the market for a multitouch table for a long time and has considered several options.

  1. Projector and web-cam with acrylic screen
  2. Microsoft Surface and Surface 2
  3. Multitouch monitor
  4. IR sensor

Each of the options above has some advantages and disadvantages:

The projector/web-cam approach is what he considered first because it allows a large screen while keeping the cost low(ish). The main concern with this option is that there would be a lot of trial and error involved in getting the projector and camera setup in a reliable manor.

The Microsoft surface is a nice, if expensive, system. The original surface was a $7000 30″ unit. It was a little small and the sides of the table came straight down making it inconvenient to sit around. Surface 2.0 just came out. It is $10000, has a 40″ screen and looks like a normal table. It also has a per-pixel camera system so that it can detect objects and read bar codes on the bottoms of objects set on the surface. Another disadvantage is that the computer is built into the surface which would make it difficult to upgrade.

Multitouch monitors are smaller than we are looking for in a gaming table. And the large ones are prohibitively expensive.

The IR sensor system is an overlay that you can place over the top of any monitor that detects objects that break the ring of IR lights. It is a cheaper solution. William recently found a company called Mesa Mundi which sells large multitouch IR sensors. It turns out that an early prototype of their system is being used for a D20 gaming session being held at Gryphon Games in Fort Collins this weekend.

Practice Log – Android version

I have been using the PracticeLog for a little over a year now and have found it to be very useful. However, there are several features that I never use:

  1. The list of pieces that I am practicing. This would be nice to keep up to date, but even with the “Same as Yesterday” button, I just don’t have the motivation to keep entering the data.
  2. The stopwatch and countdown. I haven’t been practicing in the same room as the computer, so it is not handy to have to turn on the computer both before and after practice time. Instead I have been using a stopwatch on my phone, or just my watch to time the practice and then separately enter the time.

I would like to use my Android phone, which I usually have on me, to record the practice time. To do that, I am going to create a web database and php accessors so that I can load and update practice time from the phone or computer. While doing this conversion, I am going to make a few changes:

  1. Remove the list of pieces practiced per day. It would make the database more complex and I never use the feature.
  2. Make the database multi-user. This will allow me to publish the application and Android app. I am not sure if that will ever happen, but the software has been useful for me, so it might be appreciated by others too.

This will be the first time I have made a multi-user web database, so I am debating how to handle security. I want each user to only have access to their own data, but don’t want the overhead of encrypting all the data.

After my experience with the DurationAlarm application, I suspect that the Android app will take most of the time. But all of the GUI elements that I will need are built in.

Bialetti Moka

For Christmas I asked for and received a Bialetti Moka Coffee Pot. Check out the wikipedia page for a complete description.

It is a great little device which makes 3 shots of espresso on the stove top. It takes about three tablespoons of grounds and you fill the base with water. After about 2 minutes on the stove, the water boils and the steam pressure forces the water up through the grounds, up a stem and into the top of the pot. It takes about 20 seconds for all the water to run through the coffee once it boils. Then you just pour out your three shots of espresso.

Duration Alarm

I have had an Android phone for a while now, and one of the reasons that I picked that particular phone was so that I could create my own applications without going through a central marketplace. Until now, I have never actually done it. The Android marketplace has had all the utilities and apps that I have wanted. But I’ve decided that I want to learn how to write software for Android and there is an app that I have always vaguely wanted and haven’t found.

The app is a duration based alarm. This is a common way to set an alarm for a nap, but I would like to use the same system for an over-night alarm. Since I don’t have a day job, I don’t have to get up at any particular time, but I’d like to limit my sleep to the amount of time I need.

The application is simple enough to be a good problem to learn Android development with.

I have had bad experiences with Java and eclipse in the past, so I’ve decided to do all my Android development in a virtual machine. I used Oracle’s Virtual Box and an old copy of windows XP. While the Virtual Box software is nice (especially since it is free), this took a lot longer than I had expected. I had forgotten how old windows XP is and I spent hours installing updates. Installing eclipse and the android SDK went fairly smoothly and once installed, I was able to hook up my phone and run a sample app through the VM.

The Android SDK documentation is good, and the sample apps provide a lot of examples to follow and I was able to make quick progress on my program. The GUI builder is not bad, but I spent half the time editing the XML directly anyway. The hardest part was the lifecycle. It takes a while to get used to the idea that your program can be killed and re-started with very little notification.

The app took about three days of me working on and off. I was impressed by the Intent system which allowed me to easily use the built in alarm software to handle the alarm part while my app just does alarm scheduling. I was least impressed with the resource ID system and java in general. I have always disliked java and this project reminded me of all the ways that java makes my code ugly and my coding sloppy. There may be a better way to do this, but the default mode for the resource ID system makes all the GUI elements into global variables.

I used the local database to save off the user’s last alarm duration. Once I got used to it, that is a very convenient system. Much like what is built into C#.

I have no plans to put the completed app on the Android Market. It works fine, but I have no desire to test it on other phone models.

Price Tracker – Software

I have added a new feature to my personal PriceTracker application. I can now add computer games to the wishlist and get price updates from Steam. Since Steam doesn’t have an API like Amazon, I am simply scraping their web page. This makes the application even less likely to be released, since Steam could change their page layout at any time.

Price Tracker – Watch list

The PriceTracker application is mostly complete. It keeps track of products and has become a handy tool, if mostly for keeping my wishlist. I have just added a new “Item Alert” feature to the program. You give the program the name of an author or artist that you like and it will watch for new releases by that creator. Here is what the screen looks like:

Pressure Cooker

I inherited a pressure cooker (among other things) from my Grandmother. I have been wanting a pressure cooker, but have always been a little scared of them. When I was considering buying one, there were a couple features that really appealed to me. The first was the cooking speed and the second was the higher pressure cooking things more completely. Living in Denver, I have had a lot of trouble cooking beans till they are soft like a canned bean.

The pressure cooker that I inherited is an older model “Magic Seal” that has a rocking 15 PSI weight and a safety gasket. I was pleasantly surprised to find that the rubber seal (not pictured) was still in good shape and that you can still get parts for this model online.

I have tried a lot of different foods and have had mostly good results. Beans come out soft and creamy. Tough cuts of meat can be cooked quickly. Chicken becomes shreadable in 20 minutes. If you haven’t used a pressure cooker before, it is similar to making something in a crockpot except that hours worth of slow cooking are replaced with 30 minutes of pressure cooking.

My favorite foods to pressure cook are pinto beans, steel cut oats and Dutch vegetable whip. The last is a recipe that was included in the instruction manual:

3 c. diced potatoes
1 c. diced carrots
1 tart apple, peeled and sliced
1/2 onion, sliced
1 c. water
1 tsp. salt
1/8 tsp. pepper
2 tbsp. butter
1 tsp. chopped parsley

Place all vegetables in a pan (except parsley) with water and cook until vegetables are done. Mash, add butter and whip until fluffy. Garnish with parsley. If you have a pressure cooker, cook 3 minutes at 15 pounds of pressure. Cool cooker at once.

 

I was a little disappointed with cooking brown rice. I had hoped to save time, but by the time the cooker comes up to pressure and then slowly comes back down to normal pressure, the time savings isn’t much at all. Same with steel-cut oats. It takes longer (about 45 minutes total) in the pressure cooker instead of ~15 minutes on the stove top. Of course the oats are so much softer and creamier after pressure cooking, so it is worth the extra time. Anything that can be cooked with the “fast release” method (running the cooker under cold water to quickly drop the pressure) is significantly faster. But all the grains and beans are “slow release” (meaning you just wait for the pressure to drop on its own).

Something that I hadn’t really considered is how much less energy it takes to cook some foods. Once the pressure cooker comes up to pressure it takes a very low setting to keep it going. And since the cooking time is already much shorter you use quite a bit less power. I don’t really have a good feel for how much gas it takes to cook compared to a water heater or furnace, so I don’t know how much this really matters.

Price Tracker

I am starting development of a tool that will track the price of items at Amazon.com. I will build a wishlist of items and the program will check the price of each item daily. It will let me know if the item is on sale and what the current discount is.

There are tools online for doing the same thing, but I’d rather not enter my wishlist into a website and I’d rather not get more email.

Since the program is for my own use, I’ll add items to the tracker by going to Amazon.com, finding the item, and then entering the ASIN into the program.

The program will use Amazon’s Product API to get a bit of product information and the current price.

I am going to write this program in C#. I will be able to re-use quite a bit of code from my MediaDB application which also uses the Amazon Product API.

Tomato Conserva

I made some “tomato conserva” today. I started with 3 lb of tomatoes and ended up with 6 oz of a thick tomato paste. The flavor is incredible though. It is like tomato essence. I got the idea from here:


I’ve also been processing the basil harvest. So far I have spent two hours picking basil leaves off the plants and I probably have another hour to go. I am drying most of it, but I have frozen one batch.