Herding Code

spacer

Search

Herding Code 133: Derick Bailey on Backbone.js

  • 1 Comment
  • Posted by admin
  • Posted in interview, podcast

In this episode, the guys talk with Derick Bailey (consultant and founder of watchmecode.net, where he sells JavaScript themed screen casts) about Backbone.js, which is a popular JavaScript framework.

Download / Listen:

Herding Code 133: Derick Bailey on Backbone.js

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Show Notes:

  • Derick starts off by explaining what Backbone is not: a JavaScript MVC framework.
  • Backbone provides a way to structure and organize your code, separating responsibilities in to easily recognizable pieces.
  • Derick points out that Jeremy Ashkenas, the creator of Backbone, said that Backbone is a library. The distinction Derick references is: "a framework calls your code, you call a library’s code."
  • Kevin asks what are the main parts of Backbone. Derick mentions models and collections, views, routers, and some helpers: backbone.sync, backbone.events, and history.
  • Kevin asks for a clarification on what a single-page application is. Derick cites Gmail as the canonical example.
  • Kevin asks if Backbone is mainly used for single-page applications. Derick explains that it is very flexible and can be used as much or as little as necessary for any kind of application.
  • Jon asks if using Backbone is an all or nothing proposition or if bits and pieces can be brought in over time.
  • Kevin asks for a comparison to other similar JavaScript libraries/frameworks.
  • Jon asks if there are any template or boiler plate projects for getting started with Backbone.
  • K. Scott asks about Derick’s Memento plugin, which allows you to store and restore your model’s state.
  • Kevin asks Derick why he thinks Backbone has become so popular.
  • Jon asks about the process and requirements for creating Backbone plugins.
  • Jon asks about the debugging story when using Backbone.
  • Kevin asks about tools and approaches for testing Backbone.
  • Kevin asks if there are any sources for best practices for Backbone.
  • Twitter questions from @elijahmanor: "In what type of applications would you not recommend using Backbone?", "Do you plan to consolidate your blog posts into a Backbone book?", "Have you done any mobile development with Backbone?, "Do you use Require.js alongside Backbone?"
  • Kevin and Derick discuss server-side rendering of JavaScript with Backbone for the purpose of being easily findable by search engines.
  • Derick talks about the on-site training and training videos that he offers.

Show Links:

  • Derick Bailey blog
  • Twitter
  • Backbone
  • Jeremy Ashkenas – Founder of Backbone
  • Zepto.js
  • Backbone.js Is Not An MVC Framework
  • SproutCore
  • Batman.JS
  • Ember.js
  • JavaScriptMVC
  • Agility.js
  • Knockout
  • Spine
  • CoffeScript
  • Knockback
  • Dericks Backbone data binding plugin
  • Bocoup – Introducing the Backbone Boilerplate
  • Backbone mailing list (Google Group)
  • Backbone.Marionette
  • BBCloneMail on GitHub
  • BBCloneMail live on Heroku
  • Backbone.Memento
  • Underscore.js
  • Joey Beninghove
  • QUnit
  • Jasmine
  • jasmine-jquery
  • Sinon.js
  • Rob Conery refactors the Backbone.js todo list sample
  • Derick’s list of Backbone resources
  • Require.js
  • backbonetraining.net
  • watchmecode.net
Read On Subscribe 1 comment Add Your Opinion

Feb 03

Herding Code 132: Phil Haack, Keith Dahlby and Paul Betts on Git for Windows developers

  • 11 Comments
  • Posted by admin
  • Posted in interview, podcast

In this episode, they guys talk with Phil Haack and Paul Betts (both new GitHubbers) and Keith Dahlby (author of posh-git, a set of PowerShell scripts which provide Git/PowerShell integration) about using Git on Windows.

Download / Listen:

