Category Archives: Books

God’s Debris Book Review

God’s Debris is not a long book, but you might be thinking about it for a long time after you read it.

It is a thought experiment, told in a fictional conversation between a delivery driver and an old man. It seems as though the author, Scott Adams, has put a good deal of thought into the questions and answers that make up the conversation.

There are a number of topics under discussion:

  1. Probability
  2. Free Will and the Soul
  3. Light and Lightspeed
  4. Gravity and Magnetism
  5. God
  6. Awareness

As well as a few others, but these were some of the ones that came readily to mind.

You don’t have to agree with any of the points that are made to find value in the perspective. Personally, I disagree with some of the assumptions and starting points that lead to the conclusions presented.

Overall rating 10/10 because it will challenge your beliefs and make you think about things that we take for granted about the universe we live in. Maybe you don’t know as much as you think you know?

Check out the full reading list for the first part of the year here.

Keep getting wiser, stronger, and better.

Snow Crash Book Review

I have finished the first of the books I put on my 2022 reading list. I decided to start with the fiction story Snow Crash by Neal Stephenson.

This review is going to be short in order to try to keep spoilers out.

I cannot recommend this book enough!

This is great sci fi. Its not fantasy. The world presented seems like the technology could exist, a future like this could exist.

The Setting

The story is an wild adventure thru a crazy future west coast United States where almost everything has been broken up into “franchises”. Almost like if every fast food restaurant parking you turned into or suburban community was like visiting another country.

Technology is fairly advanced. Computers draw a virtual reality right onto the retinas. Skateboards have smart wheels that can change their shape to terrain and give a smooth ride.

There is a metaverse, maybe one of the origins of the word. A big digital planet with digital real estate. People interact, work, and communicate there.

The Heroes

The hero of the story, named Hiro Protagonist of all things, is a old school programmer who is also in a reading friend of mine’s words a “samurai pizza delivery driver.” He helped in the original creation of the metaverse.

Working alongside him is a young skateboarding delivery courier who goes by Y.T.

Both of their lives are at risk at various times throughout the story as they unravel the mystery of Snow Crash.

The Plot

The plot seems to be centered on the question, “What if your brain could be infected like the software in a computer?”

The story centers around a mystery virus called Snow Crash which is an old term for a computer crash that left your screen full of static or snow. The virus is actually a thinking virus. One that affects the brain at a fundamental level. Specifically the brains of people who understand how to program computers.

Who is making this virus and why?

Our heroes must dig up information, make daring escapes, and face the notorious big bad guy Raven.

My Thoughts

I really enjoyed the story. It has a touch of the absurd that hits my sense of humor just right. Their is a good split between computers and programming and real world mayhem. The way mythological, historical and religious ideas are blended together is done in a way that makes them seem plausible.

The idea of someone being able to program your mind if they had the right words or images is something worth thinking about. Partially because there are people trying to figure out how to do that every day. Marketers trying to get you to buy their products. Governments and politicians trying to get you to support their policies. Friends and family who want something from you or think they are trying to convince you to do what is best for yourself.

What kind of guards or anti-virus do you have for your mind to keep out the garbage that is trying to infect it?

Keep getting wiser, stronger, and better.

Win Bigly: A Review

We as human beings like to think of each of us is rational most of the time. But what if we aren’t?

In Win Bigly, Scott Adams takes you through how persuasion works and why we make decisions. His primary example throughout the book is the largely unexpected win of Donald Trump in the recent election. But if Scott is to be believed, he was pretty certain Trump would win from the get.

The book is a great read and has tons of value in it. I will just briefly talk about some of the points I found both memorable and interesting.

Techniques that Stuck

The whole book is fascinating, as well as each of the persuasion tools. But some of them stuck out and lodged in my brain.

Anchoring: starting off with an extreme or unreasonable request. If you want negotiations to land on your side of the middle, start with a valuation strongly in your favor. This will influence people to believe that the middle is closer to your anchor value. One of the reasons this tool stood out is I had heard of it before. It is a negotiating tool I learned about in Never Split the Difference, a great read on how to become a better negotiator.

High Ground Maneuver: when you take a problem out of the details and generalize it to something everyone agrees on, you both take away specific targets and make people who want to take it back down to the details look petty. The example in the book was how Steve Jobs handled a problem with the iPhone 4.

If you don’t remember, there was a problem where when you held the phone in a specific way (the way most people held the phone) you ended up covering the cell antenna with your thumb and it would drop calls. Did Jobs come out and apologize? No way. He came out and said that all phones have problem and they wanted to keep there customers happy. The High Ground Maneuver. One of the reasons this stuck is because it seems practical in daily disagreements and debates.

