-
Dear Web Developers Stop Assuming Chrome Has Flash
I’ve been rolling for quite some time with Flash disabled in Chrome for performance reasons (battery life on my laptop) and security (flash cookies), however there’s a difference from surfing the web with Safari/FireFox without Flash and Chrome and it looks like this:

Sadly this isn’t limited to FaceBook, if you’re designing to the browser, you’re doing it wrong. In the day of age of feature detection and progressive enhancement design patterns, this shouldn’t be a problem.
-
boilerplate for grunt
Grunt has been on my mind as I’ve decided to update my work flow.
This easily the best list of performance optimizations I’ve seen for Grunt/Gulp, some of which are tasks I live by, and some are new to me. It’s a “best of…” for grunt tasks to make your front end web deving more efficient.
-
An unordered list of things I’ve learned from two years of blogging…
Not one for anniversaries but realized today that I’ve been blogging for 2 years as of April 9th. I started this as side-project to compliment my portfolio, and to establish a controlled public presence as I’m absent on most social networks.
While, I cannot give much credit to my blog, it has helped as I’m working for a much better company than when I started this, in a new city.
Things learned:
Quality not quantity counts: The posts that have the most traction have usually been ones I’ve spent more time on. It’s cliché, I’ve read it before but its true.
Tumblr Likes/Hearts/Reblogs mean almost nothing when it comes to stats. See Tumblr likes vs Page Views, for a break down.
Web Development doesn’t bring the hits. My most popular articles are mostly Apple related.
Building up traffic takes a long time. I once ran a site that got 150,000 visitors a day, I haven’t achieved one what I’d get in a single day half of that in two years.

Useful Posts tend to attract the most attention. My most popular post by far and away was a list of fixes I discovered when trying to make Far Cry 4 work. I’m not a big gamer, but figured it was worth post. Other big hits have been my recommended list of Mac Pro Upgrades, and my guide to using iFile to upload custom ringtones to iOS. Reviews tend to do alright too, my 9 months with CodeKit 2 has been ever-popular.
Tumblr is a great blogging tool that is used rarely by bloggers. Tumblr is mostly a place for younger people to re-share things they like in a pinterest fashion, but underneath is a friendly and fast interface that has a writer’s heart.
Things I’ve changed:
Less opinions. Quite frankly no one cares what you think, or specifically what I think about stuff. I have a lot of opinions but are they useful? Not really. I’m not John Gruber.
Stop setting goals for X amount of posts over X amount of time. Unless you’re being paid, don’t worry about frequency long as you’re posting more than once a month.
Write for everyone. Web development is hard enough as it is. As a working professional, I still write for the common folk in mind. Even for the pros, its easier to digest when things are written to be understood by everyone even if it means spending more time explaining every step.
-
My (unofficial) Boilerplate Grunt.js
Intro
Grunt isn’t the easiest world to jump into if you’re new and writing a grunt file that does all the neat stuff is rather cumbersome. There isn’t one magic Gruntfile.js that’ll work for every project as often it’ll require individual tweaks to suite a particular workflow. That said, there’s all baseline list of usual features I need for every project:
To put it into human-speak: I want grunt to compile my Sass to CSS, auto prefix it (write example: add -wekbit-border-radius and -moz-broder-radius when I write border-radius) minify it (remove the white space), and generate source maps for inspect element use, and I would like my JS to hold me to writing with conventions, and uglify my code (change the var names and remove white space to make the smallest js file possible).Lastly, I want grunt to refresh my CSS file (also known as CSS injection) when I make a change so I can see the changes without having to reload.
Grunt Starter Boilerplate
Even as someone who uses Grunt daily, writing fresh Gruntfile.jses is more time consuming that I’d like so I boiled down my base feature set above into an easily installable set without any front end frameworks like Bootstrap or Foundation.
I created a GitHub Project out of it for anyone who’d like to get started with Grunt.
It includes full installation instructions for beginners too! It’s everyting you need to get started with Grunt.js.
-
Improving Chrome’s Battery Performance
The Verge posted “Chrome is still a threat to your MacBook’s battery” but failed to mention one of the main culprits of Chrome: Flash.
Chrome has Flash baked into the browser distribution. Each Chrome update always contains its own version of Flash, and it saves the user from being forever pestered by Adobe flash updates and better yet, you can keep your other browsers flash free.
Chrome’s flash is very easy to disable. Copy and paste into your browser bar:
chrome://plugins/
Click Disable. Crazy part? You probably won’t miss it in 2015, and it prevents nefarious Flash cookies.
Congrats, you are now Flash free. This won’t solve Chrome’s battery life issues but it helps. Disabling plugins help too as massive javascript libraries contained in some lesser plugins can cause excessive CPU usage.
The Verge’s article insinuates that Apple has some sort of secret sauce (API?) to make Safari better at Battery life but truth is, Chrome’s fast development cycle puts features over optimization. That’s it.
Now, I’d be happier if Chrome crashed less….
-
The Apple Watch Analogy
My buddy and I were debating the Apple Watch after the miserably titled Wired article: “iPhone Killer: The Secret History of the Apple Watch”. Assuming that the Apple Watch has the ability to become a standalone untethered unit it seems abundantly apparent:
The Apple Watch is to the iPhone as the iPad is to the MacBook.
Assuming the Apple Watch gains the ability in a few years to have its own cell service, I have a feeling there’ll be a subset of users who eschew the smartphone altogether.
Yes, there’s a lot of comprises: only voice to text, potentially no camera or a severely lower quality one, no access to the internet at large outside of apps, and so on but there are a subset of users who go tablet all the time, and never use a desktop. I don’t know how those people operate but they do it. The iPad is inferior from many standpoints to a desktop but its form factor and experience still manage to meet the needs of many people.
Just as I am not a fan of tablets, I doubt I’ll be sold on the smartwatch but my opinion isn’t the only one that matters…
-
Another April 1st… Best and Worst
The small company I work for, posted an April 1st joke with several orders of magnitude more convincing than than companies with hundreds to tens of thousands more employees. April 1st seems to bring out worst in corporate jokes: Chrome reaction Selfies, Unleashed “Dog On A Stick” selfies, Honda’s Safety Selfie Cam, ThinkGeek’s Do It YourSelfie 360 Motorola Selfie Stick…
Worst
Achieving worst April 1st joke takes more effort than the best, since most are orders of terrible. With all the competition, this years goes to NTNews for APRIL FOOLS JOKE: Four-wheel-drives will be banned from all Territory roads from next year.

