<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Fred K. Schott</title>
    <link>http://fredkschott.com/post/</link>
    <description>Recent content in Posts on Fred K. Schott</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 09 Jan 2015 12:00:00 -0700</lastBuildDate>
    
	<atom:link href="http://fredkschott.com/post/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>A New Year</title>
      <link>http://fredkschott.com/post/2015/01/happy-2015/</link>
      <pubDate>Fri, 09 Jan 2015 12:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2015/01/happy-2015/</guid>
      <description>This last year has been an exciting time for Node. Mainstream adoption exploded, NPM blew past 100,000 modules, io.js launched to revamp Node&amp;rsquo;s development principles, and JavaScript continued on its path to world domination.
2014 was also a great year for The Node Way, which started 2014 as a Github repo and a few dinky blog posts labeled: &amp;ldquo;The Node.js Handbook.&amp;rdquo; By the end of the year, it had shed these humble beginnings and adopted a whole new look, a new website, and even a new name.</description>
    </item>
    
    <item>
      <title>The Node.js Way - Designing Factories</title>
      <link>http://fredkschott.com/post/2015/01/the-node-way-designing-factories/</link>
      <pubDate>Tue, 06 Jan 2015 12:30:15 -0800</pubDate>
      
      <guid>http://fredkschott.com/post/2015/01/the-node-way-designing-factories/</guid>
      <description>Previously, we introduced the Custom Type Module Pattern and how it can be used to create custom objects in your application. These custom types play a major role in JavaScript development, but creating them directly can quickly become a messy business. In this post I&amp;rsquo;ll introduce a new kind of module that makes working with custom types much easier: The Factory.
What is a Factory? To understand what a factory does, you should first know the problem that it tries to solve.</description>
    </item>
    
    <item>
      <title>Monkey Patches &amp; MP3s</title>
      <link>http://fredkschott.com/post/2014/09/nodejs-dangerous-module-design-patterns/</link>
      <pubDate>Thu, 18 Sep 2014 12:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/09/nodejs-dangerous-module-design-patterns/</guid>
      <description>There are a million different ways to design a JavaScript module. Standard patterns like the singleton and custom type are widely adopted, and provide a dependable feature-set. Some other patterns, however, push the limits of what a module can (and should) actually be. The first group is often encouraged, while the second is denounced without further thought. This post will attempt to explore that second group.
Before jumping in, I want to explicitly point out that almost all of the concepts explained below should be avoided in production.</description>
    </item>
    
    <item>
      <title>The Node.js Way - How `require()` Actually Works</title>
      <link>http://fredkschott.com/post/2014/06/require-and-the-module-system/</link>
      <pubDate>Mon, 09 Jun 2014 12:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/06/require-and-the-module-system/</guid>
      <description>Update July. 28, 2014: I just gave a talk at BayNode on this exact subject, which includes a walkthrough of all the code discussed in this post. If talks &amp;amp; slides are more your style, check it out.  Almost any Node.js developer can tell you what the require() function does, but how many of us actually know how it works? We use it every day to load libraries and modules, but its behavior otherwise is a mystery.</description>
    </item>
    
    <item>
      <title>The Node.js Way - Testing Essentials</title>
      <link>http://fredkschott.com/post/2014/05/nodejs-testing-essentials/</link>
      <pubDate>Wed, 14 May 2014 09:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/05/nodejs-testing-essentials/</guid>
      <description>Setting up good testing can be tricky no matter what language you&amp;rsquo;re in. JavaScript&amp;rsquo;s flexibility can make your tests powerful in terms of access, but if you&amp;rsquo;re not careful that same flexibility can leave you tearing your hair out the next day. For instance, how do you test API callbacks? How do you deal with require? Without a proper setup, whether TDD is dead or not will end up meaning very little.</description>
    </item>
    
    <item>
      <title>The Node.js Way - Understanding Error-First Callbacks</title>
      <link>http://fredkschott.com/post/2014/03/understanding-error-first-callbacks-in-node-js/</link>
      <pubDate>Wed, 12 Mar 2014 09:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/03/understanding-error-first-callbacks-in-node-js/</guid>
      <description>If Google&amp;rsquo;s V8 Engine is the heart of your Node.js application, then callbacks are its veins. They enable a balanced, non-blocking flow of asynchronous control across modules and applications. But for callbacks to work at scale you&amp;rsquo;ll needed a common, reliable protocol. The &amp;ldquo;error-first&amp;rdquo; callback (also known as an &amp;ldquo;errorback&amp;rdquo;, &amp;ldquo;errback&amp;rdquo;, or &amp;ldquo;node-style callback&amp;rdquo;) was introduced to solve this problem, and has since become the standard for Node.js callbacks. This post will define this pattern, its best practices, and exactly what makes it so powerful.</description>
    </item>
    
    <item>
      <title>git log is so 2005</title>
      <link>http://fredkschott.com/post/2014/02/git-log-is-so-2005/</link>
      <pubDate>Sun, 23 Feb 2014 13:20:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/02/git-log-is-so-2005/</guid>
      <description>Whether you love terminal customization or feel more Rand Paul with your &amp;lsquo;.bash_profile&amp;rsquo;, this tip will change your life. This is one of the first commands I run on a new machine, and it has been an invaluable visualization tool for as long as I can remember.  git config --global alias.lg &#34;log --color --graph --abbrev-commit --pretty=format:&#39;%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)%Creset&#39;&#34; ― via Filipe Kiss
 This command creates a new &amp;lsquo;git lg&amp;rsquo; alias to use instead of the default &amp;lsquo;git log&amp;rsquo;.</description>
    </item>
    
    <item>
      <title>&#34;npm install --save&#34; No Longer Using Tildes</title>
      <link>http://fredkschott.com/post/2014/02/npm-no-longer-defaults-to-tildes/</link>
      <pubDate>Thu, 20 Feb 2014 16:20:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/02/npm-no-longer-defaults-to-tildes/</guid>
      <description>A new stable version of Node was released last Wednesday, and with it came the newest version of npm. This update included a lot of big fixes, but the most visible change is that &amp;lsquo;install &amp;ndash;save&amp;rsquo; now prepends a caret (^) instead of a tilde (~).
