Wednesday, September 23, 2020

The Year In Review, Just The Leisure Time

Last January I did a review of how I spent my leisure time the previous year, and I set down a few expectations for the coming year, now past. It's time to look back and see how my actual activities stacked up to my expectations, and maybe learn something for the fresh year to come in 2020. I had big ambitions between reading, blogging, and playing, and not all of them were achieved. But, that's okay because it makes it easier to figure out what I want to do this year—some of what I didn't finish last year, and some new ideas and desires. How I spend my leisure time is very important to me. It should be at the same time relaxing and reinvigorating, enjoyable and enriching, soothing and stimulating. If one thing is obvious, it's that I still love to read because it hits all of those notes, and that is likely to continue in the year(s) to come.



Blog Posts

I'll start out again with what I've done on my blog, and I very nearly did everything I set out to do. I wrote 17 posts (not counting this one) instead of the predicted 18 because of how the 3-week intervals fell. They were almost all Tech Book Face Offs, except for the last two that were a general review of books I will read again and programming practice sites that I've enjoyed, and a random Physics Book Face Off that I threw in there in April to mix things up.

The most popular post by far was the review of books that I'll read again, which racked up over twice as many hits as the next most popular post, and it was pretty fun to write as well. This was not your normal list of best books because I'm tired of reading best-programming-book lists that put up the same old safe books like CLRS or Knuth's The Art of Computer Programming. This post had a little of that just because some of those books are great to reread, but these were all genuinely books that I want to read again, not just because they're instructive, but because they're enjoyable reads. They make my brain tingle. They get me excited about programming and learning (or relearning) new things.

Of the Tech Book Face Off posts, the top three most visited ones were Python For Data Analysis Vs. Python Data Science Handbook, How To Design Programs Vs. Structure and Interpretation of Computer Programs, and Seven Concurrency Models in Seven Weeks Vs. CUDA by Example. These were all good, but the one that was most fun for me was easily Game Engine Black Book [Wolfenstien 3D Vs. Doom]. Reading these books was a blast, and writing down my thoughts about them was just as fun and satisfying. I'm surprised it didn't gain more traction, but I'm pretty much done trying to figure out which posts are going to take off and which ones will fly under the radar of the Internet.

For the coming year, I'm planning on keeping up the same cadence, which means 18 more posts. That's really 18 posts, too. I checked. I didn't get to that exciting blog series I alluded to last year because the schedule was filled up with reviews, but I'm intending to start in on it right away this year. The book review posts will be much reduced as well. I've only got about a dozen programming books on my list that I'd still like to read, and I'll probably hold off on them while I work on this other project.

Technical Books

I really dug into the technical books this past year, even more than the previous year, and I just met my goal of 22 books (plus 2 pop physics books) while working through most of my tech book backlog. As I had hoped, most of these books were quite good. A fair number of them even made it onto my read-again list. There were only a few duds and one stinker. Here's a run-down of them, roughly ranked in order of preference and linked to the longer Tech Book Face Off reviews.

