How Google Works, about the inner workings of Google and some of the principles that have sustained the company. I like the 10X attitude where you take an idea and then increase its scope by 10 times to get an amazing and inspiring project to build towards
Values At Play In Digital Games, establishes a framework for including values and ethics and things like that into the design and development of video games which has become a major issue in the last decade.
I always end up reading about work, whether it’s about the management or business or marketing details or about software development where I make my living.
The Sea The Sea and the Gibson novel are nostalgic throwbacks. I burned through as many science fiction and cyberpunk novels as possible almost a decade ago. The Sea The Sea is something I read when I was younger and I’m just curious to see what I saw in it since it’s a distant memory
Values At Play and Speculative Everything are a little more academic and formal but they’re going to have a huge impact on how designs of video games and the design of other objects happens (well they will have an impact as soon as we get these books into the hands of designers, creatives, product managers, software developers, interaction designers, etc. etc.)
Today we’re covering some AngularJS books that can get you started on your path to learning how to design single-page web applications using AngularJS. While the code examples in books can sometimes become outdated, books are still valuable because they go over and explain the major concepts (directives, services, factories, unit testing, etc.) that you need when developing an AngularJS web app.
The guides on the AngularJS website are good starting points but I find that a book can go into much more detail and provide more examples that fully explore each area of the AngularJS framework. Physical books also serve as a nice break from the screen and when written well, they let you mentally figure out what the code examples will do.
“[Mastering Web Application Development with AngularJS] definitely helps a beginner and serves as a handy reference for the experienced developer. Despite having done some work on AngularJS after reading a book and online courses, this book still provided me with so much information […] that I feel I should have picked up this material first.”
— Arun Mahendrakar, 5-star review of Mastering Web Application Development with AngularJS, amazon.com
This book was recently published and has up-to-date code examples. It’s a heavy book and covers everything: directives, services, controllers. It has a nice dedicated section for defining AngularJS services and providers. It’s fantastic.
Here’s an excerpt from Chapter 9 – The Anatomy of an AngularJS App describing dependency injection:
“The place to start is to understand the problem DI sets out to solve. Some of the components in an AngularJS application will depend on others. In Listing 9-4, my controller needs to use the $scope component, which allows it to pass data to the view. This is an example of a dependency — my controller depends on the $scope component to perform its work.
Dependency injection simplifies the process of dealing with dependencies — known as resolving a dependency — between components. Without DI, I would have to locate $scope myself somehow, probably using global variables. It would work, but it wouldn’t be as simple as the AngularJS technique.
A component in an AngularJS application declares its dependencies by defining arguments on its factory function whose names match the components it depends on.”
As you can see, the explanation is quite clear, perfect for anyone new to AngularJS.
Mastering Web Application Development with AngularJS
This book gives a great overview and walkthrough of major concepts. One thing that’s impressive is that the book has unit tests for every example. Write out the code, write the unit test and run it and you can see exactly what’s going to happen.
What I really like about this book, aside from the extensive unit tests/examples, are the easy to understand explanations of core AngularJS concepts. For example, the $digest cycle and when you need to use the $apply method on scopes. If you understand them, you can improve the performance of your web app and you can avoid common mistakes.
Here’s an excerpt from Chapter 11 – Writing Robust AngularJS Web Applications, page 294:
“The idea behind AngularJS model-changes tracking mechanism is based on the observation that at the end of the day, there is a finte (and rather small) number of situations where models can change. Those include:
XHR responses firing callbacks
Browser’s location changes
Timers (setTimeout, setInterval) firing the callbacks
Indeed if none of the earlier events take place (user is not interacting with a page, no XHR calls have finished, no timers firing) there is no point in monitoring the model for changes. There is simply nothing going on for a given page, the model isn’t changing, so there is no reason to re-render the DOM.
AngularJS starts its model-observing machinery if and only if it is explicitly told to do so. To bring this sophisticated mechanism to life, we need to execute the $apply method on a scope object.”
Here’s an example of a good book that has outdated code examples. I would recommend getting this as a reference. This book is a solid reference that explains the major concepts so that you can apply them on your own.
AngularJS support in PhpStorm: autocomplete, custom directives, refactoring, routing and URL template support are now in JetBrains’ wonderful IDE, PhpStorm.
AngularJS 2.0: implementation of the next major version is beginning, mobile-first and using ES6 (ECMAScript 6). More modularity is planned and a less complex dependency injection system is being designed.
I was reading a bit about PLATO, a computer system for computer-aided instruction, and it is astonishingly old. It was around in the 70s, the 80s, etc. The language originally used for creating lessons and tutorials was called TUTOR.
I’ve been extremely curious about the language since I first read about it on the weekend and I’m glad to say that I’ve found the manual.
What’s cool to me is that this manual is a predecessor to the interactive tutorials and quizzes that are available for online video courses, platforms like Khan Academy and Coursera and Moodle. While flashcards and quizzes are easy to create, interactive tutorials are difficult to create and there is no one dominant open-source platform for doing so. I think Khan Academy’s code is open source to some extent, but it mainly covers coding questions and math problems.