Twitter has been my online home since 2008. I've written ~50,000 tweets, chronicled the progression through multiple careers, made countless friends, and leveraged the network to build a business that has generated well over $30,000,000 in revenue. To say Twitter has been an important part of my…
Read ArticleAfter 15 years on Twitter recent events have me strongly considering other venues for my positive and optimistic updates to like-minded folks. Mastodon has seen a strong boost in utility recently as a solid replacement to Twitter. I'm giving it a try, find me here on Hachyderm instance . Choosing…
Read ArticleThese are notes about my personal setup for a new macOS computer. Some of the instructions might be incorrect for your environment Getting Started You'll need several things installed on your machine to proceed with configuring zsh beyond the defaults. Xcode Command Line Tools: just run xcode…
Read ArticleThere are a lot of interesting options for commercial and open source players. In the last several years HTMLVideoElement has become cross platform standard and simplified media player development considerably. No Flash fallback required! Despite the availability of a standard approach for loading…
Read ArticleIf you want to launch a course, project, e-commerce store, or some other product there are a shit load of services on the internet that you can fire up, add your credit card details, and be off to the races. Seems simple! These products are tuned for the masses, the least common denominator and…
Read ArticleThis video from Jay Abraham is a great introduction to the strategy of preeminence. We are not a commodity. There are two forces trying to turn us into a commodity. Our competition wants to marginalize our advantage & differentiation. Consumers want this too. If we accept this, we are a generic…
Read ArticleI split this into two campaigns and multiple segments for clarity. This lets me loop through the logic instead of "stacking" a bunch of repetition in a single campaign. I'm not sure if this is technically fine in CIO and haven't tested it yet. Course: Emailing and Course: Progress Course…
Read ArticleThe Video.js docs have a good explaination for using Video.js with React, but it focuses on a class based implementation. Getting Video.js to consistently work with React Hooks is fairly straight forward, with a gotcha or two. Here's the hook: The hook returns the Video component, which is…
Read ArticleIf you want to generate a (pseudo) random number using a Liquid filter in Convertkit , here's the code: What's actually going on here? This is a complex liquid template, so let's break it down, starting from the right and working our way left. using modulo in liquid The modulo of a number is the…
Read ArticleTools like Convertkit provide a lot of powerful tools you can use for marketing automation, but as a developer I want to goa layer deeper and find that using serverless functions with a framework like Next.js provides immense power to customize automation. In this episode of Learn with Jason , I…
Read ArticleOver the last few years, we've done a lot of React . Which is great. I love using React personally, and building egghead-next using Next.js and TypeScript has been fantastic. This year we'd like to give some of the other great frameworks and tools the stage while continuing to help folks learn…
Read ArticleThere are many reasons to create a portfolio as a software developer. You might be new to the career and need a way to represent your capabilities. You might have worked exclusively at companies that firewall your work examples behind non-disclosure agreements (NDAs) that protect their intellectual…
Read ArticleOver the years egghead has evolved from my good friend John Lindquist making the goto screencasts on Angular.js into a platform for technical content creators to produce and publish high-quality courses for a broad audience of web developers. When we first started, things were simple 😅 Over time…
Read ArticleThis is an initialism I picked up from my good friend Alex Hillman. What JFDI really means I got it tattooed on my wrist with Alex's permission 😅
Read ArticleThis is a playlist of rap songs that I enjoy that I put together for a youngster that was listening to some questionable music. There's a lot of "missing" songs. Great songs. Hit me up on Twitter if you think I'm making any greivous errors here 😂 I like it on shuffle, usually... import…
Read ArticleWorking with consultants can be great. We've always hire consultants to help build egghead and had a lot of success with that. Hiring anybody is risky, and "doing business" is an iterative exercise in risk management on many levels. Broadly, you can divide collaborators into two columns…
Read ArticleWhen the barber, an expert in their field, insists that you tell them how you want your hair cut. You fuckin tell me how it should be cut please. 😂
Read ArticleOne time I was hanging out in Philidelphia and witnessed something fantastic. Patrick McKenzie (better know as patio11 on the Internets) delivered a full on rap enforcing his long standing rule that everything is markdown when it comes to text. This stuck with me, as many pieces of advice patio…
Read ArticleConvertkit automations provide a powerful mechanism for delivering self-paced email courses that can transition into an evergreen product pitch and promotion for your product. A typical approach is to offer some form of lead magnet as a call to action to attract new subscribers to your email…
Read Article30x500 is a repeatable product development system presented and designed by Amy Hoy and Alex Hillman. The system is research and value focused and provides and end to end cycle for creating products that people actually want to buy. This summary of the 30x500 system is very " draw the rest of the…
Read ArticleIt's Monday morning. You have a sip of your favorite morning beverage and open your email client. 3632 emails from dependabot spanning every repository you've ever create on Github wait for you. What do you do? Most likely ignore them, but keeping your massive list of dependencies updates is on one…
Read ArticleIf you want to jump right to the finish line and have an existing Github repository you want to run tests on, drop the following into a file here .github/workflows/tests.yml and you'll be running your tests whenever you push to your main branch or a PR is created. If you'd like to actually…
Read ArticleThe useState hook in React is a great way to persist and update data within your React components. A simple component might look like this: This approach works for most cases but relies on the value of count in the current render. In this second example we are passing setCount a function…
Read ArticleMost of us have an ingrained sense of how to teach. This comes from the typical 12-16 years folks spend in school being taught to. Through a sort of osmosis process we get the feeling of how to teach and approach sharing knowledge with others. It builds intuition. When it comes to online courses…
Read ArticleMy friend Alex Hillman introduced me to the concept of tummling and it has been something I've strived to be better at since I learned about it. Alex believes that we shouldn't try to be "community managers" instead we should work on being really good tummlers for our communities ❤️ Here's a great…
Read ArticleKnowledge Adventure Clubs are the intersection of book clubs and Dungeons & Dragons. When I was in Jr High I'd show up to school carrying a leather briefcase. Inside of that case there were several thick books, paper, and a bunch of oddly-shaped dice. I'd sit down at a lunch room table, crack open…
Read ArticlePainstorming is part of the 30x500 course by Amy Hoy and Alex Hillman. These are my notes from the course. Painstorming is like blamestorming, but we are hunting for the pains that people experience trying to achieve the outcomes they need and desire. When we painstorm, we aren't synthesizing our…
Read ArticleBuilding a Second Brain is a course from Tiago Forte that presents a structured approach to consuming knowledge for interative understanding. It's rooted in Getting Things Done and the idea of progressive summarization . Tiago also presents the PARA approach as a taxonomy for high level…
Read ArticleConsuming information is really fucking easy. Transforming information you consume into understanding you can implement? That's hard af. 😅 Progressive summarization is a layered asyncrounous approach to absorbing content (books, articles, videos, etc) and summarizing it at varied levels. This is a…
Read ArticleCalibre can be used to convert kindle books to PDF by installing a plugin called DeDRM_tools. You'll need the serial number of your Kindle device . As far as I know this only works with books you've purchased and if you own a Kindle. Install Calibre v4.20.0 Download the latest release of DeDRM…
Read ArticlePDFs on the iPad Pro using PDF Expert are extremely versatile to annotate and use for studying non-fiction texts such as books and academic papers. The PDF Spec has been open for years and you aren't forced to use Acrobat if you want to harness the full annotation capabilities of the PDF format…
Read ArticleOne of the challenges with state management in React is coming to terms and deciding as a team how you will categorize the layers of state in your application. It's variable and often nuanced to describe the layers but framing them in a simple hierarchy is an excellent tool for communicating with…
Read ArticleIn a complicated web application there are going to be several pieces of truly global state that you'll need across your application. This is state that components need, but it's tedious and error prone to use prop drilling to pass state data around to all of the components that might need it…
Read ArticleThe phrase "digital garden" is a metaphor for thinking about writing and creating that focuses less on the resulting "showpiece" and more on the process, care, and craft it takes to get there. While not everybody has or works in a dirt garden, we all share a familiarity with the idea of what a…
Read ArticleWe unlocked Erin Doyle's amazing course on accessibility as a Community Resource on egghead. This means that it is free to view for every web developer on the planet with a device and an internet connection. This is part of our long term goal of making every egghead course free to view for all as…
Read ArticleThere are a two facts that we understand very well at egghead: Constant learning is an essential habit for professional web developers. There's not enough time in the freaking day. 😱 Some of us are lucky enough to work at companies that provide us with space and freedom to pursue continued…
Read ArticleBroadcasting on the internet is here to stay. More and more we are seeing people use sites like Twitch and Youtube to deliver real-time video and audio to connect with their audience. Increasingly over the years as a remote worker video chats have become more and more the standard of communication…
Read ArticleCSS is an oddly polarizing programming language. For years I've said to myself, and out loud on more than one occasion, that I 'hate' CSS. Over the years I've got to great lengths to avoid it entirely: Frameworks : I've used frameworks like Bootstrap to avoid needing to understand what was going on…
Read ArticleMy friend and long-time collaborator Maggie Appleton delivered one of the most compelling talks on React I've ever seen at the online version of the Women of React conference. Here's the best part, the talk wasn't really about React! 🤯 Maggie delivered a Trojan Horse learning surprise the likes I…
Read ArticleA good pair of headphones is something that every desk studio setup would benefit from. For me they always end up laying around on top of the desk with a long cord getting in my way and even potentially getting caught up in the wheels of my chaior and destroyed. These days I put an Elevation Lab…
Read ArticleMost boom arms are cheap pieces of shit that struggle to hold your mic still, make noise, don't hold their position, and are generally bad. They are "fine" and sort of do the job they were built to do but they make very high quality microphone boom arms so you don't have to waste money on cheap…
Read ArticleWe record a lot of video at egghead.io. As a fully distributed remote team we've got several channels of communication, but one of the most popular and useful channels for us is Zoom. Being able to talk face to face has a lot of benefits and allows for nuance and expression as well as mutual…
Read ArticleI've spent the last 10 years working from the comfort and convenience of my home office. 6 of those years have been fcused on building a 100% completely distributed team for egghead.io. To add to the equation we also home educate our 5 kids and my home office has never had doors. 😂 I do not…
Read ArticleIt can be useful to consider writing for a specific individual, alive or dead, doesn't matter. Just pick somebody and write to them. Explain your point in a context and tone that they would enjoy. There are many alternatives, but writing for "everybody" without a clear inteded audience is often too…
Read ArticleThis is a collection of thoughts around the nature of our business from November 2018 and what it might look like going forward. Some of it was implemented, some not! Posting it here for posterity. We help content creators build a “community brand” around their knowledge, experience, and desire to…
Read ArticleWe (egghead) partnered with Dan Abramov and Maggie Appleton to help produce their online course Just JavaScript that explores the foundational mental models that surround JS as well as how those same mental models apply to programming in general. Dan's been thinking about these mental models for…
Read ArticleOnce you get your dSLR setup as your webcam , you're likely going to want to start tweaking your environment to get the light dialed in so you look your best. The camera makes a huge difference, but with a few tweaks you can dial it in and really pop. This video is an excellent overview: import…
Read ArticleMy experience is that people tend to take things literally, want to do too much, and think in binary terms by default. I'm a big fan of evergreen newsletter sequences that line up a series of emails that get sent to your email list once a week when they subscribe to your newsletter. The mechanics…
Read ArticleBelow is a chart that represents 10 years of concentrated effort. I started using Github in 2009, which was also the year that I landed my first full-time coding gig. robotlegs was the project I worked on and contributed to heavily for a full year. It was a ton of fun, great tech, and I owe so…
Read ArticleI stopped participating in ad tracking in 2019 across most of the sites I have control over. This means that I removed mixpanel and Google Analytics from those sites and to the extent possible stopped sending them data about how users use my sites. If you had of told me a few year ago that I'd stop…
Read ArticleIn 2019 I wrote more than the previous 5 years combined, at least publically. There's several places that I write that aren't as obvious. I spend quite a lot of time writing and curating howtoegghead.com . I also write a lot of emails that go out on the egghead newsletter . And then there are the…
Read ArticleWriting is a subtle and nuanced craft. If you want people to read your words, it's on you to make it interesting and pleasing to their eyes and brains. Words have rhythm.
Read ArticleWe crossed the $16M milestone on 2019-12-05, and I've been staring at the little charts Stripe shows on the dashboard. For the first two years we were really trucking along. The new customers metric is interesting. You see it growing at a steady clip and then two years in a row in April it just…
Read ArticleWe've been testing Basecamp at egghead. 2021-01-01 Update : Basecamp didn't work out for us, and we ended up back on Slack for most day-to-day discussion and Roam for async co-thinking/planning. So far, it feels like a great tool to add to our general practice and hits a lot of sweet spots in terms…
Read ArticleBuilding an email list is both art and science. The tactics aren't obvious. The skills are built over time with slow trial and error. It's really a pain in the ass sometimes. Over the years while building egghead's list to over 150,000 subscribers there has been one continuous shining light that I…
Read ArticleHave you ever experienced the crippling fear of choosing a frontend framework to go deep on, to use for your next project, or to specialize in? We've got sparse time to spend learning, and how we choose to specialize is a critical aspect of being a web developer. It's a choice that makes a…
Read ArticleWe've got a robust Rails app that does a lot of heavy lifting for us. We've crafted a full hateos REST api with a delightful GraphQL layer over the top. We started using React as our primary UI a few years ago, and we do SSR via React on Rails. It's a great project and our pages are pretty fast…
Read ArticleThis is a question that comes up a lot: "Should I use a framework?" It's a good question, and something that I've both asked myself and thought about quite a lot over the years. Here's the thing... If you aren't using a framework there is a good chance that you are creating an ad-hoc, undocumented…
Read ArticleServerless functions are incredibly convenient. Being able quickly and easily deply api endpoints with almost zero friction is luxurious! 🥰 One of my primary use cases for serverless functions has been to access and coordinate with third party APIs. If I'm deploying a static site with Gatsby for…
Read ArticleEarly on when I started learning about business there was a lot of advice about what type of business you can run. You've got Rich Dad Poor Dad describing a real estate empire or E-Myth talking about franchises as systems. It wasn't until I got deeper into it that the advice started to be more honed…
Read ArticleBeing able to work remotely is probably one of the coolest fuckin things that's ever happened to me. For well over a decade I've been able to wake up and commute myself 20 feet to my home office, sip a cup of my favorite fussy coffee, and work in the comfort of my favorite pair of sweat pants. It's…
Read ArticleThe first live code workshop I did was at Adobe Max. It was a huge room, with tons of attendees. Since I'd never done, or even been to a technical workshop at that point I followed the direction that were given to me. The result was a thick booklet of dead tree paper given to each attendee to follow…
Read ArticleHave you used Jira? It's a hellscape of dates, swim lanes, buzzers, metrics, and productivity wanking that leads to an entire career option of full-time employment as a Jira wrangler. A "project manager" if you will. At some point in our software journey the entire idea of product management…
Read ArticleAt egghead our workshops are accompanied by Really Good Notes. Really Good Notes can take a variety of formats: sketch notes cheat sheets flash cards written notes code examples ??? They can be a combination of those things too, which is where good notes start to become Really Good Notes. A good…
Read ArticleThe single biggest factor in continued success as a software developer, or any deeply rewarding career, is the practice of continued learning over time. Web development changes fast. Technology shifts. Innovations happen. For me, this realization came in November 2011 when Adobe made the…
Read ArticleGetting paid what you are worth and deserve doesn’t just happen. It’s up to you to get it. None of us are born negotiators. It takes practice. Fact is, we could all earn more if we were better salary negotiators. Take me, for instance. For my first several jobs, I was so freaking desperate to get…
Read ArticleI've spent a lot of time freelancing and will be filling this page in with what I know about doing it. Generally I send people to two resources: Double Your Freelancing from Brennan Dunn Kai Davis Both of these fellas produce amazing legit useful free content and have offerings for you to upgrade to…
Read ArticleThe Checklist Manifesto has a very solid underlying premise, but it is crammed full of anecdotes and ultimately boils down to "a really good article". I think that checklists can be an excellent tool and facilitate higher level thought. My favorite idea for a "checklist" is Amy Hoy's Pep . It's…
Read ArticleAn email list is a social network. You list is a lot like Twitter. Folks can sign up and get notified of updates. They can unsubscribe whenever they like, and resubscribe in the future. When you start to think about your list like this, it opens a lot of possibilities, and for me anyway, removes…
Read ArticleThinking in Systems is a wonderful book by Donella H. Meadows who was an environmental scientist. It is one of the most inspirational, terrifying, and absolutely essential texts that I've ever read. Systems thinking isn't the default. It's not something that I remember studying directly in school…
Read ArticleRecording a podcast is a shitload of work. I'm not gonna try to polish that aspect of it and make it seem like it is anything but work. It's particularly difficult if you want to maintain it as a practice over time. That's true for most difficult things that are totally worth it. For me, podcasting…
Read ArticleWhen we sit down to plan anything, the obvious choice is what we've been taught all of our lives. Start from the beginning! It makes sense. What's the first step? Once we know where to start, it's just a matter of working step by step to the finish line. ✅ Done! This approach of starting at the…
Read ArticleIf you want to schedule an hour to discuss your code, business, marketing plan, content strategy, or other endeavor I'd be happy to help.
Read Article"FUCK YOU SPAMMER!" For the first year or so of egghead's existence I avoided sending email. I was nervous. I didn't even want to send receipts when we charged people, because I thought they'd see the receipt and just cancel leaving John and I destitute. That's an extreme outcome that wouldn't…
Read ArticleFor years I spent immense amounts of effort broadcasting one-off emails to to my newsletter. Millions of them! This is fine, a broadcast does the job of delivering your emails to the eager recipients at the other end of the wire. Mission accomplished, right? yes and no. The problem with this…
Read ArticleWhat is a badass? I love the word itself, because there is practically no way to use it in a negative way. It's a good word. In Kathy Sierra's book, the word badass is used to describe an expert. Somebody that has learned a skill, crossed the "valley of suck" and achieved mastery. You can buy…
Read ArticleThere are many ways to build a new feature for your applications. For me, when I need a new tool, component, or functionality I like to take a step back and think about it in terms of data. What data do I have, what data do I need, and how am I going to present and interact with the data. At egghead…
Read ArticleThis blog is built with Gatsby and uses MDX for the post content. It's a great setup, and so far I've enjoyed using it very much. One thing I missed from my old Octopress/Jekyll configuration was the ability to run a rake task to create a new post with all of the basic required frontmatter metadata…
Read ArticleIf you need to migrate your email list subscribers from Drip to Convertkit , you will run into the problem of importing each of your tags as an individual list into Convertkit . If you follow the official recommendation , they suggest that you export each individual tag from Drip. With each…
Read ArticleI've done these posts for several years in a row, and this year as I sit down to write it out, there's a bit of a blank spot. 2018 was a pretty good year. But why? Hah, and more importantly why should YOU care?? These posts aren't about the reader though, mostly, they are about the author and a…
Read ArticleWe don’t have a single test covering our front-end/UI for egghead.io. It’s embarrassing. You know how it is. Testing is a good idea. It’s objectively better than the opposite, which in our case is click testing, twitter notifications, and relying on our user base to “smoke test” the application…
Read Articleegghead.io is a platform to empower humans, built to challenge the status quo of how we work and learn new skills. We produce high quality, concise web development screencasts created by expert open-source contributors and other talented professionals. While we offer a lot of this content for free…
Read ArticleMake all the big life changes at once... In 2016 we moved our family of 6 out of our home of 15 years across the country to settle in Vancouver, WA. That's quite a lot of change for everybody involved. My partner lived her entire life in Fort Worth, TX. Her family was, for the most part, within a 2…
Read ArticleOver the past few years we have built egghead.io from a relatively simple “video blog” and into a full blown platform for developers to publish their knowledge about software development as screencasts and get paid for it. The process has been intense! Every step of the way was a new road block…
Read Article2016 as a year took a lot of criticism as a year. Beloved celebrities died in a seemingly endless parade of "noooooooo". We were subjected to a painful and divisive US federal election cycle, which resulted in another shameless ass-clown getting elected to the highest office in the land. The entire…
Read ArticleThere is this amazing conference in Las Vegas once a year called MicroConf. It's a gathering of like-minded entrepreneurs that (for the most part) are boot-strapping their business. This means that they aren't taking outside investment, specifically of the venture capital variety. It's a spectacular…
Read ArticleBuilding an Image Gallery The image gallery we will build is a simple application that displays an array of image URLs loaded from a service (Flickr), and allows the user to select them individually. It will be built with React, using Redux and redux-saga. React is being used as the core framework…
Read ArticleIt’s been two years since I woke up dreading a workday. And I work almost every day. When we first set out to build egghead, I told my parter John that all he had to do was make amazing content, and that I would do the rest . {% emoji flushed %} For the most part, I took that very seriously, and…
Read Article2014 Year in Review It's that time of the year. People dusting off the blog and endeavoring to capture the past 12 months of their life in a wordy nutshell. It's something that I've never participated in, but I thought I'd give it a try. I quit my job. This still frightens me. In February I quit a…
Read ArticleWith best intentions we set forth to create the mighty directive. The steepest slope of the dreaded AngularJS learning curve. The "place where the jQuery goes." So what is a directive? We've talked about this before , and decided that they are not where the jQuery goes... usually... if you are…
Read ArticleHow many for loops did you write today? This week? Sure. That's harmless enough. Ugly and weird, but not something to really complain about. But this is all too common: Which on the scale of bad code, isn't even that bad, but you start throwing some if s in there and the insanity really starts. I…
Read ArticleThere are few things as nerve-wracking as pushing your first subscription website into production. Am I covering all the bases? Will everything break and leave me in a pit of customer support sadness? How do I even take payments? Are they just going to laugh at me? Some Background My friend John…
Read ArticleAudio: convert mono to stero add a slight delay to one channel use an EQ add a touch of reverb (not too much) add a little compression
Read ArticleIf you're into AngularJS at all, you are probably familiar with the kickass AngularJS video training from egghead.io. If you haven't seen egghead.io, it is a collection of 50+ short "bite-sized" training videos, largely focused on the AngularJS framework. The videos are created by (and feature…
Read ArticleDependency injection is the act of supplying values or object instances (dependencies) to target objects from outside of the target object. In many (most?) cases this is automated by a framework, such as AngularJS. This means that a given target object does not create its own dependencies, through…
Read ArticleAngularJS has a reputation for a steep learning curve. It's definitely complex, but follows the 80/20 rule. 20% of the features are what you will use 80% of the time . If you are new to AngularJS and have a weekend to study, there are some very high quality resources that will let you start Monday…
Read ArticleHave you ever heard (or said!) this: "Directives? That's where the jQuery goes." I definitely have. In an effort to better understand @joshdmiller 's excellent ng-boilerplate , I wanted to understand its dependency on Boostrap. More specifically, I wanted to see if I could swap out Twitter…
Read ArticleURL routing is a popular approach to matching the contents of a URL to specific functionality within a web application. URL routes programatically present specific content to users based on the URL that they are visiting. It is a popular approach that has proven to be very effective. Something that…
Read ArticleDirectives are the heart and soul of AngularJS. They are incredibly powerful. AngularJS sets out to extend the grammar of the browser to supply semantics that facilitate the creation of web applications, going beyond the standard hyper-linked web page. The primary weapon to accomplish this is the…
Read ArticleThis is a series of post examining why our Fort Worth photography studio website performs poorly in Google search results, and why it fails to convert the visitors it does get into new clients. The first post sought to analyze Google Analytics data and get a clue as to how users arrive to the…
Read ArticleThe internet is a competitive place for small businesses, and this is especially true when we are talking about portrait photographers. My lovely wife is a family photographer in Fort Worth , Texas. She's been doing portrait photography professionally since 2007, and being the good nerd husband I…
Read ArticleWhat is enterprise javascript? Good question. One that might even make you chuckle 1 a little bit on the inside. The word "enterprise" is definitely a loaded term. It could be considered by some to be a buzzword. Others might say "Why are we talking about starships?" When I use the term "enterprise…
Read ArticleMy sons love playing basketball. After a certain age (around 12), youth sports change. The court or field is no longer filled with kids that were dragged to the game by their parents. These kids are here because they love playing the game. So what do you do if your kid loves the game, but just isn't…
Read ArticleConsulting is something that I truly love. Helping businesses succeed, helping employees to stop focusing on mundane repeatable tasks, helping enterprises drive large scale commerce... these are truly activities that I enjoy. Getting into the mix, digging up core problems and providing solutions is…
Read ArticleIt is hard to explain how excited I was when Amy announced BaconBizConf in April of 2013. A small conference devoted to like-minded people that either are, or want to be, bootstrapping product businesses. The speaker lineup included personal "gurus" that I look up to and listen to closely like…
Read ArticleAfter a year of working with a large AngularJS project, I thought I'd share a few of the lessons that I learned in the process. Firstly, I love AngularJS. It suits my needs exceedingly well, and I expect it will be my goto for the forseeable future when I need a solid framework for "thick client…
Read ArticleThe success or failure of any project is based on the team or teams working on it. Teams are like fingerprints and snowflakes. They are composed of individuals with unique experiences and skillsets. When we set out to build large applications in a reasonable amount of time, we will generally build…
Read ArticleThe Singleton is the Highlander of design patterns. There can be only one . An example of a Singleton implementation might look something like this: from Tom Roggero The above JavaScript is from an answer from StackOverflow that seemed resonable. I've never actually needed an enforced Singleton…
Read ArticleI posted an article about using models to assist in creating leaner, meaner controllers. It resulted in a lively conversation in the comments that spawned an interesting rebuttal from Rob Conery that essentially says I am full of it, and the names I attach to the patterns I use are wrong. This…
Read ArticleRespect your data. Contain your state. Data and state are the foundation of your application. These two items should be absolutely respected. As you work through the AngularJS documentation, these two items are generally stored on the controllers. This works OK, but as your app grows beyond the…
Read ArticleThere are a lot of VIM plugins to choose from. An individual's list of what would be considered "essential" is largely a personal matter. For any given plugin, there is also probably going to be an excellent alternative plugin that does the same basic thing in a slightly different way. I'm just…
Read ArticleFor as long as I can remember, all of my computer upgrades have been "bigger and badder." Outside of moving from a FULL ATX DESKTOP WORKSTATION to a laptop, Moore's law has played out nicely. Every few years I'd get something bigger and better. Not this time. After several years of lugging around a…
Read ArticleIt's like coming full circle. When I was first introduced to computers, they very much resembled what I see in Terminal today. I've always had a distinct fondness for the command line interface. That said, when I started using computers professionally most of my time has been spent in fancy GUIs…
Read ArticleVim Adventures is a fun browser based game that teaches basic VIM skills while adventuring. It is kind of silly, and can be a bit... frustrating... but that is the point. This is VIM after all! No pain, no gain ;)
Read ArticleImage from purplemattfish I'm a stickler for the "single assertion per test" guideline. One of the pillars of good unit tests is readability. Multiple asserts undermine this principle and make tests that are more difficult to read, understand, and maintain. A clean solution to this problem is to use…
Read ArticleI've been reading the Rough Cut of Practical Object Oriented Design , and I have been absolutely enjoying every page. It isn't very often that a technical book comes along that really strikes me as a "new classic," but this one qualifies. Sandi Metz has compiled a concise review of SOLID design…
Read ArticleI'm currently working on a large enterprise JS application, and enjoying myself quite a bit. We've implemented standards and practices that remove most of the bad parts of JS dev. We are using straight up JS with AngularJS . We are covering our important logic with solid unit tests. We are…
Read ArticleI'm a huge fan of peer review, especially with Atlassian's Crucible tool. It can be hard to introduce code review to a group that isn't used to doing it, or has had bad experiences with "hostile" review process in the past. It can be a very effective way to share knowledge and increase quality of…
Read ArticleI've been wanting to part ways with WordPress for some time. It's been expensive, running a VPS for the hosting. I've been "attacked" on multiple occasions that result in blacklisting from the Google when I ran on much less expensive shared hosting. It is probably theme dependent also, as well as…
Read ArticleCurrently focused on applying core instructional design principles to egghead.io with more interaction with instructors, live events, and content development before releasing the final product.
Read Article