Gaming Update, September 2018

Forgive me, it’s been a while since my last gaming update. So, what am I playing?

Well first off, I’m officially done with Hearthstone. It’s a shame cause I like the game, but the price has just gotten out of control.

Paperkut

I was playing a bunch of World of Warcraft over the summer and into the new expansion. I leveled my rogue Paperkut to 120 but ended up unsubscribing right when the raid came out. I’m not interested in doing the whole “guild and 2-3 nights a week” raiding schedule and while I’m sure I would enjoy the braindead yet soothing process of leveling and gearing my alts it will still be there for me in a few months. For now I wanted to try some new games and put some more time into programming side projects.

After WoW, I went retro, starting games of Wind Waker, Earthbound and even a Pokemon Platinum Nuzlock. I consider them all still active playthroughs. Since my last nuzlock update I was able to finish the second gym with only one death so far. (RIP Perch, the Starly.)

And finally, last weekend I bought Cities Skylines — and oh man am I having fun building my cities. I’ll fault the game with having a poor built-in tutorial process but I was saved by lots of helpful web tips and tutorials. The base game is $29 with lots of paid for DLC. You don’t need the DLC to get started so if you fancy city simulators and have not checked it out yet, I do recommend. PC preferred, since it has a large mod community.

Let me know what you are playing! Email is fine, but blogging is better. See ya next time.

ElixirConf 2018 Notes

After attending ElixirConf I am as confident as ever that Elixir is a language, community and ecosystem I want to continue to personally invest and participate in.

About two years ago I made the decision that I needed to diversify my technical skills outside the Apple ecosystem. I then went on to experiment and research lots of different languages and frameworks, including EmberJS, Go, Rust, Elm, HTML5 updates, React and Elixir.

The Elixir interest started from a broad recommendation from Dave Thomas who I had years before followed heavily while doing Ruby on Rails development. Elixir also had gotten momentum from my interests in Functional Programming and looking to solve problems outside of traditional Object Oriented Programming design patterns. Over the last few months I’ve gotten deeper into Elixir and I really like what I’ve found.

I’ll do a post in the future about why I’m liking Elixir so much. It’s a potentially large topic and I want to give it the space it deservers.

ElixirConf was a great event. Two days of training and two days of conference sessions; I took it all in. My personal estimate would put the training day attendance at around 150 and the full conference at around 500.

While educational, I found the class pacing to be mixed. I felt one went a little too slow and the other a little too fast. There was a wide gamut of Elixir experience in the audience so I think it’s challenging for the instructors to find a pace everyone can agree with. That said, I learned a ton in each of the two more introduction-based classes I attended. I was envious of the more advanced classes that were covering GraphQL and hardware development using Nerves — I heard people were very impressed with them. Maybe next year.

For the conference days we had some great keynotes and session. I loved hearing José Valim (creator of Elixir) talk about the future of the language including the core teams failed experiments with adding a type system and why it’s not on the horizon. Chris McCord (creator of Phoenix) did a closing keynote, reviewing progress with the framework including a preview of Phoenix LiveView which was very impressive and has an opportunity to shake things up in the single-page app space. Aaron Renner had a great talk on taming complexity which mirrored some of my previous iOS code patters with way better naming. Aaron Votre’s excitement about GraphQL is contagious and I’m anxious to get my hands dirty. Andrew Bennett has some great tips in his Sustainable Testing talk. Daniel Azuma did a great job showing how we can mix and match Docker with traditional OTP deployments for unique benefits. Some time slots were competitive for my attention. I sadly missed Boyd Multerer’s Introduction of Scenic and Eric Oestrich’s Going Multi-Node session which both were well received from chat in the hallways. I’ll be sure to watch them on YouTube in the week ahead. In fact the majority of the conference keynotes and sessions are already posted on YouTube if you want to take a look.

Despite my general shyness, the community was very welcoming and friendly when I put myself out there. I had some great conversations during breaks and lunch. Hopefully these will continue on the community Slack and forums — I need to spend some more time with those.

Finally, everyone is hiring. Almost every speaker who represented a company said they were hiring. While I’m not looking for full time employment its relieving to see such hiring interest in a more niche language than say my current source of income, iOS.