Two Ways to Win, No Way to Lose: if you can come up with a strategy that has positive outcomes whether it succeeds or fails, you can persuade people to use that strategy. Who doesn’t want to do things that only have upside? One of the reasons this stuck with me is a key to success is having this mindset about almost everything. If you “fail” at a job or a business, you still win because you learned.

Interesting Bits

The following list is of other parts of the book that I found thought provoking and entertaining:

  • Cognitive Dissonance and Confirmation Bias
  • Hypnotism
  • The Persuasion Stack
  • How to tell if you are living in a simulation

Further Reading

If you want more information from scholarly sources on whether or not people are rational and how they are persuaded, you might try Predictably Irrational by Dan Ariely or perhaps Robert Cialdini’s books Influence and Pre-Suasion.

Keep getting wiser, stronger, and better.

Books I Read in 2017

This may or may not be a complete list as I did not keep perfect track of my reading last year but I will definitely highlight some of my favorites and add to the list as I remember them.

This is mostly in order of the ones I remembered strongly and that had an impact on me.

How to Fail at Almost Everything and Still Win Big – Scott Adams

Not only is this book an entertaining read, it contains solid practical advice as well. Scott Adams breaks down some of his personal beliefs and habits that have led to his success. The main theme being, your goal should actually be to build systems that will guarantee success over and over rather than some end result (like a million dollars). He has an interesting point that often you can combine enough skills you are just OK at to make a powerful skill stack, in his example writing, drawing, humor, and knowledge of the corporate world.

Win Bigly – Scott Adams

To give you a sense of how good this book was, I got it for Christmas and finished it in less than a week. Win Bigly is a dive into persuasion, primarily the persuasion used during the recent election. If you are still scratching your head as to how someone so socially unpopular became elected president, this is definitely worth a read. It will arm you with a new perspective about the way people act.

The ONE Thing – Gary Keller

If you have more than one priority, then you have no priorities. The ONE Thing gives a simple but powerful question to help determine what that priority should be. The question is “What is the ONE thing that by doing it, make everything else easier or unnecessary?” When you answer this, you have your very next action to take. Then ask the question again. You may be thinking, “Why do you need a whole book about that sentence? Seems pretty straightforward.” I might agree but I read the book and it contains a lot of other valuable information to go along with this powerful principle to help you answer that question. It also provides 7 different areas of life in which to apply the question. If you only read one book this year, I can recommend it be the ONE Thing.

Sell or Be Sold – Grant Cardone

While it is definitely directed toward salespeople and the sales profession, this book has a great foundation in a positive and empowering life philosophy. Grant’s theory is that just about everything is sales and we are always selling, so why not be good at it. Whether you are selling yourself to your boss for a promotion, to a new company to hire you, looking for a spouse, or actually selling a product to a customer, the principles and ideas in this book will help you get there.

The Complete Software Developer’s Career Guide – John Sonmez

If you are a software developer, are in school for anything related to software, or even considering going into any computer related field, you should read this book. Stuffed with valuable advice and information about basically everything you need to know when getting into software development. The title says it all. Might recommend this on on kindle though as it is incredibly thick (796 pages). Could also recommend the audio version that John narrates himself.

Fiction

I always enjoy a good story and as someone who is aspiring to be a great game designer, I think a good fiction base is essential for world building in games. If you are looking to become a game designer, make sure to include some good stories in your reading to help you become a better story teller.

The Tawny Man Trilogy – Robin Hobb

I was introduced to Robin Hobb’s books by a friend several years ago and enjoyed them immensely. So when I spotted the first 2 books of this trilogy on the shelf at my local goodwill I grabbed them to see if they were any good. Turns out they were and I bought the final part of the trilogy on Amazon to finish it up. This set ties up the story began in the Farseer Trilogy also by Robin Hobb. If you are looking for a fun little fantasy adventure, look no further.

The Silmarillion – J. R. R. Tolkien

To be perfectly honest, my bookmark is only halfway through this one. It is a tough read. For perspective there is a 40 page list of names at the back for reference. But for world building, it is an excellent source as Tolkien draws on the mythology of countless cultures to piece together the creation of Middle Earth and the beloved realm of Lord of the Rings.

The Year’s Best Science Fiction – Seventeenth Annual Collection

I found an anthology of curated science fiction at a Goodwill a few years ago and really enjoyed the odd and entertaining short stories in it. I found another one last year and picked it up as well. Ton of good stories in it.

Again this is not a complete list of everything I read but definitely some of the better stuff, and any of them would make a great read. There are at least 5 books sitting nearby with bookmarks partially the way through them that I will ideally finish this year.

Keep getting wiser, stronger, and better.

Getting Started with Xamarin: Gathering Resources

