Tech Consultant. Backend Developer. Frontend Developer. Designer. Adventure Time Super Fan.

Pip Pillow OSX 10.9 CLANG GCC 4.9 Missing Directory

After trying everything, the problem was solved by upgrading my pip.

pip install pip –upgrade

pip install pillow.

Custom Desk.com Chat Icon

Desk.com doesn’t have very much documentation on their chat widget.

If there is, let me know.

All I needed was a custom icon for the chat button. I had to hack it into place by continually checking to see if the widget has initialized yet. Once it has initialized, hide the desk.com chat icon and attach a click handler to our own button, which merely proxies the click to the hidden original button.

// <a href="http://desk.com">desk.com</a> hack; custom chat now button.
var $chatButton = $(&quot;.my-chat-button&quot;);

var intervalID = setInterval(function() {
$widget = $(&quot;.a-desk-widget&quot;);
if ($widget.length != 0) {

$chatButton = $(&quot;.chat-now-button&quot;);

$chatButton.click(function() {

Fix overflow scrolling juddering, or loss of touch scroll control

To fix judder during scrolling, or when the touch event is inconsistency scrolling the wrong element, apply a webkit overflow scrolling css rule:

-webkit-overflow-scrolling: touch;

Disable Mobile Safari Top/Bottom Bar auto show/hide viewport changes

Turns out you can disable the top/bottom bar auto show and hide nonsense which changes the size of the viewport, often causing full screen elements to need to be recalculated.

Add "minimal-ui" to the viewport meta tag to remove the behavior.

<meta name="viewport" content="width=device-width, minimal-ui">

Thanks to ayr.com for showing me it’s even possible.

Django – Cannot force an update in save() with no primary key.

If all debugging steps lead you nowhere with this problem, make sure you are not deferring any fields on your queryset prior to an insert attempt.

For example, I was calling save() on a recently copied object which initially had a deferred field.


obj = Object.objects.defer('foo')[0]

<a href="http://obj.id">obj.id</a> = None
obj.save() # triggers error

Postgres: cannot ALTER TABLE because it has pending trigger events

​There is a stack overflow post about this: if you attempt to change a table schema from nullable to non-nullable, and there are existing null values, you will get this error upon attempting schema change.

Not a useful error!


OSX: Easily SSH into local computer via ngrok

Enable remote login via going to "Sharing" in preferences, then clicking the "Remote Login" checkbox.

Next, download ngrok

Once set up, simply write into the command line:

ngrok -proto=tcp 22

Now you can SSH into your computer from the port number specified.

Example: ssh myusername -p PORT_THEY_SPECIFIED

This method bypasses any IP configuration at all, making it bullet proof.

Freelance Developer Pro Tip: Use workspaces to manage multiple clients easily

You know how it’s super annoying to manage small tasks for multiple clients all the time?

Lately a real gamechanger for me has been using OSX workspaces for each client. One terminal and one sublime window open for each client.

It also really helps make "switching between windows of the same application" much more productive… since I can have 4 sublime windows for window 1, 2 for window 2, etc. that are tabbed separately.

Of course this only works if you work on up to say 8 clients max.

-webkit-backface-visibility Fixed Position Safari Bug

I often use -webkit-backface-visibility: hidden; to fix flickering issues with hovers and css transitions or animations on all browsers.

Well I was experiencing a very odd glitch in Safari that caused elements to get stuck in the wrong position, even though their hover/click/event handlers were still located in the proper positions.

For example, when switching from a css class with position: fixed, top: 0 to a class with position: absolute; top: 0; Safari would sometimes render the element in between the previous browser fixed position and its final destination.

After essentially giving up on the problem, I had a random thought about backface-visibility causing issues and I’m not even sure why. Sure enough, after removing it, I no longer have any issues with post-animation glitches or the fixed position to absolute position bug.

connect() failed (111: Connection refused) while connecting to upstream, client ….

If you are getting this error suddenly and intermittently, this may be due to issues resolving localhost intermittently, perhaps intermittently when attempting IPv6 vs IPv4.

I was able to solve the problem by changing my references to localhost to in my nginx configs.


Get every new post delivered to your Inbox.

Join 95 other followers