Next year ElixirConf will be in Denver and assuming I find a way to keep Elixir active in my development schedule (I have a potential Elixir subcontract in the fall as well as some personal projects) I plan to be there.

For more on Elixir check out its homepage.

Photos

Self Employment Estimate Numbers

In a world of being self-employed you need to constantly be evaluating your finances. I was lucky enough recently to finish paying off some long standing debit and so I did a revisit. Today I want to share with you how I do my estimate numbers and hopefully you can use some of these ideas to help plan your own independence and/or make sure your current indie life is in good shape.

The software I use to do this is Soulver. Think of it as a really smart text editor for crunching numbers. Watch the demo video on their site to see it in action. If you are not interested in Soulver, any spreadsheet should do fine. Just keep it on file somewhere so you can come back and rework it as needed.

First thing you need is a list of personal expenses. If you are single you can do this yourself but if you are married or in a relationship where you share expenses get them involved too. You want to have a full and truthful collection of costs here. The goal is understanding what you need to survive and ultimately what you can cut to help make your dream that much more possible.

I did this by first using my credit card and debit card statements as a source. Every item needs to be recorded. Make three lists, some will be monthly expenses, some yearly expenses and some one-time expenses. Once you get done with the statement history try to brainstorm where the undocumented cash goes. Hopefully these lists will help.

Personal Monthly Expense Examples:

  • Rent / Mortgage
  • Home / Renters Insurance
  • Car Payments
  • Car Insurance
  • Car Maintenance
  • Car Fuel
  • Health Insurance
  • Expected Monthly Copays / Medicines
  • Netflix
  • Hulu
  • Monthly Gaming Subscriptions
  • Game Purchases
  • Eat Out Food
  • Spotify
  • iTunes
  • Patreon Gifts
  • Podcast Subscriptions
  • Haircut

Some of these items might be hard to quantify as monthly. If so just make a yearly entry for them.

Personal Yearly Expense Examples:

  • Christmas Presents
  • Birthday Presents
  • Yearly Clothes Budget
  • Vacations
  • Car Inspection

Once I have my yearly and one time costs I like to total them as a monthly expenses (YearlyTotal+OneTime/12) so I can later think in terms of months. This is fine for back of the hand estimates but if you need to plan out your money for specific times (summer vacation, fall back-to-school kind of stuff) you’ll need to do more planning.

Now do the same for your company.

Company Monthly Expense Examples:

  • Coworking Membership
  • Downtown Parking
  • GitHub Membership
  • Linode Hosting
  • Amazon Hosting
  • Books
  • Google Apps
  • Verizon Phone
  • Dropbox
  • Micro.Blog
  • Clicky / Web Statistics
  • Cushion / Finacial Software
  • Frontend Masters / Online Education

Company Yearly Expense Examples:

  • Two Conferences Events: $4000
  • Tax Preparation
  • New Mac every other year: $4000 × 0.5
  • New iPad every other year: $1100 × 0.5
  • New iPhone every other year: $1000 × 0.5
  • Vimeo PRO Membership
  • Apple Developer Membership
  • Trello
  • Hover Domains
  • Other Software

Notice how I distribute the costs of various hardware upgrades, which are bi-yearly, and do keep in mind this is all for rough estimating. I in-fact have held off on upgrading my iPhone recently so that’s extra money in the bank (kind of).

Next I work out my income:

## hours a week
## hours × $### per hour
{WeeklyRevenue} × 4 weeks
{MonthlyRevenue} - {TotalOfCompanyMonthlyExpenses} tax-free
{AdjustedMonthlyRevenueA} - 0.10 for Savings
{AdjustedMonthlyRevenueB} - 0.30 Tax Estimate Payments
{AdjustedMonthlyRevenueC} x 10 months // assuming 8 weeks off
{AdjustedYearlyRevenue} / 12 months of payouts
{AdjustedMonthlyIncome} $/month personal income

This last number needs to be able to cover your personal expenses. Using this formula you can get an idea of how many hours and at what rate you want to target for the year. Also, just covering personal expenses is probably a risky goal. You might want to up that savings calculation until you have 12 months of living expenses in the bank.

These things vary person to person, hopefully you’ve found this post useful. If I’ve forgotten anything blog your additions and share along. Thanks for reading.