Back to Top


Developer, author, tech reviewer, release and change management and rugby coach


Anyone can create an App


I assume you bought this book because you want to learn how to make an iOS app but you’ve never done any coding before (that, or you know me and want to support me!). Either way, you’re going to learn a lot and have fun in the process. The book is meant for people who have never written any code, or who have coded a little something but definitely not an iOS app. It also assumes that you have the patience to read the book, try the examples, and then rework the examples if they didn’t work perfectly the first time. That’s a lot of what coding is: debugging. Even the best developers miss things, so don’t get frustrated when your code doesn’t work exactly right the first time. Patience, Grasshopper.


Why iOS apps? If you tell your friends that you’re learning iOS (or Swift, or developing for Apple phones), they may say, “Wow, I heard that was pretty hard. Why don’t you start with something easier?” Your answer can be, “Well, I have an idea for an app, and I have the patience and willingness to learn. Ergo, I will.” People may encourage you to learn something easier, like Hypertext Markup Language (HTML, used in web pages and such). That’s all well and good, but you really wanted to learn to create apps for Apple devices (using Swift), so you’re reading this book. I’m here to tell you, you can start with iOS, and you can learn to write apps; and with time, patience, and resolve, you can be an expert someday if you want to be.



Unity in Action 2nd Edition


Unity in Action, Second Edition is a book about programming games in Unity. Think of it as an intro to Unity for experienced programmers. The goal of this book is straightforward: to take people who have some programming experience but no experience with Unity and teach them how to develop a game using Unity.


The best way of teaching development is through example projects, with students learning by doing, and that’s the approach this book takes. I’ll present topics as steps toward building sample games, and you’ll be encouraged to build these games in Unity while exploring the book. We’ll go through a selection of different projects every few chapters, rather than one monolithic project developed over the entire book. (Sometimes other books take the “one monolithic project” approach, but that can make it hard to jump into the middle if the early chapters aren’t relevant to you.)


This book will have more rigorous programming content than most Unity books (especially beginners’ books). Unity is often portrayed as a list of features with no programming required, which is a misleading view that won’t teach people what they need to know in order to produce commercial titles. If you don’t already know how to program a computer, I suggest going to a resource like Codecademy first (the computer programming lessons at Khan Academy work well, too) and then come back to this book after learning how to program.


Don’t worry about the exact programming language; C# is used throughout this book, but skills from other languages will transfer quite well. Although the first part of the book will take its time introducing new concepts and will carefully and deliberately step you through developing your first game in Unity, the remaining chapters will move a lot faster in order to take readers through projects in multiple game genres. The book will end with a chapter describing deployment to various platforms like the web and mobile, but the main thrust of the book won’t make any reference to the ultimate deployment target because Unity is wonderfully platform-agnostic.


As for other aspects of game development, extensive coverage of art disciplines would water down how much the book can cover and would be largely about software external to Unity (for example, the animation software used). Discussion of art tasks will be limited to aspects specific to Unity or that all game developers should know. (Note, though, that there is an appendix about modeling custom objects.)



CSS In Depth


The world of CSS is maturing. More and more web developers in the industry are realizing that while they “know” CSS, they don’t know it as deeply as they probably should. In recent years, the language has evolved, so even those developers who were once adept at CSS may find a whole new set of skills to catch up on. This book aims to meet both these needs: providing a deep mastery of the language, and bringing you up to speed on recent developments and new features of CSS.


This book is titled CSS in Depth, but it is also a book of breadth. Where concepts are difficult or commonly misunderstood, I will explain in detail how they work and why they behave the way they do. In other chapters, I may not exhaust the topic, but I will give you enough knowledge to work effectively with it and point you in the right direction if you wish to further your knowledge. In all, this book will fill in your blind spots.


Some of the topics could warrant entire books on their own: animation, typography, even flexbox and grid layout. My goal is to flesh out your knowledge, help you bolster your weak spots, and give you a love for the language.



Hello Scratch!


Scratch is a drag-and-drop programming language. Drag-and-drop means that there are blocks that are assigned pieces of code, and you stick them together like LEGOs to create a program. It’s visual, so you don’t have to type lots of brackets and semicolons and weird coding words like “bool.” Instead you snap together a brown Events block to a blue Motion block to make things happen.


Although that may sound odd right now, it will make total sense after you read chapter 1 and get familiar with the Scratch workspace.


Scratch is a friendly community with millions of users, and the biggest issue you’ll have is to not be distracted by playing other people’s projects when you should be making your own. People upload their finished games to the Scratch website where they can be viewed and played by other Scratchers. We’ll teach you how to upload your creations, too.


Joining Scratch is free, and you should go over right now (to and make an account so you’ll be ready to make your first project. But wait—first grab a parent so they know the information you’re entering online as you sign up.



SQL Server 2012 Data Integration Recipies


SQL Server 2012 Data Integration Recipes provides focused and practical solutions to real world problems of data integration. Need to import data into SQL Server from an outside source? Need to export data and send it to another system? SQL Server 2012 Data Integration Recipes has your back. You'll find solutions for importing from Microsoft Office data stores such as Excel and Access, from text files such as CSV files, from XML, from other database brands such as Oracle and MySQL, and even from other SQL Server databases. You'll learn techniques for managing metadata, transforming data to meet the needs of the target system, handling exceptions and errors, and much more.


What DBA or developer isn't faced with the need to move data back and forth? Author Adam Aspin brings 10 years of extensive ETL experience involving SQL Server, and especially satellite products such as Data Transformation Services and SQL Server Integration Services. Extensive coverage is given to Integration Services, Microsoft's flagship tool for data integration in SQL Server environments. Coverage is also given to the broader range of tools such as OPENDATASOURCE, linked servers, OPENROWSET, Migration Assistant for Access, BCP Import, and BULK INSERT just to name a few. If you're looking for a resource to cover data integration and ETL across the gamut of Microsoft's SQL Server toolset, SQL Server 2012 Data Integration Recipes is the one book that will meet your needs.


    Provides practical and proven solutions towards creating resilient ETL environments

    Clearly answers the tough questions which professionals ask

    Goes beyond the tools to a thorough discussion of the underlying techniques

    Covers the gamut of data integration, beyond just SSIS

    Includes example databases and files to allow readers to test the recipes


Pro SQL Server 2012 Practices


Pro SQL Server 2012 Practices is an anthology of high-end wisdom from a group of accomplished database administrators who are quietly but relentlessly pushing the performance and feature envelope of Microsoft SQL Server 2012. With an emphasis upon performance—but also branching into release management, auditing, and other issues—the book helps you deliver the most value for your company’s investment in Microsoft’s flagship database system.


    Goes beyond the manual to cover good techniques and best practices

    Delivers knowledge usually gained only by hard experience

    Focuses upon performance, scalability, reliability

    Helps achieve the predictability needed to be in control at all times


Beginning C# Databases


No matter what programs you develop, there always exists a bottom line: you must know how to access and manipulate data. This book teaches you all the essential data manipulation skills that you will need when you code in C#.


Data can be stored in many places, but large quantities of data that need to be frequently accessed are usually stored in relational databases such as SQL Server. Knowing how this data is structured, and how to access and update it, are therefore the most important programming tasks the professional programmer needs to learn.


As well as teaching you database basics, such as using SQL to communicate with databases, this book provides you with detailed and code-practical techniques to access data in C# across a wide range of specific coding situations. Code-heavy and full of practical detail, this book has been fully revised and upgraded for .NET 1.1 and offers you the best contemporary practice in this core programming area that you'll find yourself using in nearly all of your .NET projects.