Yes, the title is in all caps proceeding the article shows so much absolute disdain for the buttfuckery that constitutes April 1st, that one wonders why bother? Unlike other no-votes-of-confidence, this gets special merit for its absolutely zero-commitment. No matter what was written, the punchline was spoiled before the user makes beyond the first three words. APRIL 1ST HA HA! GET IT?
Best
The best easily goes to A random tweet, by someone named Joe Heenan.

-
Yosemite OS X 10.10.2 Wireless Woes
Prior to writing this, my experience with Yosemite has been mostly positive other than the egregious usage of Helvetica, which was easily remedied.
However, on my work MacBook Pro Retina early 2013 (15 incher/i7) has been borked since my update recently to 10.10.2. My wifi speeds dropped abysmally, with transfers topping out at 21k a second, usually much lower.
After trying a boat load of voodoo tricks, such as deleting plists and saw a reddit post recommending killing discoveryd (not the best idea), and I still may yet try reinstalling mDNSResponder. That said, here’s the fix.
The quick fix
However so far there is a fix, and anyone who remembers OS 7 through OS 9 will remember the magic of Zapping the PRAM and its miracle working to make bad SCSI chain start magically working.
- Shutdown or reboot your Mac
- Hold Option, Command (⌘), P, and R and power up the Mac (or hold while rebooting), this has to be done before the white screen appears.
- Hold until you hear the boot chime for a second time.
Notably, the problem may creep back and you’ll have to do this again. I managed to last a week before I had to rezap the PRAM. This hopefully will get you by until Apple manages to fix its networking woes.
A little history…
So what is the PRAM? Back in the “classic days” of OS 7, OS 8 and OS 9, Mac OS stashed important OS settings in the first meg or so of memory, referred to as the Parameter RAM. In early Macs, these settings were stored by battery by battery so they were not lost when powered down.
Later Macs switched to NVRAM (non-volatile RAM), which is the same concept as PRAM, settings that are stored by battery (Screen resolution, network ports available, Speaker volume, startup disk selection, Recent kernel panic information, if any) outside of the computer’s disk storage. The term PRAM carries over as legacy as well as the key commands. The term PRAM is still used interchangeably even if not technically correct.
/Edit: 5/30/14:
OS X 10.10.4 reverted back to mDNSresponder. Goodbye discoveryd, upgrading to 10.10.4 should solve any major networking issues with Bonjour and OS X.
-
-
Chrome just keeps crashing… (and a bandaid fix)
I’m not sure if it’s OS X Yosemite 10.10.2 but I’m getting a little sick of this:

