Categories: AngularJS, Portfolio, Software Development, Web Dev Training

Deconstructing AngularJS Injector

I was reading through Coders at Work and realized that I haven’t done much code reading lately, other than reading through code samples in tutorials and articles. The interviews in the book suggested that code reviews and code reading are one of the most important things you can do as a professional programmer. This gave me the idea to write this article on the Angular injector.

I’ve been doing some stuff with AngularJS and one of the key ideas is dependency injection. Here’s a deconstruction of Angular¬†injector.js which contains all the functions and classes for dependency injection.

Continue reading “Deconstructing AngularJS Injector”

Categories: Portfolio

Hotspots Tool

I created a tool on the Django admin for positioning hotspots on an image. Hotspots on an image are points that can be clicked which will then display a pop-up with more information. I created this because we had maybe 50+ hotspots to place. Without the tool it would be a manual job, figuring out exactly where to place them. With the tool, all we had to do was drag and drop the hotspots on the image.

I wasn’t involved with the front-end except for a few minor CSS fixes. I was only involved in working on the Django admin tool for placing the hotspots and assigning the extra information they needed to display.

Unfortunately, I didn’t take a screenshot of the tool (and I probably wouldn’t be allowed to share it) so I created a mockup instead. I also started work on a free/open source implementation, it’s called jquery-hotspot-placement.

A mockup of the implementation of a hotspots placement tool I created for the Django admin.
A mockup of the implementation of a hotspots placement tool I created for the Django admin.
Categories: Portfolio

Front-end Consulting Work

Here are some sites that I worked on in 2010 and 2011.

Technologies worked with:

  • Drupal 6 and 7
  • PHP
  • MySQL
  • WordPress
Categories: AngularJS, Portfolio, Software Development

Writing an AngularJS Tutorial, First Draft is up

The state of the AngularJS tutorials and API docs is not that great. I’ve had to look through two books and many tutorials just to understand the basics and instead of simply complaining, I decided to do something about it.

So here it is, my Learning AngularJS tutorial. It shows you how to setup an AngularJS project, what you need for testing, how to create a controller and how to use some of the more common directives, such as ng-repeat, ng-click, select, ng-bind, and ng-model.

The repo contains an HTML version and an ODT (OpenDocument text) version. There’s also the org-mode file used to create those versions. More importantly, all the code in the tutorial has been done in a literate programming fashion. Whatever you see in the tutorial has been assembled together and fully tested. All of the code is in the repo.

Update July 2017: You can check out the differences between Angular 2/4+ vs AngularJS 1.x here. I am planning on writing another tutorial using the latest version of Angular using the same literate programming style.

Categories: Portfolio, Software Development

Presentation: Why PyCharm

Just created a short presentation for work about why I’m checking out the PyCharm IDE.

I wrote an article about trying out PyCharm for Python development. I learned to use it when working with Django (though I have used Emacs for web development usually). PyCharm has a lot of advantages and what I like about it, and RubyMine, is that you can use Ctrl+Click (on GNU/Linux and Windows) or Command+Click (on Mac OS X) to see where a method or class is defined or to find where it is being used in the code base.

Update: found a nice post by a VIM user who switched to PyCharm and found it awesome how integrated everything is.