Category Archives: Review

Book Review – Arduino Workshop: A Hands-On Introduction with 65 Projects

Before reading Arduino Workshop: A Hands-On Introduction with 65 Projects (John Boxall, No Starch Press) I knew what Arduino was, but other than that knew nothing about it. This book for me was the perfect starting point, because it not only tells you what Arduino is, but effectively demonstrates its capabilities. Along the way you get a crash course in electronics (resistors, transistors, switches etc.) and programming. I personally didn’t need the latter, but for people with no programming experience this book will do the trick. That said, I believe the learning curve is quite steep, so you may want to look at another book for the basics of programming (preferably in a language like C#, Java or Javascript), as that comes close to the language used with Arduino). Overall this book is a good read to get started with Arduino. It is written fairly well and the projects give you a good idea of the possibilities. You can also pick stuff from the projects to use in your own. Because some projects build on previous projects, you get a sense of how to build something with Arduino.

Book Review – Disruptive Possibilities: How Big Data Changes Everything

Even though this is just a little book (just 80 pages), Disruptive Possibilities: How Big Data Changes Everything (Jeffrey Needham, O’Reilly) is a very good and insightful read. Jeffrey Needham explains very well what Big Data is and how it differs from “traditional” computing. He effectively shows you need to approach Big Data differently, because the “old school” approach to data just doesn’t scale. In that sense he echo’s my view on the subject of data: not all data needs to be normalized and transactional and you can save a lot of effort and money (on expensive hardware and software) by picking the right requirements for types of data you are dealing with. For instance, you would need a pretty good reason to store a file in a RDBMS. Because most current IT staff has been brought up with in the RDMBS paradigm, it is often the tool of choice, without thinking about it. This book effectively breaks with that way of thinking, and I would encourage developers, architects, database administrators etc. to read this book to get a sense of perspective. It would greatly help us in not making the mistake of tackling “new world” problems with “old world” solutions. The book is very easy to read, with good examples, funny stories, and insightful comments. There’s also a side step into neuro science and the future of supercomputing, which is not only good to know, but interesting in itself.

Book Review: Quiet: The Power of Introverts in a World That Can’t Stop Talking

Quiet: The Power of Introverts in a World That Can’t Stop Talking by Susan Cain is a very insightful book into introversion and extroversion. Because we deal with people at different positions on the introversion-extroversion spectrum every day, the book may open your eyes to how certain people react to you or to specific situations. IMHO this especially helps to understand children, because they are no yet adapt at hiding their true nature. So if you’re a mother, father, teacher, coach etc. this book can really help you. The book is very thorough, with a lot of personal insights backed up by scientific research. It is also pretty easy to read because it is told around experiences of the author. The book starts of with exploring extroversion and introversion and how these traits are perceived in western culture, and continues with the discussing the (dis)advantages of both traits. It the continues with giving you deeper understanding of where these traits come from and how they affect the way people think. Finally, the book gives pointer on how to deal with people at different ends of the spectrum.

Book Review: The Modern Web

After reading The Modern Web: Multi-Device Web Development with HTML5, CSS3, and JavaScript (Peter Gasston, No Starch Press) I am glad I am not a user interface developer. Over the years HTML has evolved into an entirely different beast from 5-10 years ago. That said, the book is excellent at explaining all the options you have in HTML5, CSS, and Javascript to create good looking, responsive, and adative web applications. Peter Gasston managed to make the book easy to read through the writing style and simple examples that effectively demonstrate what a feature is about and how it works. Despite the simplicity, the samples are very detailed.

Besides meticulous explanation of what a feature does and how it works, Peter Gasston also discusses the material at a higher level, giving you insight into why and when you would want to use certain features, and when there are multiple options which one to go for in your particular situation.

One thing I particularly like is the appendix at the end of every chapter pointing you to more reading material related to the chapter’s content. The book in itself is already very useful as a reference, but this makes it even more useful. Even though it works very well as a reference, I recommend reading it from cover-to-cover to get a good understanding of the possibilties. You can do that at high speed, and then later use parts as needed.

Book review: Inside Microsoft Dynamics AX 2012

The information in Inside Microsoft Dynamics AX 2012 (The Microsoft Dynamics AX Team, Margaret Sherman; Microsoft Press) in itself might be useful for Dynamics AX 2012 developers, but it is poorly structured. It is also not clear what the target audience is. Chapter 1 is supposed to be an overview, but it contains way too much detail. By the time you reach the end of the chapter, you will have forgotten most of the details, because it doesn’t make sense to you if you’re just beginning. If you’re already experienced, it may make sense, but then it is superfluous information. This style of writing is maintained throughout the book. What use is it to cover MorphX and X++ in great detail if readers haven’t done anything with it yet? As I said, the information might be good, but it should be structured around scenarios. For instance, when discussing Design Role Centers (chapter 5), take it all the way down and go from why, to what, to how (including some X++ development). As it is, you are stuck with some rules of thumb, which you can’t use, because there is no follow through until much later in the book. By then, you need to go back and reread what was said originally. Basically the book reads like a technical manual, which isn’t too surprising if you consider that it was mainly written by the Dynamics AX team itself.

Bottom line: For experienced AX developers this might be a good reference and brush up from previous versions. For other types of readers this book doesn’t work.

Book Review: Async in C# 5.0

Async in C# 5.0 (Alex Davies, O’Reilly) is good read of you plan to do parallel or async programming, although a bit theoretical. The book shows you why asynchronous programming is a little more than just using the new async and await keywords. These keywords make asynchronous programming syntactically simple, but as this book shows through meticulous explanation there is much more than meets the eye. The book starts of with just showing you how async and await works, and then shifts gear to show you how asynchronous programming worked before we had these keywords. This makes you appreciate all the heavy lifting done for you, but it also makes you understand why asynchronous programming is something you need to do with care. Then there’s several chapter about what’s going on and which pitfalls you can run into (and how to avoid them). The strength of this book is the excellent theoretical handling of the topic. The weakness is the lack of practical examples and a high-level view on when and how to use asynchronous constructs.

Book Review: Programming Microsoft SQL Server 2012

Programming Microsoft SQL Server 2012 (Leonard Lobel and Andrew Burst; Microsoft Press) is an excellent book if you want to learn the ins and outs of SQL Server. The book is meticulous when it comes to explaining SQL Server features. Much of this is because of the elaborate examples and the detailed explanation of what’s going on. This attention to detail is however both its strength and its weakness. If you already know about database development, you already know much of what is being explained. For instance, you already know what transactions are for and how they work. Explaining the subject as if you’ve never seen a database feels a little overdone. This is also where the book is a little ambiguous. The chapter that deals with T-SQL, only covers the newer T-SQL statements, so you are expected to have prior knowledge. Of course finding the right balance is hard, and this is a good book regardless. It just means that if you already know the topic, you can just skip to where the content is new. It also means that the book is an excellent reference. In fact, reading this book from beginning to end might not be the best use. Explore it for new features, and then keep it around.

Book review: Building Hypermedia APIs with HTML5 and Node

Building Hypermedia APIs with HTML5 and Node (Mike Amundsen; O’Reilly Media) is an interesting little book. It covers designing an online system that operates well in a browser, but works equally well when talking to
from another type of application, which also has positive impact on automated testing. The strength of this book is absolutely the design theory, which is explained very well. The theory applies to pretty much any web development platform, which is where the weakness of the book comes in. If you are not an HTML5 or Node developer, and many of us aren’t, reading through the practical part of the book is somewhat tedious. That said, the book is only 244 pages, and the theory is an easy read. That means that if you are only interested in that you can get through pretty quickly. The examples in itself are simple, but already add up to quite a bit of code you need to wade through. Understanding all that’s going on takes a while.

Book Review: Programming Amazon EC2

Programming Amazon EC2 by Jurg van Vliet and Flavia Paganelli is practical in nature and takes you through all the steps to create and configure accounts, develop applications, and deploy applications. If you’re new to Amazon EC2 (and related services) this is definitely a good place to start, because it goes through all the components Amazon offers, such as S3/Cloudfront and RDS for data storage. It also looks at how you can setup your application to scale up and down, and ensure your application has excellent uptime. The book takes you by the hand based on some applications the authors have created themselves. Although this approach makes the book practical, it sometimes reads as (irritating) marketing for their applications.

IE9 Developer Tools

In recent years the development story for Internet Explorer wasn’t particularly appealing. If you wanted to fix CSS and JavaScript errors, IE was definitely not the tool you wanted to use. Also, seeing what was going over the wire wasn’t possible with IE, and as a result developers flocked to FireFox and other browsers offering (plugins) to help with these issues. You don’t have to be a genius to understand that in the long run this wasn’t helping IE in terms of market share. And with the renewed focus on webbased (HTML5) apps, Microsoft has stepped up and produced built in developer tools, also known as the F12 developer tools. So, what’s in there and what can you do with it?

What’s taking so long?

As with IE8, there are inspector tools for HTML, CSS, and script. Since I am by no means an HTML/CSS guy, I’m not the best judge when it comes to these tools, but for what I need from those I’ve been pretty satisfied. For me, the new profiler and network tools are much more interesting, because they respectively hook into the browser rendering engine and what’s going over the wire with HTTP. If you’ve been using tools such as Fiddler or HttpWatch, the latter of the two should be more or less familiar. As you can see in the image below, it shows all the HTTP requests going out to the server, when in the timeline these requests were going out, and how long that took. If you’ve never seen something like this, you can see that this provides great insight into what goes down under the covers.

If you need more details about the timing information, you can select one of the items, and see more. As you can see below, that information doesn’t only include HTTP information, but also information about the time it took to render and JavaScript to fire. If there’s a page that is slow to appear in the browser screen, this will give you great insight into where your time is going.

Is this functionality better than commercial tools such as HttpWatch? Not at this time, but I have a feeling Microsoft isn’t done yet. Tools like that are specialized, and Microsoft is playing catchup. One annoying thing I found is that if I have multiple requests bouncing back and forth, filling in a form, etc. IE9 tools will only show me the last interaction. It could be I’m missing something, but I haven’t been able to figure out how to see the whole list of requests since I started capturing, and I’m too lazy to figure it out. That means I find myself going back to HttpWatch for that (at the moment). That said, the tooling is good, so if you don’t want to spend the extra dime for other tooling, this will do in most cases. Except of course that this only works in IE9, whereas some of the tools out there work in multiple browsers. But wait… there’s more.

What I’m I getting?

An interesting question is always: what HTML will a certain browser actually get. This is where the F12 tools have another nice new feature. You can change the user agent string the server is receiving, and as a result inspect what happens on the HTML, CSS, script side when other browsers come in. Obviously this doesn’t make IE9 behave itself as one of the other browsers, but it can provide nice insights nonetheless, especially to tweak what robots are seeing.

How will it look?

The last thing that I fond really useful is the ability to change the browser so you can check the user experience for users with different settings. As you can see from the image below, you can disable css, script, and the pop-up blocker. In the environment I’m working in now, there’s often the need to see whether everything still works if JavaScript is disabled, and there this is a great tool. It definitely beats going into the browser settings and changing these settings every time you have to test.

Last but not least, you can easily resize the browser screen to fit a certain size. I always used Windows Sizer for this, but having this built in is better, because I rarely use it for anything but webdevelopment.

What’s more?

There’s a whole bunch of stuff I haven’t gone into here, so I advise you to play around with the F12 tools for a while. I’m also betting we’ll see a lot more where this came from in the not too distant future. Microsoft is investing heavily in HTML5, and is actually trying to use “the best HTML5 support” as a unique selling point for Windows.