Sometimes, you want to load javascript on a page but only under certain conditions. On a recent project I wanted to show a ‘toast‘ instructional overlay, but only to new users. If the user has already been using the app successfully, showing these overlays would be annoying, so I only wanted to show the overlay if the user had not yet completed an order.

The trouble is, the code to display the overlay is in Javascript, but only my rails app has the knowledge of the current user, so I have to get that info to the front end somehow.

I’ve been learning Angularjs lately, and I’ve come across a number of tutorials combining Angularjs with Rails, or Angular with Yeoman, but nothing that combines all three. So I’ve cobbled together a few different tutorials into one AngYoRails project.

The main basis of my tutorial is the yeoman.io Angular tutorial. Yeoman is a code generator that has many generator modules to create the kind of app you want — Angular, Node, Backbone, and many more. That tutorial walks you though creating a basic Angular front-end app with Yeoman. The app is a to-do list, where you can enter todos in a form and submit them and they appear in the list. The tutorial has a good explanation of angular directives, app structure, and data binding.

The Rails asset pipeline is wonderful for organizing your javascript files. Once you figure it out, it’s really quite nice.

One problem I had was that certain pages of my site needed some heavier javascript, and I wanted to delay loading those scripts until after the page is loaded. I hoped this would provide some perceptible page speed improvement to the user, who wouldn’t have to wait until all the js is downloaded to see the page.

However the Rails asset pipeline doesn’t really support this ability — not that I could see, anyway. I did come across a couple resources that helped me figure this out, and here’s how I got it to work:

People often reach out to me asking about the Boston web/mobile tech scene. How to find meet ups, looking for co-founders, or recruiting for their company. Here’s a collection of resources for incubators, meet ups, and other events around Boston.

This list is by no means exhaustive, but I will add to it as I find more resources. If you would like me to add anything, drop me a note on the contact page.

I recently purchased a Raspberry Pi mini computer, and had to think of something to do with it. I decided I would offload the torrent downloading and media serving responsibility from my home PC to this tiny wonder. Here’s how I did it:

General Assembly (http://generalassemb.ly) is a new face in the Boston tech scene, having opened its Kendal Square location back in October. GA claims to “transform thinkers into creators through education and opportunities in technology, business, and design.” GA hosts a variety of classes, from a one-evening session on mobile apps to a 10-week course in product management.

I attended the class titled “Building Web Apps with Backbone.js”, which gave an intro to the popular Backbone.js framework. About 12 people attended, with varying levels of skill and experience. The instructor, Dave Wasmer, took the pulse of the attendees with a quick javascript quiz and then dove into the meat of the material.

Dave has a great command of Javascript and backbone.js. Unfortunately Dave didn’t get a chance to cover some of the material, as the class had a lot of questions that slowed down his progress. It’s tough to do crowd control, and ensure that everyone has the right background to benefit from the material.

Still, my group did get some valuable tips out of the class, and we’re going back for the Advanced backbone.js course later in February. A big benefit to attending in-person classes and meetups (as opposed to doing tutorials online) is the chance to meet and talk with other people working in the field. We met a number of great people, and I left thinking that General Assembly is making a big contribution to the Boston tech community.

Steve’s talk focused on teams and learning, and how teams learn differently from individuals. After the basic concepts, he then applied that idea to the world of corporate training — for example, Scrum training for a team or whole company. The way it’s usually done is a 1-day or a few days of intensive training, where the topic is introduced and a lot of material thrown at the student, and after the training they are ‘certified’ and now ready to be a ‘master’ of this subject at their company.

Except we don’t retain that much of what was presented; 25%, maybe. And we don’t learn as well given all the material up front, as opposed to learning a little bit over time. So Steve proposes work-based learning on real projects, with teams using a scrum-like process to figure out what is most important for them to learn first (the backlog), experiment with that knowledge and do something practical, then reflect on how it went before learning the next important concept.

Steve claims this style has shown to reduce cost of training up to 30%, and since the team is using a real project to learn the new material, benefits are shown immediately. This takes the focus away from passing a test or completing a course to using the new knowledge to actually work better and improve the project, which makes the team more accountable for results.

Today I attended the Agile Boston group’s November meetup, titled ‘Give Thanks for Scrum‘. The “giving thanks” part was to recognize everyone working to transform their team/organization to embrace Scrum and agile methodologies. Ken Schwaber and Jeff Sutherland each presented, and both had some interesting highlights about how far scrum has progressed since its creation in 1990s:

Scrum has moved out of just software, and into manufacturing, even social ‘do-good’ organizations with great results

US Dept. of Defense now requires their vendors to produce product in an iterative fashion, with frequent customer touchpoints – one of the key principles of agile

Some other fun stuff I learned today:

Jeff told the story of Joe Justice, who led a top-ten finishing team in the 100mpg electric car competition, delivering a road-legal electric vehicle in only 3 months! — using agile practices.

Heang Ly led a session demonstrating several ice-breakers, those getting-to-know-you games and funny practices to get strangers talking. It seems like everybody likes to call these things ‘lame’ and act too good for them, but it’s amazing how earnest everyone was once we got going. People came out of their shells and talked, offered to help each other, and shared their insights. I soon got over my self consciousness and thoroughly enjoyed myself.

Dan Mezick emceed, and brought passion and energy to the room from start to finish. I liked his no-holds-barred style, willingness to say daring things and challenge conventional wisdom. I’ve started reading his blog.

I met some great people, had some ok food, and generally had a good time. It wasn’t perfect — some people talking during the presentations made it hard to concentrate, and it seemed like a lot of attendees already knew each other, I had a hard time approaching people (which is more my problem than theirs). But everyone was warm and inviting, and pretty positive people overall — the kind of people you get energy from when they’re around. So I’ll probably be going back for the next meeting.