Work – The Industrious Squirrel https://blog.chadweisshaar.com Mon, 06 Sep 2021 03:49:03 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 https://blog.chadweisshaar.com/wp-content/uploads/2016/07/favicon.png Work – The Industrious Squirrel https://blog.chadweisshaar.com 32 32 Working again https://blog.chadweisshaar.com/2021/09/05/working-again/ https://blog.chadweisshaar.com/2021/09/05/working-again/#respond Mon, 06 Sep 2021 03:49:02 +0000 https://chadweisshaar.com/blog/?p=1812 Continue reading "Working again"]]> I started a full time job last November. I’m a UCAR employee working for USGS. The job is 100% remote. I’m working on a project to modernize and replace legacy water use tracking and reporting software. The stack is PostgreSQL, Node.js, Nest.js, Vue.js. All deployed on Amazon web services.

I wasn’t able to get them to hire me as a contractor, but I’ve had very little interaction with UCAR outside of timecards and benefits. UCAR has good benefits and seem to be a good company. My only complaint is that the base salary is a bit below market.

This has been a large change from touch game development in many ways:

  • Working 9-5. There is certainly a lot of flexibility in my schedule, but much less than before. This took a while to get used to again and I’m still not thrilled with needing to be up at particular times for meetings and needing to coordinate vacations around work.
  • Javascript. The backend is typescript, but this has still been a big change from working in C#. Modern javascript/typescript is much better than it was in 2007 when I last worked with it. However, it is still a downgrade from C# and Linq. I do have to admit that it is a useful skill to improve.
  • Working with other people
  • Getting paid

The difference between this job and my last full time job is also significant:

  • Not having to dress up, pack a lunch, commute, and be trapped at the office makes the work so much nicer.
  • When I want to take a break, I can do something that I really enjoy instead of wandering around at the office.
  • It is harder to leave work behind at the end of the day, and I’m using my own hardware and A/C.
  • Zoom meetings are less frustrating than in-person. If they start on a topic I don’t care about, I can get some other work done.
  • I also feel like this job is doing something useful for the world. I’m more motivated by making a system for scientists than I was creating software at Raytheon. Even when I was working on the GPS project (which I though was going to feel useful), I was working on such a tiny component and the pace was so slow that it still didn’t seem like a good use of time.

Overall, the job is going well. I tentatively plan to stick with it for a while. I’d like to work fewer hours and have more flexibility on time off. I hope they will be OK with some leave without pay for the occasional long trip.

]]>
https://blog.chadweisshaar.com/2021/09/05/working-again/feed/ 0
Distract-O-Vision Video https://blog.chadweisshaar.com/2016/06/10/distract-o-vision-video/ https://blog.chadweisshaar.com/2016/06/10/distract-o-vision-video/#respond Sat, 11 Jun 2016 01:55:00 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=894 Continue reading "Distract-O-Vision Video"]]> 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.

We were pretty nervous about how this video would turn out. The interview was unscripted and pretty rough. We don’t have much practice giving interviews and I’m sure it showed in the original footage. But Distract-O-Vision did a good job editing it together into a concise video that makes the games look good.

]]>
https://blog.chadweisshaar.com/2016/06/10/distract-o-vision-video/feed/ 0
Contracting Job at Mercury https://blog.chadweisshaar.com/2014/07/01/contracting-job-at-mercury/ https://blog.chadweisshaar.com/2014/07/01/contracting-job-at-mercury/#comments Tue, 01 Jul 2014 22:36:48 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=607 Continue reading "Contracting Job at Mercury"]]> 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.

One thing that makes working easier than being retired is having a weekly schedule where someone else decides how I fill my time. It takes more energy to sit down and write this blog entry than it did to go into work every morning and do the tasks assigned by my boss. Part of the difference is that I don’t have to make a decision about whether to go into work each day, and another part is that I didn’t have to resist the desire to browse the internet or otherwise waste time.

