We were interviewed by Distract-O-Vision at Conclave of Gamers this year. We talked about the games that we’ve been making and the basic ideas behind the touch table. They put together a great video that shows off the touch table and games.
In February I was contacted by Mercury, a company that I worked for five years ago, about helping them with a project. The contract would last three months and offered good pay. They caught me at a good time and I agreed to take the job, starting right after we got back from PAX East.
Beyond saying that it was not a government contract and involved writing a distributed message processing system in Java, I don’t really have anything interesting to say about the job itself. It was better than many jobs that I have had (except for the commute).
I was surprised by how easily I switched back into the work routine. It made me notice some of the things that are “hard” about being retired. Not that I am complaining about being retired – it is truly a luxury. Continue reading “Contracting Job at Mercury”
We attended GenCon in Indianapolis with Mesa Mundi. Mesa Mundi had a booth setup in the vendor room where they had two Monolith touch screens and a Microsoft PixelSense screen. They also had a table in the exhibit hall with another touch screen where attendees could come for hour long games on the table. We spent most of our time in the exhibit hall running games of Hansa Teutonica, Bio Infiltrators and the rest of our touch games. I enjoyed the convention and really liked watching people playing Hansa.
Machine code games was assigned one of the touch tables at the booth and we ran demos of our software. The booth was very busy and people were playing our games almost all the time. We were very happy with the reactions that we got from people. They seemed to really like the games and were always impressed with the touch hardware. You can see more pictures of the booth during PAX here.
We have the first set of multi-touch games ready for sale! We are going to be giving away “Bubble Defender” and selling “Concentration Sweep”, “Temple Raiding”, “Yacht” and “Solitaire Dice”. Initially, they will be for sale at Peau Productions and bundled with tables sold by Mesa Mundi.
Today was our last day at Raytheon/Solidyn. After about 15 years as a software developer in the aerospace industry, I am retiring to pursue my own interests. I plan to do more reading, play the violin, and write the software that I want to write.
I’ve had some good experiences, made some friends, and learned some skills at work. But it has been a long time since I have enjoyed the job or found it fulfilling.
The SimFinance application is mostly done.
As is always the case, the software was more complex than I thought it would be. The main complications were due to the fact that my partner and I aren’t married. So the application had to try to optimize who paid the bills to manage the size of each of our accounts and how much taxes we each had to pay. The other big complication was trying to manage our traditional and Roth IRAs to minimize taxes each year.
There are some big things yet to do:
- Come up with a model for stock dividends. Right now, dividends are simply included in the return of the S&P. However, that is not really accurate, as the yield of dividends lags behind changes in stock prices. Also, taxes are due on dividends the year they are paid instead of the year the stock is sold. Those two differences may end up balancing each other out in the overall results.
- Investment strategy comparison. Would dividing our money between bonds, i-bonds, and stocks be better overall than having everything in stocks? Does the reduction in volatility pay off? Or is it better to just accept the volatility and maximize returns?
- More optimization post 60. The order of IRA withdraws should change after 60. Need to model medicare.
The model is giving us an 85% chance of success right now. I don’t really think that the things that are left to do will change this number significantly. It is surprising how much money we have to have to get a 95% chance of success and how much variation there is in the possible outcomes.
It is possible that treating the S&P 500 as a random distribution is wrong. While the historic data looks random, there probably are some underlying “fundamentals” that keep the stock prices within a range. I am not sure how to add that to the model besides trying to put an overall cap on the market returns.
I have been working on the SimFinance 2.0 application and have been struggling to find a way to simulate the stock market. (Note: I am not trying to predict the stock market, I just need a way to generate a random stock market return that is similar to historic returns)
My first idea was to use a normal distribution centered around the average return with the same standard deviation that the real data has. This was close to correct, but if I plotted sample returns from history against the normal distribution, the historical returns had much longer tails. Meaning that, in reality, there are more really bad and really good years than there would be in a normal distribution.
After doing some research (I am not the only one interested in simulating the stock market), I found that some people are using a Student-t distribution. After playing with the parameters of that distribution I was able to get a much more realistic curve. Based on the historical data for the S&P 500, I am using the following parameters for the distribution: DOF = 3.40234, SCALE = 35, OFFSET = 0.00725
In software, I am using the boost library to generate random numbers according to the student-t distribution.
I am starting work on SimFinance 2.0.
A long time ago, I tried to create a retirement analyzer/simulator. It would allow a user to enter everything about their finances, including their plans for the future. It then simulated the future by generating thousands of possible scenarios and displaying your odds of still having money when you die. It built these futures probabalistically based on historic performance of different investment types, the user’s life expectancy, etc. The project was too ambitious and I never completed it.
Now, as I consider retirement, I’d like to have this tool. And I realized that I could complete the project if I would limit the scope to just my own situation. It wouldn’t be useful for other people, but it would give me a better idea if I can really retire.
The old project was created with C++ and wxWidgets. I would like to build the new version in C# because it would be easier to create the user interfaces. But C++ would be faster for simulating thousands of futures month by month. It would also let me re-use some of the code from the original project. So I am going to compromise and build it with C++/CLI. I can use the GUI builder and the .NET libraries and also have the speed of native C++ for the time critical parts of the code.
After my job on Sonja at Raytheon ended in late April I continued to be a Paragon Dynamics employee, using their “bench” program. No one was really sure what I was supposed to do while on the “bench”, but I had to come in to their office each day and put in 8 hours of desk time. Some of the time was spent helping Paragon with proposals, computer maintenance and even an office move. But most of the time was my own to fill and I used it to learn C#.
I think of the language as a mix between C++ and Java. It is managed like Java, and has a large set of convenience classes (.NET), but the feel of the language is closer to C++. The Visual Studio IDE is a beautiful piece of software and makes putting together graphical applications simple.
To really learn something, I just have to start using it, so I have written some small applications. A couple of them are good enough to make public, and a couple aren’t.
I re-wrote the Media Database which tracks your books and DVDs using Amazon Web Services to download book/DCD data. It now uses C# instead of Java, so it is faster. And it uses SQLite to store the collection instead of a bunch of little files.
I wrote a Gallery Builder for creating a web page out of a set of digital photos.
I wrote a program to convert an image (jpg, gif, png, etc) into an icon.
And last, and least, I wrote a color picker app that bring up a color dialog and then lists the RGB/HSB values, the web hex code, and the color name.
Thanks to Paragon Dynamics for continuing to pay me while I learned C#.