I noticed Chrome Canary seems to be a little less crash happy and it supports HTTP/2. Still Chrome as a whole has been much crashier FireFox and Safari as of late.
So if you’re being punished with “Aw, Snap!
Something went wrong while displaying this webpage. To continue, reload or go to another page.” Try out Chrome Canary, I’m seeing a drastic reduction, which leads me to believe Google has a fix in the pipeline.
-
-
A Front Ender’s Guide to Getting Started on Mobile Web Development Using Simulators/Emulators
It’s a bit of a misnomer even to differentiate mobile web development from web development in 2015. It’s old news, everyone has a smartphone, and people increasingly use it as their primary way of using the web. Since the bulk of development is done on desktops and will be so for the foreseeable future, as developers, we’re left to pick up the task of testing our websites many configurations. Fortunately, with simulators/emulators, these can be tested with very close precision for the major platforms without investing in the hardware. Once properly configured, these virtual devices are always just a few clicks away.
Both Android and iOS can be simulated on OS X relatively hassle-free. Windows Phone on has more stringent requirements that make it more difficult and cannot be run on older hardware, even when Windows is the native operating system.
I’ve assembled several blog posts I’ve written into a singular guide that’ll get anyone up and running for simulators the three major platforms.
iOS
Tools Needed: OS X, Xcode (Virtual Machine Software for Windows, Linux)
How To Get Started: Using the iOS Simulator in Xcode 6 for web development
Android:
Tools Needed: GenyMotion
How To Get Started: A better Android Simulator for Web Development: GenyMotion
Note: You can use GenyMotion with Google Play to download other popular browsers
Windows Phone:
Tools Needed: Windows 8.1, Visual Studio Express, (Virtual Machine Software for OS X, Linux)
How To Get Started: Setting up Windows Mobile 8.1 for Front End Development
-
Amazingly Bad Developer Job Posting


Earlier today, a blog post entitled, “How not to advertise in London…” began making the rounds on Hacker News. I have a feeling that eventually the linked job posting will be pulled from Google Drive so I’ve taken the liberty of screen capturing it for your viewing pleasure. The tweets have already been deleted so its unlikely the job posting will stay.
All credit goes to http://programmingisterrible.com/ for this find.
Where to even begin?
There’s too many questionable requests: Age, implied sex (Dude can be used for women but its unlikely in this circumstance), 20+ years of programming for someone in their 30s, implying hours well beyond the UK and US’s regular work week, requiring ALL past portfolios, access applicant’s social media, required “hackathons”, impossible career goals (Change the world?) and the simply bizarre like wearing headphones.
This job post reads more like satire as it encompasses everything wrong in the tech industry: Ageism, implicit sexism, long work weeks, unabated and unwarranted self importance.
The best programmers I know are 40+, though reading this posting, I imagine though in Career Harbour, anyone above 30 would be a babysitter.
-
Resolving Adobe After Effects “Quicktime is not installed on this system, some components will not work correctly”

Its been a long time since I’ve used After Effects so imagine the fun when I started to dig in that it wasn’t functioning properly. After a bit of sleuthing on the Adobe forums, a user discover that the problem can be traced to the preferences which isn’t entirely necessary but set me on the right track.
The short of it, really old versions of After Effects may have left some residue that’s mucking up your new install.

First, go to Users/yourusername/Library/Preferences/Adobe (note you may need to enable your Library folder)
Remove any folders by the name of “Adobe QT32 Server”, “Color”, “dynamiclinkmanger” and “dynamiclinkmediaserver”.
Relaunch After Effects.
If you’re experiencing “Cannot create XXXXX.xml”, you may need to right click your Adobe folder in preferences in /yourusername/Library/Preferences/ and change the user permissions (Apply all to closing) to allow Read/Write to the Administrators group and your user name.
-
Amazingly Bad Developer Job Posting


Earlier today, a blog post entitled, “How not to advertise in London…” began making the rounds on Hacker News. I have a feeling that eventually the linked job posting will be pulled from Google Drive so I’ve taken the liberty of screen capturing it for your viewing pleasure. The tweets have already been deleted so its unlikely the job posting will stay.
All credit goes to http://programmingisterrible.com/ for this find.
Where to even begin?
There’s too many questionable requests: Age, implied sex (Dude can be used for women but its unlikely in this circumstance), 20+ years of programming for someone in their 30s, implying hours well beyond the UK and US’s regular work week, requiring ALL past portfolios, access applicant’s social media, required “hackathons”, impossible career goals (Change the world?) and the simply bizarre like wearing headphones.
This job post reads more like satire as it encompasses everything wrong in the tech industry: Ageism, implicit sexism, long work weeks, unabated and unwarranted self importance.
The best programmers I know are 40+, though reading this posting, I imagine though in Career Harbour, anyone above 30 would be a babysitter.