It is also much easier to explain my “job” to people when I am employed. Having a job is easy to understand, and when I say that I am a software engineer it lets people make a bunch of (generally correct) assumptions about me. When I try to explain early retirement and game development, it takes a lot more time to reach the same level of understanding about what I am doing. It is also kind of interesting that it generally takes a lot longer for people to wonder if I am happy with a job, than with not working.

Finally, and most importantly, work provides me with a sense of self worth and accomplishment that is much harder to achieve when I am not working. Even if the job isn’t producing something that I would consider worthwhile, the fact that I am getting paid is enough of an accomplishment for the day to feel like a success. The bar is much higher when I am working on my own projects; just putting in time isn’t enough. I need to make real progress on something that I think is worth doing.

I have a feeling this sounds like I am complaining about being retired (the ultimate first world problem), so I want to say again that I love being retired and only took this job to buy some luxuries that I couldn’t afford on my retirement budget. But I was surprised by some of the advantages of working and wanted to share that experience.

]]>
https://blog.chadweisshaar.com/2014/07/01/contracting-job-at-mercury/feed/ 2
GenCon 2013 https://blog.chadweisshaar.com/2013/08/21/gencon-2013/ https://blog.chadweisshaar.com/2013/08/21/gencon-2013/#respond Wed, 21 Aug 2013 16:45:24 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=446 Continue reading "GenCon 2013"]]> 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.

GenCon is one of the largest gaming conventions, drawing about 50,000 people this year. It uses the whole convention center and much of the conference space in the nine adjacent hotels. Most of that space is taken up by people playing board and card games. There were an overwhelming number of games being played at any one time. The event catalog had hundreds of events each hour and there were over 9000 events that they didn’t list because the program book was already 350 pages. The convention ran around the clock with games scheduled even between 2 and 5 am. There were huge rooms dedicated to D&D, Pathfinder and Magic. The largest board game companies had big areas in the exhibit hall with tables for people to play their games. But even that wasn’t enough; there were pick-up games on any free table and even on the floor in the hallways.

It is hard to convey the shear number of people playing games. In this photo you can see maybe 1/4th of the exhibit hall. The exhibit hall had maybe 1/3rd of the total games being played at the convention.

The main focus of the convention is probably role playing games – both table top and live action. Also popular are the highly themed (Ameritrash) games and games with miniatures:

At PAX, we spent most of our time in the Mesa Mundi booth playing our short and simple games with people who walked up and describing the technology. At GenCon, we spent very little time in the booth and the majority of our time in the gaming room. Due to some technical difficulties, we had twice as many time slots to cover as we had expected; and since it was a last minute change, those time slots hadn’t been advertised to the attendees and were lightly attended. So GenCon ended up being less intense and busy than PAX was.

GenCon also had a different atmosphere than PAX. The audience at GenCon is older and seemed more serious. There seemed to be less excitement and energy, but more focus and planning. Many of the attendees had pre-scheduled their time and signed up for the games they wanted to play. PAX seemed more free form and less regimented. I would also say that PAX was better run. There seemed to be fewer problems and a lot more volunteers/staff at PAX. The GenCon audience is probably a bit more likely to buy a touch table, and we spoke to several people who owned one already.

Like at PAX, having a big marketing budget makes a huge difference. The big companies were using space in the vendor room to demo their latest games and Mayfair brought in huge versions of their classic Catan games. On the other end of the spectrum, Hansa Teutonica, still ranked #56 on BoardGameGeek.com, was only being played at our table.

There were some interesting attractions at GenCon. They had 15 battletech virtual reality pods setup in one of the main hallways with a screen where you could watch the battle. There was also an area where attendees could build elaborate card houses called Cardhalla. They used donated Magic the Gathering cards, and raised money by letting people knock it down by throwing change at the cards. There was also a Cthulhu and Ninja Turtle made of balloons.

We came away from PAX with lots of ideas to improve our existing games and ideas for brand new games. We were energized and motivated by the excitement of the people who came to the booth. GenCon didn’t provide nearly as many new ideas/feedback and we ended up mentally exhausted. I don’t know if it was because of the different atmosphere, not being in the main booth as much, or just because it was our second convention. On the plus side, at GenCon we got to meet a lot more people who shared our vision of table-top games on the touch screen. Most of our Hansa players immediately saw the benefits to having a computer version where you could still sit around the table, face to face, with your friends.

