I need to be honest with myself (and you). I will switch my IDE theme at least once a month. Every month, I swear this is the one and I dump it every time.
Probably the wrong time of year for this, but I am a big fan (for now😏)
# - Apr 23, 2019
This might be my favorite Kickstater to date. Works exactly as billed. Stick it to the bottom of your laptop and you have an on demand stand. Note: it does nothing to prevent your MBP keyboard from crapping out on you. 😏

# - Apr 22, 2019
This looks interesting (A static type checker for Ruby) especially as I start to experiment with TypeScript (for JavaScript).
# - Apr 22, 2019
There are so many keyboards I would love to try out. This one and the Ergo are at the top of the list.
# - Apr 22, 2019
@gilesgoatboy is profiling each of the top 100 committers to Rails. A huge thanks to everyone who has helped build Rails and a thanks to Giles for profiling those who dedicated some much of their time.
# - Apr 22, 2019
Great tips.
# - Apr 22, 2019
Item #5 - “Get to work” is magic. If you really want to do something, make sure we make a little progress every day. Tomorrow you will be thankful for the small amount of progress you made today.
# - Apr 21, 2019
Always impresses me with what can be done with a single web page.
# - Apr 21, 2019
Another interesting way to write and share JavaScript in the browser. It even lets you set up an endpoint.
# - Apr 17, 2019
Lighting fast lines of code counter. Installs easily with `brew install loc’.
# - Apr 11, 2019
Working through a handful of JavaScript ORM tools and twice today I accidentally created a table called User.
This conflicts with Postgres’s own User table. Postgres is OK with this assuming you use quotes around user in your queries (and it becomes case sensitive).
Loosely translated, do not name your table User. I guess if you are switching databases, the above is necessary, but it is probably just as easy to rename your table at that point.
# - Apr 11, 2019
Something new to test.
# - Apr 10, 2019
Smart tip. @hashrockettil is such a great Twitter follow. I learn something every time they tweet.
# - Apr 10, 2019
This looks excellent and will greatly improve the feedback loop with @netlify.
# - Apr 10, 2019
Nice way to compare various pricing.
I will say that while @Heroku comes out more expensive, it has been rock solid for us for nearly 8 years now.
# - Apr 10, 2019
Interesting breakdown of how device stores and salts passwords without the need for a separate password_salt column.
# - Apr 08, 2019
Nice CSS styling with no CSS classes/etc. This looks great for prototyping and demo apps.
# - Apr 08, 2019
One click IDE for Github. Just point it at a repo and you are off and running. I even wrote this file in it using my own ruby helpers.
# - Apr 08, 2019
A fake SMTP server to test and view emails in development.
I am a long time happy MailCatcher user, but I love the idea of something that just runs somewhere else and is easily accessible in my browser.
# - Apr 08, 2019
The site’s title says it all: “Web development, illustrated”.
# - Apr 05, 2019
Very well put together full screen timer.
Highly focused and clean web apps like this make me smile.
# - Apr 05, 2019
Great book by Venkat Subramaniam which helped connect the dots on a bunch of newish JavaScript stuff. Definitely recommend it.
# - Apr 05, 2019
A helpful tool to figure out a specific keycode.
# - Apr 04, 2019
If you want to speed up a QuickTime video, hold down ⌥ (option) and click the » on the video. Each click will speed up by about .1x all the way up to 2x.
# - Apr 04, 2019
This looks very promising. I also love the built in option to share with a large(r) audience.
# - Apr 04, 2019
Out of the box, Vim does not know what to do with TypeScript.
These two plugins make it a much better experience.
Syntax: https://github.com/leafgarland/typescript-vim
TSServer: https://github.com/Quramy/tsuquyomi
# - Apr 03, 2019
Starting to dig into TypeScript. I am not sure if I love it or absolutely hate it.
# - Apr 02, 2019
The code base for the UK Government’s e-petitions service. After a quick browse, this looks very well put together.
The Ruby 2.2 requirement is a bit of a bummer.
# - Apr 01, 2019
After browsing the e-petition and dev.to source the one ruby gem that stood out to me is DJ. I am a huge fan of Sidekiq and use it everywhere. However, for small side projects, I might need to revisit DJ.
# - Apr 01, 2019
Speaking of intellisense/autocompletion in Vim…I am still very happy with TabNine. All I can say is “It Just Works”.
# - Apr 01, 2019
Intellisense engine for vim8 & neovim, full language server protocol support as VSCode.
There are a couple of extra steps to get Ruby setup but seems to work really well. Surprisingly no JavaScript support as far as I can tell.
# - Apr 01, 2019
“duplication is far cheaper than the wrong abstraction”
# - Mar 29, 2019
Handy tool to display configuration changes between Rails versions.
# - Mar 29, 2019
One of the things that trips me up with VS Code is my muscle memory for switching tabs with ⌘ + number. I used this often with Atom and I am pretty sure I picked it from Sublime and/or Textmate.
Digging through the existing bindings, you can do this today with ⌃ + number. What makes this worse for me, ⌘ + 1, ⌘ + 2, etc do something today, but I am honestly not sure what it is. :)
There is an Atom commands plugin, but I do not need (or want) everything that comes with it. Instead, I went ahead and edited the following keybindings (under workbench.action.openEditorAtIndex).

# - Mar 28, 2019
Instructions on setting up Fire Code (and even better, FiraCode-Retina) in VS Code.
And if I could remember that it is Fira and not Fire, I might not have needed them.
# - Mar 28, 2019
From today’s Daily Stoic:
“The market might be rational…but the people who comprise it are not.”
# - Mar 27, 2019
Really enjoyed this week’s Art of the Product with @r00k and @stympy. The Honeybadger approach to conference sponsorships is much smarter than what we have tried ourselves.
# - Mar 27, 2019
JavaScript has the best toys. If you are just getting started in code, this is where I would recommend getting started.
I am hoping to build an app with my daughter this summer. It will be written in JavaScript.
# - Mar 26, 2019
This Ruby gem simplifies access to some additional Postgres features (tags, hstore, jsonb) from within ActiveRecord.
# - Mar 26, 2019
Wow! Superb tool to easily view data in a highly readable table format in IRB (Rails console/etc).
# - Mar 26, 2019
I was looking through the Dev.to source, and the first thing that jumped out at me was the Gemfile was sorted (within each group). This made it much easier to scan and think about their dependencies.
Using Vim, I was able to sort my Gemfile in a couple of seconds.
- Select the lines within the group (or all of those outside of a group).
- enter command mode (:) and type sort
That’s it. Now, if you were like me, you still sometimes flipflop between ‘ and “ (working on it!), you will need to pick one (“) and do a find and replace %s/'/"/g as well otherwise things will not sort quite right.
# - Mar 25, 2019
Rails plugin that logs/displays a backtrace of all SQL queries executed by Active Record.
# - Mar 25, 2019
“Your smallest viable audience holds you to account. It forces a focus and gives you nowhere to hide.”
This is a much better way to think about your next product. What is the smallest audience you can target and still be successful?
# - Mar 25, 2019
I was reading through the Ruby regex docs trying to figure out how to iterate over a string and replace all the matches of a particular pattern.
The tricky part is the matches are not one to one (not just a find and replace). I tried a bunch of different things and then started wishing gsub took a block….turns out it already does this.
Example:
"1234".gsub(/\d/) {|i| i.to_i * 2} # 2468
Even better, it handles all substitution
"Square this number: 5".gsub(/\d/) {|i| i.to_i * i_to_i}
# Square this number: 25
# - Mar 21, 2019
One of the best ways to improve page speed and reduce memory is to skip your ORM, especially when you are doing multiple small repetitive looks ups (ie, does a record existing in N tables).
This gem makes this approach very easy.
# - Mar 19, 2019
“If you are NOT a professional designer…design fewer things.”
This is my favorite line from our newsletters/blog in the eight years since we started.
Focus on the things that matter and that you can do well (and quickly).
# - Mar 13, 2019
Interesting new beta metrics from Heroku. Set up is a couple of command line steps and adding a gem.
It is nice to see Heroku adding options like this which likely help reduce your short term costs.
# - Mar 12, 2019
You can use curly brackets for quick substitution in a shell command.

Instead of manually typing the path out twice (or even tab completing it), you can list the parts to be swapped within curly brackets ({}).
# - Mar 12, 2019
I liked how @garybernhardt had specific rails shortcuts in vim for his Selecta script. As a fan of CtrlP + Ag, I did not want to switch, so I came up with the following which works well.
map <leader>gv :CtrlP app/views<cr>
map <leader>ga :CtrlP app/assets<cr>
map <leader>gc :CtrlP app/controllers<cr>
map <leader>gw :CtrlP app/workers<cr>
map <leader>gm :CtrlP app/models<cr>
map <leader>gl :CtrlP lib<cr>
map <leader>gs :CtrlP spec<cr>
The pattern should be obvious. One mistake I initially made was using:
map <leader>gl :CtrlP<cr>lib/
This ends up just entering lib/ for you in the search and does not explicitly limit the search to the lib directory. This is noticeably slower since each keystroke is a wasted search. Also, with a small directory name like lib, it is easy to have invalid fuzzy matches. The CtrlP + directory and then enter keeps the search focused on the specified directory only.
# - Mar 11, 2019
Orphan branches and workingtrees are both new to me. The article is about using storing GitHub pages in the same repo as the main project, but I could see these both being handy for a variety of tasks.
# - Mar 11, 2019
Best explanation of when and when not to use microservices I have read so far - “In the absence of the relevant people problems, microservices create software problems.”
# - Mar 11, 2019
In cleaning up my .vimrc, I thought I completely screwed something up. Turns out it was:
If you are setting the value of g:gruvbox_contrast_dark or g:gruvbox_contrast_light and do not see any change try setting the contrast before colorscheme gruvbox in your configuration.
# - Mar 09, 2019
I am in the early bird camp. I find I get more done because at 5:00 am there is not anything else vying for my attention (hey @sixers). The tradeoff is usually bad TV for learning, building, and shipping.
# - Mar 08, 2019
I was working on some reverse proxying today, and I could not for the life of me figure out which headers I needed to make it work.
I would go to the server, make a change, then go to the browser and refresh and so on and so on…
Then it hit me; I was making this way to complicated. An easier solution was to use curl. Two minutes later, I was up and running.
curl --header 'Origin: domaintoproxy.com' https://proxydomain.com
Origin (and X-Forwarded-Host) are common, but different servers/apps have various requirements. Using curl like this makes it far faster to test out without having to reconfigure your server.
# - Mar 07, 2019
A plugin to Run a command across all installed rubies.
With it, you can do something like updating all Ruby gem systems.
rbenv each gem update --system
Hat tip to @andrewculver
# - Mar 07, 2019
IH is a great community, but the site is everything that is wrong with too much JavaScript.
I really wish BootstrappedFM’s community had kept it going.
# - Mar 06, 2019
There are many GUI database tools available. TablePlus caught my attention because it supports so many different types of databases (especially PostgreSQL and Redis).
# - Mar 06, 2019
Free, quick, OSS tool to hide menu bar items.
I initially missed you need to drag them while holding ⌘.
# - Mar 06, 2019
About a week in and I am still loving Fire Code’s Retina typeface. I have already eliminated DejaVu. I still need to spend a little more time with Hack before declaring it the winner.
# - Mar 05, 2019
I have been an off and on subscriber to Brain.fm. It is a good app but has some connectivity issues.
Instead, I have been using Spotify’s Focus genre. It has more consistent access, a wider variety, and it is something I was already paying for.
# - Mar 05, 2019
The most important question you should ask yourself before you start a new business: Are the people already in this market the type of people you want to help be successful?
Vitamin or medicine? B2B > B2C. Can you charge more?
These are important and need careful consideration. But these questions are minor compared to asking yourself is this where you want to spend the next decade? Are these my kind of people?
# - Mar 05, 2019
This is a nice simple way for end users to report their browser details back to you.
# - Mar 02, 2019
Made a change to Shorti makes it much easier to script.
Now (well, four weeks ago 😞) I made a change to only return JSON if the API request sets the accept header to application/json.
# - Mar 01, 2019
If you use Jekyll, I wrote a little API to help with automation. I am still working on some more details. In the meantime, I would love to hear what you think about it.
# - Mar 01, 2019
I could spend hours reading dotfiles. I always learn something new.
Highlight trailing white space in vim via https://smw.fyi/48
`set list listchars=trail:.,tab:>.’
‘highlight SpecialKey ctermfg=DarkGrey ctermbg=Black’
# - Mar 01, 2019
CSS Grid is a major step forward and I am confident you will it everywhere in the coming months/years.
This looks like a very nice guide for starting on a solid foundation.
# - Mar 01, 2019
Debugging can easily be over complicated. In most cases, simple tools are all you need.
Bundle open, binding.pry, and a couple puts is my go to procedure.
# - Mar 01, 2019
via @bphogan’s excellent Small, Sharp, Software Tools: type ⌃x ⌃e and it will open the current command in your favorite editor.
Once you save your changes the command will execute. 💣
# - Feb 28, 2019
Recently started using the Gruvbox theme.
I love that it has both a dark and light option. It totes itself on being better at contrast than Solarized and I have to agree (well, at least it feels better looking at it).

