A Message to All Internet Users

Recently at work, we launched a new product that allows users to view PDF documents in their browsers without having a dedicated software like Adobe reader installed, using the PDFjs library from Mozilla. Aside from being a convenience for users, the software allowed us to do things like track user activity to see how popular documents were. No doubt, the library is amazing, but it requires some of the latest web technologies, such as web workers, to function. This is trivial in modern browsers like Google Chrome and Firefox. Heck, it even probably works in Opera. But of course with any web development project, the worst part of it all is working with Internet Explorer. Unlike FF and Chrome, which update seamlessly in the background, IE users are stuck with whatever major version they have unless they upgrade it themselves or realize there are better browsers out there.

Here is the issue for me. The web is an amazing place, so different from the screeching dial up modems of the 90’s. There are sites that help you reconnect with old friends, fund raise for a family member’s medical procedure and even watch High Definition videos of cats playing with laser pointers. None of this — including the cats — would be possible if browsers didn’t update and support the latest features. However, IE continues to lag behind it’s more successful rivals. And because of the lack of support for some parts of say, HTML5, developers are forced to waste spend time trying to get their applications to work on these old browsers with esoteric hacks and ugly directives.

If you’re any sane person using the internet, you want the latest features on the websites you visit. As developers we want to give them to you. Really, we do. It’s our job. But you’ve got to help us help you. Stop using outdated browsers like IE9 and IE10. Using something that actually follows standards allows us to spend more of our time making cool apps and less time frustrated over getting basic features and styling to work in Internet Explorer. Heck, use Edge if you want to, just use something that didn’t come out half a decade ago.

This is particularly a problem for large corporations that force their employees to use outdated software in the name of “security.” News flash: The latest version of software is often the most secure because it patches up the holes that exist in the earlier versions. Making employees use IE9 for example isn’t making anyone safer — quite the opposite. You’re putting your business, data and customers at risk by trusting obsolete software. Newer browsers mean faster browsing speeds, more security and the latest features. If you wouldn’t use a typewriter to send correspondence to your customers, why would you use a slow, buggy browser to access your products?

Please. For our mutual benefit, upgrade to a modern browser.

Thank you.

Using jQuery’s jscroll Plugin

Recently I was looking around for a quick way to implement infinite scrolling and found the jscroll plugin for jquery.

The problem was that all the examples online were broken and they all seemed to copy and paste from each other which made it difficult to figure out what worked. Finally I got something working and just wanted to post the options that I was using for anyone else that needs help with it.

The HTML

The JavaScript

Backend API

Depending on your framework, create an endpoint that returns a response containing your content and a link to the next item to load (a link element) at the end. It is important that this response contains the HTML necessary for the item you are rendering and is not just a JSON response.

Overlay an Image on Top of Another with GraphicsMagick

Command

gm composite -resize 1920x1080 -dissolve 40 overlay_image.jpg base_image.jpg result_image.jpg

Break Down

The resize option resizes the overlay to the specified dimensions. You can specify just the height with x1080 or just the width with 1920. Typically you would want this to be the same width as the base image.

Continue reading