There are lots more pictures in the gallery.

]]>
https://blog.chadweisshaar.com/2013/08/21/gencon-2013/feed/ 0
PAX East https://blog.chadweisshaar.com/2013/03/26/pax-east-2/ https://blog.chadweisshaar.com/2013/03/26/pax-east-2/#comments Wed, 27 Mar 2013 02:41:39 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=331 Continue reading "PAX East"]]> We went to PAX East to represent Machine Code Games at the Mesa Mundi booth. PAX East is held each year at the Boston convention center and draws some 90,000 people.

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.

All the vendors are in 1/2 of the 516,000 square foot expo hall. Even with all that space, the floor was crowded with a large portion of the 90,000 PAX attendees. Another 1/4 of the hall is used by the board game vendors and game tables and the PC free play area. The final 1/4 is for lines and a food court.

We arrived Thursday afternoon to help with the setup of the booth and to get our software running. This was the first time that we had seen Mesa Mundi’s new Monolith table. It is a very nice piece of hardware that combines a high end Samsung TV with a narrow IR touch sensor in a steel frame. It feels very solid and looks great. The picture is very good and the tempered glass means that touching the screen (even pressing firmly) doesn’t create any distortion in the picture.

Setup was fairly simple for the Mesa Mundi booth, but some of the larger vendors had large crews and rigging to assemble miniature buildings for their booths. We also saw the Intel people setting up the PC free-play area. This was a bank of 360 computers where attendees could play a wide variety of games.

When the expo hall opened on Friday, the line of people waiting to get in was huge. It was about 15 people wide and stretched back 500 feet. When the hall opened there was a mad rush of people to the big name games and vendors. They aren’t allowed to run so there was a lot of fast walking. During this rush to beat the lines, our booth was all but ignored. But it wasn’t long before the hall was full of people, and for the rest of the day the booth always had about 15 people checking out the tables.

We attracted people to our table with “Pair Soup“. It is a quick and easy cooperative game that made it less intimidating for people to come over and play. If they liked the game and seemed interested in seeing more, we would play “Fas Jack” or “Got It“. These games are competitive, but still pretty easy to learn. For most people, this was enough. They were ready to move on or to hear about the hardware itself. But some people wanted to keep playing. Over the course of the weekend we played all the games that were for sale (except Hansa Teutonica) many times. We even played a bunch of our incomplete games.

A lot of people were pleasantly surprised that the tables were for sale now, that they were running on windows PCs, and that most TVs can be converted to a multi touch table. I think that some people’s initial impression was that the table just ran MCG’s games. There was a lot of interest in the tables for both business and personal use. Some of the best reactions we saw were from people who had played our games for a while and said “I’d love to be able to run my D&D games on one of these.” When we pointed them to the next screen, which was running d20pro, they were so excited!

We were really happy to see how much people enjoyed and liked our games. We even gave an interview and signed autographs for someone collecting autographs from game developers. Several people commented about how great it was to be able to sit around a table and play games and a couple people said that it was the coolest thing at PAX. Considering that we were sharing the expo hall with huge game companies featuring their multi-million dollar titles, it was nice to see people interested in such a low budget production.

There were a couple of disappointments: We had hoped to demonstrate our system for transferring game controls to a phone, but we couldn’t get a WiFi network setup. We brought a wireless router along, but we couldn’t get a good connection even though we were just feet from it. I had also hoped that there would be more interest from board game players. I had expected some people to have heard of “Hansa Teutonica” and want to see the computer version, but that didn’t happen.

Overall it was a very good experience. We came back with a lot of ideas for improving our existing games and making new ones. We made contact with some interesting people and learned a lot about the state of the game industry.

]]>
https://blog.chadweisshaar.com/2013/03/26/pax-east-2/feed/ 3
Games for sale! https://blog.chadweisshaar.com/2012/04/27/games-for-sale/ https://blog.chadweisshaar.com/2012/04/27/games-for-sale/#respond Fri, 27 Apr 2012 17:00:11 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=200 Continue reading "Games for sale!"]]> 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.