For both the dark and light options I felt most comfortable with the hard option for contrast. For dark, soft and medium where OK. For light, on hard worked.
Mixing it in withe Fire Code Retina and everything feels brand new.
# - Feb 27, 2019
A terrific resource to test drive free programmer fonts. My top free choices: Fire Code, DejaVu Mono, and Hack. I am leaning towards Fire Code’s Retina typeface.
# - Feb 27, 2019
I have said this before as well (https://scottw.com/your-startup-does-not-need-blog). Write & create for your customers, not your compatriot.
# - Feb 27, 2019
The money line: “The 10,000th biggest company in the world is a very successful company, as is the two-person company where the founders each take home $300k/year.”
We need more discussion on success not being equal to absolute revenue and team size
# - Feb 27, 2019
A dark theme for just about everything. If “dark” is your jam and you want Vim, Alfred, ZSH, iTerm, etc. to all match, this is a great theme.
# - Feb 27, 2019
At some point we will need a list of “Awesome Awesome Lists” on Github.
# - Feb 27, 2019
If you know what you are looking for in Tailwind, but cannot remember exactly how it is named, this is really helpful. Thankfully I am starting to need it and the official docs less.
# - Feb 27, 2019
I wanted to add a header on all my PostMark emails. Instead of manually editing each method, I dropped this one-liner in.
headers["X-PM-Tag"] = caller[0][/.*’/][1..-2]`
Now, each email gets tagged with the current mailer method.
# - Feb 26, 2019
This has been on my list to play with forever. Sequel provides a nice mini layer directly on top of SQL. Sometimes all the setup to use an ORM is not worth it. The setup for Sequel is simple and there are lots of extras for things like models and migrations if you need to go to that level.
# - Feb 25, 2019
My first time using Zapier for multiple steps. Never realized you can use the data from multiple steps in others. This makes Zapier infinitely more useful than before (and I was already a big fan).
# - Feb 25, 2019
Great categorized list of Ruby resources.
# - Feb 25, 2019
Great book by @pjrvs. Biggest personal take away - before hiring, see if there are options to automate the tasks driving the hire. Being busy is not enough and can come back to bite you in the future.
# - Feb 25, 2019
Continueing the trend of things that existed for years in Ruby without my knowledge…
Heredocs have often had weird formatting due to leading white spaces. Active Support has a helper method strip_heredoc, but since Ruby 2.3, you can use the squiggly ‘~’ instead.
Before:
But now you can do:
I have been trying to be more cognizant of dependencies. Seems trivial, but this solved a big problem with my Jekyll Rest project and did not require another dependency.
# - Feb 25, 2019
I have been playing around with this the last couple of days. Impressed with it’s simplicity. If I move forward with Teensy, it will likely be built on top of Roda.
# - Feb 25, 2019
Assuming everything goes according to plan, you should see this message on Monday morning.
Prior it started in my inbox, hit the iCloud server, was forwarded to Zapier who pinged my server. From my server it was sent to Github who promptly let Netlify know there was something new. Netlify rebuilt my site and eventually Buffer noticed the new content and sent it to Twitter.
A little over complicated? Yes. But still awesome and very useful.
# - Feb 25, 2019
There are so many great SVG resources today. Unfortunately, many of them are also quite slimy. This one, IconSVG, looks to be one of the good ones. Simple, clean, and free.
# - Feb 22, 2019
I still like the simplicity of Rubular (and the Ruby focus), but being able to also write multiple tests around a regular expression in the browser is a nice very bonus.
# - Feb 21, 2019
An impressively long list of quality open source illustrations. You can customize the main color and easily download tiny SVGs and PNGs.
# - Feb 21, 2019
“An illustrated avatar collection for developers and designers”
I love simple and functional tools like this. Easy and free to use as well.
# - Feb 20, 2019
“is essentially a curated clipboard history”. I use this app all the time now and for much more than just code.
I have a bad habit of hitting ⌘+c multiple times which meant everything was going to SourceNote. I changed the short cut to ⇧⌘+c. 💯
# - Feb 20, 2019
A new tool to monitor (network) what is happening in the browser, terminal, and other apps (in the future).
# - Feb 19, 2019
This looks quite interesting and is what prompted Teensy.
It is still a little rough around the edges but has promise.
Is it necessary? That’s where I am still not 100% sold.
# - Feb 19, 2019
I was playing around with FaaStRuby when it dawned on me that everything needed to build my own serverless ruby framework was right in front me (Heroku + Sinatra).
Then, all I remember seeing is dollar signs and code flying across my terminal. On my second git push to Heroku, Teensy was born.
I am only semi-joking. Most of what you would do ‘serverless’ could easily be accomplished with this code.
If I am really missing the mark on some thing, please let me know @scottw.
# - Feb 19, 2019
This is a horrible way to start an email or post to an online forum to a community at large.
What to replace it with? Hello, Howdy Folks (always fun!), or nothing.
# - Feb 18, 2019
I initially liked the idea of magic login links. One less password sounded great. But now, I find they only cause confusion and slow me down, especially in native apps where a password manager may now work.
I must have half a dozen unused Notion accounts. Did I use my work email? My Gmail? What about my personal email? With notion, in particular, they just create an account for any email you enter.
Please keep it simple and just let me enter a username and password. If you want to confirm the email after I sign in, go for it (but please don’t).
# - Feb 18, 2019
You could remove login from the title and it would be even better.
The trend of separate username and password forms cannot die fast enough.
# - Feb 18, 2019
Another nifty tool for navigating and exploring git history. The built-in fuzzy search is an added bonus.
# - Feb 18, 2019
With Ruby, I am generally joyed by the many little language quicks. My reaction is almost always, “hmm…that is kind of nice”.
However, when it comes to JavaScript it is generally, “Who the F thought that was a good idea”.
Selection bias for sure…but you can not deny one was written for the joy of programming and the other got lucky.
# - Feb 18, 2019
It is increasingly easier to deploy small apps and services via Docker, Heroku and Netlify Buttons, and Digitial Ocean droplets to just name a few.
If you factor in privacy concerns, I am wondering (and hoping to a certain extent) if we will see a push away from SaaS and more semi-self hosting.
# - Feb 15, 2019
I have been slowly working on and researching my own Rails Template.
I find the thought of just needing to do the same initial setup over again is enough to make me put off building something new.
# - Feb 15, 2019
An impressively easy way to view all the changes for any file in Git. You can run it locally on any git repo or on Github with a specified URL.
If I had one wish, it would be to optionally see what changed between two commits.
# - Feb 15, 2019
I have not used this myself yet, but I have many times built “query” objects to make active record query decisions based on params in controllers. This looks like a nice way to standardize these APIs.
# - Feb 14, 2019
This is an excellent replacement for RequestBin. Looks to be feature comparable. No idea who/what is behind it, but I am glad it is an option.
# - Feb 14, 2019
“uses just-in-time preloading — it preloads a page right before a user clicks on it.”
It is not that helpful on a site without proper HTTP caching, but on a static site with Netlify, fast pages get even faster.
# - Feb 14, 2019
I love the suggestion to remap the emmet leader key let g:user_emmet_leader_key=','.
It instantly becomes 10x more useful.
# - Feb 14, 2019
I wonder if the rocket growth of less than scrupulous companies like Facebook and Uber is ultimately what cost Google to lose its “don’t be evil” way.
You see them quite literally printing money, stealing your best talent and you start to think, why not us?
# - Feb 13, 2019
Carbon is already a great display code in a tweet (or any environment you do not control).
Carbonize is a way to speed it all up on your Mac. The drag and drop support is very handy.
# - Feb 12, 2019
Rubular can be used outside of Ruby as well, but it is optimized for Ruby regular expressions.
I have used it for years and I would bet on most weeks I visit at least once per week.
# - Feb 12, 2019
I am continually impressed with what can be accomplished with Zapier. It is very polished, has great support, and is an ideal way to link together multiple services.
Yesterday I was able to help a customer wire up a brand new integration using two simple webhooks.
The first took a webhook from the customer’s ‘form vendor’ sent the data Zapier. The next webhook was from within Zapier and posted back to KickoffLabs. All in, it took less than 10 minutes to set up (and most was trying to figure out how to use the customer’s form vendor).
# - Feb 12, 2019
Ever wanted to know what that long shell command you are copy and pasting from a random website is actually going to do?
# - Feb 12, 2019
I am still not sure what I think about “venture bootstrapping”, but if it works for you, this is a great overview of what short and long term costs may look like.
# - Feb 11, 2019
I didn’t test this keyboard because I didn’t want my keyboard to be connected to the internet (and it does not appear to be Mac friendly)
Having said that, this is very interesting.
# - Feb 11, 2019
Great API for blocking/throttling knuckleheads.
# - Feb 11, 2019
I have been using side projects more in recent months to jump-start learning new technologies and automating repetitive tasks.
The “side” benefit has is seeing my main business (@kickofflabs) with a fresh perspective.
# - Feb 10, 2019
Josef Strzibny on Stimulus:
Nevertheless, I like its use of a few conventions to standardize simple JavaScript code that would otherwise get unwieldy soon.
# - Feb 10, 2019
I am looking forward to this. I often use code that looks like this:
h = Hash.new(0)
items.each {|item| h[item] += 1}
What makes this work is whatever you pass to Hash in the initializer is used as the default value.
# - Feb 10, 2019
I eagerly await the AI to fix this automatically.
Passive voice is something I rarely recognize on my own, but when I take the time to rewrite it in an active voice, it is always better.
# - Feb 10, 2019
gotop is an activity monitor for your terminal. You can install it in a couple of seconds via homebrew:
brew tap cjbassi/gotop
brew install gotop
Works great and I have love the vim inspired keyboard navigation.
# - Feb 09, 2019
This was a horrible way to spend a Friday afternoon. At some point, I installed something via Homebrew that borked/updated readline.
I still do not understand the issue 100%, but my best guess is ruby gems with native extensions were failing because of the dependency change. How it happened? Computers!
Re-installing Ruby (rbenv install ruby_version) seems to have addressed most of the issues (also needed to update bootstap to a newer version).
Wish I had a better recommendation for how to fix it and why it worked, but hopefully this is start for others.
# - Feb 08, 2019
Console app for syntax highlighting. Easily installed via brew install bat
# - Feb 08, 2019
Open source and easily hostable (via now) open graph images.
Setting up locally takes a couple of steps, but deploying it as easy as it gets.
# - Feb 08, 2019
Here are some nice newish things for me:
- @ScoutAPM - Simple and effective app performance monitoring
- @zeithq (now) - I am just scratching the service, but impressed the zero to useful experience
# - Feb 08, 2019
I am likely making another keyboard change (more on that later). In addition, I am second guessing the MX Blues. This video (just to the 1:30 mark) has a solid comparison if you are interested.
# - Feb 07, 2019
I saw this little doozy as recommend code for (Ruby) API access:
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
This effectively disables SSL checks and is not something anyone should be recommending….ever.
# - Feb 07, 2019
I don’t get the fuss over React Hooks (likely since I have yet to touch React). 😎
I am surprised there is not more written about Stimulus. It is the first thing I have seen in years that I wish we had as an option when we started KickoffLabs.
# - Feb 06, 2019
Grammarly had a great deal around the new year on the paid plan. I am certainly not the best endorsement for a grammar/spelling product, but it has helped me quite a bit.
I find it helps me get into the zone more since I am not as worried about cleaning up what I write.
The out of the browser tools/integrations still need work, but overall it is very helpful.
# - Feb 06, 2019
This has been around for a while, but it is completely new to me. It was really helpful this morning when I was working on adding limits to my recursive queries.
See, Unlimited Software Does Not Exist
# - Feb 06, 2019
Good overview of what you can run on the side for free(ish). I always forget about CloudFlare’s free SSL option.
# - Feb 06, 2019
The lonely operator I mentioned before was flushed out by the excellent Ruby Stanard gem.
I have started to incorporate this into most of the projects recently. It does a great job pointing out obvious issues and helps me write more consistent code.
# - Feb 05, 2019
Ruby 2.3 introduced a feature called the “Lonely Operator” (which I somehow missed until recently).
Instead of:
user && user.address && user.address.street
You can write it like this:
user&.address&.street
# - Feb 05, 2019
Turn your iPad into a second monitor! The app, once you get it installed, is great.
The install steps and experience is not exactly Apple like, but the end result is borderline magical.
# - Feb 05, 2019
For my ‘shorts’ feature, I wanted to remove some of the friction publishing multiple times a day to a Jekyll blog.
My first thought was using the Github API. This involved getting a user token, understand the API, grabbing my content, using the API, etc.
Then it hit me. The tool I was using to publish the post was local only at least for now. So instead of going through all the Github API hoopla, I just write to git.

This version took all of 2 minutes to do (most of which was spent googling the -C flag).
# - Feb 04, 2019
Distraction-free writing in Vim. I have found it is helpful when you want to focus on a particular piece of code as well.
# - Feb 04, 2019
ActiveRecord specific helpers will almost always do better than ActiveSupport helpers.
What makes this even more tricky is that when you initially write something, you may not have much data to test against.
# - Feb 04, 2019
I noticed 1Password had not been updated in a while. The background helper is too quick to restart before the AppStore can finish the installation.
The fix is to “super quit” 1Password with command+option+control+q (⌘⌥⌃q).
# - Feb 04, 2019
If you’re on macOS and have Homebrew installed, run brew cask install quicklook-json and Quick Look will let you look into JSON files properly.
Hat tip to @peterc
# - Feb 03, 2019
I have used Paw as my local API client for a couple of years, but recently switched to Insomnia. I am finding Insomnia much simpler and intuitive to use.
# - Feb 02, 2019
With this, you can set a lot of defaults on Heroku buttons as well as making easier (and more consistent) to deploy new application instances.
# - Feb 01, 2019
A handy list of Rails HTTP Status code symbols and details.
# - Feb 01, 2019
“I never make products because I want to make money while I sleep or hear beeps on my phone alerting me of sales, while I sit around in my underpants. I make products because I enjoy making things and providing value to others.”
# - Feb 01, 2019
It dawned on me today that TailWind and Stimulus is (if you squint hard enough) the declarative experience Microsoft tried to bring to market with the early versions of ASP.Net.
# - Feb 01, 2019
You can use the -C flag to execute git commands from somewhere else on your computer:
git -C /some/other/path status
# - Feb 01, 2019
Built a little utility app with Stimulus. Set up was a breeze with the Webpacker gem.
Definitely something worth checking out.
# - Jan 31, 2019
This is something I constantly struggle with when it comes to software.
At this point in my career, I can build just about anything given enough time. However, it often means I can get in my own way of just getting started.
This blog is a prime example. I have been going back and forth on how to mix quicker short form posts and longer content in my head for years…but once I just embraced the constraints of an existing product, I was able to finally make some progress.
# - Jan 31, 2019
Zone Vision is a handy way to view DNS settings in your browser.
It is also easily sharable via a link which makes it a great tool if you have to support customers making DNS changes.
# - Jan 31, 2019
This project is a great starting point for a Jekyll site which leverages Tailwind. I also love the small scripts included to get going quickly.
# - Jan 31, 2019
Even if you want to push rails-ujs and turbolinks to webpacker, you probably still want to keep the turbolinks gem around. Otherwise, you must set the Turbolinks-Location on your own in your controllers.
# - Jan 31, 2019
One less gem is always a win.
# - Jan 31, 2019
A handy OS X menu bar app to quickly toggle in and out of Dark Mode. Also has an option to do it at a set time and sunrise/sunset.
# - Jan 29, 2019
Finally signed up on Dev.to. It is still all new and fresh, but I love the flow of the site. Plus, it is fast to navigate and use.
As of now, I regret waiting so long.
# - Jan 28, 2019
I wanted to find the equivalent of rbenv’s global command for nvm: nvm alias default system - This will set the system version of node as the default.
# - Jan 25, 2019
Not the most obvious setup instructions and not sure how well it will scale as the amount of content grows, but it should remove some friction in writing these little shorts.
# - Jan 25, 2019
Really nice way to tinker with a webpage.
I am ultimately very skeptical of everything Google and Chrome, but as of today, it is still the best browser for development…by far.
# - Jan 25, 2019
Finally gave up trying to read it (kids!) and bought the audio version.
Superb book and fits well with own model for growing a business long term. Recommended.
# - Jan 24, 2019
This plugin is the first time I have been able to get NVM setup properly. It just works.
# - Jan 24, 2019
Interesting interview by Bill Simmons on the challenges of making Twitter better.
# - Jan 23, 2019
Really nice way to show code in tweets all from your terminal.
# - Jan 23, 2019
Best site I have found aggregating Ruby content. Updated daily.
# - Jan 23, 2019
The Shorts section of my blog is an attempt to capture small posts that would normally be wasted as tweets.
If everything goes according to plan, they will render like normal tweets, but will exist outside of Twitter’s walled garden.
# - Jan 23, 2019