Herding Code 132: Phil Haack, Keith Dahlby and Paul Betts on Git for Windows developers

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Show Notes:

  • Paul begins with talking about why he thinks Git is cool, starting with the ability to create a clean source history that’s based on intent.
  • Phil says some people who aren’t used to distributed version control get the wrong impression of rewriting history. The idea is that you’re rewriting history as you work locally to build a clean commit. You don’t generally rewrite history once you’ve pushed to the master repository.
  • Keith says he tells people that when you push, it’s permanent. Until then, you can pretend you’re perfect. It’s just a save point – this reminds Jon of a quote from Dave Ward that this is like the ability to create save points anywhere in a video game.
  • Scott K says this is all great in theory, but he never sees people taking advantage of history rewriting. He goes on to say that he loves GitHub but hates Git because Git hates developers – rewriting history is way too hard.
  • Phil says that this makes more sense when you think of this in terms of replaying changes.
  • Phil says that he really started liking Git after reading the site Think Like (a) Git.
  • Paul says that he thinks this would be a lot easier to understand if you could see and work with things visually. Scott K says gitk kind of works but it’s clunky. Keith talks about gitk a bit more.
  • Scott K talks about how he regularly ends up with a corrupted state and asks for recommendations. Paul says the solution is to use either git reset or git rebase and explains what they mean. Jon asks for more info, and Paul talks about git reset –hard.
  • Phil talks about the importance of following an established workflow to avoid problems or getting in a state you don’t understand. He talks about the published workflow they use for the NuGet Gallery. Paul talks about how he and Phil are working on improving the interface to make it easy to follow working patterns.
  • K Scott talks about one confusion is that there are so many commands and parameters. Keith says that you can get by with a tiny subset, and can grow as needed.
  • Kevin asks if it’s possible to get your repository into a corrupted state, or if users are just getting confused by a valid state. Paul talks about some finer points of how things are stored and wraps up by saying really the only way to lose work with Git is to mess up or delete uncommitted changes or files.
  • Twitter question from @LeeFlannery: "can you discuss how command line git for Win isn’t so scary – stop waiting for integrated VS tooling to use git." Paul talks about how the MSysGit makes things unnecessarily confusing by making you think you need to use the Bash prompt.
  • Twitter question from @JavierLozano: "Why use powershell instead of bash for a console client? What are the gains?" Keith explains how posh-git gives you a Windows native experience (e.g. Windows style file paths). Phil talks about how the posh-git tab extensions give you an IntelliSense-ish experience with Git. Keith explains that posh-git does things like keeps track of which file have been added, so you can autocomplete files you’re adding rather than have to type them out.
  • Scott K says that posh-git was slow when he tried to use it and asks if performance has been improved. Keith says that posh-git calls git status on every action to offer contextual tab expansions and explains how to disable that for faster performance.
  • Keith talks about installing posh-git using psget, and more advanced use by cloning the posh-git repo and customizing it. Jon asks why installing posh-git in command-line didn’t work in the PowerShell ISE, and Keith explains that there are separate profiles for PowerShell command line, PowerShell ISE, and the NuGet Package Manager prompt in Visual Studio.
  • Question from John Sheehan: "What are some of the other things outside of tooling that are impediments to Windows users adopting Git." Paul lists several: line endings, SSH keys, the MSysGit install, and the git commit using vi in compatibility mode.
  • Keith says that MSysGit isn’t Git for Windows, it’s Git for Linux developers on Windows – it doesn’t behave like Windows at all. Keith asks who runs MSysGit.
  • Phil says there are a lot of conceptual obstacles to adoption, and says that he thinks it’s necessary to make it easier to do simple things without worrying about obscure and advanced options.
  • Jon talks about the frustrations in typing in the SSH passphrase and asks for suggestions. Paul talks about ssh-agent.
  • Jon asks for specifics about what Paul and Phil are working on. Paul say the idea is similar features to GitHub for Mac – not necessarily in design, but featureset.
  • Jon says that he likes how the TortoiseHg tooling shows the command-line version you could have typed when you perform operations in the GUI. Paul agrees that’s useful, and Keith points out that it’s available in Git Extensions.
  • Scott K says that he likes the built in Mercurial server and says it’d be nice if Git made it easier to run a Git repo on Windows. Paul says that it’s really easy to set that using a fileshare. Scott K says he uses that, but it’s not as discoverable as the Mercurial webserver. Keith talks about how setting up he’s seen this set up using per-user shares.
  • Twitter question from @jeremydmiller "Are you concerned that folks spend so much time debating and tweaking their Git workflow that they’ll forget to actually code?" Phil and Keith discuss two popular GitHub workflows: GitHub Flow and git-flow.
  • Twitter question from @kppullin "why must line endings be so painful!" Paul explains the source of the problem and how autocrlf tries to solve that, and there’s a general about how problems occur.
  • Keith talks about using gitattributes to do things like telling Git to use C# differencing with .cs files.
  • Jon asks finding good, non-hostile documentation. Scott K says that all the books focus on happy path documentation rather than useful stuff. Some useful online resources are listed, including Think Like (a) Git, The Git Parable, and ProGit.org.
  • Keith jokingly asks if we can talk about why Git is better than Mercurial. Jon takes the bait, and hilarity ensues.
  • There’s a long discussion about the usefulness of a clean history and the ability to accurately use "blame" to understand when a bug was introduced.
  • Things start to wrap up and K Scott asks for last thoughts. Paul mentions GitPad, which sets Notepad as your Git commit editor. Keith recommends Console2. Phil points out a neat hidden feature on GitHub – using T to get incremental search.

