javascript – 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 javascript – 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
Fair Dice Roller https://blog.chadweisshaar.com/2013/02/26/fair-dice-roller/ https://blog.chadweisshaar.com/2013/02/26/fair-dice-roller/#comments Wed, 27 Feb 2013 03:27:15 +0000 http://gator3305.temp.domains/~cweissha/blog/?p=308 Continue reading "Fair Dice Roller"]]> I have finished an HTML/javascript version of the fair dice roller. The fair die roller makes a die or dice less random by tweaking the probability of each roll so that the rolls come up in the correct ratios sooner. Check it out here. Or look here for a lot more detail about what this app does.

One of the first board games that we played over and over was Settlers of Catan. We got a lot of enjoyment out of that game, but the more we played it, the more frustrated we got with how random the game could be. We almost always played with the random board, but the initial city spots could vary so much in quality that picking first could be enough to win the game. But even more frustrating than the randomness of the board was the randomness of the dice. It seemed like some games we would roll three sixes for every eight. In others we would have long streaks of fours or tens that could win the game for the player on those tiles.

To solve this problem with a game that we otherwise still enjoyed, we created a fair board builder and fair die roller. The board builder would try to make a board that was balanced for all the players and the fair die roller would try to even out the distribution of rolls within a single game. The first version of this program was in Java and Java Web Start. As Java and especially Java Web Start fell out of favor and I learned C#, I re-wrote the application in C#. The C# app was great, but could be a pain to install at friends houses before a game. At my last job I learned Flash, so I re-wrote the fair die roller and board builder in Flash. Now that Flash is falling out of favor, I have re-written the fair die roller again in javascript.

Like the other re-writes before it, this version has been a learning experience. I have programmed in javascript before, but for this application I decided to learn and use jQuery. jQuery has some great features and there is a lot to like, but I would have to say that this version of the fair die roller has taken me longer to build than any of the others except the original in Java. I am not an expert at HTML or CSS and I spent a lot of time fighting with the layout of the page.

You can check out my latest fair die roller here. You can also compare it to the previous versions in flash, c#, and java.

I’d like to eventually add the fair board builder. But for that I will probably try to learn the HTML5 canvas. We also don’t play Settlers as much as we used to, so that isn’t a very high priority right now.

]]>
https://blog.chadweisshaar.com/2013/02/26/fair-dice-roller/feed/ 2