Headless Chrome on Heroku

I’ve been experimenting with headless chrome for a Link Unshortener tool I’ve built to take screenshots of websites. I’ve been using BrowserShot which is great. It’s a php wrapper around Puppeteer which makes it simple to use in Laravel. To experiment more with Puppeteer, I wanted to get a node app running on Heroku. Overall it’s pretty straight forward but there are a few gotchas.

Here is a sample project that should get you started. Clone this and take a look at the source. You’ll notice I specified the node.js version in the package.json file. This is required for Heroku to know what version of node to use. Another issue I ran into is to run Puppeteer on Heroku you have to specify –no-sandbox. They last hurdle was adding the puppeteer Heroku buildpack. Follow the steps below and you should have a working screenshot app running locally and on Heroku. These instructions assume you are familiar with node and Heroku. Read More

Marketing To Developers

If you’re a developer and have ever tried to market your own app or website, you’ve most likely discovered that the biggest challenge isn’t the building but the marketing of your app. When trying to come up with creative ways to spread the word about my weather extension, I came across Justin Jackson. Justin has a great story (video) of how he has been able to go independent selling books and courses on helping developers market their products. He offers a lot of free content with some great tips and strategies. Read More

Chrome Extension Inline Installation

You’ve probably come across extensions that allow you to install them from their website without ever going to the Chrome extension store. This is what Chrome calls inline installation and it’s a great way to make it easier for users to install an extension.

Overview

Inline installation requires 3 parts. A link tag in the head of your website, a call to the JavaScript function chrome.webstore.install() and lastly the extension must be assigned to the domain you want to use for inline installation. Read More

Animated Badge Icon

Weather Extension was recently updated to have a spinning indicator in the badge icon to let the user know the extension is loading when it is clicked. I wanted to give the user immediate feedback. The challenge was that the badge toolbar icon is limited to static images. I was able to get around this by using canvas and generating multiple images that update the icon. I’ve haven’t come across anything like this so I thought I would share. Read More

Global Git Ignore

Recently I was trying to add some folders to my global .gitignore file on windows. Unfortunately I ran into some issues. After some searching, I couldn’t come across a solution that worked for me. Here are the steps that worked for me.

Add to Global Git ignore Windows

  1. git config –global core.excludesfile ~/.gitignore_global (Add .gitignore_global as the global gitignore file in your global git config)
  2. notepad %USERPROFILE%\.gitignore_global (Create and edit .gitignore_global in your home directory using cmd)

Add to Global Git ignore Mac

  1. git config –global core.excludesfile ~/.gitignore_global (Add .gitignore_global as the global gitignore file in your global git config)
  2. sudo nano ~/.gitignore_global (can edit your .gitignore_global file and add any files or folder you would like to ignore. Use ctrl + y to save and exit)

Leave a comment if these steps helped in any way!

Stress Test with Loader.io

Ever wonder how many requests your $5 a month Digital Ocean server can handle? Using Loader.io’s free load testing tool can help you do just that! It’s a good idea to know what your server can handle so you can be prepared to handle large spikes in traffic. This could mean increasing the specs on your current server, adding a load balancer or using round robin dns to distribute the request to multiple servers. Read More

Round Robin DNS

In a previous post, I’ve covered how I used Digital Ocean’s load balancer to handle the increasing number of request my Weather Extension receives. For weeks everything was going great but about a month ago I started having issues with DO load balancer. Users were receiving 522 (timeouts) errors. DO claimed my servers were the issue. After some testing, I realized that around 1,000 requests a minute, Digital Ocean’s load balancer started failing even though they claim to not limit the number of requests. Read More

Url Shortener Extension

Let’s face it, urls can be long and with Twitter’s 140 character limit, link shorteners can be very useful. There are several free services but I tend to use Google url shortener. It’s free, easy to use and tracks stats like the number of clicks.

To make the process of generating a short url easier, I created a chrome extension that uses Google link shortener api to quickly generate a short link and copies it to your clipboard. If you shorten links often, you should check out my chrome extension.

Install Link Read More

Led Monitor Backlights

With the purchase of my new Dell 34 inch monitor, I decided to add some led backlights to the monitor. I’ve read some of the benefits but wasn’t sure if I would like them.

After a few days of use, I would definitely recommend them to anyone. They are cheap and easy to install. They can be powered from a usb port on the back of your monitor and cut to fit any size monitor. Currently they are on sale if you use the promo code GT8OMP06 at checkout.

Link: Vansky Bias Lighting Read More