Wednesday, March 14, 2012

Google Page Speed: Gzip and Caching, order matters

Ok so this may seem pretty simple and obvious, but it is late in the day and my brain is fried so I just wasted time on it. If you're ever using Google Page Speed and it suggests enabling caching and enabling Gzip compression, make sure you enable caching last. I just accidentally enabled caching, then went about enabling Gzip for all of my mime types. The problem is that Page Speed was (correctly) listening to my caching rules and as such, I was fooled into thinking my Gzip rules were not taking. In reality, Gzip was working fine, but the JS and CSS files were cached and thus my browser still viewed them as "uncompressed". Order matters.

Monday, March 12, 2012

GOAT Web Development Stack

Ok, real talk. There's a lot of absolute garbage out there. Defining your core quality tools is made difficult for new developers as they try to sift through the good, the bad, and the ugly.

I've put together what is my current stack of what I consider quality development tools. I've put them all on a server in a file called GOAT (Greatest of all time). It works like a personal repository for my favorite frameworks and plugins.

Here they are:

bootstrap (aka Twitter Bootstrap 2, use to get a good theme.
bootstrap.colorpicker (Color picker for Bootstrap)
bootstrap.datepicker (Date picker for Bootstrap)
jquery (A no brainer...)
jquery.chosen (Nicely style SELECT elements for easy filter)
jquery.noty (The best jquery notifications plugin out there)
jquery.qtip2 - Excellent Tooltip Library
jquery.tinycon - HTML5 Favicon Manipulation Library (Slowly becoming more stable, very neat stuff so far) (A great theme for jquery mobile) - Responsive Google Maps for mobile devices
jquery-ui.bootstrap (The bootstrap theme for jquery UI)
jquery-ui.smoothness (A simple, clean theme for JQuery UI)
knockout (Knockout.js is simply amazing MVVM. Do their tutorial and you'll see why.)
sammy (Sammy is a small library that goes well with Knockout.js for handling RESTful eventful javascript)
FuelPHP (FuelPHP is the library I've settled on for doing my MVC and so far I've very impressed)

Honorable mentions:

Foundation by Zurb (I want to use this, but Bootstrap 2 make is tough. I keep going back and forth)
jquery.tokeninput (Token input is nice but development has stopped. In the end, I went with jquery.chosen instead.

That's all I've got for now. I will try to update this as I add to it. Would love to hear suggestions or potential additions to this list of core dev tools/frameworks for web application developers.

Monday, March 5, 2012

Get Wireshark to Work in Windows 8

I came across very handy fix for Wireshark in Windows 8 was posted today by user thejoefish. "For those of you out there experimenting with Windows 8, you were probably upset by the fact that Winpcap won't run. If you do an upgrade from a Win7 box to a Win8 it warns you, and Server 8 just refuses to list any capture interfaces. It turns out the issue is with the installer only and not NDIS 6.2 or something. Install wireshark but don't run the winpcap installer. Then download Winpcap for x64 separately. Go to the binary, right click and choose compatibility mode. Run it in mode for Win 7 and as administrator. It installs and run without issue. It will even capture on the new Windows Server 8 built in teaming just fine." Very handy stuff for those moving to Windows 8.

Friday, March 2, 2012

PsExec with UAC Enable

Christopher Byrd has a nice little write up on using PSExec on UAC enabled machines: I will be updating my articles accordingly with the proper syntax, but for now, this is my lazy solution.