One of the first steps with learning anything is finding available learning resources for it. So today I am just finding a list of various tutorials, blogs, podcasts, books, and video to use for self teaching.

Note: I did not thoroughly inspect any of the resources in this list. Just basic searches and brief scan of the site to come back to later if it looks like it might be useful.

Books

Some people hate reading. If thats you, go ahead and skip this category. I for one love reading, though I definitely prefer good fiction to technical books.

A quick Amazon search will give you books like:

  1. Xamarin Mobile Application Development: Cross-Platform C# and Xamarin.Forms Fundamentals 1st ed. Edition
  2. Xamarin: Cross-Platform Mobile Application Development
  3. Mastering Xamarin.Forms

I would encourage you to go to amazon and search for Xamarin and see what comes up.

Blogs

Podcasts

Written Tutorials

Video Tutorials/ Youtube

There’s More

There are other resources out there but this is just to get started with. Also some of these links are to another list of link.

After getting an understanding of the breadth and scope of what learning Xamarin will cover, I will be picking a more narrow topic and exploring it further.

Fear

As I sit to write this post, I feel small twinges of exactly what I am writing about. Fear that it is pointless to write this and that it is a waste of time. But it needs to be written because Fear is exactly what will keep you from making a great game or doing anything great.

Another Name

Another name for Fear that has been given is the Resistance. Most of the people I have heard use this term reference a book called The War of Art by Steven Pressfield. I have written a little about this Resistance before, but I think it is such a major factor in holding people back, myself included, that it needs to be readdressed occasionally.

Common Fears

In one of the classic books on success titled Think and Grow Rich, the author list 6 categories of fear that most fears can be grouped under.

  1. Fear of Poverty
  2. Fear of Criticism
  3. Fear of Ill Health
  4. Fear of Loss of Love
  5. Fear of Old Age
  6. Fear of Death

Today we will look at the fears of poverty and criticism because they seem to be the most likely culprits in keeping creative people from doing great things.

Poverty

Fear of poverty is characterized by things that keep you poor such as worry, doubt, indecision, and procrastination. It makes you overcautious and unwilling to take the risks which you need to take to become richer. And often the risks are not really risky at all. It turns out it is usually more risky to keep the status quo than to make the changes necessary to achieve success.

Criticism

For writing and making games especially this is a big one. I think it is the one that keeps me from wanting to hit the publish button every time I write a post and that keeps me from wanting to show someone a rough version of a game.

You are not likely to become poor from writing for free on the Internet or from showing people the games you are making. However, you are likely to receive some criticism, especially if you have any sort of audience. It is impossible to make everybody happy. But often the criticism comes from people whose opinion of us does not matter. As far as games are concerned, criticism is exactly what we need. We need fresh eyes to take a critical look at our games and we need the criticism and insight that they offer.

There is a fairly well known quote from Theodore Roosevelt that says

It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat.

What Do We Do?

There are a couple of ways to get past the fears. One is to talk about them, they hate that. The part of your brain that likes to bring up fears does not like you to look at them directly and consider the worst outcomes and the likely outcomes.

Another way is to ask good questions. What is the likely outcome of performing this action? What is the worst outcome? Who might criticize me and do I care that they do? Who am I helping by doing this? Start asking yourself questions about why you don’t want to do something.

A final way of getting past fear is just make what you want to do a must and turn it into a habit. Every day you will do this thing. It helps to make it the first thing you do when you get up.

I hope this help you get past some of your fears that are preventing you from writing that blog post or showing someone the game your are working on.

Use a Sharpener

While reading through Clean Code today, I was surprised to reach the end. Even though there were 80 or so pages left in the digital version of the book, they were all appendix and index. So today is the “what have we learned day.”

Keep It Sharp

One of the most common stories about self improvement is the story of the man felling a tree. Usually this man has a saw or an axe and is working very hard but making little progress. A friend comes by and notices the tool is very dull. When this is pointed out, the man felling the tree usually says that he does not have time to sharpen his axe because he has to get this tree down. Most people can see the irony that if he would spend a little time keeping the axe sharp, the tree would be down quicker.

This is the point of reading books and doing other forms of continuous education. As creators and designers we need to keep our skills sharp so we can be more effective.

Fragrant Code

The essence of Clean Code is summarized nicely in its last chapter called “Code Smells.” It gives a list of heuristics of “smells” that, if you find them in your code, can be warning signs of poor code design.

Importance of Clean Code

One of the most beneficial things that I have gotten from learning how to write cleaner code is being able to come back to code I wrote a week ago and more easily pick up where I left off. Sometimes life happens and I don’t get the opportunity to work on my games every day. And one of the things I noticed as I was reading this book was a lot of the time as I tried to make games quick and with my limited time, I sacrificed a lot of code cleanliness.