Show Links:

  • Phil Haack – @haacked
  • Keith Dahlby – @dahlbyk
  • Paul Betts – @xpaulbettsx
  • GitHub
  • Think Like (a) Git
  • posh-git
  • Phil’s recent post about posh-git: Better Git with PowerShell
  • gitk
  • GitHub Flow
  • git-flow
  • Git Extensions
  • GitHub for Mac
  • The Git Parable
  • ProGit.org
  • ProGit chapter on gitattributes
  • GitPad
  • Console2
Read On Subscribe 11 comments Add Your Opinion

Jan 20

Herding Code 131: Chris Williams and Matthew Podwysocki on the Javascript community

  • 6 Comments
  • Posted by admin
  • Posted in interview, podcast

In this episode, the guys talk to Chris Williams (organizer of jsConf) and Matthew Podwysocki about the Javascript community, fighting negativity in the programmer community, emerging Javascript trends, and the merits of spring beers.

  • Jon asks Chris to catch us up with what’s happened since we last talked to him, just after jsConf.us 2010.
  • Chris starts with his jsConf.eu 2010 talk, including Promote.js and the reminder not to forget the roots of the Javascript community.
  • Chris doesn’t speak at the jsConf.us conference, mostly because he organizes the US conference and doesn’t want to present an appearance of unfairness.
  • Chris then moves on to his jsConf.eu 2011 talk, An End To Negativity.
  • Chris says that the negativity is rampant in the programming community, and it feeds on itself. There are far too many people who participate in community conversation just to cheer on the fights. Our profession has a unique opportunity to create and try new things, but the negativity in the community stifles that. We need to stop the negative “hating” in private conversations, not shouting matches in online forums.
  • If you disagree with a technology, put your energy to constructive use via open source contribution (fork and create) rather than writing scathing blog posts.
  • Scott K says that negative discussion’s everywhere – all online discussion, politics, media. Rather than discuss ideas, people just call others idiots. Chris says you’ve got to start locally. His recommended solution involves beer.
  • Matt says it’s easier to lob bombs from afar, and personal discussions solves that. Kevin says one on one discussions over beer aren’t always possible, and Chris says even the offer is what’s important.
  • Jon says that he’s never tried to resolve issues one-on-one and come away convinced that the other person is just plain evil. Usually there’s some unspoken history that explains why people think as they do. Chris applies that to prejudices against Javascript that were formed by bad experiences people may have had long ago.
  • Jon says he’s noticed that Chris’ speaking style is disarmingly humble. Chris says he really values humility in developers, and that the current rock star ninja terminology is too self promoting.
  • Jon says that the online discussion forums like Reddit and Hacker News are all about voting up or down, which encourages negativity. Chris talks about trite these arguments often are, such as focusing on features which aren’t yet implemented in new technologies.
  • Scott K. says he’s amazed at the overall positivity on StackOverflow. Chris says he thinks it’s a matter of time before it creeps in. Jon says he thinks that he thinks the vote engineering and overall problem solving focus of StackOverflow is designed to produce overall positive results.
  • Jon reacts to Chris’ Fork and Create call by saying that when he’s releasing code publicly, it’s a lot harder to criticize others. Chris says that people who are busy creating don’t have time for trivial arguments, and Matt says that working publicly gives you a healthy dose of vulnerability.
  • Chris talks about the negativity he encounters in putting on conferences. At jsConf.us 2011 they raised over $3000 to contribute towards increasing gender diversity and it received no attention at all, while a negative incident at the conference got a lot of attention.
  • Jon says that in teaching his daughter some basic programming, he’s reminded of the fun of creation that got him started in development. That’s got to be our focus. Chris and Matt talk about how their parents spent time introducing them to computers, and would love to see parents introducing their kids to computers.
  • Scott K says that he’s seen the community as a whole move from a focus on writing code to macho chest thumping.
  • Jon says he liked the part of Chris’ keynote that welcomed Dart and CoffeeScript. Chris said that innovation and new languages are great since they move things forward. Chris points out that people bash on Flash, but forget that it was instrumental in the development of Javascript through things like JIT compilation.
  • Scott K wonders if we’d do better to just create new languages more often. Jon says that’s tricky with Javascript since it runs on so many platforms, but Scott K says that he thinks there’s more room for extending Javascript inside the language itself. Chris says both can be powerful, and mentions ClojureScript. He says that the velocity of change for Javascript is accelerating with more frequent browser releases and the things he’s seeing in Windows 8. He says we need to embrace that change by being more willing to drop support for older browsers.
  • Christ talks about how TeamJS is raising money in the Mozilla Firefox Challenge (please join in!).
  • Jon reacts to Chris’ keynote question, “What would you do if you knew you could not fail,” noting that most of his personal failures come from not attempting things. Chris says that quote is inspirational to him, and agrees that we fail in 100% of things we do not attempt.
  • Twitter question from @elijahmanor – “Recently Chris tweeted that the trolls may be right. What did he mean by that?” Chris says that a reaction to hype around node.js, and there’s a general discussion about node.js.
  • Jon asks Chris about his reactions overall to Microsoft getting involved with things like node.js and Javascript on Windows 8. Chris says that the community sometimes has an initial shock, but Microsoft-of-new is a different company that’s doing a lot of great stuff. He says he’s happy to see talks from Microsoft developers that aren’t “Microsoft presentations.”
  • Matt talks about a recent node.js talk focused on maximizing node.js hosting efficiency.
  • Jon asks Matt and Chris to give us a heads up on some emerging technologies in JavaScript land. Matt mentions emscripten, jsmad, and RiverTrail.
  • Jon asks if people (himself included) will eventually realize that Javascript isn’t inherently too slow for these computationally intense applications. Scott K and Matt talk about how things like V8, JITing, and investment by big companies continue to make Javascript faster and faster.
  • Jon asks Chris what trends he’s noticing, and he mentions dynjs, pdfjs, and jslinux. He mentions browser vendors moving towards extension systems based on Javascript. Jon talks about how he thinks Mozilla’s XUL was so far ahead of the game, using HTML/CSS/Javascript as a development platform.
  • Matt brings up JSIL (a compiler that transforms .NET applications to Javascript). There’s a discussion of Javascript as a VM for other languages. Matt mentions Microsoft’s Volta initiative.
  • Chris and Scott K talk about putting other languages in the browser. Chris says that Javascript has been battle tested in a way that no other language has.
  • There’s a discussion of the node.js work that Microsoft’s been doing – not just getting it to run on Windows, but in making Windows / IIS hosting for node.js compelling.
  • Jon asks Chris and Matt for their current recommendations, and an argument over spring beers erupts.

