The Education of a Programmer (Me)

Just another WordPress.com site

Month: August, 2013

Book Review – Jump Start CoffeeScript

I recently read Jump Start CoffeeScript by Earle Castledine from SitePoint books.  As usual, the disclaimer is that I received a copy of the book for free in return for the review. The “Jump Start” format seems to hold great promise. Take a scenario and affix the paradigm to it to gain a basic foundation with the highlighted technology. The flow of the book felt episodic in the delivery. In this season, if you will, we tackle CoffeeScript. CoffeeScript is one of a growing number of languages, like Google’s Dart or Microsoft’s TypeScript which try to give a developer a better Javascript when writing the code before it is compiled into Javascript in the delivery to the viewer.

Leaving aside the relative merits of this approach to coding. The book is a quick and comical read by an author who really knows the ins and outs of Javascript and CoffeeScript. In this “season”, the developer (Mr. Castledine and by extension you) has been roped into a seven day “Build-A-Game” competition and partnered with a team of less than diligent designers, artists, etc. So in the end, you’re on your own to build a web based game in 7 days. To make it either more entertaining, or more insane, you decide to code this in a language you’ve never used before. Again, I will leave the relative sanity of such a decision for another day and just follow the book.

Chapter 1 sets you in motion, describing what CoffeeScript is and getting you familiar with the fact that it is much more terse than Javascript and that it will compile, when finished, into Javascript. You are pointed to a few resources to ensure your .coffee files are able to be compiled into .js files and basic syntax structures. The next 5 chapters are 5 days worth of game development. Really, I think the book does a better job of teaching you the whats and hows of creating a browser based game than the CoffeeScript itself. You are exposed to a lot of code snippets and the author explains his thinking, but if you read the code from the book’s site, you see that you’re not getting all of the code to build the game in the book. You cover important pieces, but it’s assumed that you will compile the code and run it. Or at least that’s what it felt like to me. The final chapter is more a pat on the back for finishing the game and the book.his in a language you’ve never worked with before. Again, I will leave the issue of the wisdom of your choice aside and go with the book’s scenario.

I would recommend this book for someone who wants to build browser based games. This book taught me a lot about that. It gave me a few ideas for what and how to make some killer games. However, I will look for more sources on CoffeeScript, especially if they can explain why I want to do this in the first place.

Book Review: CSS Fonts

I recently completed CSS Fonts by Eric Meyer. As usual, the disclaimer is that I received a copy of the book for free in return for the review. Mr. Meyer is very well known as a CSS expert and I follow his blog and his writing carefully because I feel certain I will learn a new trick here or there. This book most certainly continues with that trend and justified my wanting to review this book.

The book covers one topic and one topic only, fonts and how to use them better with CSS. It is slim, more reminiscent of an O’Reilly Pocket Guide than anything else. However, that is certainly not a statement against this book. In the course of 60 pages, this book covers every font selector in CSS and covered a few that I’d never heard of as well. There were clear explanations for each selector, how to use it, and why you would want to use it. In the end, if the viewer looks at a site I wrote in a Gecko-based browser, then they would see something that could rival anything developed in InDesign.

I’m looking forward to a day when a lot of the tricks I’ve read about in this book are common throughout the major browsers so hand tuning the typography in a website can add a new depth and dimension to any website. This is a fairly recent release and I think this should be in every web developer/designer’s arsenal to start making web typography as elegant as anything which appears in print.

I am going to play with a lot of these ideas in website I build when I get the chance. Buy this book!

Book Review: The Modern Web

I’ve just finished The Modern Web by Peter Gasston. As usual, the disclaimer is that I received a copy of the book for free in return for the review. Having said that, after I started reading this book, I realized if I hadn’t received it as a review copy, I would still want to go out and buy it. This was one of the best books I’ve read at introducing many of the new options available in web construction, from HTML5, through CSS3, all the way to Javascript and APIs and how to use the basics. The companion website, The Modern Web, is kept up to date by the author to cover any changes and updates to the base material, as this topic always seems to be changing.

Mr. Gasston has a dry wit, which really is engaging and fun to read. He’s also well versed on the subject and has a wonderful additional reading section at the end of each chapter which links you to not only his source materials, but to materials designed to push you further down the pathway to better programming. The book is aimed to the intermediate level developer who, like me, write good solid web pages, but knows there are a lot of things I can do to both help myself and improve my work as I go along. My favourite section had to be Chapter 3 with the device responsive CSS ideas. This really gave me a lot of ideas as to what to do with a portfolio site I work on. I also was very interested in the information about device APIs from Chapter 6.

My only criticism was in the forms section, Chapter 8, where he speaks about form input types like tel and discusses that they can be pretty much anything. While that is true to the surface, I know, and I hope many other developers know, to use the pattern attribute to ensure the proper format for the country at hand. Combined with some Javascript, this makes a great filter for ensuring the phone number matches the expected format (especially if inserted into a database somewhere.). While he mentioned the pattern attribute much later, it felt like an aside more than anything else.

That criticism aside, I heartily recommend this book and following up with it on the website he’s created for it. It will make your web work stronger!