And this is ok. But what I did not do, and what is very important to do is go back and clean up or refactor that original code. Otherwise your pace will start to slow down as you dig through to find what that function does and have to rewrite that other one to handle some new case. You will be trying to chop the tree down with a dull axe.

So Sharpen Yourself

Knowing that you need to stay sharp doesn’t do a whole lot. You have to actually take the time to read, to watch and to learn. If you write any code at all, I would recommend reading through Clean Code if you haven’t already. And if you have, read it again.

Even if you never plan on writing code, just the principles that help keep code clean will help you keep designs clean.

10/10 Would recommend reading.

Book 1 of 2016 Review – The Art of Game Design

I wrote an initial review over the first few chapters of the book earlier this year, then quickly realized with the types of notes I was taking it would take forever to finish the book. Well it took 5 months anyway with everything I had going on. I suspect if I had focused on it bit more I could have finished it in 1 month no problem. This is a very brief set of notes with a thought about every chapter.

Rating 10/10

This book is fantastic. It is essentially 500 pages of great ideas and questions to ask yourself when making a game. This may sound overwhelming and it is a little, but just get 1 or 2 of the ideas at a time. In fact, there is a separate little deck of cards that can be bought (or you can make your own) from the “lenses” in the book. Highly recommend anyone who is interested in games creation, game design, or the game industry read through this book.

Notes and Thoughts

The only way to be a game designer is to design games (and make them). So if you want to be a game designer say “I am a game designer” and go make games.

There are several important skills every game designer can have but the most important is the ability to listen. Not just listening to what people say, but also to their body language and other non verbal communication.

As a designer, you are really designing an experience that the player(s) of the game will have. Then you design a game that will deliver that experience.

Games are made for players. Who is your player? Ofter written as, who is your target demographic?

Even though people usually interact with the game through some sort of interface, the experience you design actually takes place in the player’s mind.

Games are made up of different elements. Only one of those elements is the game’s mechanics. This includes rules of the game and the playing pieces and interactions.

Balancing the game’s mechanics is very important to the experience.

The mechanics of the game support puzzles in a game. By this we mean that there is some sort of problem solving in the game caused by the mechanics.

All games have an interface so you can play them. It is a loop. Player puts inputs into interface, game interprets and gives an output, player interprets the output and gives a new input. The ideal design is to have the interface add to the experience that is being designed.

Interest curves are very important for judging experiences. One of the most effective interest curves is well known and is basically a short period of rising action at the beginning, a small drop in action, then a longer period of rising action to the climax of the story. However the best interest curves are fractals of this curve so that a small arc of the story along this larger interest curve will also follow the same pattern.

Stories are one type of experience. The dream is to have a completely interactive story with open endings. This is both difficult and impractical for now (see this post I wrote about branching explosion of story writing). There is good ways to design story into the game and the book has several good tips.

The game and the story can be merged together with “indirect control.”

Stories and games take place in worlds. Some of the best worlds are those that people actually want to visit and even pretend to visit and translate into other forms of media well.

There are characters in our worlds. We want to create compelling characters.

Worlds contain spaces, we usually call them levels. You can use the design of the spaces to create a better experience through giving visual clues the players may not even notices but react to and follow.

The aesthetics of the world define its look and feel. Sound, art and the technology used to create the world all work together to help get the experience where you want it.

Some games are played with other people. This can sometimes get a little tricky.

Sometimes communities form around games. It is important if you are designing a game where you hope a community will form to build in support for a strong community. The author gives several good suggestions and examples of ways to build a strong community.

Game designers usually work with a team (even if it is only a team of 1 other person). Getting buy in from everyone on the team is super important. Keep communication levels good.

Sometimes the team communicates with documents. Make sure to not let them get stale.

Playtesting is the key to a good game. You can never playtest enough. You need to ask the playtesters: Why, Who, Where, What and How?

The team builds the game with Technology. Technology can be tricky, especially on games that are being developed over a multi year cycle. Choose carefully.

Games usually have a client. By this we mean someone who is financially backing the game.

The designer usually gives a “pitch” to the client to get them to buy-in to the idea of the game. There is a list of tips for how to give a successful pitch.

Most of the time, the client (and you as the designer) want to make a profit from the game. You should spend some time learning the lingo of game sales and figuring out the business model of the game.

Games actually change the people who play them, the book uses the word “transform.” Games can be both good and bad for you.

Because of the affects games can have, game designers have certain responsibilities.

Every game designer has motivation, what’s yours?

The End

Seriously, go get this book and read it. Even if you don’t want to design games, it still has valuable ideas for anyone wanting to get into design or creation of software.