The Good
  • Game Engine Black Book: Wolfenstein 3D - Between the high level of nostalgia and the fascinating topic, there was no way this book wasn't going to top this list. It's an incredibly well-done guide to how Wolfenstein 3D was made.
  • Game Engine Black Book: Doom - Arguably, this book is even better than the Wolf3D one, but you should really read that one first so this one comes second. I highly recommend them both for anyone curious about how these legendary games were done on such feeble hardware.
  • Rails AntiPatterns - I loved the tactic this book took of showing bad Rails code, explaining why it's bad, and then showing how to fix it. Some books do this sporadically without telling you in advance, but this worked so much better, knowing that each example was intentionally bad from the start so there was no confusion about what was the right way to do things.
  • Data Smart - This was the most fun I've had reading a book on Excel spreadsheets. Not that I read many books on spreadsheets, but if I did this would definitely be the best. It's about implementing data science algorithms in Excel with humor, and it's so much better than it sounds.
  • Don't Make Me Think Revisited - I enjoyed the first book, and the revised edition is just as good. Learn all about how to design user interfaces that make sense, and have a great time doing it.
  • Structure and Interpretation of Computer Programs - A classic that still holds up today for teaching the fundamentals of programming and much more, this book has a steep learning curve, but the rewards match the effort it takes to get through it.
  • The Hidden Reality - This was a super fun and mind-expanding read, taking us through the numerous types of multiverse concepts that have been thought up by cosmologists. Brian Greene continues his excellent, approachable writing style with this enjoyable book.
  • Parallel Worlds - Michio Kaku does his own tour of the different types of multiverses we can conceive of, with a few more fantastical stories thrown in for good measure. This is another great book to read to get the high-level overview of this topic.
  • Facts and Fallacies of Software Engineering - You don't have to agree with everything in a book for it to be excellent, and that's the case here with Robert L. Glass' thought-provoking arguments about the software engineering industry. Still relevant after 17 years.
  • Professional CUDA C Programming - If you're interested in GPU programming and want to play around with your nVidia graphics card, this book has all the information you need to get started in a nicely written, diagrammed, and organized guide.
  • Python Machine Learning - It's a solid introductory text on the fundamental machine learning algorithms, both in how they work mathematically, how they're implemented in Python, and how to use them in scikit-learn and TensorFlow.
  • Data Science From Scratch - Fundamentals are so important to learning a topic well, and this book does a great job of teaching the fundamentals of data science by implementing the algorithms from scratch in Python.
  • Seven Concurrency Models in Seven Weeks - I've loved every 7-in-7 Weeks book that I've read, and this one is no exception. It's an entertaining read through seven different ways to do concurrent programming with today's technology.
  • The Non-Designer's Design Book - Learn how to design boldly in text and graphics with a few simple rules and clear, straightforward guidelines. Anyone and everyone who works around websites should give this quick read a look.
  • Getting Clojure - If you're looking for a fun read and a tour of the Clojure programming language, this is the book to pick up.
  • Effective Python - Every programming language has its beyond-the-beginner-level book on how to write programs in that language well, and this is the one to read for Python.
  • Programming Elixir ≥ 1.6 - An excellent book for learning the ins and outs of this highly concurrent, fault-tolerant language, and it's well worth a read if you're operating in that domain.
  • Metaprogramming Elixir - This book fills in the few gaps in Programming Elixir ≥ 1.6, and it's a great companion to that book.
  • Programming Pearls 2 - This is a fairly decent algorithms book that's worth a read as a casual second or third book on programming algorithms.
The Not-So-Good
  • CUDA by Example - This book is clearly written, but not especially well-written. Still, it's a good introduction to CUDA programming that covers the basics. Just don't feel compelled to read it all the way through, as the later chapters are fairly useless.
  • Learn Functional Programming With Elixir - Neither thorough on Elixir nor especially focused on teaching the unique aspects of functional programming, this book left a lot to be desired. It's fine, but not great in any respect.
  • Programming Massively Parallel Processors - For a subject that is inherently interesting to me, this book managed to be tedious, verbose, and opaque in its explanations, and way, way, way too long. The necessary information is in there, but it's not worth the effort when there are better options available.
  • The Rails 5 Way - This book was so much longer than it had to be. It was light on discussion and super heavy on documentation, as if it was simply a transcription of the online documentation into a book.
The Suck
  • How to Design Programs - Nearly 750 pages of the most tedious, drawn-out, agonizing explanations about learning to program, I disagree with the title given to this book. Nowhere in it does the reader learn how to design programs, maybe design of functions at best.
This showing is much better than last year, with a half-dozen more good books, and less bad books. It was actually quite hard to rank the good section beyond the first few because they were all well-written and engaging. I don't know if I was better at selecting good books to read, or if I just got lucky, but I was pleased with the high level of quality in this year's book list.

Novels