What does this mean for you? Well, first you should understand the difference between the two. In the simplest terms, the tilde matches the most recent minor version (the middle number).</description>
    </item>
    
    <item>
      <title>Misinformation in Tech</title>
      <link>http://fredkschott.com/post/2014/01/misinformation-in-tech/</link>
      <pubDate>Wed, 15 Jan 2014 20:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/01/misinformation-in-tech/</guid>
      <description>&amp;ldquo;Node.js doesn&amp;rsquo;t work when Javascript is disabled&amp;hellip;&amp;rdquo;
 I laughed the first time I heard that. Node.js is a server-side platform, so by its very nature such a thing would be impossible. But then I heard it again&amp;hellip; and again&amp;hellip; and again until it stopped being funny.
It&amp;rsquo;s not that these people are dummies; In fact, it&amp;rsquo;s usually the exact opposite. I&amp;rsquo;ve heard this from very smart people working on very impressive projects, usually with many more years of experience than myself.</description>
    </item>
    
    <item>
      <title>The Node.js Way - Designing Constructors</title>
      <link>http://fredkschott.com/post/2014/01/node-js-cookbook---constructors-and-custom-types/</link>
      <pubDate>Wed, 08 Jan 2014 10:42:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2014/01/node-js-cookbook---constructors-and-custom-types/</guid>
      <description>Node&amp;rsquo;s module system was built to share objects across an application. The singleton pattern is a natural fit for this, but what if you want something that isn&amp;rsquo;t shared? What if you want to create multiple objects, each with unique properties but shared common behavior? In most languages this would require a new class. In JavaScript, you&amp;rsquo;ll need something a little different.
Classes in JavaScript JavaScript has no real idea of classes, at least not in the traditional sense.</description>
    </item>
    
    <item>
      <title>The Node.js Way - Designing Singletons</title>
      <link>http://fredkschott.com/post/2013/12/node-js-cookbook---designing-singletons/</link>
      <pubDate>Fri, 20 Dec 2013 10:42:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/12/node-js-cookbook---designing-singletons/</guid>
      <description>In most languages, sharing an object across your entire application can be a complex process. These Singletons are usually quite complex, and require some advanced modifications to get working. In Node, however, this type of object is the default. Every module that you require is shared across your application, so there&amp;rsquo;s no need for any special classes or extra code.
Node doesn&amp;rsquo;t impose much structure on it&amp;rsquo;s developers, so it&amp;rsquo;s up to you to choose the right design for your modules.</description>
    </item>
    
    <item>
      <title>Medium has a Quality Problem</title>
      <link>http://fredkschott.com/post/2013/10/medium-has-a-problem/</link>
      <pubDate>Wed, 30 Oct 2013 10:42:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/10/medium-has-a-problem/</guid>
      <description>Medium is beautiful. The team behind it created one of the cleanest text editors on the web, a sleek reading experience, and powerful analytics for the masses. The platform they created has encouraged hundreds of people to read, write, and share thoughts and ideas that otherwise would never have even existed. Their creation is nothing short of amazing, and now it&amp;rsquo;s dying.