Show links:

  • jsConf.us, jsConf.eu
  • Chris Williams’s Blog, @voodootikigod
  • Matt Podwysocki’s Blog
  • Promote JS
  • bcrypt
  • Issue 28
  • The Problem with Implicit Scoping in CoffeeScript
  • Raganwald: CoffeeScript is not a language worth learning
  • ClojureScript
  • TeamJS donating to the Mozilla Firefox Challenge
  • denser – an experiment with high density server side java script
  • Erik Corry – Garbage Collection in JavaScript
  • emscripten – an LLVM-to-JavaScript compiler
  • jsmad – a Javascript MPEG audio decoder
  • RiverTrail – a ParallelArray abstraction for JavaScript
  • Atwood’s Law
  • dynjs – (almost) 100% invokedynamic js impl
  • pdfjs – PDF Renderer in Javascript
  • jslinux – Linux shell running in Javascript
  • Mozilla XUL
  • JSIL
  • Microsoft Live Labs Volta

Download / Listen:

Herding Code 131 – Chris Williams and Matthew Podwysocki on the Javascript community

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Read On Subscribe 6 comments Add Your Opinion

Jan 04

Herding Code 130: Dave Weaver on Loggr – a realtime analytics service built with MVC, MongoDB and SignalR

  • 5 Comments
  • Posted by admin
  • Posted in interview, podcast

