Book Review

Kotlin in Action – Book Review

Kotlin in Action, by Dmitry Jemerov and Svetlana Isakova covers the language basics of Kotlin.

Kotlin is a wonderful language that borrows from many languages, including Java, C#, and functional languages to make a very interesting, terse and highly productive language. Currently it supports compiling to the JVM, Javascript and native on several systems.

The book is supposed to be for experienced Java developers, but I have very limited Java experience and I was able to follow all of it.

I have to say I really like Kotlin, and how the language is made so that your code can be as short as possible. Even when your IDE can fill in most of the code for you, it is still a problem as you get tons of useless code to check all the time.

Overall, strongly recommended if you are interested in Kotlin.




Book Review

Visual Studio 2015 Unleashed – Book Review

Visual Studio 2015 Unleashed is a long book (1320 pages) that covers a lot of Visual Studio's capabilities and usage.

As you might expect, anything covering the whole surface of a system as large as VS must be shallow at places. Nevertheless, I feel that is well enough to give an useful overview of many of the technologies involved, such as WinForms, WPF, UWP, Apache Cordova, Xamarin, creating Office add-ins, writing VS extensions and many more.

Obviously it doesn't cover the latest version (2017) but most of the changes are not important enough to matter.




Book Review

Hidden WPF – Book Review

Hidden WPF: Secrets for Creating Great Applications in WPF by Alessandro Del Sole covers some less know things in WPF.

While there are a few non-obvious items, if you read something like WPF 4.5 Unleashed you are unlikely to learn something now.

Might be worth checking out in Safari, as it is quite short. Most examples are in VB, though.



Book Review

WPF 4.5 Unleashed – Book Review

WPF 4.5 Unleashed – by Adam Nathan – covers WPF, the desktop system that was preferred by Microsoft till Windows Store Apps/UWP.

Unfortunately, while these are close the apps have several annoying limitations compared to WPF.

I really enjoyed reading the book and learning about WPF, which has some fantastic features. It is sad that it seems to have been abandoned by MS in favor of UWP. But apps stores do have some conceptual advantages, and a lot of people that didn't consider it convenient to buy PC apps directly from seller prefer to buy MS (at least in theory – the older Mac app store had lot of developers dropping out because of problems, including the inflexibility of upgrade systems).

It'd be nice if UWP was more universal, and followed .NET core into more platforms. I'm not holding my breath for this though – it'd be a major project. I guess Xamarin.Forms and others will have to do for now.

Overall, I'd strongly recommend the book for people who want to learn about WPF. But keep in mind that some of it (not all as UWP is somewhat close) may be a waste of time…

Book Review

Fundamentals of Game Design – Book Review

Fundamentals of Game Design (3rd Edition) – by Ernest Adams – is a great book that covers a lot of what you need to know do design games. Note that game design is not about art or programming – it is mostly about what makes a game playable.

The book covers the many areas of design, including how to come up with the idea, how to develop it into something fun, character and level design, and even how to monetize your game.

I really enjoyed the book, and whenever I play a game now I keep noticing the small details of how it was designed – and how things contribute to the fun or harm it.

After every chapter, there is a section with questions for you to think about what was covered in the chapter and how it apply to a specific game – and also as homework on academic situations. There is also another set of questions that you can use as focus on your projects.

Overall, I loved it and feel it is a great read to anyone interested in game design.

There is also a set of very short books in specific genres – such as shooters, puzzle games, strategy, etc. I have read a couple of them already, and I recommend them – they are a little expensive for the amount of content, though (I am reading them on Safari, myself, so they were free). A couple are included with the book registration at the publisher's site – Construction and Strategy.

Book Review

LinkedIn in 30 minutes – Book Review

LinkedIn in 30 minutes, by Angela Rose, is an excellent short introduction to LinkedIn.

It has plenty of useful tips, even if you already has some experience with the network.

For great profiles I'd recommend the LinkedIn Strategy course, but this covers some of the same material, just in much less detail.

Book Review

Twitter in 30 minutes – Book Review

I just read Twitter in 30 minutes – by Ian Lamont. It did take around 30 minutes – even while going to Twitter to check things out.

I feel that the book will be almost nearly pointless if you already use Twitter (which I'd guess means you wouldn't be the target of it).

Nevertheless, I still learned a few things I didn't know.


Book Review

Agile Principles, Patterns and Practice in C# – Book Review

Agile Principles, Patterns and Practice in C#, by Robert C. Martin and Micah Martin, covers a number of agile practices in C#.

The book is a little old by now (2006), but while it does feel dated at points, that doesn't take away the overall quality.

I particularly liked how much time was spent going through the analysis and coding of a large practical example (a payroll) – including DB persistence.


Book Review

Essential C# 6.0 – Book Review

Essential C# 6.0, by Eric Lippert and Mark Michaelis – cover the C# language up to the 6.0 update of last year.

Coverage and examples are pretty good. One thing I liked is that any extensions to the original language are clearly marked with a version number. If you get the book to update your knowledge, there is also a nice index for each version.

Given how little changed in version 6.0, it'd be silly to buy the book though – there are plenty of blog posts covering this. If you get it for free (maybe from Safari or something similar at work), then it might be a good idea.

Overall, pretty good coverage, although I'd recommend C# in a Nutshell instead – it felt a little more complete and had more developed examples.

Book Review

Hello, Startup – Book Review

Hello, Startup: A Programmer's Guide to Building Product, Technologies, and Teams – By Yevgeniy Brikman – is a great view into just how (and if!) you should create your startup or join one.

The coverage goes to some weird but arguably good places along the way (for example, talking about clean code), but even when it does, it is still good advice.

What the book covers is:

  • Why Startups – why would you want to create a startup, or work on one – and very importantly, why you might want not to.
  • How to come with ideas, covering the classics such as pain points (which has been advice on shareware forums for literally decades), idea journals, the now common “your idea is not worth much compared to execution” and the very important how to validate your idea – as your idea is pretty likely to not be as good as you think and you probably want to find out now, not after years of development.
  • Design, including the classics – personas, usability testing, visual design.
  • Picking a tech stack – surprisingly tech agnostic, and full of interesting suggestions on how to decide what tech to use. Pick mature ones instead of the flavor of the month. and it is not as important as it seems.
  • Clean Code – already mentioned as the relatively weird chapter. The advice is good, and cover the general stuff you'd see on Code Complete and The Pragmatic Programmer, such as good practices, refactoring, etc.
  • Scalability – review of several practices that you should probably follow – such as Test-Driven Development, design reviews and code reviews.
  • Software Delivery – again, several good practices – source control, code reviews, continuous integration and automated deployment.
  • Startup culture – how to define your companies culture, and what it means. Even if you don't read the book, check out the Netflix culture slide deck – it is pretty long but well worth reading.
  • Getting a job at a Startup/Hiring for your startup – interviews, asking good questions, and the best practices in the area.

The book has a ton of memorable quotes from other material – I didn't have a chance to go through it for my notes it, but I'll probably come back here and update this post when I do.

There are also plenty of resources on the book site.

Overall, I strongly recommend anyone interested in creating a startup to read this book. It was pretty great.

Related books/courses:

Adaptive Code in C#  – great review of good development practices and keeping your code flexible, although some examples are a little exaggerated

The Pragmatic Programmer – great, goes into the specific programming practices

App Making – more specific to apps, but also covers how to get ideas for apps, design advice and how to test your ideas