Nested Views in Backbone.Marionette A couple of weeks ago we published an article about Functional Programming that used a bagel as an example. It was very well-received, so why not try again? This week @samccone is back with the delicious carbohydrate to talk about Nesting Views in Marionette.js. Nesting views can be a difficult task at first glance. Suppose that we are tasked with creating an interface that covered the process of making a bagel sandwich. Making a sandwich is pretty darn complex though. Let's assume that the output we need to generate looks looks like this. It might look like this (click through to see code example): Programmatically rendering this bagel according to our data seems like it will be a pain. The three pieces we will use are Let start out with a foil Region that will hold our bagel. Now we will create our CollectionView class that will hold the contents of the bagel, and a View class to output each Ingredient. Alright, so far, so good. Take a look at the finished product here. Like to write code?
The Machine Learning Revolution: How it Works and its Impact on SEO Machine learning is already a very big deal. It's here, and it's in use in far more businesses than you might suspect. A few months back, I decided to take a deep dive into this topic to learn more about it. For reference, check out Rand Fishkin's presentation about how we've entered into a two-algorithm world. For fun, I'll also include a tool that allows you to predict your chances of getting a retweet based on a number of things: your Followerwonk Social Authority, whether you include images, hashtags, and several other similar factors. The TEP leverages the data from a study I published in December 2014 on Twitter engagement, where we reviewed information from 1.9M original tweets (as opposed to RTs and favorites) to see what factors most improved the chances of getting a retweet. My machine learning journey I got my first meaningful glimpse of machine learning back in 2011 when I interviewed Google's Peter Norvig, and he told me how Google had used it to teach Google Translate. Panda
Using Marionette to Display Modal Views For a while, I’ve been thinking about how best to handle showing modal dialog boxes for my applications while utilizing Backbone views. A lot of interesting ideas passed through my head, but none of them seemed exactly right. Then I saw a post by Derick Bailey where he described how he uses Marionette’s Regions to handle the work. His post is a bit on the old side and Regions have changed a bit since, so I decided to look into how to do it myself. The Issues There are several issues surrounding creating modal dialogs just with a view. Along with that, we lose reusability. The Solution Now that we know we need to pull the modal functionality out of the views, it’s just a matter or figuring out where to put it. All we need to do is augment a Region to call the plugin’s method for showing the modal when the view is shown, make sure to hide the modal when the view is closed, and close the view when the modal is hidden. There are a few things worth noting here: Now it’s simple to use: Conclusion
Beyond grep: ack 2.14, a source code search tool for programmers Graphical vi-vim Cheat Sheet and Tutorial Learning vi or vim is not easy. But it doesn't have to be that difficult, either. It is, in any case, faster, more powerful, and more productive than editing with any other editor, so you would do very well in investing the time and effort to learn it. Being a vi lover myself, I came up with the idea of providing a graphical cheat sheet for those learning vi or vim, and I also found out it was a very good way to structure a tutorial. Here are the results for your learning enjoyment (or your colleagues'). By the way, I recently published the definitive article explaining why vi/vim editing is so much better than regular editing. Graphical cheat sheet This is a single page describing the full vi/vim input model, the function of all keys, and all major features. Graphical cheat sheet based tutorial The tutorial above is structured in 7 lessons that cover the major commands in vi/vim. Notes With the single exception of the external filter feature ("!") Relevant links Why, oh why, do those #?
lumiverse Neural Networks Demystified StephenWelch Subscribe Part 2: Forward Propagation Programming Neural Networks Demystified Part 3: Gradient Descent Part 4: Backpropagation Part 5: Numerical Gradient Checking Part 6: Training Introducing Backbone.Radio | Marionette.js Blog Marionette comes bundled with a library called Backbone.Wreqr, and in the coming months we will replace it with a new library by the name of Backbone.Radio. Radio is heavily inspired by Wreqr, but it was rewritten from the ground up. I wouldn’t be surprised if you’re unacquainted with Wreqr. In fact, I would wager it’s one of the lesser-used pieces of Marionette. I blame this on the fact that it lives in a separate repository and is only mentioned in the Marionette documentation in passing (shameless plug: brand new Marionette docs are on the way!). This post will outline our decision to rewrite and replace Wreqr. What is Backbone.Wreqr? Backbone.Wreqr is a collection of three messaging patterns. There’s much interesting discussion about the pros and cons of event-driven architecture, but it’s beyond the scope of this post to get into those things. Why rewrite Wreqr? We think that the risk of fragmentation with this rewrite is low. The benefits of Radio Ordering the Command later:
mileszs/ack.vim RequireJS and Backbone View/Template loading | jsdude I’ve been playing with RequireJS and Backbone while making some home projects for quite long time now, and here’s what I think about it: IT’S TOTALLY AWESOME! In this article I’m going to describe some ideas about how to build backbone-specific modules with RequireJS I don’t like a lot of things about millions of backbone tutorials out there. Especially when it comes to Views and templating – I really hate the idea of putting html templates inside script tags and then accessing this strings via jQuery.text() method. RequireJS has some cool plugins available, one of them is require.text. Ok, here is how I did it. first of all, let’s define some simple folder structure (I use Python Flask Framework, so all my static files are in default static folder): /static —-/js ——–/templates ————/userListTemplate.tpl ————/someOtherTemplate.tpl ——–/views ————-/userListView.js ——–/collections ————-/usersCollection.js ——–/require.js ——–/text.js ——–/main.js then RequireJS will load just what we need.