{"items":[{"published":"2012-02-17T20:50:33Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=190","displayName":"HTTP Response Caching for Java and Android","objectType":"article","summary":"HTTP caching is both important, as it reduces bandwidth use and improves performance, and complex, as the rules are far from simple. In my experience, most Java and Android applications either don&#8217;t do HTTP caching, or they roll their own and up doing it wrong or in way too complicated a fashion. In other words, [...]","url":"http:\/\/candrews.integralblue.com\/2012\/02\/http-response-caching-for-java-and-android\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2012-02-17T21:09:43Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=209","displayName":"jshint in msbuild","objectType":"article","summary":"I recently had to add build time Javascript validation to an ASP.NET project. It took me quite a while to figure out how to do so in a (reasonably) maintainable, understandable way. I&#8217;m using Visual Studio 2010, and the project targets .NET 3.5. The same approach would work fine if the project was targeting .NET [...]","url":"http:\/\/candrews.integralblue.com\/2012\/02\/jshint-in-msbuild\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2011-09-30T16:19:23Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=159","displayName":"Best way to use HttpClient in Android","objectType":"article","summary":"Many Android applications access the Internet resources over HTTP (and my projects are no exception). There are 2 common ways to do that: use Apache HttpClient 4.x (which is included in Android) or use HttpURLConnection (from Java). Google stated in a September 29, 2011 blog post that they prefer you use HttpURLConnection, but many apps [...]","url":"http:\/\/candrews.integralblue.com\/2011\/09\/best-way-to-use-httpclient-in-android\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2011-04-19T14:22:25Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=142","displayName":"My First Android App: CallerID","objectType":"article","summary":"I&#8217;ve been looking for an excuse to write an Android app, and those annoying &#8220;unknown number&#8221; phone calls presented themselves at the perfect problem to solve. My CallerID application consists of two parts: a service that runs on a server and given a phone number returns the information associated with it, and an Android app [...]","url":"http:\/\/candrews.integralblue.com\/2011\/04\/my-first-android-app-callerid\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2010-09-24T19:59:37Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=133","displayName":"The Coming IPv6 Evolution","objectType":"article","summary":"Learn why IPv6 is important and how IPv4 exhaustion will affect you","url":"http:\/\/candrews.integralblue.com\/2010\/09\/the-coming-ipv6-evolution\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2010-09-24T16:06:52Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=126","displayName":"Facebook Went Down &#8211; Did You?","objectType":"article","summary":"Facebook's downtime affected 1,000s of sites. Is having a single point of failure worth it?","url":"http:\/\/candrews.integralblue.com\/2010\/09\/facebook-went-down-did-you\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2011-04-18T23:11:32Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=121","displayName":"Microblogging inside the Firewall","objectType":"article","summary":"Cross posted to Molecular Voices. Please comment there. Little strings of text are big business &#8211; both publicly and inside the corporate firewall. As we all know, Twitter is pretty big &#8211; TV and radio ads for major companies mention their Twitter sites and even business cards reference Twitter URLs nowadays. But Twitter cannot be [...]","url":"http:\/\/candrews.integralblue.com\/2010\/03\/microblogging-inside-the-firewall\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2009-10-28T16:25:33Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=106","displayName":"Running Ubuntu in VMWare","objectType":"article","summary":"VMWare is a leading (if not the leading) virtualization solution. Unfortunately, it is also proprietary software, which means that distributions tend not to care too much about it (and in my opinion, rightfully so!). My employer is one such company that uses VMWare, and it recently instituted a policy that all VMs must have VMWare [...]","url":"http:\/\/candrews.integralblue.com\/2009\/10\/running-ubuntu-in-vmware\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2009-08-07T18:17:01Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=100","displayName":"oEmbed","objectType":"article","summary":"oEmbed is a relatively simple concept, which can be basically thought of as hyperlinking to the next level. According to oembed.com: &#8220;oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user [...]","url":"http:\/\/candrews.integralblue.com\/2009\/08\/oembed\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}},{"published":"2009-08-04T20:26:40Z","verb":"post","target":{"id":"http:\/\/candrews.integralblue.com\/feed\/json\/","url":"http:\/\/candrews.integralblue.com\/feed\/json\/","objectType":"blog","displayName":"Craig Andrews"},"object":{"id":"http:\/\/candrews.integralblue.com\/?p=88","displayName":"Install JBoss 4.2 on Centos\/RHEL 5","objectType":"article","summary":"I was recently tasked with installing JBoss 4.2 on Centos\/RHEL 5. I found the experience remarkably difficult, so I figured I should share it for my own future reference, and hopefully to also save the sanity of whatever other poor souls are tasked with the same project. Start off with RHEL 5 or Centos 5 [...]","url":"http:\/\/candrews.integralblue.com\/2009\/07\/install-jboss-4-2-on-centosrhel-5\/"},"actor":{"id":"http:\/\/candrews.integralblue.com\/author\/candrews\/","displayName":"Craig Andrews","objectType":"person","url":"http:\/\/candrews.integralblue.com\/author\/candrews\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/be64e870f6247e5845af98b4fe88167f.jpg"}}}]}
