Avatar of Justin Dorfman

Justin Dorfman

Developer Evangelist at StackShare

Decision at BootstrapCDN about PHP, MaxCDN, Bootstrap, GitHub, BuzzSumo, BootstrapCDN, OpenSource

Avatar of jdorfman
Developer Evangelist at StackShare ·
PHPPHPMaxCDNMaxCDNBootstrapBootstrapGitHubGitHub
#BuzzSumo
#BootstrapCDN
#OpenSource

The following will be a series of decisions we made that took #BootstrapCDN from 0 to over 74 billion requests a month (and growing).

Initially, I didn’t want to do #BootstrapCDN. I have attempted a few projects like it before and they always failed to gain any traction. In June of 2012, my boss at the time (and good friend today), David Henzel got a #BuzzSumo Alert coming from an #OpenSource project on GitHub called Bootstrap and someone mentioned that MaxCDN was always looking for projects to sponsor. Long story short, David registered the domain and told me to get to work.

The first version of the site was written in PHP. It was quick and dirty but met the scope. We beta tested it for a month then people started to use it after searching for “bootstrap cdn” on Google.

I was still skeptical until, well, that’s for the next decision.

AMA below.

18 upvotes·1 comment·10.8K views

Decision at BootstrapCDN about Ruby, Node.js, Amazon S3, MaxCDN, Google Analytics, Bootstrap, BootstrapCDN

Avatar of jdorfman
Developer Evangelist at StackShare ·

This is the second Stack Decision of this series. You can read the last one to catch up (link below).

I was skeptical until one of the co-authors of Bootstrap, Jacob Thornton aka 'fat' tweeted about #BootstrapCDN and according to Google Analytics, that sent 10k uniques to the site in 24 hours. Now I was pumped but I knew I was way over my head and needed help. Fortunately, I met my co-maintainer Josh Mervine at the 2013 O’Reilly Velocity Conference and we hit it off immediately. I showed him the MaxCDN and Amazon S3 stats and his eyebrows went up. When I showed him the code, he was very polite, “well, I mean it works but I really want to try Node.js out so I’m just going to rewrite everything in Node and Ruby for the S3 scripts.

I didn’t know what to expect from Josh to be honest. In the next decision (part 3), I will go over how he completely transformed the project.

AMA below.

15 upvotes·9.1K views

Decision at SustainOSS about Atom, Visual Studio Code, Microsoft

Avatar of jdorfman
Developer Evangelist at StackShare ·

I decided today was the day I would try Visual Studio Code. I resisted for so long because I knew I would love it and would then have to find alternative extensions for the ones I have installed in Atom. So, that is what I am doing this weekend. Thank you #Microsoft

What extensions can't you live without?

12 upvotes·9 comments·16.9K views

Decision about Fastly, Grunt, jQuery, Bootstrap, Jekyll, Let's Encrypt, Netlify, GitHub Pages, MaxCDN, StaticSiteGenerators, Webperf, GoogleFonts, CDN

Avatar of jdorfman
Developer Evangelist at StackShare ·

When my SSL cert on MaxCDN was expiring on my personal site I decided it was a good time to revamp some things. Since GitHub Services is depreciated I can no longer have #CDN cache purges automated among other things. So I decided on the following: GitHub Pages, Netlify, Let's Encrypt and Jekyll. Staying the same was Bootstrap, jQuery, Grunt & #GoogleFonts.

What's awesome about GitHub Pages is that it has a #CDN (Fastly) built-in and anytime you push to master, it purges the cache instantaneously without you have to do anything special. Netlify is magic, I highly recommend it to anyone using #StaticSiteGenerators.

For the most part, everything went smoothly. The only things I had issues with were the following:

  • If you want to point www to GitHub Pages you need to rename the repo to www
  • If you edit something in the _config.yml you need to restart bundle exec jekyll s or changes won't show
  • I had to disable the Grunt htmlmin module. I replaced it with Jekyll layout that compresses HTML for #webperf

Last but certainly not least, I made a donation to Let's Encrypt. If you use their service consider doing it too: https://letsencrypt.org/donate/

9 upvotes·1 comment·17.2K views

Decision about Insomnia REST Client, Node.js, GraphQL, CURL

Avatar of jdorfman
Developer Evangelist at StackShare ·

Today I was helping a friend with a GraphQL query (pagination). At first, I was just going to hack at a Node.js script but she told me to download the Insomnia REST Client and I have to say, it was a great experience. I might have to keep it installed for future use.

Besides #cURL what other REST client's should I try?

8 upvotes·4 comments·6.4K views

Decision at BootstrapCDN about Vim, Pug, ExpressJS, Node.js, Bootswatch, Amazon S3, YAML

Avatar of jdorfman
Developer Evangelist at StackShare ·

This is the third Stack Decision of this series. You can read the last one to catch up (link below).

Josh is a machine. He cranked out the rewrite of the site and as well as the Amazon S3 syncing/permissions/content-type scripts in less than a week (with a full time job + 2 small kids at the time). The new site had/has a section where you could try out all of the Bootswatch themes on our site and while it might sound silly, it showed me that he goes above and beyond and I totally lucked out.

Anyway, Josh decided to go with Node.js, ExpressJS, Jade (now called Pug), and configs with #yaml, all things I have read about but never used in production. I quickly found out Josh was a Vim user (still is), because every Jade file he worked on had //- vim: ft=jade sw=4 sts=4 et: at the bottom.

Everything was running smoothly, I was encouraged by David (co-founder from part 1) to take a vacation. I took him up on that. Unfortunately my timing couldn’t have been worse. More on that in part 4.

AMA below.

3 upvotes·1 comment·4.3K views

Decision about 1Password, LastPass

Avatar of jdorfman
Developer Evangelist at StackShare ·

I use LastPass because it had Android support before 1Password. Also it's just a great product. It gives me peace of mind with 2-step auth and a yubikey.

The only thing that drives me nuts is the password generator, sometimes it just doesn't work on certain sites.

That is why I wrote & use g20 😎

3 upvotes·1.2K views

Decision about Alfred, GNU Bash

Avatar of jdorfman
Developer Evangelist at StackShare ·

I use GNU Bash because it helps me get the job done. While I don't code as much as I use to, I still use the terminal daily to run commands that help me get things done faster than I can using a GUI & Mouse.

What's great is you can use Bash with Alfred so you can have the best of both worlds.

2 upvotes·243 views

Decision at StackShare about MailChimp, SendGrid

Avatar of jdorfman
Developer Evangelist at StackShare ·

We use SendGrid for the weekly newsletters. It is a great tool and as far as I know, it has pretty much all of the features MailChimp has.

The code editor is great. It has code & tag completion, error flagging, scroll syncing, as well as syntax highlighting.

I wish they had a "remember this device" option for their Two-Factor Authentication. Sure it's more secure but can be inconvenient at times.

1 upvote·1.2K views