As planned, I read even more technical books this year than last, but I still managed to read some great novels in the past year. Partly, this is because of listening to audiobooks in the car, and I have a 30 minute commute to fill. The number of books I got through was still less, but some of them were much longer than what I read the previous year. Again, they're roughly ranked.
  • The Way of Kings, Words of Radiance, Oathbringer - Wow. Just WOW. I could not believe how wonderful these books are. The characters are all flawed and broken and so human, the story drags you along as you watch in amazement at how everything develops, and the world that Brandon Sanderson built in this Stormlight Archive series is simply incredible. It has weight. It has life. It has history. I can't wait for the next book to come out.
  • The Fifth Season, The Obelisk Gate, The Stone Sky - This trilogy is just as awesome as the Stormlight Archive series, and I was constantly amazed at how clearly written the world of the Stillness is. The fantastical powers that the orogenes and Guardians have could be confusing, but N. K. Jemisin writes so simply and beautifully that everything was crystal clear in my mind as I read it. The story is at the same time one of the most engrossing tales I've ever read and a powerful allegory about the struggles of racism in society. It's enlightening and revealing without being accusatory. Beautifully done.
  • The Golden Compass, The Subtle Knife, The Amber Spyglass - Throughout this trilogy I was continually surprised by the incredible imagination of Philip Pullman. Each book brings entirely unique new elements into an already rich and diverse world, or rather many-worlds. Even with all of these new elements being introduced, the world always felt cohesive and real. Everything made sense within the context of the story. This is a hard thing to do right, and Pullman did it masterfully.
  • The Eye of the World - I'm just getting started in this long Wheel of Time series, and I'm already hooked. The first book is essentially one long, thrilling chase through a world of mystery and magic. The reality of the world is revealed slowly, and the suspense of wondering when you'll find out that next tidbit of knowledge about the world was gripping. By the end I have more questions than answers, and I'm ready to learn more about the Wheel of Time.
  • Snow Crash - This book was ridiculously fun, plain and simple. The setup makes no sense at all and the story doesn't care one whit about anything, but it doesn't matter. You're a pizza delivery boy in the future who also happens to be the world's best samurai swordsman and an elite haxxor. You get mixed up in some crazy shit and lots of weird stuff happens. It's a wild ride, and you're just going to have to read the book to see how it all works out.
  • Jurassic Park - It's a book about man recreating dinosaurs in the modern age. What could go wrong? And what's not to like? This book is basically a classic at this point, and great fun to read.
  • Ringworld - While the premise of this book was interesting—humans and aliens go visit an enormous world built in a ring around the aliens' host star—I just couldn't get into this book by Larry Niven. The story was only tangentially about the ringworld, and the main focus was actually about whether people could be bred for luck. It seemed like Niven wanted to write about building a ringworld, but couldn't figure out how to write a compelling story around that so he had to also write about this other thing to justify it. Also, his writing was too disjointed for my tastes. Scenes changed so abruptly and dialog and narration was so terse that I had trouble understanding what was going on most of the time. That was a huge disappointment, especially considering the other books on this list.
  • The Color of Magic - This book was another disappointment, but for a different reason than Ringworld. The writing was fine, even funny sometimes, but the discworld made no sense at all. Completely random and nonsensical things would happen to the main characters at every turn, and I never could figure out what the plot was about. It didn't take long to lose interest in the characters altogether, since whatever happened to them wouldn't make any sense whatsoever and they were probably going to end up fine anyway. There were a lot of similarities in style to The Hitchhiker's Guide to the Galaxy, and while similar elements somehow worked there, they fell totally flat in The Color of Magic. That leaves me with no reason to read the other 40 books in the series, lucky me.
One of my goals here was to branch out and read new authors, and I mostly held to that goal. There's no Stephen King, Neil Gaiman, or Dragonlance books on the list, but I did read another book by Neal Stephenson after Seveneves and was not disappointed. The first eleven books were extremely hard to rank. They're all basically equivalent levels of awesome in my mind, and you absolutely should go read them if you haven't already. The stories are incredible, and the worlds these authors imagined and built are even more incredible. 

I also reread Jurassic Park, from my youth, by way of introducing it to my daughter, who absolutely loves dinosaurs. It was well received. For this year, I already know I'll be rereading The Lost World with her. I'll also be continuing The Wheel of Time saga, and starting another new author for me, Ursula K. Le Guin, with A Wizard of Earthsea. Other than that, I'm thinking of finishing up the Foundation series by Isaac Asimov and reading a few more new authors. All I know is there are a lot more worlds to explore.

Video Games & Movies

I actually have not watched many movies this year. It didn't seem like there were too many worth watching. I did see Avengers: Endgame, of course, and it was probably one of the best movies I've ever seen, considering the vast context and buildup of the rest of the MCU. I also finally saw Captain Marvel (I wait until I can get movies from the library), and that was pretty good, too. 

One of the more unique movies that I did end up watching was Annihilation. I happened to get it when I was by myself in the house one night, and I popped it in the PS4, turned off the lights, and turned the sound way up. That was an intense, wonderfully creepy experience. Do you know how great the sound effects are in that movie? And that freaking bear, holy crap. I'm surprised I got any sleep that night. 

