Hello. I am Paul Kinlan.

I lead the Chrome and the Open Web Developer Relations team at Google. Exploring the intersection of modern web design and future-facing technologies.

1 min read

IHttpModule Things I have noticed

During the development of a custom IHttpModule, it's important to be aware of the timing of context access. Avoid accessing HttpContext properties directly within the Init method, as the context isn't fully initialized yet. Instead, handle events like BeginRequest. Within those event handlers, the HttpContext object provided will be fully populated, allowing access to properties such as HttpMethod, QueryString, and Form.

Stay in the loop.

I'm trialing a newsletter. Join for monthly insights into web dev, Chrome, and the open web.

alternate_email

Get in touch

Open to chat about Chrome or Web development.

Book a consultation
2 min read

ASP.Net Query Parameter Validation

I've been pondering an ASP.Net security concern: while it blocks potentially harmful querystring characters by default, turning this off puts the onus of validation on developers. I'm exploring the idea of a declarative approach to query parameter validation, where developers define predicates (like data types) for expected parameters within the Page Class definition itself. This could simplify validation and ensure data is HTML-safe before reaching the developer. This would streamline validation compared to using custom validators. I'm considering the benefits and implementation details of such an approach.
2 min read

FishEye Example Code That Integrates into Tiger Imaging

I've updated my fish-eye effect code with added comments. The effect is based on Jason Waltman's work, which in turn references a paper by Devernay and Faugeras on correcting distorted images. The paper details a method for determining distortion and converting images to a standard pinhole camera model. My code produces the desired fish-eye effect, and I've provided the C# source code for download. While I haven't fully delved into the paper, it seems to offer more in-depth analysis of image distortion correction.
2 min read

I did it.... Fish Eye... Call Me Kinlan The Chuffed!!!

I successfully implemented a fish eye effect! I peeked at Jason Waltman's code for inspiration and adapted it to C# using the Tiger Image Processing Library. Now I even understand polar coordinates better. It involves converting Cartesian (x,y) coordinates to angles and distances from the center of a circle. The effect itself figures out which pixels need distorting and then calculates their new positions.
2 min read

Image Processing: Part 1

In this first part of my image processing series, I'm sharing how I used the Yahoo Search API to find images and load them into a C# application. I was excited to discover how straightforward it is to query for images and then seamlessly integrate the results into my project. The process involves constructing a REST query with search parameters, sending the request to Yahoo, receiving the XML response, and deserializing it into a custom data type. Then, I iterate through each image result in the response, create another query to download the image, and finally, convert the downloaded stream into a Bitmap and load it into an ImageList. Stay tuned for more in this series!
1 min read

Image Processing: Part 2

In this second part of my series on image processing, I'm exploring the Tiger Imaging Library for C#, a cool resource with complete source code and various image manipulation filters. I'm considering expanding its capabilities by creating new filters like the fish eye effect described by Jason Waltman. I'm also planning further research and experimentation with Tiger Imaging.
1 min read

Running GACUtil in Build for Visual Studio 2005

Visual Studio 2005 Beta 2 doesn't load PATH environment variables during build, causing tools like GACUtil and RegAsm.exe to fail. A simple fix is to add 'CALL "%VS80COMNTOOLS%\vsvars32.bat" > NULL' to your build script before calling these tools. This sets the necessary environment variables, allowing the build to succeed.
1 min read

Amazon Web Service

This blog post presents the results of my initial experiment with Amazon Web Service. I've compiled a list of various products, including books and a DVD, with links to their respective pages on Amazon.co.uk. This appears to be an early exploration of the possibilities of integrating Amazon's product data.