Since launch, Medium has published a ton of quality stuff.</description>
    </item>
    
    <item>
      <title>Thoughts, Redesigned</title>
      <link>http://fredkschott.com/post/2013/10/announcement-post/</link>
      <pubDate>Thu, 24 Oct 2013 09:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/10/announcement-post/</guid>
      <description>I&amp;rsquo;ve been putting this announcement off for way too long now. I didn&amp;rsquo;t think anyone would notice as I slowly moved FredKSchott.com off Tumblr and onto Github Pages over the last few weeks. I was only getting a few visitors a day and thought I had plenty of time to poke and tweak until it was just right. But of course right when I least expected it, some old post got onto r/commandline, and the new blog was released to the world.</description>
    </item>
    
    <item>
      <title>Facebook&#39;s Recent Data Leak is Worse Than You Think</title>
      <link>http://fredkschott.com/post/2013/06/why-facebooks-recent-data-leak-is-worse-than-you-think/</link>
      <pubDate>Sat, 22 Jun 2013 12:28:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/06/why-facebooks-recent-data-leak-is-worse-than-you-think/</guid>
      <description>Yesterday, Facebook announced the accidental release of 6 million users&amp;rsquo; personal information. The source of the leak was their Backup Tool, which lets users download their list of friends complete with any information they&amp;rsquo;d chosen to share. So what happened? A bug in the tool released the phone numbers and email addresses of friends that they not only hadn&amp;rsquo;t chosen to share, but that they hadn&amp;rsquo;t even given to Facebook.</description>
    </item>
    
    <item>
      <title>CoVim</title>
      <link>http://fredkschott.com/post/2013/05/introducing-covim-real-time-collaboration-for-vim/</link>
      <pubDate>Wed, 15 May 2013 15:00:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/05/introducing-covim-real-time-collaboration-for-vim/</guid>
      <description>Today we’re announcing CoVim, a plugin that adds multi-user, real-time collaboration to your favorite (or least favorite) text editor. CoVim allows you to remotely code, write, edit, and collaborate, all within your custom Vim configuration. Originally started as a senior capstone project for Tufts University, we’re now open-sourcing it to give the world one of Vim’s most requested features. Think Google Docs for Vim.
Work on CoVim started almost a year ago.</description>
    </item>
    
    <item>
      <title>What I Love about Computer Science Students</title>
      <link>http://fredkschott.com/post/2013/04/what-i-love-about-computer-science-students/</link>
      <pubDate>Wed, 24 Apr 2013 20:12:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/04/what-i-love-about-computer-science-students/</guid>
      <description>I don’t really know if this means anything, but it’s an interesting observation nonetheless:
I’m sitting here in my Networking lecture and decided to look around the class. Peeking at other laptops is always fun because the people using them are almost never paying attention to the professor. So if this were a normal class, most people’s open laptops would be on Facebook, BuzzFeed, Reddit or any other entertaining yet mindless site.</description>
    </item>
    
    <item>
      <title>Learning to Code? Start Small.</title>
      <link>http://fredkschott.com/post/2013/04/want-to-learn-to-code-start-small-and-have-fun/</link>
      <pubDate>Mon, 01 Apr 2013 16:13:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/04/want-to-learn-to-code-start-small-and-have-fun/</guid>
      <description>I liked a lot of things about Zack Shapiro’s post Want to learn to code? Start here. I actually remember reading his original post dedicated to Ruby on Rails last year, and thought it was a great starting point for the framework.

Zack’s obviously a smart dude, but there’s a certain hostility in his newest post and others like it towards those who “don’t want it enough&#34; and I cringe every time I see it.</description>
    </item>
    
    <item>
      <title>You are the Decisions You Don&#39;t Make</title>
      <link>http://fredkschott.com/post/2013/03/you-are-the-decisions-you-dont-make/</link>
      <pubDate>Wed, 27 Mar 2013 17:23:00 -0700</pubDate>
      
      <guid>http://fredkschott.com/post/2013/03/you-are-the-decisions-you-dont-make/</guid>
      <description>I read this article called Those Five Days Matter More Than Anything, Except The Other Days a while ago. It&amp;rsquo;s a few years old now (it sports a solid McCain reference) but for some reason I can&amp;rsquo;t get it out of my head. The focus is on the pieces that make up your identity and how a few key moments can completely define your life for the better or worse. It&amp;rsquo;s an interesting read for that alone, but here&amp;rsquo;s what keeps me up at night:</description>
    </item>
    
  </channel>
</rss>