I also rewatched The Lord of the Rings with my wife. Those movies hold up really well. If the movie drought continues, I've got a growing list of other (not-so) old movies to watch again, like Jurassic Park.

As for video games, I'm still enjoying the LEGO videogames with the kids. We finished up Jurassic Park (are you seeing a theme here?), The Hobbit (much better than the movies), and most of Marvel Super Heroes. We're still working on The LEGO Movie, Batman 3: Beyond Gotham, and LEGO City: Undercover (this game is ginormous). Then we've started Marvel Super Heroes 2, Marvel's Avengers, and we just got another batch of LEGO games for Christmas. I don't know why, but I don't ever seem to get tired of these games. It's gotta be the character development. (I'm kidding; it's the graphics.)

For myself, I ended up playing Lightning Returns: Final Fantasy XIII and God of War III. These are two very different games, and yes, they're both older than dirt. I said last year my backlog was deep. I know Final Fantasy XIII got a lot of criticism, but I still enjoyed the whole trilogy. I especially liked Lightning Returns for the new battle system. Gone are the menus and inventory lists, and instead you link four different actions to each of three different outfits to set up your available commands for a battle. You have a few other special actions that you can do, and then you're choosing actions in real time during battles. It's a much more dynamic, exciting battle mechanic than selecting actions from menus, and like most Final Fantasy mechanics, surprisingly deep. It really made the game for me. Lord knows the plot didn't.

God of War III was another installment of hack-n-slash, vengeance-upon-the-gods action game that was pure entertainment. I was reminded of how perfectly responsive the controls are in these games, and I think the most fun to be had was beating the crap out of Hercules.

The Year Ahead

I have more than enough games to play this year as I play through my backlog. I actually got more new games than I finished, so that backlog is just getting deeper. If only there was more time. I won't be reading as many technical books, so there's that, but I'll probably fill a lot of that time with more novels and the next blog project. Still, maybe I can squeeze in a couple more games, and I haven't picked up the guitar again, yet.

Tuesday, September 22, 2020

It Makes Sense If You'Ve Read The Book...

Jonathan Strange & Mr Norrell: a Board Game of English Magic probably seems like a really weird title for a game, at least until it's explained that it's based on Jonathan Strange & Mr Norrell, Susanna Clarke's novel about high society wizards operating in early 19th century England. It may sound like a good idea for a game, but despite a 2015 BBC television adaptation, the novel remains relatively obscure.

Broadly speaking there are two main components to a game: theme and mechanics. Both carry a lot of weight, and a great theme can prop up a mediocre game design (see Grimslingers) just as easily as a good game design can transcend a less interesting theme (see the Resident Evil Deck Building Game or the surprisingly good Spartacus board game, soon to be reprinted without its original TV show decor).

Jonathan Strange & Mr Norrell errs on the side of theme over mechanics, and any fan of the book who enjoys mid-weight board games will probably like this one. It does a good job of referencing the novel's strange blend of supernatural menace and powdered-wig high society, and presents a game design that fits that theme very well, rather than feeling tacked on after the fact like games based on licensed properties so often do.