In this episode, Jon Galloway and Kevin Dente talk to Dave Weaver about Loggr, a complete logging, analytics and notification system that will easily bolt on to your application.

  • Dave runs Markkup, a consulting company and is building Loggr, SaaS application that provides real time logging and monitoring.
  • He was one of the founders of Chili!Soft, which was an implementation of Classic ASP that ran on Linux, Solaris, IBM software, and Windows.
  • Dave tells the story behind Chili!Soft, which is now Sun Java System Active Server Pages.
  • Dave goes into the main features/benefits of Loggr.
  • Jon asks about reports and queries provided by Loggr.
  • Dave mentions there is an HTML5 version of the dashboard that works well on a tablet as well as an iPhone app. There is also an Android app in the works.
  • Jon and Dave discuss the freemium model that Loggr employs.
  • The guys move to talking about the stack that Loggr is developed on.
  • It is built on ASP.NET MVC2.
  • It uses Backbone.js for the client side JavaScript.
  • MongoDB is used as the database.
  • SignalR is used for the client-server communication to provide live user monitoring.
  • Kevin asks about the decision to build a startup on the .NET platform.
  • The guys touch on the VB.NET vs C# debate.
  • Jon asks about the backup/redundancy story for MongoDB.
  • Dave talks about the HTML5 client vs the native iOS app vs the Android app.
  • Jon asks about the experience developing the iOS and Android apps.
  • There are agents for .NET, Java, ColdFusion, PHP, Ruby, JavaScript.
  • You can configure log4net to log to Loggr.
  • Dave mentions Loggr uses Rapleaf to display demographics for a user, such as age and gender.
  • Loggr also uses FullContact to display the social networks and avatars of a user.
  • Jon asks Dave for advice for anyone interested in starting a similar venture.
  • Jon asks about the Loggr road map.
  • Jon asks about the business and marketing side of Loggr.
  • Jon asks if any companies are leveraging the Loggr APIs to create other offerings.
  • Jon asks if there is any demand for customers to host Loggr internally.
  • Kevin asks if there have been any issues related to versions of the Loggr APIs.
  • Kevin asks about downtime and SLAs.
  • Jon asks about the process to get started with Loggr.

Show links:

  • Loggr @loggrnet
  • Dave Weaver’s blog @davidweaver
  • Markkup
  • Joel on Software post about Chili!Soft
  • Sun Java System Active Server Pages (formerly Chili!Soft)
  • Mission Research
  • Blog post referencing Google Analytics
  • Irony on CodePlex
  • Loggr code on Github
  • Backbone.JS
  • MongoDB
  • Official MongoDB C# driver
  • SignalR
  • MonoTouch
  • Mono for Android
  • Nlog writes to Loggr
  • log4net
  • Rapleaf
  • FullContact
  • Evernote
  • Exceptioneer

Download / Listen:

Herding Code 130: Dave Weaver on Loggr – a realtime analytics service built with MVC MongoDB and SignalR

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

This week’s show notes were typed up by @RossFuhrman – Thanks!!!

Read On Subscribe 5 comments Add Your Opinion

Jan 02

Herding Code 129: Rob Reynolds on Chocolatey and the Chuck Norris Frameworks

  • 2 Comments
  • Posted by admin
  • Posted in interview, podcast
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.