This is the first time that I have sold software. I have given away lots of software and have done an ad supported phone app, but this is the first time I am asking people to part with their money for something that I made.

Getting the software ready for release has been a lot of work. All of these games have been done and playable for a long time, but there are a lot of things that have to be done before software is ready for public consumption. Here is what we have been doing for the last week to get ready for release.

  • Support for windows touch events instead of just TUIO: We can sell to more people if we support windows touch events too. Unfortunately, windows touch events don’t have velocity information like TUIO events do. So I also added code to buffer up the incoming events and calculate a velocity. This also involved adding code to detect which touch events are coming in and only processing one or the other.
  • Support for windows XP: XP didn’t have touch events, so we had to be careful not to call those functions directly and instead call them through function pointers returned from GetProcAddress.
  • Support for lower-end hardware: We went through all of our graphics and reduced the sizes to at most 1024×1024 so that the games would run on older graphics cards.
  • Removed requirement for redistributable: The way that we were building and linking a font library was causing a dependency on the C++ redistributable, so that had to be changed.
  • Contracts: We wrote contracts for the two sites that will be selling the games.
  • Instructions: We had some instructions within each game, but we made those better and made PDF instructions and took screenshots of the games.
  • Remembering preferences: We added configurable options to some of the games and added a ‘fullscreen’ button to all the games. And we added saving those preferences between runs.
  • Installers: We used Inno Setup to create installers for each game and for the bundle of games. We learned about a few more options in the Inno program because we needed to only remove the game launcher once all of our software was un-installed, and we needed to clean up our saved preferences.
  • More testing.

Overall, I would say that we have spent a full week just on getting the games ready for sale. Some of that work went into engine improvements that will apply to all of our future games. And the next game that we release will have pre-made contracts and installers ready to go. If we end up releasing a lot of games, this time will be worthwhile, but I don’t really expect to make enough from this first set of games to justify the effort required to sell them.

]]>
https://blog.chadweisshaar.com/2012/04/27/games-for-sale/feed/ 0
Goodbye paycheck https://blog.chadweisshaar.com/2011/09/16/goodbye-paycheck/ https://blog.chadweisshaar.com/2011/09/16/goodbye-paycheck/#comments Sat, 17 Sep 2011 03:48:53 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=4 Continue reading "Goodbye paycheck"]]> 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.

 

I will mostly miss the non-work parts of work. The opportunity to meet interesting people, the daily walks by the golf course, and the geese.

]]>
https://blog.chadweisshaar.com/2011/09/16/goodbye-paycheck/feed/ 1
SimFinance Progress Update https://blog.chadweisshaar.com/2011/08/17/simfinance-progress-update/ https://blog.chadweisshaar.com/2011/08/17/simfinance-progress-update/#respond Wed, 17 Aug 2011 15:46:41 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=40 Continue reading "SimFinance Progress Update"]]> 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:

  1. 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.
  2. 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?
  3. 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.

]]>
https://blog.chadweisshaar.com/2011/08/17/simfinance-progress-update/feed/ 0
Student-t distribution for stock returns https://blog.chadweisshaar.com/2011/04/15/student-t-distribution-for-stock-returns/ https://blog.chadweisshaar.com/2011/04/15/student-t-distribution-for-stock-returns/#respond Fri, 15 Apr 2011 15:27:17 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=37 Continue reading "Student-t distribution for stock 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.

]]>
https://blog.chadweisshaar.com/2011/04/15/student-t-distribution-for-stock-returns/feed/ 0
SimFinance 2.0 https://blog.chadweisshaar.com/2011/03/26/simfinance-2-0/ https://blog.chadweisshaar.com/2011/03/26/simfinance-2-0/#comments Sat, 26 Mar 2011 15:17:46 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=35 Continue reading "SimFinance 2.0"]]> 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.

]]>
https://blog.chadweisshaar.com/2011/03/26/simfinance-2-0/feed/ 2