Each player plays either the titular Jonathan Strange or Mr Norrell, or as one of two secondary characters from the book. The goal of the game is to accumulate enough magicianship to be able to confront "the gentleman with the thistledown hair" (the novel's main villain) before the game ends. This is done by accomplishing feats of magic in the form of playing out cards from your hand that add tokens of different types to the cards on the table in front of you. The catch is that only certain symbols can be played out each turn, so the game becomes an interesting combination of thinking several turns ahead but also madly scrambling to get enough magicianship points to beat the villain and win the game.

Game play is complicated by two additional types of card plays: "invitations," representing social events such as parties and concerts, and "introductions," meeting famous characters of the age such as Lord Wellington. Both types of cards can only be played at certain locations, requiring moving around a board depicting London and Europe of the early 1800s. Invitations are played to draw additional cards (either introductions or additional feats of magic to work on), and Introductions move you along a Prestige track, eventually unlocking powerful game play advantages.
The game as written does have one major issue: it is very difficult to win, so much so that the designers admitted that they made a last-minute change to the game design without playtesting it thoroughly, and have since released a simple variant (described here) to re-balance the game. A rookie game design mistake that should never have happened, but at least the designers have recognized the error and taken steps to correct it.

The game mechanics fit the theme well, and I suspect that the designers (Marco Maggi and Francesco Nepitello of War of the Ring fame) are fans of the book, or are at least very familiar with it. Unfortunately this doesn't necessarily work to the game's advantage, as for the most part the references to the novel assume that the players have read it. I don't think the game does enough to explain the setting and characters for those who haven't, and the game play isn't really remarkable enough to sustain interest in the game on its own.

Rating: 3 (out of 5) if you've read the novel, but probably only a 2 (out of 5) if you haven't. But it's a great book, so go read it and then play the game afterwards...

Sunday, September 13, 2020

28Mm Village Sections

New Russian Villages:
I've made up a few Russian village sections for WWII (although they'd do fine for Napoleonic too) These are mostly MDF kits from "Things From The Basement" in the USA with a few more extra bits from the excellent Charlie Foxtrot models here in the UK
Love these...2 cabins, and high fences
All lovely models, easy to construct, and fun to paint. One of the things which attracted me to them was how there are very few lugs on display - most MDF kits have these rather unsightly points where the various bits fit together- These don't- makes them look so much better- I thought it would be more fun to put these together as based village units, to allow a little bit more detailing and customisation. 
Simple Russian barn, but will do for pretty much anywhere
Pigs.....
Couldn't resist this...the little pigsty base is from TFTB, pigs from Pegasus
Small cabin, rough fencing- Warlord Russians!
The bases are all slightly different sizes, but generally about 10' square, big enough to make an impact on the wargames table and to allow the addition of more "stuff" to pretty them up

Larger Villa with small garden
These are for sale....feel free to contact me if you wish for prices etc- I'm going to be making a lot more terrain and buildings over the next few months, if you have a specific request just ask, or keep an eye out here or look for CAC terrain on facebook

Smaller cabin and woodshed by Charlie Foxtrot, Everything else from TFTB. Love the well.


28Mm WW1 Mesopotamia Cavalry - The Irregular Option



A few weeks ago I posted on a few of the wargames sites asking for suggestions for options to cover Cavalry options for the Mesopotamia Campaign of WW1. I have some Great War Miniatures with head swaps for the British and some figures from the Minifigs East Ablaze for the Turkish but wanted some more options especially for Indian Cavalry.

A number of options were suggested, sadly Brigade Games aren't avaliable direct in the UK and importing from the US at the moment is just massively prohibitive. 


One company that was suggested was Irregular Miniatures who to be honest I wasn't aware did WW1 figures. I visited the website and ordered 6 figures of three different types as a sample. I've painted them up and now it's time to compare them to my existing collections.



First up are the British Cavalry these have the 1903 ammo bandoliers that prevent the use of earlier figures (like Afgan War) but have Colonial Helmets rather than the Wolesley style more common in Mesopotamia. I do have some pics of troops in theatre with them but these figs look more Boer War to me.


The next two pics show them against a base of my existing Great War Miniatures Cavalry, the GWM are bigger by a visible amount, but the two aren't incompatible on the same table. They have painted up quite well but I'm just not sure about the hat. Undecided.



Next up are some Indian Cavalry with Lance, these are probably the best of the three types of figures I bought. Other than the faces being a bit awkward from some angles I like these. For purists I improvised on the lance pennants, as far as I can tell they weren't used in the field so I guessed 👍



Here they are size wise against the GWM British, these look a lot closer than the Brits do, smaller yes, but only a bit. I like these and may end up getting at least one unit. My alternative to these are some Artizan Afgan War Indian Cavalry, I am looking at the possibility of someone 3d printing the bandoliers but I've no idea if it will work. 



Finally are a couple of Turkish Lancers, these are more toy soldier like in their appearance but once painted up they look pretty good.



Finally the size comparison, these are next to the Minifigs East Ablaze figures (The horses for which are huge !). There is a big difference in size here, although the figures themselves are pretty similar the Irregular horses look like pit ponies. Again I'm undecided on these, they are fine as figures but the size comparison makes it difficult to justify them in the same unit.

They are well priced at £2.64 each or 8 for £17.60  (2.20 each) compared to around £3.50 a figure for the other two. Website link for the figures below.




Friday, September 4, 2020

Gaslands And Kill Team

Those are the two projects I am spending my time on right now.

Oh, and I am doing fine, just incredibly busy. Dealing with a lot of things, but its improving, if you are worried about me. And if you are, well... thanks. I appreciate it.