{"id":17122645,"url":"https://github.com/gmac/backboneconf-learning","last_synced_at":"2025-08-10T12:13:19.885Z","repository":{"id":23360659,"uuid":"26721749","full_name":"gmac/backboneconf-learning","owner":"gmac","description":null,"archived":false,"fork":false,"pushed_at":"2014-12-17T21:06:40.000Z","size":18356,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T09:16:20.681Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gmac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-16T17:28:15.000Z","updated_at":"2014-12-17T21:06:41.000Z","dependencies_parsed_at":"2022-08-21T22:50:51.601Z","dependency_job_id":null,"html_url":"https://github.com/gmac/backboneconf-learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmac%2Fbackboneconf-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmac%2Fbackboneconf-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmac%2Fbackboneconf-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmac%2Fbackboneconf-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gmac","download_url":"https://codeload.github.com/gmac/backboneconf-learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245200702,"owners_count":20576674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T18:23:27.416Z","updated_at":"2025-03-24T03:11:15.193Z","avatar_url":"https://github.com/gmac.png","language":"CSS","readme":"To run presentation:\n\n```\ngem install middleman\nbundle install\nbundle exec middleman\n```\n\n# Learning\n\n - Hello\n - Vox Media / GA / Epoxy\n - Thank you Bocoup; also Peter Lai, and Travis Vander Hoop\n \n# Backbone @ Vox\n\n - Explainer Cards: about 25% of Vox.com traffic.\n - Case study in how simple behavior can enhance storytelling.\n \n# LEARNING\n\n - A series of simple truths the we already know.\n\n## Learning is Hard\n \n - Antaginist in the story of learning is the Cycle of Change.\n - Sine wave of peaks and valleys representing our successes and struggles.\n - What is YOUR peak?\n - What struggles do you avoid?\n\n## Growth Mindset\n\n - Learning starts with our attitude toward it.\n - See TED Talk by Eduardo Briceno (https://www.youtube.com/watch?v=pN34FNbOKXc).\n\n## Mindsets\n\n - **Fixed Mindset**: engrained level of ability.\n \t- \"If winning makes us winners, then losing must make us losers.\"\n  \n - **Growth Mindset**: intelligence is malleable. We grow our own potential.\n   - \"I don't know, YET.\"\n\n## Yes, Let's!\n\n - We've made a game of this in our classroom.\n - Simple strategy for embracing challenge, and setting ongoing short-term goals.\n\n## Mentorship\n\n - From interview panels and hiring officers:  \n *\"What will this individual cost us?\"*\n \nPowerful feedback loop...\n\n  - **Seniors** distill their own knowledge into new conclusions. They teach themselves.\n  - **Juniors** are fearless in conquering new material. They shift the team foundation.\n\n# Learning JavaScript\n\n## Why is it so hard?\n - For such a small language, why is there a disproportionate level of anger and misery associated?\n - Thank you, Angus Croll for explanation.\n - JavaScript is TWO languages:\n \t- The simple familiar (tip).\n \t- The abyssal powerhouse (depths).\n \n## Understanding\n\n - My best answer to the challenge of JavaScript:\n - When we can't rely on the \"familiar\" parts, we feel unprepared for the advanced material.\n\n## Core JavaScript\n\n - The solution: embrace more of the language as \"core\" knowledge.\n - Demystifies many library-level programming patterns.\n \nAspirational Core learning points:\n\n - **First-Class Functions**: functions as objects.  \n - **Closure \u0026 Scope**: who knows what, where.\n - **Contextual Invocation**: the meaning of \"this\".\n - **Prototypal Inheritance**: method sharing.\n\n## Require(*);\n\n - NodeJS has made JavaScript an institution.\n - The only truly full-stack language.\n - However, this is still a microcosm within software development.\n \n## Foreign Language:\n\n - Distilled research from the ACTFL...\n - Does this seem relevant to software engineers?\n - BONUS: it also forestalls degenerative diseases of the brain!\n \n So:\n \n - Who feels they are a better programmer for knowing multiple languages?\n - Valuable lesson to the new generation who can choose to use only JavaScript.\n   \n# Learning Backbone\n\n## So, Uh... What do I do with it?\n\n - Common question, even from skilled technicians.\n - Docs are functional, not conceptual.\n\n## The Simple Lessons of Backbone\n\n - Deconstructed down into basic concepts.\n\n## Backend / Frontend\n\n - Something of a religious debate.\n - BE is fundamentally simpler than FE.\n - BE is more streamlined, with more common solutions to finite problems.\n - In 2015, FE does not exist on its own.\n   \n## Model / View Separation\n\n - The Backbone visual-quickstart guide.\n - MV*? ... here it is.\n - THE simple lesson of Backbone.\n\n## M/V is Freeform\n\n - Views share models!\n - Makes complex view updates quite easy.\n\n## Collection / Model\n\n - How do these work together?\n - Their behaviors map directly to REST services.\n\n## API / Modeling\n\n - API data doesn't always match model directly.\n - Use \"parse\" to reconcile differences.\n - We want to avoid convoluted models.\n\n## Routers\n\n - There are no simple lessons.\n - While you can teach models \u0026 views in a couple days, routers take weeks of repeated practice.\n - Thanks James!\n\n# Learning the Future\n\n## A Retrospective\n \n - This is NOT about obesity, but about maps.\n - This is my story, and I'm sure most of you have something similar (or will soon)...\n   - HTML image maps.\n   - Macromedia Director.\n   - Flash.\n   - D3 / TopoJSON.\n - While tools and data formats have changed, we're still doing the EXACT SAME THING.\n\n## Design Patterns\n\n - There's a famous book about this...\n - This quote is 15 years post-\"Software Design Patterns\".\n - The book's original influences can still be seen today.\n \nSO:\n \n - **As technology evolves, we remember software not for it's code, but for its design.**\n \n## Backbone in 2025\n\n - What will we remember, and/or what will still apply?\n - Design will stand the test of time, code will not.\n\n## Start Over\n \n - Conway's Game of Life.\n - Cited among the most valuable days of class.\n - Pair up, code for 1 hour, then start over.\n   - Letting go.\n   - Breaking the cycle.\n   - Starting over.\n\nSO:\n\n- That's not to say that we should start over without cause...\n- **But when the time comes for the change:**\n \n## Yes, Let's. ","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgmac%2Fbackboneconf-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgmac%2Fbackboneconf-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgmac%2Fbackboneconf-learning/lists"}